/** * Engine-free source of truth for direct-tool contracts. Internal contracts * retain output validation; agent-facing definitions are projected from them. */ import { z } from "zod"; type DirectToolQuery = Record; export type DirectToolInput = { queries?: DirectToolQuery[]; } & Record; /** * MCP tool annotations. Every MCP-registered tool only reads: materialize * and caches write under the Octocode home, never the user's files. Omitted * hints keep their MCP defaults (openWorldHint true); CLI-only tools are never * registered, so they carry none. */ export interface DirectToolAnnotations { readOnlyHint: true; } export interface DirectToolSpecification { name: string; title: string; shortDescription: string; description: string; annotations?: DirectToolAnnotations; schema: z.ZodType; inputSchema: z.ZodType; outputSchema: z.ZodType; } export type DirectToolDefinition = Omit; /** Agent-facing projection of the canonical internal contract. */ export declare function toDirectToolDefinition(specification: DirectToolSpecification): DirectToolDefinition; export declare const DIRECT_TOOL_SPECIFICATIONS: readonly DirectToolSpecification[]; export {};