- Updated the `runAgent` function to include timeout management for tool calls, allowing for better handling of execution limits and user feedback.
- Introduced `timeoutMs` and `startedAt` properties in the `tool-call-started` event to facilitate countdown displays in the UI.
- Enhanced the UI to show countdown timers for running tools, improving user awareness of execution status.
- Implemented immediate UI updates on tool cancellation or timeout, ensuring a responsive experience even during long-running operations.
- Refactored the `SidebarProvider` to handle subagent cancellations more effectively, providing clearer status updates in the UI.
- Improved the `runAgent` function to handle parent and child abort signals more robustly, ensuring proper cleanup and cancellation of subagents.
- Introduced a new `raceAbort` function to manage timeouts and abort conditions for running promises, preventing hangs during execution.
- Enhanced the `forceSettleOpenWork` function to mark open tools and subagents as cancelled or closed, improving the user experience during interruptions.
- Updated the UI components to reflect the new cancellation logic, ensuring that the status of ongoing operations is accurately communicated to users.
- Refactored various sections of the codebase to streamline the handling of agent runs and their associated states.