- 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.
- 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.
- 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.
- 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.
- Implement tests for workspace index job store contract to validate job creation, active querying, phase progress updates, and failure convergence.
- Add tests for interrupted job recovery to ensure that running jobs and file indexing statuses are marked as failed upon recovery initiation.
- Enhance workspace prepare contract tests to ensure that active jobs are reused instead of creating new ones during indexing.
- Introduce end-to-end tests for restoring progress in workspace preparation and scanning, ensuring UI reflects persistent job states and disabled buttons during operations.
- Update web-related tests to validate the summary refresh behavior after web source indexing and scanning, ensuring accurate status updates in the UI.
- Deleted `initNode.ts` and `slotCommitNode.ts` to streamline the human node structure.
- Updated `toolExecNode.ts` to remove unnecessary phases and simplify the tool execution logic.
- Adjusted `types.ts` to reflect the removal of phases and state properties related to slot management.
- Modified `contextDispatchNode.ts` and `dispatchNode.ts` to align with the new flow and removed references to slot states.
- Introduced `intentNode.ts` to handle intent decisions and context enrichment.
- Updated state schemas to remove slot-related properties and adjust the main stage flow.
- Cleaned up unused imports and types across various files to enhance code clarity and maintainability.
- Added `toolExecNode.ts` for executing tools in human tasks, handling tool responses, and managing task states.
- Introduced `types.ts` to define types related to human run states and phases.
- Created `contextDispatchNode.ts` for dispatching context enrichment tasks.
- Developed `contextGateNode.ts` to manage context decision-making and transitions.
- Implemented `dispatchNode.ts` for handling task dispatching and state updates.
- Added `finalizeNode.ts` to generate final answers based on task outcomes.
- Created helper functions in `helpers.ts` for managing context evidence and task planning.
- Implemented `planNode.ts` for generating task plans based on user input and context.
- Updated `types.ts` to include new types for human tasks and context management.
- Refactored utility functions in `aiCapabilityUtils.ts` to streamline task handling.
- Enhanced `ChatPage.tsx` to support new event types and display human step tracking.
- Updated shared types to include new event stages and task definitions.