cckit 0.1.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 ADDED
@@ -0,0 +1,207 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { homedir } from 'os';
4
+ import { v4 as uuidv4 } from 'uuid';
5
+ const DEFAULT_BASE_URLS = {
6
+ zhipu: 'https://open.bigmodel.cn/api/anthropic',
7
+ minimax: 'https://api.minimaxi.com/anthropic',
8
+ kimi: 'https://api.kimi.com/coding/',
9
+ zenmux: 'https://zenmux.ai/api/anthropic',
10
+ };
11
+ const DEFAULT_MODELS = {
12
+ zhipu: 'GLM-4.6',
13
+ minimax: 'MiniMax-M2',
14
+ kimi: 'kimi-for-coding',
15
+ zenmux: 'claude-3-5-sonnet-20241022',
16
+ claude: 'claude-3-5-sonnet-20241022',
17
+ };
18
+ export class ConfigManager {
19
+ constructor() {
20
+ const homeDir = homedir();
21
+ this.configDir = path.join(homeDir, '.cckit');
22
+ this.configFile = path.join(this.configDir, 'config.json');
23
+ this.claudeSettingsFile = path.join(homeDir, '.claude', 'settings.json');
24
+ }
25
+ initialize() {
26
+ if (!fs.existsSync(this.configDir)) {
27
+ fs.mkdirSync(this.configDir, { recursive: true });
28
+ }
29
+ if (!fs.existsSync(this.configFile)) {
30
+ const defaultConfig = {
31
+ providers: [],
32
+ version: '0.1.1',
33
+ created_at: new Date().toISOString(),
34
+ updated_at: new Date().toISOString(),
35
+ };
36
+ this.saveConfig(defaultConfig);
37
+ }
38
+ }
39
+ loadConfig() {
40
+ if (!fs.existsSync(this.configFile)) {
41
+ return {
42
+ providers: [],
43
+ version: '0.1.1',
44
+ created_at: new Date().toISOString(),
45
+ updated_at: new Date().toISOString(),
46
+ };
47
+ }
48
+ try {
49
+ const content = fs.readFileSync(this.configFile, 'utf-8');
50
+ return JSON.parse(content);
51
+ }
52
+ catch (error) {
53
+ return {
54
+ providers: [],
55
+ version: '0.1.1',
56
+ created_at: new Date().toISOString(),
57
+ updated_at: new Date().toISOString(),
58
+ };
59
+ }
60
+ }
61
+ saveConfig(config) {
62
+ config.updated_at = new Date().toISOString();
63
+ fs.writeFileSync(this.configFile, JSON.stringify(config, null, 2));
64
+ }
65
+ listProviders() {
66
+ const config = this.loadConfig();
67
+ return config.providers;
68
+ }
69
+ saveProvider(provider) {
70
+ const config = this.loadConfig();
71
+ const index = config.providers.findIndex((p) => p.provider_type === provider.provider_type);
72
+ if (index >= 0) {
73
+ config.providers[index] = provider;
74
+ }
75
+ else {
76
+ config.providers.push(provider);
77
+ }
78
+ this.saveConfig(config);
79
+ }
80
+ getCurrentProvider() {
81
+ const config = this.loadConfig();
82
+ if (config.current_provider_id) {
83
+ return config.providers.find((p) => p.id === config.current_provider_id);
84
+ }
85
+ return undefined;
86
+ }
87
+ switchProvider(providerId) {
88
+ const config = this.loadConfig();
89
+ const provider = config.providers.find((p) => p.id === providerId);
90
+ if (!provider) {
91
+ throw new Error(`Provider with id '${providerId}' not found`);
92
+ }
93
+ config.current_provider_id = providerId;
94
+ this.saveConfig(config);
95
+ this.applyProviderToClaudeSettings(provider);
96
+ }
97
+ applyProviderToClaudeSettings(provider) {
98
+ let claudeSettings = { env: {} };
99
+ if (fs.existsSync(this.claudeSettingsFile)) {
100
+ try {
101
+ const content = fs.readFileSync(this.claudeSettingsFile, 'utf-8');
102
+ claudeSettings = JSON.parse(content);
103
+ }
104
+ catch (error) {
105
+ claudeSettings = { env: {} };
106
+ }
107
+ }
108
+ const activeModel = provider.current_model || provider.models[0] || DEFAULT_MODELS[provider.provider_type] || 'claude-3-5-sonnet-20241022';
109
+ const baseUrl = provider.base_url || DEFAULT_BASE_URLS[provider.provider_type] || '';
110
+ switch (provider.provider_type) {
111
+ case 'claude':
112
+ claudeSettings.env = {
113
+ ANTHROPIC_API_KEY: provider.api_key,
114
+ };
115
+ break;
116
+ case 'zhipu':
117
+ case 'minimax':
118
+ claudeSettings.env = {
119
+ ANTHROPIC_AUTH_TOKEN: provider.api_key,
120
+ ANTHROPIC_BASE_URL: baseUrl,
121
+ ANTHROPIC_MODEL: activeModel,
122
+ };
123
+ break;
124
+ case 'kimi':
125
+ claudeSettings.env = {
126
+ ANTHROPIC_API_KEY: provider.api_key,
127
+ ANTHROPIC_BASE_URL: baseUrl,
128
+ ANTHROPIC_MODEL: activeModel,
129
+ ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
130
+ ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
131
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
132
+ };
133
+ break;
134
+ case 'zenmux':
135
+ claudeSettings.env = {
136
+ ANTHROPIC_API_KEY: provider.api_key,
137
+ ANTHROPIC_BASE_URL: baseUrl || 'https://zenmux.ai/api/anthropic',
138
+ ANTHROPIC_MODEL: activeModel,
139
+ ANTHROPIC_DEFAULT_OPUS_MODEL: activeModel,
140
+ ANTHROPIC_DEFAULT_SONNET_MODEL: activeModel,
141
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: activeModel,
142
+ CC_PROVIDER: provider.provider_type,
143
+ };
144
+ break;
145
+ default:
146
+ claudeSettings.env = {
147
+ ANTHROPIC_API_KEY: provider.api_key,
148
+ ANTHROPIC_BASE_URL: baseUrl,
149
+ ANTHROPIC_MODEL: activeModel,
150
+ CC_PROVIDER: provider.provider_type,
151
+ };
152
+ }
153
+ const claudeDir = path.dirname(this.claudeSettingsFile);
154
+ if (!fs.existsSync(claudeDir)) {
155
+ fs.mkdirSync(claudeDir, { recursive: true });
156
+ }
157
+ fs.writeFileSync(this.claudeSettingsFile, JSON.stringify(claudeSettings, null, 2));
158
+ }
159
+ resetToClaudeDefault() {
160
+ const config = this.loadConfig();
161
+ config.current_provider_id = undefined;
162
+ this.saveConfig(config);
163
+ const claudeSettings = {
164
+ env: {
165
+ ANTHROPIC_API_KEY: '',
166
+ },
167
+ };
168
+ const claudeDir = path.dirname(this.claudeSettingsFile);
169
+ if (!fs.existsSync(claudeDir)) {
170
+ fs.mkdirSync(claudeDir, { recursive: true });
171
+ }
172
+ fs.writeFileSync(this.claudeSettingsFile, JSON.stringify(claudeSettings, null, 2));
173
+ }
174
+ exportConfig() {
175
+ return this.loadConfig();
176
+ }
177
+ importConfig(importedConfig) {
178
+ this.saveConfig(importedConfig);
179
+ if (importedConfig.current_provider_id) {
180
+ const provider = importedConfig.providers.find((p) => p.id === importedConfig.current_provider_id);
181
+ if (provider) {
182
+ this.applyProviderToClaudeSettings(provider);
183
+ }
184
+ }
185
+ }
186
+ }
187
+ export function getDefaultBaseUrl(providerType) {
188
+ return DEFAULT_BASE_URLS[providerType];
189
+ }
190
+ export function getDefaultModel(providerType) {
191
+ return DEFAULT_MODELS[providerType];
192
+ }
193
+ export function createProvider(providerType, providerName, apiKey, baseUrl, models) {
194
+ const defaultModel = getDefaultModel(providerType);
195
+ const modelList = models && models.length > 0 ? models : (defaultModel ? [defaultModel] : []);
196
+ return {
197
+ id: uuidv4(),
198
+ name: providerName,
199
+ provider_type: providerType,
200
+ api_key: apiKey || '',
201
+ base_url: baseUrl || getDefaultBaseUrl(providerType),
202
+ models: modelList,
203
+ created_at: new Date().toISOString(),
204
+ updated_at: new Date().toISOString(),
205
+ };
206
+ }
207
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,66 @@
1
+ type Locale = 'en' | 'zh';
2
+ export declare function initI18n(locale?: string): void;
3
+ export declare function getCurrentLocale(): Locale;
4
+ export declare function t(key: string, ...args: any[]): string;
5
+ export declare const i18n: {
6
+ cli: {
7
+ about: () => string;
8
+ long_about: () => string;
9
+ list_title: () => string;
10
+ current_title: () => string;
11
+ show_config_title: (name: string) => string;
12
+ no_active_provider: () => string;
13
+ switch_success: (name: string) => string;
14
+ configure_success: (name: string) => string;
15
+ restart_note: () => string;
16
+ test_connection: (name: string) => string;
17
+ export_success: (path: string) => string;
18
+ import_success: (file: string) => string;
19
+ reset_success: () => string;
20
+ };
21
+ status: {
22
+ active: () => string;
23
+ inactive: () => string;
24
+ not_configured: () => string;
25
+ };
26
+ general: {
27
+ id_label: () => string;
28
+ name_label: () => string;
29
+ type_label: () => string;
30
+ model_label: () => string;
31
+ api_key_label: () => string;
32
+ base_url_label: () => string;
33
+ created_label: () => string;
34
+ updated_label: () => string;
35
+ configuration_label: () => string;
36
+ switching: () => string;
37
+ resetting: () => string;
38
+ };
39
+ providers: {
40
+ get_display_name: (type: string) => string;
41
+ };
42
+ errors: {
43
+ provider_not_found: (name: string) => string;
44
+ unknown_provider: (name: string) => string;
45
+ unsupported_provider: (type: string) => string;
46
+ provider_not_configured: () => string;
47
+ installation_failed: () => string;
48
+ npm_command_failed: (error: string) => string;
49
+ };
50
+ claude_code: {
51
+ not_installed: () => string;
52
+ install_prompt: () => string;
53
+ installing: () => string;
54
+ install_success: () => string;
55
+ install_failed: () => string;
56
+ installed_with_version: (version: string) => string;
57
+ npm_path_note: () => string;
58
+ npm_requirements: () => string;
59
+ npm_error: (error: string) => string;
60
+ check_error: (error: string) => string;
61
+ skip_install_warning: () => string;
62
+ restart_terminal_note: () => string;
63
+ };
64
+ };
65
+ export {};
66
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +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;AAuID,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"}
package/dist/i18n.js ADDED
@@ -0,0 +1,231 @@
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
+ },
67
+ errors: {
68
+ provider_not_found: (name) => `Provider '${name}' not found`,
69
+ unknown_provider: (name) => `Unknown provider '${name}'`,
70
+ unsupported_provider: (type) => `Unsupported provider type '${type}'`,
71
+ provider_not_configured: 'Provider is not configured with an API key',
72
+ installation_failed: 'Failed to install Claude Code',
73
+ npm_command_failed: (error) => `npm command failed: ${error}`,
74
+ },
75
+ claude_code: {
76
+ not_installed: '⚠ Claude Code is not installed',
77
+ install_prompt: 'Would you like to install it now? (y/n)',
78
+ installing: 'Installing Claude Code...',
79
+ install_success: '✓ Claude Code installed successfully!',
80
+ install_failed: '✗ Failed to install Claude Code',
81
+ installed_with_version: (version) => `Installed: ${version.trim()}`,
82
+ npm_path_note: '(Note: Claude Code is installed but not in PATH)',
83
+ npm_requirements: 'Please ensure Node.js and npm are installed and in your PATH',
84
+ npm_error: (error) => `Error: ${error}`,
85
+ check_error: (error) => error,
86
+ skip_install_warning: 'Skipped installation. Some features may not work without Claude Code.',
87
+ restart_terminal_note: '(Restart your terminal to use Claude Code)',
88
+ },
89
+ },
90
+ zh: {
91
+ cli: {
92
+ about: '用于Claude模型切换的代码工具包',
93
+ long_about: '一个用于管理和切换不同Claude模型提供商及其配置的CLI工具。',
94
+ list_title: '模型提供商',
95
+ current_title: '当前提供商',
96
+ show_config_title: (name) => `配置: ${name}`,
97
+ no_active_provider: '未配置活跃提供商',
98
+ switch_success: (name) => `✓ 已成功切换至 ${name}`,
99
+ configure_success: (name) => `✓ 已成功配置 ${name}`,
100
+ restart_note: '请重启终端以使更改生效',
101
+ test_connection: (name) => `正在测试连接到 ${name}...`,
102
+ export_success: (path) => `✓ 配置已导出至 ${path}`,
103
+ import_success: (file) => `✓ 配置已从 ${file} 导入`,
104
+ reset_success: '✓ 已重置为默认Claude配置',
105
+ },
106
+ status: {
107
+ active: '[活跃]',
108
+ inactive: '[非活跃]',
109
+ not_configured: '未配置',
110
+ },
111
+ general: {
112
+ id_label: 'ID',
113
+ name_label: '名称',
114
+ type_label: '类型',
115
+ model_label: '模型',
116
+ api_key_label: 'API密钥',
117
+ base_url_label: '基础URL',
118
+ created_label: '创建时间',
119
+ updated_label: '更新时间',
120
+ configuration_label: '配置',
121
+ switching: '正在切换提供商...',
122
+ resetting: '正在重置配置...',
123
+ },
124
+ providers: {
125
+ zhipu: '智谱LLM',
126
+ minimax: 'MiniMax',
127
+ kimi: 'Kimi (Moonshot)',
128
+ claude: 'Claude (官方)',
129
+ zenmux: 'ZenMux.ai',
130
+ },
131
+ errors: {
132
+ provider_not_found: (name) => `提供商 '${name}' 未找到`,
133
+ unknown_provider: (name) => `未知提供商 '${name}'`,
134
+ unsupported_provider: (type) => `不支持的提供商类型 '${type}'`,
135
+ provider_not_configured: '提供商未配置API密钥',
136
+ installation_failed: 'Claude Code安装失败',
137
+ npm_command_failed: (error) => `npm命令失败: ${error}`,
138
+ },
139
+ claude_code: {
140
+ not_installed: '⚠ Claude Code未安装',
141
+ install_prompt: '您想现在安装吗? (y/n)',
142
+ installing: '正在安装Claude Code...',
143
+ install_success: '✓ Claude Code安装成功!',
144
+ install_failed: '✗ Claude Code安装失败',
145
+ installed_with_version: (version) => `已安装: ${version.trim()}`,
146
+ npm_path_note: '(注意: Claude Code已安装但不在PATH中)',
147
+ npm_requirements: '请确保已安装Node.js和npm,且在PATH中',
148
+ npm_error: (error) => `错误: ${error}`,
149
+ check_error: (error) => error,
150
+ skip_install_warning: '跳过安装。没有Claude Code,某些功能可能无法工作。',
151
+ restart_terminal_note: '(重启终端以使用Claude Code)',
152
+ },
153
+ },
154
+ };
155
+ export function t(key, ...args) {
156
+ const keys = key.split('.');
157
+ let value = translations[currentLocale];
158
+ for (const k of keys) {
159
+ if (typeof value === 'object' && k in value) {
160
+ value = value[k];
161
+ }
162
+ else {
163
+ return key;
164
+ }
165
+ }
166
+ if (typeof value === 'function') {
167
+ return value(...args);
168
+ }
169
+ return value;
170
+ }
171
+ export const i18n = {
172
+ cli: {
173
+ about: () => t('cli.about'),
174
+ long_about: () => t('cli.long_about'),
175
+ list_title: () => t('cli.list_title'),
176
+ current_title: () => t('cli.current_title'),
177
+ show_config_title: (name) => t('cli.show_config_title', name),
178
+ no_active_provider: () => t('cli.no_active_provider'),
179
+ switch_success: (name) => t('cli.switch_success', name),
180
+ configure_success: (name) => t('cli.configure_success', name),
181
+ restart_note: () => t('cli.restart_note'),
182
+ test_connection: (name) => t('cli.test_connection', name),
183
+ export_success: (path) => t('cli.export_success', path),
184
+ import_success: (file) => t('cli.import_success', file),
185
+ reset_success: () => t('cli.reset_success'),
186
+ },
187
+ status: {
188
+ active: () => t('status.active'),
189
+ inactive: () => t('status.inactive'),
190
+ not_configured: () => t('status.not_configured'),
191
+ },
192
+ general: {
193
+ id_label: () => t('general.id_label'),
194
+ name_label: () => t('general.name_label'),
195
+ type_label: () => t('general.type_label'),
196
+ model_label: () => t('general.model_label'),
197
+ api_key_label: () => t('general.api_key_label'),
198
+ base_url_label: () => t('general.base_url_label'),
199
+ created_label: () => t('general.created_label'),
200
+ updated_label: () => t('general.updated_label'),
201
+ configuration_label: () => t('general.configuration_label'),
202
+ switching: () => t('general.switching'),
203
+ resetting: () => t('general.resetting'),
204
+ },
205
+ providers: {
206
+ get_display_name: (type) => t(`providers.${type}`, type),
207
+ },
208
+ errors: {
209
+ provider_not_found: (name) => t('errors.provider_not_found', name),
210
+ unknown_provider: (name) => t('errors.unknown_provider', name),
211
+ unsupported_provider: (type) => t('errors.unsupported_provider', type),
212
+ provider_not_configured: () => t('errors.provider_not_configured'),
213
+ installation_failed: () => t('errors.installation_failed'),
214
+ npm_command_failed: (error) => t('errors.npm_command_failed', error),
215
+ },
216
+ claude_code: {
217
+ not_installed: () => t('claude_code.not_installed'),
218
+ install_prompt: () => t('claude_code.install_prompt'),
219
+ installing: () => t('claude_code.installing'),
220
+ install_success: () => t('claude_code.install_success'),
221
+ install_failed: () => t('claude_code.install_failed'),
222
+ installed_with_version: (version) => t('claude_code.installed_with_version', version),
223
+ npm_path_note: () => t('claude_code.npm_path_note'),
224
+ npm_requirements: () => t('claude_code.npm_requirements'),
225
+ npm_error: (error) => t('claude_code.npm_error', error),
226
+ check_error: (error) => t('claude_code.check_error', error),
227
+ skip_install_warning: () => t('claude_code.skip_install_warning'),
228
+ restart_terminal_note: () => t('claude_code.restart_terminal_note'),
229
+ },
230
+ };
231
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}