- Bumped versions for several @ai-sdk packages in package.json and yarn.lock to their latest releases, including @ai-sdk/amazon-bedrock, @ai-sdk/google-vertex, @ai-sdk/mistral, and @ai-sdk/perplexity.
- Updated ai package version from 5.0.44 to 5.0.59.
- Updated aiCore package version from 1.0.0-alpha.18 to 1.0.1 and adjusted dependencies accordingly.
- Ensured compatibility with the latest zod version in multiple packages.
- Replace @anthropic-ai/claude-code with @anthropic-ai/claude-agent-sdk@0.1.1
- Update all import statements across 4 files
- Migrate patch for Electron compatibility (fork vs spawn)
- Handle breaking changes: replace appendSystemPrompt with systemPrompt preset
- Add settingSources configuration for filesystem settings
- Update vendor path in build scripts
- Update package name mapping in CodeToolsService
- Included a new source path for the UI package in the Tailwind CSS configuration to enhance styling capabilities.
- This addition allows for better integration of UI components with Tailwind's utility classes, improving overall design consistency.
- Changed the `name` prop to directly use `providerName` for better readability.
- Updated the `getInitials` prop to use `getFirstCharacter` for improved clarity in the component's functionality.
These changes enhance the maintainability and understanding of the ProviderAvatar component.
- Refactored ProviderAvatar to use the name prop for better clarity.
- Updated ModelAvatar to apply consistent styling using Tailwind CSS for width and height.
- Adjusted useOcrProvider hook to standardize Avatar component usage with dynamic sizing.
These changes enhance the overall consistency and maintainability of the Avatar components across the application.
- Introduced a new SearchableSelector component for improved item selection with search functionality.
- Updated the Selector component to streamline item selection and added type exports for better type safety.
- Refactored the preferenceSchemas to use the new MathEngine type for better clarity.
- Added comprehensive README documentation for the Selector component detailing usage and features.
- Updated various components and stories to utilize the new Selector and SearchableSelector components.
* feat(models): add gpt5_codex model support
Add support for gpt5_codex model type in model configuration and type definitions. Update getThinkModelType to handle codex variant of gpt5 models.
* feat(models): add gpt-5-codex model logo and update logo mapping
Add new GPT-5-Codex model logo image and include it in the logo mapping configuration
Implement functionality to show files/folders in system explorer through IPC. Includes channel definition, preload API, main handler, and error handling for non-existent paths.
- Deleted the ProviderAvatar component and its associated utility functions and stories to streamline the codebase.
- Updated index.ts to remove the export of ProviderAvatar, ensuring a cleaner component structure.
* add new provider: OVMS(openvino model server)
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* remove useless comments
* add note: support windows only
* fix eslint error; add migrate for ovms provider
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* fix ci error after rebase
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* modifications base on reviewers' comments
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* show intel-ovms provider only on windows and intel cpu
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* complete i18n for intel ovms
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* update ovms 2025.3; apply patch for model qwen3-8b on local
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* fix lint issues
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* fix issues for format, type checking
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* remove test code
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
* fix issues after rebase
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
---------
Signed-off-by: Ma, Kejiang <kj.ma@intel.com>
- Deleted the ProviderLogo styled component from CodeToolsPage, AihubmixPage, and PreprocessProviderSettings to streamline the codebase and eliminate redundancy.
- Introduced a new EmojiAvatar component for enhanced avatar functionality.
- Updated index.ts to export the new EmojiAvatar alongside existing components.
- Removed the old display/EmojiAvatar component to streamline the codebase.
- Adjusted various components to utilize the new Avatar structure and styling.
- Added a new DescriptionSwitch component to enhance the Switch functionality with a description feature.
- Updated the exports in index.ts to include the new DescriptionSwitch alongside existing components.
- Refactored the SettingsTab to utilize DescriptionSwitch for improved UI consistency.
- Removed the InfoPopover component as part of the cleanup process.
* fix(eslint): add Button to restricted antd imports
* feat(ui): add Button component with Storybook stories
Implement a reusable Button component wrapping HeroUIButton with proper TypeScript props.
Add comprehensive Storybook stories demonstrating all button variants, colors, sizes and states.
* refactor(components): update ActionIconButton implementation and usage
Replace onClick with onPress prop and move icon into icon prop
Update component to use @cherrystudio/ui Button instead of antd
Simplify props interface and add displayName
* refactor(ui): migrate antd buttons to @cherrystudio/ui components
update button components across multiple files to use @cherrystudio/ui's Button component
replace antd button props with equivalent @cherrystudio/ui props
* refactor(InputEmbeddingDimension): replace antd Button with custom Button component
Update the Button component to use the custom @cherrystudio/ui Button with updated props for better consistency and maintainability
* refactor(components): migrate buttons from antd to @cherrystudio/ui
Update button components in LocalBackupModals and LocalBackupManager to use @cherrystudio/ui instead of antd
Add flex styling to modal footers for better button alignment
* refactor(ProviderSetting): migrate Button components from antd to @cherrystudio/ui
Update Button components to use @cherrystudio/ui implementation with new props like variant, color, and startContent
Replace onClick handlers with onPress and adjust disabled states
* refactor(ui): migrate antd buttons to cherrystudio ui buttons
Update button components across multiple files to use @cherrystudio/ui Button instead of antd Button
Standardize button props and behavior while maintaining existing functionality
* refactor(NutstorePathSelector): update button props to use cherrystudio ui
Replace antd Button with cherrystudio ui Button component and update props
* refactor(S3BackupManager): migrate antd buttons to @cherrystudio/ui
Update button components from antd to @cherrystudio/ui library
Change button props to match new library's API (variant, color, onPress, etc)
Adjust table props for consistency with new component library
* refactor(TranslateButton): replace styled Button with cherrystudio Button component
The custom styled Button was replaced with the cherrystudio Button component to maintain consistency across the UI and reduce custom styling code. The functionality remains the same but uses the library's built-in props for styling.
* refactor(WebdavBackupManager): replace antd buttons with cherrystudio ui buttons
Update button components to use cherrystudio ui library for consistency
* refactor(ui): migrate buttons from antd to @cherrystudio/ui
Update button components across multiple editor components to use @cherrystudio/ui's Button component instead of antd's. This includes updating props like size, variant, and event handlers to match the new component's API.
* refactor(components): migrate buttons from antd to @cherrystudio/ui
Update button components in HtmlArtifactsCard and HtmlArtifactsPopup to use @cherrystudio/ui's Button component instead of antd's Button. This includes updating props like icon to startContent, onClick to onPress, and type to variant/color.
* refactor(ui): migrate button components from antd to hero ui
- replace antd Button with hero ui Button component
- update button props interface to extend hero ui props
- adjust button props in OAuthButton and MinappPopupContainer
* refactor(MultiSelectionPopup): migrate button components to @cherrystudio/ui
Update button props to match new component library requirements
* refactor(ApiKeyItem): migrate antd buttons to cherrystudio ui components
Update button components in ApiKeyItem to use cherrystudio ui library instead of antd
* refactor(ApiKeyListPopup): update button props to use new UI library syntax
Update button components to use the new syntax from @cherrystudio/ui library, replacing antd Button props with the new variant, color, and isDisabled props. Also adjust icon placement and button types to match the new library's API.
* refactor(SelectModelButton): replace antd Button with custom Button component
Simplify button implementation by using custom Button component from ui library instead of antd. Remove unused styled component and event handling.
* refactor(Preview): migrate ImageToolButton to use @cherrystudio/ui
Update ImageToolButton component to use Button from @cherrystudio/ui instead of antd
Change onClick prop to onPress to match new Button component API
Update related usage in ImageToolbar component
* refactor(ui): migrate buttons from antd to cherrystudio ui components
Update button components across multiple files to use cherrystudio's Button component instead of antd's. This includes updating props like onClick to onPress and adjusting button styling props to match the new component's API.
* refactor(ui): migrate antd buttons to @cherrystudio/ui buttons
Update button components from antd to @cherrystudio/ui library
Adjust button props to match new component API
* refactor(components): update prop names and component usage
- Rename onClick to onPress in ImageToolButton test props
- Update isLoading to loading in S3BackupManager table props
- Change ghost to variant in ProviderSetting button props
- Replace antd Button with cherrystudio Button in PreferenceBasicTests
* refactor(ImageToolButton): migrate from antd to @cherrystudio/ui
* refactor(FilesPage): migrate Button components from antd to @cherrystudio/ui
* refactor(SearchMessage): migrate Button components from antd to @cherrystudio/ui
* refactor(TopicMessages): migrate Button components from antd to @cherrystudio/ui
* refactor(TopicsHistory): migrate Button components from antd to @cherrystudio/ui
* refactor(ChatNavigation): migrate Button components from antd to @cherrystudio/ui
* refactor(CitationsList): migrate Button components from antd to @cherrystudio/ui
* refactor(MessageGroupMenuBar): migrate Button components from antd to @cherrystudio/ui
* refactor: reorganize button imports and adjust class order
Consolidate Button imports from @cherrystudio/ui to be grouped with other imports
Standardize className order for consistency across components
* refactor(SelectModelPopup): replace HStack with Flex component for layout
* feat: migrate PrivacyPopup from antd Button to @cherrystudio/ui Button
- Replace antd Button import with @cherrystudio/ui Button
- Update onClick to onPress event handler
- Update type="primary" to variant="solid" color="primary"
- Maintain existing functionality while following Hero UI API
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate NewTopicButton from antd Button to @cherrystudio/ui Button
- Replace antd Button import with @cherrystudio/ui Button
- Update size="small" to size="sm"
- Update icon prop to startContent for Hero UI API
- Update onClick to onPress event handler
- Maintain existing styled-components with StyledButton wrapper
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate MessageMcpTool Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update two Button components with Hero UI API:
- size="small" to size="sm"
- onClick to onPress
- variant="filled" to variant="solid"
- Move icons to startContent prop
- Maintain Dropdown.Button as antd component (not migrated)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate SettingsTab Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update settings icon button with Hero UI API:
- type="text" to variant="light"
- size="small" to size="sm"
- icon prop to isIconOnly with child content
- onClick to onPress event handler
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate AssistantTagsPopup Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update delete tag button with Hero UI API:
- type="text" to variant="light"
- danger prop to color="danger"
- icon prop to isIconOnly with child content
- onClick to onPress event handler
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate UpdateAppButton from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update styled Button component with Hero UI API:
- onClick to onPress event handler
- icon prop to startContent
- color="orange" to color="warning" (closest equivalent)
- variant="outlined" to variant="bordered"
- size="small" to size="sm"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(NewTopicButton): replace styled-components with cn utility
Simplify component styling by removing styled-components in favor of the cn utility
* refactor: organize imports and remove unused event handlers
remove duplicate Button imports and clean up stopPropagation handlers
* feat: migrate KnowledgeContent Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update settings icon Button with Hero UI API:
- type="text" to variant="light"
- size="small" to size="sm"
- icon prop to isIconOnly with child content
- onClick to onPress event handler
- Update ResponsiveButton styled component selector:
- .ant-btn-icon + span to [data-slot="icon"] + [data-slot="label"]
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate KnowledgeDirectories Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update three Button components with Hero UI API:
- Refresh button: type="text" to variant="light", icon to isIconOnly, onClick to onPress
- Delete button: type="text" danger to variant="light" color="danger", icon to isIconOnly, onClick to onPress
- Add directory button: type="primary" to variant="solid" color="primary", icon to startContent, disabled to isDisabled
- Remove stopPropagation from add directory button as not needed with onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate KnowledgeFiles Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update three Button components with Hero UI API:
- Add file button: type="primary" to variant="solid" color="primary", icon to startContent, disabled to isDisabled
- Refresh button: type="text" to variant="light", icon to isIconOnly, onClick to onPress
- Delete button: type="text" danger to variant="light" color="danger", icon to isIconOnly, onClick to onPress
- Remove stopPropagation from add file button as not needed with onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate KnowledgeNotes Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update three Button components with Hero UI API:
- Add note button: type="primary" to variant="solid" color="primary", icon to startContent, disabled to isDisabled
- Edit button: type="text" to variant="light", icon to isIconOnly, onClick to onPress
- Delete button: type="text" danger to variant="light" color="danger", icon to isIconOnly, onClick to onPress
- Remove stopPropagation from add note button as not needed with onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate KnowledgeSitemaps Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update three Button components with Hero UI API:
- Add sitemap button: type="primary" to variant="solid" color="primary", icon to startContent, disabled to isDisabled
- Refresh button: type="text" to variant="light", icon to isIconOnly, onClick to onPress
- Delete button: type="text" danger to variant="light" color="danger", icon to isIconOnly, onClick to onPress
- Remove stopPropagation from add sitemap button as not needed with onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate KnowledgeUrls Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update three Button components with Hero UI API:
- Add URL button: type="primary" to variant="solid" color="primary", icon to startContent, disabled to isDisabled
- Refresh button: type="text" to variant="light", icon to isIconOnly, onClick to onPress
- Delete button: type="text" danger to variant="light" color="danger", icon to isIconOnly, onClick to onPress
- Remove stopPropagation from add URL button as not needed with onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate KnowledgeVideos Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update three Button components with Hero UI API:
- Add video button: type="primary" to variant="solid" color="primary", icon to startContent, disabled to isDisabled
- Refresh button: type="text" to variant="light", icon to isIconOnly, onClick to onPress
- Delete button: type="text" danger to variant="light" color="danger", icon to isIconOnly, onClick to onPress
- Remove stopPropagation from add video button as not needed with onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate MinAppsPage Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update two settings Button components with Hero UI API:
- type="text" to variant="light"
- icon prop to isIconOnly with child content
- onClick to onPress event handler
- Maintain className="nodrag" for draggable interface
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate MiniAppSettings Buttons from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update two Button components with Hero UI API:
- Swap button: onClick to onPress event handler
- Reset button: onClick to onPress event handler
- Buttons use default Hero UI styling without additional props
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate NewAppButton from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update two Button components with Hero UI API:
- Upload button: icon to startContent
- Save button: type="primary" htmlType="submit" to variant="solid" color="primary" type="submit"
- Maintain form submission functionality with type="submit"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: standardize button imports from @cherrystudio/ui
* refactor(KnowledgeContent): replace icon prop with startContent in Button
Improve consistency with component library by using startContent prop instead of children for icons
* refactor(KnowledgeVideos): update button components to use startContent prop
Use startContent prop for icons in buttons to improve consistency with the design system
* refactor(MinAppsPage): improve button component structure by using startContent prop
* feat: migrate AihubmixPage Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- size="small" to size="sm"
- icon to startContent
- onClick to onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate DmxapiPage Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- size="small" to size="sm"
- icon to startContent
- onClick to onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate NewApiPage Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- size="small" to size="sm"
- icon to startContent
- onClick to onPress
- type="primary" to variant="solid" color="primary"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate SiliconPage Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- size="small" to size="sm"
- icon to startContent
- onClick to onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate TokenFluxPage Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- size="small" to size="sm"
- icon to startContent
- onClick to onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate ZhipuPage Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- type="text" to variant="light"
- icon to startContent
- onClick to onPress
- disabled to isDisabled
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate Artboard Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- onClick to onPress for NavigationButton and CancelButton
- type="link" to variant="light"
- Maintain styled-components usage for NavigationButton and CancelButton
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate DynamicFormRender Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- icon to startContent
- onClick to onPress
- size="small" to size="sm"
- danger to color="danger"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: convert Button inline styles to Tailwind CSS
- Replace style={{borderTopLeftRadius: 0, borderBottomLeftRadius: 0, height: '32px'}} with className="rounded-l-none h-8"
- Replace style={{flexShrink: 0, minWidth: 'auto', padding: '0 8px'}} with className="shrink-0 min-w-0 px-2"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate ImageUploader Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- size="small" to size="sm"
- onClick to onPress
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(Artboard): replace inline styles with tailwind classes
Use tailwind classes for consistent styling of navigation buttons instead of inline styles
* feat: migrate AboutSettings Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- onClick to onPress for all Button components
- loading to isLoading for CheckUpdateButton
- disabled to isDisabled for CheckUpdateButton
- Maintain CheckUpdateButton styled component
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate AssistantMemorySettings Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- type="text" to variant="light" + isIconOnly
- icon to startContent
- onClick to onPress
- size="small" to size="sm"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate AssistantModelSettings Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- icon to startContent
- onClick to onPress
- variant="filled" to variant="solid"
- danger + type="primary" to color="danger" variant="solid"
- Add isIconOnly for icon-only buttons
- Maintain ModelSelectButton styled component
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate AssistantPromptSettings Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- type="primary" to variant="solid" color="primary"
- icon to startContent
- onClick to onPress
- Convert inline styles to Tailwind CSS:
- style={{fontSize: 18, padding: '4px', minWidth: '28px', height: '28px'}} to className="text-lg p-1 min-w-7 h-7"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: consolidate Button imports from @cherrystudio/ui
Move all Button imports from @cherrystudio/ui to be grouped with other imports from the same package for better consistency and maintainability
* feat: migrate AssistantRegularPromptsSettings Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- type="text" to variant="light"
- icon to startContent
- onClick to onPress
- Add isIconOnly for icon-only buttons
- danger to color="danger"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: migrate DataSettings Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Update Button props with Hero UI API:
- onClick to onPress for all buttons
- icon to startContent for backup/restore buttons
- danger to color="danger" for reset button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(NutstoreSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Update type/danger props to variant/color system
- Convert loading to isLoading prop
- Convert disabled to isDisabled prop
- Update ghost prop to variant="ghost"
- Add isIconOnly for folder icon button
- Migrate startContent pattern for icons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(S3Settings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert icon props to startContent pattern
- Convert loading to isLoading prop
- Convert disabled to isDisabled prop
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(SiyuanSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(WebDavSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert icon props to startContent pattern
- Convert loading to isLoading prop
- Convert disabled to isDisabled prop
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(YuqueSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(DisplaySettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert icon props to startContent pattern
- Convert variant="text" to variant="light"
- Add isIconOnly for icon-only buttons
- Replace inline styles with Tailwind CSS classes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(PreprocessProviderSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Convert type="text" to variant="light"
- Convert size="small" to size="sm"
- Convert icon to startContent pattern
- Add isIconOnly for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(NotionSettings): replace antd Button with cherrystudio Button and update prop
Update the Button import to use cherrystudio's component instead of antd's
* refactor(settings): migrate Button props to use startContent and isDisabled
Update Button components in LocalBackupSettings to use startContent instead of icon and isDisabled instead of disabled for consistency with the updated UI library
* refactor(JoplinSettings): replace Button import and update onPress prop
Use Button component from @cherrystudio/ui instead of antd
Update onClick to onPress for consistency with component API
* refactor(MarkdownExportSettings): replace antd Button with cherrystudio Button in markdown export
Update the Button component import and props to use the cherrystudio UI library version instead of antd for consistency
* refactor: organize imports in settings components
Move Button import from cherrystudio/ui to be grouped with other imports from the same package for better consistency and readability
* refactor(AddMcpServerModal): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert icon prop to startContent pattern
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(BuiltinMCPServerList): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Convert type="text" to variant="light"
- Convert size="small" to size="sm"
- Convert icon to startContent pattern
- Convert disabled to isDisabled prop
- Add isIconOnly for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(InstallNpxUv): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert type="primary" to variant="solid" color="primary"
- Convert type="link" to variant="light"
- Convert shape="circle" to radius="full"
- Convert size="small" to size="sm"
- Convert loading/disabled to isLoading/isDisabled
- Convert icon to startContent pattern
- Add isIconOnly for icon-only button
- Convert green color to success color
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(McpServerCard): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers (removing e.stopPropagation)
- Convert type="text" to variant="light"
- Convert size="small" to size="sm"
- Convert shape="circle" to radius="full"
- Convert danger to color="danger"
- Convert icon to startContent pattern
- Add isIconOnly for icon-only buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(MCPSettings): reorder Button imports for consistency
Move Button imports to be grouped with other UI component imports for better readability and maintainability
* refactor(McpServersList): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert type="default" to variant="solid"
- Convert shape="round" to radius="full"
- Convert icon to startContent pattern
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(McpServerCard): remove unused event parameter from click handlers
The event parameter was not being used in handleOpenUrl and onClickDetails handlers, so it was removed to simplify the code.
* refactor(McpServerCard): remove data-no-dnd attribute from Button
* refactor(McpSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert danger to color="danger"
- Convert type="text" to variant="light"
- Convert type="primary" to variant="solid" color="primary"
- Convert shape="round" to radius="full"
- Convert loading/disabled to isLoading/isDisabled
- Convert icon to startContent pattern
- Add isIconOnly for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(McpSettingsNavbar): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Convert type="text" to variant="light"
- Convert size="small" to size="sm"
- Convert icon to startContent pattern
- Replace inline styles with Tailwind CSS classes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(NpxSearch): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Convert type="text" to variant="light"
- Convert size="small" to size="sm"
- Convert icon to startContent pattern
- Add isIconOnly for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(SyncServersPopup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert type="default" to variant="solid"
- Convert type="primary" to variant="solid" color="primary"
- Convert loading/disabled to isLoading/isDisabled
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(MCPSettings/index): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert type="default" to variant="solid"
- Convert shape="circle" to radius="full"
- Convert icon to startContent pattern
- Add isIconOnly for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(MemorySettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Convert type="text" to variant="light"
- Convert type="primary" to variant="solid" color="primary"
- Convert size="large" to size="lg"
- Convert size="small" to size="sm"
- Convert loading/disabled to isLoading/isDisabled
- Convert danger to color="danger"
- Convert icon to startContent pattern
- Add isIconOnly for icon-only buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(UserSelector): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Convert type="default" to variant="solid"
- Convert icon to startContent pattern
- Add isIconOnly for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(DefaultAssistantSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Convert type="text" to variant="light"
- Convert icon to startContent pattern
- Add isIconOnly for icon-only button
- Replace inline styles with Tailwind CSS classes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(QuickModelPopup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Change icon prop to startContent
- Update type="text" to variant="light"
- Add isIconOnly prop for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(NotesSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for all buttons
- Change type="default" to variant="solid"
- Change type="primary" to color="primary"
- Update loading to isLoading prop
- Update disabled to isDisabled prop
- Change icon prop to startContent
- Replace inline style with Tailwind CSS class (ml-2)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(AnthropicSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Change type="primary" to color="primary"
- Update loading to isLoading prop
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ModelEditContent): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for all buttons
- Change size="small" to size="sm"
- Update icon prop to startContent for save and reset buttons
- Change iconPosition="end" to endContent for more settings toggle
- Update type="text" to variant="light" and add isIconOnly for reset button
- Change type="primary" to color="primary"
- Replace htmlType="submit" with type="submit"
- Update variant="filled" to variant="solid"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ModelTypeSelector): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Change size="small" to size="sm"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(GithubCopilotSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for all buttons
- Change type="primary" to color="primary"
- Change type="primary" danger to color="danger"
- Update size="small" to size="sm"
- Update loading to isLoading prop
- Update disabled to isDisabled prop
- Change icon prop to startContent for copy button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(AddModelPopup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Change type="primary" to color="primary"
- Replace htmlType="submit" with type="submit"
- Change size="middle" to size="md"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ModelList): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for all buttons
- Change type="text" to variant="light" and add isIconOnly for icon button
- Change type="primary" to color="primary"
- Change type="default" to variant="solid"
- Update disabled to isDisabled prop
- Change icon prop to startContent for all buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ModelListGroup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Change type="text" to variant="light"
- Update disabled to isDisabled prop
- Change icon prop to startContent
- Remove e.stopPropagation() as no longer needed
- Add isIconOnly prop for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ModelListItem): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for both buttons
- Change type="text" to variant="light"
- Update disabled to isDisabled prop
- Change icon prop to startContent for both buttons
- Add isIconOnly prop for icon-only buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(NewApiAddModelPopup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Change type="primary" to color="primary"
- Replace htmlType="submit" with type="submit"
- Change size="middle" to size="md"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(NewApiBatchAddModelPopup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Change type="primary" to color="primary"
- Replace htmlType="submit" with type="submit"
- Change size="middle" to size="md"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ProviderList): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Update disabled to isDisabled prop
- Change icon prop to startContent
- Keep existing style attributes for custom styling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ProviderOAuth): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for both buttons
- Change shape="round" to radius="full"
- Change icon prop to startContent for both buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(UrlSchemaInfoPopup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Change type="link" to variant="light"
- Change size="small" to size="sm"
- Change icon prop to startContent
- Add isIconOnly prop for icon-only button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(QuickAssistantSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for both styled buttons
- Change type="primary" to color="primary"
- Change type="default" to color="default"
- Update styled component to use new Button from @cherrystudio/ui
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(QuickPhraseSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for all buttons
- Change type="text" to variant="light"
- Change icon prop to startContent for all buttons
- Change danger prop to color="danger"
- Add isIconOnly prop for all icon-only buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(SelectionAssistantSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for both buttons
- Change type="link" to variant="light"
- Change icon prop to startContent
- Keep existing style attributes for custom styling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ActionsListItem): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for all buttons
- Change type="link" to variant="light"
- Change size="small" to size="sm"
- Change danger prop to color="danger"
- Add isIconOnly prop for all icon-only buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(MacProcessTrustHintModal): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for both buttons
- Change type="link" to variant="light"
- Change type="primary" to color="primary"
- Keep existing style attributes for custom styling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(SelectionActionSearchModal): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler
- Change type="link" to variant="light"
- Change size="small" to size="sm"
- Keep existing style attributes for custom styling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(SelectionFilterListModal): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handler for both modal buttons
- Change type="primary" to color="primary"
- Keep existing key attributes for modal footer
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(SettingsActionsListHeader): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers
- Update icon prop to startContent with Plus icon
- Change disabled to isDisabled
- Add color="primary" for primary button style
- Update styled ResetButton to use variant="light"
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ShortcutSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for all buttons
- Update icon prop to startContent for icon buttons
- Change disabled to isDisabled
- Convert size="small" to size="sm"
- Replace shape="circle" with isIconOnly for circular buttons
- Migrate reset undo button, clear button, and reset all button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(ApiServerSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for all buttons
- Update icon prop to startContent for documentation and copy buttons
- Change type="primary" to color="primary"
- Convert type="link" to variant="light" for regenerate button
- Change disabled to isDisabled for input button and regenerate button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(CustomLanguageModal): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for modal footer buttons
- Change type="primary" to color="primary" for save button
- Convert icon prop to startContent with isIconOnly for emoji button
- Migrate cancel, save, and emoji picker buttons to Hero UI API
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(CustomLanguageSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for all buttons
- Update icon prop to startContent for edit, delete, and add buttons
- Change type="primary" to color="primary" for add button
- Convert danger prop to color="danger" for delete button
- Migrate table action buttons and primary add button to Hero UI API
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(AddSubscribePopup): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert type="primary" to color="primary" for submit button
- Change htmlType="submit" to type="submit" following Hero UI API
- Migrate form submit button from antd to Hero UI
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(BlacklistSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for all buttons
- Change type="primary" to color="primary" for subscribe buttons
- Convert ghost prop to variant="ghost"
- Change disabled to isDisabled for all button states
- Migrate save, add subscribe, update subscribe, and delete buttons
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(WebSearchProviderSetting): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for API key list and check buttons
- Change type="text" to variant="light" for API key list button
- Convert icon prop to startContent with isIconOnly for list button
- Update size="small" to size="sm"
- Change ghost prop to variant="ghost" and type to color for check button
- Convert disabled to isDisabled for API checking state
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(TranslateSettings): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress for more settings button
- Simple migration for modal footer button
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(MigrateApp): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for all migration buttons
- Change type="primary" to color="primary" for primary buttons
- Convert disabled to isDisabled for migration in progress button
- Change size="small" to size="sm" for debug button
- Convert type="dashed" to variant="bordered" for styled buttons
- Migrate all buttons in migration workflow stages
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(SelectionActionApp): migrate Button from antd to @cherrystudio/ui
- Replace antd Button import with @cherrystudio/ui Button
- Convert onClick to onPress handlers for all window control buttons
- Change type="text" to variant="light" for all title bar buttons
- Update icon prop to startContent for pin, opacity, minimize, and close buttons
- Add isIconOnly prop for all icon-only buttons in the title bar
- Migrate styled WinButton component to use Hero UI Button as base
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* style(ActionIconButton): remove fixed dimensions and add size prop
Simplify button styling by removing fixed height/width and using size="sm" prop instead
* refactor(AssistantPromptSettings): migrate from antd Popover to hero-ui components
Replace antd Popover with hero-ui Popover and Tooltip components for better consistency
Rename EmojiButtonWrapper to EmojiDeleteButtonWrapper for clarity
* style(AssistantModelSettings): add size prop to delete button in model settings
* style(settings): standardize button sizes and replace Space.Compact with Flex
Consistently apply 'sm' size to buttons across settings components and replace deprecated Space.Compact with Flex component for better layout consistency
* refactor(ApiServerSettings): replace custom buttons with standard Button component
remove custom styled InputButton and RegenerateButton components in favor of using the standard Button component with appropriate props
* style(ProviderSetting): make settings button icon-only for consistency
* style(ui): update icon styling and button props
remove global lucide icon color override
update button components to use consistent props
* style(ProviderList): adjust button size to match design
* feat(theme): add foreground color calculation for primary theme
Calculate and set foreground color based on primary theme color to ensure proper contrast
* style(KnowledgeFiles): make button size consistent with other buttons
* test: update test snapshots for button components
Update test snapshots to reflect changes in button styling and accessibility attributes. The changes include updated class names, ripple effects, and focus states.
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com>
Co-authored-by: MyPrototypeWhat <daoquqiexing@gmail.com>
- Added tests mock path to tsconfig.node.json for improved test coverage.
- Refactored AppUpdater to use preferenceService for language retrieval instead of configManager.
- Updated AppUpdater tests to mock preferenceService and ensure correct language handling in release notes.
- Changed import statements to use type imports for better clarity in MessageMcpTool component.
* feat: add LongCat provider support
- Add LongCat to SystemProviderIds enum
- Add LongCat provider logo and configuration
- Configure API endpoints and URLs based on official docs
- Add two models: LongCat-Flash-Chat and LongCat-Flash-Thinking
- Update provider mappings for proper integration
The LongCat provider uses OpenAI-compatible API format and supports
up to 8K tokens output with daily free quota of 500K tokens.
Signed-off-by: LeaderOnePro <leaderonepro@outlook.com>
* feat: add migration for LongCat provider
- Add migration version 158 for LongCat provider
- Ensure existing users get LongCat provider on app update
- Follow standard migration pattern for simple provider additions
Signed-off-by: LeaderOnePro <leaderonepro@outlook.com>
---------
Signed-off-by: LeaderOnePro <leaderonepro@outlook.com>
- Introduced a new utility function to determine if a tool is an agent tool, simplifying the tool selection logic in MessageTool.
- Refactored MessageAgentTools to improve rendering logic and added an UnknownToolRenderer for better handling of unrecognized tools.
- Updated BashOutputTool to remove unnecessary Card components, enhancing layout consistency.
- Improved overall code clarity and maintainability by reducing redundancy and adhering to existing patterns.
- Updated the resolution and checksum for the @ai-sdk/google patch in yarn.lock.
- Enhanced the getModelPath function to check for "models/" in the modelId before returning the path, improving its robustness.
* feat(toolUsePlugin): separate provider-defined tools from prompt tools in context
- Enhanced the `createPromptToolUsePlugin` function to distinguish between provider-defined tools and other tools, ensuring only non-provider-defined tools are saved in the context.
- Updated the handling of tools in the transformed parameters to retain provider-defined tools while removing others.
- Improved error handling in `ToolExecutor` by logging tool and tool use details for better debugging.
- Refactored various components to use `NormalToolResponse` instead of `MCPToolResponse`, aligning with the new response structure across multiple message components.
* refactor(toolUsePlugin): streamline tool handling in createPromptToolUsePlugin
- Updated the `createPromptToolUsePlugin` function to improve type handling for tools, ensuring proper type inference and reducing the use of type assertions.
- Enhanced clarity in the separation of provider-defined tools and prompt tools, maintaining functionality while improving code readability.
* refactor(ToolExecutor): remove debug logging for tool and tool use
- Removed console logging for tool and tool use details in the ToolExecutor class to clean up the code and improve performance. This change enhances the clarity of the code without affecting functionality.