@supertiny99/cc-switch 1.0.1 → 1.0.2

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/index.js CHANGED
@@ -8,7 +8,9 @@ const commander_1 = require("commander");
8
8
  const quick_select_1 = require("./ui/quick-select");
9
9
  const loader_1 = require("./lib/config/loader");
10
10
  const writer_1 = require("./lib/config/writer");
11
+ const creator_1 = require("./lib/config/creator");
11
12
  const chalk_1 = __importDefault(require("chalk"));
13
+ const prompts_1 = __importDefault(require("prompts"));
12
14
  const program = new commander_1.Command();
13
15
  program
14
16
  .name('cc-switch')
@@ -19,15 +21,56 @@ program
19
21
  await (0, quick_select_1.quickSelect)();
20
22
  });
21
23
  program
22
- .command('use <profile-id>')
24
+ .command('use')
23
25
  .description('Switch to a provider profile')
24
- .action(async (profileId) => {
26
+ .action(async () => {
25
27
  try {
28
+ const profiles = await (0, loader_1.listProfiles)();
29
+ if (profiles.length === 0) {
30
+ console.log(chalk_1.default.yellow('No profiles found. Run: cc-switch add'));
31
+ return;
32
+ }
33
+ const settings = await (0, loader_1.loadSettings)();
34
+ const current = (0, loader_1.getCurrentProvider)(settings);
35
+ const { profileId } = await (0, prompts_1.default)({
36
+ type: 'select',
37
+ name: 'profileId',
38
+ message: 'Select profile:',
39
+ choices: profiles.map(p => ({
40
+ title: `${p.id === current ? '✓ ' : ''}${p.icon} ${p.name}`,
41
+ description: p.description || p.id,
42
+ value: p.id
43
+ }))
44
+ });
45
+ if (!profileId) {
46
+ console.log(chalk_1.default.yellow('Cancelled'));
47
+ return;
48
+ }
26
49
  const profile = await (0, loader_1.loadProfile)(profileId);
27
50
  await (0, writer_1.applyProfile)(profile);
28
- console.log(chalk_1.default.green(`✓ Switched to ${profile.name}`));
51
+ // Build detailed output
52
+ const baseUrl = profile.config.env.ANTHROPIC_BASE_URL;
53
+ const haikuModel = profile.config.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
54
+ const sonnetModel = profile.config.env.ANTHROPIC_DEFAULT_SONNET_MODEL;
55
+ const opusModel = profile.config.env.ANTHROPIC_DEFAULT_OPUS_MODEL;
56
+ console.log('');
57
+ console.log(chalk_1.default.green(` ${profile.icon || '📦'} Switched to ${profile.name}`));
58
+ console.log(chalk_1.default.gray(' ──────────────────────────────────────'));
59
+ if (baseUrl)
60
+ console.log(chalk_1.default.gray(` Base URL: ${baseUrl}`));
61
+ if (haikuModel)
62
+ console.log(chalk_1.default.gray(` Haiku: ${haikuModel}`));
63
+ if (sonnetModel)
64
+ console.log(chalk_1.default.gray(` Sonnet: ${sonnetModel}`));
65
+ if (opusModel)
66
+ console.log(chalk_1.default.gray(` Opus: ${opusModel}`));
67
+ console.log('');
29
68
  }
30
69
  catch (err) {
70
+ if (err.message === 'User cancelled') {
71
+ console.log(chalk_1.default.yellow('Cancelled'));
72
+ return;
73
+ }
31
74
  console.error(chalk_1.default.red(`Error: ${err.message}`));
32
75
  process.exit(1);
33
76
  }
@@ -70,6 +113,12 @@ program
70
113
  console.log(` Haiku Model: ${chalk_1.default.gray(settings.env?.ANTHROPIC_DEFAULT_HAIKU_MODEL || 'default')}`);
71
114
  console.log(` Sonnet Model: ${chalk_1.default.gray(settings.env?.ANTHROPIC_DEFAULT_SONNET_MODEL || 'default')}`);
72
115
  console.log(` Opus Model: ${chalk_1.default.gray(settings.env?.ANTHROPIC_DEFAULT_OPUS_MODEL || 'default')}`);
116
+ // Try to find and display the profile description
117
+ const profiles = await (0, loader_1.listProfiles)();
118
+ const currentProfile = profiles.find(p => p.id === current);
119
+ if (currentProfile?.description) {
120
+ console.log(` Description: ${chalk_1.default.gray(currentProfile.description)}`);
121
+ }
73
122
  }
74
123
  catch (err) {
75
124
  console.error(chalk_1.default.red(`Error: ${err.message}`));
@@ -107,5 +156,306 @@ program
107
156
  process.exit(1);
108
157
  }
109
158
  });
159
+ program
160
+ .command('add')
161
+ .description('Add a new provider profile')
162
+ .action(async () => {
163
+ try {
164
+ console.log(chalk_1.default.bold('\n📝 Add a new provider profile\n'));
165
+ const { preset } = await (0, prompts_1.default)({
166
+ type: 'select',
167
+ name: 'preset',
168
+ message: 'Select provider type:',
169
+ choices: creator_1.PROVIDER_PRESETS.map(p => ({
170
+ title: `${p.icon} ${p.name}`,
171
+ description: p.description,
172
+ value: p.id
173
+ }))
174
+ });
175
+ if (!preset)
176
+ return;
177
+ const selectedPreset = creator_1.PROVIDER_PRESETS.find(p => p.id === preset);
178
+ // Ask for token
179
+ const { token } = await (0, prompts_1.default)({
180
+ type: 'password',
181
+ name: 'token',
182
+ message: 'Enter API token:',
183
+ validate: (val) => val.trim().length > 0 || 'Token is required'
184
+ });
185
+ if (!token)
186
+ return;
187
+ // Custom profile requires base URL
188
+ let customBaseUrl = selectedPreset.baseUrl;
189
+ if (preset === 'custom') {
190
+ const { baseUrl } = await (0, prompts_1.default)({
191
+ type: 'text',
192
+ name: 'baseUrl',
193
+ message: 'Enter base API URL:',
194
+ validate: (val) => val.trim().length > 0 || 'Base URL is required'
195
+ });
196
+ if (!baseUrl)
197
+ return;
198
+ customBaseUrl = baseUrl;
199
+ }
200
+ // Ask for custom name
201
+ const { useCustomName } = await (0, prompts_1.default)({
202
+ type: 'confirm',
203
+ name: 'useCustomName',
204
+ message: 'Use custom profile name?',
205
+ initial: false
206
+ });
207
+ let customName = '';
208
+ if (useCustomName) {
209
+ const { name } = await (0, prompts_1.default)({
210
+ type: 'text',
211
+ name: 'name',
212
+ message: 'Enter profile name:',
213
+ validate: (val) => val.trim().length > 0 || 'Name is required'
214
+ });
215
+ if (!name)
216
+ return;
217
+ customName = name;
218
+ }
219
+ // Check for existing profile
220
+ const profileId = (0, creator_1.sanitizeId)(customName || selectedPreset.id);
221
+ if (await (0, creator_1.profileExists)(profileId)) {
222
+ const { overwrite } = await (0, prompts_1.default)({
223
+ type: 'confirm',
224
+ name: 'overwrite',
225
+ message: `Profile "${profileId}" already exists. Overwrite?`,
226
+ initial: false
227
+ });
228
+ if (!overwrite) {
229
+ console.log(chalk_1.default.yellow('Cancelled'));
230
+ return;
231
+ }
232
+ }
233
+ // Optional: Custom models
234
+ const { customizeModels } = await (0, prompts_1.default)({
235
+ type: 'confirm',
236
+ name: 'customizeModels',
237
+ message: 'Customize model names?',
238
+ initial: false
239
+ });
240
+ let customHaiku;
241
+ let customSonnet;
242
+ let customOpus;
243
+ if (customizeModels) {
244
+ const models = await (0, prompts_1.default)([
245
+ {
246
+ type: 'text',
247
+ name: 'haiku',
248
+ message: 'Haiku model name:',
249
+ initial: selectedPreset.defaultModels?.haiku
250
+ },
251
+ {
252
+ type: 'text',
253
+ name: 'sonnet',
254
+ message: 'Sonnet model name:',
255
+ initial: selectedPreset.defaultModels?.sonnet
256
+ },
257
+ {
258
+ type: 'text',
259
+ name: 'opus',
260
+ message: 'Opus model name:',
261
+ initial: selectedPreset.defaultModels?.opus
262
+ }
263
+ ]);
264
+ customHaiku = models.haiku;
265
+ customSonnet = models.sonnet;
266
+ customOpus = models.opus;
267
+ }
268
+ // Create profile
269
+ const profile = (0, creator_1.createProfileFromPreset)(selectedPreset, token, {
270
+ customName: customName || undefined,
271
+ customBaseUrl,
272
+ customHaiku,
273
+ customSonnet,
274
+ customOpus
275
+ });
276
+ // Save profile
277
+ await (0, creator_1.saveProfile)(profile);
278
+ console.log(chalk_1.default.green(`\n✓ Profile "${profile.name}" (${profile.id}) created successfully!`));
279
+ console.log(chalk_1.default.gray(` Run: cc-switch use ${profile.id}`));
280
+ }
281
+ catch (err) {
282
+ if (err.message === 'User cancelled') {
283
+ console.log(chalk_1.default.yellow('\nCancelled'));
284
+ return;
285
+ }
286
+ console.error(chalk_1.default.red(`Error: ${err.message}`));
287
+ process.exit(1);
288
+ }
289
+ });
290
+ program
291
+ .command('delete')
292
+ .alias('rm')
293
+ .description('Delete a provider profile')
294
+ .action(async () => {
295
+ try {
296
+ const profiles = await (0, loader_1.listProfiles)();
297
+ if (profiles.length === 0) {
298
+ console.log(chalk_1.default.yellow('No profiles found.'));
299
+ return;
300
+ }
301
+ const { profileId } = await (0, prompts_1.default)({
302
+ type: 'select',
303
+ name: 'profileId',
304
+ message: 'Select profile to delete:',
305
+ choices: profiles.map(p => ({
306
+ title: `${p.icon} ${p.name}`,
307
+ description: `${p.id}${p.description ? ' - ' + p.description : ''}`,
308
+ value: p.id
309
+ }))
310
+ });
311
+ if (!profileId) {
312
+ console.log(chalk_1.default.yellow('Cancelled'));
313
+ return;
314
+ }
315
+ const profile = profiles.find(p => p.id === profileId);
316
+ // Confirm deletion
317
+ const { confirm } = await (0, prompts_1.default)({
318
+ type: 'confirm',
319
+ name: 'confirm',
320
+ message: `Delete profile "${profile.icon} ${profile.name}" (${profile.id})?`,
321
+ initial: false
322
+ });
323
+ if (!confirm) {
324
+ console.log(chalk_1.default.yellow('Cancelled'));
325
+ return;
326
+ }
327
+ await (0, writer_1.deleteProfile)(profileId);
328
+ console.log(chalk_1.default.green(`✓ Deleted profile "${profile.name}" (${profileId})`));
329
+ }
330
+ catch (err) {
331
+ if (err.message === 'User cancelled') {
332
+ console.log(chalk_1.default.yellow('Cancelled'));
333
+ return;
334
+ }
335
+ console.error(chalk_1.default.red(`Error: ${err.message}`));
336
+ process.exit(1);
337
+ }
338
+ });
339
+ program
340
+ .command('edit')
341
+ .alias('modify')
342
+ .description('Edit an existing provider profile')
343
+ .action(async () => {
344
+ try {
345
+ const profiles = await (0, loader_1.listProfiles)();
346
+ if (profiles.length === 0) {
347
+ console.log(chalk_1.default.yellow('No profiles found.'));
348
+ return;
349
+ }
350
+ const { profileId } = await (0, prompts_1.default)({
351
+ type: 'select',
352
+ name: 'profileId',
353
+ message: 'Select profile to edit:',
354
+ choices: profiles.map(p => ({
355
+ title: `${p.icon} ${p.name}`,
356
+ description: `${p.id}${p.description ? ' - ' + p.description : ''}`,
357
+ value: p.id
358
+ }))
359
+ });
360
+ if (!profileId) {
361
+ console.log(chalk_1.default.yellow('Cancelled'));
362
+ return;
363
+ }
364
+ const profile = await (0, loader_1.loadProfile)(profileId);
365
+ const currentEnv = profile.config.env;
366
+ console.log(chalk_1.default.bold(`\nEditing: ${profile.icon} ${profile.name} (${profile.id})\n`));
367
+ // Prompt for editable fields with current values as defaults
368
+ const answers = await (0, prompts_1.default)([
369
+ {
370
+ type: 'text',
371
+ name: 'name',
372
+ message: 'Profile name:',
373
+ initial: profile.name
374
+ },
375
+ {
376
+ type: 'text',
377
+ name: 'description',
378
+ message: 'Description:',
379
+ initial: profile.description || ''
380
+ },
381
+ {
382
+ type: 'password',
383
+ name: 'token',
384
+ message: 'API token (leave empty to keep current):',
385
+ initial: ''
386
+ },
387
+ {
388
+ type: 'text',
389
+ name: 'baseUrl',
390
+ message: 'Base URL (leave empty to keep current):',
391
+ initial: currentEnv.ANTHROPIC_BASE_URL || ''
392
+ },
393
+ {
394
+ type: 'text',
395
+ name: 'haikuModel',
396
+ message: 'Haiku model (leave empty to keep current):',
397
+ initial: currentEnv.ANTHROPIC_DEFAULT_HAIKU_MODEL || ''
398
+ },
399
+ {
400
+ type: 'text',
401
+ name: 'sonnetModel',
402
+ message: 'Sonnet model (leave empty to keep current):',
403
+ initial: currentEnv.ANTHROPIC_DEFAULT_SONNET_MODEL || ''
404
+ },
405
+ {
406
+ type: 'text',
407
+ name: 'opusModel',
408
+ message: 'Opus model (leave empty to keep current):',
409
+ initial: currentEnv.ANTHROPIC_DEFAULT_OPUS_MODEL || ''
410
+ }
411
+ ]);
412
+ // Build updated profile
413
+ const updatedProfile = {
414
+ ...profile,
415
+ name: answers.name || profile.name,
416
+ description: answers.description || profile.description,
417
+ config: {
418
+ env: {
419
+ ANTHROPIC_AUTH_TOKEN: answers.token || currentEnv.ANTHROPIC_AUTH_TOKEN
420
+ }
421
+ }
422
+ };
423
+ // Add optional fields only if provided
424
+ if (answers.baseUrl) {
425
+ updatedProfile.config.env.ANTHROPIC_BASE_URL = answers.baseUrl;
426
+ }
427
+ else if (currentEnv.ANTHROPIC_BASE_URL) {
428
+ updatedProfile.config.env.ANTHROPIC_BASE_URL = currentEnv.ANTHROPIC_BASE_URL;
429
+ }
430
+ if (answers.haikuModel) {
431
+ updatedProfile.config.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = answers.haikuModel;
432
+ }
433
+ else if (currentEnv.ANTHROPIC_DEFAULT_HAIKU_MODEL) {
434
+ updatedProfile.config.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = currentEnv.ANTHROPIC_DEFAULT_HAIKU_MODEL;
435
+ }
436
+ if (answers.sonnetModel) {
437
+ updatedProfile.config.env.ANTHROPIC_DEFAULT_SONNET_MODEL = answers.sonnetModel;
438
+ }
439
+ else if (currentEnv.ANTHROPIC_DEFAULT_SONNET_MODEL) {
440
+ updatedProfile.config.env.ANTHROPIC_DEFAULT_SONNET_MODEL = currentEnv.ANTHROPIC_DEFAULT_SONNET_MODEL;
441
+ }
442
+ if (answers.opusModel) {
443
+ updatedProfile.config.env.ANTHROPIC_DEFAULT_OPUS_MODEL = answers.opusModel;
444
+ }
445
+ else if (currentEnv.ANTHROPIC_DEFAULT_OPUS_MODEL) {
446
+ updatedProfile.config.env.ANTHROPIC_DEFAULT_OPUS_MODEL = currentEnv.ANTHROPIC_DEFAULT_OPUS_MODEL;
447
+ }
448
+ await (0, writer_1.updateProfile)(updatedProfile);
449
+ console.log(chalk_1.default.green(`\n✓ Profile "${updatedProfile.name}" updated successfully!`));
450
+ }
451
+ catch (err) {
452
+ if (err.message === 'User cancelled') {
453
+ console.log(chalk_1.default.yellow('\nCancelled'));
454
+ return;
455
+ }
456
+ console.error(chalk_1.default.red(`Error: ${err.message}`));
457
+ process.exit(1);
458
+ }
459
+ });
110
460
  program.parse();
111
461
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ProviderProfile } from './schema';
2
+ export interface ProviderPreset {
3
+ id: string;
4
+ name: string;
5
+ description: string;
6
+ icon: string;
7
+ baseUrl?: string;
8
+ defaultModels?: {
9
+ haiku?: string;
10
+ sonnet?: string;
11
+ opus?: string;
12
+ };
13
+ }
14
+ export declare const PROVIDER_PRESETS: ProviderPreset[];
15
+ export declare function saveProfile(profile: ProviderProfile): Promise<void>;
16
+ export declare function sanitizeId(input: string): string;
17
+ export declare function createProfileFromPreset(preset: ProviderPreset, token: string, options?: {
18
+ customName?: string;
19
+ customDescription?: string;
20
+ customBaseUrl?: string;
21
+ customHaiku?: string;
22
+ customSonnet?: string;
23
+ customOpus?: string;
24
+ }): ProviderProfile;
25
+ export declare function profileExists(id: string): Promise<boolean>;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PROVIDER_PRESETS = void 0;
7
+ exports.saveProfile = saveProfile;
8
+ exports.sanitizeId = sanitizeId;
9
+ exports.createProfileFromPreset = createProfileFromPreset;
10
+ exports.profileExists = profileExists;
11
+ const fs_extra_1 = __importDefault(require("fs-extra"));
12
+ const path_1 = __importDefault(require("path"));
13
+ const os_1 = __importDefault(require("os"));
14
+ const CLAUDE_DIR = path_1.default.join(os_1.default.homedir(), '.claude');
15
+ const PROFILES_DIR = path_1.default.join(CLAUDE_DIR, 'profiles');
16
+ exports.PROVIDER_PRESETS = [
17
+ {
18
+ id: 'anthropic',
19
+ name: 'Anthropic (Official)',
20
+ description: 'Official Anthropic API',
21
+ icon: '🔷',
22
+ defaultModels: {
23
+ haiku: 'claude-3-5-haiku-20241022',
24
+ sonnet: 'claude-3-5-sonnet-20241022',
25
+ opus: 'claude-3-5-opus-20241022'
26
+ }
27
+ },
28
+ {
29
+ id: 'zhipu-coding',
30
+ name: 'Zhipu GLM Coding Plan',
31
+ description: 'GLM Coding Plan (编程套餐)',
32
+ icon: '💻',
33
+ baseUrl: 'https://open.bigmodel.cn/api/anthropic',
34
+ defaultModels: {
35
+ haiku: 'glm-4.7',
36
+ sonnet: 'glm-4.7',
37
+ opus: 'glm-4.7'
38
+ }
39
+ },
40
+ {
41
+ id: 'openrouter',
42
+ name: 'OpenRouter',
43
+ description: 'OpenRouter AI (200+ models)',
44
+ icon: '🔀',
45
+ baseUrl: 'https://openrouter.ai/api/v1',
46
+ defaultModels: {
47
+ haiku: 'anthropic/claude-3.5-haiku',
48
+ sonnet: 'anthropic/claude-3.5-sonnet',
49
+ opus: 'anthropic/claude-3.5-opus'
50
+ }
51
+ },
52
+ {
53
+ id: 'cloudflare-worker',
54
+ name: 'Cloudflare Worker Proxy',
55
+ description: 'Cloudflare Worker Claude Proxy',
56
+ icon: '☁️',
57
+ },
58
+ {
59
+ id: 'custom',
60
+ name: 'Custom Provider',
61
+ description: 'Custom API endpoint',
62
+ icon: '🔌',
63
+ }
64
+ ];
65
+ async function saveProfile(profile) {
66
+ await fs_extra_1.default.ensureDir(PROFILES_DIR);
67
+ const profilePath = path_1.default.join(PROFILES_DIR, `${profile.id}.json`);
68
+ if (await fs_extra_1.default.pathExists(profilePath)) {
69
+ throw new Error(`Profile ${profile.id} already exists`);
70
+ }
71
+ await fs_extra_1.default.writeJSON(profilePath, profile, { spaces: 2 });
72
+ }
73
+ function sanitizeId(input) {
74
+ return input.toLowerCase()
75
+ .replace(/[^a-z0-9]+/g, '-')
76
+ .replace(/^-|-$/g, '');
77
+ }
78
+ function createProfileFromPreset(preset, token, options = {}) {
79
+ const name = options.customName || preset.name;
80
+ const id = sanitizeId(options.customName || preset.id);
81
+ const description = options.customDescription || preset.description;
82
+ const baseUrl = options.customBaseUrl || preset.baseUrl;
83
+ const profile = {
84
+ id,
85
+ name,
86
+ description,
87
+ icon: preset.icon,
88
+ config: {
89
+ env: {
90
+ ANTHROPIC_AUTH_TOKEN: token,
91
+ }
92
+ }
93
+ };
94
+ if (baseUrl) {
95
+ profile.config.env.ANTHROPIC_BASE_URL = baseUrl;
96
+ }
97
+ const haikuModel = options.customHaiku || preset.defaultModels?.haiku;
98
+ if (haikuModel) {
99
+ profile.config.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = haikuModel;
100
+ }
101
+ const sonnetModel = options.customSonnet || preset.defaultModels?.sonnet;
102
+ if (sonnetModel) {
103
+ profile.config.env.ANTHROPIC_DEFAULT_SONNET_MODEL = sonnetModel;
104
+ }
105
+ const opusModel = options.customOpus || preset.defaultModels?.opus;
106
+ if (opusModel) {
107
+ profile.config.env.ANTHROPIC_DEFAULT_OPUS_MODEL = opusModel;
108
+ }
109
+ return profile;
110
+ }
111
+ async function profileExists(id) {
112
+ const profilePath = path_1.default.join(PROFILES_DIR, `${id}.json`);
113
+ return fs_extra_1.default.pathExists(profilePath);
114
+ }
115
+ //# sourceMappingURL=creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creator.js","sourceRoot":"","sources":["../../../src/lib/config/creator.ts"],"names":[],"mappings":"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"}
@@ -45,10 +45,16 @@ function getCurrentProvider(settings) {
45
45
  const baseUrl = settings.env?.ANTHROPIC_BASE_URL;
46
46
  if (!baseUrl)
47
47
  return 'anthropic';
48
+ if (baseUrl.includes('open.bigmodel.cn/api/anthropic'))
49
+ return 'zhipu-coding';
48
50
  if (baseUrl.includes('bigmodel.cn'))
49
- return 'zhipu';
51
+ return 'zhipu-coding';
52
+ if (baseUrl.includes('openrouter.ai'))
53
+ return 'openrouter';
50
54
  if (baseUrl.includes('api.anthropic.com'))
51
55
  return 'anthropic';
56
+ if (baseUrl.includes('workers.dev'))
57
+ return 'cloudflare-worker';
52
58
  return 'custom';
53
59
  }
