diff --git a/packages/aiCore/package.json b/packages/aiCore/package.json index cdf68d9018..e61db529e2 100644 --- a/packages/aiCore/package.json +++ b/packages/aiCore/package.json @@ -13,7 +13,15 @@ "test": "vitest run", "test:watch": "vitest" }, - "keywords": ["ai", "sdk", "openai", "anthropic", "google", "cherry-studio", "vercel-ai-sdk"], + "keywords": [ + "ai", + "sdk", + "openai", + "anthropic", + "google", + "cherry-studio", + "vercel-ai-sdk" + ], "author": "Cherry Studio", "license": "MIT", "repository": { @@ -48,7 +56,9 @@ "engines": { "node": ">=18.0.0" }, - "files": ["dist"], + "files": [ + "dist" + ], "exports": { ".": { "types": "./dist/index.d.ts", diff --git a/packages/aiCore/src/core/plugins/built-in/googleToolsPlugin/index.ts b/packages/aiCore/src/core/plugins/built-in/googleToolsPlugin/index.ts index 09a741d9f2..cb581e17c6 100644 --- a/packages/aiCore/src/core/plugins/built-in/googleToolsPlugin/index.ts +++ b/packages/aiCore/src/core/plugins/built-in/googleToolsPlugin/index.ts @@ -24,6 +24,7 @@ export const googleToolsPlugin = (config?: ToolConfig) => if (!typedParams.tools) { typedParams.tools = {} } + // 使用类型安全的方式遍历配置 ;(Object.keys(config) as ToolConfigKey[]).forEach((key) => { if (config[key] && key in toolNameMap && key in google.tools) { diff --git a/packages/aiCore/tsconfig.json b/packages/aiCore/tsconfig.json index 110b2106e0..9ee30166c1 100644 --- a/packages/aiCore/tsconfig.json +++ b/packages/aiCore/tsconfig.json @@ -1,21 +1,26 @@ { "compilerOptions": { - "allowSyntheticDefaultImports": true, - "declaration": true, - "emitDecoratorMetadata": true, - "esModuleInterop": true, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, + "target": "ES2020", "module": "ESNext", "moduleResolution": "bundler", - "noEmitOnError": false, + "declaration": true, "outDir": "./dist", - "resolveJsonModule": true, "rootDir": "./src", - "skipLibCheck": true, "strict": true, - "target": "ES2020" + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "noEmitOnError": false, + "experimentalDecorators": true, + "emitDecoratorMetadata": true }, - "exclude": ["node_modules", "dist"], - "include": ["src/**/*"] -} + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules", + "dist" + ] +} \ No newline at end of file diff --git a/packages/extension-table-plus/package.json b/packages/extension-table-plus/package.json index 0128bd2962..d34c25ccd7 100755 --- a/packages/extension-table-plus/package.json +++ b/packages/extension-table-plus/package.json @@ -3,7 +3,10 @@ "description": "table extension for tiptap forked from tiptap/extension-table", "version": "3.0.11", "homepage": "https://cherry-ai.com", - "keywords": ["tiptap", "tiptap extension"], + "keywords": [ + "tiptap", + "tiptap extension" + ], "license": "MIT", "type": "module", "exports": { @@ -59,7 +62,10 @@ "main": "dist/index.cjs", "module": "dist/index.js", "types": "dist/index.d.ts", - "files": ["src", "dist"], + "files": [ + "src", + "dist" + ], "devDependencies": { "@tiptap/core": "^3.2.0", "@tiptap/pm": "^3.2.0", diff --git a/src/renderer/src/assets/styles/CommandListPopover.css b/src/renderer/src/assets/styles/CommandListPopover.css index fc4fe2b86e..a1bb27ec57 100644 --- a/src/renderer/src/assets/styles/CommandListPopover.css +++ b/src/renderer/src/assets/styles/CommandListPopover.css @@ -1,5 +1,6 @@ .command-list-popover { /* Base styles are handled inline for theme support */ + /* Arrow styles based on placement */ } diff --git a/src/renderer/src/components/Avatar/EmojiAvatar.tsx b/src/renderer/src/components/Avatar/EmojiAvatar.tsx index 6803156f59..e01024735a 100644 --- a/src/renderer/src/components/Avatar/EmojiAvatar.tsx +++ b/src/renderer/src/components/Avatar/EmojiAvatar.tsx @@ -25,8 +25,7 @@ const EmojiAvatar = ({ $fontSize={fontSize ?? size * 0.5} onClick={onClick} className={className} - style={style} - > + style={style}> {children} ) diff --git a/src/renderer/src/components/Avatar/ModelAvatar.tsx b/src/renderer/src/components/Avatar/ModelAvatar.tsx index b2b4634ec8..d1a6f98be9 100644 --- a/src/renderer/src/components/Avatar/ModelAvatar.tsx +++ b/src/renderer/src/components/Avatar/ModelAvatar.tsx @@ -25,8 +25,7 @@ const ModelAvatar: FC = ({ model, size, props, className }) => { justifyContent: 'center' }} {...props} - className={className} - > + className={className}> {first(model?.name)} ) diff --git a/src/renderer/src/components/CodeBlockView/HtmlArtifactsPopup.tsx b/src/renderer/src/components/CodeBlockView/HtmlArtifactsPopup.tsx index 9cee54603a..9453866f20 100644 --- a/src/renderer/src/components/CodeBlockView/HtmlArtifactsPopup.tsx +++ b/src/renderer/src/components/CodeBlockView/HtmlArtifactsPopup.tsx @@ -82,24 +82,21 @@ const HtmlArtifactsPopup: React.FC = ({ open, title, ht size="small" type={viewMode === 'split' ? 'primary' : 'default'} icon={} - onClick={() => setViewMode('split')} - > + onClick={() => setViewMode('split')}> {t('html_artifacts.split')} } - onClick={() => setViewMode('code')} - > + onClick={() => setViewMode('code')}> {t('html_artifacts.code')} } - onClick={() => setViewMode('preview')} - > + onClick={() => setViewMode('preview')}> {t('html_artifacts.preview')} @@ -123,8 +120,7 @@ const HtmlArtifactsPopup: React.FC = ({ open, title, ht onClick: () => handleCapture('clipboard') } ] - }} - > + }}> @@ -233,15 +232,13 @@ export function LocalBackupManager({ visible, onClose, localBackupDir, restoreMe icon={} onClick={handleDeleteSelected} disabled={selectedRowKeys.length === 0 || deleting} - loading={deleting} - > + loading={deleting}> {t('settings.data.local.backup.manager.delete.selected')} ({selectedRowKeys.length}) , - ]} - > + ]}> {t('common.confirm')} - ]} - > + ]}> setCustomFileName(e.target.value)} diff --git a/src/renderer/src/components/MarkdownEditor/index.tsx b/src/renderer/src/components/MarkdownEditor/index.tsx index e6bacb5f6e..427ff1ccc8 100644 --- a/src/renderer/src/components/MarkdownEditor/index.tsx +++ b/src/renderer/src/components/MarkdownEditor/index.tsx @@ -44,8 +44,7 @@ const MarkdownEditor: FC = ({ + rehypePlugins={[rehypeRaw, rehypeKatex]}> {inputValue || t('settings.provider.notes.markdown_editor_default_value')} diff --git a/src/renderer/src/components/MinApp/MinAppTabsPool.tsx b/src/renderer/src/components/MinApp/MinAppTabsPool.tsx index 6cebf23c75..af2c255f5f 100644 --- a/src/renderer/src/components/MinApp/MinAppTabsPool.tsx +++ b/src/renderer/src/components/MinApp/MinAppTabsPool.tsx @@ -99,8 +99,7 @@ const MinAppTabsPool: React.FC = () => { : { visibility: 'hidden' } } data-minapp-tabs-pool - aria-hidden={!shouldShow} - > + aria-hidden={!shouldShow}> {apps.map((app) => ( { root: { maxWidth: '400px' } - }} - > + }}> handleCopyUrl(e, url ?? appInfo.url)}>{appInfo.name} {appInfo.canOpenExternalLink && ( @@ -432,8 +431,7 @@ const MinappPopupContainer: React.FC = () => { + isTopNavbar={isTopNavbar}> handleGoBack(appInfo.id)}> @@ -461,8 +459,7 @@ const MinappPopupContainer: React.FC = () => { : t('minapp.add_to_sidebar') } mouseEnterDelay={0.8} - placement="bottom" - > + placement="bottom"> handleTogglePin(appInfo.id)} className={appInfo.isPinned ? 'pinned' : ''}> @@ -475,8 +472,7 @@ const MinappPopupContainer: React.FC = () => { : t('minapp.popup.open_link_external_off') } mouseEnterDelay={0.8} - placement="bottom" - > + placement="bottom"> @@ -551,8 +547,7 @@ const MinappPopupContainer: React.FC = () => { body: { borderTopLeftRadius: '10px' } - }} - > + }}> {/* 在所有小程序中显示GoogleLoginTip */} {!isReady && ( diff --git a/src/renderer/src/components/ModelIdWithTags.tsx b/src/renderer/src/components/ModelIdWithTags.tsx index 4556fb9787..bf902ae1c4 100644 --- a/src/renderer/src/components/ModelIdWithTags.tsx +++ b/src/renderer/src/components/ModelIdWithTags.tsx @@ -33,8 +33,7 @@ const ModelIdWithTags = ({ } mouseEnterDelay={0.5} - placement="top" - > + placement="top"> {model.name} diff --git a/src/renderer/src/components/OGCard.tsx b/src/renderer/src/components/OGCard.tsx index 0863747eb1..93446b6749 100644 --- a/src/renderer/src/components/OGCard.tsx +++ b/src/renderer/src/components/OGCard.tsx @@ -36,7 +36,7 @@ export const OGCard = ({ link, show }: Props) => { const GeneratedGraph = useCallback(() => { return (
-

{metadata['og:title'] || hostname}

+

{metadata['og:title'] || hostname}

) }, [hostname, metadata]) @@ -67,8 +67,7 @@ export const OGCard = ({ link, show }: Props) => { fontSize: '14px', lineHeight: '1.2', color: 'var(--color-text)' - }} - > + }}> {metadata['og:title'] || hostname} @@ -79,8 +78,7 @@ export const OGCard = ({ link, show }: Props) => { fontSize: '12px', lineHeight: '1.2', color: 'var(--color-text-secondary)' - }} - > + }}> {metadata['og:description'] || link} diff --git a/src/renderer/src/components/ObsidianExportDialog.tsx b/src/renderer/src/components/ObsidianExportDialog.tsx index 259410426c..0c3d1c0038 100644 --- a/src/renderer/src/components/ObsidianExportDialog.tsx +++ b/src/renderer/src/components/ObsidianExportDialog.tsx @@ -316,8 +316,7 @@ const PopupContainer: React.FC = ({ disabled: vaults.length === 0 || loading || !!error }} okText={i18n.t('chat.topics.export.obsidian_btn')} - afterClose={() => setOpen(open)} - > + afterClose={() => setOpen(open)}> {error && }
@@ -334,8 +333,7 @@ const PopupContainer: React.FC = ({ value={selectedVault} onChange={handleVaultChange} placeholder={i18n.t('chat.topics.export.obsidian_vault_placeholder')} - style={{ width: '100%' }} - > + style={{ width: '100%' }}> {vaults.map((vault) => (