@kaitranntt/ccs 7.7.0-dev.5 → 7.7.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.
Files changed (131) hide show
  1. package/dist/auth/profile-registry.d.ts +0 -11
  2. package/dist/auth/profile-registry.d.ts.map +1 -1
  3. package/dist/auth/profile-registry.js +0 -30
  4. package/dist/auth/profile-registry.js.map +1 -1
  5. package/dist/ccs.js +0 -12
  6. package/dist/ccs.js.map +1 -1
  7. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  8. package/dist/cliproxy/cliproxy-executor.js +3 -5
  9. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  10. package/dist/cliproxy/config-generator.d.ts +4 -13
  11. package/dist/cliproxy/config-generator.d.ts.map +1 -1
  12. package/dist/cliproxy/config-generator.js +15 -37
  13. package/dist/cliproxy/config-generator.js.map +1 -1
  14. package/dist/cliproxy/index.d.ts +0 -1
  15. package/dist/cliproxy/index.d.ts.map +1 -1
  16. package/dist/cliproxy/index.js +1 -12
  17. package/dist/cliproxy/index.js.map +1 -1
  18. package/dist/cliproxy/model-config.d.ts.map +1 -1
  19. package/dist/cliproxy/model-config.js +3 -4
  20. package/dist/cliproxy/model-config.js.map +1 -1
  21. package/dist/cliproxy/services/variant-config-adapter.d.ts +2 -12
  22. package/dist/cliproxy/services/variant-config-adapter.d.ts.map +1 -1
  23. package/dist/cliproxy/services/variant-config-adapter.js +6 -49
  24. package/dist/cliproxy/services/variant-config-adapter.js.map +1 -1
  25. package/dist/cliproxy/services/variant-service.d.ts +0 -10
  26. package/dist/cliproxy/services/variant-service.d.ts.map +1 -1
  27. package/dist/cliproxy/services/variant-service.js +6 -63
  28. package/dist/cliproxy/services/variant-service.js.map +1 -1
  29. package/dist/cliproxy/services/variant-settings.d.ts +2 -6
  30. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  31. package/dist/cliproxy/services/variant-settings.js +8 -36
  32. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  33. package/dist/cliproxy/session-tracker.d.ts +7 -17
  34. package/dist/cliproxy/session-tracker.d.ts.map +1 -1
  35. package/dist/cliproxy/session-tracker.js +40 -86
  36. package/dist/cliproxy/session-tracker.js.map +1 -1
  37. package/dist/cliproxy/stats-fetcher.js +6 -6
  38. package/dist/cliproxy/stats-fetcher.js.map +1 -1
  39. package/dist/commands/cliproxy-command.d.ts.map +1 -1
  40. package/dist/commands/cliproxy-command.js +3 -8
  41. package/dist/commands/cliproxy-command.js.map +1 -1
  42. package/dist/config/unified-config-loader.d.ts.map +1 -1
  43. package/dist/config/unified-config-loader.js +26 -4
  44. package/dist/config/unified-config-loader.js.map +1 -1
  45. package/dist/config/unified-config-types.d.ts +1 -18
  46. package/dist/config/unified-config-types.d.ts.map +1 -1
  47. package/dist/config/unified-config-types.js +1 -2
  48. package/dist/config/unified-config-types.js.map +1 -1
  49. package/dist/management/checks/config-check.d.ts +1 -12
  50. package/dist/management/checks/config-check.d.ts.map +1 -1
  51. package/dist/management/checks/config-check.js +41 -97
  52. package/dist/management/checks/config-check.js.map +1 -1
  53. package/dist/management/checks/profile-check.d.ts +1 -5
  54. package/dist/management/checks/profile-check.d.ts.map +1 -1
  55. package/dist/management/checks/profile-check.js +25 -56
  56. package/dist/management/checks/profile-check.js.map +1 -1
  57. package/dist/management/recovery-manager.d.ts +12 -0
  58. package/dist/management/recovery-manager.d.ts.map +1 -1
  59. package/dist/management/recovery-manager.js +92 -0
  60. package/dist/management/recovery-manager.js.map +1 -1
  61. package/dist/types/config.d.ts +0 -2
  62. package/dist/types/config.d.ts.map +1 -1
  63. package/dist/types/config.js.map +1 -1
  64. package/dist/ui/assets/{accounts-SAhf2aVn.js → accounts-BMhHiKKx.js} +1 -1
  65. package/dist/ui/assets/{api-DgjYmgeK.js → api-OCBlXCQa.js} +1 -1
  66. package/dist/ui/assets/{card-BrSGmssG.js → card-CLsl42We.js} +1 -1
  67. package/dist/ui/assets/cliproxy-C09j9zae.js +3 -0
  68. package/dist/ui/assets/cliproxy-control-panel-CM6pDYK8.js +1 -0
  69. package/dist/ui/assets/{confirm-dialog-B0FsZkP6.js → confirm-dialog-BtYM09Tb.js} +1 -1
  70. package/dist/ui/assets/{copilot-Bccuuvux.js → copilot-7MWkGdns.js} +2 -2
  71. package/dist/ui/assets/{globalenv-section-Bli-EFPP.js → globalenv-section-Co6qbs3V.js} +1 -1
  72. package/dist/ui/assets/{health-mnF1gWAc.js → health-Bh1b5210.js} +1 -1
  73. package/dist/ui/assets/icons-B9mnOvwW.js +1 -0
  74. package/dist/ui/assets/{index-B38yaYR3.js → index-B_TRzkFq.js} +1 -1
  75. package/dist/ui/assets/{index-Buv2h9oP.js → index-C8KcL2cj.js} +1 -1
  76. package/dist/ui/assets/{index-t5yDkLoB.js → index-CApIIy9d.js} +12 -12
  77. package/dist/ui/assets/index-CK2sRZzn.css +1 -0
  78. package/dist/ui/assets/{index-mn6heIpP.js → index-CXVq9xuH.js} +1 -1
  79. package/dist/ui/assets/{shared-B9w3h6Sd.js → shared-Ckt5nAjF.js} +1 -1
  80. package/dist/ui/assets/{switch-CRxPpAN8.js → switch-BCFPnHGe.js} +1 -1
  81. package/dist/ui/index.html +3 -3
  82. package/dist/utils/port-utils.d.ts +2 -0
  83. package/dist/utils/port-utils.d.ts.map +1 -1
  84. package/dist/utils/port-utils.js +5 -10
  85. package/dist/utils/port-utils.js.map +1 -1
  86. package/dist/web-server/file-watcher.d.ts.map +1 -1
  87. package/dist/web-server/file-watcher.js +2 -3
  88. package/dist/web-server/file-watcher.js.map +1 -1
  89. package/dist/web-server/health/config-checks.d.ts +2 -3
  90. package/dist/web-server/health/config-checks.d.ts.map +1 -1
  91. package/dist/web-server/health/config-checks.js +2 -40
  92. package/dist/web-server/health/config-checks.js.map +1 -1
  93. package/dist/web-server/health/profile-checks.d.ts +1 -2
  94. package/dist/web-server/health/profile-checks.d.ts.map +1 -1
  95. package/dist/web-server/health/profile-checks.js +1 -33
  96. package/dist/web-server/health/profile-checks.js.map +1 -1
  97. package/dist/web-server/health-service.d.ts.map +1 -1
  98. package/dist/web-server/health-service.js +0 -14
  99. package/dist/web-server/health-service.js.map +1 -1
  100. package/dist/web-server/overview-routes.d.ts.map +1 -1
  101. package/dist/web-server/overview-routes.js +29 -10
  102. package/dist/web-server/overview-routes.js.map +1 -1
  103. package/dist/web-server/routes/account-routes.d.ts +2 -3
  104. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  105. package/dist/web-server/routes/account-routes.js +46 -43
  106. package/dist/web-server/routes/account-routes.js.map +1 -1
  107. package/dist/web-server/routes/route-helpers.d.ts +6 -0
  108. package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
  109. package/dist/web-server/routes/route-helpers.js +24 -1
  110. package/dist/web-server/routes/route-helpers.js.map +1 -1
  111. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  112. package/dist/web-server/routes/settings-routes.js +13 -161
  113. package/dist/web-server/routes/settings-routes.js.map +1 -1
  114. package/dist/web-server/routes/variant-routes.d.ts +0 -2
  115. package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
  116. package/dist/web-server/routes/variant-routes.js +98 -44
  117. package/dist/web-server/routes/variant-routes.js.map +1 -1
  118. package/package.json +1 -1
  119. package/dist/cliproxy/auth-token-manager.d.ts +0 -82
  120. package/dist/cliproxy/auth-token-manager.d.ts.map +0 -1
  121. package/dist/cliproxy/auth-token-manager.js +0 -187
  122. package/dist/cliproxy/auth-token-manager.js.map +0 -1
  123. package/dist/commands/tokens-command.d.ts +0 -19
  124. package/dist/commands/tokens-command.d.ts.map +0 -1
  125. package/dist/commands/tokens-command.js +0 -173
  126. package/dist/commands/tokens-command.js.map +0 -1
  127. package/dist/ui/assets/auth-section-c488oSia.js +0 -1
  128. package/dist/ui/assets/cliproxy-DagVtdBM.js +0 -3
  129. package/dist/ui/assets/cliproxy-control-panel-CqFvwaNM.js +0 -1
  130. package/dist/ui/assets/icons-DBie6Tez.js +0 -1
  131. package/dist/ui/assets/index-CytnH70K.css +0 -1
