/** * Shared spawn logic used by all spawn tool handlers. * Ported from mcp-supersubagents, adapted for OpenCode. */ import { type TaskType } from '../templates/index.js'; import { type ToolContext } from '../types.js'; import { type ContextFile } from '../utils/brief-validator.js'; export interface SharedSpawnParams { prompt: string; context_files?: ContextFile[]; model?: string; cwd?: string; timeout?: number; autonomous?: boolean; depends_on?: string[]; labels?: string[]; } export interface SpawnToolConfig { toolName: string; taskType?: TaskType; specialization?: string; } export type SpawnHandlerResult = Promise<{ content: Array<{ type: string; text: string; }>; isError?: true; }>; export interface SpawnHandlerConfig { schema: { parse: (args: unknown) => T; }; toolName: string; taskType?: TaskType; validationHint: string; getSpecialization?: (parsed: T) => string | undefined; getModel?: (parsed: T) => string | undefined; getTaskType?: (parsed: T) => TaskType | undefined; } /** * Generic factory that creates a spawn tool handler. */ export declare function createSpawnHandler(config: SpawnHandlerConfig): (args: unknown, ctx?: ToolContext) => SpawnHandlerResult; /** * Shared spawn handler used by all spawn tools. * Performs: brief validation -> context file assembly -> template application -> task spawn. */ export declare function handleSharedSpawn(params: SharedSpawnParams, config: SpawnToolConfig, ctx?: ToolContext): Promise<{ content: Array<{ type: string; text: string; }>; isError?: true; }>; //# sourceMappingURL=shared-spawn.d.ts.map