@kaitranntt/ccs 7.63.1 → 7.64.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 (166) hide show
  1. package/README.md +10 -3
  2. package/dist/api/services/profile-lifecycle-service.js +4 -4
  3. package/dist/api/services/profile-lifecycle-service.js.map +1 -1
  4. package/dist/api/services/profile-writer.d.ts.map +1 -1
  5. package/dist/api/services/profile-writer.js +3 -5
  6. package/dist/api/services/profile-writer.js.map +1 -1
  7. package/dist/ccs.js +21 -9
  8. package/dist/ccs.js.map +1 -1
  9. package/dist/cliproxy/accounts/email-account-identity.d.ts +12 -0
  10. package/dist/cliproxy/accounts/email-account-identity.d.ts.map +1 -0
  11. package/dist/cliproxy/accounts/email-account-identity.js +124 -0
  12. package/dist/cliproxy/accounts/email-account-identity.js.map +1 -0
  13. package/dist/cliproxy/accounts/query.d.ts.map +1 -1
  14. package/dist/cliproxy/accounts/query.js +15 -8
  15. package/dist/cliproxy/accounts/query.js.map +1 -1
  16. package/dist/cliproxy/accounts/registry.d.ts +6 -0
  17. package/dist/cliproxy/accounts/registry.d.ts.map +1 -1
  18. package/dist/cliproxy/accounts/registry.js +136 -42
  19. package/dist/cliproxy/accounts/registry.js.map +1 -1
  20. package/dist/cliproxy/auth/token-manager.d.ts.map +1 -1
  21. package/dist/cliproxy/auth/token-manager.js +45 -11
  22. package/dist/cliproxy/auth/token-manager.js.map +1 -1
  23. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  24. package/dist/cliproxy/executor/index.js +25 -12
  25. package/dist/cliproxy/executor/index.js.map +1 -1
  26. package/dist/cliproxy/quota-fetcher-codex.d.ts +0 -3
  27. package/dist/cliproxy/quota-fetcher-codex.d.ts.map +1 -1
  28. package/dist/cliproxy/quota-fetcher-codex.js +46 -17
  29. package/dist/cliproxy/quota-fetcher-codex.js.map +1 -1
  30. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  31. package/dist/cliproxy/services/variant-settings.js +4 -6
  32. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  33. package/dist/cliproxy/stats-transformer.d.ts.map +1 -1
  34. package/dist/cliproxy/stats-transformer.js +26 -3
  35. package/dist/cliproxy/stats-transformer.js.map +1 -1
  36. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  37. package/dist/commands/cliproxy/quota-subcommand.js +25 -22
  38. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  39. package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
  40. package/dist/commands/cliproxy/variant-subcommand.js +14 -6
  41. package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
  42. package/dist/commands/install-command.d.ts.map +1 -1
  43. package/dist/commands/install-command.js +8 -2
  44. package/dist/commands/install-command.js.map +1 -1
  45. package/dist/copilot/copilot-executor.d.ts.map +1 -1
  46. package/dist/copilot/copilot-executor.js +11 -2
  47. package/dist/copilot/copilot-executor.js.map +1 -1
  48. package/dist/delegation/executor/result-aggregator.d.ts +2 -1
  49. package/dist/delegation/executor/result-aggregator.d.ts.map +1 -1
  50. package/dist/delegation/executor/result-aggregator.js +21 -1
  51. package/dist/delegation/executor/result-aggregator.js.map +1 -1
  52. package/dist/delegation/executor/types.d.ts +6 -0
  53. package/dist/delegation/executor/types.d.ts.map +1 -1
  54. package/dist/delegation/headless-executor.d.ts.map +1 -1
  55. package/dist/delegation/headless-executor.js +69 -4
  56. package/dist/delegation/headless-executor.js.map +1 -1
  57. package/dist/management/instance-manager.d.ts +1 -1
  58. package/dist/management/instance-manager.d.ts.map +1 -1
  59. package/dist/management/instance-manager.js +10 -2
  60. package/dist/management/instance-manager.js.map +1 -1
  61. package/dist/targets/codex-adapter.d.ts.map +1 -1
  62. package/dist/targets/codex-adapter.js +78 -3
  63. package/dist/targets/codex-adapter.js.map +1 -1
  64. package/dist/targets/codex-detector.d.ts.map +1 -1
  65. package/dist/targets/codex-detector.js +28 -7
  66. package/dist/targets/codex-detector.js.map +1 -1
  67. package/dist/ui/assets/{accounts-DkxZnPJE.js → accounts-D0UZf0nz.js} +1 -1
  68. package/dist/ui/assets/{alert-dialog-CiYMglgR.js → alert-dialog-Da7R-FpD.js} +1 -1
  69. package/dist/ui/assets/{api-DaOtMRT4.js → api-DpKfrsn2.js} +2 -2
  70. package/dist/ui/assets/{auth-section-BMaKBRA_.js → auth-section-CH2_H6xn.js} +1 -1
  71. package/dist/ui/assets/{backups-section-DOpSADoH.js → backups-section-C0k3svHF.js} +1 -1
  72. package/dist/ui/assets/{channels-zDFV-BlC.js → channels-Cpxagv1M.js} +1 -1
  73. package/dist/ui/assets/{checkbox-Cb5AZBZL.js → checkbox-B_ZY6YZW.js} +1 -1
  74. package/dist/ui/assets/{claude-extension-B5RngGem.js → claude-extension-CSnMQC_L.js} +1 -1
  75. package/dist/ui/assets/cliproxy-D9B-TLY3.js +3 -0
  76. package/dist/ui/assets/{cliproxy-ai-providers-DVaaS-CT.js → cliproxy-ai-providers-DdQZEqoN.js} +1 -1
  77. package/dist/ui/assets/cliproxy-control-panel-3Glps_oU.js +1 -0
  78. package/dist/ui/assets/{codex-D2yIwOs4.js → codex-xj_XJVjB.js} +13 -13
  79. package/dist/ui/assets/{confirm-dialog-B9vRgowr.js → confirm-dialog-tjayxZcM.js} +1 -1
  80. package/dist/ui/assets/{copilot-HvsOp6hu.js → copilot-DQ5Dr5Ff.js} +2 -2
  81. package/dist/ui/assets/{cursor-C1XOjAWS.js → cursor-DtFjK37Z.js} +1 -1
  82. package/dist/ui/assets/{droid-DshEfT1H.js → droid-C4qduLWT.js} +1 -1
  83. package/dist/ui/assets/{globalenv-section-CmcMkb6z.js → globalenv-section-B2YBzWoz.js} +1 -1
  84. package/dist/ui/assets/{health-CE0VQs6K.js → health-ocBJ9xoH.js} +1 -1
  85. package/dist/ui/assets/{icons-EMBHZkGo.js → icons-Cn04FDSc.js} +1 -1
  86. package/dist/ui/assets/{index-CmKclBR1.js → index-1TKCj6WA.js} +1 -1
  87. package/dist/ui/assets/{index-CesVGA6m.js → index-9Qv0NQVB.js} +1 -1
  88. package/dist/ui/assets/{index-DAtuJuGe.js → index-B3D2Pi4S.js} +35 -35
  89. package/dist/ui/assets/index-BkXZkwWB.js +1 -0
  90. package/dist/ui/assets/{index-CmtSgCxo.js → index-C9UUemEw.js} +1 -1
  91. package/dist/ui/assets/index-DGQOg_8Q.css +1 -0
  92. package/dist/ui/assets/{masked-input-B2tcbvAj.js → masked-input-XGpOJSYQ.js} +1 -1
  93. package/dist/ui/assets/{proxy-status-widget-BnJD49TF.js → proxy-status-widget-DwizqfDs.js} +1 -1
  94. package/dist/ui/assets/{raw-json-settings-editor-panel-DnUbq1__.js → raw-json-settings-editor-panel-DLf0iq8r.js} +1 -1
  95. package/dist/ui/assets/{searchable-select-ULayr5K1.js → searchable-select-C2N5ZoC7.js} +1 -1
  96. package/dist/ui/assets/{separator--ZH5ZM-3.js → separator-CuY8SIhQ.js} +1 -1
  97. package/dist/ui/assets/shared-CbpV9mUS.js +8 -0
  98. package/dist/ui/assets/{switch-DmDIWykO.js → switch-Dz4ptkeA.js} +1 -1
  99. package/dist/ui/assets/{table-E5IxHhrW.js → table-CkgTbRUO.js} +1 -1
  100. package/dist/ui/assets/tanstack-CkjseTWE.js +4 -0
  101. package/dist/ui/assets/updates-HsQEuJIR.js +1 -0
  102. package/dist/ui/index.html +4 -4
  103. package/dist/utils/claude-config-path.d.ts +2 -0
  104. package/dist/utils/claude-config-path.d.ts.map +1 -1
  105. package/dist/utils/claude-config-path.js +6 -1
  106. package/dist/utils/claude-config-path.js.map +1 -1
  107. package/dist/utils/websearch/claude-tool-args.d.ts +5 -0
  108. package/dist/utils/websearch/claude-tool-args.d.ts.map +1 -0
  109. package/dist/utils/websearch/claude-tool-args.js +125 -0
  110. package/dist/utils/websearch/claude-tool-args.js.map +1 -0
  111. package/dist/utils/websearch/hook-env.d.ts.map +1 -1
  112. package/dist/utils/websearch/hook-env.js +8 -0
  113. package/dist/utils/websearch/hook-env.js.map +1 -1
  114. package/dist/utils/websearch/hook-installer.d.ts +3 -2
  115. package/dist/utils/websearch/hook-installer.d.ts.map +1 -1
  116. package/dist/utils/websearch/hook-installer.js +3 -2
  117. package/dist/utils/websearch/hook-installer.js.map +1 -1
  118. package/dist/utils/websearch/index.d.ts +3 -0
  119. package/dist/utils/websearch/index.d.ts.map +1 -1
  120. package/dist/utils/websearch/index.js +23 -2
  121. package/dist/utils/websearch/index.js.map +1 -1
  122. package/dist/utils/websearch/mcp-installer.d.ts +14 -0
  123. package/dist/utils/websearch/mcp-installer.d.ts.map +1 -0
  124. package/dist/utils/websearch/mcp-installer.js +351 -0
  125. package/dist/utils/websearch/mcp-installer.js.map +1 -0
  126. package/dist/utils/websearch/profile-hook-injector.d.ts +5 -3
  127. package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -1
  128. package/dist/utils/websearch/profile-hook-injector.js +5 -3
  129. package/dist/utils/websearch/profile-hook-injector.js.map +1 -1
  130. package/dist/utils/websearch/status.d.ts.map +1 -1
  131. package/dist/utils/websearch/status.js +67 -1
  132. package/dist/utils/websearch/status.js.map +1 -1
  133. package/dist/utils/websearch/trace.d.ts +23 -0
  134. package/dist/utils/websearch/trace.d.ts.map +1 -0
  135. package/dist/utils/websearch/trace.js +206 -0
  136. package/dist/utils/websearch/trace.js.map +1 -0
  137. package/dist/utils/websearch-manager.d.ts +11 -11
  138. package/dist/utils/websearch-manager.d.ts.map +1 -1
  139. package/dist/utils/websearch-manager.js +32 -17
  140. package/dist/utils/websearch-manager.js.map +1 -1
  141. package/dist/web-server/index.d.ts.map +1 -1
  142. package/dist/web-server/index.js +3 -0
  143. package/dist/web-server/index.js.map +1 -1
  144. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  145. package/dist/web-server/routes/account-routes.js +2 -1
  146. package/dist/web-server/routes/account-routes.js.map +1 -1
  147. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  148. package/dist/web-server/routes/cliproxy-auth-routes.js +1 -1
  149. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  150. package/dist/web-server/routes/cliproxy-local-proxy.d.ts +20 -0
  151. package/dist/web-server/routes/cliproxy-local-proxy.d.ts.map +1 -0
  152. package/dist/web-server/routes/cliproxy-local-proxy.js +117 -0
  153. package/dist/web-server/routes/cliproxy-local-proxy.js.map +1 -0
  154. package/dist/web-server/services/codex-dashboard-service.d.ts.map +1 -1
  155. package/dist/web-server/services/codex-dashboard-service.js +13 -8
  156. package/dist/web-server/services/codex-dashboard-service.js.map +1 -1
  157. package/lib/hooks/websearch-transformer.cjs +660 -96
  158. package/lib/mcp/ccs-websearch-server.cjs +339 -0
  159. package/package.json +2 -1
  160. package/dist/ui/assets/cliproxy-VYe0Qov1.js +0 -3
  161. package/dist/ui/assets/cliproxy-control-panel-FVIQcFti.js +0 -1
  162. package/dist/ui/assets/index-6dNBcNC3.js +0 -1
  163. package/dist/ui/assets/index-BAuT6yuc.css +0 -1
  164. package/dist/ui/assets/shared-qizFb9Ye.js +0 -8
  165. package/dist/ui/assets/tanstack-B8i0evp-.js +0 -4
  166. package/dist/ui/assets/updates-2Uu4Mgtg.js +0 -1
