multica/src/agent/subagent/index.ts
yushen 918b5d294d fix(agent): resolve stream race condition and add lifecycle tests
Replace for-await stream consumption in watchChildAgent with
waitForIdle() + onClose() callbacks on AsyncAgent. This prevents
conflict with Hub.consumeAgent() which also reads the Channel.

Add shutdownSubagentRegistry() for clean Hub shutdown, guard
Hub access with isHubInitialized(), and clean resumedRuns in sweep.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 17:01:49 +08:00

38 lines
835 B
TypeScript

/**
* Subagent orchestration system.
*
* Provides child agent spawning, lifecycle management,
* persistent registry, and result announcement flow.
*/
export type {
SubagentRunOutcome,
SubagentRunRecord,
RegisterSubagentRunParams,
SubagentAnnounceParams,
SubagentSystemPromptParams,
} from "./types.js";
export {
initSubagentRegistry,
registerSubagentRun,
listSubagentRuns,
releaseSubagentRun,
getSubagentRun,
resetSubagentRegistryForTests,
shutdownSubagentRegistry,
} from "./registry.js";
export {
buildSubagentSystemPrompt,
readLatestAssistantReply,
formatAnnouncementMessage,
runSubagentAnnounceFlow,
} from "./announce.js";
export type { FormatAnnouncementParams } from "./announce.js";
export {
loadSubagentRuns,
saveSubagentRuns,
getSubagentStorePath,
} from "./registry-store.js";