import { z } from 'zod'; import type { CommandIO, CommandResult } from '../services/io.js'; /** * One curated CADENCE command exposed as an MCP tool (phase 58). `run` calls the * shared service with a buffered `io`; the server serializes the captured text + * structured `data` into the tool result. * * Ambient edit-time gates (the `pre-tool-edit` boundary check) require host * hooks and are NOT available over MCP — but command-boundary gates (coherence, * the settle gate stack, spec-review) run exactly as they do from the CLI. The * write-tool descriptions say so. */ /** * Capability class for the MCP tool-trust envelope (phase 181, extended phase * 216). READ_ONLY tools never write; LEDGER_WRITE tools mutate the intelligence * ledger (recommendations/milestones) but not loop state; LOOP_WRITE tools * mutate `state.json`/DRAFT/SPEC artifacts but require no bypassed approval; * APPROVAL_BYPASS tools skip the interactive TTY approval prompt the CLI * would otherwise show ("the tool call IS the approval") and are gated by * the trust envelope; SETTLE is `cadence_settle` alone — it closes the loop * and writes SUMMARY.{json,md}, and is gated by the same trust-envelope * mechanism as the two APPROVAL_BYPASS tools (`gatedRun`, below). */ export type CapabilityClass = 'READ_ONLY' | 'LEDGER_WRITE' | 'LOOP_WRITE' | 'APPROVAL_BYPASS' | 'SETTLE'; export interface ToolDef { name: string; description: string; inputSchema: z.ZodRawShape; capabilityClass: CapabilityClass; run(repoRoot: string, args: Record, io: CommandIO): Promise; } export declare const TOOLS: ToolDef[]; //# sourceMappingURL=tools.d.ts.map