@codemieai/code 0.12.0 → 0.13.1

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 (222) hide show
  1. package/README.md +146 -57
  2. package/bin/codemie-copilot.js +224 -0
  3. package/bin/codemie-pi.js +18 -0
  4. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  5. package/dist/agents/core/AgentCLI.js +16 -10
  6. package/dist/agents/core/AgentCLI.js.map +1 -1
  7. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  8. package/dist/agents/core/BaseAgentAdapter.js +43 -19
  9. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  10. package/dist/agents/core/agent-aliases.d.ts +17 -0
  11. package/dist/agents/core/agent-aliases.d.ts.map +1 -0
  12. package/dist/agents/core/agent-aliases.js +41 -0
  13. package/dist/agents/core/agent-aliases.js.map +1 -0
  14. package/dist/agents/core/session/session-origin-audit.d.ts +13 -0
  15. package/dist/agents/core/session/session-origin-audit.d.ts.map +1 -1
  16. package/dist/agents/core/session/session-origin-audit.js +34 -0
  17. package/dist/agents/core/session/session-origin-audit.js.map +1 -1
  18. package/dist/agents/core/session/stale-session-reconciliation.d.ts +42 -0
  19. package/dist/agents/core/session/stale-session-reconciliation.d.ts.map +1 -0
  20. package/dist/agents/core/session/stale-session-reconciliation.js +141 -0
  21. package/dist/agents/core/session/stale-session-reconciliation.js.map +1 -0
  22. package/dist/agents/core/session/types.d.ts +19 -0
  23. package/dist/agents/core/session/types.d.ts.map +1 -1
  24. package/dist/agents/core/session/types.js +17 -1
  25. package/dist/agents/core/session/types.js.map +1 -1
  26. package/dist/agents/core/types.d.ts +1 -0
  27. package/dist/agents/core/types.d.ts.map +1 -1
  28. package/dist/agents/plugins/codex/codex.reconciliation.d.ts +15 -35
  29. package/dist/agents/plugins/codex/codex.reconciliation.d.ts.map +1 -1
  30. package/dist/agents/plugins/codex/codex.reconciliation.js +8 -139
  31. package/dist/agents/plugins/codex/codex.reconciliation.js.map +1 -1
  32. package/dist/agents/plugins/copilot-cli/copilot-cli.constants.d.ts +4 -0
  33. package/dist/agents/plugins/copilot-cli/copilot-cli.constants.d.ts.map +1 -1
  34. package/dist/agents/plugins/copilot-cli/copilot-cli.constants.js +4 -0
  35. package/dist/agents/plugins/copilot-cli/copilot-cli.constants.js.map +1 -1
  36. package/dist/agents/plugins/copilot-cli/copilot-cli.models.d.ts +8 -0
  37. package/dist/agents/plugins/copilot-cli/copilot-cli.models.d.ts.map +1 -0
  38. package/dist/agents/plugins/copilot-cli/copilot-cli.models.js +195 -0
  39. package/dist/agents/plugins/copilot-cli/copilot-cli.models.js.map +1 -0
  40. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts +4 -20
  41. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts.map +1 -1
  42. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js +237 -38
  43. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js.map +1 -1
  44. package/dist/agents/plugins/copilot-cli/copilot-cli.session.d.ts.map +1 -1
  45. package/dist/agents/plugins/copilot-cli/copilot-cli.session.js +14 -2
  46. package/dist/agents/plugins/copilot-cli/copilot-cli.session.js.map +1 -1
  47. package/dist/agents/plugins/copilot-cli/index.d.ts +2 -1
  48. package/dist/agents/plugins/copilot-cli/index.d.ts.map +1 -1
  49. package/dist/agents/plugins/copilot-cli/index.js +2 -1
  50. package/dist/agents/plugins/copilot-cli/index.js.map +1 -1
  51. package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.d.ts +6 -3
  52. package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.d.ts.map +1 -1
  53. package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.js +298 -5
  54. package/dist/agents/plugins/copilot-cli/session/processors/copilot-cli.conversations-processor.js.map +1 -1
  55. package/dist/agents/plugins/pi/__tests__/home-redirect.d.ts +12 -0
  56. package/dist/agents/plugins/pi/__tests__/home-redirect.d.ts.map +1 -0
  57. package/dist/agents/plugins/pi/__tests__/home-redirect.js +27 -0
  58. package/dist/agents/plugins/pi/__tests__/home-redirect.js.map +1 -0
  59. package/dist/agents/plugins/pi/extension/README.md +68 -0
  60. package/dist/agents/plugins/pi/extension/index.js +161 -0
  61. package/dist/agents/plugins/pi/extension/package.json +8 -0
  62. package/dist/agents/plugins/pi/index.d.ts +3 -0
  63. package/dist/agents/plugins/pi/index.d.ts.map +1 -0
  64. package/dist/agents/plugins/pi/index.js +3 -0
  65. package/dist/agents/plugins/pi/index.js.map +1 -0
  66. package/dist/agents/plugins/pi/pi.extension.d.ts +60 -0
  67. package/dist/agents/plugins/pi/pi.extension.d.ts.map +1 -0
  68. package/dist/agents/plugins/pi/pi.extension.js +201 -0
  69. package/dist/agents/plugins/pi/pi.extension.js.map +1 -0
  70. package/dist/agents/plugins/pi/pi.incremental-sync.d.ts +63 -0
  71. package/dist/agents/plugins/pi/pi.incremental-sync.d.ts.map +1 -0
  72. package/dist/agents/plugins/pi/pi.incremental-sync.js +266 -0
  73. package/dist/agents/plugins/pi/pi.incremental-sync.js.map +1 -0
  74. package/dist/agents/plugins/pi/pi.models.d.ts +20 -0
  75. package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -0
  76. package/dist/agents/plugins/pi/pi.models.js +201 -0
  77. package/dist/agents/plugins/pi/pi.models.js.map +1 -0
  78. package/dist/agents/plugins/pi/pi.packages.d.ts +11 -0
  79. package/dist/agents/plugins/pi/pi.packages.d.ts.map +1 -0
  80. package/dist/agents/plugins/pi/pi.packages.js +35 -0
  81. package/dist/agents/plugins/pi/pi.packages.js.map +1 -0
  82. package/dist/agents/plugins/pi/pi.paths.d.ts +37 -0
  83. package/dist/agents/plugins/pi/pi.paths.d.ts.map +1 -0
  84. package/dist/agents/plugins/pi/pi.paths.js +146 -0
  85. package/dist/agents/plugins/pi/pi.paths.js.map +1 -0
  86. package/dist/agents/plugins/pi/pi.plugin.d.ts +30 -0
  87. package/dist/agents/plugins/pi/pi.plugin.d.ts.map +1 -0
  88. package/dist/agents/plugins/pi/pi.plugin.js +453 -0
  89. package/dist/agents/plugins/pi/pi.plugin.js.map +1 -0
  90. package/dist/agents/plugins/pi/pi.session.d.ts +114 -0
  91. package/dist/agents/plugins/pi/pi.session.d.ts.map +1 -0
  92. package/dist/agents/plugins/pi/pi.session.js +388 -0
  93. package/dist/agents/plugins/pi/pi.session.js.map +1 -0
  94. package/dist/agents/plugins/pi/pi.setup.d.ts +2 -0
  95. package/dist/agents/plugins/pi/pi.setup.d.ts.map +1 -0
  96. package/dist/agents/plugins/pi/pi.setup.js +33 -0
  97. package/dist/agents/plugins/pi/pi.setup.js.map +1 -0
  98. package/dist/agents/plugins/pi/pi.types.d.ts +143 -0
  99. package/dist/agents/plugins/pi/pi.types.d.ts.map +1 -0
  100. package/dist/agents/plugins/pi/pi.types.js +74 -0
  101. package/dist/agents/plugins/pi/pi.types.js.map +1 -0
  102. package/dist/agents/plugins/pi/session/pi-file-operations.d.ts +17 -0
  103. package/dist/agents/plugins/pi/session/pi-file-operations.d.ts.map +1 -0
  104. package/dist/agents/plugins/pi/session/pi-file-operations.js +98 -0
  105. package/dist/agents/plugins/pi/session/pi-file-operations.js.map +1 -0
  106. package/dist/agents/plugins/pi/session/pi-named-invocations.d.ts +52 -0
  107. package/dist/agents/plugins/pi/session/pi-named-invocations.d.ts.map +1 -0
  108. package/dist/agents/plugins/pi/session/pi-named-invocations.js +189 -0
  109. package/dist/agents/plugins/pi/session/pi-named-invocations.js.map +1 -0
  110. package/dist/agents/plugins/pi/session/pi-user-prompt.d.ts +14 -0
  111. package/dist/agents/plugins/pi/session/pi-user-prompt.d.ts.map +1 -0
  112. package/dist/agents/plugins/pi/session/pi-user-prompt.js +51 -0
  113. package/dist/agents/plugins/pi/session/pi-user-prompt.js.map +1 -0
  114. package/dist/agents/plugins/pi/session/processors/pi.conversations-processor.d.ts +52 -0
  115. package/dist/agents/plugins/pi/session/processors/pi.conversations-processor.d.ts.map +1 -0
  116. package/dist/agents/plugins/pi/session/processors/pi.conversations-processor.js +716 -0
  117. package/dist/agents/plugins/pi/session/processors/pi.conversations-processor.js.map +1 -0
  118. package/dist/agents/plugins/pi/session/processors/pi.metrics-processor.d.ts +104 -0
  119. package/dist/agents/plugins/pi/session/processors/pi.metrics-processor.d.ts.map +1 -0
  120. package/dist/agents/plugins/pi/session/processors/pi.metrics-processor.js +595 -0
  121. package/dist/agents/plugins/pi/session/processors/pi.metrics-processor.js.map +1 -0
  122. package/dist/agents/registry.d.ts.map +1 -1
  123. package/dist/agents/registry.js +2 -2
  124. package/dist/agents/registry.js.map +1 -1
  125. package/dist/cli/commands/analytics/agent-labels.d.ts.map +1 -1
  126. package/dist/cli/commands/analytics/agent-labels.js +1 -0
  127. package/dist/cli/commands/analytics/agent-labels.js.map +1 -1
  128. package/dist/cli/commands/analytics/cost/usage-readers.d.ts +24 -0
  129. package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
  130. package/dist/cli/commands/analytics/cost/usage-readers.js +199 -54
  131. package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
  132. package/dist/cli/commands/analytics/index.js +1 -0
  133. package/dist/cli/commands/analytics/index.js.map +1 -1
  134. package/dist/cli/commands/analytics/native-loader.d.ts +21 -4
  135. package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
  136. package/dist/cli/commands/analytics/native-loader.js +250 -96
  137. package/dist/cli/commands/analytics/native-loader.js.map +1 -1
  138. package/dist/cli/commands/analytics/report/client/app.js +47 -3
  139. package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
  140. package/dist/cli/commands/analytics/report/payload-builder.js +25 -2
  141. package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
  142. package/dist/cli/commands/analytics/report/types.d.ts +1 -0
  143. package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
  144. package/dist/cli/commands/hook.d.ts.map +1 -1
  145. package/dist/cli/commands/hook.js +71 -29
  146. package/dist/cli/commands/hook.js.map +1 -1
  147. package/dist/cli/commands/install.d.ts.map +1 -1
  148. package/dist/cli/commands/install.js +7 -5
  149. package/dist/cli/commands/install.js.map +1 -1
  150. package/dist/cli/commands/list.d.ts.map +1 -1
  151. package/dist/cli/commands/list.js +3 -1
  152. package/dist/cli/commands/list.js.map +1 -1
  153. package/dist/cli/commands/proxy/connectors/desktop.d.ts +94 -4
  154. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  155. package/dist/cli/commands/proxy/connectors/desktop.js +244 -17
  156. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  157. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts +25 -0
  158. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts.map +1 -1
  159. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js +59 -1
  160. package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js.map +1 -1
  161. package/dist/cli/commands/proxy/index.d.ts.map +1 -1
  162. package/dist/cli/commands/proxy/index.js +10 -1
  163. package/dist/cli/commands/proxy/index.js.map +1 -1
  164. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  165. package/dist/cli/commands/uninstall.js +5 -3
  166. package/dist/cli/commands/uninstall.js.map +1 -1
  167. package/dist/cli/commands/update.d.ts.map +1 -1
  168. package/dist/cli/commands/update.js +5 -3
  169. package/dist/cli/commands/update.js.map +1 -1
  170. package/dist/cli/first-time.d.ts.map +1 -1
  171. package/dist/cli/first-time.js +7 -6
  172. package/dist/cli/first-time.js.map +1 -1
  173. package/dist/providers/core/auth-validation.d.ts +7 -2
  174. package/dist/providers/core/auth-validation.d.ts.map +1 -1
  175. package/dist/providers/core/auth-validation.js +11 -5
  176. package/dist/providers/core/auth-validation.js.map +1 -1
  177. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts +8 -3
  178. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -1
  179. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +46 -11
  180. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -1
  181. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts +23 -13
  182. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts.map +1 -1
  183. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js +75 -18
  184. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js.map +1 -1
  185. package/dist/providers/plugins/sso/proxy/plugins/copilot-encrypted-content-sanitizer.plugin.d.ts +21 -0
  186. package/dist/providers/plugins/sso/proxy/plugins/copilot-encrypted-content-sanitizer.plugin.d.ts.map +1 -0
  187. package/dist/providers/plugins/sso/proxy/plugins/copilot-encrypted-content-sanitizer.plugin.js +133 -0
  188. package/dist/providers/plugins/sso/proxy/plugins/copilot-encrypted-content-sanitizer.plugin.js.map +1 -0
  189. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +1 -1
  190. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
  191. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +2 -1
  192. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  193. package/dist/providers/plugins/sso/proxy/plugins/index.js +4 -2
  194. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  195. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts +11 -0
  196. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -1
  197. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts +2 -0
  198. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  199. package/dist/providers/plugins/sso/proxy/sso.proxy.js +37 -1
  200. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  201. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  202. package/dist/providers/plugins/sso/session/SessionSyncer.js +13 -0
  203. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  204. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +6 -0
  205. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
  206. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts +0 -6
  207. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts.map +1 -1
  208. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js +28 -19
  209. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js.map +1 -1
  210. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts.map +1 -1
  211. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js +13 -1
  212. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js.map +1 -1
  213. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.d.ts +12 -0
  214. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.d.ts.map +1 -1
  215. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js +28 -1
  216. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js.map +1 -1
  217. package/dist/utils/interactive.d.ts +14 -0
  218. package/dist/utils/interactive.d.ts.map +1 -0
  219. package/dist/utils/interactive.js +16 -0
  220. package/dist/utils/interactive.js.map +1 -0
  221. package/package.json +6 -4
  222. package/scripts/copy-plugins.js +6 -0
