mirror of
https://github.com/stablyai/orca.git
synced 2026-10-23 16:03:49 +00:00
Pi awaits its extension event handlers, so an awaited loopback status post that stalls (Orca restarting / receiver unavailable) blocked the running Pi turn and disconnected it. Make post() fire-and-forget with a latest-only pending slot drained by a single active request and a 1s AbortController timeout, so a stalled receiver can never hold the turn. Also stop treating session_shutdown as turn completion: Pi emits it on reload/new/resume/fork while the PTY stays alive, so only agent_end proves done (real exit is cleared by PTY teardown). Split the generated handler registrations into agent-status-handler-source.ts. Co-authored-by: Orca <help@stably.ai>