@kaitranntt/ccs 5.14.0 → 5.15.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 (106) hide show
  1. package/README.md +10 -1
  2. package/VERSION +1 -1
  3. package/dist/auth/auth-commands.d.ts +8 -0
  4. package/dist/auth/auth-commands.d.ts.map +1 -1
  5. package/dist/auth/auth-commands.js +54 -14
  6. package/dist/auth/auth-commands.js.map +1 -1
  7. package/dist/auth/profile-detector.d.ts +25 -6
  8. package/dist/auth/profile-detector.d.ts.map +1 -1
  9. package/dist/auth/profile-detector.js +150 -7
  10. package/dist/auth/profile-detector.js.map +1 -1
  11. package/dist/auth/profile-registry.d.ts +35 -0
  12. package/dist/auth/profile-registry.d.ts.map +1 -1
  13. package/dist/auth/profile-registry.js +91 -0
  14. package/dist/auth/profile-registry.js.map +1 -1
  15. package/dist/ccs.js +17 -0
  16. package/dist/ccs.js.map +1 -1
  17. package/dist/cliproxy/account-manager.d.ts +4 -0
  18. package/dist/cliproxy/account-manager.d.ts.map +1 -1
  19. package/dist/cliproxy/account-manager.js +25 -1
  20. package/dist/cliproxy/account-manager.js.map +1 -1
  21. package/dist/cliproxy/auth-handler.d.ts +1 -0
  22. package/dist/cliproxy/auth-handler.d.ts.map +1 -1
  23. package/dist/cliproxy/auth-handler.js +8 -5
  24. package/dist/cliproxy/auth-handler.js.map +1 -1
  25. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  26. package/dist/cliproxy/cliproxy-executor.js +43 -3
  27. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  28. package/dist/commands/api-command.d.ts +4 -0
  29. package/dist/commands/api-command.d.ts.map +1 -1
  30. package/dist/commands/api-command.js +299 -42
  31. package/dist/commands/api-command.js.map +1 -1
  32. package/dist/commands/cliproxy-command.d.ts +4 -0
  33. package/dist/commands/cliproxy-command.d.ts.map +1 -1
  34. package/dist/commands/cliproxy-command.js +181 -55
  35. package/dist/commands/cliproxy-command.js.map +1 -1
  36. package/dist/commands/migrate-command.d.ts +17 -0
  37. package/dist/commands/migrate-command.d.ts.map +1 -0
  38. package/dist/commands/migrate-command.js +139 -0
  39. package/dist/commands/migrate-command.js.map +1 -0
  40. package/dist/config/feature-flags.d.ts +19 -0
  41. package/dist/config/feature-flags.d.ts.map +1 -0
  42. package/dist/config/feature-flags.js +31 -0
  43. package/dist/config/feature-flags.js.map +1 -0
  44. package/dist/config/index.d.ts +12 -0
  45. package/dist/config/index.d.ts.map +1 -0
  46. package/dist/config/index.js +33 -0
  47. package/dist/config/index.js.map +1 -0
  48. package/dist/config/migration-manager.d.ts +46 -0
  49. package/dist/config/migration-manager.d.ts.map +1 -0
  50. package/dist/config/migration-manager.js +338 -0
  51. package/dist/config/migration-manager.js.map +1 -0
  52. package/dist/config/reserved-names.d.ts +19 -0
  53. package/dist/config/reserved-names.d.ts.map +1 -0
  54. package/dist/config/reserved-names.js +40 -0
  55. package/dist/config/reserved-names.js.map +1 -0
  56. package/dist/config/secrets-manager.d.ts +51 -0
  57. package/dist/config/secrets-manager.d.ts.map +1 -0
  58. package/dist/config/secrets-manager.js +194 -0
  59. package/dist/config/secrets-manager.js.map +1 -0
  60. package/dist/config/unified-config-loader.d.ts +55 -0
  61. package/dist/config/unified-config-loader.d.ts.map +1 -0
  62. package/dist/config/unified-config-loader.js +262 -0
  63. package/dist/config/unified-config-loader.js.map +1 -0
  64. package/dist/config/unified-config-types.d.ts +126 -0
  65. package/dist/config/unified-config-types.d.ts.map +1 -0
  66. package/dist/config/unified-config-types.js +75 -0
  67. package/dist/config/unified-config-types.js.map +1 -0
  68. package/dist/ui/assets/{accounts-CTGj9Xoy.js → accounts-CTh48XsV.js} +1 -1
  69. package/dist/ui/assets/{analytics-BAilRuX-.js → analytics-CeU8ZE3O.js} +2 -2
  70. package/dist/ui/assets/api-LYILKXgM.js +1 -0
  71. package/dist/ui/assets/cliproxy-Cy2Bjv-c.js +1 -0
  72. package/dist/ui/assets/code-editor-HkboCFlD.js +36 -0
  73. package/dist/ui/assets/health-DyAiAnv0.js +1 -0
  74. package/dist/ui/assets/icons-CRbZgamU.js +1 -0
  75. package/dist/ui/assets/index-BIVAVDH5.js +10 -0
  76. package/dist/ui/assets/index-vojI8oaQ.css +1 -0
  77. package/dist/ui/assets/radix-ui-CgfZoNEt.js +51 -0
  78. package/dist/ui/assets/settings-DUCWbKbP.js +1 -0
  79. package/dist/ui/assets/{shared-xuI4eAiJ.js → shared-Da5f_jsc.js} +1 -1
  80. package/dist/ui/assets/{table-CxORHSk_.js → table-BCRYixSo.js} +1 -1
  81. package/dist/ui/assets/{tanstack-DcowkQHo.js → tanstack-BgSYOn90.js} +1 -1
  82. package/dist/ui/index.html +5 -5
  83. package/dist/utils/sensitive-keys.d.ts +35 -0
  84. package/dist/utils/sensitive-keys.d.ts.map +1 -0
  85. package/dist/utils/sensitive-keys.js +67 -0
  86. package/dist/utils/sensitive-keys.js.map +1 -0
  87. package/dist/utils/update-checker.d.ts.map +1 -1
  88. package/dist/utils/update-checker.js +4 -4
  89. package/dist/utils/update-checker.js.map +1 -1
  90. package/dist/web-server/routes.d.ts.map +1 -1
  91. package/dist/web-server/routes.js +306 -20
  92. package/dist/web-server/routes.js.map +1 -1
  93. package/dist/web-server/usage-disk-cache.d.ts +1 -1
  94. package/dist/web-server/usage-disk-cache.d.ts.map +1 -1
  95. package/dist/web-server/usage-disk-cache.js +8 -7
  96. package/dist/web-server/usage-disk-cache.js.map +1 -1
  97. package/package.json +3 -1
  98. package/dist/ui/assets/api-D4gcZ85I.js +0 -1
  99. package/dist/ui/assets/cliproxy-WthWDZC_.js +0 -1
  100. package/dist/ui/assets/dropdown-menu-B3eFx_YP.js +0 -1
  101. package/dist/ui/assets/health-BzK4Dd4z.js +0 -1
  102. package/dist/ui/assets/icons-CLZywnx1.js +0 -1
  103. package/dist/ui/assets/index-2ZBa_Kkt.css +0 -1
  104. package/dist/ui/assets/index-CWyYvwwn.js +0 -10
  105. package/dist/ui/assets/radix-ui-4P1Sa1Vh.js +0 -51
  106. package/dist/ui/assets/settings-DKL5mcjT.js +0 -1
