@codemieai/code 0.15.1 → 0.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/bin/codemie.js +52 -0
  3. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  4. package/dist/agents/core/AgentCLI.js +6 -0
  5. package/dist/agents/core/AgentCLI.js.map +1 -1
  6. package/dist/agents/core/BaseAgentAdapter.d.ts +25 -0
  7. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  8. package/dist/agents/core/BaseAgentAdapter.js +137 -127
  9. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  10. package/dist/agents/core/session/BaseProcessor.d.ts +10 -0
  11. package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -1
  12. package/dist/agents/core/session/BaseProcessor.js +11 -1
  13. package/dist/agents/core/session/BaseProcessor.js.map +1 -1
  14. package/dist/agents/core/session/BaseSessionAdapter.d.ts +4 -0
  15. package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
  16. package/dist/agents/core/types.d.ts +11 -5
  17. package/dist/agents/core/types.d.ts.map +1 -1
  18. package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -1
  19. package/dist/agents/plugins/claude/claude.models.js +12 -11
  20. package/dist/agents/plugins/claude/claude.models.js.map +1 -1
  21. package/dist/agents/plugins/claude/claude.plugin.d.ts +3 -3
  22. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  23. package/dist/agents/plugins/claude/claude.plugin.js +14 -13
  24. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  25. package/dist/agents/plugins/claude/claude.session.d.ts +17 -1
  26. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
  27. package/dist/agents/plugins/claude/claude.session.js +31 -1
  28. package/dist/agents/plugins/claude/claude.session.js.map +1 -1
  29. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  30. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +7 -7
  31. package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -1
  32. package/dist/agents/plugins/codex/codex.plugin.js +7 -6
  33. package/dist/agents/plugins/codex/codex.plugin.js.map +1 -1
  34. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts.map +1 -1
  35. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js +5 -2
  36. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js.map +1 -1
  37. package/dist/agents/plugins/gemini/extension/gemini-extension.json +1 -1
  38. package/dist/agents/plugins/gemini/extension/hooks/hooks.json +7 -7
  39. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  40. package/dist/agents/plugins/gemini/gemini.plugin.js +7 -6
  41. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  42. package/dist/agents/plugins/kimi/kimi.hook-config-injector.d.ts.map +1 -1
  43. package/dist/agents/plugins/kimi/kimi.hook-config-injector.js +26 -5
  44. package/dist/agents/plugins/kimi/kimi.hook-config-injector.js.map +1 -1
  45. package/dist/agents/plugins/kimi/kimi.plugin.d.ts.map +1 -1
  46. package/dist/agents/plugins/kimi/kimi.plugin.js +5 -2
  47. package/dist/agents/plugins/kimi/kimi.plugin.js.map +1 -1
  48. package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts.map +1 -1
  49. package/dist/agents/plugins/opencode/opencode-dynamic-models.js +3 -4
  50. package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -1
  51. package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -1
  52. package/dist/agents/plugins/pi/pi.models.js +3 -3
  53. package/dist/agents/plugins/pi/pi.models.js.map +1 -1
  54. package/dist/bin/proxy-daemon.js +8 -1
  55. package/dist/bin/proxy-daemon.js.map +1 -1
  56. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts +6 -0
  57. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts.map +1 -0
  58. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js +115 -0
  59. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js.map +1 -0
  60. package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts +6 -0
  61. package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts.map +1 -0
  62. package/dist/cli/commands/analytics/cost/claude-lifecycle.js +107 -0
  63. package/dist/cli/commands/analytics/cost/claude-lifecycle.js.map +1 -0
  64. package/dist/cli/commands/analytics/cost/claude-native.d.ts +54 -0
  65. package/dist/cli/commands/analytics/cost/claude-native.d.ts.map +1 -0
  66. package/dist/cli/commands/analytics/cost/claude-native.js +14 -0
  67. package/dist/cli/commands/analytics/cost/claude-native.js.map +1 -0
  68. package/dist/cli/commands/analytics/cost/claude-ownership.d.ts +23 -0
  69. package/dist/cli/commands/analytics/cost/claude-ownership.d.ts.map +1 -0
  70. package/dist/cli/commands/analytics/cost/claude-ownership.js +99 -0
  71. package/dist/cli/commands/analytics/cost/claude-ownership.js.map +1 -0
  72. package/dist/cli/commands/analytics/cost/claude-trace.d.ts +28 -0
  73. package/dist/cli/commands/analytics/cost/claude-trace.d.ts.map +1 -0
  74. package/dist/cli/commands/analytics/cost/claude-trace.js +120 -0
  75. package/dist/cli/commands/analytics/cost/claude-trace.js.map +1 -0
  76. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts +1 -1
  77. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
  78. package/dist/cli/commands/analytics/cost/cost-enricher.js +34 -43
  79. package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
  80. package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts +18 -0
  81. package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts.map +1 -0
  82. package/dist/cli/commands/analytics/cost/dispatch-allocation.js +53 -0
  83. package/dist/cli/commands/analytics/cost/dispatch-allocation.js.map +1 -0
  84. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts +8 -13
  85. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts.map +1 -1
  86. package/dist/cli/commands/analytics/cost/dispatch-extractor.js +131 -69
  87. package/dist/cli/commands/analytics/cost/dispatch-extractor.js.map +1 -1
  88. package/dist/cli/commands/analytics/cost/types.d.ts +39 -0
  89. package/dist/cli/commands/analytics/cost/types.d.ts.map +1 -1
  90. package/dist/cli/commands/analytics/cost/types.js.map +1 -1
  91. package/dist/cli/commands/analytics/cost/usage-readers.d.ts +2 -0
  92. package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
  93. package/dist/cli/commands/analytics/cost/usage-readers.js +14 -3
  94. package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
  95. package/dist/cli/commands/analytics/data-loader.d.ts +13 -0
  96. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  97. package/dist/cli/commands/analytics/data-loader.js +6 -0
  98. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  99. package/dist/cli/commands/analytics/native-loader.d.ts +1 -1
  100. package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
  101. package/dist/cli/commands/analytics/native-loader.js +25 -3
  102. package/dist/cli/commands/analytics/native-loader.js.map +1 -1
  103. package/dist/cli/commands/analytics/otel-loader.d.ts.map +1 -1
  104. package/dist/cli/commands/analytics/otel-loader.js +5 -0
  105. package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
  106. package/dist/cli/commands/analytics/report/client/app.js +302 -125
  107. package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
  108. package/dist/cli/commands/analytics/report/payload-builder.js +64 -13
  109. package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
  110. package/dist/cli/commands/analytics/report/template.html +50 -2
  111. package/dist/cli/commands/analytics/report/types.d.ts +16 -0
  112. package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
  113. package/dist/cli/commands/assistants/constants.d.ts +4 -0
  114. package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
  115. package/dist/cli/commands/assistants/constants.js +4 -0
  116. package/dist/cli/commands/assistants/constants.js.map +1 -1
  117. package/dist/cli/commands/assistants/setup/data.d.ts +1 -0
  118. package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -1
  119. package/dist/cli/commands/assistants/setup/data.js +55 -10
  120. package/dist/cli/commands/assistants/setup/data.js.map +1 -1
  121. package/dist/cli/commands/assistants/setup/helpers.d.ts +1 -1
  122. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
  123. package/dist/cli/commands/assistants/setup/helpers.js +2 -5
  124. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
  125. package/dist/cli/commands/assistants/setup/index.d.ts +12 -0
  126. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
  127. package/dist/cli/commands/assistants/setup/index.js +148 -20
  128. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  129. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts +6 -0
  130. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
  131. package/dist/cli/commands/doctor/checks/AgentsCheck.js +37 -33
  132. package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
  133. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  134. package/dist/cli/commands/doctor/index.js +11 -0
  135. package/dist/cli/commands/doctor/index.js.map +1 -1
  136. package/dist/cli/commands/hook.d.ts.map +1 -1
  137. package/dist/cli/commands/hook.js +72 -12
  138. package/dist/cli/commands/hook.js.map +1 -1
  139. package/dist/cli/commands/install.d.ts.map +1 -1
  140. package/dist/cli/commands/install.js +5 -9
  141. package/dist/cli/commands/install.js.map +1 -1
  142. package/dist/cli/commands/mcp/index.d.ts.map +1 -1
  143. package/dist/cli/commands/mcp/index.js +68 -17
  144. package/dist/cli/commands/mcp/index.js.map +1 -1
  145. package/dist/cli/commands/profile/display.d.ts +5 -1
  146. package/dist/cli/commands/profile/display.d.ts.map +1 -1
  147. package/dist/cli/commands/profile/display.js +5 -1
  148. package/dist/cli/commands/profile/display.js.map +1 -1
  149. package/dist/cli/commands/profile/index.d.ts.map +1 -1
  150. package/dist/cli/commands/profile/index.js +7 -4
  151. package/dist/cli/commands/profile/index.js.map +1 -1
  152. package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -1
  153. package/dist/cli/commands/proxy/connect-orchestrator.js +3 -4
  154. package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -1
  155. package/dist/cli/commands/proxy/connectors/desktop.d.ts +15 -12
  156. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  157. package/dist/cli/commands/proxy/connectors/desktop.js +36 -38
  158. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  159. package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts +19 -0
  160. package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts.map +1 -0
  161. package/dist/cli/commands/proxy/connectors/model-name-resolver.js +126 -0
  162. package/dist/cli/commands/proxy/connectors/model-name-resolver.js.map +1 -0
  163. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts +11 -0
  164. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts.map +1 -0
  165. package/dist/cli/commands/proxy/connectors/tenant-catalog.js +108 -0
  166. package/dist/cli/commands/proxy/connectors/tenant-catalog.js.map +1 -0
  167. package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts.map +1 -1
  168. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js +49 -19
  169. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js.map +1 -1
  170. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +3 -3
  171. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
  172. package/dist/cli/commands/proxy/connectors/vscode-models.js +28 -28
  173. package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
  174. package/dist/cli/commands/proxy/connectors/vscode.d.ts +3 -2
  175. package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
  176. package/dist/cli/commands/proxy/connectors/vscode.js +78 -39
  177. package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
  178. package/dist/cli/commands/setup.d.ts.map +1 -1
  179. package/dist/cli/commands/setup.js +72 -24
  180. package/dist/cli/commands/setup.js.map +1 -1
  181. package/dist/cli/commands/shared/headless.d.ts +69 -0
  182. package/dist/cli/commands/shared/headless.d.ts.map +1 -0
  183. package/dist/cli/commands/shared/headless.js +83 -0
  184. package/dist/cli/commands/shared/headless.js.map +1 -0
  185. package/dist/cli/commands/shared/helpers.d.ts +21 -0
  186. package/dist/cli/commands/shared/helpers.d.ts.map +1 -1
  187. package/dist/cli/commands/shared/helpers.js +73 -1
  188. package/dist/cli/commands/shared/helpers.js.map +1 -1
  189. package/dist/cli/commands/shared/identifier-resolution.d.ts +23 -0
  190. package/dist/cli/commands/shared/identifier-resolution.d.ts.map +1 -0
  191. package/dist/cli/commands/shared/identifier-resolution.js +55 -0
  192. package/dist/cli/commands/shared/identifier-resolution.js.map +1 -0
  193. package/dist/cli/commands/skills/setup/data.d.ts +3 -2
  194. package/dist/cli/commands/skills/setup/data.d.ts.map +1 -1
  195. package/dist/cli/commands/skills/setup/data.js +75 -13
  196. package/dist/cli/commands/skills/setup/data.js.map +1 -1
  197. package/dist/cli/commands/skills/setup/helpers.d.ts +1 -1
  198. package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
  199. package/dist/cli/commands/skills/setup/helpers.js +2 -5
  200. package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
  201. package/dist/cli/commands/skills/setup/index.d.ts +17 -1
  202. package/dist/cli/commands/skills/setup/index.d.ts.map +1 -1
  203. package/dist/cli/commands/skills/setup/index.js +190 -19
  204. package/dist/cli/commands/skills/setup/index.js.map +1 -1
  205. package/dist/cli/commands/tips.d.ts +10 -0
  206. package/dist/cli/commands/tips.d.ts.map +1 -0
  207. package/dist/cli/commands/tips.js +142 -0
  208. package/dist/cli/commands/tips.js.map +1 -0
  209. package/dist/cli/commands/update.d.ts.map +1 -1
  210. package/dist/cli/commands/update.js +12 -10
  211. package/dist/cli/commands/update.js.map +1 -1
  212. package/dist/cli/commands/whatsnew.d.ts +6 -0
  213. package/dist/cli/commands/whatsnew.d.ts.map +1 -0
  214. package/dist/cli/commands/whatsnew.js +37 -0
  215. package/dist/cli/commands/whatsnew.js.map +1 -0
  216. package/dist/cli/first-time.d.ts.map +1 -1
  217. package/dist/cli/first-time.js +4 -0
  218. package/dist/cli/first-time.js.map +1 -1
  219. package/dist/cli/index.js +4 -0
  220. package/dist/cli/index.js.map +1 -1
  221. package/dist/providers/core/types.d.ts +15 -0
  222. package/dist/providers/core/types.d.ts.map +1 -1
  223. package/dist/providers/core/types.js.map +1 -1
  224. package/dist/providers/integration/setup-ui.d.ts +5 -3
  225. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  226. package/dist/providers/integration/setup-ui.js +6 -4
  227. package/dist/providers/integration/setup-ui.js.map +1 -1
  228. package/dist/providers/plugins/ollama/ollama.library.d.ts +37 -0
  229. package/dist/providers/plugins/ollama/ollama.library.d.ts.map +1 -0
  230. package/dist/providers/plugins/ollama/ollama.library.js +105 -0
  231. package/dist/providers/plugins/ollama/ollama.library.js.map +1 -0
  232. package/dist/providers/plugins/ollama/ollama.models.d.ts +3 -1
  233. package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -1
  234. package/dist/providers/plugins/ollama/ollama.models.js +5 -39
  235. package/dist/providers/plugins/ollama/ollama.models.js.map +1 -1
  236. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -1
  237. package/dist/providers/plugins/ollama/ollama.setup-steps.js +196 -6
  238. package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -1
  239. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
  240. package/dist/providers/plugins/ollama/ollama.template.js +12 -32
  241. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
  242. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts +41 -0
  243. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts.map +1 -0
  244. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js +115 -0
  245. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js.map +1 -0
  246. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -1
  247. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +101 -7
  248. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -1
  249. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts +4 -0
  250. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts.map +1 -1
  251. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +28 -3
  252. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
  253. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +5 -0
  254. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
  255. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  256. package/dist/providers/plugins/sso/proxy/sso.proxy.js +1 -0
  257. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  258. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts +4 -0
  259. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts.map +1 -1
  260. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +12 -0
  261. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  262. package/dist/providers/plugins/sso/session/SessionSyncer.js +89 -0
  263. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  264. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -1
  265. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +75 -41
  266. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
  267. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
  268. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +11 -2
  269. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
  270. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  271. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +25 -5
  272. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  273. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts +1 -0
  274. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts.map +1 -1
  275. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js +30 -6
  276. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js.map +1 -1
  277. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.d.ts.map +1 -1
  278. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js +33 -3
  279. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js.map +1 -1
  280. package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts +58 -0
  281. package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts.map +1 -0
  282. package/dist/telemetry/runtime/DesktopRepositoryResolver.js +370 -0
  283. package/dist/telemetry/runtime/DesktopRepositoryResolver.js.map +1 -0
  284. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts +1 -0
  285. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -1
  286. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +89 -6
  287. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -1
  288. package/dist/telemetry/runtime/types.d.ts +2 -0
  289. package/dist/telemetry/runtime/types.d.ts.map +1 -1
  290. package/dist/utils/auth.d.ts +13 -2
  291. package/dist/utils/auth.d.ts.map +1 -1
  292. package/dist/utils/auth.js +7 -3
  293. package/dist/utils/auth.js.map +1 -1
  294. package/dist/utils/cli-updater.d.ts.map +1 -1
  295. package/dist/utils/cli-updater.js +2 -8
  296. package/dist/utils/cli-updater.js.map +1 -1
  297. package/dist/utils/config.d.ts +21 -0
  298. package/dist/utils/config.d.ts.map +1 -1
  299. package/dist/utils/config.js +69 -7
  300. package/dist/utils/config.js.map +1 -1
  301. package/dist/utils/env.d.ts +12 -0
  302. package/dist/utils/env.d.ts.map +1 -0
  303. package/dist/utils/env.js +18 -0
  304. package/dist/utils/env.js.map +1 -0
  305. package/dist/utils/errors.d.ts +14 -0
  306. package/dist/utils/errors.d.ts.map +1 -1
  307. package/dist/utils/errors.js +25 -0
  308. package/dist/utils/errors.js.map +1 -1
  309. package/dist/utils/hook-command.d.ts +6 -0
  310. package/dist/utils/hook-command.d.ts.map +1 -1
  311. package/dist/utils/hook-command.js +40 -1
  312. package/dist/utils/hook-command.js.map +1 -1
  313. package/dist/utils/paths.d.ts +2 -2
  314. package/dist/utils/paths.d.ts.map +1 -1
  315. package/dist/utils/paths.js +11 -9
  316. package/dist/utils/paths.js.map +1 -1
  317. package/dist/utils/pricing.json +14 -6
  318. package/dist/utils/processes.d.ts +12 -0
  319. package/dist/utils/processes.d.ts.map +1 -1
  320. package/dist/utils/processes.js +15 -0
  321. package/dist/utils/processes.js.map +1 -1
  322. package/dist/utils/tips.d.ts +103 -0
  323. package/dist/utils/tips.d.ts.map +1 -0
  324. package/dist/utils/tips.js +221 -0
  325. package/dist/utils/tips.js.map +1 -0
  326. package/dist/utils/version-warnings.d.ts +41 -0
  327. package/dist/utils/version-warnings.d.ts.map +1 -0
  328. package/dist/utils/version-warnings.js +93 -0
  329. package/dist/utils/version-warnings.js.map +1 -0
  330. package/dist/utils/whatsnew.d.ts +83 -0
  331. package/dist/utils/whatsnew.d.ts.map +1 -0
  332. package/dist/utils/whatsnew.js +200 -0
  333. package/dist/utils/whatsnew.js.map +1 -0
  334. package/package.json +4 -1
  335. package/scripts/release.sh +6 -0
  336. package/src/utils/tips.json +806 -0
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Shared tenant model-name resolver for the VS Code Copilot BYOK and Claude
3
+ * Desktop connectors.
4
+ *
5
+ * Generalizes `codex-model-resolver.ts`'s date-stripping identity-parse shape
6
+ * to also strip known vendor prefixes (GPT) and match both token orders
7
+ * (Claude family-first vs. version-first tenant naming). Kept separate from
8
+ * `codex-model-resolver.ts` on purpose — that module is proven for Codex and
9
+ * out of scope for this change.
10
+ */
11
+ /**
12
+ * Release date embedded in a tenant model id, matched in either of the two
13
+ * shapes real CodeMie deployments use: separator-delimited (`-2026-07-09`) or
14
+ * concatenated (`-20260709`, e.g. `claude-opus-4-5-20251101`). Not anchored to
15
+ * end-of-string: a deployment may carry a suffix after the date. The
16
+ * `(?!\d)` guard stops the concatenated alternative from matching only part
17
+ * of a longer digit run.
18
+ */
19
+ const RELEASE_DATE_PATTERN = /[-._](?:(?:20\d{2})[-._](?:\d{2})[-._](?:\d{2})|(?:20\d{2})(?:\d{2})(?:\d{2}))(?!\d)/;
20
+ const GPT_VENDOR_PREFIXES = ['openai.'];
21
+ const CLAUDE_SEGMENT_PATTERN = /opus|sonnet|haiku/i;
22
+ const VERTEX_SUFFIX_PATTERN = /-vertex$/i;
23
+ function stripReleaseDate(name) {
24
+ const match = name.match(RELEASE_DATE_PATTERN);
25
+ return match ? name.slice(0, match.index) : name;
26
+ }
27
+ /** Numeric [year, month, day] embedded in `id`, or `null` when it carries no release date. */
28
+ function extractReleaseDate(id) {
29
+ const match = id.match(RELEASE_DATE_PATTERN);
30
+ if (!match)
31
+ return null;
32
+ const digits = match[0].match(/\d+/g) ?? [];
33
+ const joined = digits.join('');
34
+ if (joined.length < 8)
35
+ return null;
36
+ return [Number(joined.slice(0, 4)), Number(joined.slice(4, 6)), Number(joined.slice(6, 8))];
37
+ }
38
+ function parseGptIdentity(rawName) {
39
+ let name = stripReleaseDate(rawName.toLowerCase());
40
+ for (const prefix of GPT_VENDOR_PREFIXES) {
41
+ if (name.startsWith(prefix)) {
42
+ name = name.slice(prefix.length);
43
+ break;
44
+ }
45
+ }
46
+ const canonical = name.replace(/\./g, '-').replace(/-+$/, '');
47
+ const versionMatch = canonical.match(/^gpt-(\d+)(?:-(\d+))?/);
48
+ if (!versionMatch)
49
+ return null;
50
+ const rest = canonical.slice(versionMatch[0].length).replace(/^-/, '');
51
+ return { vendor: 'gpt', segment: rest, major: Number(versionMatch[1]), minor: Number(versionMatch[2] ?? 0) };
52
+ }
53
+ function parseClaudeIdentity(rawName) {
54
+ const name = stripReleaseDate(rawName.toLowerCase()).replace(VERTEX_SUFFIX_PATTERN, '');
55
+ if (!name.startsWith('claude-'))
56
+ return null;
57
+ const tokens = name.slice('claude-'.length).split('-').filter(Boolean);
58
+ const segmentToken = tokens.find((t) => CLAUDE_SEGMENT_PATTERN.test(t));
59
+ if (!segmentToken)
60
+ return null;
61
+ const numbers = tokens.filter((t) => /^\d+$/.test(t)).map(Number);
62
+ return { vendor: 'claude', segment: segmentToken, major: numbers[0] ?? 0, minor: numbers[1] ?? 0 };
63
+ }
64
+ function sameIdentity(a, b) {
65
+ return a !== null && a.vendor === b.vendor && a.segment === b.segment
66
+ && a.major === b.major && a.minor === b.minor;
67
+ }
68
+ function scoreForRecency(id) {
69
+ return {
70
+ id,
71
+ nonVertexRank: VERTEX_SUFFIX_PATTERN.test(id) ? 0 : 1,
72
+ date: extractReleaseDate(id) ?? [0, 0, 0],
73
+ };
74
+ }
75
+ /**
76
+ * Rank same-identity candidates and return the best one.
77
+ *
78
+ * `sameIdentity` only guarantees vendor/segment/major/minor equality — not a
79
+ * shared textual shape — so candidates can legitimately mix a vendor-prefixed
80
+ * undated id, a dashed/concatenated dated id, and a `-vertex`-suffixed id for
81
+ * the very same model. Plain lexicographic comparison sorts those by their
82
+ * first differing character, not by recency, which silently prefers the
83
+ * wrong deployment. Rank instead by an explicit precedence: canonical
84
+ * (non-vertex) ids before `-vertex` ones, then the parsed release date
85
+ * (newest first, `[0, 0, 0]` for an undated id sorts last), then id text as a
86
+ * final deterministic tiebreak.
87
+ */
88
+ function pickMostRecent(ids) {
89
+ const [best] = ids
90
+ .map(scoreForRecency)
91
+ .sort((a, b) => {
92
+ if (a.nonVertexRank !== b.nonVertexRank)
93
+ return b.nonVertexRank - a.nonVertexRank;
94
+ for (let i = 0; i < a.date.length; i++) {
95
+ if (a.date[i] !== b.date[i])
96
+ return b.date[i] - a.date[i];
97
+ }
98
+ return b.id.localeCompare(a.id);
99
+ });
100
+ return best.id;
101
+ }
102
+ /**
103
+ * Resolve a capability-table family name (e.g. `gpt-5.6-luna`, `claude-opus-5`)
104
+ * to the exact tenant deployment id that serves it, or `undefined` when no
105
+ * tenant deployment matches. Returns the tenant's id byte-for-byte — never a
106
+ * normalized/canonical form — so the caller can use it directly as the
107
+ * gateway model id.
108
+ */
109
+ export function resolveTenantModelId(family, available) {
110
+ if (available.includes(family))
111
+ return family;
112
+ const gptWanted = parseGptIdentity(family);
113
+ if (gptWanted) {
114
+ const matches = available.filter((id) => sameIdentity(parseGptIdentity(id), gptWanted));
115
+ if (matches.length > 0)
116
+ return pickMostRecent(matches);
117
+ }
118
+ const claudeWanted = parseClaudeIdentity(family);
119
+ if (claudeWanted) {
120
+ const matches = available.filter((id) => sameIdentity(parseClaudeIdentity(id), claudeWanted));
121
+ if (matches.length > 0)
122
+ return pickMostRecent(matches);
123
+ }
124
+ return undefined;
125
+ }
126
+ //# sourceMappingURL=model-name-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-name-resolver.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/model-name-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Fetch every deployment id the tenant's gateway exposes, unfiltered.
3
+ *
4
+ * Modeled on `desktop.ts`'s `fetchClaudeModels`, minus its Claude-family
5
+ * filter and vertex/curated-list fallback — this is a generic catalog read
6
+ * consumed by connectors (VS Code Copilot BYOK) that must intersect the
7
+ * result against their own capability table rather than a Claude-specific
8
+ * curated list.
9
+ */
10
+ export declare function fetchTenantModelCatalog(proxyUrl: string, gatewayKey: string): Promise<string[]>;
11
+ //# sourceMappingURL=tenant-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-catalog.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/tenant-catalog.ts"],"names":[],"mappings":"AAiGA;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgDrG"}
@@ -0,0 +1,108 @@
1
+ import { ConfigurationError } from '../../../../utils/errors.js';
2
+ import { logger } from '../../../../utils/logger.js';
3
+ import { sanitizeLogArgs } from '../../../../utils/security.js';
4
+ /** Bounds how long a hung gateway can block `codemie proxy connect`. */
5
+ const CATALOG_FETCH_TIMEOUT_MS = 10_000;
6
+ async function fetchWithTimeout(url, init, timeoutMs) {
7
+ const controller = new AbortController();
8
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
9
+ try {
10
+ return await fetch(url, { ...init, signal: controller.signal });
11
+ }
12
+ finally {
13
+ clearTimeout(timer);
14
+ }
15
+ }
16
+ /** Same `id || base_name || deployment_name` fallback chain for every response shape. */
17
+ function extractModelId(model) {
18
+ return model.id || model.base_name || model.deployment_name;
19
+ }
20
+ function parseCatalogResponseIds(json) {
21
+ const models = Array.isArray(json) ? json : (json.data ?? []);
22
+ return models
23
+ .map(extractModelId)
24
+ .filter((id) => typeof id === 'string');
25
+ }
26
+ function buildCatalogHttpError(response, endpoint) {
27
+ return new ConfigurationError(response.status === 401
28
+ ? `Local proxy model discovery was rejected with 401 Unauthorized at ${endpoint}. ` +
29
+ 'The local gateway key was not accepted by the proxy or was forwarded upstream incorrectly.'
30
+ : `Local proxy model discovery failed at ${endpoint}: ${response.status} ${response.statusText}`);
31
+ }
32
+ function logCatalogFetchStart(endpoint, proxyUrl, gatewayKey) {
33
+ logger.info('[proxy] Fetching tenant model catalog from gateway', ...sanitizeLogArgs({
34
+ endpoint,
35
+ inferenceGatewayBaseUrl: proxyUrl,
36
+ inferenceGatewayApiKey: gatewayKey,
37
+ }));
38
+ }
39
+ function logCatalogFetchFailed(endpoint, response, proxyUrl) {
40
+ logger.warn('[proxy] Tenant model catalog discovery failed', ...sanitizeLogArgs({
41
+ endpoint,
42
+ status: response.status,
43
+ statusText: response.statusText,
44
+ inferenceGatewayBaseUrl: proxyUrl,
45
+ }));
46
+ }
47
+ function logCatalogFetchCompleted(endpoint, ids) {
48
+ logger.info('[proxy] Tenant model catalog discovery completed', ...sanitizeLogArgs({ endpoint, totalModelCount: ids.length }));
49
+ }
50
+ function logCatalogFetchThrew(endpoint, proxyUrl, error) {
51
+ logger.warn('[proxy] Tenant model catalog discovery threw before completion', ...sanitizeLogArgs({
52
+ endpoint,
53
+ inferenceGatewayBaseUrl: proxyUrl,
54
+ error: error instanceof Error ? error.message : String(error),
55
+ }));
56
+ }
57
+ function isAbortError(error) {
58
+ return error instanceof Error && error.name === 'AbortError';
59
+ }
60
+ /**
61
+ * Fetch every deployment id the tenant's gateway exposes, unfiltered.
62
+ *
63
+ * Modeled on `desktop.ts`'s `fetchClaudeModels`, minus its Claude-family
64
+ * filter and vertex/curated-list fallback — this is a generic catalog read
65
+ * consumed by connectors (VS Code Copilot BYOK) that must intersect the
66
+ * result against their own capability table rather than a Claude-specific
67
+ * curated list.
68
+ */
69
+ export async function fetchTenantModelCatalog(proxyUrl, gatewayKey) {
70
+ let endpoint;
71
+ try {
72
+ endpoint = new URL('/v1/llm_models?include_all=true', proxyUrl).toString();
73
+ }
74
+ catch (error) {
75
+ throw new ConfigurationError(`Local proxy model discovery could not build a request URL from proxyUrl "${proxyUrl}". ` +
76
+ `Reason: ${error instanceof Error ? error.message : String(error)}`);
77
+ }
78
+ logCatalogFetchStart(endpoint, proxyUrl, gatewayKey);
79
+ try {
80
+ const response = await fetchWithTimeout(endpoint, { headers: { Authorization: `Bearer ${gatewayKey}` } }, CATALOG_FETCH_TIMEOUT_MS);
81
+ if (!response.ok) {
82
+ logCatalogFetchFailed(endpoint, response, proxyUrl);
83
+ throw buildCatalogHttpError(response, endpoint);
84
+ }
85
+ const contentType = response.headers.get('content-type') ?? '';
86
+ if (!contentType.includes('application/json')) {
87
+ throw new ConfigurationError(`Local proxy model discovery received an unexpected response (${contentType || 'no content-type'}) from ${endpoint}. ` +
88
+ `Your SSO session may have expired — run \`codemie proxy stop && codemie profile login\` ` +
89
+ `to re-authenticate, then run \`codemie proxy connect\` again.`);
90
+ }
91
+ const json = await response.json();
92
+ const ids = parseCatalogResponseIds(json);
93
+ logCatalogFetchCompleted(endpoint, ids);
94
+ return ids;
95
+ }
96
+ catch (error) {
97
+ if (error instanceof ConfigurationError) {
98
+ throw error;
99
+ }
100
+ logCatalogFetchThrew(endpoint, proxyUrl, error);
101
+ if (isAbortError(error)) {
102
+ throw new ConfigurationError(`Local proxy model discovery timed out after ${CATALOG_FETCH_TIMEOUT_MS}ms reaching ${endpoint}.`);
103
+ }
104
+ throw new ConfigurationError(`Local proxy model discovery could not reach ${endpoint}. ` +
105
+ `Reason: ${error instanceof Error ? error.message : String(error)}`);
106
+ }
107
+ }
108
+ //# sourceMappingURL=tenant-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-catalog.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/tenant-catalog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-claude-code.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,UAAQ,GAAG,MAAM,CAYxE;AAwFD;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iCAAiC,CAAC,CAiC5C;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,UAAQ,GACf,OAAO,CAAC,iCAAiC,CAAC,CAM5C"}
1
+ {"version":3,"file":"vscode-claude-code.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,UAAQ,GAAG,MAAM,CAYxE;AAoHD;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iCAAiC,CAAC,CAsD5C;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,UAAQ,GACf,OAAO,CAAC,iCAAiC,CAAC,CAM5C"}
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
+ import { applyEdits, modify, parse, printParseErrorCode, } from 'jsonc-parser';
4
5
  import { ConfigurationError } from '../../../../utils/errors.js';
