/** * The Cotal tool surface for OpenCode, rendered from the **shared** {@link cotalToolSpecs} * (the same source the Claude Code MCP connector renders) as OpenCode-native plugin * tools ({@link ToolDefinition} literals). One source of truth → the cotal_* surface can't drift * across adapters: an OpenCode peer gets the same tools (incl. channels / join / leave / channel_info). * * The one OpenCode-specific tool is `cotal_inbox`: automatic traffic remains owned by the driver, * while the tool destructively pulls only quiet ambient (plus read-only focus recall). * * The definitions are plain literals, NOT OpenCode's `tool()` helper: `tool()` is an identity * function for type inference only, so importing it would make `@opencode-ai/plugin` a RUNTIME * dependency of this bundle. It resolves from the host's opencode process, not ours, and an * installed extension has no copy of it, so the import fails and OpenCode skips the plugin * silently. A type-only import keeps the bundle self-contained. */ import type { ToolDefinition } from "@opencode-ai/plugin"; import { type MeshAgent, type AgentConfig } from "@cotal-ai/connector-core"; /** Build the cotal_* tool map wired to one mesh agent, rendered from the shared specs. */ export declare function buildCotalTools(agent: MeshAgent, config: AgentConfig): Record; //# sourceMappingURL=tools.d.ts.map