@@ -37,6 +37,12 @@ const helpers_1 = require("../utils/helpers");
37
37
  const health_service_1 = require("./health-service");
38
38
  const auth_handler_1 = require("../cliproxy/auth-handler");
39
39
  const account_manager_1 = require("../cliproxy/account-manager");
40
+ // Unified config imports
41
+ const unified_config_loader_1 = require("../config/unified-config-loader");
42
+ const migration_manager_1 = require("../config/migration-manager");
43
+ const secrets_manager_1 = require("../config/secrets-manager");
44
+ const unified_config_types_1 = require("../config/unified-config-types");
45
+ const sensitive_keys_1 = require("../utils/sensitive-keys");
40
46
  exports.apiRoutes = (0, express_1.Router)();
41
47
  /**
42
48
  * Helper: Read config safely with fallback
@@ -79,13 +85,17 @@ function isConfigured(profileName, config) {
79
85
  /**
80
86
  * Helper: Create settings file for profile
81
87
  */
82
- function createSettingsFile(name, baseUrl, apiKey, model) {
88
+ function createSettingsFile(name, baseUrl, apiKey, models = {}) {
83
89
  const settingsPath = path.join((0, config_manager_1.getCcsDir)(), `${name}.settings.json`);
90
+ const { model, opusModel, sonnetModel, haikuModel } = models;
84
91
  const settings = {
85
92
  env: {
86
93
  ANTHROPIC_BASE_URL: baseUrl,
87
94
  ANTHROPIC_AUTH_TOKEN: apiKey,
88
95
  ...(model && { ANTHROPIC_MODEL: model }),
96
+ ...(opusModel && { ANTHROPIC_DEFAULT_OPUS_MODEL: opusModel }),
97
+ ...(sonnetModel && { ANTHROPIC_DEFAULT_SONNET_MODEL: sonnetModel }),
98
+ ...(haikuModel && { ANTHROPIC_DEFAULT_HAIKU_MODEL: haikuModel }),
89
99
  },
90
100
  };
91
101
  fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
@@ -117,6 +127,34 @@ function updateSettingsFile(name, updates) {
117
127
  delete settings.env.ANTHROPIC_MODEL;
118
128
  }
119
129
  }
130
+ // Handle model mapping fields
131
+ if (updates.opusModel !== undefined) {
132
+ settings.env = settings.env || {};
133
+ if (updates.opusModel) {
134
+ settings.env.ANTHROPIC_DEFAULT_OPUS_MODEL = updates.opusModel;
135
+ }
136
+ else {
137
+ delete settings.env.ANTHROPIC_DEFAULT_OPUS_MODEL;
138
+ }
139
+ }
140
+ if (updates.sonnetModel !== undefined) {
141
+ settings.env = settings.env || {};
142
+ if (updates.sonnetModel) {
143
+ settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL = updates.sonnetModel;
144
+ }
145
+ else {
146
+ delete settings.env.ANTHROPIC_DEFAULT_SONNET_MODEL;
147
+ }
148
+ }
149
+ if (updates.haikuModel !== undefined) {
150
+ settings.env = settings.env || {};
151
+ if (updates.haikuModel) {
152
+ settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = updates.haikuModel;
153
+ }
154
+ else {
155
+ delete settings.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
156
+ }
157
+ }
120
158
  fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
121
159
  }
