- 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 E2EResourceScope for managing resources during E2E tests.
- Updated test cases to register resources and handle disposal in a structured manner.
- Enhanced error handling during resource disposal to capture and report errors.
- Modified workspace setup functions to ensure proper cleanup after tests.
- Adjusted imports and added necessary utility functions for resource management.
- Update embedding preflight failure handling in ai-run-service tests to hide underlying errors.
- Refactor app update publish config tests to improve readability and structure, ensuring correct behavior for direct update feeds and NSIS installs.
- Add tests for unsupported attachment formats in attachment service, ensuring no files are written for invalid formats.
- Introduce new tests for WorkbenchComposer keyboard interactions, validating Enter and Shift+Enter behavior.
- Implement feedback tests for model settings panel, ensuring proper error handling and progress restoration for vector models.
- Create e2e tests for session management, including delete confirmation and initial session creation, ensuring correct UI behavior and state management.
- Validate help entry functionality in Workbench, ensuring it opens the official manual without altering session routes.
- Add TerminalEnvironment to manage environment variables for terminal sessions.
- Create MacTerminalAdapter and WindowsTerminalAdapter to handle platform-specific terminal commands and behaviors.
- Introduce TerminalProtocol for structured communication between the terminal and the application.
- Implement tests for terminal platform adapters, ensuring correct handling of UTF-8 and command execution.
- Remove deprecated Windows PowerShell command encoding function.
- 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.
- Modify the PPT editing tool to allow multiple slides to be created in a single action using an array of HTML strings.
- Update documentation to reflect changes in the model descriptions for DOCX and PPT editing tools.
- Refactor tests to validate the new batch creation functionality and ensure compliance with updated HTML structure guidelines.
- Enhance error handling for invalid HTML pages during presentation creation.
- Remove deprecated checks for image assets and adjust image handling to allow remote images with placeholders.
- Update various test cases to align with the new functionality and ensure comprehensive coverage.
- Updated AI unit test plans to clarify the requirements for conversation memory persistence and document editing restrictions.
- Enhanced decision hint messages for better clarity on document editing limitations due to layout protections.
- Improved delivery guidance prompts to provide clearer instructions regarding document editing and user actions.
- Added new tests for terminal session management on Windows to ensure correct handling of current working directory during long-running commands.
- Refined E2E tests for workbench attachment handling to ensure proper interaction with native dialogs across platforms.
- Optimized user message action tests to ensure accurate attachment selection and message handling.
- Implemented PptSlideDeckViewer component for rendering PPTX slides.
- Created CustomPptxRenderer to handle PPTX file loading and rendering.
- Updated file renderers to include PPTX support.
- Enhanced sidebar to display current app version and update status.
- Added tests for version visibility during app updates.
- Updated PPT slide styles in multiple test files to improve visual consistency and readability.
- Added new unit tests for live LLM configuration to ensure correct model selection based on environment variables.
- Introduced visual smoke tests for PPT rendering to validate the output of generated slides.
- Enhanced existing unit tests for PPT tools to cover new functionalities and edge cases.
- Improved error handling and validation in PPT HTML compilation to reject unsupported CSS and ensure safe area compliance.
- Updated e2e tests for PPT creation and diff interactions to validate new features and ensure proper functionality.
- Fixed model name resolution in LLM configuration to use the latest version.
- Enhanced temporary workspace creation in e2e tests with retry logic for robustness.
- 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.
- Introduced a new riskPolicy module to analyze terminal commands for potential risks.
- Replaced the previous safe command policy with a risk-based approach, categorizing commands into auto-allow and approval-required.
- Updated types to reflect the new risk analysis structure, including TerminalRiskReason and TerminalRiskAnalysis.
- Removed obsolete Windows readonly rules and integrated their functionality into the new risk analysis.
- Refactored terminal command handling in terminalTools and toolSpecs to utilize the new risk policy.
- Enhanced unit tests to cover the new risk analysis scenarios and ensure proper command categorization.
- Adjusted browser panel components to handle presentation states and occlusion based on the new risk policy.
- Add shell syntax parsing for terminal commands, including tokenization and segment separation.
- Introduce types for terminal command effects and readonly command rules.
- Implement Windows-specific readonly command rules for common PowerShell commands.
- Enhance terminal command policy analysis to distinguish between read-only and mutating commands.
- Update UI components to support document preview modes for .docx files, allowing toggling between file view and diff view.
- Add tests for new terminal command policies and document editing features, ensuring proper handling of command effects and styles.
- Refactor workspace file explorer to manage expanded change groups for better user experience.
- Updated the test documentation in `doc/test.md` to clarify the purpose and structure of regression and unit tests, including changes to execution summaries and test file organization.
- Modified ESLint configuration in `eslint.config.mjs` to exclude specific directories and adjust rules for `.mjs` files.
- Removed unnecessary ESLint disable comments from various script files to enforce cleaner code practices.
- Introduced a new test case for image analysis in `tests/case/ai/tool/utility/image-analyze-contract.test.ts` to validate the behavior of the image recognition tool.
- Enhanced existing unit tests in `tests/case/unit/webCrawler/web-search-sidecar-retry.test.ts` and `tests/case/unit/workbench/assistant-markdown-memo.test.ts` for better reliability and clarity.
- Updated the `settings-titlebar-drag-region` test to clarify the purpose and expected behavior of the Settings UI on Windows, emphasizing the importance of the native title bar and drag regions.
- Adjusted the `workspace / core` test descriptions for better readability and understanding of the test cases.
fix: correct text-file apply case reference in workbench tests
- Changed `file_edit` to `text_file_edit` in the workbench test plan to ensure accurate references to the editing capabilities.
feat: introduce human graph invocation configuration
- Added `HUMAN_GRAPH_INVOKE_CONFIG` to encapsulate the recursion limit for graph invocations, improving code maintainability.
refactor: streamline terminal session management
- Introduced `resolveHumanToolCallLimit` to centralize tool call limit resolution logic.
- Enhanced terminal session management with improved session closure and termination handling, ensuring proper resource cleanup.
docs: update docx and ppt tool specifications for clarity
- Simplified descriptions in `DOCX_EDIT_TOOL_SPEC` and `PPT_EDIT_TOOL_SPEC` to focus on user-facing capabilities without implementation details.
test: add unit tests for human runtime limits
- Created a new test suite to validate human runtime limits, ensuring correct defaults and configurations are applied.
test: enhance terminal tests for better output handling
- Improved terminal test cases to wait for idle states and validate output more effectively, ensuring robust testing of terminal commands.
- Consolidated import statements across multiple test files for consistency.
- Standardized action structures in DOCX edit tests to use array format.
- Removed unnecessary revision reference checks in DOCX result assertions.
- Enhanced assertions in PPT tests to ensure immediate file writing and checksum validation.
- Updated test cases to reflect changes in block ID handling and session management.
- Improved error handling and messaging for invalid block ID scenarios in hand tests.