- Added new selectors for apply change notice and revert confirmation buttons in the workbench.
- Removed unused summary fields from AiFileArtifactRef and AiRunEventPayload types.
- Updated tests to validate the handling of successful tool calls and file creation paths.
- Improved e2e tests for document apply and revert actions, ensuring correct modal prompts and artifact handling.
- Added new tests for terminal rename change notice and revert functionality.
- Enhanced artifact persistence during cancelled runs and ensured correct messaging for run failures and cancellations.
- Refactored workspace explorer toggle behavior and toolbar action order in e2e tests.
- Introduced `pdf_read_visuals` and `ppt_read_visuals` functionalities to enhance visual content extraction from PDF and PPT files.
- Updated test cases to validate the new visual reading capabilities, ensuring structured results are returned without modifying the original documents.
- Refactored existing tests to replace deprecated rendering functionalities with the new visual reading methods.
- Enhanced contract tests to reflect the changes in tool specifications and schemas for visual reading.
- Improved error handling and assertions in tests to ensure robustness against edge cases.
- Added selectors for open-with button and menu in testing selectors.
- Introduced new types for handling open-with applications and requests in shared types.
- Updated tests to save chat sessions and validate session skill states across multiple runs.
- Implemented new tests for open-with panel and service, ensuring correct application handling.
- Refactored existing tests to accommodate changes in preview mode toggles and application handling.
- Enhanced SQLite storage tests to verify session skill persistence and deletion.
- Updated e2e tests to validate open-with functionality and session skill memory across runs.
- Implemented CdpEndpointService to manage the connection to the embedded browser's CDP.
- Added parsing logic for DevToolsActivePort and validation for WebSocket URLs.
- Removed hardcoded remote debugging port and replaced it with dynamic port handling.
- Introduced system notifications settings in the AI runtime settings, allowing users to enable or disable notifications for AI run completions.
- Created a GeneralSettingsPanel component for managing system notification preferences.
- Updated SQLite schema to include a new column for system notifications settings.
- Added unit and end-to-end tests for the new features, ensuring proper functionality and persistence of settings.
- Enhanced the settings UI to accommodate the new general settings section.
- Introduced `normalizeUserFacingError` utility to standardize error messages for users, improving clarity and consistency.
- Updated `AppUpdateProvider` to utilize the new error normalization for update-related messages.
- Enhanced `ChatPage` to format run failure messages, providing more context to users.
- Created a new utility file for user-facing error normalization.
- Updated types to include structured output capabilities for models.
- Added tests for user-facing error normalization and model selection behavior.
- Implemented end-to-end tests to validate model selection and error handling in the workbench.
- Implemented IPC handlers for opening and closing the browser panel menu.
- Enhanced BrowserEmbedService to manage popup menu state and interactions.
- Updated types to include BrowserPanelMenuRequest for menu operations.
- Refactored WorkbenchBrowserPanel to trigger menu actions and handle state.
- Added end-to-end tests for browser view lifecycle, ensuring proper rendering and state management during menu interactions.
- Updated shell syntax handling to restrict redirection to only '>'.
- Removed optional guidance from DangerousCommandRule type.
- Adjusted conversation memory constants for recent turns and summary triggers.
- Refactored conversation memory loading to include recent messages.
- Enhanced BrowserEmbedService to manage tab visibility state.
- Introduced new types for conversation memory context and compaction.
- Simplified conversation memory retrieval and compaction logic.
- Updated ChatPage component to manage content panel visibility based on workspace state.
- Improved terminal command tests to reflect new approval logic and command safety checks.
- Ensured conversation memory updates trigger correctly based on recent interactions.
- Renamed various tools from 'file_edit' and 'file_read' to 'text_file_edit' and 'text_file_read' for consistency.
- Updated image recognition tests to replace 'llm_recognize' with 'image_analyze'.
- Adjusted error handling in decision hints to use 'error' instead of 'diagnostic'.
- Refactored docx and ppt tool tests to reflect new naming conventions.
- Improved test descriptions for clarity and accuracy.
- Added new unit tests for tool executor error handling.
- Introduced access status for internal reference links in markdown, allowing for differentiation between accessible and unavailable references.
- Implemented a new utility to resolve evidence reference access for both file and web resources, checking their availability and updating the access status accordingly.
- Updated the schema to include access status in evidence references, ensuring compatibility with the new resolution logic.
- Modified the markdown renderer to display unavailable references as muted text without clickable actions, improving user experience.
- Refactored related tests to cover new access status scenarios and ensure proper functionality of the evidence reference resolution.
- Introduced new fileChangeGroups.ts for grouping file change records.
- Updated types to include 'deleted' and 'renamed' operations for better tracking.
- Removed unused content panel collapsed storage key from constants.
- Simplified content panel state management in ChatPage.
- Added user manual link in SettingsPage with corresponding tests.
- Enhanced workspace file explorer to handle file changes more effectively.
- Improved e2e tests for settings help entry and workspace file explorer.
- Updated chat run service to manage workspace paths correctly.
- Added unit tests for file change grouping and workspace file explorer functionality.
- Updated TerminalRunCommandResult type to use 'output' instead of 'stdout' and 'stderr'.
- Modified terminal tests to accommodate the new output structure.
- Introduced TerminalSessionManager for better session management in terminal commands.
- Enhanced e2e tests for terminal background service flow and browser interactions.
- Improved workspace setup functions to support IPC binding mode.
- Added new unit tests for workbench process copy and terminal session management.
- Ensured all tool specs provide schema-valid examples and improved prompt contracts.
- Added ListWorkspaceDirectoryRequest and WorkspaceDirectoryListResponse interfaces for improved directory listing.
- Introduced afterLines property in TextFileDiffArtifact to support expandable unchanged regions.
- Updated AiFileChangeRecord to include isSessionAggregate property.
- Created BuildSessionFileDiffRequest and BuildSessionFileDiffResponse interfaces for session-specific file diffs.
- Refactored BrowserPanelState to BrowserTabState and updated related types for better clarity.
- Implemented BrowserTabListRequest and BrowserTabListResponse for managing browser tabs.
- Added BrowserTabCreateRequest and BrowserTabMutationRequest for tab management operations.
- Updated tests to reflect changes in file handling, directory scanning, and browser tab functionalities.
- Adjusted e2e tests to verify new behaviors and properties related to document preview modes and browser interactions.
- Removed app update section from settings and related constants.
- Introduced SidebarUpdateControl component for managing app updates in the sidebar.
- Updated AppUpdateContext and AppUpdateProvider to handle update logic.
- Added IPC channels for downloading updates and modified service contract tests.
- Updated E2E tests to reflect changes in app update handling and UI.
- Introduced new types for WorkbenchResourceTab and WorkbenchTabWorkspaceState to manage resource tabs.
- Added functionality to open, activate, and close resource tabs within the ChatPage component.
- Enhanced file preview actions to utilize resource tabs for better user experience.
- Updated selectors to include resource tab elements for testing.
- Improved test coverage for file rendering and browser interactions in the workbench.
- Refactored existing code to accommodate the new tab management system and ensure smooth transitions between tabs.
- Updated WorkbenchContentPanel to support AiFileChangeRecord instead of DocxApplyRecord.
- Introduced TextFileDiffViewer for displaying text file diffs.
- Enhanced types to include text file capabilities and operations.
- Added utility functions for handling text file changes and diffs.
- Created tests for text file read/write operations and diff previews.
- Updated selectors to include text diff viewer.
- Modified ChatPage to handle AiFileChangeRecord directly.
- Implemented end-to-end tests for text file apply, preview, and revert functionalities.
- Introduced `pending_user_takeover_json` field in `AiRunRow` and updated related database schema.
- Enhanced `AiRunStatus` to include `waiting_user_takeover` state.
- Implemented `UserTakeoverPanel` component for user interaction during takeover events.
- Updated event handling in `ChatPage` to manage user takeover requests and confirmations.
- Added API methods for confirming user takeover and integrated them into the existing workflow.
- Created tests for user takeover functionality, ensuring proper event emission and state management.
- Updated selectors for testing user takeover components.
- Deleted the `missing-llm-notification-startup.e2e.test.ts` file as it is no longer needed.
- Enhanced `send-guard-mode-switch-and-preferences.e2e.test.ts` to include checks for missing model notifications.
- Removed `browser-use-deepseek-financing-search.e2e.test.ts` due to redundancy.
- Cleaned up `chat-run-service-contract.test.ts` by removing performance tests that are no longer relevant.
- Updated `aiLiveTestData.ts` to remove unused constants and types related to risk reports.
- Removed `aiToolHarness.ts` function for writing sample documents as it is no longer utilized.
- Updated `llmConfig.ts` to infer LLM provider kind from environment variables.
- Cleaned up `cache-summary.ts` by removing unused JSON conversion functions.
- Deleted `browserLlmConfig.ts` as it was redundant.
- Enhanced `settings.ts` to support new application settings and improved HTTP server response handling.
- Removed unused functions from `workbench.ts` related to waiting for assistant answers.
- Introduced LlmStrategyPreferenceStore to handle user preferences for LLM strategies.
- Updated StorageService to include the new LlmStrategyPreferenceStore.
- Modified LlmConfigStore to validate provider kinds using isLlmProviderKind.
- Enhanced SQLite migration scripts to create llm_strategy_preference table.
- Updated structured output handling to support new strategy preferences in various components.
- Refactored tests to accommodate changes in structured output strategy handling.
- Moved ncurator reference building and parsing logic to a shared module for better reusability.
- Updated WorkspaceKnowledgePrepareService to handle both file and web sources, enhancing flexibility in document processing.
- Introduced new types for web input handling in workspace knowledge preparation.
- Enhanced caching mechanisms for indexed documents to improve performance.
- Updated tests to cover new functionality and ensure compatibility with changes in ncurator reference handling.
- Improved user data path handling for different platforms, ensuring consistent behavior across environments.
- Added end-to-end tests for workspace root binding through IPC for non-macOS platforms.
feat: add new images for various AI providers
feat: enhance Workbench components with hideTriggerIcon prop
refactor: streamline LLM provider registry with defaultBaseUrl
test: update e2e tests to reflect changes in workspace directory terminology
- Updated the `model-delete-config-feedback` test to improve clarity and assertions.
- Removed obsolete tests: `model-enable-switch-current`, `model-first-config-auto-activate`, and `model-page-load-active-config`.
- Added new test `model-first-config-saves-available-service` to verify first config saving behavior.
- Introduced `model-page-load-config-list` to ensure config list displays correctly after creation.
- Modified various unit tests to remove unnecessary properties and improve consistency in LLM config structure.
- Updated harness functions to accommodate new model name input in config creation.
- Enhanced workbench functions for better model selection and configuration handling.
- Added utility functions for SQLite operations in `sqliteUtils.ts`, including row manipulation and JSON parsing.
- Enhanced `WorkspaceKnowledgePrepareService` to manage document generations and content hashes.
- Updated constants for chunk write batch size to improve performance.
- Modified types to include generation IDs and content hashes in document records.
- Introduced SQLite database path configuration in `paths.ts`.
- Refactored `ChatPage` component to optimize rendering and handle file changes.
- Created unit tests for SQLite storage and document metadata management.
- Updated chat run service tests to reflect changes in event handling and data persistence.
- Introduced new types for attachment requests and responses in types.ts.
- Added tests for LLM recognition of images, ensuring correct responses for various scenarios.
- Updated web crawling tests to include requested URLs and enhanced link scoring.
- Refactored attachment handling in the workbench conversation tests to support session-backed attachments.
- Improved user message actions tests by implementing clipboard image and file pasting functionality.
- Implemented IPC handlers for browser panel state retrieval and zoom controls (zoom in, zoom out, reset).
- Enhanced BrowserEmbedService to manage zoom levels and provide current state.
- Added web search tool with structured result handling, including query and result items.
- Updated tool specifications and schemas for web search functionality.
- Modified skill definitions to include web search as a tool option.
- Created rendering functions for displaying web search results in the UI.
- Added tests for web search functionality and ensured proper integration with existing tools.
- Refactored conversation memory tests to ensure consistent behavior across multiple runs.
- Updated conversation memory summaries and assertions to reflect recent changes in logic.
- Added new end-to-end tests for user message actions and attachment handling in the workbench.
- Improved error handling and edge case coverage in conversation memory updates.
- Enhanced test setup for better isolation and clarity in test cases.
- Added mergeById method in ChatStore for upsert operations on chat sessions and messages.
- Refactored saveChatSession and saveChatMessage methods to utilize mergeById.
- Introduced getChatMessagesPage method for paginated retrieval of chat messages.
- Enhanced getChatSession to return session details and handle non-existent sessions.
- Updated DocumentsStore to ensure type safety with unknown records.
- Expanded types in store.d.ts for new chat session requests and responses.
- Updated preload API to include new chat session methods.
- Optimized MarkdownRenderer and AssistantTurnCard components with React.memo for performance.
- Enhanced WorkbenchComposer to display hints based on submission state.
- Improved ChatPage to manage session switching and load older messages efficiently.
- Added performance tests for chat session open operations.
- Updated e2e tests to cover new session management features and ensure reliability.
- Improved CSS styles for better overflow handling in markdown and document components.
- Updated MarkdownRenderer to ensure proper text wrapping and overflow behavior.
- Enhanced file rendering styles for .docx files to prevent horizontal overflow.
- Refactored AssistantTurnCard to manage artifact visibility and improve rendering logic.
- Modified WorkbenchComposer to include content nodes in draft changes.
- Updated apply target utilities to include source paths for better tracking.
- Enhanced reference icon components to support inline sizing.
- Introduced new ChatMessageContentNode type for better message structure.
- Improved e2e tests for document apply and revert functionality.
- Updated AiRunStatus to include 'waiting_approval'.
- Introduced ChatSubmitMode and ChatSubmitRequest types for chat submissions.
- Added AiRunRecord type to track AI run details including approval status and artifacts.
- Implemented ChatSessionRunSnapshot to encapsulate run and event data.
- Enhanced ChatSubmitResponse to include additional response fields.
- Added tests for chat run service persistence and navigation snapshot replay.
- Improved error handling and assertions in existing tests for clarity and robustness.
- Added `selected_references_json` field to LanceDbCore for storing selected references in chat messages.
- Updated ChatStore to handle serialization and deserialization of selected references.
- Introduced new components: ReferenceMentionPanel, ReferenceInlineToken, and ReferenceIcon for improved reference display and interaction.
- Implemented drag-and-drop functionality for the window in the ChatPage.
- Enhanced UI with improved styles for reference tokens and mention panels.
- Updated tests to cover new reference management features and ensure proper functionality.
- Implemented `stop-running-or-approval-run.e2e.test.ts` to validate stopping a running task and handling approval runs.
- Created `workspace-required-continue.e2e.test.ts` to test workspace directory requirements and continuation of requests.
- Added `browser-use-task-panel.e2e.test.ts` to verify browser panel interactions and task submissions.
- Developed `ai-process-stream-and-final-answer.e2e.test.ts` to ensure AI processes and final answers are correctly handled.
- Introduced a new fixture file `workbench-preview.md` for e2e preview coverage.
- Enhanced `electronApp.ts` to support window modes in Electron app launches.
- Updated `run-e2e-case.ts` to accommodate window mode configurations for test cases.
- Expanded `workbench.ts` with new utility functions for workspace management and AI event handling.
- Implement multi-file apply tabs test to ensure assistant retains all entries and tabs during modifications.
- Create file preview actions test to verify the preview layout and toolbar actions for local files.
- Add search results open rules test to confirm that search mode does not trigger AI and handles web/local results correctly.
- Introduce approval batch flow test to validate user decisions on approval cards during AI runs.
- Develop stop running or approval run test to check the behavior of the stop button during approval waits.
- Implement workspace required continue test to ensure users can continue requests after providing a workspace root.
- Add AI process stream and final answer test to verify the display of process streams and final outputs.
- Update run log contract to include 'workbench' as a test domain.
- Modify run-e2e-case to accept 'workbench' as a valid domain for test cases.
- Create a new workbench helper file to encapsulate workbench-specific E2E testing utilities.