122
160
  /**
@@ -147,7 +185,7 @@ exports.apiRoutes.get('/profiles', (_req, res) => {
147
185
  * POST /api/profiles - Create new profile
148
186
  */
149
187
  exports.apiRoutes.post('/profiles', (req, res) => {
150
- const { name, baseUrl, apiKey, model } = req.body;
188
+ const { name, baseUrl, apiKey, model, opusModel, sonnetModel, haikuModel } = req.body;
151
189
  if (!name || !baseUrl || !apiKey) {
152
190
  res.status(400).json({ error: 'Missing required fields: name, baseUrl, apiKey' });
153
191
  return;
@@ -161,8 +199,13 @@ exports.apiRoutes.post('/profiles', (req, res) => {
161
199
  if (!fs.existsSync((0, config_manager_1.getCcsDir)())) {
162
200
  fs.mkdirSync((0, config_manager_1.getCcsDir)(), { recursive: true });
163
201
  }
164
- // Create settings file
165
- const settingsPath = createSettingsFile(name, baseUrl, apiKey, model);
202
+ // Create settings file with model mapping
203
+ const settingsPath = createSettingsFile(name, baseUrl, apiKey, {
204
+ model,
205
+ opusModel,
206
+ sonnetModel,
207
+ haikuModel,
208
+ });
166
209
  // Update config
167
210
  config.profiles[name] = settingsPath;
168
211
  writeConfig(config);
@@ -173,14 +216,14 @@ exports.apiRoutes.post('/profiles', (req, res) => {
173
216
  */
174
217
  exports.apiRoutes.put('/profiles/:name', (req, res) => {
175
218
  const { name } = req.params;
176
- const { baseUrl, apiKey, model } = req.body;
219
+ const { baseUrl, apiKey, model, opusModel, sonnetModel, haikuModel } = req.body;
177
220
  const config = readConfigSafe();
178
221
  if (!config.profiles[name]) {
179
222
  res.status(404).json({ error: 'Profile not found' });
180
223
  return;
181
224
  }
182
225
  try {
183
- updateSettingsFile(name, { baseUrl, apiKey, model });
226
+ updateSettingsFile(name, { baseUrl, apiKey, model, opusModel, sonnetModel, haikuModel });
184
227
  res.json({ name, updated: true });
185
228
  }
186
229
  catch (error) {
@@ -414,21 +457,9 @@ function maskApiKeys(settings) {
414
457
  if (!settings.env)
415
458
  return settings;
416
459
  const masked = { ...settings, env: { ...settings.env } };
417
- // Pattern-based matching for sensitive keys
418
- const sensitivePatterns = [
419
- /^ANTHROPIC_AUTH_TOKEN$/, // Exact match for Anthropic auth token
420
- /_API_KEY$/, // Keys ending with _API_KEY
421
- /_AUTH_TOKEN$/, // Keys ending with _AUTH_TOKEN
422
- /^API_KEY$/, // Exact match for API_KEY
423
- /^AUTH_TOKEN$/, // Exact match for AUTH_TOKEN
424
- ];
425
460
  for (const key of Object.keys(masked.env)) {
426
- if (sensitivePatterns.some((pattern) => pattern.test(key))) {
427
- const value = masked.env[key];
428
- if (value && value.length > 8) {
429
- masked.env[key] =
430
- value.slice(0, 4) + '*'.repeat(Math.max(0, value.length - 8)) + value.slice(-4);
431
- }
461
+ if ((0, sensitive_keys_1.isSensitiveKey)(key)) {
462
+ masked.env[key] = (0, sensitive_keys_1.maskSensitiveValue)(masked.env[key]);
432
463
  }
433
464
  }
434
465
  return masked;
@@ -574,4 +605,259 @@ exports.apiRoutes.post('/health/fix/:checkId', (req, res) => {
574
605
  res.status(400).json({ success: false, message: result.message });
575
606
  }
576
607
  });
608
+ // ==================== Unified Config (Phase 5) ====================
609
+ /**
610
+ * GET /api/config/format - Return current config format and migration status
611
+ */
612
+ exports.apiRoutes.get('/config/format', (_req, res) => {
613
+ res.json({
614
+ format: (0, unified_config_loader_1.getConfigFormat)(),
615
+ migrationNeeded: (0, migration_manager_1.needsMigration)(),
616
+ backups: (0, migration_manager_1.getBackupDirectories)(),
617
+ });
618
+ });
619
+ /**
620
+ * GET /api/config - Return unified config (excludes secrets)
621
+ */
622
+ exports.apiRoutes.get('/config', (_req, res) => {
623
+ if (!(0, unified_config_loader_1.hasUnifiedConfig)()) {
624
+ res.status(400).json({ error: 'Unified config not enabled' });
625
+ return;
626
+ }
627
+ const config = (0, unified_config_loader_1.loadUnifiedConfig)();
628
+ if (!config) {
629
+ res.status(500).json({ error: 'Failed to load config' });
630
+ return;
631
+ }
632
+ res.json(config);
633
+ });
634
+ /**
635
+ * PUT /api/config - Update unified config
636
+ */
637
+ exports.apiRoutes.put('/config', (req, res) => {
638
+ const config = req.body;
639
+ if (!(0, unified_config_types_1.isUnifiedConfig)(config)) {
640
+ res.status(400).json({ error: 'Invalid config format' });
641
+ return;
642
+ }
643
+ try {
644
+ (0, unified_config_loader_1.saveUnifiedConfig)(config);
645
+ res.json({ success: true });
646
+ }
647
+ catch (err) {
648
+ res.status(500).json({ error: err.message });
649
+ }
650
+ });
651
+ /**
652
+ * POST /api/config/migrate - Trigger migration from JSON to YAML
653
+ */
654
+ exports.apiRoutes.post('/config/migrate', async (req, res) => {
655
+ const dryRun = req.query.dryRun === 'true';
656
+ const result = await (0, migration_manager_1.migrate)(dryRun);
657
+ res.json(result);
658
+ });
659
+ /**
660
+ * POST /api/config/rollback - Rollback migration to JSON format
661
+ */
662
+ exports.apiRoutes.post('/config/rollback', async (req, res) => {
663
+ const { backupPath } = req.body;
664
+ if (!backupPath || typeof backupPath !== 'string') {
665
+ res.status(400).json({ error: 'Missing required field: backupPath' });
666
+ return;
667
+ }
668
+ const success = await (0, migration_manager_1.rollback)(backupPath);
669
+ res.json({ success });
670
+ });
671
+ /**
672
+ * PUT /api/secrets/:profile - Update profile secrets (write-only)
673
+ */
674
+ exports.apiRoutes.put('/secrets/:profile', (req, res) => {
675
+ const { profile } = req.params;
676
+ const secrets = req.body;
677
+ if (!secrets || typeof secrets !== 'object') {
678
+ res.status(400).json({ error: 'Invalid secrets format' });
679
+ return;
680
+ }
681
+ try {
682
+ (0, secrets_manager_1.setProfileSecrets)(profile, secrets);
683
+ res.json({ success: true });
684
+ }
685
+ catch (err) {
686
+ res.status(500).json({ error: err.message });
687
+ }
688
+ });
689
+ /**
690
+ * GET /api/secrets/:profile/exists - Check if secrets exist (no values returned)
691
+ */
692
+ exports.apiRoutes.get('/secrets/:profile/exists', (req, res) => {
693
+ const { profile } = req.params;
694
+ const secrets = (0, secrets_manager_1.getProfileSecrets)(profile);
695
+ res.json({
696
+ exists: Object.keys(secrets).length > 0,
697
+ keys: Object.keys(secrets), // Only key names, not values
698
+ });
699
+ });
700
+ // ==================== Generic File API (Issue #73) ====================
701
+ /**
702
+ * Security: Validate file path is within allowed directories
703
+ * - ~/.ccs/ directory: read/write allowed
704
+ * - ~/.claude/settings.json: read-only
705
+ */
706
+ function validateFilePath(filePath) {
707
+ const expandedPath = (0, helpers_1.expandPath)(filePath);
708
+ const normalizedPath = path.normalize(expandedPath);
709
+ const ccsDir = (0, config_manager_1.getCcsDir)();
710
+ const claudeSettingsPath = (0, helpers_1.expandPath)('~/.claude/settings.json');
711
+ // Check if path is within ~/.ccs/
712
+ if (normalizedPath.startsWith(ccsDir)) {
713
+ // Block access to sensitive subdirectories
714
+ const relativePath = normalizedPath.slice(ccsDir.length);
715
+ if (relativePath.includes('/.git/') || relativePath.includes('/node_modules/')) {
716
+ return { valid: false, readonly: false, error: 'Access to this path is not allowed' };
717
+ }
718
+ return { valid: true, readonly: false };
719
+ }
720
+ // Allow read-only access to ~/.claude/settings.json
721
+ if (normalizedPath === claudeSettingsPath) {
722
+ return { valid: true, readonly: true };
723
+ }
724
+ return { valid: false, readonly: false, error: 'Access to this path is not allowed' };
725
+ }
726
+ /**
727
+ * GET /api/file - Read a file with path validation
728
+ * Query params: path (required)
729
+ * Returns: { content: string, mtime: number, readonly: boolean, path: string }
730
+ */
731
+ exports.apiRoutes.get('/file', (req, res) => {
732
+ const filePath = req.query.path;
733
+ if (!filePath) {
734
+ res.status(400).json({ error: 'Missing required query parameter: path' });
735
+ return;
736
+ }
737
+ const validation = validateFilePath(filePath);
738
+ if (!validation.valid) {
739
+ res.status(403).json({ error: validation.error });
740
+ return;
741
+ }
742
+ const expandedPath = (0, helpers_1.expandPath)(filePath);
743
+ if (!fs.existsSync(expandedPath)) {
744
+ res.status(404).json({ error: 'File not found' });
745
+ return;
746
+ }
747
+ try {
748
+ const stat = fs.statSync(expandedPath);
749
+ const content = fs.readFileSync(expandedPath, 'utf8');
750
+ res.json({
751
+ content,
752
+ mtime: stat.mtime.getTime(),
753
+ readonly: validation.readonly,
754
+ path: expandedPath,
755
+ });
756
+ }
757
+ catch (error) {
758
+ res.status(500).json({ error: error.message });
759
+ }
760
+ });
761
+ /**
762
+ * PUT /api/file - Write a file with conflict detection and backup
763
+ * Query params: path (required)
764
+ * Body: { content: string, expectedMtime?: number }
765
+ * Returns: { success: true, mtime: number, backupPath?: string }
766
+ */
767
+ exports.apiRoutes.put('/file', (req, res) => {
768
+ const filePath = req.query.path;
769
+ const { content, expectedMtime } = req.body;
770
+ if (!filePath) {
771
+ res.status(400).json({ error: 'Missing required query parameter: path' });
772
+ return;
773
+ }
774
+ if (typeof content !== 'string') {
775
+ res.status(400).json({ error: 'Missing required field: content' });
776
+ return;
777
+ }
778
+ const validation = validateFilePath(filePath);
779
+ if (!validation.valid) {
780
+ res.status(403).json({ error: validation.error });
781
+ return;
782
+ }
783
+ if (validation.readonly) {
784
+ res.status(403).json({ error: 'File is read-only' });
785
+ return;
786
+ }
787
+ const expandedPath = (0, helpers_1.expandPath)(filePath);
788
+ const ccsDir = (0, config_manager_1.getCcsDir)();
789
+ // Conflict detection (if file exists and expectedMtime provided)
790
+ if (fs.existsSync(expandedPath) && expectedMtime !== undefined) {
791
+ const stat = fs.statSync(expandedPath);
792
+ if (stat.mtime.getTime() !== expectedMtime) {
793
+ res.status(409).json({
794
+ error: 'File modified externally',
795
+ currentMtime: stat.mtime.getTime(),
796
+ });
797
+ return;
798
+ }
799
+ }
800
+ try {
801
+ // Create backup if file exists
802
+ let backupPath;
803
+ if (fs.existsSync(expandedPath)) {
804
+ const backupDir = path.join(ccsDir, 'backups');
805
+ if (!fs.existsSync(backupDir)) {
806
+ fs.mkdirSync(backupDir, { recursive: true });
807
+ }
808
+ const filename = path.basename(expandedPath);
809
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
810
+ backupPath = path.join(backupDir, `${filename}.${timestamp}.bak`);
811
+ fs.copyFileSync(expandedPath, backupPath);
812
+ }
813
+ // Ensure parent directory exists
814
+ const parentDir = path.dirname(expandedPath);
815
+ if (!fs.existsSync(parentDir)) {
816
+ fs.mkdirSync(parentDir, { recursive: true });
817
+ }
818
+ // Write atomically
819
+ const tempPath = expandedPath + '.tmp';
820
+ fs.writeFileSync(tempPath, content);
821
+ fs.renameSync(tempPath, expandedPath);
822
+ const newStat = fs.statSync(expandedPath);
823
+ res.json({
824
+ success: true,
825
+ mtime: newStat.mtime.getTime(),
826
+ backupPath,
827
+ });
828
+ }
829
+ catch (error) {
830
+ res.status(500).json({ error: error.message });
831
+ }
832
+ });
833
+ /**
834
+ * GET /api/files - List editable files in ~/.ccs/
835
+ * Returns: { files: Array<{ name: string, path: string, mtime: number }> }
836
+ */
837
+ exports.apiRoutes.get('/files', (_req, res) => {
838
+ const ccsDir = (0, config_manager_1.getCcsDir)();
839
+ if (!fs.existsSync(ccsDir)) {
840
+ res.json({ files: [] });
841
+ return;
842
+ }
843
+ try {
844
+ const entries = fs.readdirSync(ccsDir, { withFileTypes: true });
845
+ const files = entries
846
+ .filter((entry) => entry.isFile() && entry.name.endsWith('.json'))
847
+ .map((entry) => {
848
+ const filePath = path.join(ccsDir, entry.name);
849
+ const stat = fs.statSync(filePath);
850
+ return {
851
+ name: entry.name,
852
+ path: `~/.ccs/${entry.name}`,
853
+ mtime: stat.mtime.getTime(),
854
+ };
855
+ })
856
+ .sort((a, b) => a.name.localeCompare(b.name));
857
+ res.json({ files });
858
+ }
859
+ catch (error) {
860
+ res.status(500).json({ error: error.message });
861
+ }
862
+ });
577
863
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/web-server/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/web-server/routes.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Caches aggregated usage data to disk to avoid re-parsing 6000+ JSONL files
5
5
  * on every dashboard startup. Uses TTL-based invalidation with stale-while-revalidate.
6
6
  *
7
- * Cache location: ~/.ccs/usage-cache.json
7
+ * Cache location: ~/.ccs/cache/usage.json
8
8
  * Default TTL: 5 minutes (configurable)
9
9
  */
10
10
  import type { DailyUsage, MonthlyUsage, SessionUsage } from './usage-types';
@@ -1 +1 @@
1
- {"version":3,"file":"usage-disk-cache.d.ts","sourceRoot":"","sources":["../../src/web-server/usage-disk-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQ5E,uCAAuC;AACvC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAeD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,cAAc,GAAG,IAAI,CAsBrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAItE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAItE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EAAE,GACtB,IAAI,CAsBN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CAWhE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CASrC"}
1
+ {"version":3,"file":"usage-disk-cache.d.ts","sourceRoot":"","sources":["../../src/web-server/usage-disk-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAS5E,uCAAuC;AACvC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAeD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,cAAc,GAAG,IAAI,CAsBrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAItE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAItE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EAAE,GACtB,IAAI,CAsBN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CAWhE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CASrC"}
@@ -5,7 +5,7 @@
5
5
  * Caches aggregated usage data to disk to avoid re-parsing 6000+ JSONL files
6
6
  * on every dashboard startup. Uses TTL-based invalidation with stale-while-revalidate.
7
7
  *
8
- * Cache location: ~/.ccs/usage-cache.json
8
+ * Cache location: ~/.ccs/cache/usage.json
9
9
  * Default TTL: 5 minutes (configurable)
10
10
  */
11
11
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -38,18 +38,19 @@ const path = __importStar(require("path"));
38
38
  const os = __importStar(require("os"));
39
39
  // Cache configuration
40
40
  const CCS_DIR = path.join(os.homedir(), '.ccs');
41
- const CACHE_FILE = path.join(CCS_DIR, 'usage-cache.json');
41
+ const CACHE_DIR = path.join(CCS_DIR, 'cache');
42
+ const CACHE_FILE = path.join(CACHE_DIR, 'usage.json');
42
43
  const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
43
44
  const STALE_TTL_MS = 7 * 24 * 60 * 60 * 1000; // 7 days (max age for stale data)
44
45
  // Current cache version - increment to invalidate old caches
45
46
  // v2: Updated model pricing (Opus 4.5: $5/$25, Gemini 3, GLM, Kimi, etc.)
46
47
  const CACHE_VERSION = 2;
47
48
  /**
48
- * Ensure ~/.ccs directory exists
49
+ * Ensure ~/.ccs/cache directory exists
49
50
  */
50
- function ensureCcsDir() {
51
- if (!fs.existsSync(CCS_DIR)) {
52
- fs.mkdirSync(CCS_DIR, { recursive: true });
51
+ function ensureCacheDir() {
52
+ if (!fs.existsSync(CACHE_DIR)) {
53
+ fs.mkdirSync(CACHE_DIR, { recursive: true });
53
54
  }
54
55
  }
55
56
  /**
@@ -104,7 +105,7 @@ exports.isDiskCacheStale = isDiskCacheStale;
104
105
  */
105
106
  function writeDiskCache(daily, monthly, session) {
106
107
  try {
107
- ensureCcsDir();
108
+ ensureCacheDir();
108
109
  const cache = {
109
110
  version: CACHE_VERSION,
110
111
  timestamp: Date.now(),
@@ -1 +1 @@
1
- {"version":3,"file":"usage-disk-cache.js","sourceRoot":"","sources":["../../src/web-server/usage-disk-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-disk-cache.js","sourceRoot":"","sources":["../../src/web-server/usage-disk-cache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "5.14.0",
3
+ "version": "5.15.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",
@@ -87,6 +87,7 @@
87
87
  "express": "^4.18.2",
88
88
  "get-port": "^7.0.0",
89
89
  "gradient-string": "^3.0.0",
90
+ "js-yaml": "^4.1.1",
90
91
  "listr2": "^9.0.5",
91
92
  "open": "^10.1.0",
92
93
  "ora": "^9.0.0",
@@ -100,6 +101,7 @@
100
101
  "@tailwindcss/vite": "^4.1.17",
101
102
  "@types/chokidar": "^2.1.7",
102
103
  "@types/express": "^4.17.21",
104
+ "@types/js-yaml": "^4.0.9",
103
105
  "@types/node": "^20.19.25",
104
106
  "@types/ws": "^8.5.10",
105
107
  "@typescript-eslint/eslint-plugin": "^8.48.0",
@@ -1 +0,0 @@
1
- import{j as e,K as M,L as I,M as L,N as k,Q as K,U as R,V as z,W as F}from"./radix-ui-4P1Sa1Vh.js";import{r as m}from"./react-vendor-CjrBBxxX.js";import{u as $,B as p,I as E,c as u,k as A,D as H,l as _,m as q,n as V,o as Q,T as U,p as B,q as C,r as w,h as J,L as Y,C as G,e as W,f as X,s as Z,a as ee,t as y,v as se,w as te}from"./index-CWyYvwwn.js";import{d as ae,f as D,g as ne,u as ie,a as re,b as le}from"./tanstack-DcowkQHo.js";import{T as oe,a as de,b as T,c as ce,d as me,e as ue}from"./table-CxORHSk_.js";import{D as xe,a as ge,b as fe,c as S,d as he}from"./dropdown-menu-B3eFx_YP.js";import{E as je,w as pe,x as ve,y as Ne,z as be,I as P,X as Ce,J as we,k as ye}from"./icons-CLZywnx1.js";import"./form-utils-DKkU3nz7.js";function De({data:s,onEditSettings:t}){const i=$(),d=ae({data:s,columns:[{accessorKey:"name",header:"Name",size:200},{accessorKey:"settingsPath",header:"Settings Path"},{accessorKey:"configured",header:"Status",size:100,cell:({row:n})=>e.jsx("span",{className:n.original.configured?"text-green-600":"text-yellow-600",children:n.original.configured?"[OK]":"[!]"})},{id:"actions",header:"Actions",size:100,cell:({row:n})=>e.jsxs(xe,{children:[e.jsx(ge,{asChild:!0,children:e.jsx(p,{variant:"ghost",size:"sm",children:e.jsx(je,{className:"w-4 h-4"})})}),e.jsxs(fe,{align:"end",className:"bg-white dark:bg-zinc-950 border shadow-md",children:[t&&e.jsxs(S,{onClick:()=>t(n.original),children:[e.jsx(pe,{className:"w-4 h-4 mr-2"}),"Edit"]}),e.jsx(he,{}),e.jsxs(S,{className:"text-red-600 focus:text-red-600 focus:bg-red-100/50",onClick:()=>i.mutate(n.original.name),children:[e.jsx(ve,{className:"w-4 h-4 mr-2"}),"Delete"]})]})]})}],getCoreRowModel:ne()});return s.length===0?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"No profiles found. Create one to get started."}):e.jsx("div",{className:"border rounded-md",children:e.jsxs(oe,{children:[e.jsx(de,{children:d.getHeaderGroups().map(n=>e.jsx(T,{children:n.headers.map(r=>{const l=r.id==="actions",f=r.id==="configured",h=r.id==="name";return e.jsx(ce,{className:l?"w-[50px]":f?"w-[100px]":h?"w-[200px]":"w-auto",children:r.isPlaceholder?null:D(r.column.columnDef.header,r.getContext())},r.id)})},n.id))}),e.jsx(me,{children:d.getRowModel().rows.map(n=>e.jsx(T,{children:n.getVisibleCells().map(r=>e.jsx(ue,{children:D(r.column.columnDef.cell,r.getContext())},r.id))},n.id))})]})})}function Te({label:s,...t}){const[i,o]=m.useState(!1);return e.jsxs("div",{className:"space-y-1",children:[s&&e.jsx("label",{className:"text-sm font-medium",children:s}),e.jsxs("div",{className:"relative",children:[e.jsx(E,{type:i?"text":"password",className:"pr-10 font-mono",...t}),e.jsx(p,{type:"button",variant:"ghost",size:"sm",className:"absolute right-0 top-0 h-full px-3",onClick:()=>o(!i),tabIndex:-1,children:i?e.jsx(Ne,{className:"w-4 h-4"}):e.jsx(be,{className:"w-4 h-4"})})]})]})}function Se({...s}){return e.jsx(M,{"data-slot":"alert-dialog",...s})}function Pe({...s}){return e.jsx(z,{"data-slot":"alert-dialog-portal",...s})}function Ee({className:s,...t}){return e.jsx(F,{"data-slot":"alert-dialog-overlay",className:u("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",s),...t})}function Ae({className:s,...t}){return e.jsxs(Pe,{children:[e.jsx(Ee,{}),e.jsx(I,{"data-slot":"alert-dialog-content",className:u("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",s),...t})]})}function Oe({className:s,...t}){return e.jsx("div",{"data-slot":"alert-dialog-header",className:u("flex flex-col gap-2 text-center sm:text-left",s),...t})}function Me({className:s,...t}){return e.jsx("div",{"data-slot":"alert-dialog-footer",className:u("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",s),...t})}function Ie({className:s,...t}){return e.jsx(L,{"data-slot":"alert-dialog-title",className:u("text-lg font-semibold",s),...t})}function Le({className:s,...t}){return e.jsx(k,{"data-slot":"alert-dialog-description",className:u("text-muted-foreground text-sm",s),...t})}function ke({className:s,...t}){return e.jsx(R,{className:u(A(),s),...t})}function Ke({className:s,...t}){return e.jsx(K,{className:u(A({variant:"outline"}),s),...t})}function Re({open:s,onConfirm:t,onCancel:i,title:o,description:d,confirmText:n="Confirm",variant:r="default"}){return e.jsx(Se,{open:s,onOpenChange:l=>!l&&i(),children:e.jsxs(Ae,{children:[e.jsxs(Oe,{children:[e.jsx(Ie,{children:o}),e.jsx(Le,{children:d})]}),e.jsxs(Me,{children:[e.jsx(Ke,{onClick:i,children:"Cancel"}),e.jsx(ke,{onClick:t,className:r==="destructive"?"bg-red-600 hover:bg-red-700":"",children:n})]})]})})}function ze({profileName:s,onClose:t}){const[i,o]=m.useState({}),[d,n]=m.useState(!1),r=ie(),{data:l,isLoading:f,refetch:h}=re({queryKey:["settings",s],queryFn:()=>fetch(`/api/settings/${s}/raw`).then(a=>a.json())}),j=m.useMemo(()=>{const a=l?.settings;if(a)return{...a,env:{...a.env,...i}}},[l?.settings,i]),g=le({mutationFn:async()=>{const a={...l?.settings,env:{...l?.settings?.env,...i}},c=await fetch(`/api/settings/${s}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:a,expectedMtime:l?.mtime})});if(c.status===409)throw new Error("CONFLICT");if(!c.ok)throw new Error("Failed to save");return c.json()},onSuccess:()=>{r.invalidateQueries({queryKey:["settings",s]}),r.invalidateQueries({queryKey:["profiles"]}),y.success("Settings saved"),t()},onError:a=>{a.message==="CONFLICT"?n(!0):y.error(a.message)}}),N=()=>{g.mutate()},v=async a=>{n(!1),a?(await h(),g.mutate()):t()},b=(a,c)=>{o(x=>({...x,[a]:c}))},O=a=>[/^ANTHROPIC_AUTH_TOKEN$/,/_API_KEY$/,/_AUTH_TOKEN$/,/^API_KEY$/,/^AUTH_TOKEN$/,/_SECRET$/,/^SECRET$/].some(x=>x.test(a));return e.jsxs(e.Fragment,{children:[e.jsxs(q,{children:[e.jsxs(V,{children:["Edit Profile: ",s]}),e.jsx(Q,{children:"Configure environment variables and settings for this profile."})]}),f?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(P,{className:"w-8 h-8 animate-spin text-muted-foreground"}),e.jsx("span",{className:"ml-3 text-muted-foreground",children:"Loading settings..."})]}):e.jsxs("div",{className:"flex flex-col h-[60vh]",children:[e.jsxs(U,{defaultValue:"env",className:"flex-1 flex flex-col overflow-hidden",children:[e.jsxs(B,{className:"w-full justify-start border-b rounded-none p-0 h-auto bg-transparent",children:[e.jsx(C,{value:"env",className:"rounded-none border-b-2 border-transparent data-[state=active]:border-primary data-[state=active]:bg-transparent px-4 py-2",children:"Environment"}),e.jsx(C,{value:"general",className:"rounded-none border-b-2 border-transparent data-[state=active]:border-primary data-[state=active]:bg-transparent px-4 py-2",children:"General"})]}),e.jsx(w,{value:"env",className:"flex-1 overflow-hidden p-4 pt-4 m-0",children:e.jsx(J,{className:"h-full pr-4",children:j?.env&&Object.keys(j.env).length>0?e.jsx("div",{className:"space-y-6",children:Object.entries(j.env).map(([a,c])=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(Y,{className:"text-sm font-medium text-foreground",children:a}),O(a)?e.jsx(Te,{value:c,onChange:x=>b(a,x.target.value),className:"font-mono text-sm"}):e.jsx(E,{value:c,onChange:x=>b(a,x.target.value),className:"font-mono text-sm"})]},a))}):e.jsxs("div",{className:"py-12 text-center text-muted-foreground bg-muted/30 rounded-lg border border-dashed",children:[e.jsx("p",{children:"No environment variables configured."}),e.jsx("p",{className:"text-xs mt-1",children:"Add variables in your settings.json file."})]})})}),e.jsx(w,{value:"general",className:"p-4 m-0",children:e.jsxs(G,{children:[e.jsxs(W,{children:[e.jsx(X,{className:"text-base",children:"Profile Information"}),e.jsx(Z,{children:"Details about this configuration file."})]}),e.jsx(ee,{className:"space-y-4",children:l&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-3 gap-2 text-sm",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"Path"}),e.jsx("code",{className:"col-span-2 bg-muted p-1 rounded text-xs break-all",children:l.path})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-2 text-sm",children:[e.jsx("span",{className:"font-medium text-muted-foreground",children:"Last Modified"}),e.jsx("span",{className:"col-span-2",children:new Date(l.mtime).toLocaleString()})]})]})})]})})]}),e.jsxs("div",{className:"pt-4 mt-auto border-t flex justify-end gap-2",children:[e.jsxs(p,{type:"button",variant:"outline",onClick:t,children:[e.jsx(Ce,{className:"w-4 h-4 mr-2"})," Cancel"]}),e.jsx(p,{onClick:N,disabled:g.isPending,children:g.isPending?e.jsxs(e.Fragment,{children:[e.jsx(P,{className:"w-4 h-4 mr-2 animate-spin"})," Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(we,{className:"w-4 h-4 mr-2"})," Save Changes"]})})]})]}),e.jsx(Re,{open:d,title:"File Modified Externally",description:"This settings file was modified by another process. Overwrite with your changes or discard?",confirmText:"Overwrite",variant:"destructive",onConfirm:()=>v(!0),onCancel:()=>v(!1)})]})}function Fe({open:s,onClose:t,profileName:i}){const o=m.useCallback(d=>{d||t()},[t]);return e.jsx(H,{open:s,onOpenChange:o,children:e.jsx(_,{className:"sm:max-w-3xl max-h-[80vh] overflow-y-auto",children:s&&i&&e.jsx(ze,{profileName:i,onClose:t},`${i}-${s}`)})})}function Je(){const[s,t]=m.useState(!1),[i,o]=m.useState(null),[d,n]=m.useState(!1),[r,l]=m.useState(null),{data:f,isLoading:h}=se(),j=v=>{l(v.name),n(!0)},g=()=>{t(!1),o(null)},N=()=>{n(!1),l(null)};return e.jsxs("div",{className:"p-6 max-w-6xl mx-auto space-y-8",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",children:"API Profiles"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Manage custom API profiles for Claude CLI"})]}),e.jsxs(p,{onClick:()=>t(!0),children:[e.jsx(ye,{className:"w-4 h-4 mr-2"}),"Create Profile"]})]}),h?e.jsx("div",{className:"text-muted-foreground",children:"Loading profiles..."}):e.jsx(De,{data:f?.profiles||[],onEditSettings:j}),e.jsx(te,{open:s,onClose:g,profile:i}),e.jsx(Fe,{open:d,onClose:N,profileName:r})]})}export{Je as ApiPage};