@kaitranntt/ccs 7.68.1-dev.7 → 7.68.1-dev.9

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 (119) hide show
  1. package/dist/auth/commands/create-command-env.d.ts +1 -0
  2. package/dist/auth/commands/create-command-env.d.ts.map +1 -1
  3. package/dist/ccs.js +55 -2
  4. package/dist/ccs.js.map +1 -1
  5. package/dist/channels/official-channels-runtime.d.ts +1 -0
  6. package/dist/channels/official-channels-runtime.d.ts.map +1 -1
  7. package/dist/channels/official-channels-store.d.ts +1 -0
  8. package/dist/channels/official-channels-store.d.ts.map +1 -1
  9. package/dist/cliproxy/base-config-loader.d.ts +1 -0
  10. package/dist/cliproxy/base-config-loader.d.ts.map +1 -1
  11. package/dist/cliproxy/config/env-builder.d.ts +1 -0
  12. package/dist/cliproxy/config/env-builder.d.ts.map +1 -1
  13. package/dist/cliproxy/config/extended-context-config.d.ts +1 -0
  14. package/dist/cliproxy/config/extended-context-config.d.ts.map +1 -1
  15. package/dist/cliproxy/config/thinking-config.d.ts +1 -0
  16. package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
  17. package/dist/cliproxy/executor/env-resolver.d.ts +2 -0
  18. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  19. package/dist/cliproxy/executor/env-resolver.js +2 -1
  20. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  21. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  22. package/dist/cliproxy/executor/index.js +28 -1
  23. package/dist/cliproxy/executor/index.js.map +1 -1
  24. package/dist/cliproxy/model-id-normalizer.d.ts +1 -0
  25. package/dist/cliproxy/model-id-normalizer.d.ts.map +1 -1
  26. package/dist/cliproxy/routing-strategy-http.d.ts +1 -0
  27. package/dist/cliproxy/routing-strategy-http.d.ts.map +1 -1
  28. package/dist/cliproxy/tool-sanitization-proxy.d.ts.map +1 -1
  29. package/dist/cliproxy/tool-sanitization-proxy.js +0 -3
  30. package/dist/cliproxy/tool-sanitization-proxy.js.map +1 -1
  31. package/dist/cliproxy/types.d.ts +2 -0
  32. package/dist/cliproxy/types.d.ts.map +1 -1
  33. package/dist/config/migration-manager.d.ts.map +1 -1
  34. package/dist/config/migration-manager.js +2 -1
  35. package/dist/config/migration-manager.js.map +1 -1
  36. package/dist/cursor/cursor-anthropic-response.d.ts +1 -0
  37. package/dist/cursor/cursor-anthropic-response.d.ts.map +1 -1
  38. package/dist/cursor/cursor-executor.d.ts +1 -0
  39. package/dist/cursor/cursor-executor.d.ts.map +1 -1
  40. package/dist/docker/docker-executor.d.ts +1 -0
  41. package/dist/docker/docker-executor.d.ts.map +1 -1
  42. package/dist/management/instance-manager.d.ts.map +1 -1
  43. package/dist/management/instance-manager.js +5 -2
  44. package/dist/management/instance-manager.js.map +1 -1
  45. package/dist/targets/claude-adapter.d.ts +6 -1
  46. package/dist/targets/claude-adapter.d.ts.map +1 -1
  47. package/dist/targets/claude-adapter.js +6 -2
  48. package/dist/targets/claude-adapter.js.map +1 -1
  49. package/dist/targets/codex-adapter.d.ts +1 -0
  50. package/dist/targets/codex-adapter.d.ts.map +1 -1
  51. package/dist/targets/codex-adapter.js +12 -8
  52. package/dist/targets/codex-adapter.js.map +1 -1
  53. package/dist/targets/droid-adapter.d.ts +3 -1
  54. package/dist/targets/droid-adapter.d.ts.map +1 -1
  55. package/dist/targets/droid-adapter.js +3 -2
  56. package/dist/targets/droid-adapter.js.map +1 -1
  57. package/dist/targets/target-adapter.d.ts +5 -0
  58. package/dist/targets/target-adapter.d.ts.map +1 -1
  59. package/dist/types/cli.d.ts +1 -0
  60. package/dist/types/cli.d.ts.map +1 -1
  61. package/dist/utils/browser/chrome-reuse.d.ts +17 -0
  62. package/dist/utils/browser/chrome-reuse.d.ts.map +1 -0
  63. package/dist/utils/browser/chrome-reuse.js +205 -0
  64. package/dist/utils/browser/chrome-reuse.js.map +1 -0
  65. package/dist/utils/browser/claude-tool-args.d.ts +2 -0
  66. package/dist/utils/browser/claude-tool-args.d.ts.map +1 -0
  67. package/dist/utils/browser/claude-tool-args.js +18 -0
  68. package/dist/utils/browser/claude-tool-args.js.map +1 -0
  69. package/dist/utils/browser/index.d.ts +8 -0
  70. package/dist/utils/browser/index.d.ts.map +1 -0
  71. package/dist/utils/browser/index.js +24 -0
  72. package/dist/utils/browser/index.js.map +1 -0
  73. package/dist/utils/browser/mcp-installer.d.ts +14 -0
  74. package/dist/utils/browser/mcp-installer.d.ts.map +1 -0
  75. package/dist/utils/browser/mcp-installer.js +356 -0
  76. package/dist/utils/browser/mcp-installer.js.map +1 -0
  77. package/dist/utils/browser-codex-overrides.d.ts +3 -0
  78. package/dist/utils/browser-codex-overrides.d.ts.map +1 -0
  79. package/dist/utils/browser-codex-overrides.js +29 -0
  80. package/dist/utils/browser-codex-overrides.js.map +1 -0
  81. package/dist/utils/claude-detector.d.ts +1 -0
  82. package/dist/utils/claude-detector.d.ts.map +1 -1
  83. package/dist/utils/claude-spawner.d.ts +1 -0
  84. package/dist/utils/claude-spawner.d.ts.map +1 -1
  85. package/dist/utils/claude-tool-args.d.ts +7 -0
  86. package/dist/utils/claude-tool-args.d.ts.map +1 -0
  87. package/dist/utils/claude-tool-args.js +43 -0
  88. package/dist/utils/claude-tool-args.js.map +1 -0
  89. package/dist/utils/image-analysis/claude-tool-args.d.ts +3 -0
  90. package/dist/utils/image-analysis/claude-tool-args.d.ts.map +1 -1
  91. package/dist/utils/image-analysis/claude-tool-args.js +21 -47
  92. package/dist/utils/image-analysis/claude-tool-args.js.map +1 -1
  93. package/dist/utils/package-manager-detector.d.ts +1 -0
  94. package/dist/utils/package-manager-detector.d.ts.map +1 -1
  95. package/dist/utils/prompt-injection-strategy.d.ts +54 -0
  96. package/dist/utils/prompt-injection-strategy.d.ts.map +1 -0
  97. package/dist/utils/prompt-injection-strategy.js +128 -0
  98. package/dist/utils/prompt-injection-strategy.js.map +1 -0
  99. package/dist/utils/shell-executor.d.ts +1 -0
  100. package/dist/utils/shell-executor.d.ts.map +1 -1
  101. package/dist/utils/websearch/claude-tool-args.d.ts +7 -0
  102. package/dist/utils/websearch/claude-tool-args.d.ts.map +1 -1
  103. package/dist/utils/websearch/claude-tool-args.js +27 -50
  104. package/dist/utils/websearch/claude-tool-args.js.map +1 -1
  105. package/dist/utils/websearch/trace.d.ts +1 -0
  106. package/dist/utils/websearch/trace.d.ts.map +1 -1
  107. package/dist/utils/websearch/trace.js +20 -5
  108. package/dist/utils/websearch/trace.js.map +1 -1
  109. package/dist/web-server/middleware/auth-middleware.d.ts +0 -1
  110. package/dist/web-server/middleware/auth-middleware.d.ts.map +1 -1
  111. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -1
  112. package/dist/web-server/routes/cliproxy-local-proxy.js +26 -6
  113. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -1
  114. package/dist/web-server/services/codex-dashboard-service.d.ts +1 -0
  115. package/dist/web-server/services/codex-dashboard-service.d.ts.map +1 -1
  116. package/dist/web-server/services/droid-dashboard-service.d.ts +1 -0
  117. package/dist/web-server/services/droid-dashboard-service.d.ts.map +1 -1
  118. package/lib/mcp/ccs-browser-server.cjs +877 -0
  119. package/package.json +2 -1
