cckit 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.js CHANGED
@@ -1,267 +1 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { homedir } from 'os';
4
- import { v4 as uuidv4 } from 'uuid';
5
- import { APP_VERSION } from './utils/constants.js';
6
- const DEFAULT_BASE_URLS = {
7
- zhipu: 'https://open.bigmodel.cn/api/anthropic',
8
- minimax: 'https://api.minimaxi.com/anthropic',
9
- kimi: 'https://api.kimi.com/coding/',
10
- zenmux: 'https://zenmux.ai/api/anthropic',
11
- streamlake: 'https://wanqing.streamlakeapi.com/api/gateway/v1/endpoints/kat-coder-pro-v1/claude-code-proxy',
12
- volcengine: 'https://ark.cn-beijing.volces.com/api/coding',
13
- aliyun: 'https://coding.dashscope.aliyuncs.com/apps/anthropic',
14
- };
15
- const DEFAULT_MODELS = {
16
- zhipu: 'GLM-4.7',
17
- minimax: 'MiniMax-M2',
18
- kimi: 'kimi-for-coding',
19
- zenmux: 'claude-3-5-sonnet-20241022',
20
- claude: 'claude-3-5-sonnet-20241022',
21
- streamlake: 'kat-coder-pro-v1',
22
- volcengine: 'ark-code-latest',
23
- aliyun: 'claude-sonnet-4-20250514',
24
- };
25
- export class ConfigManager {
26
- constructor() {
27
- const homeDir = homedir();
28
- this.configDir = path.join(homeDir, '.cckit');
29
- this.configFile = path.join(this.configDir, 'config.json');
30
- this.claudeSettingsFile = path.join(homeDir, '.claude', 'settings.json');
31
- }
32
- initialize() {
33
- if (!fs.existsSync(this.configDir)) {
34
- fs.mkdirSync(this.configDir, { recursive: true });
35
- }
36
- if (!fs.existsSync(this.configFile)) {
37
- const defaultConfig = {
38
- providers: [],
39
- version: APP_VERSION,
40
- created_at: new Date().toISOString(),
41
- updated_at: new Date().toISOString(),
42
- };
43
- this.saveConfig(defaultConfig);
44
- }
45
- }
46
- loadConfig() {
47
- if (!fs.existsSync(this.configFile)) {
48
- return {
49
- providers: [],
50
- version: APP_VERSION,
51
- created_at: new Date().toISOString(),
52
- updated_at: new Date().toISOString(),
53
- };
54
- }
55
- try {
56
- const content = fs.readFileSync(this.configFile, 'utf-8');
57
- return JSON.parse(content);
58
- }
59
- catch (error) {
60
- return {
61
- providers: [],
62
- version: APP_VERSION,
63
- created_at: new Date().toISOString(),
64
- updated_at: new Date().toISOString(),
65
- };
66
- }
67
- }
68
- saveConfig(config) {
69
- config.updated_at = new Date().toISOString();
70
- fs.writeFileSync(this.configFile, JSON.stringify(config, null, 2));
71
- }
72
- listProviders() {
73
- const config = this.loadConfig();
74
- return config.providers;
75
- }
76
- saveProvider(provider) {
77
- const config = this.loadConfig();
78
- const index = config.providers.findIndex((p) => p.provider_type === provider.provider_type);
79
- if (index >= 0) {
80
- config.providers[index] = provider;
81
- }
82
- else {
83
- config.providers.push(provider);
84
- }
85
- this.saveConfig(config);
86
- }
87
- getCurrentProvider() {
88
- const config = this.loadConfig();
89
- if (config.current_provider_id) {
90
- return config.providers.find((p) => p.id === config.current_provider_id);
91
- }
92
- return undefined;
93
- }
94
- switchProvider(providerId) {
95
- const config = this.loadConfig();
96
- const provider = config.providers.find((p) => p.id === providerId);
97
- if (!provider) {
98
- throw new Error(`Provider with id '${providerId}' not found`);
99
- }
100
- config.current_provider_id = providerId;
101
- this.saveConfig(config);
102
- this.applyProviderToClaudeSettings(provider);
103
- }
104
- updateCurrentProviderSettings() {
105
- const currentProvider = this.getCurrentProvider();
106
- if (currentProvider) {
107
- this.applyProviderToClaudeSettings(currentProvider);
108
- }
109
- }
110
- applyProviderToClaudeSettings(provider) {
111
- let claudeSettings = { env: {} };
112
- if (fs.existsSync(this.claudeSettingsFile)) {
113
- try {
114
- const content = fs.readFileSync(this.claudeSettingsFile, 'utf-8');
115
- claudeSettings = JSON.parse(content);
116
- }
117
- catch (error) {
118
- claudeSettings = { env: {} };
119
- }
120
- }
121
- const activeModel = provider.current_model || provider.models[0] || DEFAULT_MODELS[provider.provider_type] || 'claude-3-5-sonnet-20241022';
122
- const baseUrl = provider.base_url || DEFAULT_BASE_URLS[provider.provider_type] || '';
123
- switch (provider.provider_type) {
124
- case 'claude':
125
- claudeSettings.env = {
126
- ANTHROPIC_API_KEY: provider.api_key,
127
- };
128
- break;
129
- case 'zhipu':
130
- case 'minimax':
131
- claudeSettings.env = {
132
- ANTHROPIC_AUTH_TOKEN: provider.api_key,
133
- ANTHROPIC_BASE_URL: baseUrl,
134
- ANTHROPIC_MODEL: activeModel,
135
- };
136
- break;
137
- case 'kimi':
138
- claudeSettings.env = {
139
- ANTHROPIC_API_KEY: provider.api_key,
140
- ANTHROPIC_BASE_URL: baseUrl,
141
- ANTHROPIC_MODEL: activeModel,
142
- ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
143
- ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
144
- ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
145
- };
146
- break;
147
- case 'zenmux':
148
- claudeSettings.env = {
149
- ANTHROPIC_API_KEY: provider.api_key,
150
- ANTHROPIC_BASE_URL: baseUrl || 'https://zenmux.ai/api/anthropic',
151
- ANTHROPIC_MODEL: activeModel,
152
- ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
153
- ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
154
- ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
155
- CC_PROVIDER: provider.provider_type,
156
- };
157
- break;
158
- case 'streamlake':
159
- claudeSettings.env = {
160
- ANTHROPIC_API_KEY: provider.api_key,
161
- ANTHROPIC_BASE_URL: baseUrl || 'https://wanqing.streamlakeapi.com/api/gateway/v1/endpoints/kat-coder-pro-v1/claude-code-proxy',
162
- ANTHROPIC_MODEL: activeModel,
163
- ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
164
- ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
165
- ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
166
- CC_PROVIDER: provider.provider_type,
167
- };
168
- break;
169
- case 'volcengine':
170
- claudeSettings.env = {
171
- ANTHROPIC_AUTH_TOKEN: provider.api_key,
172
- ANTHROPIC_BASE_URL: baseUrl || 'https://ark.cn-beijing.volces.com/api/coding',
173
- ANTHROPIC_MODEL: activeModel,
174
- ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
175
- ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
176
- ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
177
- ANTHROPIC_API_KEY: '',
178
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: '1',
179
- CC_PROVIDER: provider.provider_type,
180
- };
181
- break;
182
- case 'aliyun':
183
- claudeSettings.env = {
184
- ANTHROPIC_AUTH_TOKEN: provider.api_key,
185
- ANTHROPIC_BASE_URL: baseUrl || 'https://coding.dashscope.aliyuncs.com/apps/anthropic',
186
- ANTHROPIC_MODEL: activeModel,
187
- ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
188
- ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
189
- ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
190
- CC_PROVIDER: provider.provider_type,
191
- };
192
- break;
193
- case 'custom':
194
- // Custom provider - use all provided settings
195
- claudeSettings.env = {
196
- ANTHROPIC_API_KEY: provider.api_key,
197
- ANTHROPIC_BASE_URL: baseUrl || '',
198
- ANTHROPIC_MODEL: activeModel,
199
- ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
200
- ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
201
- ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
202
- CC_PROVIDER: provider.name, // Use custom name as provider identifier
203
- };
204
- break;
205
- default:
206
- claudeSettings.env = {
207
- ANTHROPIC_API_KEY: provider.api_key,
208
- ANTHROPIC_BASE_URL: baseUrl,
209
- ANTHROPIC_MODEL: activeModel,
210
- CC_PROVIDER: provider.provider_type,
211
- };
212
- }
213
- const claudeDir = path.dirname(this.claudeSettingsFile);
214
- if (!fs.existsSync(claudeDir)) {
215
- fs.mkdirSync(claudeDir, { recursive: true });
216
- }
217
- fs.writeFileSync(this.claudeSettingsFile, JSON.stringify(claudeSettings, null, 2));
218
- }
219
- resetToClaudeDefault() {
220
- const config = this.loadConfig();
221
- config.current_provider_id = undefined;
222
- this.saveConfig(config);
223
- const claudeSettings = {
224
- env: {
225
- ANTHROPIC_API_KEY: '',
226
- },
227
- };
228
- const claudeDir = path.dirname(this.claudeSettingsFile);
229
- if (!fs.existsSync(claudeDir)) {
230
- fs.mkdirSync(claudeDir, { recursive: true });
231
- }
232
- fs.writeFileSync(this.claudeSettingsFile, JSON.stringify(claudeSettings, null, 2));
233
- }
234
- exportConfig() {
235
- return this.loadConfig();
236
- }
237
- importConfig(importedConfig) {
238
- this.saveConfig(importedConfig);
239
- if (importedConfig.current_provider_id) {
240
- const provider = importedConfig.providers.find((p) => p.id === importedConfig.current_provider_id);
241
- if (provider) {
242
- this.applyProviderToClaudeSettings(provider);
243
- }
244
- }
245
- }
246
- }
247
- export function getDefaultBaseUrl(providerType) {
248
- return DEFAULT_BASE_URLS[providerType];
249
- }
250
- export function getDefaultModel(providerType) {
251
- return DEFAULT_MODELS[providerType];
252
- }
253
- export function createProvider(providerType, providerName, apiKey, baseUrl, models) {
254
- const defaultModel = getDefaultModel(providerType);
255
- const modelList = models && models.length > 0 ? models : (defaultModel ? [defaultModel] : []);
256
- return {
257
- id: uuidv4(),
258
- name: providerName,
259
- provider_type: providerType,
260
- api_key: apiKey || '',
261
- base_url: baseUrl || getDefaultBaseUrl(providerType),
262
- models: modelList,
263
- created_at: new Date().toISOString(),
264
- updated_at: new Date().toISOString(),
265
- };
266
- }
267
- //# sourceMappingURL=config.js.map
1
+ import e from"fs";import i from"path";import{homedir as t}from"os";import{v4 as n}from"uuid";import{APP_VERSION as r}from"./utils/constants.js";const o={zhipu:"https://open.bigmodel.cn/api/anthropic",minimax:"https://api.minimaxi.com/anthropic",kimi:"https://api.kimi.com/coding/",zenmux:"https://zenmux.ai/api/anthropic",streamlake:"https://wanqing.streamlakeapi.com/api/gateway/v1/endpoints/kat-coder-pro-v1/claude-code-proxy",volcengine:"https://ark.cn-beijing.volces.com/api/coding",aliyun:"https://coding.dashscope.aliyuncs.com/apps/anthropic",tencent:"https://api.lkeap.cloud.tencent.com/coding/anthropic",xfyun:"https://maas-coding-api.cn-huabei-1.xf-yun.com/anthropic"},a={zhipu:"GLM-4.7",minimax:"MiniMax-M2",kimi:"kimi-for-coding",zenmux:"claude-3-5-sonnet-20241022",claude:"claude-3-5-sonnet-20241022",streamlake:"kat-coder-pro-v1",volcengine:"ark-code-latest",aliyun:"claude-sonnet-4-20250514",tencent:"GLM-5",xfyun:"GLM-5"};export class ConfigManager{constructor(){const e=t();this.configDir=i.join(e,".cckit"),this.configFile=i.join(this.configDir,"config.json"),this.claudeSettingsFile=i.join(e,".claude","settings.json")}initialize(){if(e.existsSync(this.configDir)||e.mkdirSync(this.configDir,{recursive:!0}),!e.existsSync(this.configFile)){const e={providers:[],version:r,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString()};this.saveConfig(e)}}loadConfig(){if(!e.existsSync(this.configFile))return{providers:[],version:r,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString()};try{const i=e.readFileSync(this.configFile,"utf-8");return JSON.parse(i)}catch(e){return{providers:[],version:r,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString()}}}saveConfig(i){i.updated_at=(new Date).toISOString(),e.writeFileSync(this.configFile,JSON.stringify(i,null,2))}listProviders(){return this.loadConfig().providers}saveProvider(e){const i=this.loadConfig(),t=i.providers.findIndex(i=>i.id===e.id);t>=0?i.providers[t]=e:i.providers.push(e),this.saveConfig(i)}getCurrentProvider(){const e=this.loadConfig();if(e.current_provider_id)return e.providers.find(i=>i.id===e.current_provider_id)}switchProvider(e){const i=this.loadConfig(),t=i.providers.find(i=>i.id===e);if(!t)throw new Error(`Provider with id '${e}' not found`);i.current_provider_id=e,this.saveConfig(i),this.applyProviderToClaudeSettings(t)}updateCurrentProviderSettings(){const e=this.getCurrentProvider();e&&this.applyProviderToClaudeSettings(e)}applyProviderToClaudeSettings(t){let n={env:{}};if(e.existsSync(this.claudeSettingsFile))try{const i=e.readFileSync(this.claudeSettingsFile,"utf-8");n=JSON.parse(i)}catch(e){n={env:{}}}const r=t.current_model||t.models[0]||a[t.provider_type]||"claude-3-5-sonnet-20241022",_=t.base_url||o[t.provider_type]||"",s=t.default_opus_model||r,c=t.default_sonnet_model||r,d=t.default_haiku_model||r;switch(t.provider_type){case"claude":n.env={ANTHROPIC_API_KEY:t.api_key};break;case"zhipu":case"minimax":n.env={ANTHROPIC_AUTH_TOKEN:t.api_key,ANTHROPIC_BASE_URL:_,ANTHROPIC_MODEL:r};break;case"kimi":n.env={ANTHROPIC_API_KEY:t.api_key,ANTHROPIC_BASE_URL:_,ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d};break;case"zenmux":n.env={ANTHROPIC_API_KEY:t.api_key,ANTHROPIC_BASE_URL:_||"https://zenmux.ai/api/anthropic",ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d,CC_PROVIDER:t.provider_type};break;case"streamlake":n.env={ANTHROPIC_API_KEY:t.api_key,ANTHROPIC_BASE_URL:_||"https://wanqing.streamlakeapi.com/api/gateway/v1/endpoints/kat-coder-pro-v1/claude-code-proxy",ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d,CC_PROVIDER:t.provider_type};break;case"volcengine":n.env={ANTHROPIC_AUTH_TOKEN:t.api_key,ANTHROPIC_BASE_URL:_||"https://ark.cn-beijing.volces.com/api/coding",ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d,ANTHROPIC_API_KEY:"",CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:"1",CC_PROVIDER:t.provider_type};break;case"aliyun":n.env={ANTHROPIC_AUTH_TOKEN:t.api_key,ANTHROPIC_BASE_URL:_||"https://coding.dashscope.aliyuncs.com/apps/anthropic",ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d,CC_PROVIDER:t.provider_type};break;case"tencent":n.env={ANTHROPIC_AUTH_TOKEN:t.api_key,ANTHROPIC_BASE_URL:_||"https://api.lkeap.cloud.tencent.com/coding/anthropic",ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d,CC_PROVIDER:t.provider_type};break;case"xfyun":n.env={ANTHROPIC_AUTH_TOKEN:t.api_key,ANTHROPIC_BASE_URL:_||"https://maas-coding-api.cn-huabei-1.xf-yun.com/anthropic",ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d,CC_PROVIDER:t.provider_type};break;case"custom":n.env={ANTHROPIC_API_KEY:t.api_key,ANTHROPIC_BASE_URL:_||"",ANTHROPIC_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:c,ANTHROPIC_DEFAULT_HAIKU_MODEL:d,CC_PROVIDER:t.name};break;default:n.env={ANTHROPIC_API_KEY:t.api_key,ANTHROPIC_BASE_URL:_,ANTHROPIC_MODEL:r,CC_PROVIDER:t.provider_type}}const p=i.dirname(this.claudeSettingsFile);e.existsSync(p)||e.mkdirSync(p,{recursive:!0}),e.writeFileSync(this.claudeSettingsFile,JSON.stringify(n,null,2))}resetToClaudeDefault(){const t=this.loadConfig();t.current_provider_id=void 0,this.saveConfig(t);const n=i.dirname(this.claudeSettingsFile);e.existsSync(n)||e.mkdirSync(n,{recursive:!0}),e.writeFileSync(this.claudeSettingsFile,JSON.stringify({env:{ANTHROPIC_API_KEY:""}},null,2))}exportConfig(){return this.loadConfig()}importConfig(e){if(this.saveConfig(e),e.current_provider_id){const i=e.providers.find(i=>i.id===e.current_provider_id);i&&this.applyProviderToClaudeSettings(i)}}}export function getDefaultBaseUrl(e){return o[e]}export function getDefaultModel(e){return a[e]}export function createProvider(e,i,t,r,o){const a=getDefaultModel(e),_=o&&o.length>0?o:a?[a]:[];return{id:n(),name:i,provider_type:e,api_key:t||"",base_url:r||getDefaultBaseUrl(e),models:_,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString()}}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"/Users/qiutian00lw/Code/cckit_cli/cckit-node/dist/config.js","names":["fs","path","homedir","uuidv4","APP_VERSION","DEFAULT_BASE_URLS","zhipu","minimax","kimi","zenmux","streamlake","volcengine","aliyun","tencent","xfyun","DEFAULT_MODELS","claude","ConfigManager","constructor","homeDir","this","configDir","join","configFile","claudeSettingsFile","initialize","existsSync","mkdirSync","recursive","defaultConfig","providers","version","created_at","Date","toISOString","updated_at","saveConfig","loadConfig","content","readFileSync","JSON","parse","error","config","writeFileSync","stringify","listProviders","saveProvider","provider","index","findIndex","p","id","push","getCurrentProvider","current_provider_id","find","switchProvider","providerId","Error","applyProviderToClaudeSettings","updateCurrentProviderSettings","currentProvider","claudeSettings","env","activeModel","current_model","models","provider_type","baseUrl","base_url","opusModel","default_opus_model","sonnetModel","default_sonnet_model","haikuModel","default_haiku_model","ANTHROPIC_API_KEY","api_key","ANTHROPIC_AUTH_TOKEN","ANTHROPIC_BASE_URL","ANTHROPIC_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","CC_PROVIDER","CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC","name","claudeDir","dirname","resetToClaudeDefault","undefined","exportConfig","importConfig","importedConfig","getDefaultBaseUrl","providerType","getDefaultModel","createProvider","providerName","apiKey","defaultModel","modelList","length"],"sources":["../src/config.ts"],"mappings":"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","ignoreList":[]}
package/dist/i18n.d.ts CHANGED
@@ -35,6 +35,7 @@ export declare const i18n: {
35
35
  configuration_label: () => string;
36
36
  switching: () => string;
37
37
  resetting: () => string;
38
+ provider_label: () => string;
38
39
  };
