- Increased the timeout values for `TodoWrite` and `TodoRead` from 5 seconds to 15 seconds in both the agent and UI components, ensuring better handling of longer operations and reducing potential timeouts.
- Refactored the `readFileTool` to incorporate a timeout mechanism, preventing hangs on network or missing paths.
- Introduced a new `withAbortTimeout` function to manage promise timeouts and abort signals effectively.
- Enhanced error messages for various file read scenarios, providing clearer feedback on issues like missing paths and permission errors.
- Updated the `safePath` function to utilize a new `normalizePathInput` utility for better path normalization.
- Adjusted tool timeout settings in both the agent and UI to ensure consistent timeout behavior across components.
- Updated the `runAgent` function to improve timeout handling for MCP tools, ensuring shared budget management and better execution limits.
- Introduced a countdown mechanism for tool calls, allowing for real-time UI feedback on execution status and tool cancellations.
- Enhanced the UI components to display timeout badges and countdowns for running tools, improving user awareness and responsiveness.
- Implemented a silent countdown feature for collapsed tool groups, ensuring timely cancellations without UI clutter.
- Refactored the `Tool` component to integrate timeout badges, providing clearer visual indicators of tool status.
- 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.
- Introduced a coalescing mechanism for UI events in the sidebar and agent loop to prevent performance issues caused by high-frequency updates.
- Added budget management for foreground and background subagents, ensuring timely execution and preventing timeouts.
- Enhanced the `runAgent` function to handle budget hits and provide appropriate feedback on subagent execution status.
- Updated the UI to batch process events, improving responsiveness and reducing the likelihood of UI freezes during agent operations.
- Updated timeout settings for various tools to improve responsiveness and prevent blocking the agent loop.
- Enhanced error handling in tools to provide clearer feedback on invalid paths and execution failures.
- Implemented abort signal support in multiple tools, allowing for graceful cancellation of long-running operations.
- Adjusted the `walk` function to respect abort signals and limit the number of files processed, preventing hangs during directory traversals.
- Improved the `grepTool`, `globTool`, and `fileSearchTool` to handle timeouts and abort signals effectively, enhancing overall tool performance.
- Updated the `semanticIndex` module to support GPU acceleration with ONNX Runtime, improving performance on compatible devices.
- Introduced new functions to determine preferred embedding devices and handle device status, enhancing the flexibility of the embedding process.
- Expanded the `IndexStatus` interface to include backend type, device information, and runtime details for better tracking of indexing status.
- Enhanced the UI in the settings panel to display runtime and device information, providing users with clearer insights into the indexing process and model usage.
- Added support for per-tool timeout overrides in seconds, allowing users to customize tool execution limits.
- Introduced `setToolTimeoutOverrides` function to apply user-defined timeout settings.
- Updated the `FeatureConfig` interface and default settings to include `toolTimeoutsSec`.
- Enhanced the settings UI to display and manage tool timeout values, ensuring a better user experience for configuring tool behavior.
- Updated the `ContextPicker` component to improve button styling and dropdown functionality, replacing the `ctx-chip` class with `ctx-pill` for better visual consistency.
- Enhanced dropdown item layout with new classes for improved accessibility and user experience.
- Adjusted positioning logic for the dropdown menu to ensure it remains within viewport bounds.
- Updated the `runAgent` function to improve context handling for subagents, ensuring isolated execution and clearer event emission.
- Refactored context budget logic to optimize summarization at 80% usage, enhancing performance during agent runs.
- Introduced a new `ContextPicker` component in the sidebar for selecting context sizes, improving user interaction with model options.
- Added styling for context chips and dropdowns to enhance the UI experience in the sidebar.
- 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.
- Introduced a new `indexWatch` module to handle debounced file watching for incremental updates to the semantic index.
- Updated `activate` function to initialize the index watcher and replace the previous build index call with a warm disk and incremental sync.
- Enhanced the `semanticIndex` module to support enabling/disabling indexing and improved index path normalization.
- Modified the settings panel and UI components to include an option for enabling/disabling indexing, reflecting changes in the feature store.
- Ensured that indexing operations respect the new `indexingEnabled` flag across various functionalities, including search and document indexing.
- Added per-workspace conversations with automatic migration from global conversations.
- Implemented auto-loading of GGUF models with a loading card in chat.
- Enhanced llama.cpp server to use random free ports with retry on bind failure.
- Improved composer dropdown positioning and shared model selection across composers.
- Fixed production error related to missing '@huggingface/hub' package.
- Removed MCP tool marketplace.
- Updated version in package.json to 0.0.2.