Commit Graph
149 Commits
Author SHA1 Message Date
Yoan Huang a0e32c98fe refactor: update web search tool to use type-based input for fetching and searching
- Changed the web search tool to differentiate between 'fetch' and 'search' types using a discriminated union in the input schema.
- Updated the handling of web search results to return structured outputs for both fetching a URL and searching for content.
- Refactored related functions and types to accommodate the new structure, including output types and error handling.
- Adjusted tests to reflect the new input structure and ensure proper functionality for both fetching and searching scenarios.
- Enhanced the rendering of web search results to align with the new output format.
2026-08-30 19:16:30 +08:00
Yoan Huang 006eb43ca2 feat: enhance web search result rendering with markdown support and update documentation 2026-08-30 19:03:37 +08:00
Yoan Huang cf372c5522 feat: enhance AI tool prompt audit with detailed input cases and improved output structures
- Added input fields to OutputCase type for better context in terminal and file operations.
- Updated terminal run cases to include command explanations and refined output data.
- Expanded text file edit cases to cover batch replacements and detailed error messages.
- Enhanced knowledge base search and document listing with additional metadata and improved error handling.
- Improved PDF and DOCX handling with more comprehensive data structures and examples.
- Refined Excel operations to include detailed input parameters and error messages.
- Added new image generation cases with specific input requirements and output details.
2026-08-30 19:03:25 +08:00
Yoan Huang 4c5c4e945d feat: implement rendering functions for file envelopes, grouped sections, and prose
- Added `renderFileEnvelope`, `renderNumberedFileLines`, and `formatReadRangeFooter` in `envelope.ts`.
- Introduced `renderGroupedHeader`, `renderGroupedFooter`, `joinGroupedSections`, and `renderNoMatches` in `grouped.ts`.
- Created `renderUntrustedWebContent` in `markdownWeb.ts` to handle untrusted web content rendering.
- Developed prose rendering functions in `prose.ts` including `renderProse`, `renderFileMutationProse`, and `renderResourceMutationProse`.
- Implemented shared utility functions in `shared.ts` for XML escaping and line wrapping.
- Added terminal rendering functions in `terminal.ts` for output streams and markers.
- Updated terminal tool schemas to reflect changes in output types and statuses.
- Refactored terminal status handling in `terminalToolStatus.ts` for better clarity and consistency.
- Enhanced terminal tool tests to validate new status mappings and output structures.
- Created unit tests for model tool result renderers to ensure correct output formatting.
2026-08-30 18:54:46 +08:00
Yoan Huang 37d5789995 feat: add script to generate AI tool prompt audit documentation
- Implemented a new script `generate-ai-tool-prompt-audit.mts` that generates a markdown document for auditing AI tool prompts.
- The script extracts input and output specifications from the tool registry and formats them into a structured markdown format.
- Includes detailed examples for each tool, enhancing documentation clarity and usability.
2026-08-30 17:39:30 +08:00
Yoan Huang 27ac7db168 feat: update AI test plans and fixtures for Excel and PPT tools
- Refactored test plans for Excel-related tasks, including updates to task descriptions and expected outcomes.
- Introduced a new fixture generator for creating a detailed Excel file for weekly reviews.
- Updated existing tests to reference new Chinese-named Excel and PPT files, ensuring consistency in naming conventions.
- Enhanced test assertions to validate specific changes made during Excel editing tasks.
- Removed outdated fixture files and replaced them with new ones in Chinese.
- Improved descriptions in test cases to reflect the changes in language and context.
2026-08-30 12:44:25 +08:00
hy 04e405b467 feat: enhance image handling in AI executor and tests
- Added support for forwarding image blocks to the main model in llm-executor-text.test.ts, including error handling for unsupported image formats.
- Improved image normalization and caching logic in read-image-multimodal.test.ts, ensuring consistent handling of local and remote images.
- Updated terminal-session-manager.test.ts to improve command execution validation.
- Refined llm-config-guard.test.ts and llm-presets-contract.test.ts to enhance config validation and preset handling.
- Enhanced web crawler service tests for better coverage and reliability.
- Improved workspace index worker tests to ensure accurate file handling and content hashing.
- Updated composer attachment tests to validate attachment handling and ensure proper UI interactions.
- Refined model selector tests to improve user experience and error handling in the workbench.
- Added agent control tool harness for better testing capabilities in AI tool interactions.
2026-08-28 18:51:52 +08:00
hy de33cf92c5 feat: add help option to runner and handle unknown arguments 2026-08-27 11:11:14 +08:00
hy af027a4df9 refactor: remove retries from workflow and update related tests 2026-08-26 19:41:34 +08:00
hy 17c9ca1056 fix: remove LIVE_BACKEND_RETRIES and set retries to 0 in workflow 2026-08-26 19:30:45 +08:00
hy 4f22999edc feat: add Excel and DOCX fixtures for enhanced testing and metadata indexing 2026-08-26 14:54:03 +08:00
Yoan Huang e111dfe7ab feat: enhance E2E test workflow and improve tool call handling in tests 2026-08-23 19:33:04 +08:00
Yoan Huang 09f37e7d29 feat: enhance environment configuration for Vitest with LANGSMITH_TRACING support 2026-08-23 14:57:36 +08:00
Yoan Huang 3f62417530 feat: Enhance AI testing and update process
- Updated AI test plan with new results for visual reading tests, marking them as completed after fixing configuration issues.
- Added a new script for real upgrade testing on Windows, allowing verification of silent upgrades and proper handling of old installations.
- Introduced concurrency handling in visual recognition service to improve performance during image processing.
- Refactored legacy document editing tests to ensure proper rejection of .doc file edits and adherence to decision hints.
- Adjusted PowerPoint management review tests to include both Chinese and English date formats for better validation.
2026-08-21 23:15:23 +08:00
hy 35adfe50c7 feat: improve process termination handling for sidecar services 2026-08-21 18:19:14 +08:00
Yoan Huang 2c3122e0ef feat: enforce packaged Windows VC++ runtime DLL presence in audit 2026-08-20 21:12:32 +08:00
hy 5fb9590a00 feat: add Microsoft Visual C++ Redistributable DLLs and error handling for embedding initialization 2026-08-20 11:20:01 +08:00
hy 3ea0628a65 fix(release): seed native cache in macOS test stage
The test stage builds a clean workspace from the tag but only ran
pnpm install without seeding the prebuilt native cache, so package E2E
re-downloaded better-sqlite3 from GitHub release assets on every run and
failed on flaky network. Seed the cache like the prepare stage does.
2026-08-19 16:11:57 +08:00
hy 9dad1c9ec0 fix(test): always run vector warmup for package E2E when running multiple cases
The only warmup case lives under the settings domain, so filtering with
--domain/--suite/--case excluded it and left every selected case to index
the workspace fixture from scratch. Package E2E now appends the warmup
case whenever more than one case is selected, and the warmup task bypasses
--testNamePattern so targeted --case runs still seed the shared cache.
2026-08-19 15:15:32 +08:00
hy 746db0b522 fix: bundle vditor assets and inline i18n for markdown editor
vditor loads lute/katex/highlight/i18n at runtime via its cdn option,
so its dist resources must be copied into the renderer public dir during
build. The vditor-assets script was never wired into build and had TS
type annotations that made it fail as plain .mjs.