54
60
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":";;;;;AASA,oCAKC;AAED,kCAMC;AAED,oCAcC;AAED,gDAMC;AA9CD,wDAA0B;AAC1B,gDAAwB;AACxB,4CAAoB;AAGpB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC7D,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAEhD,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,kBAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,SAAiB;IACjD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,kBAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC;AAEM,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,OAAO,CAAC;IACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":";;;;;AASA,oCAKC;AAED,kCAMC;AAED,oCAcC;AAED,gDASC;AAjDD,wDAA0B;AAC1B,gDAAwB;AACxB,4CAAoB;AAGpB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC7D,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAEhD,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,kBAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,SAAiB;IACjD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,kBAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC;AAEM,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAAE,OAAO,cAAc,CAAC;IAC9E,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,cAAc,CAAC;IAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,YAAY,CAAC;IAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9D,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -3,3 +3,5 @@ export declare function backupSettings(): Promise<string>;
3
3
  export declare function applyProfile(profile: ProviderProfile): Promise<void>;
4
4
  export declare function listBackups(): Promise<string[]>;
5
5
  export declare function restoreBackup(backupFile: string): Promise<void>;
6
+ export declare function deleteProfile(profileId: string): Promise<void>;
7
+ export declare function updateProfile(profile: ProviderProfile): Promise<void>;
@@ -7,12 +7,15 @@ exports.backupSettings = backupSettings;
7
7
  exports.applyProfile = applyProfile;
