@kaitranntt/ccs 7.78.1-dev.1 → 7.78.1-dev.3

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 (46) hide show
  1. package/dist/channels/official-channels-runtime.d.ts.map +1 -1
  2. package/dist/channels/official-channels-runtime.js +11 -0
  3. package/dist/channels/official-channels-runtime.js.map +1 -1
  4. package/dist/cliproxy/executor/claude-launcher.d.ts.map +1 -1
  5. package/dist/cliproxy/executor/claude-launcher.js +15 -6
  6. package/dist/cliproxy/executor/claude-launcher.js.map +1 -1
  7. package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
  8. package/dist/dispatcher/flows/settings-flow.js +17 -10
  9. package/dist/dispatcher/flows/settings-flow.js.map +1 -1
  10. package/dist/management/checks/system-check.d.ts.map +1 -1
  11. package/dist/management/checks/system-check.js +1 -1
  12. package/dist/management/checks/system-check.js.map +1 -1
  13. package/dist/proxy/proxy-daemon-entry.js +46 -3
  14. package/dist/proxy/proxy-daemon-entry.js.map +1 -1
  15. package/dist/proxy/proxy-daemon-state.d.ts +2 -0
  16. package/dist/proxy/proxy-daemon-state.d.ts.map +1 -1
  17. package/dist/proxy/proxy-daemon-state.js +42 -4
  18. package/dist/proxy/proxy-daemon-state.js.map +1 -1
  19. package/dist/proxy/proxy-daemon.d.ts.map +1 -1
  20. package/dist/proxy/proxy-daemon.js +11 -6
  21. package/dist/proxy/proxy-daemon.js.map +1 -1
  22. package/dist/utils/browser/claude-tool-args.d.ts.map +1 -1
  23. package/dist/utils/browser/claude-tool-args.js +4 -0
  24. package/dist/utils/browser/claude-tool-args.js.map +1 -1
  25. package/dist/utils/claude-detector.d.ts.map +1 -1
  26. package/dist/utils/claude-detector.js +2 -1
  27. package/dist/utils/claude-detector.js.map +1 -1
  28. package/dist/utils/claude-subcommand-detector.d.ts +43 -0
  29. package/dist/utils/claude-subcommand-detector.d.ts.map +1 -0
  30. package/dist/utils/claude-subcommand-detector.js +146 -0
  31. package/dist/utils/claude-subcommand-detector.js.map +1 -0
  32. package/dist/utils/image-analysis/claude-tool-args.d.ts.map +1 -1
  33. package/dist/utils/image-analysis/claude-tool-args.js +4 -0
  34. package/dist/utils/image-analysis/claude-tool-args.js.map +1 -1
  35. package/dist/utils/shell-executor.d.ts +4 -2
  36. package/dist/utils/shell-executor.d.ts.map +1 -1
  37. package/dist/utils/shell-executor.js +53 -4
  38. package/dist/utils/shell-executor.js.map +1 -1
  39. package/dist/utils/websearch/claude-tool-args.d.ts.map +1 -1
  40. package/dist/utils/websearch/claude-tool-args.js +5 -0
  41. package/dist/utils/websearch/claude-tool-args.js.map +1 -1
  42. package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
  43. package/dist/web-server/routes/settings-routes.js +92 -14
  44. package/dist/web-server/routes/settings-routes.js.map +1 -1
  45. package/lib/hooks/image-analyzer-transformer.cjs +49 -3
  46. package/package.json +1 -1
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.appendThirdPartyWebSearchToolArgs = exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT = void 0;
10
10
  const claude_tool_args_1 = require("../claude-tool-args");
11
11
  const prompt_injection_strategy_1 = require("../prompt-injection-strategy");
12
+ const claude_subcommand_detector_1 = require("../claude-subcommand-detector");
12
13
  const NATIVE_WEBSEARCH_TOOL = 'WebSearch';
13
14
  const DISALLOWED_TOOLS_FLAG = '--disallowedTools';
14
15
  exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT = {
@@ -96,6 +97,10 @@ function ensureWebSearchSteeringPrompt(args) {
96
97
  return [...optionArgs, ...steeringArgs, ...trailingArgs];
97
98
  }
98
99
  function appendThirdPartyWebSearchToolArgs(args) {
100
+ // Claude subcommands (agents, doctor, mcp, ...) reject top-level session flags
101
+ // like `--append-system-prompt` and `--disallowedTools`. Issue #1218.
102
+ if ((0, claude_subcommand_detector_1.isClaudeSubcommandInvocation)(args))
103
+ return args;
99
104
  return ensureWebSearchSteeringPrompt(ensureDisallowedNativeWebSearchTool(args));
100
105
  }
101
106
  exports.appendThirdPartyWebSearchToolArgs = appendThirdPartyWebSearchToolArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-tool-args.js","sourceRoot":"","sources":["../../../src/utils/websearch/claude-tool-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-tool-args.js","sourceRoot":"","sources":["../../../src/utils/websearch/claude-tool-args.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/settings-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiDH,QAAA,MAAM,MAAM,4CAAW,CAAC;AAm3BxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"settings-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/settings-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiDH,QAAA,MAAM,MAAM,4CAAW,CAAC;AAg9BxB,eAAe,MAAM,CAAC"}