5
6
  import { logger } from '../../../../utils/logger.js';
6
7
  import { sanitizeLogArgs } from '../../../../utils/security.js';
@@ -25,9 +26,14 @@ export function getVsCodeClaudeCodeSettingsPath(insiders = false) {
25
26
  }
26
27
  return join(productDir, 'User', 'settings.json');
27
28
  }
29
+ /**
30
+ * Read `settings.json` tolerating the comments and trailing commas VS Code
31
+ * itself writes and accepts (JSONC), instead of the strict `JSON.parse` that
32
+ * previously rejected any hand-edited settings file on its first `//` line.
33
+ */
28
34
  async function readSettings(configPath) {
29
35
  if (!existsSync(configPath))
30
- return {};
36
+ return { settings: {}, raw: '' };
31
37
  let raw;
32
38
  try {
33
39
  raw = await readFile(configPath, 'utf-8');
@@ -37,23 +43,35 @@ async function readSettings(configPath) {
37
43
  `${error instanceof Error ? error.message : String(error)}`);
38
44
  }
39
45
  if (raw.trim().length === 0)
40
- return {};
41
- try {
42
- const parsed = JSON.parse(raw);
43
- if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
44
- throw new ConfigurationError(`VS Code settings must contain a JSON object: ${configPath}`);
45
- }
46
- return parsed;
46
+ return { settings: {}, raw: '' };
47
+ const errors = [];
48
+ const parsed = parse(raw, errors, { allowTrailingComma: true });
49
+ if (errors.length > 0) {
50
+ throw new ConfigurationError(`VS Code settings at ${configPath} could not be read: ` +
51
+ `${printParseErrorCode(errors[0].error)} at offset ${errors[0].offset}. The file was not changed.`);
47
52
  }
48
- catch (error) {
49
- if (error instanceof ConfigurationError)
50
- throw error;
51
- throw new ConfigurationError(`VS Code settings at ${configPath} are not valid JSON and were not changed.`);
53
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
54
+ throw new ConfigurationError(`VS Code settings must contain a JSON object: ${configPath}`);
52
55
  }
56
+ return { settings: parsed, raw };
53
57
  }
