import type { SpawnToolScope } from './spawn-profile.js'; import type { MeshEventBus } from '../../mesh/mesh-events.js'; import type { SubagentRunProgress } from '../tools/tool-types.js'; export interface SubAgentConfig { runId: string; parentRunId: string; scope: SpawnToolScope; task: string; /** Optional model override for this sub-agent (e.g. a cheaper model for * exploration, a stronger model for a critical decision). The runner clones * the parent's modelDef with this id; the provider routes by model id, so * the sub-agent actually runs on the overridden model. Context-window * re-detection for the override is a follow-up (parent's contextTokens is * used as a fallback). */ model?: string; /** Optional context-tokens override paired with `model` (the host resolves * the overridden model's context window and injects it here). Falls back to * the parent's contextTokens when unset. */ contextTokens?: number; maxTurns?: number; timeoutMs?: number; previousStepResult?: { runId: string; summary: string; success: boolean; }; onProgress?: (progress: SubagentRunProgress) => void; } export interface SubAgentResult { runId: string; summary: string; toolResults: number; turns: number; durationMs: number; success: boolean; error?: string; } export interface FanOutResult { results: SubAgentResult[]; allSucceeded: boolean; durationMs: number; totalToolResults: number; totalTurns: number; successCount: number; failureCount: number; } export interface PipelineResult { results: SubAgentResult[]; allSucceeded: boolean; durationMs: number; totalToolResults: number; totalTurns: number; successCount: number; failureCount: number; } export type SubAgentRunner = (config: SubAgentConfig, signal: AbortSignal) => Promise; export declare function runFanOut(configs: SubAgentConfig[], runner: SubAgentRunner, eventBus?: MeshEventBus, parentSignal?: AbortSignal): Promise; export declare function runPipeline(configs: SubAgentConfig[], runner: SubAgentRunner, eventBus?: MeshEventBus, parentSignal?: AbortSignal): Promise; //# sourceMappingURL=subagent-orchestrator.d.ts.map