@kaitranntt/ccs 7.43.0-dev.4 → 7.43.0-dev.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"account-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/account-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/account-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.43.0-dev.4",
3
+ "version": "7.43.0-dev.5",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
5
5
  "keywords": [
6
6
  "cli",
@@ -64,8 +64,10 @@
64
64
  "lint:fix": "eslint src/ --fix",
65
65
  "format": "prettier --write src/",
66
66
  "format:check": "prettier --check src/",
67
- "validate": "bun run typecheck && bun run lint:fix && bun run format:check && bun run test:all",
67
+ "validate": "bun run typecheck && bun run lint:fix && bun run format:check && bun run maintainability:check && bun run test:all",
68
68
  "verify:bundle": "node scripts/verify-bundle.js",
69
+ "maintainability:baseline": "node scripts/maintainability-baseline.js --out docs/metrics/maintainability-baseline.json",
70
+ "maintainability:check": "node scripts/maintainability-baseline.js --check docs/metrics/maintainability-baseline.json",
69
71
  "test": "bun run build && bun run test:all",
70
72
  "test:ci": "bun run test:all",
71
73
  "test:all": "bun test tests/unit tests/integration tests/npm",
@@ -73,6 +75,7 @@
73
75
  "test:npm": "bun test tests/npm/",
74
76
  "test:native": "bash tests/native/unix/edge-cases.sh",
75
77
  "test:e2e": "bun test tests/e2e/ --bail --timeout 60000",
78
+ "report:hardening": "node scripts/hardening-inventory.js",
76
79
  "dev": "bun run build:server && bun dist/ccs.js config --dev",
77
80
  "dev:symlink": "bash scripts/dev-symlink.sh",
78
81
  "dev:unlink": "bash scripts/dev-symlink.sh --restore",
@@ -0,0 +1,526 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ const ROOT_DIR = path.resolve(__dirname, '..');
7
+ const SRC_DIR = path.join(ROOT_DIR, 'src');
8
+ const REPORT_DIR = path.join(ROOT_DIR, 'docs', 'reports');
9
+ const JSON_REPORT_PATH = path.join(REPORT_DIR, 'hardening-inventory.json');
10
+ const MD_REPORT_PATH = path.join(REPORT_DIR, 'hardening-inventory.md');
11
+
12
+ const SOURCE_EXTENSIONS = new Set(['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs']);
13
+ const HOTPATH_PATTERNS = [
14
+ /^src\/web-server\//,
15
+ /^src\/commands\//,
16
+ /^src\/cliproxy\//,
17
+ /^src\/management\//,
18
+ /^src\/auth\//,
19
+ /^src\/delegation\//,
20
+ /^src\/utils\//,
21
+ /^src\/ccs\.ts$/,
22
+ ];
23
+
24
+ const SYNC_CALL_NAMES = [
25
+ 'accessSync',
26
+ 'appendFileSync',
27
+ 'chmodSync',
28
+ 'chownSync',
29
+ 'closeSync',
30
+ 'copyFileSync',
31
+ 'cpSync',
32
+ 'existsSync',
33
+ 'fstatSync',
34
+ 'fsyncSync',
35
+ 'ftruncateSync',
36
+ 'futimesSync',
37
+ 'lchmodSync',
38
+ 'lchownSync',
39
+ 'linkSync',
40
+ 'lstatSync',
41
+ 'mkdirSync',
42
+ 'mkdtempSync',
43
+ 'openSync',
44
+ 'opendirSync',
45
+ 'readFileSync',
46
+ 'readdirSync',
47
+ 'readlinkSync',
48
+ 'readSync',
49
+ 'readvSync',
50
+ 'realpathSync',
51
+ 'renameSync',
52
+ 'rmSync',
53
+ 'rmdirSync',
54
+ 'statSync',
55
+ 'symlinkSync',
56
+ 'truncateSync',
57
+ 'unlinkSync',
58
+ 'utimesSync',
59
+ 'writeFileSync',
60
+ 'writeSync',
61
+ 'writevSync',
62
+ ];
63
+ const SYNC_CALL_CAPTURE_REGEX = new RegExp(
64
+ `(?:\\bfs(?:\\s*\\?\\.)?\\s*\\.\\s*|(?<![\\w$.]))(${SYNC_CALL_NAMES.join('|')})\\s*\\(`,
65
+ 'g'
66
+ );
67
+ const LEGACY_MARKER_REGEX =
68
+ /(?:\blegacy\b|\bshim\b|backward compatibility|backwards compatibility|compatibility layer|deprecated.*re-export|re-export.*compatibility)/i;
69
+ const REGEX_LITERAL_KEYWORDS = new Set([
70
+ 'return',
71
+ 'throw',
72
+ 'case',
73
+ 'else',
74
+ 'do',
75
+ 'delete',
76
+ 'void',
77
+ 'typeof',
78
+ 'instanceof',
79
+ 'in',
80
+ 'of',
81
+ 'yield',
82
+ 'await',
83
+ 'new',
84
+ ]);
85
+
86
+ function toPosixPath(filePath) {
87
+ return filePath.split(path.sep).join('/');
88
+ }
89
+
90
+ function relativePath(filePath) {
91
+ return toPosixPath(path.relative(ROOT_DIR, filePath));
92
+ }
93
+
94
+ function isSourceFile(filePath) {
95
+ return SOURCE_EXTENSIONS.has(path.extname(filePath));
96
+ }
97
+
98
+ function isHotpath(filePath) {
99
+ return HOTPATH_PATTERNS.some((pattern) => pattern.test(filePath));
100
+ }
101
+
102
+ function walkFiles(dirPath) {
103
+ const output = [];
104
+ const entries = fs.readdirSync(dirPath, { withFileTypes: true });
105
+
106
+ for (const entry of entries) {
107
+ const fullPath = path.join(dirPath, entry.name);
108
+ if (entry.isDirectory()) {
109
+ output.push(...walkFiles(fullPath));
110
+ continue;
111
+ }
112
+
113
+ if (entry.isFile() && isSourceFile(fullPath)) {
114
+ output.push(fullPath);
115
+ }
116
+ }
117
+
118
+ return output;
119
+ }
120
+
121
+ function uniqueSorted(values) {
122
+ return Array.from(new Set(values)).sort((a, b) => a.localeCompare(b));
123
+ }
124
+
125
+ function sortByCountDesc(items) {
126
+ return [...items].sort((a, b) => {
127
+ if (b.count !== a.count) return b.count - a.count;
128
+ return a.file.localeCompare(b.file);
129
+ });
130
+ }
131
+
132
+ function summarize(items, limit = 10) {
133
+ return sortByCountDesc(items)
134
+ .slice(0, limit)
135
+ .map((item) => ({
136
+ file: item.file,
137
+ count: item.count,
138
+ calls: uniqueSorted(item.calls || []),
139
+ markers: uniqueSorted(item.markers || []),
140
+ }));
141
+ }
142
+
143
+ function isRegexLiteralStart(previousSignificantChar, previousIdentifier) {
144
+ return (
145
+ previousSignificantChar === '' ||
146
+ '([{:;,=!?+-*%^&|~<>'.includes(previousSignificantChar) ||
147
+ REGEX_LITERAL_KEYWORDS.has(previousIdentifier)
148
+ );
149
+ }
150
+
151
+ function stripComments(sourceText) {
152
+ let output = '';
153
+ let index = 0;
154
+ let inLineComment = false;
155
+ let inBlockComment = false;
156
+ let inSingleQuote = false;
157
+ let inDoubleQuote = false;
158
+ let inTemplateLiteral = false;
159
+ let inRegexLiteral = false;
160
+ let inRegexCharClass = false;
161
+ let previousSignificantChar = '';
162
+ let previousIdentifier = '';
163
+
164
+ while (index < sourceText.length) {
165
+ const current = sourceText[index];
166
+ const next = sourceText[index + 1];
167
+
168
+ if (inLineComment) {
169
+ if (current === '\n' || current === '\r') {
170
+ inLineComment = false;
171
+ output += current;
172
+ } else {
173
+ output += ' ';
174
+ }
175
+ index += 1;
176
+ continue;
177
+ }
178
+
179
+ if (inBlockComment) {
180
+ if (current === '*' && next === '/') {
181
+ output += ' ';
182
+ index += 2;
183
+ inBlockComment = false;
184
+ continue;
185
+ }
186
+
187
+ output += current === '\n' || current === '\r' ? current : ' ';
188
+ index += 1;
189
+ continue;
190
+ }
191
+
192
+ if (inRegexLiteral) {
193
+ if (current === '\n' || current === '\r') {
194
+ output += current;
195
+ index += 1;
196
+ inRegexLiteral = false;
197
+ inRegexCharClass = false;
198
+ continue;
199
+ }
200
+
201
+ output += ' ';
202
+
203
+ if (current === '\\') {
204
+ output += next === '\n' || next === '\r' ? next : ' ';
205
+ index += 2;
206
+ continue;
207
+ }
208
+
209
+ if (!inRegexCharClass && current === '[') {
210
+ inRegexCharClass = true;
211
+ index += 1;
212
+ continue;
213
+ }
214
+
215
+ if (inRegexCharClass && current === ']') {
216
+ inRegexCharClass = false;
217
+ index += 1;
218
+ continue;
219
+ }
220
+
221
+ if (!inRegexCharClass && current === '/') {
222
+ index += 1;
223
+ while (index < sourceText.length && /[a-z]/i.test(sourceText[index])) {
224
+ output += ' ';
225
+ index += 1;
226
+ }
227
+ inRegexLiteral = false;
228
+ previousSignificantChar = 'r';
229
+ previousIdentifier = '';
230
+ continue;
231
+ }
232
+
233
+ index += 1;
234
+ continue;
235
+ }
236
+
237
+ if (inSingleQuote) {
238
+ output += current === '\n' || current === '\r' ? current : ' ';
239
+ if (current === '\\') {
240
+ output += next === '\n' || next === '\r' ? next : ' ';
241
+ index += 2;
242
+ continue;
243
+ }
244
+ if (current === "'") {
245
+ inSingleQuote = false;
246
+ previousSignificantChar = 's';
247
+ previousIdentifier = '';
248
+ }
249
+ index += 1;
250
+ continue;
251
+ }
252
+
253
+ if (inDoubleQuote) {
254
+ output += current === '\n' || current === '\r' ? current : ' ';
255
+ if (current === '\\') {
256
+ output += next === '\n' || next === '\r' ? next : ' ';
257
+ index += 2;
258
+ continue;
259
+ }
260
+ if (current === '"') {
261
+ inDoubleQuote = false;
262
+ previousSignificantChar = 's';
263
+ previousIdentifier = '';
264
+ }
265
+ index += 1;
266
+ continue;
267
+ }
268
+
269
+ if (inTemplateLiteral) {
270
+ output += current === '\n' || current === '\r' ? current : ' ';
271
+ if (current === '\\') {
272
+ output += next === '\n' || next === '\r' ? next : ' ';
273
+ index += 2;
274
+ continue;
275
+ }
276
+ if (current === '`') {
277
+ inTemplateLiteral = false;
278
+ previousSignificantChar = 's';
279
+ previousIdentifier = '';
280
+ }
281
+ index += 1;
282
+ continue;
283
+ }
284
+
285
+ if (current === '/' && next === '/') {
286
+ output += ' ';
287
+ index += 2;
288
+ inLineComment = true;
289
+ continue;
290
+ }
291
+
292
+ if (current === '/' && next === '*') {
293
+ output += ' ';
294
+ index += 2;
295
+ inBlockComment = true;
296
+ continue;
297
+ }
298
+
299
+ if (current === '/' && isRegexLiteralStart(previousSignificantChar, previousIdentifier)) {
300
+ output += ' ';
301
+ index += 1;
302
+ inRegexLiteral = true;
303
+ inRegexCharClass = false;
304
+ continue;
305
+ }
306
+
307
+ if (/[A-Za-z_$]/.test(current)) {
308
+ let tokenEnd = index + 1;
309
+ while (tokenEnd < sourceText.length && /[A-Za-z0-9_$]/.test(sourceText[tokenEnd])) {
310
+ tokenEnd += 1;
311
+ }
312
+ const token = sourceText.slice(index, tokenEnd);
313
+ output += token;
314
+ previousSignificantChar = 'i';
315
+ previousIdentifier = token;
316
+ index = tokenEnd;
317
+ continue;
318
+ }
319
+
320
+ if (current === "'") {
321
+ inSingleQuote = true;
322
+ output += ' ';
323
+ index += 1;
324
+ continue;
325
+ }
326
+
327
+ if (current === '"') {
328
+ inDoubleQuote = true;
329
+ output += ' ';
330
+ index += 1;
331
+ continue;
332
+ }
333
+
334
+ if (current === '`') {
335
+ inTemplateLiteral = true;
336
+ output += ' ';
337
+ index += 1;
338
+ continue;
339
+ }
340
+
341
+ output += current;
342
+ if (!/\s/.test(current)) {
343
+ previousSignificantChar = current;
344
+ previousIdentifier = '';
345
+ }
346
+ index += 1;
347
+ }
348
+
349
+ return output;
350
+ }
351
+
352
+ function collectSyncCallSites(sourceText) {
353
+ const sanitizedSource = stripComments(sourceText);
354
+ const captureRegex = new RegExp(SYNC_CALL_CAPTURE_REGEX.source, SYNC_CALL_CAPTURE_REGEX.flags);
355
+ const calls = [];
356
+
357
+ for (const match of sanitizedSource.matchAll(captureRegex)) {
358
+ calls.push(match[1]);
359
+ }
360
+
361
+ return {
362
+ count: calls.length,
363
+ calls,
364
+ };
365
+ }
366
+
367
+ function buildReport() {
368
+ const files = walkFiles(SRC_DIR);
369
+ const syncEntries = [];
370
+ const legacyEntries = [];
371
+
372
+ for (const fullPath of files) {
373
+ const file = relativePath(fullPath);
374
+ const sourceText = fs.readFileSync(fullPath, 'utf8');
375
+ const lines = sourceText.split(/\r?\n/);
376
+ const { count: syncCount, calls: syncCalls } = collectSyncCallSites(sourceText);
377
+ let legacyCount = 0;
378
+ const legacyMarkers = [];
379
+
380
+ for (const line of lines) {
381
+ if (LEGACY_MARKER_REGEX.test(line)) {
382
+ legacyCount += 1;
383
+ const normalized = line.trim();
384
+ if (normalized.length > 0) {
385
+ legacyMarkers.push(normalized);
386
+ }
387
+ }
388
+ }
389
+
390
+ if (syncCount > 0) {
391
+ syncEntries.push({
392
+ file,
393
+ count: syncCount,
394
+ calls: syncCalls,
395
+ hotpath: isHotpath(file),
396
+ });
397
+ }
398
+
399
+ if (legacyCount > 0) {
400
+ legacyEntries.push({
401
+ file,
402
+ count: legacyCount,
403
+ markers: legacyMarkers,
404
+ });
405
+ }
406
+ }
407
+
408
+ const syncHotpathEntries = syncEntries.filter((entry) => entry.hotpath);
409
+ const totalSyncCount = syncEntries.reduce((acc, entry) => acc + entry.count, 0);
410
+ const totalSyncHotpathCount = syncHotpathEntries.reduce((acc, entry) => acc + entry.count, 0);
411
+ const totalLegacyMarkers = legacyEntries.reduce((acc, entry) => acc + entry.count, 0);
412
+
413
+ return {
414
+ scope: 'src/**/*.{ts,tsx,js,jsx,mjs,cjs}',
415
+ syncFs: {
416
+ totalOccurrences: totalSyncCount,
417
+ filesAffected: syncEntries.length,
418
+ hotpathOccurrences: totalSyncHotpathCount,
419
+ hotpathFilesAffected: syncHotpathEntries.length,
420
+ topHotpathFiles: summarize(syncHotpathEntries),
421
+ topFilesOverall: summarize(syncEntries),
422
+ },
423
+ legacyShim: {
424
+ totalMarkers: totalLegacyMarkers,
425
+ filesAffected: legacyEntries.length,
426
+ topFiles: summarize(legacyEntries),
427
+ explicitShimFiles: uniqueSorted(
428
+ legacyEntries
429
+ .map((entry) => entry.file)
430
+ .filter((file) => /shim|re-export|compat/i.test(path.basename(file)))
431
+ ),
432
+ },
433
+ };
434
+ }
435
+
436
+ function renderMarkdown(report) {
437
+ const lines = [];
438
+
439
+ lines.push('# Hardening Inventory Report');
440
+ lines.push('');
441
+ lines.push(`Scope: \`${report.scope}\``);
442
+ lines.push('');
443
+ lines.push('## Summary');
444
+ lines.push('');
445
+ lines.push('| Metric | Value |');
446
+ lines.push('|---|---:|');
447
+ lines.push(`| Sync fs occurrences (all) | ${report.syncFs.totalOccurrences} |`);
448
+ lines.push(`| Sync fs files affected (all) | ${report.syncFs.filesAffected} |`);
449
+ lines.push(`| Sync fs occurrences (runtime hotpaths) | ${report.syncFs.hotpathOccurrences} |`);
450
+ lines.push(`| Sync fs files affected (runtime hotpaths) | ${report.syncFs.hotpathFilesAffected} |`);
451
+ lines.push(`| Legacy shim markers | ${report.legacyShim.totalMarkers} |`);
452
+ lines.push(`| Legacy shim files affected | ${report.legacyShim.filesAffected} |`);
453
+ lines.push('');
454
+
455
+ lines.push('## Top Runtime Hotpath Sync fs Files');
456
+ lines.push('');
457
+ lines.push('| File | Sync Calls | API Names |');
458
+ lines.push('|---|---:|---|');
459
+
460
+ for (const item of report.syncFs.topHotpathFiles) {
461
+ lines.push(`| \`${item.file}\` | ${item.count} | ${item.calls.join(', ')} |`);
462
+ }
463
+
464
+ if (report.syncFs.topHotpathFiles.length === 0) {
465
+ lines.push('| _none_ | 0 | - |');
466
+ }
467
+
468
+ lines.push('');
469
+ lines.push('## Top Legacy Shim Marker Files');
470
+ lines.push('');
471
+ lines.push('| File | Marker Count |');
472
+ lines.push('|---|---:|');
473
+
474
+ for (const item of report.legacyShim.topFiles) {
475
+ lines.push(`| \`${item.file}\` | ${item.count} |`);
476
+ }
477
+
478
+ if (report.legacyShim.topFiles.length === 0) {
479
+ lines.push('| _none_ | 0 |');
480
+ }
481
+
482
+ lines.push('');
483
+ lines.push('## Explicit Shim/Re-export Files');
484
+ lines.push('');
485
+ for (const file of report.legacyShim.explicitShimFiles) {
486
+ lines.push(`- \`${file}\``);
487
+ }
488
+ if (report.legacyShim.explicitShimFiles.length === 0) {
489
+ lines.push('- _none_');
490
+ }
491
+
492
+ lines.push('');
493
+ return lines.join('\n');
494
+ }
495
+
496
+ function main() {
497
+ const report = buildReport();
498
+
499
+ fs.mkdirSync(REPORT_DIR, { recursive: true });
500
+ fs.writeFileSync(JSON_REPORT_PATH, JSON.stringify(report, null, 2) + '\n', 'utf8');
501
+ fs.writeFileSync(MD_REPORT_PATH, renderMarkdown(report), 'utf8');
502
+
503
+ const relJson = relativePath(JSON_REPORT_PATH);
504
+ const relMd = relativePath(MD_REPORT_PATH);
505
+
506
+ console.log(`[hardening-inventory] generatedAt=${new Date().toISOString()}`);
507
+ console.log(
508
+ `[hardening-inventory] sync-fs total=${report.syncFs.totalOccurrences}, hotpath=${report.syncFs.hotpathOccurrences}`
509
+ );
510
+ console.log(
511
+ `[hardening-inventory] legacy markers total=${report.legacyShim.totalMarkers}, files=${report.legacyShim.filesAffected}`
512
+ );
513
+ console.log(`[hardening-inventory] wrote ${relJson}`);
514
+ console.log(`[hardening-inventory] wrote ${relMd}`);
515
+ }
516
+
517
+ if (require.main === module) {
518
+ main();
519
+ }
520
+
521
+ module.exports = {
522
+ buildReport,
523
+ collectSyncCallSites,
524
+ renderMarkdown,
525
+ stripComments,
526
+ };