@@ -59,12 +59,75 @@ const SETTINGS_IDENTIFIER_PATTERN = /^[a-zA-Z][a-zA-Z0-9._-]*$/;
59
59
  const { logRouteError, respondInternalError } = (0, route_helpers_1.createRouteErrorHelpers)('settings-routes');
60
60
  function resolvePathWithin(basePath, targetPath) {
61
61
  const resolvedBase = path.resolve(basePath);
62
- const resolvedTarget = path.resolve(targetPath);
63
- if (resolvedTarget !== resolvedBase && !resolvedTarget.startsWith(`${resolvedBase}${path.sep}`)) {
62
+ const resolvedTarget = path.resolve(path.isAbsolute(targetPath) ? targetPath : path.join(resolvedBase, targetPath));
63
+ if (!isPathWithin(resolvedBase, resolvedTarget)) {
64
64
  throw new Error('Invalid settings path');
65
65
  }
66
66
  return resolvedTarget;
67
67
  }
68
+ function normalizePathForComparison(targetPath) {
69
+ const resolvedPath = path.resolve(targetPath);
70
+ return process.platform === 'win32' ? resolvedPath.toLowerCase() : resolvedPath;
71
+ }
72
+ function isPathWithin(basePath, targetPath) {
73
+ const normalizedBase = normalizePathForComparison(basePath);
74
+ const normalizedTarget = normalizePathForComparison(targetPath);
75
+ const relative = path.relative(normalizedBase, normalizedTarget);
76
+ return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
77
+ }
78
+ function safeRealPath(targetPath) {
79
+ try {
80
+ return fs.realpathSync.native(targetPath);
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
86
+ function getRealCcsDir() {
87
+ return safeRealPath((0, config_loader_facade_1.getCcsDir)()) ?? path.resolve((0, config_loader_facade_1.getCcsDir)());
88
+ }
89
+ function requirePathWithinRealCcsDir(targetPath) {
90
+ if (!isPathWithin(getRealCcsDir(), targetPath)) {
91
+ throw new Error('Invalid settings path');
92
+ }
93
+ }
94
+ function requireExistingSettingsPathWithinCcs(settingsPath) {
95
+ const realSettingsPath = safeRealPath(settingsPath);
96
+ if (!realSettingsPath) {
97
+ return false;
98
+ }
99
+ requirePathWithinRealCcsDir(realSettingsPath);
100
+ return true;
101
+ }
102
+ function findExistingParentRealPath(targetPath) {
103
+ let currentPath = path.dirname(targetPath);
104
+ while (true) {
105
+ const realParentPath = safeRealPath(currentPath);
106
+ if (realParentPath) {
107
+ return realParentPath;
108
+ }
109
+ const parentPath = path.dirname(currentPath);
110
+ if (parentPath === currentPath) {
111
+ return null;
112
+ }
113
+ currentPath = parentPath;
114
+ }
115
+ }
116
+ function requireWritableSettingsPathWithinCcs(settingsPath) {
117
+ const realSettingsPath = safeRealPath(settingsPath);
118
+ if (realSettingsPath) {
119
+ requirePathWithinRealCcsDir(realSettingsPath);
120
+ return;
121
+ }
122
+ const realParentPath = findExistingParentRealPath(settingsPath);
123
+ if (!realParentPath) {
124
+ throw new Error('Invalid settings path');
125
+ }
126
+ requirePathWithinRealCcsDir(realParentPath);
127
+ }
128
+ function resolveSettingsCandidatePath(ccsDir, settingsPath) {
129
+ return resolvePathWithin(ccsDir, (0, helpers_1.expandPath)(settingsPath));
130
+ }
68
131
  function requireSensitiveLocalAccess(req, res) {
69
132
  return (0, auth_middleware_1.requireLocalAccessWhenAuthDisabled)(req, res, 'Sensitive settings endpoints require localhost access when dashboard auth is disabled.');
70
133
  }
@@ -96,23 +159,24 @@ function resolveSettingsPath(profileOrVariant) {
96
159
  if (profileOrVariant !== directProvider) {
97
160
  return resolvePathWithin(resolvedCcsDir, path.join(resolvedCcsDir, `${profileOrVariant}.settings.json`));
98
161
  }
99
- return path.resolve((0, env_builder_1.resolveProviderSettingsPath)(directProvider));
162
+ return resolvePathWithin(resolvedCcsDir, (0, env_builder_1.resolveProviderSettingsPath)(directProvider));
100
163
  }
101
164
  // Check if this is a variant
102
165
  const variants = (0, variant_service_1.listVariants)();
103
166
  const variant = variants[profileOrVariant];
104
167
  if (variant?.settings) {
105
- return path.resolve((0, helpers_1.expandPath)(variant.settings));
168
+ return resolveSettingsCandidatePath(resolvedCcsDir, variant.settings);
106
169
  }
170
+ let configuredSettingsPath;
107
171
  try {
108
- const configuredSettingsPath = (0, config_loader_facade_1.loadConfigSafe)().profiles[profileOrVariant];
109
- if (typeof configuredSettingsPath === 'string' && configuredSettingsPath.trim().length > 0) {
110
- return path.resolve((0, helpers_1.expandPath)(configuredSettingsPath));
111
- }
172
+ configuredSettingsPath = (0, config_loader_facade_1.loadConfigSafe)().profiles[profileOrVariant];
112
173
  }
113
174
  catch {
114
175
  // Fall back to the conventional ~/.ccs/<profile>.settings.json path below.
115
176
  }
177
+ if (typeof configuredSettingsPath === 'string' && configuredSettingsPath.trim().length > 0) {
178
+ return resolveSettingsCandidatePath(resolvedCcsDir, configuredSettingsPath);
179
+ }
116
180
  // Regular profile settings
117
181
  return resolvePathWithin(resolvedCcsDir, path.join(resolvedCcsDir, `${profileOrVariant}.settings.json`));
118
182
  }
@@ -266,12 +330,20 @@ async function resolvePreviewImageAnalysisStatus(profileOrVariant, settings) {
266
330
  return resolveImageAnalysisStatusForProfile(profileOrVariant, normalizedSettings, settingsPath);
267
331
  }
268
332
  function writeSettingsAtomically(settingsPath, settings) {
333
+ requireWritableSettingsPathWithinCcs(settingsPath);
269
334
  const tempPath = `${settingsPath}.tmp.${process.pid}`;
270
- fs.writeFileSync(tempPath, JSON.stringify(settings, null, 2) + '\n');
335
+ requireWritableSettingsPathWithinCcs(tempPath);
336
+ fs.writeFileSync(tempPath, JSON.stringify(settings, null, 2) + '\n', { flag: 'wx' });
271
337
  fs.renameSync(tempPath, settingsPath);
272
338
  }
273
339
  function withSettingsFileLock(settingsPath, callback) {
274
- const lockTarget = fs.existsSync(settingsPath) ? settingsPath : path.dirname(settingsPath);
340
+ requireWritableSettingsPathWithinCcs(settingsPath);
341
+ const lockTarget = safeRealPath(settingsPath)
342
+ ? settingsPath
343
+ : findExistingParentRealPath(settingsPath);
344
+ if (!lockTarget) {
345
+ throw new Error('Invalid settings path');
346
+ }
275
347
  let release;
276
348
  try {
277
349
  release = lockfile.lockSync(lockTarget, { stale: 10000 });
@@ -289,6 +361,9 @@ function withSettingsFileLock(settingsPath, callback) {
289
361
  }
290
362
  }
291
363
  function loadCanonicalProfileSettings(profileOrVariant, settingsPath, persist = false, strictPersist = false) {
364
+ if (!requireExistingSettingsPathWithinCcs(settingsPath)) {
365
+ throw new Error('Settings not found');
366
+ }
292
367
  const loaded = (0, config_loader_facade_1.loadSettings)(settingsPath);
293
368
  const canonicalized = canonicalizeProfileSettings(profileOrVariant, loaded);
294
369
  if (persist && canonicalized !== loaded) {
@@ -325,7 +400,7 @@ router.get('/:profile', async (req, res) => {
325
400
  try {
326
401
  const { profile } = req.params;
327
402
  const settingsPath = resolveSettingsPath(profile);
328
- if (!fs.existsSync(settingsPath)) {
403
+ if (!requireExistingSettingsPathWithinCcs(settingsPath)) {
329
404
  res.status(404).json({ error: 'Settings not found' });
330
405
  return;
331
406
  }
@@ -354,7 +429,7 @@ router.get('/:profile/raw', async (req, res) => {
354
429
  try {
355
430
  const { profile } = req.params;
356
431
  const settingsPath = resolveSettingsPath(profile);
357
- if (!fs.existsSync(settingsPath)) {
432
+ if (!requireExistingSettingsPathWithinCcs(settingsPath)) {
358
433
  res.status(404).json({ error: 'Settings not found' });
359
434
  return;
360
435
  }
@@ -452,11 +527,13 @@ router.put('/:profile', (req, res) => {
452
527
  const existingContent = fs.readFileSync(settingsPath, 'utf8');
453
528
  if (existingContent !== newContent) {
454
529
  const backupDir = path.join(ccsDir, 'backups');
530
+ requireWritableSettingsPathWithinCcs(path.join(backupDir, '.settings-backup-probe'));
455
531
  if (!fs.existsSync(backupDir)) {
456
532
  fs.mkdirSync(backupDir, { recursive: true });
457
533
  }
458
534
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
459
535
  backupPath = path.join(backupDir, `${profile}.${timestamp}.settings.json`);
536
+ requireWritableSettingsPathWithinCcs(backupPath);
460
537
  fs.copyFileSync(settingsPath, backupPath);
461
538
  }
462
539
  }
@@ -465,7 +542,8 @@ router.put('/:profile', (req, res) => {
465
542
  fs.mkdirSync(path.dirname(settingsPath), { recursive: true });
466
543
  }
467
544
  const tempPath = `${settingsPath}.tmp.${process.pid}`;
468
- fs.writeFileSync(tempPath, newContent);
545
+ requireWritableSettingsPathWithinCcs(tempPath);
546
+ fs.writeFileSync(tempPath, newContent, { flag: 'wx' });
469
547
  fs.renameSync(tempPath, settingsPath);
470
548
  newMtime = fs.statSync(settingsPath).mtime.getTime();
471
549
  });
@@ -496,7 +574,7 @@ router.get('/:profile/presets', (req, res) => {
496
574
  try {
497
575
  const { profile } = req.params;
498
576
  const settingsPath = resolveSettingsPath(profile);
499
- if (!fs.existsSync(settingsPath)) {
577
+ if (!requireExistingSettingsPathWithinCcs(settingsPath)) {
500
578
  res.json({ presets: [] });
501
579
  return;
502
580
  }
@@ -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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"}
@@ -379,6 +379,47 @@ function outputSuccess(filePath, description, model, fileSize) {
379
379
  /**
380
380
  * Determine if hook should skip, with debug logging
381
381
  */
382
+ function normalizePathForComparison(value) {
383
+ return process.platform === 'win32' ? value.toLowerCase() : value;
384
+ }
385
+
386
+ function isPathWithinWorkspace(workspaceRoot, candidatePath) {
387
+ const relativePath = path.relative(workspaceRoot, candidatePath);
388
+ return (
389
+ relativePath === '' ||
390
+ (!relativePath.startsWith('..') &&
391
+ !relativePath.startsWith(`..${path.sep}`) &&
392
+ !path.isAbsolute(relativePath))
393
+ );
394
+ }
395
+
396
+ function resolveWorkspaceFilePath(filePath) {
397
+ const workspaceRoot = (() => {
398
+ try {
399
+ return fs.realpathSync(process.cwd());
400
+ } catch {
401
+ return path.resolve(process.cwd());
402
+ }
403
+ })();
404
+ const absolutePath = path.resolve(process.cwd(), filePath);
405
+ const realFilePath = fs.realpathSync(absolutePath);
406
+
407
+ if (
408
+ !isPathWithinWorkspace(
409
+ normalizePathForComparison(workspaceRoot),
410
+ normalizePathForComparison(realFilePath)
411
+ )
412
+ ) {
413
+ debugLog('Skipping: file is outside the current workspace', {
414
+ workspaceRoot,
415
+ filePath: realFilePath,
416
+ });
417
+ return null;
418
+ }
419
+
420
+ return realFilePath;
421
+ }
422
+
382
423
  function shouldSkipHook() {
383
424
  if (process.env.CCS_IMAGE_ANALYSIS_SKIP_HOOK === '1') {
384
425
  debugLog('Skipping: CCS_IMAGE_ANALYSIS_SKIP_HOOK=1');
@@ -484,11 +525,16 @@ async function processHook() {
484
525
  process.exit(0);
485
526
  }
486
527
 
487
- const debugContext = getDebugContext(filePath, null);
528
+ const workspaceFilePath = resolveWorkspaceFilePath(filePath);
529
+ if (!workspaceFilePath) {
530
+ process.exit(0);
531
+ }
532
+
533
+ const debugContext = getDebugContext(workspaceFilePath, null);
488
534
  debugLog('Image analysis runtime prepared', debugContext);
489
535
 
490
- const result = await analyzeFile(filePath);
491
- outputSuccess(filePath, result.description, result.model, result.fileSize);
536
+ const result = await analyzeFile(workspaceFilePath);
537
+ outputSuccess(workspaceFilePath, result.description, result.model, result.fileSize);
492
538
  } catch (err) {
493
539
  if (process.env.CCS_DEBUG) {
494
540
  console.error('[CCS Hook] Error:', err.message);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "7.78.1-dev.1",
3
+ "version": "7.78.1-dev.3",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude, GLM, Kimi, and more",
5
5
  "keywords": [
6
6
  "cli",