54
58
  function isEnvVarEntry(value) {
55
59
  return typeof value === 'object' && value !== null && !Array.isArray(value);
56
60
  }
61
+ /**
62
+ * Detect the indentation and line ending an existing `settings.json` already
63
+ * uses, so `modify()` edits match it instead of jsonc-parser's own default —
64
+ * passing `{}` as `ModificationOptions` leaves `formattingOptions` undefined,
65
+ * which per jsonc-parser's contract inserts the edit completely unformatted
66
+ * (no newline, no indent) rather than falling back to a 4-space/tab default.
67
+ */
68
+ function detectFormattingOptions(raw) {
69
+ const eol = raw.includes('\r\n') ? '\r\n' : '\n';
70
+ const indentMatch = raw.match(/\r?\n([ \t]+)\S/);
71
+ const indent = indentMatch?.[1] ?? ' ';
72
+ const insertSpaces = !indent.startsWith('\t');
73
+ return { insertSpaces, tabSize: insertSpaces ? indent.length : 4, eol };
74
+ }
57
75
  /**
58
76
  * Upsert the two CodeMie-managed entries into an existing `claudeCode.environmentVariables`
59
77
  * value, tolerating a malformed existing value instead of crashing or silently discarding data:
@@ -100,14 +118,26 @@ function upsertManagedEnvVars(existing, gatewayUrl, gatewayKey) {
100
118
  * CodeMie-managed and get overwritten.
101
119
  */