@@ -9,6 +9,7 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.getWebSearchHookEnv = void 0;
11
11
  const unified_config_loader_1 = require("../../config/unified-config-loader");
12
+ const trace_1 = require("./trace");
12
13
  /**
13
14
  * Get environment variables for WebSearch hook configuration.
14
15
  *
@@ -19,6 +20,13 @@ const unified_config_loader_1 = require("../../config/unified-config-loader");
19
20
  function getWebSearchHookEnv() {
20
21
  const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
21
22
  const env = {};
23
+ if (process.env.CCS_WEBSEARCH_TRACE === '1' || process.env.CCS_DEBUG === '1') {
24
+ env.CCS_WEBSEARCH_TRACE = '1';
25
+ }
26
+ const traceFileOverride = (0, trace_1.resolveAllowedWebSearchTraceFile)(process.env);
27
+ if (traceFileOverride) {
28
+ env.CCS_WEBSEARCH_TRACE_FILE = traceFileOverride;
29
+ }
22
30
  // Skip hook entirely if disabled
23
31
  if (!wsConfig.enabled) {
24
32
  env.CCS_WEBSEARCH_SKIP = '1';
@@ -1 +1 @@
1
- {"version":3,"file":"hook-env.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-env.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-env.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WebSearch Hook Installer
3
3
  *
4
- * Manages installation and uninstallation of the WebSearch hook.
4
+ * Manages installation and uninstallation of the legacy WebSearch hook runtime.
5
5
  *
6
6
  * @module utils/websearch/hook-installer
7
7
  */
