/** * 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"; import type { OpenCode2ToolEditor } from "./opencode2-types.js"; /** Build the cotal_* tool map wired to one mesh agent, rendered from the shared specs. */ export declare function buildCotalTools(agent: MeshAgent, config: AgentConfig): Record; /** Build the cotal_* tool list for OpenCode 2.x's `ctx.tool.transform(ed => ed.add(...))`, from * the SAME shared specs {@link buildCotalTools} renders for 1.x. 2.x's `Tool.Info.input` accepts * a zod 4 object directly (a StandardSchema — measured, `fx105/measurements.md`), so the closed * schema goes across unmodified; there is no 1.x-style raw-shape flattening needed here. The * closed-object refusal at dispatch is the same guard as {@link buildCotalTools} keeps: this host * also hands `execute` the caller's object UNVALIDATED, so a stray `owner`/`actor` is refused by * name here too, never silently reaching `run`. */ export declare function buildCotalTools2(agent: MeshAgent, config: AgentConfig): Parameters[0][]; //# sourceMappingURL=tools.d.ts.map