39
40
  providers: {
40
41
  get_display_name: (type: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAO1B,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAM9C;AAYD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AA+ID,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAgBrD;AAED,eAAO,MAAM,IAAI;;;;;;kCAMa,MAAM;;+BAET,MAAM;kCACH,MAAM;;gCAER,MAAM;+BACP,MAAM;+BACN,MAAM;;;;;;;;;;;;;;;;;;;;;;iCAsBJ,MAAM;;;mCAGJ,MAAM;iCACR,MAAM;qCACF,MAAM;;;oCAGP,MAAM;;;;;;;;0CAQA,MAAM;;;2BAGrB,MAAM;6BACJ,MAAM;;;;CAI9B,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAO1B,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAM9C;AAYD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAqJD,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAgBrD;AAED,eAAO,MAAM,IAAI;;;;;;kCAMa,MAAM;;+BAET,MAAM;kCACH,MAAM;;gCAER,MAAM;+BACP,MAAM;+BACN,MAAM;;;;;;;;;;;;;;;;;;;;;;;iCAuBJ,MAAM;;;mCAGJ,MAAM;iCACR,MAAM;qCACF,MAAM;;;oCAGP,MAAM;;;;;;;;0CAQA,MAAM;;;2BAGrB,MAAM;6BACJ,MAAM;;;;CAI9B,CAAC"}
package/dist/i18n.js CHANGED
@@ -1,239 +1 @@
1
- const SUPPORTED_LOCALES = ['en', 'zh'];
2
- const DEFAULT_LOCALE = 'en';
3
- let currentLocale = DEFAULT_LOCALE;
4
- export function initI18n(locale) {
5
- if (locale && SUPPORTED_LOCALES.includes(locale)) {
6
- currentLocale = locale;
7
- }
8
- else {
9
- currentLocale = detectSystemLocale();
10
- }
11
- }
12
- function detectSystemLocale() {
13
- try {
14
- const lang = process.env.LANG || '';
15
- if (lang.includes('zh')) {
16
- return 'zh';
17
- }
18
- }
19
- catch (e) { }
20
- return DEFAULT_LOCALE;
21
- }
22
- export function getCurrentLocale() {
23
- return currentLocale;
24
- }
25
- const translations = {
26
- en: {
27
- cli: {
28
- about: 'Code Kit for Claude Model Switching',
29
- long_about: 'A CLI tool for managing and switching between different Claude model providers and their configurations.',
30
- list_title: 'Model Providers',
31
- current_title: 'Current Provider',
32
- show_config_title: (name) => `Configuration: ${name}`,
33
- no_active_provider: 'No active provider configured',
34
- switch_success: (name) => `✓ Successfully switched to ${name}`,
35
- configure_success: (name) => `✓ Successfully configured ${name}`,
36
- restart_note: 'Please restart your terminal for changes to take effect',
37
- test_connection: (name) => `Testing connection to ${name}...`,
38
- export_success: (path) => `✓ Configuration exported to ${path}`,
39
- import_success: (file) => `✓ Configuration imported from ${file}`,
40
- reset_success: '✓ Reset to default Claude configuration',
41
- },
42
- status: {
43
- active: '[ACTIVE]',
44
- inactive: '[INACTIVE]',
45
- not_configured: 'NOT CONFIGURED',
46
- },
47
- general: {
48
- id_label: 'ID',
49
- name_label: 'Name',
50
- type_label: 'Type',
51
- model_label: 'Models',
52
- api_key_label: 'API Key',
53
- base_url_label: 'Base URL',
54
- created_label: 'Created',
55
- updated_label: 'Updated',
56
- configuration_label: 'Configuration',
57
- switching: 'Switching provider...',
58
- resetting: 'Resetting configuration...',
59
- },
60
- providers: {
61
- zhipu: '智谱LLM (Zhipu)',
62
- minimax: 'MiniMax',
63
- kimi: 'Kimi (Moonshot)',
64
- claude: 'Claude (Official)',
65
- zenmux: 'ZenMux.ai',
66
- streamlake: 'Kuaishou StreamLake',
67
- volcengine: 'Volcengine',
68
- aliyun: 'Aliyun Coding Plan',
69
- custom: 'Custom Provider',
70
- },
71
- errors: {
72
- provider_not_found: (name) => `Provider '${name}' not found`,
73
- unknown_provider: (name) => `Unknown provider '${name}'`,
74
- unsupported_provider: (type) => `Unsupported provider type '${type}'`,
75
- provider_not_configured: 'Provider is not configured with an API key',
76
- installation_failed: 'Failed to install Claude Code',
77
- npm_command_failed: (error) => `npm command failed: ${error}`,
78
- },
79
- claude_code: {
80
- not_installed: '⚠ Claude Code is not installed',
81
- install_prompt: 'Would you like to install it now? (y/n)',
82
- installing: 'Installing Claude Code...',
83
- install_success: '✓ Claude Code installed successfully!',
84
- install_failed: '✗ Failed to install Claude Code',
85
- installed_with_version: (version) => `Installed: ${version.trim()}`,
86
- npm_path_note: '(Note: Claude Code is installed but not in PATH)',
87
- npm_requirements: 'Please ensure Node.js and npm are installed and in your PATH',
88
- npm_error: (error) => `Error: ${error}`,
89
- check_error: (error) => error,
90
- skip_install_warning: 'Skipped installation. Some features may not work without Claude Code.',
91
- restart_terminal_note: '(Restart your terminal to use Claude Code)',
92
- },
93
- },
94
- zh: {
95
- cli: {
96
- about: '用于Claude模型切换的代码工具包',
97
- long_about: '一个用于管理和切换不同Claude模型提供商及其配置的CLI工具。',
98
- list_title: '模型提供商',
99
- current_title: '当前提供商',
100
- show_config_title: (name) => `配置: ${name}`,
101
- no_active_provider: '未配置活跃提供商',
102
- switch_success: (name) => `✓ 已成功切换至 ${name}`,
103
- configure_success: (name) => `✓ 已成功配置 ${name}`,
104
- restart_note: '请重启终端以使更改生效',
105
- test_connection: (name) => `正在测试连接到 ${name}...`,
106
- export_success: (path) => `✓ 配置已导出至 ${path}`,
107
- import_success: (file) => `✓ 配置已从 ${file} 导入`,
108
- reset_success: '✓ 已重置为默认Claude配置',
109
- },
110
- status: {
111
- active: '[活跃]',
112
- inactive: '[非活跃]',
113
- not_configured: '未配置',
114
- },
115
- general: {
116
- id_label: 'ID',
117
- name_label: '名称',
118
- type_label: '类型',
119
- model_label: '模型',
120
- api_key_label: 'API密钥',
121
- base_url_label: '基础URL',
122
- created_label: '创建时间',
123
- updated_label: '更新时间',
124
- configuration_label: '配置',
125
- switching: '正在切换提供商...',
126
- resetting: '正在重置配置...',
127
- },
128
- providers: {
129
- zhipu: '智谱LLM',
130
- minimax: 'MiniMax',
131
- kimi: 'Kimi (Moonshot)',
132
- claude: 'Claude (官方)',
133
- zenmux: 'ZenMux.ai',
134
- streamlake: '快手StreamLake',
135
- volcengine: '火山方舟',
136
- aliyun: '阿里云 Coding Plan',
137
- custom: '自定义提供商',
138
- },
139
- errors: {
140
- provider_not_found: (name) => `提供商 '${name}' 未找到`,
141
- unknown_provider: (name) => `未知提供商 '${name}'`,
142
- unsupported_provider: (type) => `不支持的提供商类型 '${type}'`,
143
- provider_not_configured: '提供商未配置API密钥',
144
- installation_failed: 'Claude Code安装失败',
145
- npm_command_failed: (error) => `npm命令失败: ${error}`,
146
- },
147
- claude_code: {
148
- not_installed: '⚠ Claude Code未安装',
149
- install_prompt: '您想现在安装吗? (y/n)',
150
- installing: '正在安装Claude Code...',
151
- install_success: '✓ Claude Code安装成功!',
152
- install_failed: '✗ Claude Code安装失败',
153
- installed_with_version: (version) => `已安装: ${version.trim()}`,
154
- npm_path_note: '(注意: Claude Code已安装但不在PATH中)',
155
- npm_requirements: '请确保已安装Node.js和npm,且在PATH中',
156
- npm_error: (error) => `错误: ${error}`,
157
- check_error: (error) => error,
158
- skip_install_warning: '跳过安装。没有Claude Code,某些功能可能无法工作。',
159
- restart_terminal_note: '(重启终端以使用Claude Code)',
160
- },
161
- },
162
- };
163
- export function t(key, ...args) {
164
- const keys = key.split('.');
165
- let value = translations[currentLocale];
166
- for (const k of keys) {
167
- if (typeof value === 'object' && k in value) {
168
- value = value[k];
169
- }
170
- else {
171
- return key;
172
- }
173
- }
174
- if (typeof value === 'function') {
175
- return value(...args);
176
- }
177
- return value;
178
- }
179
- export const i18n = {
180
- cli: {
181
- about: () => t('cli.about'),
182
- long_about: () => t('cli.long_about'),
183
- list_title: () => t('cli.list_title'),
184
- current_title: () => t('cli.current_title'),
185
- show_config_title: (name) => t('cli.show_config_title', name),
186
- no_active_provider: () => t('cli.no_active_provider'),
187
- switch_success: (name) => t('cli.switch_success', name),
188
- configure_success: (name) => t('cli.configure_success', name),
189
- restart_note: () => t('cli.restart_note'),
190
- test_connection: (name) => t('cli.test_connection', name),
191
- export_success: (path) => t('cli.export_success', path),
192
- import_success: (file) => t('cli.import_success', file),
193
- reset_success: () => t('cli.reset_success'),
194
- },
195
- status: {
196
- active: () => t('status.active'),
197
- inactive: () => t('status.inactive'),
198
- not_configured: () => t('status.not_configured'),
199
- },
200
- general: {
201
- id_label: () => t('general.id_label'),
202
- name_label: () => t('general.name_label'),
203
- type_label: () => t('general.type_label'),
204
- model_label: () => t('general.model_label'),
205
- api_key_label: () => t('general.api_key_label'),
206
- base_url_label: () => t('general.base_url_label'),
207
- created_label: () => t('general.created_label'),
208
- updated_label: () => t('general.updated_label'),
209
- configuration_label: () => t('general.configuration_label'),
210
- switching: () => t('general.switching'),
211
- resetting: () => t('general.resetting'),
212
- },
213
- providers: {
214
- get_display_name: (type) => t(`providers.${type}`, type),
215
- },
216
- errors: {
217
- provider_not_found: (name) => t('errors.provider_not_found', name),
218
- unknown_provider: (name) => t('errors.unknown_provider', name),
219
- unsupported_provider: (type) => t('errors.unsupported_provider', type),
220
- provider_not_configured: () => t('errors.provider_not_configured'),
221
- installation_failed: () => t('errors.installation_failed'),
222
- npm_command_failed: (error) => t('errors.npm_command_failed', error),
223
- },
224
- claude_code: {
225
- not_installed: () => t('claude_code.not_installed'),
226
- install_prompt: () => t('claude_code.install_prompt'),
227
- installing: () => t('claude_code.installing'),
228
- install_success: () => t('claude_code.install_success'),
229
- install_failed: () => t('claude_code.install_failed'),
230
- installed_with_version: (version) => t('claude_code.installed_with_version', version),
231
- npm_path_note: () => t('claude_code.npm_path_note'),
232
- npm_requirements: () => t('claude_code.npm_requirements'),
233
- npm_error: (error) => t('claude_code.npm_error', error),
234
- check_error: (error) => t('claude_code.check_error', error),
235
- skip_install_warning: () => t('claude_code.skip_install_warning'),
236
- restart_terminal_note: () => t('claude_code.restart_terminal_note'),
237
- },
238
- };
239
- //# sourceMappingURL=i18n.js.map
1
+ const e=["en","zh"],n="en";let i="en";export function initI18n(l){i=l&&e.includes(l)?l:function(){try{if((process.env.LANG||"").includes("zh"))return"zh"}catch(e){}return n}()}export function getCurrentLocale(){return i}const l={en:{cli:{about:"Code Kit for Claude Model Switching",long_about:"A CLI tool for managing and switching between different Claude model providers and their configurations.",list_title:"Model Providers",current_title:"Current Provider",show_config_title:e=>`Configuration: ${e}`,no_active_provider:"No active provider configured",switch_success:e=>`✓ Successfully switched to ${e}`,configure_success:e=>`✓ Successfully configured ${e}`,restart_note:"Please restart your terminal for changes to take effect",test_connection:e=>`Testing connection to ${e}...`,export_success:e=>`✓ Configuration exported to ${e}`,import_success:e=>`✓ Configuration imported from ${e}`,reset_success:"✓ Reset to default Claude configuration"},status:{active:"[ACTIVE]",inactive:"[INACTIVE]",not_configured:"NOT CONFIGURED"},general:{id_label:"ID",name_label:"Name",type_label:"Type",model_label:"Models",api_key_label:"API Key",base_url_label:"Base URL",created_label:"Created",updated_label:"Updated",configuration_label:"Configuration",switching:"Switching provider...",resetting:"Resetting configuration...",provider_label:"Provider"},providers:{zhipu:"智谱 Coding Plan",minimax:"MiniMax Coding Plan",kimi:"Kimi Coding Plan",claude:"Claude (Official)",zenmux:"ZenMux.ai",streamlake:"快手 StreamLake Coding Plan",volcengine:"火山引擎 Coding Plan",aliyun:"阿里云 Coding Plan",tencent:"腾讯云 Coding Plan",xfyun:"讯飞 Coding Plan",custom:"Custom Provider"},errors:{provider_not_found:e=>`Provider '${e}' not found`,unknown_provider:e=>`Unknown provider '${e}'`,unsupported_provider:e=>`Unsupported provider type '${e}'`,provider_not_configured:"Provider is not configured with an API key",installation_failed:"Failed to install Claude Code",npm_command_failed:e=>`npm command failed: ${e}`},claude_code:{not_installed:"⚠ Claude Code is not installed",install_prompt:"Would you like to install it now? (y/n)",installing:"Installing Claude Code...",install_success:"✓ Claude Code installed successfully!",install_failed:"✗ Failed to install Claude Code",installed_with_version:e=>`Installed: ${e.trim()}`,npm_path_note:"(Note: Claude Code is installed but not in PATH)",npm_requirements:"Please ensure Node.js and npm are installed and in your PATH",npm_error:e=>`Error: ${e}`,check_error:e=>e,skip_install_warning:"Skipped installation. Some features may not work without Claude Code.",restart_terminal_note:"(Restart your terminal to use Claude Code)"}},zh:{cli:{about:"用于Claude模型切换的代码工具包",long_about:"一个用于管理和切换不同Claude模型提供商及其配置的CLI工具。",list_title:"模型提供商",current_title:"当前提供商",show_config_title:e=>`配置: ${e}`,no_active_provider:"未配置活跃提供商",switch_success:e=>`✓ 已成功切换至 ${e}`,configure_success:e=>`✓ 已成功配置 ${e}`,restart_note:"请重启终端以使更改生效",test_connection:e=>`正在测试连接到 ${e}...`,export_success:e=>`✓ 配置已导出至 ${e}`,import_success:e=>`✓ 配置已从 ${e} 导入`,reset_success:"✓ 已重置为默认Claude配置"},status:{active:"[活跃]",inactive:"[非活跃]",not_configured:"未配置"},general:{id_label:"ID",name_label:"名称",type_label:"类型",model_label:"模型",api_key_label:"API密钥",base_url_label:"基础URL",created_label:"创建时间",updated_label:"更新时间",configuration_label:"配置",switching:"正在切换提供商...",resetting:"正在重置配置...",provider_label:"提供商"},providers:{zhipu:"智谱 Coding Plan",minimax:"MiniMax Coding Plan",kimi:"Kimi Coding Plan",claude:"Claude (官方)",zenmux:"ZenMux.ai",streamlake:"快手 StreamLake Coding Plan",volcengine:"火山引擎 Coding Plan",aliyun:"阿里云 Coding Plan",tencent:"腾讯云 Coding Plan",xfyun:"讯飞 Coding Plan",custom:"自定义提供商"},errors:{provider_not_found:e=>`提供商 '${e}' 未找到`,unknown_provider:e=>`未知提供商 '${e}'`,unsupported_provider:e=>`不支持的提供商类型 '${e}'`,provider_not_configured:"提供商未配置API密钥",installation_failed:"Claude Code安装失败",npm_command_failed:e=>`npm命令失败: ${e}`},claude_code:{not_installed:"⚠ Claude Code未安装",install_prompt:"您想现在安装吗? (y/n)",installing:"正在安装Claude Code...",install_success:"✓ Claude Code安装成功!",install_failed:"✗ Claude Code安装失败",installed_with_version:e=>`已安装: ${e.trim()}`,npm_path_note:"(注意: Claude Code已安装但不在PATH中)",npm_requirements:"请确保已安装Node.js和npm,且在PATH中",npm_error:e=>`错误: ${e}`,check_error:e=>e,skip_install_warning:"跳过安装。没有Claude Code,某些功能可能无法工作。",restart_terminal_note:"(重启终端以使用Claude Code)"}}};export function t(e,...n){const o=e.split(".");let a=l[i];for(const n of o){if("object"!=typeof a||!(n in a))return e;a=a[n]}return"function"==typeof a?a(...n):a}export const i18n={cli:{about:()=>t("cli.about"),long_about:()=>t("cli.long_about"),list_title:()=>t("cli.list_title"),current_title:()=>t("cli.current_title"),show_config_title:e=>t("cli.show_config_title",e),no_active_provider:()=>t("cli.no_active_provider"),switch_success:e=>t("cli.switch_success",e),configure_success:e=>t("cli.configure_success",e),restart_note:()=>t("cli.restart_note"),test_connection:e=>t("cli.test_connection",e),export_success:e=>t("cli.export_success",e),import_success:e=>t("cli.import_success",e),reset_success:()=>t("cli.reset_success")},status:{active:()=>t("status.active"),inactive:()=>t("status.inactive"),not_configured:()=>t("status.not_configured")},general:{id_label:()=>t("general.id_label"),name_label:()=>t("general.name_label"),type_label:()=>t("general.type_label"),model_label:()=>t("general.model_label"),api_key_label:()=>t("general.api_key_label"),base_url_label:()=>t("general.base_url_label"),created_label:()=>t("general.created_label"),updated_label:()=>t("general.updated_label"),configuration_label:()=>t("general.configuration_label"),switching:()=>t("general.switching"),resetting:()=>t("general.resetting"),provider_label:()=>t("general.provider_label")},providers:{get_display_name:e=>t(`providers.${e}`,e)},errors:{provider_not_found:e=>t("errors.provider_not_found",e),unknown_provider:e=>t("errors.unknown_provider",e),unsupported_provider:e=>t("errors.unsupported_provider",e),provider_not_configured:()=>t("errors.provider_not_configured"),installation_failed:()=>t("errors.installation_failed"),npm_command_failed:e=>t("errors.npm_command_failed",e)},claude_code:{not_installed:()=>t("claude_code.not_installed"),install_prompt:()=>t("claude_code.install_prompt"),installing:()=>t("claude_code.installing"),install_success:()=>t("claude_code.install_success"),install_failed:()=>t("claude_code.install_failed"),installed_with_version:e=>t("claude_code.installed_with_version",e),npm_path_note:()=>t("claude_code.npm_path_note"),npm_requirements:()=>t("claude_code.npm_requirements"),npm_error:e=>t("claude_code.npm_error",e),check_error:e=>t("claude_code.check_error",e),skip_install_warning:()=>t("claude_code.skip_install_warning"),restart_terminal_note:()=>t("claude_code.restart_terminal_note")}};