8
8
  exports.listBackups = listBackups;
9
9
  exports.restoreBackup = restoreBackup;
10
+ exports.deleteProfile = deleteProfile;
11
+ exports.updateProfile = updateProfile;
10
12
  const fs_extra_1 = __importDefault(require("fs-extra"));
11
13
  const path_1 = __importDefault(require("path"));
12
14
  const os_1 = __importDefault(require("os"));
13
15
  const CLAUDE_DIR = path_1.default.join(os_1.default.homedir(), '.claude');
14
16
  const SETTINGS_FILE = path_1.default.join(CLAUDE_DIR, 'settings.json');
15
17
  const BACKUP_DIR = path_1.default.join(CLAUDE_DIR, 'cc-switch-backups');
18
+ const PROFILES_DIR = path_1.default.join(CLAUDE_DIR, 'profiles');
16
19
  async function backupSettings() {
17
20
  await fs_extra_1.default.ensureDir(BACKUP_DIR);
18
21
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
@@ -45,4 +48,19 @@ async function restoreBackup(backupFile) {
45
48
  }
46
49
  await fs_extra_1.default.copy(backupPath, SETTINGS_FILE);
47
50
  }
51
+ async function deleteProfile(profileId) {
52
+ const profilePath = path_1.default.join(PROFILES_DIR, `${profileId}.json`);
53
+ if (!(await fs_extra_1.default.pathExists(profilePath))) {
54
+ throw new Error(`Profile not found: ${profileId}`);
55
+ }
56
+ await fs_extra_1.default.remove(profilePath);
57
+ }
58
+ async function updateProfile(profile) {
59
+ await fs_extra_1.default.ensureDir(PROFILES_DIR);
60
+ const profilePath = path_1.default.join(PROFILES_DIR, `${profile.id}.json`);
61
+ if (!(await fs_extra_1.default.pathExists(profilePath))) {
62
+ throw new Error(`Profile not found: ${profile.id}`);
63
+ }
64
+ await fs_extra_1.default.writeJSON(profilePath, profile, { spaces: 2 });
65
+ }
48
66
  //# sourceMappingURL=writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/lib/config/writer.ts"],"names":[],"mappings":";;;;;AASA,wCAMC;AAED,oCAaC;AAED,kCAIC;AAED,sCAMC;AA5CD,wDAA0B;AAC1B,gDAAwB;AACxB,4CAAoB;AAGpB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC7D,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;AAEvD,KAAK,UAAU,cAAc;IAClC,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,SAAS,OAAO,CAAC,CAAC;IACvE,MAAM,kBAAE,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,OAAwB;IACzD,MAAM,cAAc,EAAE,CAAC;IAEvB,MAAM,QAAQ,GAAa,MAAM,kBAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE9C,MAAM,kBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAEM,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AAC3E,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,kBAAE,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/lib/config/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supertiny99/cc-switch",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Quick TUI for switching Claude Code API providers - fast provider/token switching when quota is exhausted",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -19,7 +19,12 @@
19
19
  "pretest": "npm run build",
20
20
  "test": "echo \"Error: no test specified\" && exit 1",
21
21
  "version": "git add .",
22
- "postversion": "git push && git push --tags"
22
+ "postversion": "git push && git push --tags",
23
+ "push": "git push && git push --tags",
24
+ "release": "npm run build && npm run push",
25
+ "release:patch": "npm version patch && npm run push",
26
+ "release:minor": "npm version minor && npm run push",
27
+ "release:major": "npm version major && npm run push"
23
28
  },
24
29
  "keywords": [
25
30
  "claude",