Files
deepseek-harness/docs/graphs/event-producer-consumer.md
2026-07-03 01:13:52 +08:00

6.0 KiB

Event Producer And Consumer Matrix

Maintenance mode: hybrid generated: Cordis event declarations and most producer/listener edges are AST-scanned; dynamic dispatch sites are classified in scripts/gen-doc-graphs.ts.

This matrix shows which packages dispatch each harness-owned event and which packages listen to it. It is intentionally a table rather than one large graph: events are many-to-many, and dense relation data is easier to review in rows. Dynamic dispatch overrides cover sites that deliberately bypass ctx.emit, such as subagent lifecycle containment.

Event Mode Declared in Dispatchers Listeners
agent/created emit packages/core/agent/src/types.ts:137 agent (emit) -
agent/disposed emit packages/core/agent/src/types.ts:143 agent (emit) -
agent/error emit packages/core/agent/src/types.ts:254 agent-loop (emit) -
agent/pre-step serial packages/core/agent/src/types.ts:214 agent-loop (serial) compact-basic
agent/queued emit packages/core/agent/src/types.ts:156 agent-loop (emit) -
agent/request waterfall packages/core/agent/src/types.ts:223 agent-loop (waterfall), compact-basic (waterfall) -
agent/status emit packages/core/agent/src/types.ts:150 agent-loop (emit) acp, invariants, ui-stdio
agent/steering emit packages/core/agent/src/types.ts:248 agent-loop (emit) -
agent/step-end emit packages/core/agent/src/types.ts:180 agent-loop (emit) -
agent/step-result waterfall packages/core/agent/src/types.ts:229 agent-loop (waterfall) -
agent/step-start emit packages/core/agent/src/types.ts:175 agent-loop (emit) -
agent/stream-chunk emit packages/core/agent/src/types.ts:243 agent-loop (emit) ui-stdio
agent/turn-continuation waterfall packages/core/agent/src/types.ts:236 agent-loop (waterfall) -
agent/turn-end emit packages/core/agent/src/types.ts:169 agent-loop (emit) ui-stdio
agent/turn-start emit packages/core/agent/src/types.ts:163 agent-loop (emit) ui-stdio
llm/stream waterfall packages/llm/llm/src/index.ts:31 llm (waterfall) llm-replay
session/created emit packages/core/session/src/index.ts:34 session (emit) invariants, session-persistence
session/event emit packages/core/session/src/index.ts:40 session (emit) acp, invariants, session-persistence, ui-stdio
session/flush parallel packages/core/session/src/index.ts:49 agent-loop (parallel) session-persistence
subagent/end emit packages/subagent/subagent/src/index.ts:65 subagent (events.dispatch) -
subagent/start emit packages/subagent/subagent/src/index.ts:59 subagent (events.dispatch) -
system-prompt/assemble waterfall packages/core/system-prompt/src/index.ts:24 system-prompt (waterfall) -
system-prompt/change emit packages/core/system-prompt/src/index.ts:30 system-prompt (emit) -
tools/change emit packages/core/tools/src/index.ts:48 tools (emit) -
tools/execute waterfall packages/core/tools/src/index.ts:43 tools (waterfall) -