/** * Subagent activity helpers — keep pending lane cards (`${toolCallId}#i`) * from hanging forever when call_agents / call_agent bails before A2A * attaches a jobId (cap, policy deny, aligning gate, validation, …). * * Stop is only shown when `jobId` is known (`resolveSubagentJobId`). A * pending card without a terminal update therefore looks like a stuck * Subagent with no Stop — the bug users hit after a second fan-out. */ import type { AgentSendOpts } from './types.js'; export type SubagentActivityEmit = NonNullable; /** Count tasks[] for call_agents pending-lane cleanup. */ export declare function countCallAgentsTasks(input: unknown): number; /** Label for lane i from call_agents input (best-effort). */ export declare function callAgentsLaneLabel(input: unknown, index: number): string; /** * Mark every pending call_agents lane (`${toolCallId}#i`) failed/denied. * No-op when emit is missing or there are no tasks. */ export declare function failCallAgentsPendingLanes(emit: SubagentActivityEmit | undefined, opts: { toolCallId: string; input?: unknown; /** Explicit count when input is unavailable. */ taskCount?: number; status?: 'error' | 'denied'; preview: string; startedAt?: number; }): void; /** Mark a singular call_agent pending card (id = toolCallId) failed/denied. */ export declare function failCallAgentPendingLane(emit: SubagentActivityEmit | undefined, opts: { toolCallId: string; label?: string; status?: 'error' | 'denied'; preview: string; startedAt?: number; }): void; //# sourceMappingURL=subagent-activity.d.ts.map