import type { JsonObject } from "#shared/json.js"; import type { PreparedRuntimeDelegationTool } from "#runtime/sessions/turn.js"; import type { ResolvedRuntimeDelegationNode } from "#runtime/types.js"; /** * One runtime-owned subagent tracked by the prepared registry. */ interface RuntimeRegisteredSubagent { readonly definition: ResolvedRuntimeDelegationNode; readonly prepared: PreparedRuntimeDelegationTool; } /** * Runtime-owned registry that exposes resolved subagents as model-visible tools. */ export interface RuntimeSubagentRegistry { readonly preparedTools: readonly PreparedRuntimeDelegationTool[]; readonly subagentsByName: ReadonlyMap; readonly subagentsByNodeId: ReadonlyMap; } /** * Stable JSON Schema lowered onto every subagent tool. Subagents always * accept one free-form `message` string from the parent agent. */ export declare const SUBAGENT_TOOL_INPUT_SCHEMA: JsonObject; /** * Builds the runtime-owned registry for the resolved subagents visible from one * runtime agent node. */ export declare function createRuntimeSubagentRegistry(input: { readonly reservedToolNames?: readonly string[]; readonly subagents: readonly ResolvedRuntimeDelegationNode[]; }): RuntimeSubagentRegistry; export {};