@@ -15,7 +15,8 @@ export declare function hasWebSearchHook(): boolean;
15
15
  /**
16
16
  * Install WebSearch hook to ~/.ccs/hooks/
17
17
  *
18
- * This hook intercepts WebSearch and executes via Gemini CLI.
18
+ * This hook now serves as a compatibility fallback and a shared provider runtime
19
+ * for the first-class CCS WebSearch MCP server.
19
20
  *
20
21
  * @returns true if hook installed successfully
21
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hook-installer.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-installer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AA6BpE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAW5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAyF9C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAwBhD"}
1
+ {"version":3,"file":"hook-installer.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-installer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AA6BpE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAW5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAyF9C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAwBhD"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * WebSearch Hook Installer
4
4
  *
5
- * Manages installation and uninstallation of the WebSearch hook.
5
+ * Manages installation and uninstallation of the legacy WebSearch hook runtime.
6
6
  *
7
7
  * @module utils/websearch/hook-installer
8
8
  */
@@ -91,7 +91,8 @@ exports.hasWebSearchHook = hasWebSearchHook;
91
91
  /**
92
92
  * Install WebSearch hook to ~/.ccs/hooks/
93
93
  *
94
- * This hook intercepts WebSearch and executes via Gemini CLI.
94
+ * This hook now serves as a compatibility fallback and a shared provider runtime
95
+ * for the first-class CCS WebSearch MCP server.
95
96
  *
96
97
  * @returns true if hook installed successfully
97
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hook-installer.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-installer.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-installer.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ export { getOpenCodeCliStatus, hasOpenCodeCli, clearOpenCodeCliCache } from './o
13
13
  export { getHookPath, hasWebSearchHook, getWebSearchHookConfig, installWebSearchHook, removeMigrationMarker, uninstallWebSearchHook, } from './hook-installer';
14
14
  export { removeHookConfig } from './hook-config';
15
15
  export { getWebSearchHookEnv } from './hook-env';
16
+ export { getWebSearchMcpServerName, getWebSearchMcpServerPath, installWebSearchMcpServer, ensureWebSearchMcpConfig, ensureWebSearchMcp, uninstallWebSearchMcpServer, removeWebSearchMcpConfig, uninstallWebSearchMcp, syncWebSearchMcpToConfigDir, ensureWebSearchMcpOrThrow, } from './mcp-installer';
17
+ export { appendThirdPartyWebSearchToolArgs } from './claude-tool-args';
18
+ export { appendWebSearchTrace, createWebSearchTraceContext, isWebSearchTraceEnabled, readWebSearchTraceRecords, } from './trace';
16
19
  export { getWebSearchCliProviders, hasAnyWebSearchCli, getCliInstallHints, getWebSearchReadiness, displayWebSearchStatus, } from './status';
17
20
  export { WEBSEARCH_API_KEY_PROVIDERS, getWebSearchApiKeyStates } from './provider-secrets';
18
21
  export { ensureProfileHooks, ensureProfileHooksOrThrow } from './profile-hook-injector';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG7F,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG3F,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAG7F,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAGvE,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG3F,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * @module utils/websearch
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ensureProfileHooksOrThrow = exports.ensureProfileHooks = exports.getWebSearchApiKeyStates = exports.WEBSEARCH_API_KEY_PROVIDERS = exports.displayWebSearchStatus = exports.getWebSearchReadiness = exports.getCliInstallHints = exports.hasAnyWebSearchCli = exports.getWebSearchCliProviders = exports.getWebSearchHookEnv = exports.removeHookConfig = exports.uninstallWebSearchHook = exports.removeMigrationMarker = exports.installWebSearchHook = exports.getWebSearchHookConfig = exports.hasWebSearchHook = exports.getHookPath = exports.clearOpenCodeCliCache = exports.hasOpenCodeCli = exports.getOpenCodeCliStatus = exports.clearGrokCliCache = exports.hasGrokCli = exports.getGrokCliStatus = exports.clearGeminiCliCache = exports.isGeminiAuthenticated = exports.hasGeminiCli = exports.getGeminiCliStatus = void 0;
10
+ exports.ensureProfileHooksOrThrow = exports.ensureProfileHooks = exports.getWebSearchApiKeyStates = exports.WEBSEARCH_API_KEY_PROVIDERS = exports.displayWebSearchStatus = exports.getWebSearchReadiness = exports.getCliInstallHints = exports.hasAnyWebSearchCli = exports.getWebSearchCliProviders = exports.readWebSearchTraceRecords = exports.isWebSearchTraceEnabled = exports.createWebSearchTraceContext = exports.appendWebSearchTrace = exports.appendThirdPartyWebSearchToolArgs = exports.ensureWebSearchMcpOrThrow = exports.syncWebSearchMcpToConfigDir = exports.uninstallWebSearchMcp = exports.removeWebSearchMcpConfig = exports.uninstallWebSearchMcpServer = exports.ensureWebSearchMcp = exports.ensureWebSearchMcpConfig = exports.installWebSearchMcpServer = exports.getWebSearchMcpServerPath = exports.getWebSearchMcpServerName = exports.getWebSearchHookEnv = exports.removeHookConfig = exports.uninstallWebSearchHook = exports.removeMigrationMarker = exports.installWebSearchHook = exports.getWebSearchHookConfig = exports.hasWebSearchHook = exports.getHookPath = exports.clearOpenCodeCliCache = exports.hasOpenCodeCli = exports.getOpenCodeCliStatus = exports.clearGrokCliCache = exports.hasGrokCli = exports.getGrokCliStatus = exports.clearGeminiCliCache = exports.isGeminiAuthenticated = exports.hasGeminiCli = exports.getGeminiCliStatus = void 0;
11
11
  // Gemini CLI
12
12
  var gemini_cli_1 = require("./gemini-cli");
13
13
  Object.defineProperty(exports, "getGeminiCliStatus", { enumerable: true, get: function () { return gemini_cli_1.getGeminiCliStatus; } });
@@ -38,6 +38,27 @@ Object.defineProperty(exports, "removeHookConfig", { enumerable: true, get: func
38
38
  // Hook Environment
39
39
  var hook_env_1 = require("./hook-env");
40
40
  Object.defineProperty(exports, "getWebSearchHookEnv", { enumerable: true, get: function () { return hook_env_1.getWebSearchHookEnv; } });
41
+ // MCP Runtime
42
+ var mcp_installer_1 = require("./mcp-installer");
43
+ Object.defineProperty(exports, "getWebSearchMcpServerName", { enumerable: true, get: function () { return mcp_installer_1.getWebSearchMcpServerName; } });
44
+ Object.defineProperty(exports, "getWebSearchMcpServerPath", { enumerable: true, get: function () { return mcp_installer_1.getWebSearchMcpServerPath; } });
45
+ Object.defineProperty(exports, "installWebSearchMcpServer", { enumerable: true, get: function () { return mcp_installer_1.installWebSearchMcpServer; } });
46
+ Object.defineProperty(exports, "ensureWebSearchMcpConfig", { enumerable: true, get: function () { return mcp_installer_1.ensureWebSearchMcpConfig; } });
47
+ Object.defineProperty(exports, "ensureWebSearchMcp", { enumerable: true, get: function () { return mcp_installer_1.ensureWebSearchMcp; } });
48
+ Object.defineProperty(exports, "uninstallWebSearchMcpServer", { enumerable: true, get: function () { return mcp_installer_1.uninstallWebSearchMcpServer; } });
49
+ Object.defineProperty(exports, "removeWebSearchMcpConfig", { enumerable: true, get: function () { return mcp_installer_1.removeWebSearchMcpConfig; } });
50
+ Object.defineProperty(exports, "uninstallWebSearchMcp", { enumerable: true, get: function () { return mcp_installer_1.uninstallWebSearchMcp; } });
51
+ Object.defineProperty(exports, "syncWebSearchMcpToConfigDir", { enumerable: true, get: function () { return mcp_installer_1.syncWebSearchMcpToConfigDir; } });
52
+ Object.defineProperty(exports, "ensureWebSearchMcpOrThrow", { enumerable: true, get: function () { return mcp_installer_1.ensureWebSearchMcpOrThrow; } });
53
+ // Claude launch args
54
+ var claude_tool_args_1 = require("./claude-tool-args");
55
+ Object.defineProperty(exports, "appendThirdPartyWebSearchToolArgs", { enumerable: true, get: function () { return claude_tool_args_1.appendThirdPartyWebSearchToolArgs; } });
56
+ // Trace helpers
57
+ var trace_1 = require("./trace");
58
+ Object.defineProperty(exports, "appendWebSearchTrace", { enumerable: true, get: function () { return trace_1.appendWebSearchTrace; } });
59
+ Object.defineProperty(exports, "createWebSearchTraceContext", { enumerable: true, get: function () { return trace_1.createWebSearchTraceContext; } });
60
+ Object.defineProperty(exports, "isWebSearchTraceEnabled", { enumerable: true, get: function () { return trace_1.isWebSearchTraceEnabled; } });
61
+ Object.defineProperty(exports, "readWebSearchTraceRecords", { enumerable: true, get: function () { return trace_1.readWebSearchTraceRecords; } });
41
62
  // Status and Readiness
42
63
  var status_1 = require("./status");
43
64
  Object.defineProperty(exports, "getWebSearchCliProviders", { enumerable: true, get: function () { return status_1.getWebSearchCliProviders; } });
@@ -48,7 +69,7 @@ Object.defineProperty(exports, "displayWebSearchStatus", { enumerable: true, get
48
69
  var provider_secrets_1 = require("./provider-secrets");
49
70
  Object.defineProperty(exports, "WEBSEARCH_API_KEY_PROVIDERS", { enumerable: true, get: function () { return provider_secrets_1.WEBSEARCH_API_KEY_PROVIDERS; } });
50
71
  Object.defineProperty(exports, "getWebSearchApiKeyStates", { enumerable: true, get: function () { return provider_secrets_1.getWebSearchApiKeyStates; } });
51
- // Profile Hook Injection
72
+ // Profile compatibility hook injection
52
73
  var profile_hook_injector_1 = require("./profile-hook-injector");
53
74
  Object.defineProperty(exports, "ensureProfileHooks", { enumerable: true, get: function () { return profile_hook_injector_1.ensureProfileHooks; } });
54
75
  Object.defineProperty(exports, "ensureProfileHooksOrThrow", { enumerable: true, get: function () { return profile_hook_injector_1.ensureProfileHooksOrThrow; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/websearch/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAgBH,aAAa;AACb,2CAKsB;AAJpB,gHAAA,kBAAkB,OAAA;AAClB,0GAAA,YAAY,OAAA;AACZ,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AAGrB,WAAW;AACX,uCAA6E;AAApE,4GAAA,gBAAgB,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAExD,eAAe;AACf,+CAA6F;AAApF,oHAAA,oBAAoB,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AAEpE,oBAAoB;AACpB,mDAO0B;AANxB,6GAAA,WAAW,OAAA;AACX,kHAAA,gBAAgB,OAAA;AAChB,wHAAA,sBAAsB,OAAA;AACtB,sHAAA,oBAAoB,OAAA;AACpB,uHAAA,qBAAqB,OAAA;AACrB,wHAAA,sBAAsB,OAAA;AAGxB,wBAAwB;AACxB,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AAEzB,mBAAmB;AACnB,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA;AAE5B,uBAAuB;AACvB,mCAMkB;AALhB,kHAAA,wBAAwB,OAAA;AACxB,4GAAA,kBAAkB,OAAA;AAClB,4GAAA,kBAAkB,OAAA;AAClB,+GAAA,qBAAqB,OAAA;AACrB,gHAAA,sBAAsB,OAAA;AAGxB,uDAA2F;AAAlF,+HAAA,2BAA2B,OAAA;AAAE,4HAAA,wBAAwB,OAAA;AAE9D,yBAAyB;AACzB,iEAAwF;AAA/E,2HAAA,kBAAkB,OAAA;AAAE,kIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/websearch/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAgBH,aAAa;AACb,2CAKsB;AAJpB,gHAAA,kBAAkB,OAAA;AAClB,0GAAA,YAAY,OAAA;AACZ,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AAGrB,WAAW;AACX,uCAA6E;AAApE,4GAAA,gBAAgB,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAExD,eAAe;AACf,+CAA6F;AAApF,oHAAA,oBAAoB,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AAEpE,oBAAoB;AACpB,mDAO0B;AANxB,6GAAA,WAAW,OAAA;AACX,kHAAA,gBAAgB,OAAA;AAChB,wHAAA,sBAAsB,OAAA;AACtB,sHAAA,oBAAoB,OAAA;AACpB,uHAAA,qBAAqB,OAAA;AACrB,wHAAA,sBAAsB,OAAA;AAGxB,wBAAwB;AACxB,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AAEzB,mBAAmB;AACnB,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA;AAE5B,cAAc;AACd,iDAWyB;AAVvB,0HAAA,yBAAyB,OAAA;AACzB,0HAAA,yBAAyB,OAAA;AACzB,0HAAA,yBAAyB,OAAA;AACzB,yHAAA,wBAAwB,OAAA;AACxB,mHAAA,kBAAkB,OAAA;AAClB,4HAAA,2BAA2B,OAAA;AAC3B,yHAAA,wBAAwB,OAAA;AACxB,sHAAA,qBAAqB,OAAA;AACrB,4HAAA,2BAA2B,OAAA;AAC3B,0HAAA,yBAAyB,OAAA;AAG3B,qBAAqB;AACrB,uDAAuE;AAA9D,qIAAA,iCAAiC,OAAA;AAE1C,gBAAgB;AAChB,iCAKiB;AAJf,6GAAA,oBAAoB,OAAA;AACpB,oHAAA,2BAA2B,OAAA;AAC3B,gHAAA,uBAAuB,OAAA;AACvB,kHAAA,yBAAyB,OAAA;AAG3B,uBAAuB;AACvB,mCAMkB;AALhB,kHAAA,wBAAwB,OAAA;AACxB,4GAAA,kBAAkB,OAAA;AAClB,4GAAA,kBAAkB,OAAA;AAClB,+GAAA,qBAAqB,OAAA;AACrB,gHAAA,sBAAsB,OAAA;AAGxB,uDAA2F;AAAlF,+HAAA,2BAA2B,OAAA;AAAE,4HAAA,wBAAwB,OAAA;AAE9D,uCAAuC;AACvC,iEAAwF;AAA/E,2HAAA,kBAAkB,OAAA;AAAE,kIAAA,yBAAyB,OAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WebSearch MCP installer and ~/.claude.json provisioning.
3
+ */
4
+ export declare function getWebSearchMcpServerName(): string;
5
+ export declare function getWebSearchMcpServerPath(): string;
6
+ export declare function installWebSearchMcpServer(): boolean;
7
+ export declare function ensureWebSearchMcpConfig(): boolean;
8
+ export declare function ensureWebSearchMcp(): boolean;
9
+ export declare function syncWebSearchMcpToConfigDir(claudeConfigDir: string | undefined): boolean;
10
+ export declare function uninstallWebSearchMcpServer(): boolean;
11
+ export declare function removeWebSearchMcpConfig(): boolean;
12
+ export declare function uninstallWebSearchMcp(): boolean;
13
+ export declare function ensureWebSearchMcpOrThrow(): void;
14
+ //# sourceMappingURL=mcp-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-installer.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/mcp-installer.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+BH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AA4HD,wBAAgB,yBAAyB,IAAI,OAAO,CAuEnD;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAsElD;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAW5C;AAED,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CASxF;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAerD;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAWlD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAI/C;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAShD"}
@@ -0,0 +1,351 @@
1
+ "use strict";
2
+ /**
3
+ * WebSearch MCP installer and ~/.claude.json provisioning.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ensureWebSearchMcpOrThrow = exports.uninstallWebSearchMcp = exports.removeWebSearchMcpConfig = exports.uninstallWebSearchMcpServer = exports.syncWebSearchMcpToConfigDir = exports.ensureWebSearchMcp = exports.ensureWebSearchMcpConfig = exports.installWebSearchMcpServer = exports.getWebSearchMcpServerPath = exports.getWebSearchMcpServerName = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const path = __importStar(require("path"));
32
+ const unified_config_loader_1 = require("../../config/unified-config-loader");
33
+ const config_manager_1 = require("../config-manager");
34
+ const claude_config_path_1 = require("../claude-config-path");
35
+ const ui_1 = require("../ui");
36
+ const instance_manager_1 = require("../../management/instance-manager");
37
+ const hook_installer_1 = require("./hook-installer");
38
+ const trace_1 = require("./trace");
39
+ const WEBSEARCH_MCP_SERVER = 'ccs-websearch-server.cjs';
40
+ const WEBSEARCH_MCP_SERVER_NAME = 'ccs-websearch';
41
+ function getCcsMcpDir() {
42
+ return path.join((0, config_manager_1.getCcsDir)(), 'mcp');
43
+ }
44
+ function getWebSearchMcpServerName() {
45
+ return WEBSEARCH_MCP_SERVER_NAME;
46
+ }
47
+ exports.getWebSearchMcpServerName = getWebSearchMcpServerName;
48
+ function getWebSearchMcpServerPath() {
49
+ return path.join(getCcsMcpDir(), WEBSEARCH_MCP_SERVER);
50
+ }
51
+ exports.getWebSearchMcpServerPath = getWebSearchMcpServerPath;
52
+ function hasMatchingContents(sourcePath, destinationPath) {
53
+ if (!fs.existsSync(destinationPath)) {
54
+ return false;
55
+ }
56
+ const source = fs.readFileSync(sourcePath);
57
+ try {
58
+ const destination = fs.readFileSync(destinationPath);
59
+ return source.equals(destination);
60
+ }
61
+ catch (error) {
62
+ if (process.env.CCS_DEBUG) {
63
+ console.error((0, ui_1.warn)(`Existing WebSearch MCP server is unreadable: ${error.message}`));
64
+ }
65
+ return false;
66
+ }
67
+ }
68
+ function getTempPath(targetPath) {
69
+ const suffix = `${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}`;
70
+ return `${targetPath}.${suffix}.tmp`;
71
+ }
72
+ function resolveBundledServerSourcePath() {
73
+ const possiblePaths = [
74
+ path.join(__dirname, '..', '..', '..', 'lib', 'mcp', WEBSEARCH_MCP_SERVER),
75
+ path.join(__dirname, '..', '..', 'lib', 'mcp', WEBSEARCH_MCP_SERVER),
76
+ path.join(__dirname, '..', 'lib', 'mcp', WEBSEARCH_MCP_SERVER),
77
+ ];
78
+ for (const candidate of possiblePaths) {
79
+ if (fs.existsSync(candidate)) {
80
+ return candidate;
81
+ }
82
+ }
83
+ return null;
84
+ }
85
+ function readClaudeUserConfig(configPath) {
86
+ if (!fs.existsSync(configPath)) {
87
+ return {};
88
+ }
89
+ try {
90
+ const raw = fs.readFileSync(configPath, 'utf8');
91
+ const parsed = JSON.parse(raw);
92
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
93
+ return null;
94
+ }
95
+ return parsed;
96
+ }
97
+ catch {
98
+ return null;
99
+ }
100
+ }
101
+ function writeClaudeUserConfig(configPath, config) {
102
+ const tempPath = getTempPath(configPath);
103
+ const fileMode = fs.existsSync(configPath) ? fs.statSync(configPath).mode & 0o777 : 0o600;
104
+ try {
105
+ fs.writeFileSync(tempPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
106
+ fs.chmodSync(tempPath, fileMode);
107
+ fs.renameSync(tempPath, configPath);
108
+ return true;
109
+ }
110
+ finally {
111
+ if (fs.existsSync(tempPath)) {
112
+ fs.unlinkSync(tempPath);
113
+ }
114
+ }
115
+ }
116
+ function removeManagedServerConfig(configPath) {
117
+ if (!fs.existsSync(configPath)) {
118
+ return false;
119
+ }
120
+ const config = readClaudeUserConfig(configPath);
121
+ if (config === null) {
122
+ if (process.env.CCS_DEBUG) {
123
+ console.error((0, ui_1.warn)(`Malformed Claude config prevents MCP cleanup: ${configPath}`));
124
+ }
125
+ return false;
126
+ }
127
+ const existingServers = config.mcpServers && typeof config.mcpServers === 'object' && !Array.isArray(config.mcpServers)
128
+ ? { ...config.mcpServers }
129
+ : {};
130
+ if (!(WEBSEARCH_MCP_SERVER_NAME in existingServers)) {
131
+ return false;
132
+ }
133
+ delete existingServers[WEBSEARCH_MCP_SERVER_NAME];
134
+ const nextConfig = { ...config };
135
+ if (Object.keys(existingServers).length === 0) {
136
+ delete nextConfig.mcpServers;
137
+ }
138
+ else {
139
+ nextConfig.mcpServers = existingServers;
140
+ }
141
+ try {
142
+ writeClaudeUserConfig(configPath, nextConfig);
143
+ if (process.env.CCS_DEBUG) {
144
+ console.error((0, ui_1.info)(`Removed WebSearch MCP config from ${configPath}`));
145
+ }
146
+ return true;
147
+ }
148
+ catch (error) {
149
+ if (process.env.CCS_DEBUG) {
150
+ console.error((0, ui_1.warn)(`Failed to remove WebSearch MCP config from ${configPath}: ${error.message}`));
151
+ }
152
+ return false;
153
+ }
154
+ }
155
+ function installWebSearchMcpServer() {
156
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
157
+ if (!wsConfig.enabled) {
158
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_install_skipped', { reason: 'disabled' });
159
+ return false;
160
+ }
161
+ if (!(0, hook_installer_1.installWebSearchHook)()) {
162
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_install_failed', { reason: 'hook_unavailable' });
163
+ if (process.env.CCS_DEBUG) {
164
+ console.error((0, ui_1.warn)('WebSearch MCP server install skipped because hook runtime is unavailable'));
165
+ }
166
+ return false;
167
+ }
168
+ const sourcePath = resolveBundledServerSourcePath();
169
+ if (!sourcePath) {
170
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_install_failed', { reason: 'source_missing' });
171
+ if (process.env.CCS_DEBUG) {
172
+ console.error((0, ui_1.warn)(`WebSearch MCP server source not found: ${WEBSEARCH_MCP_SERVER}`));
173
+ }
174
+ return false;
175
+ }
176
+ const mcpDir = getCcsMcpDir();
177
+ if (!fs.existsSync(mcpDir)) {
178
+ fs.mkdirSync(mcpDir, { recursive: true, mode: 0o700 });
179
+ }
180
+ const serverPath = getWebSearchMcpServerPath();
181
+ if (hasMatchingContents(sourcePath, serverPath)) {
182
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_install_ready', { serverPath });
183
+ return true;
184
+ }
185
+ const tempPath = getTempPath(serverPath);
186
+ try {
187
+ fs.copyFileSync(sourcePath, tempPath);
188
+ fs.chmodSync(tempPath, 0o755);
189
+ try {
190
+ fs.renameSync(tempPath, serverPath);
191
+ }
192
+ catch (renameError) {
193
+ const errorCode = renameError.code;
194
+ if (errorCode !== 'EEXIST' && errorCode !== 'EPERM') {
195
+ throw renameError;
196
+ }
197
+ if (!hasMatchingContents(sourcePath, serverPath)) {
198
+ fs.copyFileSync(tempPath, serverPath);
199
+ fs.chmodSync(serverPath, 0o755);
200
+ }
201
+ }
202
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_install_ready', { serverPath });
203
+ return true;
204
+ }
205
+ catch (error) {
206
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_install_failed', {
207
+ reason: 'copy_failed',
208
+ error: error.message,
209
+ });
210
+ if (process.env.CCS_DEBUG) {
211
+ console.error((0, ui_1.warn)(`Failed to install WebSearch MCP server: ${error.message}`));
212
+ }
213
+ return false;
214
+ }
215
+ finally {
216
+ if (fs.existsSync(tempPath)) {
217
+ fs.unlinkSync(tempPath);
218
+ }
219
+ }
220
+ }
221
+ exports.installWebSearchMcpServer = installWebSearchMcpServer;
222
+ function ensureWebSearchMcpConfig() {
223
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
224
+ if (!wsConfig.enabled) {
225
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_config_skipped', { reason: 'disabled' });
226
+ return false;
227
+ }
228
+ const claudeUserConfigPath = (0, claude_config_path_1.getClaudeUserConfigPath)();
229
+ const claudeUserConfigDir = path.dirname(claudeUserConfigPath);
230
+ const config = readClaudeUserConfig(claudeUserConfigPath);
231
+ if (config === null) {
232
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_config_failed', { reason: 'malformed_user_config' });
233
+ if (process.env.CCS_DEBUG) {
234
+ console.error((0, ui_1.warn)('Malformed ~/.claude.json prevents WebSearch MCP provisioning'));
235
+ }
236
+ return false;
237
+ }
238
+ if (!fs.existsSync(claudeUserConfigDir)) {
239
+ fs.mkdirSync(claudeUserConfigDir, { recursive: true, mode: 0o700 });
240
+ }
241
+ const existingServers = config.mcpServers && typeof config.mcpServers === 'object' && !Array.isArray(config.mcpServers)
242
+ ? config.mcpServers
243
+ : {};
244
+ const desiredServerConfig = {
245
+ type: 'stdio',
246
+ command: 'node',
247
+ args: [getWebSearchMcpServerPath()],
248
+ env: {},
249
+ };
250
+ const currentConfig = existingServers[WEBSEARCH_MCP_SERVER_NAME];
251
+ if (typeof currentConfig === 'object' &&
252
+ currentConfig !== null &&
253
+ JSON.stringify(currentConfig) === JSON.stringify(desiredServerConfig)) {
254
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_config_ready', { configPath: claudeUserConfigPath });
255
+ return true;
256
+ }
257
+ const nextConfig = {
258
+ ...config,
259
+ mcpServers: {
260
+ ...existingServers,
261
+ [WEBSEARCH_MCP_SERVER_NAME]: desiredServerConfig,
262
+ },
263
+ };
264
+ try {
265
+ writeClaudeUserConfig(claudeUserConfigPath, nextConfig);
266
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_config_ready', { configPath: claudeUserConfigPath });
267
+ if (process.env.CCS_DEBUG) {
268
+ console.error((0, ui_1.info)(`Ensured WebSearch MCP config in ${claudeUserConfigPath}`));
269
+ }
270
+ return true;
271
+ }
272
+ catch (error) {
273
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_config_failed', {
274
+ reason: 'write_failed',
275
+ configPath: claudeUserConfigPath,
276
+ error: error.message,
277
+ });
278
+ if (process.env.CCS_DEBUG) {
279
+ console.error((0, ui_1.warn)(`Failed to update ~/.claude.json: ${error.message}`));
280
+ }
281
+ return false;
282
+ }
283
+ }
284
+ exports.ensureWebSearchMcpConfig = ensureWebSearchMcpConfig;
285
+ function ensureWebSearchMcp() {
286
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
287
+ if (!wsConfig.enabled) {
288
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_ensure_skipped', { reason: 'disabled' });
289
+ return false;
290
+ }
291
+ const installed = installWebSearchMcpServer();
292
+ const configured = installed && ensureWebSearchMcpConfig();
293
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_ensure_result', { installed, configured });
294
+ return installed && configured;
295
+ }
296
+ exports.ensureWebSearchMcp = ensureWebSearchMcp;
297
+ function syncWebSearchMcpToConfigDir(claudeConfigDir) {
298
+ if (!claudeConfigDir) {
299
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_sync_skipped', { reason: 'missing_config_dir' });
300
+ return false;
301
+ }
302
+ const synced = new instance_manager_1.InstanceManager().syncMcpServers(claudeConfigDir);
303
+ (0, trace_1.appendWebSearchTrace)('websearch_mcp_sync_result', { claudeConfigDir, synced });
304
+ return synced;
305
+ }
306
+ exports.syncWebSearchMcpToConfigDir = syncWebSearchMcpToConfigDir;
307
+ function uninstallWebSearchMcpServer() {
308
+ const serverPath = getWebSearchMcpServerPath();
309
+ if (!fs.existsSync(serverPath)) {
310
+ return false;
311
+ }
312
+ try {
313
+ fs.unlinkSync(serverPath);
314
+ return true;
315
+ }
316
+ catch (error) {
317
+ if (process.env.CCS_DEBUG) {
318
+ console.error((0, ui_1.warn)(`Failed to remove WebSearch MCP server: ${error.message}`));
319
+ }
320
+ return false;
321
+ }
322
+ }
323
+ exports.uninstallWebSearchMcpServer = uninstallWebSearchMcpServer;
324
+ function removeWebSearchMcpConfig() {
325
+ let removed = removeManagedServerConfig((0, claude_config_path_1.getClaudeUserConfigPath)());
326
+ const instanceManager = new instance_manager_1.InstanceManager();
327
+ for (const instanceName of instanceManager.listInstances()) {
328
+ const instancePath = instanceManager.getInstancePath(instanceName);
329
+ const instanceClaudeConfigPath = path.join(instancePath, '.claude.json');
330
+ removed = removeManagedServerConfig(instanceClaudeConfigPath) || removed;
331
+ }
332
+ return removed;
333
+ }
334
+ exports.removeWebSearchMcpConfig = removeWebSearchMcpConfig;
335
+ function uninstallWebSearchMcp() {
336
+ const removedConfig = removeWebSearchMcpConfig();
337
+ const removedServer = uninstallWebSearchMcpServer();
338
+ return removedConfig || removedServer;
339
+ }
340
+ exports.uninstallWebSearchMcp = uninstallWebSearchMcp;
341
+ function ensureWebSearchMcpOrThrow() {
342
+ const wsConfig = (0, unified_config_loader_1.getWebSearchConfig)();
343
+ if (!wsConfig.enabled) {
344
+ return;
345
+ }
346
+ if (!ensureWebSearchMcp()) {
347
+ throw new Error('WebSearch is enabled, but CCS could not prepare the local WebSearch tool.');
348
+ }
349
+ }
350
+ exports.ensureWebSearchMcpOrThrow = ensureWebSearchMcpOrThrow;
351
+ //# sourceMappingURL=mcp-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-installer.js","sourceRoot":"","sources":["../../../src/utils/websearch/mcp-installer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  /**
2
2
  * Profile Hook Injector
3
3
  *
4
- * Injects WebSearch hooks into per-profile settings files.
5
- * This replaces the global ~/.claude/settings.json approach.
4
+ * Injects the legacy WebSearch compatibility hook into per-profile settings files.
5
+ * The first-class runtime now uses the CCS-managed MCP server; these hooks remain
6
+ * for compatibility and migration safety only.
6
7
  *
7
8
  * @module utils/websearch/profile-hook-injector
8
9
  */
