Files
open-multi-agent/packages
Jack Chen 36e99fec66 docs(core): correct JSDoc that misstates runtime behavior (#585)
Seven comments in packages/core/src described behavior the code does not
have, pointing readers who configure these APIs the wrong way:

- OrchestratorConfig.onAgentStream said runTasks() never calls it. Both
  runTeam() and runTasks() dispatch through executeQueue, which reads the
  callback; only runAgent() stays outside the queue. AgentStreamTrace
  repeated the same claim.
- The StreamEvent list omitted loop_detected and said a done event always
  carries an LLMResponse. That is true at the adapter layer only: the
  runner yields RunResult and Agent yields AgentRunResult. AgentRunner
  .stream() had the same omission plus a stray indent.
- TokenBudgetExceededError and CostBudgetExceededError said "Raised when",
  but the framework never throws them. It constructs them as values and
  surfaces them through classifyRunFailure as status and errorInfo, or as
  budget_exceeded stream data.
- isRetryableError documented four terminal cases out of eleven, omitting
  the egress, adapter-capability, journal-lineage and routing branches.
- JournalLineageError now records why its code deliberately reuses the
  verifyRun failure code MISSING_CONTEXT_REPLACE. The value is unchanged.
- The RedactingStore example passed FileStore an options object; the
  constructor takes a path string.
- The MCP requestTimeoutMs option bounds every tools/call as well, not
  only connect and each tools/list page.

Adds runTasks and runAgent coverage for onAgentStream beside the existing
runTeam test, so the corrected sentence is pinned by a test rather than by
a comment alone.

No behavior changes.
2026-09-05 19:47:21 +08:00
..