@kaitranntt/ccs 7.1.1 → 7.2.0

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 (69) hide show
  1. package/README.md +31 -0
  2. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  3. package/dist/cliproxy/cliproxy-executor.js +31 -3
  4. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  5. package/dist/cliproxy/config-generator.d.ts +14 -2
  6. package/dist/cliproxy/config-generator.d.ts.map +1 -1
  7. package/dist/cliproxy/config-generator.js +96 -14
  8. package/dist/cliproxy/config-generator.js.map +1 -1
  9. package/dist/cliproxy/proxy-target-resolver.d.ts +39 -0
  10. package/dist/cliproxy/proxy-target-resolver.d.ts.map +1 -0
  11. package/dist/cliproxy/proxy-target-resolver.js +78 -0
  12. package/dist/cliproxy/proxy-target-resolver.js.map +1 -0
  13. package/dist/cliproxy/remote-auth-fetcher.d.ts +28 -0
  14. package/dist/cliproxy/remote-auth-fetcher.d.ts.map +1 -0
  15. package/dist/cliproxy/remote-auth-fetcher.js +109 -0
  16. package/dist/cliproxy/remote-auth-fetcher.js.map +1 -0
  17. package/dist/cliproxy/stats-fetcher.d.ts.map +1 -1
  18. package/dist/cliproxy/stats-fetcher.js +67 -27
  19. package/dist/cliproxy/stats-fetcher.js.map +1 -1
  20. package/dist/ui/assets/{accounts-BHwbYrlk.js → accounts-JQk7OQkj.js} +1 -1
  21. package/dist/ui/assets/{api-DJpZ8LEm.js → api-CEth-wUS.js} +1 -1
  22. package/dist/ui/assets/{card-eBeE3d2Y.js → card-z3bzNTGJ.js} +1 -1
  23. package/dist/ui/assets/cliproxy-D8Xj8822.js +3 -0
  24. package/dist/ui/assets/cliproxy-control-panel-34IxcHmp.js +1 -0
  25. package/dist/ui/assets/{confirm-dialog-z89q0fTn.js → confirm-dialog-CCbqijOM.js} +1 -1
  26. package/dist/ui/assets/{copilot-FnhMrlyP.js → copilot-1CHarUGE.js} +2 -2
  27. package/dist/ui/assets/{globalenv-section-CG-2dYbe.js → globalenv-section-DSZ-SvbT.js} +1 -1
  28. package/dist/ui/assets/{health-BSIDbsQ5.js → health-8_V4IkPC.js} +1 -1
  29. package/dist/ui/assets/{index-Wj07cp5J.js → index-BhG5iXmB.js} +3 -3
  30. package/dist/ui/assets/index-CgFCsfWr.css +1 -0
  31. package/dist/ui/assets/{index-BIQCjFis.js → index-DJ3WO1pE.js} +1 -1
  32. package/dist/ui/assets/{index-DAjwn87M.js → index-DMAAsR-c.js} +1 -1
  33. package/dist/ui/assets/{index-uUGebf-p.js → index-DX0uFN7k.js} +1 -1
  34. package/dist/ui/assets/{shared-B-GyZ0H0.js → shared-kOmZ3MPL.js} +1 -1
  35. package/dist/ui/assets/{switch-BZIbTOSn.js → switch-BNmIV8Xs.js} +1 -1
  36. package/dist/ui/index.html +2 -2
  37. package/dist/web-server/routes/account-routes.d.ts +8 -0
  38. package/dist/web-server/routes/account-routes.d.ts.map +1 -0
  39. package/dist/web-server/routes/account-routes.js +83 -0
  40. package/dist/web-server/routes/account-routes.js.map +1 -0
  41. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  42. package/dist/web-server/routes/cliproxy-auth-routes.js +146 -55
  43. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  44. package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
  45. package/dist/web-server/routes/cliproxy-stats-routes.js +156 -4
  46. package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
  47. package/dist/web-server/routes/config-routes.d.ts.map +1 -1
  48. package/dist/web-server/routes/config-routes.js +29 -14
  49. package/dist/web-server/routes/config-routes.js.map +1 -1
  50. package/dist/web-server/routes/health-routes.d.ts.map +1 -1
  51. package/dist/web-server/routes/health-routes.js +18 -8
  52. package/dist/web-server/routes/health-routes.js.map +1 -1
  53. package/dist/web-server/routes/index.d.ts.map +1 -1
  54. package/dist/web-server/routes/index.js +2 -1
  55. package/dist/web-server/routes/index.js.map +1 -1
  56. package/dist/web-server/routes/profile-routes.d.ts +2 -1
  57. package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
  58. package/dist/web-server/routes/profile-routes.js +15 -72
  59. package/dist/web-server/routes/profile-routes.js.map +1 -1
  60. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  61. package/dist/web-server/routes/settings-routes.js +145 -115
  62. package/dist/web-server/routes/settings-routes.js.map +1 -1
  63. package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
  64. package/dist/web-server/routes/variant-routes.js +62 -52
  65. package/dist/web-server/routes/variant-routes.js.map +1 -1
  66. package/package.json +1 -1
  67. package/dist/ui/assets/cliproxy-OmD-Ue8Q.js +0 -3
  68. package/dist/ui/assets/cliproxy-control-panel-Q3Xqk6tr.js +0 -1
  69. package/dist/ui/assets/index-BgZLsOHg.css +0 -1