9
10
  /**
10
- * Ensure WebSearch hook is configured in profile's settings file
11
+ * Ensure the legacy WebSearch compatibility hook is configured in a profile's
12
+ * settings file when that path is still needed.
11
13
  *
12
14
  * @param profileName - Name of the profile (e.g., 'agy', 'gemini', 'glm')
13
15
  * @returns true if hook is configured (existing or newly added)
@@ -1 +1 @@
1
- {"version":3,"file":"profile-hook-injector.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/profile-hook-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsEH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA8G/D;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAWnE"}
1
+ {"version":3,"file":"profile-hook-injector.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/profile-hook-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsEH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA8G/D;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAWnE"}
@@ -2,8 +2,9 @@
2
2
  /**
3
3
  * Profile Hook Injector
4
4
  *
5
- * Injects WebSearch hooks into per-profile settings files.
6
- * This replaces the global ~/.claude/settings.json approach.
5
+ * Injects the legacy WebSearch compatibility hook into per-profile settings files.
6
+ * The first-class runtime now uses the CCS-managed MCP server; these hooks remain
7
+ * for compatibility and migration safety only.
7
8
  *
8
9
  * @module utils/websearch/profile-hook-injector
9
10
  */
@@ -96,7 +97,8 @@ function migrateGlobalHook() {
96
97
  }
97
98
  }
98
99
  /**
99
- * Ensure WebSearch hook is configured in profile's settings file
100
+ * Ensure the legacy WebSearch compatibility hook is configured in a profile's
101
+ * settings file when that path is still needed.
100
102
  *
101
103
  * @param profileName - Name of the profile (e.g., 'agy', 'gemini', 'glm')
102
104
  * @returns true if hook is configured (existing or newly added)