feat(tools): add description and parametersSchema to Tool interface; wire FileWriteTool materialization

This commit is contained in:
2026-05-18 21:39:36 +04:00
parent 24df3b55b3
commit 15d1e09c44
12 changed files with 105 additions and 3 deletions
@@ -5,9 +5,13 @@ import com.correx.core.events.events.ToolRequest
import com.correx.core.tools.contract.Tool
import com.correx.core.tools.contract.ToolCapability
import com.correx.core.tools.contract.ValidationResult
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.buildJsonObject
class EchoTool : Tool {
override val name: String = "echo"
override val description: String = "Echo tool for testing"
override val parametersSchema: JsonObject = buildJsonObject {}
override val tier: Tier = Tier.T0
override val requiredCapabilities: Set<ToolCapability> = emptySet()
override fun validateRequest(request: ToolRequest): ValidationResult = ValidationResult.Valid
@@ -5,9 +5,13 @@ import com.correx.core.events.events.ToolRequest
import com.correx.core.tools.contract.Tool
import com.correx.core.tools.contract.ToolCapability
import com.correx.core.tools.contract.ValidationResult
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.buildJsonObject
class FailingTool : Tool {
override val name: String = "failing"
override val description: String = "Failing tool for testing"
override val parametersSchema: JsonObject = buildJsonObject {}
override val tier: Tier = Tier.T2
override val requiredCapabilities: Set<ToolCapability> = emptySet()
override fun validateRequest(request: ToolRequest): ValidationResult =
@@ -5,9 +5,13 @@ import com.correx.core.events.events.ToolRequest
import com.correx.core.tools.contract.Tool
import com.correx.core.tools.contract.ToolCapability
import com.correx.core.tools.contract.ValidationResult
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.buildJsonObject
class RejectedTool : Tool {
override val name: String = "rejected"
override val description: String = "Rejected tool for testing"
override val parametersSchema: JsonObject = buildJsonObject {}
override val tier: Tier = Tier.T4
override val requiredCapabilities: Set<ToolCapability> = emptySet()
override fun validateRequest(request: ToolRequest): ValidationResult = ValidationResult.Valid