* feat: improve content protection during file operations
- Add validation for knowledge base configuration before saving
- Enhance error handling for note content reading
- Implement content backup and restoration during file rename
- Add content verification after rename operations
- Improve user feedback with specific error messages
* fix: format check
---------
Co-authored-by: 自由的世界人 <3196812536@qq.com>
fix(websearch): handle blocked domains conditionally in web search configurations
- Updated the handling of blocked domains in both Google Vertex and Anthropic web search configurations to only include them if they are present, improving robustness and preventing unnecessary parameters from being passed.
- Commented out all references to the 'cherryin' provider in configuration files.
- Updated the version in the persisted reducer from 157 to 158.
- Added migration logic to remove 'cherryin' from the state during version 158 migration.
* Fix slash menu Shift+Enter newline
* fix: enable Shift+Enter newline in rich editor with slash commands
Fixed an issue where users couldn't create new lines using Shift+Enter when
slash command menu (/foo) was active. The problem was caused by globa
keyboard event handlers intercepting all Enter key variants.
Changes:
- Allow Shift+Enter to pass through QuickPanel event handling
- Add Shift+Enter detection in CommandListPopover to return false
- Implement fallback Shift+Enter handling in command suggestion render
- Remove unused import in AppUpdater.ts
- Convert Chinese comments to English in QuickPanel
- Add test coverage for command suggestion functionality
---------
Co-authored-by: Zhaokun Zhang <zhaokunzhang@Zhaokuns-Air.lan>
* feat: improve content protection during file operations
- Add validation for knowledge base configuration before saving
- Enhance error handling for note content reading
- Implement content backup and restoration during file rename
- Add content verification after rename operations
- Improve user feedback with specific error messages
* fix: format check
---------
Co-authored-by: 自由的世界人 <3196812536@qq.com>
- Updated references from 'agents' to 'assistants' across various components and hooks.
- Changed i18n keys to reflect the new terminology for better clarity.
- Removed the deprecated agents slice and integrated its functionality into the assistants slice.
- Adjusted UI components to align with the new naming conventions for assistant presets.
fix(websearch): handle blocked domains conditionally in web search configurations
- Updated the handling of blocked domains in both Google Vertex and Anthropic web search configurations to only include them if they are present, improving robustness and preventing unnecessary parameters from being passed.
- Commented out all references to the 'cherryin' provider in configuration files.
- Updated the version in the persisted reducer from 157 to 158.
- Added migration logic to remove 'cherryin' from the state during version 158 migration.
* Fix slash menu Shift+Enter newline
* fix: enable Shift+Enter newline in rich editor with slash commands
Fixed an issue where users couldn't create new lines using Shift+Enter when
slash command menu (/foo) was active. The problem was caused by globa
keyboard event handlers intercepting all Enter key variants.
Changes:
- Allow Shift+Enter to pass through QuickPanel event handling
- Add Shift+Enter detection in CommandListPopover to return false
- Implement fallback Shift+Enter handling in command suggestion render
- Remove unused import in AppUpdater.ts
- Convert Chinese comments to English in QuickPanel
- Add test coverage for command suggestion functionality
---------
Co-authored-by: Zhaokun Zhang <zhaokunzhang@Zhaokuns-Air.lan>
- Change hover background color and add shadow in AgentItem
- Use cn utility for className in SessionItem
- Update height and background color for active state in SessionItem
- Introduce SelectAgentModelButton component for agent model selection
- Add SelectApiModelPopup for displaying and selecting API models
- Implement apiModelAdapter to convert API models to adapted format
- Add model filtering by agent type in agentSession utils
- Update model select components to use new API model selection
Update component and type names from 'advance' to 'advanced' for consistency and correct spelling. This includes renaming the file and all related references in the codebase.
- Updated logging statements across various modules to provide more structured and detailed information.
- Changed log levels from info to debug for less critical messages to reduce log clutter.
- Enhanced error logging to include relevant context such as agentId, sessionId, and model details.
- Standardized log messages to follow a consistent format, improving readability and maintainability.
Ensure proper handling of undefined values for agent name and description by making state types optional. Also update the updateName function to handle optional name input.
- Updated CodeToolsPage to include checks for supported endpoint types for various CLI tools.
- Added 'cherryin' to GEMINI_SUPPORTED_PROVIDERS and updated CLAUDE_SUPPORTED_PROVIDERS to include it.
- Improved logic for determining model compatibility with selected CLI tools, enhancing overall functionality.
- Introduced a helper function to escape strings for AppleScript to ensure proper command execution.
- Updated terminal command definitions to utilize the new escape function, improving compatibility with special characters.
- Adjusted command parameters to use double quotes for directory paths, enhancing consistency and reliability.
* refactor(reasoning): simplify reasoning time tracking by removing unused variables and logic
- Removed hasStartedThinking and reasoningBlockId variables as they are no longer needed.
- Updated onThinkingComplete callback to eliminate final_thinking_millsec parameter, streamlining the function.
* refactor(thinking): streamline thinking millisecond tracking and update event handling
- Removed unused thinking_millsec parameter from onThinkingComplete and adjusted related logic.
- Updated AiSdkToChunkAdapter to simplify reasoning-end event handling by removing unnecessary properties.
- Modified integration tests to reflect changes in thinking event structure.
* fix: 添加 seedThink 标签以支持新的模型识别
* Enable reasoning for SEED-OSS models
- Add SEED-OSS model ID check to reasoning exclusion logic
- Include SEED-OSS models in reasoning model detection
* fix: 更新 reasoning-end 事件处理以使用最终推理内容
Use agent's model information instead of session's to maintain consistency across the application. The model ID format changed from "sessionId:modelId" to "provider:modelId" and the model object is now constructed using the actual model details from the agent.
- Added isNewApiProvider function to streamline checks for 'new-api' and 'cherryin' providers.
- Updated ApiClientFactory, providerConfig, and various components to utilize isNewApiProvider for improved readability and maintainability.
- Refactored conditional checks across multiple files to replace direct string comparisons with the new utility function.
- Adjusted padding in TabsBar and Navbar components to enhance spacing.
- Updated ItemRenderer and Sortable components to accept itemStyle prop for custom styling.
- Changed NotesSidebar scroll behavior from 'smooth' to 'instant'.
- Modified MCP server card width to 100% for better responsiveness.
- Set wrapperStyle and itemStyle to 100% width in McpServersList for consistent item display.
* feat(minapps): support temporary minapps
* feat(settings): use openSmartMinApp with app logo to open docs sites
* refactor(icons): replace styled img with tailwind
* feat(tab): tighten types
* feat(tab): use minapps cache and log missing entries
* test(icons): update MinAppIcon snapshot to reflect class and attrs
* fix(assistant): enforce id requirement when updating assistant
Ensure assistant id is always provided when updating assistant properties by making it a required field in the update payload. This prevents potential bugs where updates might be applied to wrong assistants.
* refactor(useAssistant): simplify updateAssistant callback by removing redundant id
Update InputbarTools to use simplified callback signature
- Implement double-click to edit session names directly in the list
- Add loading state during save operation
- Update useInPlaceEdit hook to support async operations and saving state
- Adjust styling to accommodate new edit input field
- Adjusted the width of the CardContainer to dynamically calculate based on viewport width.
- Changed the layout of the McpServersList from grid to list, with a vertical orientation and updated styling for list items.
- Introduced new HTML files for the privacy policy in English and Chinese.
- Implemented a PrivacyPopup component to display the privacy policy within the application.
- The popup dynamically loads the appropriate language based on user settings and includes options to accept or decline the policy.
- Introduced a new IPC channel for quitting the application.
- Updated ipc.ts to handle the App_Quit channel, allowing the app to quit when invoked.
- Added corresponding quit method in the preload API for client-side access.
- Fixed a minor URL check in WindowService to ensure proper navigation handling.
- Added detailed JSDoc comments for clarity on tool input types, including ReadToolInput, TaskToolInput, BashToolInput, and others.
- Introduced new input types such as ListMcpResourcesToolInput and ReadMcpResourceToolInput to expand functionality.
- Improved existing types to ensure better documentation and usability for developers.
- Introduced new tools: EditTool, MultiEditTool, BashOutputTool, NotebookEditTool, and ExitPlanModeTool.
- Updated MessageTool to support new tool types.
- Enhanced ReadTool to handle output as an array of text outputs.
- Improved type definitions to accommodate new tools and their inputs/outputs.
- Add text color classes to modal title and list items for better visibility
- Apply background and border styling to modal content
- Use modal hook pattern for consistency