@@ -1,5 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  import { AgentRegistry } from '../../agents/registry.js';
3
+ import { getUserFacingAgentName } from '../../agents/core/agent-aliases.js';
3
4
  import { logger } from '../../utils/logger.js';
4
5
  import chalk from 'chalk';
5
6
  export function createListCommand() {
@@ -19,12 +20,13 @@ export function createListCommand() {
19
20
  else {
20
21
  console.log(chalk.bold('\n📦 Available Agents:\n'));
21
22
  for (const agent of agents) {
23
+ const userFacingName = getUserFacingAgentName(agent.name);
22
24
  const installed = await agent.isInstalled();
23
25
  const status = installed ? chalk.green('✓ installed') : chalk.white('not installed');
24
26
  const version = installed ? await agent.getVersion() : null;
25
27
  const versionStr = version ? chalk.white(` (${version})`) : '';
26
28
  console.log(chalk.bold(` ${agent.displayName}`) + versionStr);
27
- console.log(` Command: ${chalk.cyan(agent.name)}`);
29
+ console.log(` Command: ${chalk.cyan(userFacingName)}`);
28
30
  console.log(` Status: ${status}`);
29
31
  console.log(` ${chalk.white(agent.description)}`);
30
32
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;SACJ,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,cAAc;YACd,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS;gBAC9B,CAAC,CAAC,MAAM,aAAa,CAAC,kBAAkB,EAAE;gBAC1C,CAAC,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAExC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBACrF,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,kBAAkB;YAClB,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YAExD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,mCAAmC;gBACnC,IAAI,iBAAiB,GAAG,UAAU,CAAC;gBACnC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC5B,SAAS,EAAE,EAAE;wBACb,SAAS,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE;qBAClC,CAAC,CAAC,CACJ,CAAC;oBACF,iBAAiB,GAAG,cAAc;yBAC/B,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;yBACpC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBAExD,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;wBAC1C,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;wBAChD,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;wBAEpD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;wBACrF,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAE9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;wBACzF,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAElE,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;4BAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACrE,CAAC;wBAED,OAAO,CAAC,GAAG,EAAE,CAAC;oBAChB,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC1G,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAC7G,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACzG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACjG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
- import type { CanonicalMcpEntry } from './managed-mcp-remote.js';
1
+ import { type CanonicalMcpEntry, type McpOAuthConfig } from './managed-mcp-remote.js';
2
2
  export interface ManagedMcpServerEntry {
3
3
  name: string;
4
4
  url: string;
5
5
  transport?: 'http' | 'sse';
6
- oauth?: boolean;
6
+ /**
7
+ * `true`/`false` is the legacy flag Claude Desktop already understood; an
8
+ * {@link McpOAuthConfig} is the structured client configuration the backend
9
+ * now supplies. The CLI forwards it verbatim — Desktop runs the flow.
10
+ */
11
+ oauth?: McpOAuthConfig | boolean;
7
12
  }
8
13
  /**
9
14
  * Curated list of Claude models we expose by default.
@@ -48,12 +53,87 @@ export declare function selectPreferredClaudeModels(available: string[], preferr
48
53
  * are passed through untouched and order is preserved.
49
54
  */
50
55
  export declare function selectDesktopClaudeModels(available: string[], preferred?: readonly string[]): string[];
56
+ /**
57
+ * Normalize the three accepted auth shapes into what Claude Desktop consumes.
58
+ *
59
+ * Precedence: a valid oauth object wins, then the oauth boolean, then the
60
+ * legacy `auth` enum, then `false`. The final fallback preserves the behavior
61
+ * of entries carrying neither field.
62
+ */
63
+ export declare function resolveDesktopOAuth(entry: CanonicalMcpEntry): McpOAuthConfig | boolean;
51
64
  /**
52
65
  * Map client-neutral canonical entries to Claude Desktop's managedMcpServers
53
66
  * shape. Drops entries Desktop cannot represent (non-http/sse transports,
54
67
  * missing URL, or invalid name).
55
68
  */
56
69
  export declare function mapCanonicalToDesktop(entries: CanonicalMcpEntry[]): ManagedMcpServerEntry[];
70
+ /**
71
+ * Copy a managed entry, including its nested oauth object.
72
+ *
73
+ * A shallow `{ ...entry }` would share the oauth object with
74
+ * DEFAULT_MANAGED_MCP_SERVERS — a readonly module-level constant that lives for
75
+ * the whole process — so a later mutation of the written config would corrupt
76
+ * the bundled defaults for every subsequent run.
77
+ */
78
+ export declare function cloneManagedEntry(entry: ManagedMcpServerEntry): ManagedMcpServerEntry;
79
+ /** A backend entry published at the same endpoint as a bundled default that declares OAuth, without OAuth of its own. */
80
+ export interface ManagedOauthDowngrade {
81
+ /** The bundled default that was displaced. */
82
+ defaultName: string;
83
+ /** The backend entry that displaced it, at weaker auth. */
84
+ backendName: string;
85
+ /** The endpoint the backend entry was published at. */
86
+ url: string;
87
+ }
88
+ export interface ManagedMcpMergeResult {
89
+ /** The entries CodeMie owns this run, defaults first, all freshly cloned. */
90
+ managed: ManagedMcpServerEntry[];
91
+ /** Collisions where the backend entry resolved to weaker auth than the default it displaced. */
92
+ oauthDowngrades: ManagedOauthDowngrade[];
93
+ /** Names of bundled defaults dropped because an org entry collided with them. */
94
+ displacedDefaults: string[];
95
+ }
96
+ /**
97
+ * Merge the bundled public defaults with the org catalog so a server the backend
98
+ * also publishes is written exactly once.
99
+ *
100
+ * The BACKEND wins every collision outright: it is authoritative for both the
101
+ * name and the endpoint, and its entry is written exactly as published — the CLI
102
+ * is a courier, not a policy layer, so no oauth value is ever rewritten. A
103
+ * collision that lowers auth relative to the bundled default it displaces is
104
+ * logged (see {@link ManagedOauthDowngrade}), never corrected.
105
+ */
106
+ export declare function mergeManagedMcpServers(defaults: readonly ManagedMcpServerEntry[], org: readonly ManagedMcpServerEntry[]): ManagedMcpMergeResult;
107
+ /**
108
+ * The bundled defaults that are safe to seed when the org catalog fetch FAILED.
109
+ *
110
+ * A failed fetch must change nothing. Restoring a default whose name or URL an
111
+ * entry already in the config occupies would make reconcileManagedMcpServers treat
112
+ * that name as ours and drop the existing entry — silently swapping a tenant's
113
+ * internal server for the bundled public endpoint of the same name, which is worse
114
+ * than the revocation the null-fetch contract already forbids. Whatever the config
115
+ * holds therefore wins; a clean or first-run config still receives the full set.
116
+ *
117
+ * A stored list that is present but unreadable is not an empty one: we cannot tell
118
+ * which names and URLs it claims, so nothing is seeded at all.
119
+ */
120
+ export declare function selectDefaultsForFailedFetch(existingServers: unknown, defaults?: readonly ManagedMcpServerEntry[]): ManagedMcpServerEntry[];
121
+ export interface ManagedOauthShapeSummary {
122
+ /** Entries forwarding a structured OAuth client configuration. */
123
+ oauthConfigured: number;
124
+ /** Entries carrying only the legacy `oauth: true` flag. */
125
+ oauthFlagged: number;
126
+ /** Entries with `oauth: false` or no auth information at all. */
127
+ noAuth: number;
128
+ }
129
+ /**
130
+ * Count the resolved oauth shapes so a silent downgrade (every entry landing on
131
+ * `false`) or a mass validation drop is visible in the daemon log.
132
+ *
133
+ * Accepts loosely-typed entries so the reconciled array — managed entries plus the
134
+ * user entries preserved beside them — can be summarized exactly as serialized.
135
+ */
136
+ export declare function summarizeManagedOauthShapes(entries: readonly unknown[] | null): ManagedOauthShapeSummary;
57
137
  export interface ReconcileResult {
58
138
  servers: unknown[];
59
139
  managedNames: string[];
@@ -83,10 +163,20 @@ export interface DesktopGatewayConfig {
83
163
  export declare function buildGatewayConfig(proxyUrl: string, gatewayKey: string): DesktopGatewayConfig;
84
164
  /**
85
165
  * Returns the base directory where Claude Desktop (3P) stores its config.
86
- * macOS: ~/Library/Application Support/Claude-3p
87
- * Windows: %APPDATA%\Claude-3p
166
+ * macOS: ~/Library/Application Support/Claude-3p
167
+ * Windows: %LOCALAPPDATA%\Claude-3p
168
+ * Linux: $XDG_CONFIG_HOME/Claude-3p, else ~/.config/Claude-3p
88
169
  */
89
170
  export declare function getDesktopBaseDir(): string;
171
+ /**
172
+ * Explains why a local config write may not take effect, or null when nothing
173
+ * is in the way. Claude Desktop applies a managed (MDM) source in preference to
174
+ * the local config library, ignoring local values entirely.
175
+ *
176
+ * The path is injectable so callers and tests can supply one; by default it is
177
+ * resolved from the platform.
178
+ */
179
+ export declare function describeManagedSettingsOverride(managedSettingsPath?: string | null): string | null;
90
180
  /**
91
181
  * Returns the path to the active inference config JSON file under configLibrary/.
92
182
  * If `_meta.json` doesn't exist or has no `appliedId`, returns the path that
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAajE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,6GAM1B,CAAC;AAEX,eAAO,MAAM,mCAAmC,gBAAiB,CAAC;AAElE,eAAO,MAAM,2BAA2B,EACjB,SAAS,qBAAqB,EAAE,CAAC;AAExD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA+E/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,SAAS,MAAM,EAA4B,GACrD,MAAM,EAAE,CAqCV;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,SAAS,MAAM,EAA4B,GACrD,MAAM,EAAE,CASV;AAkCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,qBAAqB,EAAE,CAa3F;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,OAAO,EACxB,OAAO,EAAE,qBAAqB,EAAE,EAChC,sBAAsB,GAAE,MAAM,EAAO,GACpC,eAAe,CA4BjB;AAMD,kEAAkE;AAClE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AA4BD,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,SAAS,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,QAAQ,CAAC;CACtC;AAYD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAO7F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjG;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAA4B,EACrC,aAAa,GAAE,qBAAqB,EAAE,GAAG,IAAW,EACpD,gBAAgB,GAAE,MAAiC,GAClD,OAAO,CAAC,MAAM,CAAC,CA+IjB"}
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,13 @@ import { readFile, writeFile, mkdir, rename } from 'node:fs/promises';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { randomUUID } from 'node:crypto';
5
- import { getClaudeDesktopBaseDir } from '../../../../telemetry/clients/claude-desktop/claude-desktop.paths.js';
5
+ import { getClaudeDesktopBaseDir, getClaudeDesktopManagedSettingsPath, } from '../../../../telemetry/clients/claude-desktop/claude-desktop.paths.js';
6
6
  import { ConfigurationError } from '../../../../utils/errors.js';
7
7
  import { logger } from '../../../../utils/logger.js';
8
8
  import { getCodemiePath } from '../../../../utils/paths.js';
9
9
  import { sanitizeLogArgs } from '../../../../utils/security.js';
10
10
  import managedMcpServers from './desktop-managed-mcp-servers.json' with { type: 'json' };
11
+ import { isValidOAuthConfig } from './managed-mcp-remote.js';
11
12
  const INFERENCE_KEYS = [
12
13
  'inferenceProvider',
13
14
  'inferenceGatewayBaseUrl',
@@ -179,25 +180,57 @@ function getManagedMcpServerName(server) {
179
180
  return undefined;
180
181
  return typeof server.name === 'string' ? server.name : undefined;
181
182
  }
182
- function parseJsonArray(value) {
183
+ function getManagedMcpServerUrl(server) {
184
+ if (!isRecord(server))
185
+ return undefined;
186
+ return typeof server.url === 'string' ? server.url : undefined;
187
+ }
188
+ function parseManagedServerList(value) {
189
+ if (value === undefined || value === null) {
190
+ return { parsed: true, servers: [] };
191
+ }
183
192
  if (Array.isArray(value)) {
184
- return value;
193
+ return { parsed: true, servers: value };
185
194
  }
186
195
  if (typeof value !== 'string') {
187
- return [];
196
+ return { parsed: false };
188
197
  }
189
198
  try {
190
199
  const parsed = JSON.parse(value);
191
- return Array.isArray(parsed) ? parsed : [];
200
+ return Array.isArray(parsed) ? { parsed: true, servers: parsed } : { parsed: false };
192
201
  }
193
202
  catch {
194
- return [];
203
+ return { parsed: false };
195
204
  }
196
205
  }
206
+ function parseJsonArray(value) {
207
+ const result = parseManagedServerList(value);
208
+ return result.parsed ? result.servers : [];
209
+ }
197
210
  function isValidMcpServerName(name) {
198
211
  return /^[a-zA-Z0-9_-]+$/.test(name);
199
212
  }
200
213
  const DESKTOP_SUPPORTED_TRANSPORTS = new Set(['http', 'sse']);
214
+ /**
215
+ * Normalize the three accepted auth shapes into what Claude Desktop consumes.
216
+ *
217
+ * Precedence: a valid oauth object wins, then the oauth boolean, then the
218
+ * legacy `auth` enum, then `false`. The final fallback preserves the behavior
219
+ * of entries carrying neither field.
220
+ */
221
+ export function resolveDesktopOAuth(entry) {
222
+ if (isValidOAuthConfig(entry.oauth))
223
+ return { ...entry.oauth };
224
+ if (entry.oauth === true)
225
+ return true;
226
+ if (entry.oauth === false)
227
+ return false;
228
+ if (entry.auth === 'oauth')
229
+ return true;
230
+ if (entry.auth === 'none')
231
+ return false;
232
+ return false;
233
+ }
201
234
  /**
202
235
  * Map client-neutral canonical entries to Claude Desktop's managedMcpServers
203
236
  * shape. Drops entries Desktop cannot represent (non-http/sse transports,
@@ -214,11 +247,159 @@ export function mapCanonicalToDesktop(entries) {
214
247
  name: entry.name,
215
248
  url: entry.url,
216
249
  transport: entry.transport,
217
- oauth: entry.auth === 'oauth',
250
+ oauth: resolveDesktopOAuth(entry),
218
251
  });
219
252
  }
220
253
  return result;
221
254
  }
255
+ /**
256
+ * Copy a managed entry, including its nested oauth object.
257
+ *
258
+ * A shallow `{ ...entry }` would share the oauth object with
259
+ * DEFAULT_MANAGED_MCP_SERVERS — a readonly module-level constant that lives for
260
+ * the whole process — so a later mutation of the written config would corrupt
261
+ * the bundled defaults for every subsequent run.
262
+ */
263
+ export function cloneManagedEntry(entry) {
264
+ const copy = { ...entry };
265
+ if (entry.oauth !== undefined && typeof entry.oauth === 'object') {
266
+ copy.oauth = { ...entry.oauth };
267
+ }
268
+ return copy;
269
+ }
270
+ /** True when the entry carries usable OAuth information (structured config or the legacy flag). */
271
+ function hasManagedOAuth(entry) {
272
+ return entry.oauth === true || (typeof entry.oauth === 'object' && entry.oauth !== null);
273
+ }
274
+ /**
275
+ * URL equality between two managed entries, compared verbatim. Managed entries
276
+ * come from controlled sources (DEFAULT_MANAGED_MCP_SERVERS or the backend
277
+ * catalog), so this is intentionally exact — no trailing-slash or host-case
278
+ * normalization. That normalization is a known, separately-tracked gap, not
279
+ * something this comparison closes.
280
+ */
281
+ function sameManagedEndpoint(a, b) {
282
+ return a.url === b.url;
283
+ }
284
+ /** Case-insensitive name equality between two managed entries. */
285
+ function sameManagedName(a, b) {
286
+ return a.name.toLowerCase() === b.name.toLowerCase();
287
+ }
288
+ /**
289
+ * Collision test between a bundled default and a backend entry: a shared name
290
+ * OR a shared endpoint, mirroring reconcileManagedMcpServers, where both sides
291
+ * come from controlled sources. Defined in terms of {@link sameManagedName} and
292
+ * {@link sameManagedEndpoint} so the wide and narrow tests cannot drift apart.
293
+ */
294
+ function collidesWithManagedEntry(a, b) {
295
+ return sameManagedName(a, b) || sameManagedEndpoint(a, b);
296
+ }
297
+ /**
298
+ * Merge the bundled public defaults with the org catalog so a server the backend
299
+ * also publishes is written exactly once.
300
+ *
301
+ * The BACKEND wins every collision outright: it is authoritative for both the
302
+ * name and the endpoint, and its entry is written exactly as published — the CLI
303
+ * is a courier, not a policy layer, so no oauth value is ever rewritten. A
304
+ * collision that lowers auth relative to the bundled default it displaces is
305
+ * logged (see {@link ManagedOauthDowngrade}), never corrected.
306
+ */
307
+ export function mergeManagedMcpServers(defaults, org) {
308
+ // Single pass over defaults: keptDefaults and displacedDefaults are
309
+ // complements of the same collidesWithManagedEntry test, so they can never
310
+ // disagree about which bundled default survived.
311
+ const keptDefaults = [];
312
+ const displacedDefaults = [];
313
+ for (const bundled of defaults) {
314
+ if (org.some((entry) => collidesWithManagedEntry(bundled, entry))) {
315
+ displacedDefaults.push(bundled.name);
316
+ }
317
+ else {
318
+ keptDefaults.push(bundled);
319
+ }
320
+ }
321
+ // Downgrade reporting is scoped to sameManagedEndpoint, not the wider
322
+ // collidesWithManagedEntry used for displacement above — a default's oauth
323
+ // describes ITS endpoint, not its name, so a backend entry that merely
324
+ // reuses the name at a different endpoint is not a downgrade. Because
325
+ // collidesWithManagedEntry is defined as sameManagedName(a, b) ||
326
+ // sameManagedEndpoint(a, b), a reported downgrade is by construction a
327
+ // strict subset of a displacement: an endpoint collision can never displace
328
+ // a default without also being reportable. Do not widen this back to
329
+ // collidesWithManagedEntry.
330
+ const oauthDowngrades = [];
331
+ for (const entry of org) {
332
+ if (hasManagedOAuth(entry))
333
+ continue;
334
+ // At most one record per org entry — take the first matching default, so
335
+ // an entry is never double-counted if it happened to match more than one.
336
+ const downgradedDefault = defaults.find((bundled) => hasManagedOAuth(bundled) && sameManagedEndpoint(bundled, entry));
337
+ if (!downgradedDefault)
338
+ continue;
339
+ oauthDowngrades.push({
340
+ defaultName: downgradedDefault.name,
341
+ backendName: entry.name,
342
+ url: entry.url,
343
+ });
344
+ }
345
+ return {
346
+ managed: [...keptDefaults, ...org].map(cloneManagedEntry),
347
+ oauthDowngrades,
348
+ displacedDefaults,
349
+ };
350
+ }
351
+ /**
352
+ * The bundled defaults that are safe to seed when the org catalog fetch FAILED.
353
+ *
354
+ * A failed fetch must change nothing. Restoring a default whose name or URL an
355
+ * entry already in the config occupies would make reconcileManagedMcpServers treat
356
+ * that name as ours and drop the existing entry — silently swapping a tenant's
357
+ * internal server for the bundled public endpoint of the same name, which is worse
358
+ * than the revocation the null-fetch contract already forbids. Whatever the config
359
+ * holds therefore wins; a clean or first-run config still receives the full set.
360
+ *
361
+ * A stored list that is present but unreadable is not an empty one: we cannot tell
362
+ * which names and URLs it claims, so nothing is seeded at all.
363
+ */
364
+ export function selectDefaultsForFailedFetch(existingServers, defaults = DEFAULT_MANAGED_MCP_SERVERS) {
365
+ const stored = parseManagedServerList(existingServers);
366
+ if (!stored.parsed) {
367
+ logger.warn('[proxy] Existing managed MCP list could not be parsed — seeding no bundled defaults after the failed fetch', ...sanitizeLogArgs({
368
+ storedValueType: typeof existingServers,
369
+ skippedDefaultCount: defaults.length,
370
+ }));
371
+ return [];
372
+ }
373
+ const existing = stored.servers.filter(isRecord);
374
+ const takenNames = new Set(existing
375
+ .map((server) => getManagedMcpServerName(server))
376
+ .filter((name) => name !== undefined)
377
+ .map((name) => name.toLowerCase()));
378
+ const takenUrls = new Set(existing
379
+ .map((server) => getManagedMcpServerUrl(server))
380
+ .filter((url) => url !== undefined));
381
+ return defaults.filter((bundled) => !takenNames.has(bundled.name.toLowerCase()) && !takenUrls.has(bundled.url));
382
+ }
383
+ /**
384
+ * Count the resolved oauth shapes so a silent downgrade (every entry landing on
385
+ * `false`) or a mass validation drop is visible in the daemon log.
386
+ *
387
+ * Accepts loosely-typed entries so the reconciled array — managed entries plus the
388
+ * user entries preserved beside them — can be summarized exactly as serialized.
389
+ */
390
+ export function summarizeManagedOauthShapes(entries) {
391
+ const summary = { oauthConfigured: 0, oauthFlagged: 0, noAuth: 0 };
392
+ for (const entry of entries ?? []) {
393
+ const oauth = isRecord(entry) ? entry.oauth : undefined;
394
+ if (isRecord(oauth))
395
+ summary.oauthConfigured += 1;
396
+ else if (oauth === true)
397
+ summary.oauthFlagged += 1;
398
+ else
399
+ summary.noAuth += 1;
400
+ }
401
+ return summary;
402
+ }
222
403
  /**
223
404
  * Reconcile the managed MCP set into an existing managedMcpServers array.
224
405
  *
@@ -239,9 +420,15 @@ export function reconcileManagedMcpServers(existingServers, managed, previouslyM
239
420
  // controlled sources (DEFAULT_MANAGED_MCP_SERVERS or the backend catalog) and
240
421
  // are matched verbatim.
241
422
  const managedUrls = new Set(managed.map((s) => s.url));
423
+ // Unlike selectDefaultsForFailedFetch (which asks "which names/URLs are
424
+ // already claimed?" and must treat unreadable as unknown-therefore-claimed),
425
+ // this asks "which existing entries must be preserved?" An unreadable value
426
+ // yields no identifiable entries to preserve, and a non-array value cannot be
427
+ // written back into a field Desktop reads as an array — so [] is the
428
+ // conservative answer to *this* question, not an inconsistency with the other.
242
429
  const filtered = parseJsonArray(existingServers).filter((server) => {
243
430
  const name = getManagedMcpServerName(server);
244
- const url = isRecord(server) && typeof server.url === 'string' ? server.url : undefined;
431
+ const url = getManagedMcpServerUrl(server);
245
432
  if (!name) {
246
433
  // Still drop nameless entries that point at a managed URL, so a managed
247
434
  // endpoint can never be double-registered under an anonymous entry.
@@ -256,7 +443,7 @@ export function reconcileManagedMcpServers(existingServers, managed, previouslyM
256
443
  return true;
257
444
  });
258
445
  return {
259
- servers: [...managed.map((s) => ({ ...s })), ...filtered],
446
+ servers: [...managed.map(cloneManagedEntry), ...filtered],
260
447
  managedNames,
261
448
  };
262
449
  }
@@ -300,12 +487,27 @@ export function buildGatewayConfig(proxyUrl, gatewayKey) {
300
487
  }
301
488
  /**
302
489
  * Returns the base directory where Claude Desktop (3P) stores its config.
303
- * macOS: ~/Library/Application Support/Claude-3p
304
- * Windows: %APPDATA%\Claude-3p
490
+ * macOS: ~/Library/Application Support/Claude-3p
491
+ * Windows: %LOCALAPPDATA%\Claude-3p
492
+ * Linux: $XDG_CONFIG_HOME/Claude-3p, else ~/.config/Claude-3p
305
493
  */
306
494
  export function getDesktopBaseDir() {
307
495
  return getClaudeDesktopBaseDir();
308
496
  }
497
+ /**
498
+ * Explains why a local config write may not take effect, or null when nothing
499
+ * is in the way. Claude Desktop applies a managed (MDM) source in preference to
500
+ * the local config library, ignoring local values entirely.
501
+ *
502
+ * The path is injectable so callers and tests can supply one; by default it is
503
+ * resolved from the platform.
504
+ */
505
+ export function describeManagedSettingsOverride(managedSettingsPath = getClaudeDesktopManagedSettingsPath()) {
506
+ if (!managedSettingsPath || !existsSync(managedSettingsPath))
507
+ return null;
508
+ return (`${managedSettingsPath} exists. Claude Desktop applies managed settings ` +
509
+ `instead of local configuration, so this write may have no effect.`);
510
+ }
309
511
  /**
310
512
  * Returns the path to the active inference config JSON file under configLibrary/.
311
513
  * If `_meta.json` doesn't exist or has no `appliedId`, returns the path that
@@ -378,12 +580,24 @@ export async function writeDesktopConfig(proxyUrl, gatewayKey, baseDir = getDesk
378
580
  // outage would otherwise strip the user's internal MCPs) and must leave the
379
581
  // marker state untouched so a later successful run can still revoke.
380
582
  const orgFetchSucceeded = orgMcpServers !== null;
381
- // Dedup the org catalog against bundled public defaults so an entry the backend
382
- // echoes (same name or URL) is not written twice.
383
- const defaultNameSet = new Set(DEFAULT_MANAGED_MCP_SERVERS.map((s) => s.name.toLowerCase()));
384
- const defaultUrlSet = new Set(DEFAULT_MANAGED_MCP_SERVERS.map((s) => s.url));
385
- const orgDeduped = (orgMcpServers ?? []).filter((s) => !defaultNameSet.has(s.name.toLowerCase()) && !defaultUrlSet.has(s.url));
386
- const managedSet = [...DEFAULT_MANAGED_MCP_SERVERS.map((s) => ({ ...s })), ...orgDeduped];
583
+ // Dedup bundled public defaults against the org catalog so an entry the
584
+ // backend also publishes is written once (see mergeManagedMcpServers for the
585
+ // collision precedence). On a FAILED fetch the defaults are first narrowed to
586
+ // those the config does not already hold, so a previously-written org entry
587
+ // that shadowed a default is never evicted by the public endpoint it replaced.
588
+ const org = orgMcpServers ?? [];
589
+ const seedDefaults = orgFetchSucceeded
590
+ ? DEFAULT_MANAGED_MCP_SERVERS
591
+ : selectDefaultsForFailedFetch(existing.managedMcpServers);
592
+ const { managed: managedSet, oauthDowngrades, displacedDefaults } = mergeManagedMcpServers(seedDefaults, org);
593
+ if (oauthDowngrades.length > 0) {
594
+ logger.warn('[proxy] Managed MCP entry published without the auth its bundled default declares (auth downgrade) — forwarding it as published', ...sanitizeLogArgs({
595
+ oauthDowngradeCount: oauthDowngrades.length,
596
+ sourceBundledDefaults: oauthDowngrades.map((downgrade) => downgrade.defaultName),
597
+ downgradedBackendEntries: oauthDowngrades.map((downgrade) => downgrade.backendName),
598
+ downgradedUrls: oauthDowngrades.map((downgrade) => downgrade.url),
599
+ }));
600
+ }
387
601
  const previouslyManagedNames = orgFetchSucceeded ? await readManagedMcpState(managedStatePath) : [];
388
602
  const { servers: managedMcpServers, managedNames } = reconcileManagedMcpServers(existing.managedMcpServers, managedSet, previouslyManagedNames);
389
603
  // Marker write-ahead (successful fetch only): record the UNION of previously-
@@ -398,6 +612,12 @@ export async function writeDesktopConfig(proxyUrl, gatewayKey, baseDir = getDesk
398
612
  const unionNames = [...new Set([...previouslyManagedNames, ...managedNames])];
399
613
  await writeManagedMcpState(managedStatePath, unionNames);
400
614
  }
615
+ // Summarize the reconciled list we are about to serialize (not the org catalog
616
+ // index.ts already logs), so the shape counts always add up to
617
+ // managedMcpServerCount and a logged auth downgrade is visible in the field.
618
+ // seededDefaultCount reports what was offered to the merge, not what was
619
+ // written — displacedDefaultCount and displacedDefaults reconcile the difference.
620
+ const writtenOauthShapes = summarizeManagedOauthShapes(managedMcpServers);
401
621
  logger.info('[proxy] Preparing Claude Desktop config payload', ...sanitizeLogArgs({
402
622
  baseDir,
403
623
  configPath,
@@ -409,6 +629,13 @@ export async function writeDesktopConfig(proxyUrl, gatewayKey, baseDir = getDesk
409
629
  resolvedModels,
410
630
  inferenceModelsWritten: inferenceModels.length > 0,
411
631
  managedMcpServerCount: managedMcpServers.length,
632
+ seededDefaultCount: seedDefaults.length,
633
+ displacedDefaultCount: displacedDefaults.length,
634
+ displacedDefaults,
635
+ oauthDowngradeCount: oauthDowngrades.length,
636
+ oauthConfiguredCount: writtenOauthShapes.oauthConfigured,
637
+ oauthFlaggedCount: writtenOauthShapes.oauthFlagged,
638
+ noAuthCount: writtenOauthShapes.noAuth,
412
639
  existingConfigKeys: Object.keys(existing),
413
640
  }));
414
641
  for (const key of INFERENCE_KEYS) {
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"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"}