@@ -50,158 +50,188 @@ function maskApiKeys(settings) {
50
50
  * GET /api/settings/:profile - Get settings with masked API keys
51
51
  */
52
52
  router.get('/:profile', (req, res) => {
53
- const { profile } = req.params;
54
- const ccsDir = (0, config_manager_1.getCcsDir)();
55
- const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
56
- if (!fs.existsSync(settingsPath)) {
57
- res.status(404).json({ error: 'Settings not found' });
58
- return;
53
+ try {
54
+ const { profile } = req.params;
55
+ const ccsDir = (0, config_manager_1.getCcsDir)();
56
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
57
+ if (!fs.existsSync(settingsPath)) {
58
+ res.status(404).json({ error: 'Settings not found' });
59
+ return;
60
+ }
61
+ const stat = fs.statSync(settingsPath);
62
+ const settings = (0, config_manager_1.loadSettings)(settingsPath);
63
+ const masked = maskApiKeys(settings);
64
+ res.json({
65
+ profile,
66
+ settings: masked,
67
+ mtime: stat.mtime.getTime(),
68
+ path: settingsPath,
69
+ });
70
+ }
71
+ catch (error) {
72
+ res.status(500).json({ error: error.message });
59
73
  }
60
- const stat = fs.statSync(settingsPath);
61
- const settings = (0, config_manager_1.loadSettings)(settingsPath);
62
- const masked = maskApiKeys(settings);
63
- res.json({
64
- profile,
65
- settings: masked,
66
- mtime: stat.mtime.getTime(),
67
- path: settingsPath,
68
- });
69
74
  });
70
75
  /**
71
76
  * GET /api/settings/:profile/raw - Get full settings (for editing)
72
77
  */
73
78
  router.get('/:profile/raw', (req, res) => {
74
- const { profile } = req.params;
75
- const ccsDir = (0, config_manager_1.getCcsDir)();
76
- const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
77
- if (!fs.existsSync(settingsPath)) {
78
- res.status(404).json({ error: 'Settings not found' });
79
- return;
79
+ try {
80
+ const { profile } = req.params;
81
+ const ccsDir = (0, config_manager_1.getCcsDir)();
82
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
83
+ if (!fs.existsSync(settingsPath)) {
84
+ res.status(404).json({ error: 'Settings not found' });
85
+ return;
86
+ }
87
+ const stat = fs.statSync(settingsPath);
88
+ const settings = (0, config_manager_1.loadSettings)(settingsPath);
89
+ res.json({
90
+ profile,
91
+ settings,
92
+ mtime: stat.mtime.getTime(),
93
+ path: settingsPath,
94
+ });
95
+ }
96
+ catch (error) {
97
+ res.status(500).json({ error: error.message });
80
98
  }
81
- const stat = fs.statSync(settingsPath);
82
- const settings = (0, config_manager_1.loadSettings)(settingsPath);
83
- res.json({
84
- profile,
85
- settings,
86
- mtime: stat.mtime.getTime(),
87
- path: settingsPath,
88
- });
89
99
  });
90
100
  /**
91
101
  * PUT /api/settings/:profile - Update settings with conflict detection and backup
92
102
  */
93
103
  router.put('/:profile', (req, res) => {
94
- const { profile } = req.params;
95
- const { settings, expectedMtime } = req.body;
96
- const ccsDir = (0, config_manager_1.getCcsDir)();
97
- const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
98
- const fileExists = fs.existsSync(settingsPath);
99
- // Only check conflict if file exists and expectedMtime was provided
100
- if (fileExists && expectedMtime) {
101
- const stat = fs.statSync(settingsPath);
102
- if (stat.mtime.getTime() !== expectedMtime) {
103
- res.status(409).json({
104
- error: 'File modified externally',
105
- currentMtime: stat.mtime.getTime(),
106
- });
107
- return;
104
+ try {
105
+ const { profile } = req.params;
106
+ const { settings, expectedMtime } = req.body;
107
+ const ccsDir = (0, config_manager_1.getCcsDir)();
108
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
109
+ const fileExists = fs.existsSync(settingsPath);
110
+ // Only check conflict if file exists and expectedMtime was provided
111
+ if (fileExists && expectedMtime) {
112
+ const stat = fs.statSync(settingsPath);
113
+ if (stat.mtime.getTime() !== expectedMtime) {
114
+ res.status(409).json({
115
+ error: 'File modified externally',
116
+ currentMtime: stat.mtime.getTime(),
117
+ });
118
+ return;
119
+ }
108
120
  }
109
- }
110
- // Create backup only if file exists
111
- let backupPath;
112
- if (fileExists) {
113
- const backupDir = path.join(ccsDir, 'backups');
114
- if (!fs.existsSync(backupDir)) {
115
- fs.mkdirSync(backupDir, { recursive: true });
121
+ // Create backup only if file exists
122
+ let backupPath;
123
+ if (fileExists) {
124
+ const backupDir = path.join(ccsDir, 'backups');
125
+ if (!fs.existsSync(backupDir)) {
126
+ fs.mkdirSync(backupDir, { recursive: true });
127
+ }
128
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
129
+ backupPath = path.join(backupDir, `${profile}.${timestamp}.settings.json`);
130
+ fs.copyFileSync(settingsPath, backupPath);
131
+ }
132
+ // Ensure directory exists for new files
133
+ if (!fileExists) {
134
+ fs.mkdirSync(path.dirname(settingsPath), { recursive: true });
116
135
  }
117
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
118
- backupPath = path.join(backupDir, `${profile}.${timestamp}.settings.json`);
119
- fs.copyFileSync(settingsPath, backupPath);
136
+ // Write new settings atomically
137
+ const tempPath = settingsPath + '.tmp';
138
+ fs.writeFileSync(tempPath, JSON.stringify(settings, null, 2) + '\n');
139
+ fs.renameSync(tempPath, settingsPath);
140
+ const newStat = fs.statSync(settingsPath);
141
+ res.json({
142
+ profile,
143
+ mtime: newStat.mtime.getTime(),
144
+ backupPath,
145
+ created: !fileExists,
146
+ });
120
147
  }
121
- // Ensure directory exists for new files
122
- if (!fileExists) {
123
- fs.mkdirSync(path.dirname(settingsPath), { recursive: true });
148
+ catch (error) {
149
+ res.status(500).json({ error: error.message });
124
150
  }
125
- // Write new settings atomically
126
- const tempPath = settingsPath + '.tmp';
127
- fs.writeFileSync(tempPath, JSON.stringify(settings, null, 2) + '\n');
128
- fs.renameSync(tempPath, settingsPath);
129
- const newStat = fs.statSync(settingsPath);
130
- res.json({
131
- profile,
132
- mtime: newStat.mtime.getTime(),
133
- backupPath,
134
- created: !fileExists,
135
- });
136
151
  });
137
152
  // ==================== Presets ====================
138
153
  /**
139
154
  * GET /api/settings/:profile/presets - Get saved presets for a provider
140
155
  */
141
156
  router.get('/:profile/presets', (req, res) => {
142
- const { profile } = req.params;
143
- const ccsDir = (0, config_manager_1.getCcsDir)();
144
- const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
145
- if (!fs.existsSync(settingsPath)) {
146
- res.json({ presets: [] });
147
- return;
157
+ try {
158
+ const { profile } = req.params;
159
+ const ccsDir = (0, config_manager_1.getCcsDir)();
160
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
161
+ if (!fs.existsSync(settingsPath)) {
162
+ res.json({ presets: [] });
163
+ return;
164
+ }
165
+ const settings = (0, config_manager_1.loadSettings)(settingsPath);
166
+ res.json({ presets: settings.presets || [] });
167
+ }
168
+ catch (error) {
169
+ res.status(500).json({ error: error.message });
148
170
  }
149
- const settings = (0, config_manager_1.loadSettings)(settingsPath);
150
- res.json({ presets: settings.presets || [] });
151
171
  });
152
172
  /**
153
173
  * POST /api/settings/:profile/presets - Create a new preset
154
174
  */
155
175
  router.post('/:profile/presets', (req, res) => {
156
- const { profile } = req.params;
157
- const { name, default: defaultModel, opus, sonnet, haiku } = req.body;
158
- if (!name || !defaultModel) {
159
- res.status(400).json({ error: 'Missing required fields: name, default' });
160
- return;
161
- }
162
- const ccsDir = (0, config_manager_1.getCcsDir)();
163
- const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
164
- // Create settings file if it doesn't exist
165
- if (!fs.existsSync(settingsPath)) {
166
- fs.writeFileSync(settingsPath, JSON.stringify({ env: {}, presets: [] }, null, 2) + '\n');
176
+ try {
177
+ const { profile } = req.params;
178
+ const { name, default: defaultModel, opus, sonnet, haiku } = req.body;
179
+ if (!name || !defaultModel) {
180
+ res.status(400).json({ error: 'Missing required fields: name, default' });
181
+ return;
182
+ }
183
+ const ccsDir = (0, config_manager_1.getCcsDir)();
184
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
185
+ // Create settings file if it doesn't exist
186
+ if (!fs.existsSync(settingsPath)) {
187
+ fs.writeFileSync(settingsPath, JSON.stringify({ env: {}, presets: [] }, null, 2) + '\n');
188
+ }
189
+ const settings = (0, config_manager_1.loadSettings)(settingsPath);
190
+ settings.presets = settings.presets || [];
191
+ // Check for duplicate name
192
+ if (settings.presets.some((p) => p.name === name)) {
193
+ res.status(409).json({ error: 'Preset with this name already exists' });
194
+ return;
195
+ }
196
+ const preset = {
197
+ name,
198
+ default: defaultModel,
199
+ opus: opus || defaultModel,
200
+ sonnet: sonnet || defaultModel,
201
+ haiku: haiku || defaultModel,
202
+ };
203
+ settings.presets.push(preset);
204
+ fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
205
+ res.status(201).json({ preset });
167
206
  }
168
- const settings = (0, config_manager_1.loadSettings)(settingsPath);
169
- settings.presets = settings.presets || [];
170
- // Check for duplicate name
171
- if (settings.presets.some((p) => p.name === name)) {
172
- res.status(409).json({ error: 'Preset with this name already exists' });
173
- return;
207
+ catch (error) {
208
+ res.status(500).json({ error: error.message });
174
209
  }
175
- const preset = {
176
- name,
177
- default: defaultModel,
178
- opus: opus || defaultModel,
179
- sonnet: sonnet || defaultModel,
180
- haiku: haiku || defaultModel,
181
- };
182
- settings.presets.push(preset);
183
- fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
184
- res.status(201).json({ preset });
185
210
  });
186
211
  /**
187
212
  * DELETE /api/settings/:profile/presets/:name - Delete a preset
188
213
  */
189
214
  router.delete('/:profile/presets/:name', (req, res) => {
190
- const { profile, name } = req.params;
191
- const ccsDir = (0, config_manager_1.getCcsDir)();
192
- const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
193
- if (!fs.existsSync(settingsPath)) {
194
- res.status(404).json({ error: 'Settings not found' });
195
- return;
215
+ try {
216
+ const { profile, name } = req.params;
217
+ const ccsDir = (0, config_manager_1.getCcsDir)();
218
+ const settingsPath = path.join(ccsDir, `${profile}.settings.json`);
219
+ if (!fs.existsSync(settingsPath)) {
220
+ res.status(404).json({ error: 'Settings not found' });
221
+ return;
222
+ }
223
+ const settings = (0, config_manager_1.loadSettings)(settingsPath);
224
+ if (!settings.presets || !settings.presets.some((p) => p.name === name)) {
225
+ res.status(404).json({ error: 'Preset not found' });
226
+ return;
227
+ }
228
+ settings.presets = settings.presets.filter((p) => p.name !== name);
229
+ fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
230
+ res.json({ success: true });
196
231
  }
197
- const settings = (0, config_manager_1.loadSettings)(settingsPath);
198
- if (!settings.presets || !settings.presets.some((p) => p.name === name)) {
199
- res.status(404).json({ error: 'Preset not found' });
200
- return;
232
+ catch (error) {
233
+ res.status(500).json({ error: error.message });
201
234
  }
202
- settings.presets = settings.presets.filter((p) => p.name !== name);
203
- fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
204
- res.json({ success: true });
205
235
  });
206
236
  exports.default = router;
207
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":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qCAAoD;AACpD,uCAAyB;AACzB,2CAA6B;AAC7B,+DAAqE;AACrE,+DAAgF;AAGhF,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB;;GAEG;AACH,SAAS,WAAW,CAAC,QAAkB;IACrC,IAAI,CAAC,QAAQ,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAEnC,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;IAEzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAA,+BAAc,EAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAA,mCAAkB,EAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAA,6BAAY,EAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErC,GAAG,CAAC,IAAI,CAAC;QACP,OAAO;QACP,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAC3B,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IAChE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAA,6BAAY,EAAC,YAAY,CAAC,CAAC;IAE5C,GAAG,CAAC,IAAI,CAAC;QACP,OAAO;QACP,QAAQ;QACR,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAC3B,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE/C,oEAAoE;IACpE,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,aAAa,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,0BAA0B;gBACjC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;aACnC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,UAA8B,CAAC;IACnC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,IAAI,SAAS,gBAAgB,CAAC,CAAC;QAC3E,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,gCAAgC;IAChC,MAAM,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,IAAI,CAAC;QACP,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;QAC9B,UAAU;QACV,OAAO,EAAE,CAAC,UAAU;KACrB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oDAAoD;AAEpD;;GAEG;AACH,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IACpE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAY,EAAC,YAAY,CAAC,CAAC;IAC5C,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAEnE,2CAA2C;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAY,EAAC,YAAY,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAE1C,2BAA2B;IAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,IAAI,IAAI,YAAY;QAC1B,MAAM,EAAE,MAAM,IAAI,YAAY;QAC9B,KAAK,EAAE,KAAK,IAAI,YAAY;KAC7B,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IAC7E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAY,EAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACnE,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"settings-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/settings-routes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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;AAkJxB,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"}
@@ -88,71 +88,81 @@ router.post('/', (req, res) => {
88
88
  * PUT /api/cliproxy/:name - Update cliproxy variant
89
89
  */
90
90
  router.put('/:name', (req, res) => {
91
- const { name } = req.params;
92
- const { provider, account, model } = req.body;
93
- const config = (0, route_helpers_1.readConfigSafe)();
94
- if (!config.cliproxy?.[name]) {
95
- res.status(404).json({ error: 'Variant not found' });
96
- return;
97
- }
98
- const variant = config.cliproxy[name];
99
- // Update fields if provided
100
- if (provider) {
101
- variant.provider = provider;
102
- }
103
- if (account !== undefined) {
104
- if (account) {
105
- variant.account = account;
91
+ try {
92
+ const { name } = req.params;
93
+ const { provider, account, model } = req.body;
94
+ const config = (0, route_helpers_1.readConfigSafe)();
95
+ if (!config.cliproxy?.[name]) {
96
+ res.status(404).json({ error: 'Variant not found' });
97
+ return;
106
98
  }
107
- else {
108
- delete variant.account; // Remove account to use default
99
+ const variant = config.cliproxy[name];
100
+ // Update fields if provided
101
+ if (provider) {
102
+ variant.provider = provider;
109
103
  }
110
- }
111
- // Update model in settings file if provided
112
- if (model !== undefined) {
113
- const settingsPath = path.join((0, config_manager_1.getCcsDir)(), `${name}.settings.json`);
114
- if (fs.existsSync(settingsPath)) {
115
- const settings = (0, config_manager_1.loadSettings)(settingsPath);
116
- if (model) {
117
- settings.env = settings.env || {};
118
- settings.env.ANTHROPIC_MODEL = model;
104
+ if (account !== undefined) {
105
+ if (account) {
106
+ variant.account = account;
119
107
  }
120
- else if (settings.env) {
121
- delete settings.env.ANTHROPIC_MODEL;
108
+ else {
109
+ delete variant.account; // Remove account to use default
122
110
  }
123
- fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
124
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);
128
+ res.json({
129
+ name,
130
+ provider: variant.provider,
131
+ account: variant.account || 'default',
132
+ settings: variant.settings,
133
+ updated: true,
134
+ });
135
+ }
136
+ catch (error) {
137
+ res.status(500).json({ error: error.message });
125
138
  }
126
- (0, route_helpers_1.writeConfig)(config);
127
- res.json({
128
- name,
129
- provider: variant.provider,
130
- account: variant.account || 'default',
131
- settings: variant.settings,
132
- updated: true,
133
- });
134
139
  });
135
140
  /**
136
141
  * DELETE /api/cliproxy/:name - Delete cliproxy variant
137
142
  */
138
143
  router.delete('/:name', (req, res) => {
139
- const { name } = req.params;
140
- const config = (0, route_helpers_1.readConfigSafe)();
141
- if (!config.cliproxy?.[name]) {
142
- res.status(404).json({ error: 'Variant not found' });
143
- return;
144
- }
145
- // Never delete settings files for reserved provider names (safety guard)
146
- if (!(0, reserved_names_1.isReservedName)(name)) {
147
- // Only delete settings file for non-reserved variant names
148
- const settingsPath = path.join((0, config_manager_1.getCcsDir)(), `${name}.settings.json`);
149
- if (fs.existsSync(settingsPath)) {
150
- fs.unlinkSync(settingsPath);
144
+ try {
145
+ const { name } = req.params;
146
+ const config = (0, route_helpers_1.readConfigSafe)();
147
+ if (!config.cliproxy?.[name]) {
148
+ res.status(404).json({ error: 'Variant not found' });
149
+ return;
150
+ }
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
+ }
151
158
  }
159
+ delete config.cliproxy[name];
160
+ (0, route_helpers_1.writeConfig)(config);
161
+ res.json({ name, deleted: true });
162
+ }
163
+ catch (error) {
164
+ res.status(500).json({ error: error.message });
152
165
  }
153
- delete config.cliproxy[name];
154
- (0, route_helpers_1.writeConfig)(config);
155
- res.json({ name, deleted: true });
156
166
  });
157
167
  exports.default = router;
158
168
  //# sourceMappingURL=variant-routes.js.map
@@ -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.1.1",
3
+ "version": "7.2.0",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
5
5
  "keywords": [
6
6
  "cli",