- 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.
- Updated the `indexWatch` module to refine the criteria for skipping non-source directories and files, including a comprehensive list of ignored paths.
- Enhanced the `semanticIndex` module with additional file extensions and directory segments to ensure only relevant source files are indexed.
- Introduced new utility functions to determine indexable paths, improving the accuracy of the indexing process and reducing unnecessary overhead.
- Expanded the `IGNORE` set in the `shared` module to include more build and cache directories, streamlining the file walking process.
- 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.
- Introduced a timeout mechanism for various tools (e.g., Grep, Glob, Shell) to prevent blocking the agent loop due to hung processes.
- Enhanced the `walk` function to accept an optional AbortSignal, allowing for graceful cancellation of directory traversals.
- Updated the `runAgent` function to utilize the new timeout and abort handling, ensuring tools can be aborted without affecting the overall agent execution.
- Refactored the `grepTool`, `globTool`, and `fileSearchTool` to incorporate abort signal handling, improving responsiveness during long-running operations.
- Added utility functions for managing tool timeouts and signal handling across the agent's tools.
- Added indexing toggle in settings, persistent semantic index, incremental re-indexing, real-time auto-indexing, and context size dropdown for models.
- Changed smart conversation summarization triggers, subagent history management, multitask handling, and stop/cancel behavior.
- Fixed issues with stuck subagent spinners, orphaned shell processes, and context ring defaults.
- Updated version in package.json to 0.0.3.
- 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.
- Updated the `runAgent` function to include additional parameters for context management, ensuring isolated execution for subagents.
- Introduced a new `parseContextLabel` function to convert context size labels into token counts, improving flexibility for model configurations.
- Enhanced the `optionsFor` method in `FeatureStore` to ensure every model has a context window option, providing a fallback for models without preset context values.
- Refactored sidebar provider logic to utilize the new context parsing function, streamlining context size handling across the application.
- 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 function `awaitPendingBg` to manage background subagents more effectively, ensuring that the main agent waits for all unreported subagents to settle before proceeding.
- Updated the logic to handle in-flight background tasks, preventing premature model calls while background work is still ongoing.
- Improved status notifications to inform users about the waiting state for background subagents.
- Refactored existing code to streamline the handling of background tasks and their results.
- 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.
- Created .vscode/extensions.json to recommend essential extensions.
- Added .vscode/launch.json for launch configurations to run the extension.
- Introduced .vscode/settings.json to customize workspace settings, including file exclusion.
- Implemented .vscode/tasks.json to define build and watch tasks for TypeScript and esbuild.
- 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.
set API_KEY in .env file to enable this function
Unsetting or setting API_KEY to null will keep the default of allowing anonymous access.
Changes to be committed:
modified: .env.example
modified: src/app.ts