@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
@@ -10,9 +10,9 @@ const CLAUDE_XHIGH_EFFORTS = ['low', 'medium', 'high', 'xhigh', 'max'];
10
10
  const MESSAGE_AUTH_HEADERS = {
11
11
  Authorization: 'Bearer ${apiKey}',
12
12
  };
13
- export const VS_CODE_SUPPORTED_MODELS = [
13
+ export const VS_CODE_CAPABILITY_TABLE = [
14
14
  {
15
- id: 'claude-sonnet-4-5-20250929',
15
+ family: 'claude-sonnet-4-5',
16
16
  apiType: 'chat-completions',
17
17
  vision: true,
18
18
  thinking: false,
@@ -21,7 +21,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
21
21
  maxOutputTokens: 64000,
22
22
  },
23
23
  {
24
- id: 'gpt-4.1',
24
+ family: 'gpt-4.1',
25
25
  apiType: 'chat-completions',
26
26
  vision: true,
27
27
  thinking: false,
@@ -29,7 +29,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
29
29
  maxOutputTokens: 32768,
30
30
  },
31
31
  {
32
- id: 'gpt-4.1-mini',
32
+ family: 'gpt-4.1-mini',
33
33
  apiType: 'chat-completions',
34
34
  vision: true,
35
35
  thinking: false,
@@ -37,7 +37,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
37
37
  maxOutputTokens: 32768,
38
38
  },
39
39
  {
40
- id: 'gpt-5-2025-08-07',
40
+ family: 'gpt-5',
41
41
  apiType: 'chat-completions',
42
42
  vision: true,
43
43
  thinking: true,
@@ -47,7 +47,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
47
47
  maxOutputTokens: 128000,
48
48
  },
49
49
  {
50
- id: 'gpt-5-mini-2025-08-07',
50
+ family: 'gpt-5-mini',
51
51
  apiType: 'chat-completions',
52
52
  vision: true,
53
53
  thinking: true,
@@ -57,7 +57,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
57
57
  maxOutputTokens: 128000,
58
58
  },
59
59
  {
60
- id: 'gpt-5-nano-2025-08-07',
60
+ family: 'gpt-5-nano',
61
61
  apiType: 'chat-completions',
62
62
  vision: true,
63
63
  thinking: true,
@@ -67,7 +67,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
67
67
  maxOutputTokens: 128000,
68
68
  },
69
69
  {
70
- id: 'gpt-5-2-2025-12-11',
70
+ family: 'gpt-5-2',
71
71
  apiType: 'chat-completions',
72
72
  vision: true,
73
73
  thinking: true,
@@ -77,7 +77,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
77
77
  maxOutputTokens: 128000,
78
78
  },
79
79
  {
80
- id: 'gpt-5.4-2026-03-05',
80
+ family: 'gpt-5.4',
81
81
  apiType: 'chat-completions',
82
82
  vision: true,
83
83
  thinking: true,
@@ -91,7 +91,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
91
91
  // strips deployment-bound encrypted reasoning state while preserving the
92
92
  // selected effort and visible/tool history for load-balanced continuations.
93
93
  {
94
- id: 'gpt-5.5-2026-04-24',
94
+ family: 'gpt-5.5',
95
95
  apiType: 'responses',
96
96
  vision: true,
97
97
  thinking: true,
@@ -102,7 +102,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
102
102
  maxOutputTokens: 128000,
103
103
  },
104
104
  {
105
- id: 'gpt-5.6-luna-2026-07-09',
105
+ family: 'gpt-5.6-luna',
106
106
  apiType: 'responses',
107
107
  vision: true,
108
108
  thinking: true,
@@ -113,7 +113,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
113
113
  maxOutputTokens: 128000,
114
114
  },
115
115
  {
116
- id: 'gpt-5.6-sol-2026-07-09',
116
+ family: 'gpt-5.6-sol',
117
117
  apiType: 'responses',
118
118
  vision: true,
119
119
  thinking: true,
@@ -124,7 +124,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
124
124
  maxOutputTokens: 128000,
125
125
  },
126
126
  {
127
- id: 'gpt-5.6-terra-2026-07-09',
127
+ family: 'gpt-5.6-terra',
128
128
  apiType: 'responses',
129
129
  vision: true,
130
130
  thinking: true,
@@ -135,7 +135,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
135
135
  maxOutputTokens: 128000,
136
136
  },
137
137
  {
138
- id: 'gemini-3-flash',
138
+ family: 'gemini-3-flash',
139
139
  apiType: 'chat-completions',
140
140
  vision: true,
141
141
  thinking: true,
@@ -145,7 +145,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
145
145
  maxOutputTokens: 65536,
146
146
  },
147
147
  {
148
- id: 'gemini-3.1-pro',
148
+ family: 'gemini-3.1-pro',
149
149
  apiType: 'chat-completions',
150
150
  vision: true,
151
151
  thinking: true,
@@ -155,7 +155,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
155
155
  maxOutputTokens: 65536,
156
156
  },
157
157
  {
158
- id: 'gemini-3.5-flash',
158
+ family: 'gemini-3.5-flash',
159
159
  apiType: 'chat-completions',
160
160
  vision: true,
161
161
  thinking: true,
@@ -165,7 +165,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
165
165
  maxOutputTokens: 65536,
166
166
  },
167
167
  {
168
- id: 'claude-4-5-sonnet',
168
+ family: 'claude-4-5-sonnet',
169
169
  apiType: 'chat-completions',
170
170
  vision: true,
171
171
  thinking: false,
@@ -174,7 +174,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
174
174
  maxOutputTokens: 64000,
175
175
  },
176
176
  {
177
- id: 'claude-sonnet-4-6',
177
+ family: 'claude-sonnet-4-6',
178
178
  apiType: 'messages',
179
179
  vision: true,
180
180
  thinking: true,
@@ -185,7 +185,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
185
185
  maxOutputTokens: 64000,
186
186
  },
187
187
  {
188
- id: 'claude-sonnet-5',
188
+ family: 'claude-sonnet-5',
189
189
  apiType: 'messages',
190
190
  vision: true,
191
191
  thinking: true,
@@ -196,7 +196,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
196
196
  maxOutputTokens: 128000,
197
197
  },
198
198
  {
199
- id: 'claude-opus-4-5-20251101',
199
+ family: 'claude-opus-4-5',
200
200
  apiType: 'messages',
201
201
  vision: true,
202
202
  thinking: false,
@@ -206,7 +206,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
206
206
  maxOutputTokens: 64000,
207
207
  },
208
208
  {
209
- id: 'claude-opus-4-6-20260205',
209
+ family: 'claude-opus-4-6',
210
210
  apiType: 'messages',
211
211
  vision: true,
212
212
  thinking: true,
@@ -217,7 +217,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
217
217
  maxOutputTokens: 128000,
218
218
  },
219
219
  {
220
- id: 'claude-opus-4-7',
220
+ family: 'claude-opus-4-7',
221
221
  apiType: 'messages',
222
222
  vision: true,
223
223
  thinking: true,
@@ -228,7 +228,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
228
228
  maxOutputTokens: 128000,
229
229
  },
230
230
  {
231
- id: 'claude-opus-4-8',
231
+ family: 'claude-opus-4-8',
232
232
  apiType: 'messages',
233
233
  vision: true,
234
234
  thinking: true,
@@ -239,7 +239,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
239
239
  maxOutputTokens: 128000,
240
240
  },
241
241
  {
242
- id: 'claude-opus-5',
242
+ family: 'claude-opus-5',
243
243
  apiType: 'messages',
244
244
  vision: true,
245
245
  thinking: true,
@@ -250,7 +250,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
250
250
  maxOutputTokens: 128000,
251
251
  },
252
252
  {
253
- id: 'claude-haiku-4-5-20251001',
253
+ family: 'claude-haiku-4-5',
254
254
  apiType: 'chat-completions',
255
255
  vision: true,
256
256
  thinking: false,
@@ -259,7 +259,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
259
259
  maxOutputTokens: 64000,
260
260
  },
261
261
  {
262
- id: 'qwen.qwen3-coder-30b-a3b-v1',
262
+ family: 'qwen.qwen3-coder-30b-a3b-v1',
263
263
  apiType: 'chat-completions',
264
264
  vision: false,
265
265
  thinking: false,
@@ -267,7 +267,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
267
267
  maxOutputTokens: 16384,
268
268
  },
269
269
  {
270
- id: 'qwen.qwen3-coder-480b-a35b-v1',
270
+ family: 'qwen.qwen3-coder-480b-a35b-v1',
271
271
  apiType: 'chat-completions',
272
272
  vision: false,
273
273
  thinking: false,
@@ -275,7 +275,7 @@ export const VS_CODE_SUPPORTED_MODELS = [
275
275
  maxOutputTokens: 16384,
276
276
  },
277
277
  {
278
- id: 'moonshotai.kimi-k2.5',
278
+ family: 'moonshotai.kimi-k2.5',
279
279
  apiType: 'chat-completions',
280
280
  vision: true,
281
281
  thinking: false,
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-models.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vscode-models.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-models.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  export interface WriteVsCodeConfigResult {
2
2
  configPath: string;
3
3
  requiresSecretConfiguration: boolean;
4
+ modelCount: number;
4
5
  }
5
6
  export declare function isVsCodeSecretReference(value: unknown): value is string;
6
7
  export declare function getVsCodeProductDir(insiders: boolean): string;
7
8
  export declare function getVsCodeLanguageModelsPath(insiders?: boolean): string;
8
9
  export declare function writeAtomically(configPath: string, content: string): Promise<void>;
9
- export declare function writeVsCodeLanguageModelsConfig(proxyUrl: string, insiders?: boolean): Promise<WriteVsCodeConfigResult>;
10
- export declare function writeVsCodeLanguageModelsConfigAtPath(configPath: string, proxyUrl: string): Promise<WriteVsCodeConfigResult>;
10
+ export declare function writeVsCodeLanguageModelsConfig(proxyUrl: string, gatewayKey: string, insiders?: boolean, profileModel?: string): Promise<WriteVsCodeConfigResult>;
11
+ export declare function writeVsCodeLanguageModelsConfigAtPath(configPath: string, proxyUrl: string, gatewayKey: string, profileModel?: string): Promise<WriteVsCodeConfigResult>;
11
12
  //# sourceMappingURL=vscode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode.ts"],"names":[],"mappings":"AA6CA,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B,EAAE,OAAO,CAAC;CACtC;AAYD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAoB7D;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,UAAQ,GAAG,MAAM,CAYpE;AAyGD,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxF;AAED,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,MAAM,EAChB,QAAQ,UAAQ,GACf,OAAO,CAAC,uBAAuB,CAAC,CAKlC;AAED,wBAAsB,qCAAqC,CACzD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,uBAAuB,CAAC,CA6BlC"}
1
+ {"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode.ts"],"names":[],"mappings":"AAgDA,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B,EAAE,OAAO,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAYD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAoB7D;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,UAAQ,GAAG,MAAM,CAYpE;AAwJD,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxF;AAED,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,UAAQ,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,uBAAuB,CAAC,CAOlC;AAED,wBAAsB,qCAAqC,CACzD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,uBAAuB,CAAC,CA8BlC"}
@@ -3,7 +3,9 @@ import { mkdir, readFile, rename, stat, unlink, writeFile } from 'node:fs/promis
3
3
  import { homedir } from 'node:os';
4
4
  import { dirname, join } from 'node:path';
5
5
  import { ConfigurationError } from '../../../../utils/errors.js';
6
- import { VS_CODE_SUPPORTED_MODELS, } from './vscode-models.js';
6
+ import { resolveTenantModelId } from './model-name-resolver.js';
7
+ import { fetchTenantModelCatalog } from './tenant-catalog.js';
8
+ import { VS_CODE_CAPABILITY_TABLE, } from './vscode-models.js';
7
9
  const SECRET_REFERENCE_PATTERN = /^\$\{input:chat\.lm\.secret\.[^}]+\}$/;
8
10
  function isRecord(value) {
9
11
  return typeof value === 'object' && value !== null && !Array.isArray(value);
@@ -49,39 +51,75 @@ function getApiPath(apiType) {
49
51
  return '/v1/messages';
50
52
  return '/v1/chat/completions';
51
53
  }
52
- function buildManagedModels(proxyUrl) {
53
- return VS_CODE_SUPPORTED_MODELS.map(definition => {
54
- const model = {
55
- id: definition.id,
56
- name: definition.id,
57
- url: new URL(getApiPath(definition.apiType), proxyUrl).toString(),
58
- apiType: definition.apiType,
59
- toolCalling: true,
60
- vision: definition.vision,
61
- streaming: true,
62
- thinking: definition.thinking,
63
- maxInputTokens: definition.maxInputTokens,
64
- maxOutputTokens: definition.maxOutputTokens,
65
- };
66
- if (definition.adaptiveThinking)
67
- model.adaptiveThinking = true;
68
- if (definition.zeroDataRetentionEnabled !== undefined) {
69
- model.zeroDataRetentionEnabled = definition.zeroDataRetentionEnabled;
70
- }
71
- if (definition.modelOptions)
72
- model.modelOptions = definition.modelOptions;
73
- if (definition.requestHeaders)
74
- model.requestHeaders = definition.requestHeaders;
75
- if (definition.supportsReasoningEffort) {
76
- model.supportsReasoningEffort = definition.supportsReasoningEffort;
77
- }
78
- if (definition.reasoningEffortFormat) {
79
- model.reasoningEffortFormat = definition.reasoningEffortFormat;
80
- }
81
- return model;
82
- });
54
+ function buildManagedModel(entry, tenantId, proxyUrl) {
55
+ const model = {
56
+ id: tenantId,
57
+ name: tenantId,
58
+ url: new URL(getApiPath(entry.apiType), proxyUrl).toString(),
59
+ apiType: entry.apiType,
60
+ toolCalling: true,
61
+ vision: entry.vision,
62
+ streaming: true,
63
+ thinking: entry.thinking,
64
+ maxInputTokens: entry.maxInputTokens,
65
+ maxOutputTokens: entry.maxOutputTokens,
66
+ };
67
+ if (entry.adaptiveThinking)
68
+ model.adaptiveThinking = true;
69
+ if (entry.zeroDataRetentionEnabled !== undefined) {
70
+ model.zeroDataRetentionEnabled = entry.zeroDataRetentionEnabled;
71
+ }
72
+ if (entry.modelOptions)
73
+ model.modelOptions = entry.modelOptions;
74
+ if (entry.requestHeaders)
75
+ model.requestHeaders = entry.requestHeaders;
76
+ if (entry.supportsReasoningEffort) {
77
+ model.supportsReasoningEffort = entry.supportsReasoningEffort;
78
+ }
79
+ if (entry.reasoningEffortFormat) {
80
+ model.reasoningEffortFormat = entry.reasoningEffortFormat;
81
+ }
82
+ return model;
83
+ }
84
+ /**
85
+ * Fetch the tenant's live model catalog and intersect it against the VS Code
86
+ * capability table via {@link resolveTenantModelId}. A capability family with
87
+ * no tenant match is silently dropped — the VS Code Copilot BYOK picker must
88
+ * never offer a model the tenant does not actually serve. Throws when the
89
+ * intersection is empty, mirroring `desktop.ts`'s zero-match throw.
90
+ *
91
+ * When `profileModel` names a model the active profile is pinned to (e.g. a
92
+ * provider-qualified id like `openai.gpt-5.6-sol`), and it resolves against
93
+ * the same tenant catalog, narrow the result to just that one entry instead
94
+ * of offering every family the tenant serves — the picker should show
95
+ * exactly what the profile is configured to use, under its real tenant id,
96
+ * rather than every reachable model. An unrecognized or unset `profileModel`
97
+ * falls back to the full intersected list.
98
+ */
99
+ async function resolveManagedModels(proxyUrl, gatewayKey, profileModel) {
100
+ const catalog = await fetchTenantModelCatalog(proxyUrl, gatewayKey);
101
+ const models = [];
102
+ for (const entry of VS_CODE_CAPABILITY_TABLE) {
103
+ const tenantId = resolveTenantModelId(entry.family, catalog);
104
+ if (!tenantId)
105
+ continue;
106
+ models.push(buildManagedModel(entry, tenantId, proxyUrl));
107
+ }
108
+ if (models.length === 0) {
109
+ throw new ConfigurationError('Local proxy discovered tenant models, but none matched the CodeMie VS Code Copilot capability table.');
110
+ }
111
+ const pinnedModel = profileModel?.trim();
112
+ if (pinnedModel) {
113
+ const pinnedTenantId = resolveTenantModelId(pinnedModel, catalog);
114
+ const pinnedManagedModel = pinnedTenantId
115
+ ? models.find(model => model.id === pinnedTenantId)
116
+ : undefined;
117
+ if (pinnedManagedModel)
118
+ return [pinnedManagedModel];
119
+ }
120
+ return models;
83
121
  }
84
- function mergeManagedProviders(providers, proxyUrl) {
122
+ function mergeManagedProviders(providers, models) {
85
123
  const existingProvider = Object.assign({}, ...providers);
86
124
  const existingSettings = Object.assign({}, ...providers.map(provider => isRecord(provider.settings) ? provider.settings : {}));
87
125
  const existingSecretReference = providers
@@ -92,7 +130,7 @@ function mergeManagedProviders(providers, proxyUrl) {
92
130
  name: 'CodeMie',
93
131
  vendor: 'customendpoint',
94
132
  apiType: 'chat-completions',
95
- models: buildManagedModels(proxyUrl),
133
+ models,
96
134
  };
97
135
  // VS Code owns effort selections. Preserve them instead of racing with the editor.
98
136
  if (Object.keys(existingSettings).length > 0)
@@ -155,18 +193,19 @@ export async function writeAtomically(configPath, content) {
155
193
  throw error;
156
194
  }
157
195
  }
158
- export async function writeVsCodeLanguageModelsConfig(proxyUrl, insiders = false) {
159
- return writeVsCodeLanguageModelsConfigAtPath(getVsCodeLanguageModelsPath(insiders), proxyUrl);
196
+ export async function writeVsCodeLanguageModelsConfig(proxyUrl, gatewayKey, insiders = false, profileModel) {
197
+ return writeVsCodeLanguageModelsConfigAtPath(getVsCodeLanguageModelsPath(insiders), proxyUrl, gatewayKey, profileModel);
160
198
  }
161
- export async function writeVsCodeLanguageModelsConfigAtPath(configPath, proxyUrl) {
199
+ export async function writeVsCodeLanguageModelsConfigAtPath(configPath, proxyUrl, gatewayKey, profileModel) {
162
200
  const providers = await readProviders(configPath);
201
+ const models = await resolveManagedModels(proxyUrl, gatewayKey, profileModel);
163
202
  const managedProviderIndexes = providers
164
203
  .map((provider, index) => isManagedProvider(provider) ? index : -1)
165
204
  .filter(index => index >= 0);
166
205
  const managedProviders = managedProviderIndexes
167
206
  .map(index => providers[index])
168
207
  .filter(isManagedProvider);
169
- const { provider: managedProvider, requiresSecretConfiguration } = mergeManagedProviders(managedProviders, proxyUrl);
208
+ const { provider: managedProvider, requiresSecretConfiguration } = mergeManagedProviders(managedProviders, models);
170
209
  const firstManagedProviderIndex = managedProviderIndexes[0] ?? providers.length;
171
210
  const managedProviderIndexSet = new Set(managedProviderIndexes);
172
211
  const reconciledProviders = providers.flatMap((provider, index) => {
@@ -185,6 +224,6 @@ export async function writeVsCodeLanguageModelsConfigAtPath(configPath, proxyUrl
185
224
  throw new ConfigurationError(`Failed to update VS Code language model configuration at ${configPath}: ` +
186
225
  `${error instanceof Error ? error.message : String(error)}`);
187
226
  }
188
- return { configPath, requiresSecretConfiguration };
227
+ return { configPath, requiresSecretConfiguration, modelCount: models.length };
189
228
  }
190
229
  //# sourceMappingURL=vscode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,kBAAkB,IAAI,OAAO,CA8B5C;AA4fD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyE5E"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,kBAAkB,IAAI,OAAO,CA8B5C;AAkjBD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyE5E"}
@@ -225,7 +225,7 @@ async function handlePluginSetup(providerName, setupSteps, profileName, isUpdate
225
225
  logger.success(`Model selected automatically: ${selectedModel}`);
226
226
  }
227
227
  else {
228
- selectedModel = await promptForModelSelection(models, providerTemplate);
228
+ selectedModel = await promptForModelSelection(models, providerTemplate, setupSteps, credentials);
229
229
  }
230
230
  // Step 3.5: Install model if provider supports it (e.g., Ollama)
231
231
  if (providerTemplate?.supportsModelInstallation && setupSteps.installModel) {
@@ -387,45 +387,93 @@ async function promptForProfileName(providerName) {
387
387
  *
388
388
  * Uses getAllModelChoices for enriched display
389
389
  */
390
- async function promptForModelSelection(models, providerTemplate) {
390
+ async function promptForModelSelection(models, providerTemplate, setupSteps, credentials) {
391
+ const canSearch = typeof setupSteps?.searchModel === 'function';
391
392
  if (models.length === 0) {
393
+ if (canSearch) {
394
+ const { entryMethod } = await inquirer.prompt([
395
+ {
396
+ type: 'list',
397
+ name: 'entryMethod',
398
+ message: 'No models found. How would you like to choose a model?',
399
+ choices: [
400
+ { name: chalk.cyan('🔍 Search Ollama library...'), value: 'search' },
401
+ { name: 'Enter model name manually', value: 'manual' }
402
+ ]
403
+ }
404
+ ]);
405
+ if (entryMethod === 'search') {
406
+ const searched = await setupSteps.searchModel(credentials);
407
+ if (searched) {
408
+ return searched;
409
+ }
410
+ // User backed out of search - fall through to manual entry
411
+ }
412
+ }
392
413
  const { manualModel } = await inquirer.prompt([
393
414
  {
394
415
  type: 'input',
395
416
  name: 'manualModel',
396
- message: 'No models found. Enter model name manually:',
417
+ message: 'Enter model name manually:',
397
418
  default: providerTemplate?.recommendedModels?.[0] || 'gpt-5.5',
398
419
  validate: (input) => input.trim() !== '' || 'Model name is required'
399
420
  }
400
421
  ]);
401
422
  return manualModel ? manualModel.trim() : manualModel;
402
423
  }
403
- // Use getAllModelChoices for enriched display with metadata
404
- const choices = [
405
- ...getAllModelChoices(models, providerTemplate),
406
- { name: chalk.white('Custom model (manual entry)...'), value: 'custom' }
407
- ];
408
- const { selectedModel } = await inquirer.prompt([
409
- {
410
- type: 'list',
411
- name: 'selectedModel',
412
- message: `Choose a model (${models.length} available):`,
413
- choices,
414
- pageSize: 15
424
+ // Live-computed recommendations (fits this machine + agent-ready + most
425
+ // popular) when the provider supports it; falls back to the template's
426
+ // static recommendedModels inside getAllModelChoices otherwise.
427
+ let recommendedOverrideIds;
428
+ if (typeof setupSteps?.getRecommendedModels === 'function') {
429
+ const recommendSpinner = ora('Finding recommended models...').start();
430
+ try {
431
+ const recommended = await setupSteps.getRecommendedModels(models, credentials);
432
+ recommendedOverrideIds = new Set(recommended);
433
+ recommendSpinner.stop();
415
434
  }
416
- ]);
417
- if (selectedModel === 'custom') {
418
- const { customModel } = await inquirer.prompt([
435
+ catch {
436
+ recommendSpinner.stop();
437
+ // Non-fatal - just show the list without recommendations.
438
+ }
439
+ }
440
+ // Loop so backing out of search re-shows this list instead of dead-ending
441
+ for (;;) {
442
+ // Use getAllModelChoices for enriched display with metadata
443
+ const choices = [
444
+ ...getAllModelChoices(models, providerTemplate, recommendedOverrideIds),
445
+ { name: chalk.white('Custom model (manual entry)...'), value: 'custom' },
446
+ ...(canSearch ? [{ name: chalk.cyan('🔍 Search Ollama library...'), value: 'search' }] : [])
447
+ ];
448
+ const { selectedModel } = await inquirer.prompt([
419
449
  {
420
- type: 'input',
421
- name: 'customModel',
422
- message: 'Enter model name:',
423
- validate: (input) => input.trim() !== '' || 'Model is required'
450
+ type: 'list',
451
+ name: 'selectedModel',
452
+ message: `Choose a model (${models.length} available):`,
453
+ choices,
454
+ pageSize: 15
424
455
  }
425
456
  ]);
426
- return customModel ? customModel.trim() : customModel;
457
+ if (selectedModel === 'search') {
458
+ const searched = await setupSteps.searchModel(credentials);
459
+ if (searched) {
460
+ return searched;
461
+ }
462
+ continue;
463
+ }
464
+ if (selectedModel === 'custom') {
465
+ const { customModel } = await inquirer.prompt([
466
+ {
467
+ type: 'input',
468
+ name: 'customModel',
469
+ message: 'Enter model name:',
470
+ validate: (input) => input.trim() !== '' || 'Model is required'
471
+ }
472
+ ]);
473
+ return customModel ? customModel.trim() : customModel;
474
+ }
475
+ return selectedModel;
427
476
  }
428
- return selectedModel;
429
477
  }
430
478
  /**
431
479
  * Helper function to parse model version from model name