- wire vditor-assets into the build chain before electron-vite build
- rewrite vditor-assets to plain JS
- pass an inlined zh_CN i18n object to Vditor so it no longer loads
  i18n/zh_CN.js dynamically and cannot pop its own vditor-tip toast
2026-08-19 13:50:45 +08:00
hy 06324f7c11 refactor: streamline PlainTextEditor and remove editableDirtyRegistry
- Refactored PlainTextEditor to utilize autoSave and flushSave for managing content changes.
- Removed the editableDirtyRegistry as its functionality is now integrated within useEditableTextFile.
- Updated the markdownEditor CSS for improved styling and consistency.
- Enhanced useEditableTextFile to handle automatic saving and external changes more efficiently.
- Adjusted ChatPage to eliminate unused discard edits confirmation logic.
- Updated selectors to remove references to deleted editable file components.
- Improved end-to-end tests for markdown and plain text editors to reflect new auto-save behavior and UI changes.
2026-08-18 16:34:38 +08:00
hy 553b6830de feat: update Windows release process to remove Actions fallback and enforce local builds only 2026-08-07 11:15:02 +08:00
hy b0cf4fc052 feat: support multiple --case targets for release package E2E and drop dead resume-passed flow 2026-08-05 14:31:26 +08:00
hy a75ee93763 fix: prune stale playwright browsers from the sidecar venv before bundling 2026-08-05 12:07:08 +08:00
hy a8ec8aec08 fix: cap vector download e2e timeout, validate sidecar browser revision, pick chat-capable default model, and widen interrupted scan window 2026-08-05 11:32:23 +08:00
hy b3ac1ee046 fix: build mac sidecar venv outside the workspace root to avoid nltk CWD import blocks 2026-08-04 18:50:37 +08:00
hy 1731cf43e3 fix: allow empty version commit when releasing a mac version already present in package.json 2026-08-04 18:17:33 +08:00
hy 2b853c70e2 test: clean stale E2E temp dirs before runs and remove stray media capture test 2026-08-04 13:23:19 +08:00
Yoan Huang 2bffad753e merge: integrate ai live ppt excel tests 2026-08-01 20:58:20 +08:00
Yoan Huang 45c6d96663 feat: add human terminal data reconciliation live test and remove deprecated preview service test
- Introduced a new test for human terminal data reconciliation that verifies the reconciliation of invoices and payments, ensuring the correct generation of exception CSV files.
- Removed the outdated human terminal preview service live test, which was no longer relevant.
- Updated human text file read/write tests to focus on checkout configuration readiness and cutover processes.
- Enhanced web crawl tests to ensure accurate multi-hop crawling and URL inference for public service information.
- Refactored llmConfig and run-backend-case to streamline live model configuration handling, including vision model support.
- Improved error handling in electron app launch process to capture diagnostics on failure.
2026-08-01 19:02:11 +08:00
Yoan Huang 79b108d327 Revert "feat: record incremental release regressions"
This reverts commit 29c7c0dd5bb19b8f5118a123701e11b07558c4ec.
2026-08-01 16:40:26 +08:00
Yoan Huang d1d8d69ace feat: record incremental release regressions 2026-08-01 15:30:32 +08:00
Yoan Huang c1657dc313 fix: retain exceljs runtime modules in package 2026-08-01 12:25:03 +08:00
hy 2ba4711039 feat: enhance DOCX visual handling with new fixtures and tests for live reading 2026-07-30 11:44:28 +08:00
hy c3b51d82e5 feat(workbench): add e2e tests for interrupted task resume flow and adjust backend live retries 2026-07-28 18:10:20 +08:00
hy f582ba2e8e feat: enhance AI runtime context and human task management
- Added humanRuntimeOverrides to the AI run context to allow for runtime configuration adjustments.
- Updated HumanResumeSnapshot to include taskContext for better tracking of task interruptions and recoveries.
- Introduced functions to create and render human task contexts, capturing interruption reasons and user inputs.
- Enhanced error classification to include runtime limits and unexpected errors.
- Implemented database migration to reset resume snapshots for versioning.
- Updated tests to cover new runtime limit features and ensure proper handling of task contexts during interruptions.
- Improved workspace knowledge cache to support shared content caching and statistics tracking.
2026-07-28 17:04:59 +08:00
hy f21086b36a refactor: remove outdated Excel and PPT visual smoke tests; add new Excel diff and revert tests
- Deleted the unit tests for Excel tools and PPT visual smoke tests as they are no longer relevant.
- Introduced new end-to-end tests for Excel file creation, update, and revert functionality, ensuring proper diff handling and file state validation.
- Updated workbench conversation tests to enhance attachment handling and AI interaction.
- Improved file preview actions to support Excel file types and validate their previews.
2026-07-28 11:46:28 +08:00
hy 180986beb6 test: allow three concurrent live E2E cases 2026-07-28 09:42:07 +08:00
hy 8ff10ae0b2 test: refine macOS release E2E scheduling 2026-07-27 19:24:41 +08:00
hy cb740580ed test: add cross-architecture warm-up checks to app update publish config 2026-07-27 17:07:21 +08:00
hy 35a6e67864 fix(test): serialize browser-backed ppt cases 2026-07-27 15:45:22 +08:00
hy ed3f555efb fix(test): stabilize parallel release coverage 2026-07-27 15:28:13 +08:00
Yoan Huang fd09e47210 fix(tests): prepare Node SQLite binding for package e2e 2026-07-26 13:50:44 +08:00
Yoan Huang 95118ea6a0 feat(tests): warm vector cache before parallel e2e 2026-07-26 12:24:26 +08:00
Yoan Huang 81b130bb67 feat(tests): update execution modes and improve workspace binding
- Set execution mode to 'exclusive' for specific e2e tests to ensure isolated execution.
- Set execution mode to 'live' for various e2e tests to enable real-time interactions.
- Refactor workspace binding in tests to use direct binding method for improved reliability.
- Enable file parallelism in Vitest configurations to enhance test execution efficiency.
2026-07-26 10:54:29 +08:00
Yoan Huang d4974286ef refactor: update test cases to improve structure and clarity
- Remove obsolete end-to-end test for system notification session navigation.
- Enhance workspace scan progress tests to verify UI state restoration.
- Update web prepare progress tests to ensure correct UI behavior after navigation.
- Refactor unit tests for AI persistence and model configuration to improve naming consistency.
- Modify release tests to use localized product names and ensure correct artifact naming.
- Adjust vector and workspace backend tests to reflect unit test categorization.
- Improve error handling in web crawler test utilities.
- Update Electron app launch environment to support additional environment variables.
- Refactor end-to-end test cases for workbench to improve readability and maintainability.
2026-07-25 11:22:23 +08:00
Yoan Huang 61f7301eb7 feat: add Tidy process documentation and enhance test workflows
- Introduced a new documentation file for the Tidy process, outlining steps for aligning documentation with implementation, organizing PRD and test cases, and verifying settings.
- Updated package.json to include a new test command for non-live AI tests and adjusted existing test commands for settings and updates.
- Implemented a cleanup function for local test logs in the release scripts to ensure a clean environment.
- Enhanced the release preparation script to include unit and non-live AI tests in the workflow.
- Added a new script to validate test architecture, ensuring that test cases align with defined plans and rules.
- Refactored existing test cases to improve organization and clarity, including renaming and restructuring tests for better maintainability.
- Adjusted timeout settings for specific tests to improve reliability.
- Corrected domain assignments in several unit tests to ensure proper categorization.
2026-07-25 08:36:13 +08:00
Yoan Huang cc7e473a58 refactor(release): always prune superseded packages 2026-07-24 22:30:38 +08:00
Yoan Huang ada4c149e0 refactor(release): require packaged regression before publish 2026-07-24 22:19:25 +08:00
hy 3c25f2b4a3 feat(release): split platform tag versions 2026-07-24 19:02:42 +08:00