Files
cc-switch/package.json

52 lines
1.5 KiB
JSON
Raw Normal View History

2025-08-04 22:16:26 +08:00
{
"name": "cc-switch",
2025-10-14 10:39:11 +08:00
"version": "3.5.1",
"description": "Claude Code & Codex 供应商切换工具",
2025-08-04 22:16:26 +08:00
"scripts": {
"dev": "pnpm tauri dev",
"build": "pnpm tauri build",
"tauri": "tauri",
"dev:renderer": "vite",
"build:renderer": "vite build",
"typecheck": "tsc --noEmit",
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,json}\"",
"format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,css,json}\""
2025-08-04 22:16:26 +08:00
},
"keywords": [],
"author": "Jason Young",
2025-08-04 22:16:26 +08:00
"license": "MIT",
"devDependencies": {
"@tauri-apps/cli": "^2.8.0",
2025-08-04 22:16:26 +08:00
"@types/node": "^20.0.0",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"@vitejs/plugin-react": "^4.2.0",
"prettier": "^3.6.2",
2025-08-04 22:16:26 +08:00
"typescript": "^5.3.0",
"vite": "^5.0.0"
},
"dependencies": {
feat: add provider usage query with JavaScript scripting support (#101) * feat: add provider usage query functionality - Updated `Cargo.toml` to include `regex` and `rquickjs` dependencies for usage script execution. - Implemented `query_provider_usage` command in `commands.rs` to handle usage queries. - Created `UsageScript` and `UsageData` structs in `provider.rs` for managing usage script configurations and results. - Added `execute_usage_script` function in `usage_script.rs` to run user-defined scripts for querying usage. - Enhanced `ProviderList` component to include a button for configuring usage scripts and a modal for editing scripts. - Introduced `UsageFooter` component to display usage information and status. - Added `UsageScriptModal` for editing and testing usage scripts with preset templates. - Updated Tauri API to support querying provider usage. - Modified types in `types.ts` to include structures for usage scripts and results. * feat(usage): support multi-plan usage display for providers - 【Feature】 - Update `UsageResult` to support an array of `UsageData` for displaying multiple usage plans per provider. - Refactor `query_provider_usage` command to parse both single `UsageData` objects (for backward compatibility) and arrays of `UsageData`. - Enhance `usage_script` validation to accept either a single usage object or an array of usage objects. - 【Frontend】 - Redesign `UsageFooter` to iterate and display details for all available usage plans, introducing `UsagePlanItem` for individual plan rendering. - Improve usage display with color-coded remaining balance and clear plan information. - Update `UsageScriptModal` test notification to summarize all returned plans. - Remove redundant `isCurrent` prop from `UsageFooter` in `ProviderList`. - 【Build】 - Change frontend development server port from `3000` to `3005` in `tauri.conf.json` and `vite.config.mts`. * feat(usage): enhance query flexibility and display - 【`src/types.ts`, `src-tauri/src/provider.rs`】Make `UsageData` fields optional and introduce `extra` and `invalidMessage` for more flexible reporting. - `expiresAt` replaced by generic `extra` field. - `isValid`, `remaining`, `unit` are now optional. - Added `invalidMessage` to provide specific reasons for invalid status. - 【`src-tauri/src/usage_script.rs`】Relax usage script result validation to accommodate optional fields in `UsageData`. - 【`src/components/UsageFooter.tsx`】Update UI to display `extra` field and `invalidMessage`, and conditionally render `remaining` and `unit` based on availability. - 【`src/components/UsageScriptModal.tsx`】 - Add a new `NewAPI` preset template demonstrating advanced extractor logic for complex API responses. - Update script instructions to reflect optional fields and new variable syntax (`{{apiKey}}`). - Remove old "DeepSeek" and "OpenAI" templates. - Remove basic syntax check for `return` statement. - 【`.vscode/settings.json`】Add `dish-ai-commit.base.language` setting. - 【`src-tauri/src/commands.rs`】Adjust usage logging to handle optional `remaining` and `unit` fields. * chore(config): remove VS Code settings from version control - delete .vscode/settings.json to remove editor-specific configurations - add /.vscode to .gitignore to prevent tracking of local VS Code settings - ensure personalized editor preferences are not committed to the repository * fix(provider): preserve usage script during provider update - When updating a provider, the `usage_script` configuration within `ProviderMeta` was not explicitly merged. - This could lead to the accidental loss of `usage_script` settings if the incoming `provider` object in the update request did not contain this field. - Ensure `usage_script` is cloned from the existing provider's meta when merging `ProviderMeta` during an update. * refactor(provider): enforce base_url for usage scripts and update dev ports - 【Backend】 - `src-tauri/src/commands.rs`: Made `ANTHROPIC_BASE_URL` a required field for Claude providers and `base_url` a required field in `config.toml` for Codex providers when extracting credentials for usage script execution. This improves error handling by explicitly failing if these critical URLs are missing or malformed. - 【Frontend】 - `src/App.tsx`, `src/components/ProviderList.tsx`: Passed `appType` prop to `ProviderList` component to ensure `updateProvider` calls within `handleSaveUsageScript` correctly identify the application type. - 【Config】 - `src-tauri/tauri.conf.json`, `vite.config.mts`: Updated development server ports from `3005` to `3000` to standardize local development environment. * refactor(usage): improve usage data fetching logic - Prevent redundant API calls by tracking last fetched parameters in `useEffect`. - Avoid concurrent API requests by adding a guard in `fetchUsage`. - Clear usage data and last fetch parameters when usage query is disabled. - Add `queryProviderUsage` API declaration to `window.api` interface. * fix(usage-script): ensure usage script updates and improve reactivity - correctly update `usage_script` from new provider meta during updates - replace full page reload with targeted provider data refresh after saving usage script settings - trigger usage data fetch or clear when `usageEnabled` status changes in `UsageFooter` - reduce logging verbosity for usage script execution in backend commands and script execution * style(usage-footer): adjust usage plan item layout - Decrease width of extra field column from 35% to 30% - Increase width of usage information column from 40% to 45% - Improve visual balance and readability of usage plan items
2025-10-15 09:15:25 +08:00
"@codemirror/lang-javascript": "^6.2.4",
"@codemirror/lang-json": "^6.0.2",
"@codemirror/lint": "^6.8.5",
"@codemirror/state": "^6.5.2",
"@codemirror/theme-one-dark": "^6.1.3",
"@codemirror/view": "^6.38.2",
"smol-toml": "^1.4.2",
"@tailwindcss/vite": "^4.1.13",
"@tauri-apps/api": "^2.8.0",
"@tauri-apps/plugin-dialog": "^2.4.0",
"@tauri-apps/plugin-process": "^2.0.0",
"@tauri-apps/plugin-store": "^2.0.0",
"@tauri-apps/plugin-updater": "^2.0.0",
"codemirror": "^6.0.2",
"i18next": "^25.5.2",
"jsonc-parser": "^3.2.1",
"lucide-react": "^0.542.0",
2025-08-04 22:16:26 +08:00
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^16.0.0",
"tailwindcss": "^4.1.13"
2025-08-04 22:16:26 +08:00
}
}