@@ -1,65 +1,39 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Claude launch argument helpers for first-class Image Analysis.
4
+ *
5
+ * Uses the same prompt injection mode as the user to avoid mixing
6
+ * `--append-system-prompt` and `--append-system-prompt-file` in one request.
4
7
  */
5
8
  Object.defineProperty(exports, "__esModule", { value: true });
6
9
  exports.getImageAnalysisSteeringPrompt = exports.appendThirdPartyImageAnalysisToolArgs = void 0;
7
- const APPEND_SYSTEM_PROMPT_FLAG = '--append-system-prompt';
8
- const IMAGE_ANALYSIS_STEERING_PROMPT = 'For local image or PDF files, prefer the CCS MCP tool ImageAnalysis instead of Read. Use Read for text, code, and other plain files. If the user asks a specific question about the visual, pass that question as the focus field when useful. If ImageAnalysis is unavailable or fails, you may fall back to Read.';
9
- function splitArgsAtTerminator(args) {
10
- const terminatorIndex = args.indexOf('--');
11
- if (terminatorIndex === -1) {
12
- return { optionArgs: args, trailingArgs: [] };
13
- }
14
- return {
15
- optionArgs: args.slice(0, terminatorIndex),
16
- trailingArgs: args.slice(terminatorIndex),
17
- };
18
- }
19
- function getImmediateFlagValue(args, index) {
20
- const value = args[index + 1];
21
- if (value === undefined || value === '--' || value.startsWith('--')) {
22
- return null;
23
- }
24
- return value;
25
- }
26
- function hasExactFlagValue(args, flag, expectedValue) {
27
- for (let index = 0; index < args.length; index += 1) {
28
- const arg = args[index];
29
- if (arg === flag) {
30
- const value = getImmediateFlagValue(args, index);
31
- if (value === expectedValue) {
32
- return true;
33
- }
34
- continue;
35
- }
36
- if (arg === `${flag}=${expectedValue}`) {
37
- return true;
38
- }
39
- if (arg.startsWith(`${flag}=`) && arg.slice(flag.length + 1) === expectedValue) {
40
- return true;
41
- }
42
- }
43
- return false;
44
- }
10
+ const claude_tool_args_1 = require("../claude-tool-args");
11
+ const prompt_injection_strategy_1 = require("../prompt-injection-strategy");
12
+ const IMAGE_ANALYSIS_STEERING_PROMPT = {
13
+ name: 'ccs-prompt-image-analysis-tool',
14
+ content: 'For local image or PDF files, prefer the CCS MCP tool ImageAnalysis instead of Read. Use Read for text, code, and other plain files. If the user asks a specific question about the visual, pass that question as the focus field when useful. If ImageAnalysis is unavailable or fails, you may fall back to Read.',
15
+ };
45
16
  function ensureImageAnalysisSteeringPrompt(args) {
46
- const { optionArgs, trailingArgs } = splitArgsAtTerminator(args);
47
- if (hasExactFlagValue(optionArgs, APPEND_SYSTEM_PROMPT_FLAG, IMAGE_ANALYSIS_STEERING_PROMPT)) {
17
+ const { optionArgs, trailingArgs } = (0, claude_tool_args_1.splitArgsAtTerminator)(args);
18
+ if ((0, claude_tool_args_1.hasExactFlagValue)(optionArgs, prompt_injection_strategy_1.PROMPT_FLAG_INLINE, IMAGE_ANALYSIS_STEERING_PROMPT.content)) {
19
+ return args;
20
+ }
21
+ if ((0, prompt_injection_strategy_1.hasManagedPromptFileArg)({ args: optionArgs, promptName: IMAGE_ANALYSIS_STEERING_PROMPT.name })) {
48
22
  return args;
49
23
  }
50
- return [
51
- ...optionArgs,
52
- APPEND_SYSTEM_PROMPT_FLAG,
53
- IMAGE_ANALYSIS_STEERING_PROMPT,
54
- ...trailingArgs,
55
- ];
24
+ const steeringArg = (0, prompt_injection_strategy_1.buildSteeringArg)({
25
+ args: optionArgs,
26
+ promptName: IMAGE_ANALYSIS_STEERING_PROMPT.name,
27
+ promptContent: IMAGE_ANALYSIS_STEERING_PROMPT.content,
28
+ });
29
+ return [...optionArgs, ...steeringArg, ...trailingArgs];
56
30
  }
57
31
  function appendThirdPartyImageAnalysisToolArgs(args) {
58
32
  return ensureImageAnalysisSteeringPrompt(args);
59
33
  }
60
34
  exports.appendThirdPartyImageAnalysisToolArgs = appendThirdPartyImageAnalysisToolArgs;
61
35
  function getImageAnalysisSteeringPrompt() {
62
- return IMAGE_ANALYSIS_STEERING_PROMPT;
36
+ return IMAGE_ANALYSIS_STEERING_PROMPT.content;
63
37
  }
64
38
  exports.getImageAnalysisSteeringPrompt = getImageAnalysisSteeringPrompt;
65
39
  //# sourceMappingURL=claude-tool-args.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-tool-args.js","sourceRoot":"","sources":["../../../src/utils/image-analysis/claude-tool-args.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAC3D,MAAM,8BAA8B,GAClC,qTAAqT,CAAC;AAExT,SAAS,qBAAqB,CAAC,IAAc;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAc,EAAE,KAAa;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc,EAAE,IAAY,EAAE,aAAqB;IAC5E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,aAAa,EAAE,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iCAAiC,CAAC,IAAc;IACvD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,iBAAiB,CAAC,UAAU,EAAE,yBAAyB,EAAE,8BAA8B,CAAC,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,yBAAyB;QACzB,8BAA8B;QAC9B,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,qCAAqC,CAAC,IAAc;IAClE,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAFD,sFAEC;AAED,SAAgB,8BAA8B;IAC5C,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAFD,wEAEC"}
1
+ {"version":3,"file":"claude-tool-args.js","sourceRoot":"","sources":["../../../src/utils/image-analysis/claude-tool-args.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,0DAG6B;AAC7B,4EAIsC;AAEtC,MAAM,8BAA8B,GAAG;IACrC,IAAI,EAAE,gCAAgC;IACtC,OAAO,EACL,qTAAqT;CACxT,CAAC;AAEF,SAAS,iCAAiC,CAAC,IAAc;IACvD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,wCAA2B,EAAC,IAAI,CAAC,CAAC;IAEvE,IACE,IAAA,oCAAuB,EAAC,UAAU,EAAE,8CAAkB,EAAE,8BAA8B,CAAC,OAAO,CAAC,EAC/F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,IAAA,mDAAuB,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,8BAA8B,CAAC,IAAI,EAAE,CAAC,EAC9F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4CAAgB,EAAC;QACnC,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,8BAA8B,CAAC,IAAI;QAC/C,aAAa,EAAE,8BAA8B,CAAC,OAAO;KACtD,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,qCAAqC,CAAC,IAAc;IAClE,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAFD,sFAEC;AAED,SAAgB,8BAA8B;IAC5C,OAAO,8BAA8B,CAAC,OAAO,CAAC;AAChD,CAAC;AAFD,wEAEC"}
@@ -6,6 +6,7 @@
6
6
  * somewhere on the machine" because self-update must target the current install.
7
7
  */
8
8
  /// <reference types="node" />
9
+ /// <reference types="bun-types" />
9
10
  export type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';
10
11
  export interface CurrentInstall {
11
12
  manager: PackageManager;
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager-detector.d.ts","sourceRoot":"","sources":["../../src/utils/package-manager-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAKH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAiJD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,GAAE,MAA8B,GAAG,cAAc,CAsC/F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,GAAE,MAA8B,GAAG,cAAc,CAE/F;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,UAAU,CA8BnB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAElF;AAUD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,CA8BxF;AAiBD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAuC,EAChD,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAwBR"}
1
+ {"version":3,"file":"package-manager-detector.d.ts","sourceRoot":"","sources":["../../src/utils/package-manager-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;AAKH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAiJD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,GAAE,MAA8B,GAAG,cAAc,CAsC/F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,GAAE,MAA8B,GAAG,cAAc,CAE/F;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,UAAU,CA8BnB;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAElF;AAUD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,CA8BxF;AAiBD,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAuC,EAChD,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAwBR"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Shared prompt injection strategy.
3
+ *
4
+ * Detects which prompt injection mode the user is using and ensures CCS
5
+ * always uses the SAME mode so Claude CLI never receives mixed
6
+ * `--append-system-prompt` and `--append-system-prompt-file` flags.
7
+ *
8
+ * Rules:
9
+ * - User passes `--append-system-prompt` → all CCS prompts use inline
10
+ * - User passes `--append-system-prompt-file` → all CCS prompts use file
11
+ * - Neither present → default to inline (`--append-system-prompt`)
12
+ */
13
+ export type PromptInjectionMode = 'inline' | 'file';
14
+ /** `--append-system-prompt` — inline prompt text */
15
+ export declare const PROMPT_FLAG_INLINE = "--append-system-prompt";
16
+ /** `--append-system-prompt-file` — prompt read from file */
17
+ export declare const PROMPT_FLAG_FILE = "--append-system-prompt-file";
18
+ export declare function getManagedPromptFileName(promptName: string): string;
19
+ export declare function getManagedPromptFilePath(promptName: string): string;
20
+ export declare function hasManagedPromptFileArg(params: {
21
+ args: string[];
22
+ promptName: string;
23
+ }): boolean;
24
+ /**
25
+ * Detect which prompt injection mode to use based on user-provided args.
26
+ *
27
+ * - `--append-system-prompt-file` found (space or `=` form) → 'file'
28
+ * - `--append-system-prompt` found (space or `=` form) → 'inline'
29
+ * - Neither → 'inline' (default)
30
+ */
31
+ export declare function detectPromptInjectionMode(args: string[]): PromptInjectionMode;
32
+ /**
33
+ * Build a `--append-system-prompt <text>` arg pair.
34
+ */
35
+ export declare function buildInlineSteeringArg(params: {
36
+ promptContent: string;
37
+ }): string[];
38
+ /**
39
+ * Build a `--append-system-prompt-file <path>` arg pair.
40
+ * Writes the prompt to a temp file first.
41
+ */
42
+ export declare function buildFileSteeringArg(params: {
43
+ promptFileName: string;
44
+ promptContent: string;
45
+ }): string[];
46
+ /**
47
+ * Build steering prompt args in the given mode.
48
+ */
49
+ export declare function buildSteeringArg(params: {
50
+ args: string[];
51
+ promptName: string;
52
+ promptContent: string;
53
+ }): string[];
54
+ //# sourceMappingURL=prompt-injection-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-injection-strategy.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-injection-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAM9D,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAuB/F;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAU7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAElF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,EAAE,CAYX;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,EAAE,CAWX"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /**
3
+ * Shared prompt injection strategy.
4
+ *
5
+ * Detects which prompt injection mode the user is using and ensures CCS
6
+ * always uses the SAME mode so Claude CLI never receives mixed
7
+ * `--append-system-prompt` and `--append-system-prompt-file` flags.
8
+ *
9
+ * Rules:
10
+ * - User passes `--append-system-prompt` → all CCS prompts use inline
11
+ * - User passes `--append-system-prompt-file` → all CCS prompts use file
12
+ * - Neither present → default to inline (`--append-system-prompt`)
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.buildSteeringArg = exports.buildFileSteeringArg = exports.buildInlineSteeringArg = exports.detectPromptInjectionMode = exports.hasManagedPromptFileArg = exports.getManagedPromptFilePath = exports.getManagedPromptFileName = exports.PROMPT_FLAG_FILE = exports.PROMPT_FLAG_INLINE = void 0;
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
41
+ const config_manager_1 = require("./config-manager");
42
+ /** `--append-system-prompt` — inline prompt text */
43
+ exports.PROMPT_FLAG_INLINE = '--append-system-prompt';
44
+ /** `--append-system-prompt-file` — prompt read from file */
45
+ exports.PROMPT_FLAG_FILE = '--append-system-prompt-file';
46
+ function getManagedPromptsDir() {
47
+ return path.join((0, config_manager_1.getCcsDir)(), 'prompts');
48
+ }
49
+ function getManagedPromptFileName(promptName) {
50
+ return `${promptName}.txt`;
51
+ }
52
+ exports.getManagedPromptFileName = getManagedPromptFileName;
53
+ function getManagedPromptFilePath(promptName) {
54
+ return path.join(getManagedPromptsDir(), getManagedPromptFileName(promptName));
55
+ }
56
+ exports.getManagedPromptFilePath = getManagedPromptFilePath;
57
+ function hasManagedPromptFileArg(params) {
58
+ const expectedPath = path.resolve(getManagedPromptFilePath(params.promptName));
59
+ for (let index = 0; index < params.args.length; index += 1) {
60
+ const arg = params.args[index];
61
+ if (arg === exports.PROMPT_FLAG_FILE) {
62
+ const filePath = params.args[index + 1];
63
+ if (filePath && path.resolve(filePath) === expectedPath) {
64
+ return true;
65
+ }
66
+ continue;
67
+ }
68
+ if (arg.startsWith(`${exports.PROMPT_FLAG_FILE}=`) &&
69
+ path.resolve(arg.slice(exports.PROMPT_FLAG_FILE.length + 1)) === expectedPath) {
70
+ return true;
71
+ }
72
+ }
73
+ return false;
74
+ }
75
+ exports.hasManagedPromptFileArg = hasManagedPromptFileArg;
76
+ /**
77
+ * Detect which prompt injection mode to use based on user-provided args.
78
+ *
79
+ * - `--append-system-prompt-file` found (space or `=` form) → 'file'
80
+ * - `--append-system-prompt` found (space or `=` form) → 'inline'
81
+ * - Neither → 'inline' (default)
82
+ */
83
+ function detectPromptInjectionMode(args) {
84
+ for (let i = 0; i < args.length; i += 1) {
85
+ const arg = args[i];
86
+ if (arg === exports.PROMPT_FLAG_FILE || arg.startsWith(`${exports.PROMPT_FLAG_FILE}=`)) {
87
+ return 'file';
88
+ }
89
+ }
90
+ return 'inline';
91
+ }
92
+ exports.detectPromptInjectionMode = detectPromptInjectionMode;
93
+ /**
94
+ * Build a `--append-system-prompt <text>` arg pair.
95
+ */
96
+ function buildInlineSteeringArg(params) {
97
+ return [exports.PROMPT_FLAG_INLINE, params.promptContent];
98
+ }
99
+ exports.buildInlineSteeringArg = buildInlineSteeringArg;
100
+ /**
101
+ * Build a `--append-system-prompt-file <path>` arg pair.
102
+ * Writes the prompt to a temp file first.
103
+ */
104
+ function buildFileSteeringArg(params) {
105
+ const promptsFolder = getManagedPromptsDir();
106
+ if (!fs.existsSync(promptsFolder)) {
107
+ fs.mkdirSync(promptsFolder, { recursive: true });
108
+ }
109
+ const promptFile = path.join(promptsFolder, params.promptFileName);
110
+ fs.writeFileSync(promptFile, params.promptContent);
111
+ return [exports.PROMPT_FLAG_FILE, promptFile];
112
+ }
113
+ exports.buildFileSteeringArg = buildFileSteeringArg;
114
+ /**
115
+ * Build steering prompt args in the given mode.
116
+ */
117
+ function buildSteeringArg(params) {
118
+ const mode = detectPromptInjectionMode(params.args);
119
+ if (mode === 'file') {
120
+ return buildFileSteeringArg({
121
+ promptFileName: getManagedPromptFileName(params.promptName),
122
+ promptContent: params.promptContent,
123
+ });
124
+ }
125
+ return buildInlineSteeringArg({ promptContent: params.promptContent });
126
+ }
127
+ exports.buildSteeringArg = buildSteeringArg;
128
+ //# sourceMappingURL=prompt-injection-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-injection-strategy.js","sourceRoot":"","sources":["../../src/utils/prompt-injection-strategy.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Cross-platform shell execution utilities for CCS.
5
5
  */
6
6
  /// <reference types="node" />
7
+ /// <reference types="bun-types" />
7
8
  /**
8
9
  * Strip ANTHROPIC_* env vars from an environment object.
9
10
  * Used for account/default profiles to prevent stale proxy config from
@@ -1 +1 @@
1
- {"version":3,"file":"shell-executor.d.ts","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AASH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ3E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ5E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAW9E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,UAAU,CAU/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW,GACvC,IAAI,CAmGN"}
1
+ {"version":3,"file":"shell-executor.d.ts","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;AASH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ3E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ5E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAW9E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,UAAU,CAU/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW,GACvC,IAAI,CAmGN"}
@@ -1,5 +1,12 @@
1
1
  /**
2
2
  * Claude launch argument helpers for third-party WebSearch.
3
+ *
4
+ * Uses the same prompt injection mode as the user to avoid mixing
5
+ * `--append-system-prompt` and `--append-system-prompt-file` in one request.
3
6
  */
7
+ export declare const THIRD_PARTY_WEBSEARCH_STEERING_PROMPT: {
8
+ name: string;
9
+ content: string;
10
+ };
4
11
  export declare function appendThirdPartyWebSearchToolArgs(args: string[]): string[];
5
12
  //# sourceMappingURL=claude-tool-args.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-tool-args.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/claude-tool-args.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoJH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE1E"}
1
+ {"version":3,"file":"claude-tool-args.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/claude-tool-args.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,eAAO,MAAM,qCAAqC;;;CAIjD,CAAC;AAgHF,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE1E"}
@@ -1,13 +1,20 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Claude launch argument helpers for third-party WebSearch.
4
+ *
5
+ * Uses the same prompt injection mode as the user to avoid mixing
6
+ * `--append-system-prompt` and `--append-system-prompt-file` in one request.
4
7
  */
5
8
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.appendThirdPartyWebSearchToolArgs = void 0;
9
+ exports.appendThirdPartyWebSearchToolArgs = exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT = void 0;
10
+ const claude_tool_args_1 = require("../claude-tool-args");
11
+ const prompt_injection_strategy_1 = require("../prompt-injection-strategy");
7
12
  const NATIVE_WEBSEARCH_TOOL = 'WebSearch';
8
13
  const DISALLOWED_TOOLS_FLAG = '--disallowedTools';
9
- const APPEND_SYSTEM_PROMPT_FLAG = '--append-system-prompt';
10
- const THIRD_PARTY_WEBSEARCH_STEERING_PROMPT = 'For web lookup or current-information requests, prefer the CCS MCP tool WebSearch instead of Bash/curl/http fetches. If the user explicitly wants shell commands, or WebSearch is unavailable or fails, you may fall back to Bash/network tools.';
14
+ exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT = {
15
+ name: 'ccs-prompt-websearch-tool',
16
+ content: 'For web lookup or current-information requests, prefer the CCS MCP tool WebSearch instead of Bash/curl/http fetches. If the user explicitly wants shell commands, or WebSearch is unavailable or fails, you may fall back to Bash/network tools.',
17
+ };
11
18
  function parseToolValue(rawValue) {
12
19
  return rawValue
13
20
  .split(',')
@@ -21,28 +28,11 @@ function mergeToolValues(rawValues, toolName) {
21
28
  }
22
29
  return merged.join(',');
23
30
  }
24
- function splitArgsAtTerminator(args) {
25
- const terminatorIndex = args.indexOf('--');
26
- if (terminatorIndex === -1) {
27
- return { optionArgs: args, trailingArgs: [] };
28
- }
29
- return {
30
- optionArgs: args.slice(0, terminatorIndex),
31
- trailingArgs: args.slice(terminatorIndex),
32
- };
33
- }
34
- function getImmediateFlagValue(args, index) {
35
- const value = args[index + 1];
36
- if (value === undefined || value === '--' || value.startsWith('--')) {
37
- return null;
38
- }
39
- return value;
40
- }
41
31
  function hasToolInFlag(args, flag, toolName) {
42
32
  for (let index = 0; index < args.length; index += 1) {
43
33
  const arg = args[index];
44
34
  if (arg === flag) {
45
- const value = getImmediateFlagValue(args, index);
35
+ const value = (0, claude_tool_args_1.getImmediateFlagValue)(args, index);
46
36
  if (value && parseToolValue(value).includes(toolName)) {
47
37
  return true;
48
38
  }
@@ -58,34 +48,15 @@ function hasToolInFlag(args, flag, toolName) {
58
48
  }
59
49
  return false;
60
50
  }
61
- function hasExactFlagValue(args, flag, expectedValue) {
62
- for (let index = 0; index < args.length; index += 1) {
63
- const arg = args[index];
64
- if (arg === flag) {
65
- const value = getImmediateFlagValue(args, index);
66
- if (value === expectedValue) {
67
- return true;
68
- }
69
- continue;
70
- }
71
- if (arg === `${flag}=${expectedValue}`) {
72
- return true;
73
- }
74
- if (arg.startsWith(`${flag}=`) && arg.slice(flag.length + 1) === expectedValue) {
75
- return true;
76
- }
77
- }
78
- return false;
79
- }
80
51
  function ensureDisallowedNativeWebSearchTool(args) {
81
- const { optionArgs, trailingArgs } = splitArgsAtTerminator(args);
52
+ const { optionArgs, trailingArgs } = (0, claude_tool_args_1.splitArgsAtTerminator)(args);
82
53
  if (hasToolInFlag(optionArgs, DISALLOWED_TOOLS_FLAG, NATIVE_WEBSEARCH_TOOL)) {
83
54
  return args;
84
55
  }
85
56
  for (let index = 0; index < optionArgs.length; index += 1) {
86
57
  const arg = optionArgs[index];
87
58
  if (arg === DISALLOWED_TOOLS_FLAG) {
88
- const currentValue = getImmediateFlagValue(optionArgs, index);
59
+ const currentValue = (0, claude_tool_args_1.getImmediateFlagValue)(optionArgs, index);
89
60
  const mergedValue = mergeToolValues(currentValue ? [currentValue] : [], NATIVE_WEBSEARCH_TOOL);
90
61
  return [
91
62
  ...optionArgs.slice(0, index + 1),
@@ -107,16 +78,22 @@ function ensureDisallowedNativeWebSearchTool(args) {
107
78
  return [...optionArgs, DISALLOWED_TOOLS_FLAG, NATIVE_WEBSEARCH_TOOL, ...trailingArgs];
108
79
  }
109
80
  function ensureWebSearchSteeringPrompt(args) {
110
- const { optionArgs, trailingArgs } = splitArgsAtTerminator(args);
111
- if (hasExactFlagValue(optionArgs, APPEND_SYSTEM_PROMPT_FLAG, THIRD_PARTY_WEBSEARCH_STEERING_PROMPT)) {
81
+ const { optionArgs, trailingArgs } = (0, claude_tool_args_1.splitArgsAtTerminator)(args);
82
+ if ((0, claude_tool_args_1.hasExactFlagValue)(optionArgs, prompt_injection_strategy_1.PROMPT_FLAG_INLINE, exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT.content)) {
83
+ return args;
84
+ }
85
+ if ((0, prompt_injection_strategy_1.hasManagedPromptFileArg)({
86
+ args: optionArgs,
87
+ promptName: exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT.name,
88
+ })) {
112
89
  return args;
113
90
  }
114
- return [
115
- ...optionArgs,
116
- APPEND_SYSTEM_PROMPT_FLAG,
117
- THIRD_PARTY_WEBSEARCH_STEERING_PROMPT,
118
- ...trailingArgs,
119
- ];
91
+ const steeringArgs = (0, prompt_injection_strategy_1.buildSteeringArg)({
92
+ args: optionArgs,
93
+ promptName: exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT.name,
94
+ promptContent: exports.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT.content,
95
+ });
96
+ return [...optionArgs, ...steeringArgs, ...trailingArgs];
120
97
  }
121
98
  function appendThirdPartyWebSearchToolArgs(args) {
122
99
  return ensureWebSearchSteeringPrompt(ensureDisallowedNativeWebSearchTool(args));
@@ -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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"}
@@ -6,6 +6,7 @@
6
6
  * bypass scenarios without polluting Claude/MCP stdout.
7
7
  */
8
8
  /// <reference types="node" />
9
+ /// <reference types="bun-types" />
9
10
  export declare function resolveAllowedWebSearchTraceFile(env?: NodeJS.ProcessEnv): string | null;
10
11
  export declare function isWebSearchTraceEnabled(env?: NodeJS.ProcessEnv): boolean;
11
12
  export declare function appendWebSearchTrace(event: string, payload?: Record<string, unknown>, env?: NodeJS.ProcessEnv): void;
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/trace.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAqFH,wBAAgB,gCAAgC,CAC9C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAYf;AAMD,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAErF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CA6BN;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqBhC;AAoBD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCzB"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/trace.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;AA6FH,wBAAgB,gCAAgC,CAC9C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAYf;AAMD,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAErF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,IAAI,CA6BN;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqBhC;AAkCD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCzB"}
@@ -36,11 +36,11 @@ const os = __importStar(require("os"));
36
36
  const path = __importStar(require("path"));
37
37
  const config_manager_1 = require("../config-manager");
38
38
  const logging_1 = require("../../services/logging");
39
+ const prompt_injection_strategy_1 = require("../prompt-injection-strategy");
40
+ const claude_tool_args_1 = require("./claude-tool-args");
39
41
  const TRACE_FILE_NAME = 'websearch-trace.jsonl';
40
42
  const NATIVE_WEBSEARCH_TOOL = 'WebSearch';
41
43
  const DISALLOWED_TOOLS_FLAG = '--disallowedTools';
42
- const APPEND_SYSTEM_PROMPT_FLAG = '--append-system-prompt';
43
- const THIRD_PARTY_WEBSEARCH_STEERING_PROMPT = 'For web lookup or current-information requests, prefer the CCS MCP tool WebSearch instead of Bash/curl/http fetches. If the user explicitly wants shell commands, or WebSearch is unavailable or fails, you may fall back to Bash/network tools.';
44
44
  const logger = (0, logging_1.createLogger)('websearch');
45
45
  function parseToolValue(rawValue) {
46
46
  return rawValue
@@ -74,11 +74,13 @@ function hasToolInFlag(args, flag, toolName) {
74
74
  }
75
75
  return false;
76
76
  }
77
- function hasExactFlagValue(args, flag, expectedValue) {
77
+ function hasExactFlagValue(params) {
78
+ const { args, flag, expectedValue } = params;
78
79
  for (let index = 0; index < args.length; index += 1) {
79
80
  const arg = args[index];
80
81
  if (arg === flag) {
81
- if (getImmediateFlagValue(args, index) === expectedValue) {
82
+ const immediateFlagValue = getImmediateFlagValue(args, index);
83
+ if (immediateFlagValue === expectedValue) {
82
84
  return true;
83
85
  }
84
86
  continue;
@@ -171,12 +173,25 @@ function buildLaunchId() {
171
173
  const random = Math.random().toString(36).slice(2, 10);
172
174
  return `websearch-${Date.now()}-${process.pid}-${random}`;
173
175
  }
176
+ function hasSteeringPromptInArgs(args) {
177
+ if (hasExactFlagValue({
178
+ args,
179
+ flag: prompt_injection_strategy_1.PROMPT_FLAG_INLINE,
180
+ expectedValue: claude_tool_args_1.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT.content,
181
+ })) {
182
+ return true;
183
+ }
184
+ if ((0, prompt_injection_strategy_1.hasManagedPromptFileArg)({ args, promptName: claude_tool_args_1.THIRD_PARTY_WEBSEARCH_STEERING_PROMPT.name })) {
185
+ return true;
186
+ }
187
+ return false;
188
+ }
174
189
  function summarizeLaunchArgs(args) {
175
190
  return {
176
191
  argCount: args.length,
177
192
  hasSettingsFlag: args.includes('--settings'),
178
193
  nativeWebSearchDisallowed: hasToolInFlag(args, DISALLOWED_TOOLS_FLAG, NATIVE_WEBSEARCH_TOOL),
179
- steeringPromptApplied: hasExactFlagValue(args, APPEND_SYSTEM_PROMPT_FLAG, THIRD_PARTY_WEBSEARCH_STEERING_PROMPT),
194
+ steeringPromptApplied: hasSteeringPromptInArgs(args),
180
195
  };
181
196
  }
182
197
  function createWebSearchTraceContext(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/utils/websearch/trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/utils/websearch/trace.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  * Dashboard Authentication Middleware
3
3
  * Session-based auth with httpOnly cookies for CCS dashboard.
4
4
  */
5
- /// <reference types="qs" />
6
5
  import type { Request, Response, NextFunction } from 'express';
7
6
  declare module 'express-session' {
8
7
  interface SessionData {
@@ -1 +1 @@
1
- {"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../../src/web-server/middleware/auth-middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAU/D,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,WAAW;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF;AAkDD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,sDAO3B,CAAC;AAEH;;GAEG;AACH,wBAAgB,uBAAuB,iJAetC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAwBpF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU1E;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,SAA6E,GACjF,OAAO,CAWT"}
1
+ {"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../../src/web-server/middleware/auth-middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAU/D,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,WAAW;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF;AAkDD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,sDAO3B,CAAC;AAEH;;GAEG;AACH,wBAAgB,uBAAuB,iJAetC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAwBpF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU1E;AAED,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,SAA6E,GACjF,OAAO,CAWT"}
@@ -1 +1 @@
1
- {"version":3,"file":"cliproxy-local-proxy.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-local-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKpD,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;CAClC;AAsDD,wBAAgB,8BAA8B,CAAC,IAAI,GAAE,sBAA2B,GAAG,MAAM,CA2ExF;;AAED,wBAAgD"}
1
+ {"version":3,"file":"cliproxy-local-proxy.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-local-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKpD,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;CAClC;AAsDD,wBAAgB,8BAA8B,CAAC,IAAI,GAAE,sBAA2B,GAAG,MAAM,CAmGxF;;AAED,wBAAgD"}