package com.correx.testing.fixtures.tools

import com.correx.core.approvals.Tier
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 =
        ValidationResult.Invalid("simulated validation failure")
}