@@ -28,30 +28,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const express_1 = require("express");
30
30
  const fs = __importStar(require("fs"));
31
- const os = __importStar(require("os"));
32
31
  const path = __importStar(require("path"));
33
32
  const config_manager_1 = require("../../utils/config-manager");
34
33
  const sensitive_keys_1 = require("../../utils/sensitive-keys");
35
- const variant_service_1 = require("../../cliproxy/services/variant-service");
36
- const cliproxy_1 = require("../../cliproxy");
37
- const config_generator_1 = require("../../cliproxy/config-generator");
38
34
  const router = (0, express_1.Router)();
39
- /**
40
- * Helper: Resolve settings path for profile or variant
41
- * Variants have settings paths in config, regular profiles use {name}.settings.json
42
- */
43
- function resolveSettingsPath(profileOrVariant) {
44
- const ccsDir = (0, config_manager_1.getCcsDir)();
45
- // Check if this is a variant
46
- const variants = (0, variant_service_1.listVariants)();
47
- const variant = variants[profileOrVariant];
48
- if (variant?.settings) {
49
- // Variant settings path (e.g., ~/.ccs/agy-g3.settings.json)
50
- return variant.settings.replace(/^~/, os.homedir());
51
- }
52
- // Regular profile settings
53
- return path.join(ccsDir, `${profileOrVariant}.settings.json`);
54
- }
55
35
  /**
56
36
  * Helper: Mask API keys in settings
57
37
  */
