Commit Graph
142 Commits
Author SHA1 Message Date
hy a056c665de feat: enhance workbench file change notice and revert functionality
- 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.
2026-07-24 18:31:54 +08:00
hy 3a462fec16 feat: refactor PDF and PPT tools to support visual reading and update related 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.
2026-07-24 12:33:50 +08:00
hy e31ed6a008 feat: enhance open-with functionality and session skill persistence
- 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.
2026-07-23 18:37:09 +08:00
hy 791795f41a feat: add system notification settings and CDP endpoint service
- 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.
2026-07-23 16:11:22 +08:00
hy f19e6a2f9c fix: restore renderer startup and add free AI key entry 2026-07-21 19:19:06 +08:00
hy 2de70f403f feat: enhance error handling and user feedback across application
- 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.
2026-07-20 12:50:38 +08:00
Yoan Huang 982aff685d feat: add browser panel menu functionality and lifecycle tests
- 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.
2026-07-18 20:44:18 +08:00
Yoan Huang 1fecf4da6b Refactor terminal command policies and memory management
- 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.
2026-07-18 17:16:13 +08:00
Yoan Huang f284f4a72a feat: enhance evidence reference access handling and improve test coverage 2026-07-18 15:36:51 +08:00
hy 7125f4ed65 refactor: update tool names and error handling in tests
- 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.
2026-07-17 19:48:59 +08:00
hy 506e0eae85 feat: add ppt read and write skills 2026-07-17 15:00:17 +08:00
hy 448fe2d251 feat: enhance terminal command execution tracking and reference handling 2026-07-17 11:40:06 +08:00
hy 4cd96edddf feat(ai): add PDF reading skill 2026-07-16 19:16:08 +08:00
hy aa9d8c101c feat: Enhance evidence reference handling and access status resolution
- 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.
2026-07-16 18:59:22 +08:00
hy 7a1db10048 Merge main and integrate persistent terminal sessions 2026-07-16 15:00:48 +08:00
hy ccb02ce7b2 feat: enhance file change tracking and UI components
- 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.
2026-07-16 13:44:35 +08:00
hy b8c6de42b7 Refactor terminal command handling and enhance test coverage
- 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.
2026-07-16 10:18:43 +08:00
hy 0acfd07d33 feat: enhance workspace and browser tab functionalities
- 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.
2026-07-15 18:29:19 +08:00
hy 9055793d29 Merge branch 'codex/optmize-auto-update-ui' 2026-07-15 17:31:46 +08:00
hy 5e4d1cd98c refactor: remove app update settings and integrate sidebar update control
- 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.
2026-07-15 17:31:34 +08:00
hy bce519c455 feat(workbench): implement resource tab management and enhance file preview functionality
- 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.
2026-07-15 16:34:49 +08:00
hy d49fbb3c33 feat: Implement text file read/write capabilities and integrate diff viewer
- 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.
2026-07-15 13:51:00 +08:00
hy 03d6151d78 feat: add user takeover functionality to AI run process
- 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.
2026-07-14 18:28:49 +08:00
hy 2df8a09486 feat: enhance chat session management with unread completion tracking and viewing functionality 2026-07-14 12:22:42 +08:00
hy 9bd424cd1c refactor: remove obsolete tests and improve existing test coverage
- 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.
2026-07-14 10:49:58 +08:00
Yoan 3bd93c0684 feat: add file_path support to document handling and related tests 2026-07-12 14:39:38 +08:00
Yoan 37a616c59e feat: add source_type and source_url fields to various components and tests for enhanced document handling 2026-07-12 14:18:23 +08:00
Yoan e5cb6a52f3 feat: enhance chat session handling with running state and update related types and components 2026-07-12 14:08:02 +08:00
Yoan 42a8b1a906 feat: update AI preference handling to support local sources and enhance WorkbenchSelect component with submenu functionality 2026-07-12 13:55:50 +08:00
Yoan 75a37c848c feat: add AI preference handling and UI integration for workbench 2026-07-12 12:54:27 +08:00
Yoan da4f59c42e feat(storage): add LlmStrategyPreferenceStore for managing LLM strategy preferences
- 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.
2026-07-12 11:52:40 +08:00
Yoan 7f57e03d85 feat: enhance markdown reference handling and improve error messaging in file previews 2026-07-11 18:37:39 +08:00
Yoan ee66a5e932 refactor: consolidate ncurator reference handling and improve workspace indexing
- 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.
2026-07-11 15:10:17 +08:00
Yoan 4cad0b3de2 fix: update error messages and labels to use '工作目录' instead of '工作文件地址'
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
2026-07-11 11:21:53 +08:00
hy 5f48d182c4 feat: enhance browser tool functionality with new action types and improved handling 2026-07-10 18:55:58 +08:00
hy 04a6bdecbc Refactor and enhance E2E tests for model settings
- 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.
2026-07-10 18:20:04 +08:00
hy 9fd64c7eb6 feat(storage): implement SQLite utility functions and integrate with document management
- 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.
2026-07-09 18:16:24 +08:00
hy 3d3115836c feat: refactor attachment handling to use assetBucketId instead of sessionId across the application 2026-07-09 10:43:25 +08:00
hy 000e8f7d73 feat: enhance attachment handling and recognition features
- 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.
2026-07-08 18:51:06 +08:00
hy 44284628f4 feat: add web search functionality and browser panel state management
- 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.
2026-07-07 18:56:08 +08:00
hy 24747284db refactor: update conversation memory handling in tests and improve assertions
- 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.
2026-07-07 18:07:06 +08:00
hy d4885efa63 Add attachment support to AI chat runs 2026-07-06 10:56:14 +08:00
hy b50df862bb feat: add insertCount and deleteCount to file change records and update related components 2026-06-26 17:19:07 +08:00
hy d0e4a6a41b feat: Implement chat session management and message loading enhancements
- 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.
2026-06-26 12:36:54 +08:00
hy 5e77ef867a feat: enhance markdown rendering and document handling
- 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.
2026-06-25 12:43:21 +08:00
hy 1ff1d2592f feat: enhance AI run status and introduce chat submission features
- 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.
2026-06-25 11:04:40 +08:00
hy 408bbf2ef6 feat: Enhance chat functionality with reference management
- 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.
2026-06-18 09:36:46 +08:00
hy c8ad7770ee feat: implement Windows title bar controls and workspace management in ChatPage and WorkbenchComposer 2026-06-17 14:32:39 +08:00
hy aefec63789 feat(tests): add new end-to-end tests for workbench 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.
2026-06-12 16:40:33 +08:00
hy b8146709b0 feat(tests): add end-to-end tests for workbench functionalities
- 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.
2026-06-12 11:32:43 +08:00