The original notifyIdle condition (!result.result) never fired in streaming input mode because every result has non-null text content. This caused due tasks to wait up to 30 minutes for the idle timer. - Call notifyIdle for ALL successful results (not just null ones) - Add isTaskContainer flag so user messages queue instead of being forwarded to task containers (which blocked notifyIdle from the message container's onOutput path) - Reset idleWaiting in sendMessage so containers aren't preempted while actively working on a new incoming message - Replace 30-min IDLE_TIMEOUT with 10s close timer for task containers since they are single-turn and should exit promptly after their result Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6.3 KiB
6.3 KiB