@@ -72,7 +52,8 @@ function maskApiKeys(settings) {
72
52
  router.get('/:profile', (req, res) => {
73
53
  try {
74
54
  const { profile } = req.params;
75
- const settingsPath = resolveSettingsPath(profile);
55
+ const ccsDir = (0, config_manager_1.getCcsDir)();
56
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
76
57
  if (!fs.existsSync(settingsPath)) {
77
58
  res.status(404).json({ error: 'Settings not found' });
78
59
  return;
@@ -97,7 +78,8 @@ router.get('/:profile', (req, res) => {
97
78
  router.get('/:profile/raw', (req, res) => {
98
79
  try {
99
80
  const { profile } = req.params;
100
- const settingsPath = resolveSettingsPath(profile);
81
+ const ccsDir = (0, config_manager_1.getCcsDir)();
82
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
101
83
  if (!fs.existsSync(settingsPath)) {
102
84
  res.status(404).json({ error: 'Settings not found' });
103
85
  return;
@@ -123,7 +105,7 @@ router.put('/:profile', (req, res) => {
123
105
  const { profile } = req.params;
124
106
  const { settings, expectedMtime } = req.body;
125
107
  const ccsDir = (0, config_manager_1.getCcsDir)();
126
- const settingsPath = resolveSettingsPath(profile);
108
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
127
109
  const fileExists = fs.existsSync(settingsPath);
128
110
  // Only check conflict if file exists and expectedMtime was provided
129
111
  if (fileExists && expectedMtime) {
@@ -174,7 +156,8 @@ router.put('/:profile', (req, res) => {
174
156
  router.get('/:profile/presets', (req, res) => {
175
157
  try {
176
158
  const { profile } = req.params;
177
- const settingsPath = resolveSettingsPath(profile);
159
+ const ccsDir = (0, config_manager_1.getCcsDir)();
160
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
178
161
  if (!fs.existsSync(settingsPath)) {
179
162
  res.json({ presets: [] });
180
163
  return;
@@ -197,10 +180,10 @@ router.post('/:profile/presets', (req, res) => {
197
180
  res.status(400).json({ error: 'Missing required fields: name, default' });
198
181
  return;
199
182
  }
200
- const settingsPath = resolveSettingsPath(profile);
183
+ const ccsDir = (0, config_manager_1.getCcsDir)();
184
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
201
185
  // Create settings file if it doesn't exist
202
186
  if (!fs.existsSync(settingsPath)) {
203
- fs.mkdirSync(path.dirname(settingsPath), { recursive: true });
204
187
  fs.writeFileSync(settingsPath, JSON.stringify({ env: {}, presets: [] }, null, 2) + '\n');
205
188
  }
206
189
  const settings = (0, config_manager_1.loadSettings)(settingsPath);
@@ -218,10 +201,7 @@ router.post('/:profile/presets', (req, res) => {
218
201
  haiku: haiku || defaultModel,
219
202
  };
220
203
  settings.presets.push(preset);
221
- // Atomic write: temp file + rename
222
- const tempPath = settingsPath + '.tmp';
223
- fs.writeFileSync(tempPath, JSON.stringify(settings, null, 2) + '\n');
224
- fs.renameSync(tempPath, settingsPath);
204
+ fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
225
205
  res.status(201).json({ preset });
226
206
  }
227
207
  catch (error) {
@@ -234,7 +214,8 @@ router.post('/:profile/presets', (req, res) => {
234
214
  router.delete('/:profile/presets/:name', (req, res) => {
235
215
  try {
236
216
  const { profile, name } = req.params;
237
- const settingsPath = resolveSettingsPath(profile);
217
+ const ccsDir = (0, config_manager_1.getCcsDir)();
218
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
238
219
  if (!fs.existsSync(settingsPath)) {
239
220
  res.status(404).json({ error: 'Settings not found' });
240
221
  return;
@@ -245,141 +226,12 @@ router.delete('/:profile/presets/:name', (req, res) => {
245
226
  return;
246
227
  }
247
228
  settings.presets = settings.presets.filter((p) => p.name !== name);
248
- // Atomic write: temp file + rename
249
- const tempPath = settingsPath + '.tmp';
250
- fs.writeFileSync(tempPath, JSON.stringify(settings, null, 2) + '\n');
251
- fs.renameSync(tempPath, settingsPath);
229
+ fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
252
230
  res.json({ success: true });
253
231
  }
254
232
  catch (error) {
255
233
  res.status(500).json({ error: error.message });
256
234
  }
257
235
  });
258
- // ==================== Auth Tokens ====================
259
- /**
260
- * GET /api/settings/auth/tokens - Get current auth token status (masked)
261
- */
262
- router.get('/auth/tokens', (_req, res) => {
263
- try {
264
- const summary = (0, cliproxy_1.getAuthSummary)();
265
- res.json({
266
- apiKey: {
267
- value: (0, cliproxy_1.maskToken)(summary.apiKey.value),
268
- isCustom: summary.apiKey.isCustom,
269
- },
270
- managementSecret: {
271
- value: (0, cliproxy_1.maskToken)(summary.managementSecret.value),
272
- isCustom: summary.managementSecret.isCustom,
273
- },
274
- });
275
- }
276
- catch (error) {
277
- res.status(500).json({ error: error.message });
278
- }
279
- });
280
- /**
281
- * GET /api/settings/auth/tokens/raw - Get current auth tokens unmasked
282
- * NOTE: Sensitive endpoint - no caching, localhost only
283
- */
284
- router.get('/auth/tokens/raw', (_req, res) => {
285
- try {
286
- // Prevent caching of sensitive data
287
- res.setHeader('Cache-Control', 'no-store');
288
- const summary = (0, cliproxy_1.getAuthSummary)();
289
- res.json({
290
- apiKey: {
291
- value: summary.apiKey.value,
292
- isCustom: summary.apiKey.isCustom,
293
- },
294
- managementSecret: {
295
- value: summary.managementSecret.value,
296
- isCustom: summary.managementSecret.isCustom,
297
- },
298
- });
299
- }
300
- catch (error) {
301
- res.status(500).json({ error: error.message });
302
- }
303
- });
304
- /**
305
- * PUT /api/settings/auth/tokens - Update auth tokens
306
- */
307
- router.put('/auth/tokens', (req, res) => {
308
- try {
309
- const { apiKey, managementSecret } = req.body;
310
- if (apiKey !== undefined) {
311
- (0, cliproxy_1.setGlobalApiKey)(apiKey || undefined);
312
- }
313
- if (managementSecret !== undefined) {
314
- (0, cliproxy_1.setGlobalManagementSecret)(managementSecret || undefined);
315
- }
316
- // Regenerate CLIProxy config to apply changes
317
- (0, config_generator_1.regenerateConfig)();
318
- const summary = (0, cliproxy_1.getAuthSummary)();
319
- res.json({
320
- success: true,
321
- apiKey: {
322
- value: (0, cliproxy_1.maskToken)(summary.apiKey.value),
323
- isCustom: summary.apiKey.isCustom,
324
- },
325
- managementSecret: {
326
- value: (0, cliproxy_1.maskToken)(summary.managementSecret.value),
327
- isCustom: summary.managementSecret.isCustom,
328
- },
329
- message: 'Restart CLIProxy to apply changes',
330
- });
331
- }
332
- catch (error) {
333
- res.status(500).json({ error: error.message });
334
- }
335
- });
336
- /**
337
- * POST /api/settings/auth/tokens/regenerate-secret - Generate new management secret
338
- */
339
- router.post('/auth/tokens/regenerate-secret', (_req, res) => {
340
- try {
341
- const newSecret = (0, cliproxy_1.generateSecureToken)(32);
342
- (0, cliproxy_1.setGlobalManagementSecret)(newSecret);
343
- // Regenerate CLIProxy config to apply changes
344
- (0, config_generator_1.regenerateConfig)();
345
- res.json({
346
- success: true,
347
- managementSecret: {
348
- value: (0, cliproxy_1.maskToken)(newSecret),
349
- isCustom: true,
350
- },
351
- message: 'Restart CLIProxy to apply changes',
352
- });
353
- }
354
- catch (error) {
355
- res.status(500).json({ error: error.message });
356
- }
357
- });
358
- /**
359
- * POST /api/settings/auth/tokens/reset - Reset auth tokens to defaults
360
- */
361
- router.post('/auth/tokens/reset', (_req, res) => {
362
- try {
363
- (0, cliproxy_1.resetAuthToDefaults)();
364
- // Regenerate CLIProxy config to apply changes
365
- (0, config_generator_1.regenerateConfig)();
366
- const summary = (0, cliproxy_1.getAuthSummary)();
367
- res.json({
368
- success: true,
369
- apiKey: {
370
- value: (0, cliproxy_1.maskToken)(summary.apiKey.value),
371
- isCustom: summary.apiKey.isCustom,
372
- },
373
- managementSecret: {
374
- value: (0, cliproxy_1.maskToken)(summary.managementSecret.value),
375
- isCustom: summary.managementSecret.isCustom,
376
- },
377
- message: 'Tokens reset to defaults. Restart CLIProxy to apply.',
378
- });
379
- }
380
- catch (error) {
381
- res.status(500).json({ error: error.message });
382
- }
383
- });
384
236
  exports.default = router;
385
237
  //# sourceMappingURL=settings-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/settings-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/settings-routes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  /**
2
2
  * Variant Routes - CLIProxy variant management (custom profiles)
3
- *
4
- * Uses variant-service.ts for proper port allocation and cleanup.
5
3
  */
6
4
  declare const router: import("express-serve-static-core").Router;
7
5
  export default router;
@@ -1 +1 @@
1
- {"version":3,"file":"variant-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/variant-routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,QAAA,MAAM,MAAM,4CAAW,CAAC;AAsHxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"variant-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/variant-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA0JxB,eAAe,MAAM,CAAC"}
@@ -1,33 +1,53 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Variant Routes - CLIProxy variant management (custom profiles)
4
- *
5
- * Uses variant-service.ts for proper port allocation and cleanup.
6
4
  */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
7
28
  Object.defineProperty(exports, "__esModule", { value: true });
8
29
  const express_1 = require("express");
30
+ const fs = __importStar(require("fs"));
31
+ const path = __importStar(require("path"));
32
+ const config_manager_1 = require("../../utils/config-manager");
9
33
  const reserved_names_1 = require("../../config/reserved-names");
10
- const variant_service_1 = require("../../cliproxy/services/variant-service");
34
+ const route_helpers_1 = require("./route-helpers");
11
35
  const router = (0, express_1.Router)();
12
36
  /**
13
37
  * GET /api/cliproxy - List cliproxy variants
14
- * Uses variant-service for consistent behavior with CLI
15
38
  */
16
39
  router.get('/', (_req, res) => {
17
- const variants = (0, variant_service_1.listVariants)();
18
- const variantList = Object.entries(variants).map(([name, variant]) => ({
40
+ const config = (0, route_helpers_1.readConfigSafe)();
41
+ const variants = Object.entries(config.cliproxy || {}).map(([name, variant]) => ({
19
42
  name,
20
43
  provider: variant.provider,
21
44
  settings: variant.settings,
22
- account: variant.account || 'default',
23
- port: variant.port, // Include port for port isolation
24
- model: variant.model,
45
+ account: variant.account || 'default', // Include account field
25
46
  }));
26
- res.json({ variants: variantList });
47
+ res.json({ variants });
27
48
  });
28
49
  /**
29
50
  * POST /api/cliproxy - Create cliproxy variant
30
- * Uses variant-service for proper port allocation
31
51
  */
32
52
  router.post('/', (req, res) => {
33
53
  const { name, provider, model, account } = req.body;
@@ -35,13 +55,7 @@ router.post('/', (req, res) => {
35
55
  res.status(400).json({ error: 'Missing required fields: name, provider' });
36
56
  return;
37
57
  }
38
- // Validate profile name
39
- const validationError = (0, variant_service_1.validateProfileName)(name);
40
- if (validationError) {
41
- res.status(400).json({ error: validationError });
42
- return;
43
- }
44
- // Reject reserved names (extra safety check)
58
+ // Reject reserved names as variant names (prevents collision with built-in providers)
45
59
  if ((0, reserved_names_1.isReservedName)(name)) {
46
60
  res.status(400).json({
47
61
  error: `Cannot use reserved name '${name}' as variant name`,
@@ -49,41 +63,73 @@ router.post('/', (req, res) => {
49
63
  });
50
64
  return;
51
65
  }
52
- // Use variant-service for proper port allocation
53
- const result = (0, variant_service_1.createVariant)(name, provider, model || '', account);
54
- if (!result.success) {
55
- res.status(409).json({ error: result.error });
66
+ const config = (0, route_helpers_1.readConfigSafe)();
67
+ config.cliproxy = config.cliproxy || {};
68
+ if (config.cliproxy[name]) {
69
+ res.status(409).json({ error: 'Variant already exists' });
56
70
  return;
57
71
  }
58
- res.status(201).json({
59
- name,
72
+ // Ensure .ccs directory exists
73
+ if (!fs.existsSync((0, config_manager_1.getCcsDir)())) {
74
+ fs.mkdirSync((0, config_manager_1.getCcsDir)(), { recursive: true });
75
+ }
76
+ // Create settings file for variant
77
+ const settingsPath = (0, route_helpers_1.createCliproxySettings)(name, provider, model);
78
+ // Include account if specified (defaults to 'default' if not provided)
79
+ config.cliproxy[name] = {
60
80
  provider,
61
- settings: result.settingsPath,
62
- account: account || 'default',
63
- port: result.variant?.port,
64
- model: result.variant?.model,
65
- });
81
+ settings: settingsPath,
82
+ ...(account && { account }),
83
+ };
84
+ (0, route_helpers_1.writeConfig)(config);
85
+ res.status(201).json({ name, provider, settings: settingsPath, account: account || 'default' });
66
86
  });
67
87
  /**
68
88
  * PUT /api/cliproxy/:name - Update cliproxy variant
69
- * Uses variant-service for consistent behavior with CLI
70
89
  */
71
90
  router.put('/:name', (req, res) => {
72
91
  try {
73
92
  const { name } = req.params;
74
93
  const { provider, account, model } = req.body;
75
- // Use variant-service for proper update handling
76
- const result = (0, variant_service_1.updateVariant)(name, { provider, account, model });
77
- if (!result.success) {
78
- res.status(404).json({ error: result.error });
94
+ const config = (0, route_helpers_1.readConfigSafe)();
95
+ if (!config.cliproxy?.[name]) {
96
+ res.status(404).json({ error: 'Variant not found' });
79
97
  return;
80
98
  }
99
+ const variant = config.cliproxy[name];
100
+ // Update fields if provided
101
+ if (provider) {
102
+ variant.provider = provider;
103
+ }
104
+ if (account !== undefined) {
105
+ if (account) {
106
+ variant.account = account;
107
+ }
108
+ else {
109
+ delete variant.account; // Remove account to use default
110
+ }
111
+ }
112
+ // Update model in settings file if provided
113
+ if (model !== undefined) {
114
+ const settingsPath = path.join((0, config_manager_1.getCcsDir)(), `${name}.settings.json`);
115
+ if (fs.existsSync(settingsPath)) {
116
+ const settings = (0, config_manager_1.loadSettings)(settingsPath);
117
+ if (model) {
118
+ settings.env = settings.env || {};
119
+ settings.env.ANTHROPIC_MODEL = model;
120
+ }
121
+ else if (settings.env) {
122
+ delete settings.env.ANTHROPIC_MODEL;
123
+ }
124
+ fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
125
+ }
126
+ }
127
+ (0, route_helpers_1.writeConfig)(config);
81
128
  res.json({
82
129
  name,
83
- provider: result.variant?.provider,
84
- account: result.variant?.account || 'default',
85
- settings: result.variant?.settings,
86
- port: result.variant?.port,
130
+ provider: variant.provider,
131
+ account: variant.account || 'default',
132
+ settings: variant.settings,
87
133
  updated: true,
88
134
  });
89
135
  }
@@ -93,18 +139,26 @@ router.put('/:name', (req, res) => {
93
139
  });
94
140
  /**
95
141
  * DELETE /api/cliproxy/:name - Delete cliproxy variant
96
- * Uses variant-service for proper port-specific file cleanup
97
142
  */
98
143
  router.delete('/:name', (req, res) => {
99
144
  try {
100
145
  const { name } = req.params;
101
- // Use variant-service for proper cleanup (settings, config, session files)
102
- const result = (0, variant_service_1.removeVariant)(name);
103
- if (!result.success) {
104
- res.status(404).json({ error: result.error });
146
+ const config = (0, route_helpers_1.readConfigSafe)();
147
+ if (!config.cliproxy?.[name]) {
148
+ res.status(404).json({ error: 'Variant not found' });
105
149
  return;
106
150
  }
107
- res.json({ name, deleted: true, port: result.variant?.port });
151
+ // Never delete settings files for reserved provider names (safety guard)
152
+ if (!(0, reserved_names_1.isReservedName)(name)) {
153
+ // Only delete settings file for non-reserved variant names
154
+ const settingsPath = path.join((0, config_manager_1.getCcsDir)(), `${name}.settings.json`);
155
+ if (fs.existsSync(settingsPath)) {
156
+ fs.unlinkSync(settingsPath);
157
+ }
158
+ }
159
+ delete config.cliproxy[name];
160
+ (0, route_helpers_1.writeConfig)(config);
161
+ res.json({ name, deleted: true });
108
162
  }
109
163
  catch (error) {
110
164
  res.status(500).json({ error: error.message });
@@ -1 +1 @@
1
- {"version":3,"file":"variant-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/variant-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variant-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/variant-routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "7.7.0-dev.5",
3
+ "version": "7.7.1",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
5
5
  "keywords": [
6
6
  "cli",
@@ -1,82 +0,0 @@
1
- /**
2
- * Auth Token Manager for CLIProxyAPI
3
- *
4
- * Manages API key and management secret resolution with inheritance:
5
- * - Per-variant override → Global config → Default constants
6
- *
7
- * Provides secure token generation for user customization.
8
- */
9
- /**
10
- * Generate a cryptographically secure token.
11
- * Uses CSPRNG (crypto.randomBytes) for proper entropy.
12
- *
13
- * @param length - Number of random bytes (default: 32 = 256-bit entropy)
14
- * @returns Base64URL-encoded token (43 chars for 32 bytes)
15
- */
16
- export declare function generateSecureToken(length?: number): string;
17
- /**
18
- * Mask a token for display.
19
- * Shows first 4 and last 4 chars: "ccs_...4f2a"
20
- * Used by CLI commands and API routes.
21
- */
22
- export declare function maskToken(token: string): string;
23
- /**
24
- * Get effective API key with inheritance chain.
25
- * Priority: variant auth → global cliproxy.auth → default constant
26
- *
27
- * @param variantName - Optional variant name for per-variant override
28
- * @returns Resolved API key
29
- */
30
- export declare function getEffectiveApiKey(variantName?: string): string;
31
- /**
32
- * Get effective management secret.
33
- * Priority: global cliproxy.auth → default constant
34
- *
35
- * Note: Management secret is global-only (no per-variant override)
36
- * as it controls the Control Panel access for the entire CLIProxy instance.
37
- *
38
- * @returns Resolved management secret
39
- */
40
- export declare function getEffectiveManagementSecret(): string;
41
- /**
42
- * Set global API key.
43
- * Updates cliproxy.auth.api_key in config.yaml.
44
- *
45
- * @param apiKey - New API key (or undefined to reset to default)
46
- */
47
- export declare function setGlobalApiKey(apiKey: string | undefined): void;
48
- /**
49
- * Set global management secret.
50
- * Updates cliproxy.auth.management_secret in config.yaml.
51
- *
52
- * @param secret - New management secret (or undefined to reset to default)
53
- */
54
- export declare function setGlobalManagementSecret(secret: string | undefined): void;
55
- /**
56
- * Set per-variant API key override.
57
- * Updates variants[variantName].auth.api_key in config.yaml.
58
- *
59
- * @param variantName - Variant name
60
- * @param apiKey - New API key (or undefined to remove override)
61
- */
62
- export declare function setVariantApiKey(variantName: string, apiKey: string | undefined): void;
63
- /**
64
- * Reset all auth settings to defaults.
65
- * Removes cliproxy.auth and all variant auth overrides.
66
- */
67
- export declare function resetAuthToDefaults(): void;
68
- /**
69
- * Get auth configuration summary for display.
70
- * Returns current effective values and whether they're customized.
71
- */
72
- export declare function getAuthSummary(): {
73
- apiKey: {
74
- value: string;
75
- isCustom: boolean;
76
- };
77
- managementSecret: {
78
- value: string;
79
- isCustom: boolean;
80
- };
81
- };
82
- //# sourceMappingURL=auth-token-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-token-manager.d.ts","sourceRoot":"","sources":["../../src/cliproxy/auth-token-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAK,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAUrD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAchE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAc1E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuBtF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAe1C;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI;IAChC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CACxD,CAgBA"}