/** * [WHO]: createSendMessageTool — the "SendMessage" tool for addressing named running agents * [FROM]: Depends on @catui/agent-core, @sinclair/typebox, ./agent-registry, ./sub-agent-backend * [TO]: Consumed by core/runtime/agent-session.ts (tool registration alongside Agent/Task tools) * [HERE]: core/sub-agent/send-message-tool.ts - SendMessage tool per CC §XI (inter-agent messaging) * [COVENANT]: Change message protocol → update agent-input-output.ts */ import type { AgentTool } from "@catui/agent-core"; import { type Static } from "@sinclair/typebox"; import type { AgentDefinitionRegistry } from "./agent-registry.js"; import type { InProcessSubAgentBackend } from "./sub-agent-backend.js"; export declare const SEND_MESSAGE_TOOL_NAME = "SendMessage"; declare const sendMessageSchema: import("@sinclair/typebox").TObject<{ to: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>; export type SendMessageInput = Static; /** * Create the SendMessage tool for inter-agent communication. * * Per CC §XI: * - SendMessage allows a parent agent (or another agent in the same session) * to send a text message to a named running agent. * - The named agent must have been spawned with a `name` parameter via the * Agent tool, which registers it in the agentNameRegistry. * - The message is injected as a new user message into the running agent's * conversation. * * This is a lightweight tool that looks up the named agent in the registry * and forwards the message. It does NOT create a new agent — only sends * to an already-running one. */ export declare function createSendMessageTool(config?: { registry?: AgentDefinitionRegistry; backend?: InProcessSubAgentBackend; }): AgentTool; export {};