102
120
  export async function writeVsCodeClaudeCodeConfigAtPath(configPath, gatewayUrl, gatewayKey) {
103
- const settings = await readSettings(configPath);
104
- const updatedSettings = {
105
- ...settings,
106
- 'claudeCode.disableLoginPrompt': true,
107
- 'claudeCode.environmentVariables': upsertManagedEnvVars(settings['claudeCode.environmentVariables'], gatewayUrl, gatewayKey),
108
- };
121
+ const { settings, raw } = await readSettings(configPath);
122
+ const envVars = upsertManagedEnvVars(settings['claudeCode.environmentVariables'], gatewayUrl, gatewayKey);
123
+ // An absent/empty file has no formatting worth preserving — fall back to the
124
+ // plain re-serialization path. Otherwise apply targeted edits against the
125
+ // ORIGINAL text so comments and trailing commas the user already had survive.
126
+ let nextText;
127
+ if (raw.trim().length === 0) {
128
+ nextText = `${JSON.stringify({
129
+ ...settings,
130
+ 'claudeCode.disableLoginPrompt': true,
131
+ 'claudeCode.environmentVariables': envVars,
132
+ }, null, '\t')}\n`;
133
+ }
134
+ else {
135
+ const formattingOptions = detectFormattingOptions(raw);
136
+ const afterFirst = applyEdits(raw, modify(raw, ['claudeCode.disableLoginPrompt'], true, { formattingOptions }));
137
+ nextText = applyEdits(afterFirst, modify(afterFirst, ['claudeCode.environmentVariables'], envVars, { formattingOptions }));
138
+ }
109
139
  try {
110
- await writeAtomically(configPath, `${JSON.stringify(updatedSettings, null, '\t')}\n`);
140
+ await writeAtomically(configPath, nextText);
111
141
  }
112
142
  catch (error) {
113
143
  throw new ConfigurationError(`Failed to update VS Code Claude Code settings at ${configPath}: ` +
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-claude-code.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vscode-claude-code.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export type VsCodeApiType = 'chat-completions' | 'responses' | 'messages';
2
2
  export type VsCodeReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
3
- export interface VsCodeModelDefinition {
4
- id: string;
3
+ export interface VsCodeCapabilityEntry {
4
+ family: string;
5
5
  apiType: VsCodeApiType;
6
6
  vision: boolean;
7
7
  thinking: boolean;
@@ -17,5 +17,5 @@ export interface VsCodeModelDefinition {
17
17
  maxInputTokens: number;
18
18
  maxOutputTokens: number;
19
19
  }
20
- export declare const VS_CODE_SUPPORTED_MODELS: readonly VsCodeModelDefinition[];
20
+ export declare const VS_CODE_CAPABILITY_TABLE: readonly VsCodeCapabilityEntry[];
21
21
  //# sourceMappingURL=vscode-models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-models.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-models.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,QAAQ,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,uBAAuB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3D,qBAAqB,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAeD,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EAgRpE,CAAC"}
1
+ {"version":3,"file":"vscode-models.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-models.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,QAAQ,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,uBAAuB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3D,qBAAqB,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAeD,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EAgRpE,CAAC"}