{"version":3,"file":"subagent-events.d.ts","sourceRoot":"","sources":["../../src/core/subagent-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAC;AAEH;mCACmC;AACnC,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAyD,CAAC","sourcesContent":["/**\n * Canonical set of AgentSession event `type`s that a spawned subagent writes to\n * its stdout JSON stream, shared so the child emitter (print-mode) and the\n * parent consumer (SubagentPool) cannot drift apart.\n *\n * A subagent child otherwise emits the full per-delta event firehose\n * (`message_update`, `tool_execution_update`, `message_start`, …). The parent\n * only ever consumes:\n *   - the progress events below, forwarded to the UI as `task_progress`, and\n *   - `message_end`, whose usage the parent's TokenBudget accumulates.\n * Everything else is dropped at the source so the firehose never crosses the\n * pipe (and is never framed/parsed on the parent's UI event loop). The child's\n * authoritative result travels via `result.json`, not this stream, and liveness\n * travels via a separate periodic `ping`, so this filtering is lossless for the\n * parent.\n */\nexport const SUBAGENT_PROGRESS_EVENTS: ReadonlySet<string> = new Set([\n\t\"turn_end\",\n\t\"tool_execution_start\",\n\t\"tool_execution_end\",\n]);\n\n/** Superset the child actually writes: progress events plus `message_end` (token\n * usage for the parent budget). */\nexport const SUBAGENT_STDOUT_EVENT_TYPES: ReadonlySet<string> = new Set([...SUBAGENT_PROGRESS_EVENTS, \"message_end\"]);\n"]}