Files
deepseek-harness/packages/core
_Kerman 262d044642 fix(agent): route loop dispatches through prebuilt fused dispatcher
Address review feedback on PR #1738:
- ReactLoopAgent builds its AgentEventDispatch once in the constructor and
  routes every emit/serial/waterfall through it, so hot-path dispatches no
  longer allocate a carrier and dispatcher per call; the public carrier
  field is gone (fused dispatcher is private).
- agentEvents accepts an optional prebuilt carrier.
- The fused payload builder spreads the payload before the injected agent
  so a structurally acceptable payload carrying an agent field can never
  override the subject.
- Regenerate doc graphs; re-record core + architecture + affected Agent
  Note translation pairs; add payload-object event contract Agent Note.
2026-08-06 13:44:23 +08:00
..

core/ — product API spine

English | 中文

The session log, system-prompt assembly, tool registry, agent vocabulary, and concrete loop that form the harness's default control spine. These are product packages — the stable surface plugins and consumers build against.

Package Role ctx key
scope/ Scoped-context registration primitive library — no ctx key
session/ Event-sourced session log and in-memory store ctx.sessions
system-prompt/ Prompt and tool-schema assembly registry ctx.systemPrompt
tools/ Scoped tool registry and execution pipeline ctx.tools
agent/ Agent interface, registry, and event vocabulary ctx.agents
agent-loop/ Default concrete agent driver ctx.agentLoop

scope supplies the shared scoping primitive. agent owns the public seam, while agent-loop is its default implementation; extension plugins depend on the seam so the driver remains swappable.

Runnable compositions belong to examples/agent-spine-demo; this group owns only the swappable spine pieces.