- 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.
- 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.
- 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.