mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-10-25 05:53:57 +00:00
Infrastructure: - IMailboxService interface (abstraction over in-process and future file backends) - InMemoryMailbox: EventEmitter-based, instant delivery, configurable timeout fallback - MailboxManager: per-session mailbox lifecycle + assignTask/shutdownWorker/ waitForNextMessage/notifyIdle helpers Events: - WorkerIdle [sessionId, taskId] — emitted when a persistent worker finishes a turn - WorkerShutdown [sessionId, taskId] — emitted when a worker receives shutdown_request Idle loop (opt-in via persistent:true on spawnConcurrentChildren): - spawnConcurrentChildren gains persistent?: boolean param; creates/destroys mailbox - AttemptCompletionTool concurrent path: if session has an active mailbox, sends idle_notification and awaits task_assignment or shutdown_request (5-min safety timeout). On task_assignment: pushes new task context and returns "reassigned" so the LLM loop continues without resolving the parent Promise. On shutdown or timeout: resolves normally. TaskCompleted is NOT emitted for reassigned workers. - DelegationProvider interface gains swarmRegistry, mailboxManager, emit fields Public API on ClineProvider: - assignTaskToWorker(sessionId, workerId, message): sends task_assignment - shutdownWorkers(sessionId): broadcasts shutdown_request to all session workers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| build | ||
| cloud | ||
| config-eslint | ||
| config-typescript | ||
| core | ||
| evals | ||
| ipc | ||
| telemetry | ||
| types | ||
| vscode-shim | ||