@codemieai/code 0.15.0 → 0.15.2

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 (231) 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 +26 -13
  24. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  25. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
  26. package/dist/agents/plugins/claude/claude.session.js +27 -1
  27. package/dist/agents/plugins/claude/claude.session.js.map +1 -1
  28. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  29. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +7 -7
  30. package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -1
  31. package/dist/agents/plugins/codex/codex.plugin.js +7 -6
  32. package/dist/agents/plugins/codex/codex.plugin.js.map +1 -1
  33. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts.map +1 -1
  34. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js +5 -2
  35. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js.map +1 -1
  36. package/dist/agents/plugins/gemini/extension/gemini-extension.json +1 -1
  37. package/dist/agents/plugins/gemini/extension/hooks/hooks.json +7 -7
  38. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  39. package/dist/agents/plugins/gemini/gemini.plugin.js +7 -6
  40. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  41. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +1 -1
  42. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -1
  43. package/dist/agents/plugins/gemini/gemini.session-adapter.js +155 -16
  44. package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -1
  45. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -1
  46. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +77 -31
  47. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -1
  48. package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts +1 -1
  49. package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts.map +1 -1
  50. package/dist/agents/plugins/gemini/session/utils/turn-detector.js +7 -1
  51. package/dist/agents/plugins/gemini/session/utils/turn-detector.js.map +1 -1
  52. package/dist/agents/plugins/kimi/kimi.hook-config-injector.d.ts.map +1 -1
  53. package/dist/agents/plugins/kimi/kimi.hook-config-injector.js +26 -5
  54. package/dist/agents/plugins/kimi/kimi.hook-config-injector.js.map +1 -1
  55. package/dist/agents/plugins/kimi/kimi.plugin.d.ts.map +1 -1
  56. package/dist/agents/plugins/kimi/kimi.plugin.js +5 -2
  57. package/dist/agents/plugins/kimi/kimi.plugin.js.map +1 -1
  58. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts +6 -0
  59. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts.map +1 -0
  60. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js +115 -0
  61. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js.map +1 -0
  62. package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts +6 -0
  63. package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts.map +1 -0
  64. package/dist/cli/commands/analytics/cost/claude-lifecycle.js +107 -0
  65. package/dist/cli/commands/analytics/cost/claude-lifecycle.js.map +1 -0
  66. package/dist/cli/commands/analytics/cost/claude-native.d.ts +54 -0
  67. package/dist/cli/commands/analytics/cost/claude-native.d.ts.map +1 -0
  68. package/dist/cli/commands/analytics/cost/claude-native.js +14 -0
  69. package/dist/cli/commands/analytics/cost/claude-native.js.map +1 -0
  70. package/dist/cli/commands/analytics/cost/claude-ownership.d.ts +23 -0
  71. package/dist/cli/commands/analytics/cost/claude-ownership.d.ts.map +1 -0
  72. package/dist/cli/commands/analytics/cost/claude-ownership.js +99 -0
  73. package/dist/cli/commands/analytics/cost/claude-ownership.js.map +1 -0
  74. package/dist/cli/commands/analytics/cost/claude-trace.d.ts +28 -0
  75. package/dist/cli/commands/analytics/cost/claude-trace.d.ts.map +1 -0
  76. package/dist/cli/commands/analytics/cost/claude-trace.js +120 -0
  77. package/dist/cli/commands/analytics/cost/claude-trace.js.map +1 -0
  78. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts +1 -1
  79. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
  80. package/dist/cli/commands/analytics/cost/cost-enricher.js +34 -43
  81. package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
  82. package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts +18 -0
  83. package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts.map +1 -0
  84. package/dist/cli/commands/analytics/cost/dispatch-allocation.js +53 -0
  85. package/dist/cli/commands/analytics/cost/dispatch-allocation.js.map +1 -0
  86. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts +8 -13
  87. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts.map +1 -1
  88. package/dist/cli/commands/analytics/cost/dispatch-extractor.js +131 -69
  89. package/dist/cli/commands/analytics/cost/dispatch-extractor.js.map +1 -1
  90. package/dist/cli/commands/analytics/cost/types.d.ts +39 -0
  91. package/dist/cli/commands/analytics/cost/types.d.ts.map +1 -1
  92. package/dist/cli/commands/analytics/cost/types.js.map +1 -1
  93. package/dist/cli/commands/analytics/cost/usage-readers.d.ts +2 -0
  94. package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
  95. package/dist/cli/commands/analytics/cost/usage-readers.js +14 -3
  96. package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
  97. package/dist/cli/commands/analytics/data-loader.d.ts +13 -0
  98. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  99. package/dist/cli/commands/analytics/data-loader.js +6 -0
  100. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  101. package/dist/cli/commands/analytics/native-loader.d.ts +1 -1
  102. package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
  103. package/dist/cli/commands/analytics/native-loader.js +25 -3
  104. package/dist/cli/commands/analytics/native-loader.js.map +1 -1
  105. package/dist/cli/commands/analytics/otel-loader.d.ts.map +1 -1
  106. package/dist/cli/commands/analytics/otel-loader.js +5 -0
  107. package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
  108. package/dist/cli/commands/analytics/report/client/app.js +302 -125
  109. package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
  110. package/dist/cli/commands/analytics/report/payload-builder.js +64 -13
  111. package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
  112. package/dist/cli/commands/analytics/report/template.html +50 -2
  113. package/dist/cli/commands/analytics/report/types.d.ts +16 -0
  114. package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
  115. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts +6 -0
  116. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
  117. package/dist/cli/commands/doctor/checks/AgentsCheck.js +37 -33
  118. package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
  119. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  120. package/dist/cli/commands/doctor/index.js +11 -0
  121. package/dist/cli/commands/doctor/index.js.map +1 -1
  122. package/dist/cli/commands/hook.d.ts.map +1 -1
  123. package/dist/cli/commands/hook.js +72 -12
  124. package/dist/cli/commands/hook.js.map +1 -1
  125. package/dist/cli/commands/install.d.ts.map +1 -1
  126. package/dist/cli/commands/install.js +5 -9
  127. package/dist/cli/commands/install.js.map +1 -1
  128. package/dist/cli/commands/mcp/index.d.ts.map +1 -1
  129. package/dist/cli/commands/mcp/index.js +68 -17
  130. package/dist/cli/commands/mcp/index.js.map +1 -1
  131. package/dist/cli/commands/proxy/connectors/desktop.d.ts +13 -9
  132. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  133. package/dist/cli/commands/proxy/connectors/desktop.js +27 -13
  134. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  135. package/dist/cli/commands/setup.d.ts +0 -16
  136. package/dist/cli/commands/setup.d.ts.map +1 -1
  137. package/dist/cli/commands/setup.js +79 -149
  138. package/dist/cli/commands/setup.js.map +1 -1
  139. package/dist/cli/commands/tips.d.ts +10 -0
  140. package/dist/cli/commands/tips.d.ts.map +1 -0
  141. package/dist/cli/commands/tips.js +142 -0
  142. package/dist/cli/commands/tips.js.map +1 -0
  143. package/dist/cli/commands/update.d.ts.map +1 -1
  144. package/dist/cli/commands/update.js +12 -10
  145. package/dist/cli/commands/update.js.map +1 -1
  146. package/dist/cli/commands/whatsnew.d.ts +6 -0
  147. package/dist/cli/commands/whatsnew.d.ts.map +1 -0
  148. package/dist/cli/commands/whatsnew.js +37 -0
  149. package/dist/cli/commands/whatsnew.js.map +1 -0
  150. package/dist/cli/first-time.d.ts.map +1 -1
  151. package/dist/cli/first-time.js +4 -0
  152. package/dist/cli/first-time.js.map +1 -1
  153. package/dist/cli/index.js +4 -0
  154. package/dist/cli/index.js.map +1 -1
  155. package/dist/providers/core/codemie-auth-helpers.d.ts +1 -1
  156. package/dist/providers/core/codemie-auth-helpers.d.ts.map +1 -1
  157. package/dist/providers/core/codemie-auth-helpers.js +3 -3
  158. package/dist/providers/core/codemie-auth-helpers.js.map +1 -1
  159. package/dist/providers/core/types.d.ts +16 -28
  160. package/dist/providers/core/types.d.ts.map +1 -1
  161. package/dist/providers/core/types.js.map +1 -1
  162. package/dist/providers/integration/setup-ui.d.ts +5 -3
  163. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  164. package/dist/providers/integration/setup-ui.js +6 -4
  165. package/dist/providers/integration/setup-ui.js.map +1 -1
  166. package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -1
  167. package/dist/providers/plugins/litellm/litellm.setup-steps.js +4 -23
  168. package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -1
  169. package/dist/providers/plugins/ollama/ollama.library.d.ts +37 -0
  170. package/dist/providers/plugins/ollama/ollama.library.d.ts.map +1 -0
  171. package/dist/providers/plugins/ollama/ollama.library.js +105 -0
  172. package/dist/providers/plugins/ollama/ollama.library.js.map +1 -0
  173. package/dist/providers/plugins/ollama/ollama.models.d.ts +3 -1
  174. package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -1
  175. package/dist/providers/plugins/ollama/ollama.models.js +5 -39
  176. package/dist/providers/plugins/ollama/ollama.models.js.map +1 -1
  177. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -1
  178. package/dist/providers/plugins/ollama/ollama.setup-steps.js +196 -6
  179. package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -1
  180. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
  181. package/dist/providers/plugins/ollama/ollama.template.js +12 -32
  182. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
  183. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts +4 -0
  184. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts.map +1 -1
  185. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +12 -0
  186. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  187. package/dist/providers/plugins/sso/session/SessionSyncer.js +89 -0
  188. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  189. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -1
  190. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +75 -41
  191. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
  192. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  193. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +23 -4
  194. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  195. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  196. package/dist/providers/plugins/sso/sso.auth.js +6 -2
  197. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  198. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  199. package/dist/providers/plugins/sso/sso.setup-steps.js +22 -39
  200. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  201. package/dist/utils/cli-updater.d.ts.map +1 -1
  202. package/dist/utils/cli-updater.js +2 -8
  203. package/dist/utils/cli-updater.js.map +1 -1
  204. package/dist/utils/env.d.ts +12 -0
  205. package/dist/utils/env.d.ts.map +1 -0
  206. package/dist/utils/env.js +18 -0
  207. package/dist/utils/env.js.map +1 -0
  208. package/dist/utils/hook-command.d.ts +6 -0
  209. package/dist/utils/hook-command.d.ts.map +1 -1
  210. package/dist/utils/hook-command.js +52 -6
  211. package/dist/utils/hook-command.js.map +1 -1
  212. package/dist/utils/pricing.json +38 -6
  213. package/dist/utils/security.d.ts +28 -2
  214. package/dist/utils/security.d.ts.map +1 -1
  215. package/dist/utils/security.js +84 -24
  216. package/dist/utils/security.js.map +1 -1
  217. package/dist/utils/tips.d.ts +103 -0
  218. package/dist/utils/tips.d.ts.map +1 -0
  219. package/dist/utils/tips.js +221 -0
  220. package/dist/utils/tips.js.map +1 -0
  221. package/dist/utils/version-warnings.d.ts +41 -0
  222. package/dist/utils/version-warnings.d.ts.map +1 -0
  223. package/dist/utils/version-warnings.js +93 -0
  224. package/dist/utils/version-warnings.js.map +1 -0
  225. package/dist/utils/whatsnew.d.ts +83 -0
  226. package/dist/utils/whatsnew.d.ts.map +1 -0
  227. package/dist/utils/whatsnew.js +200 -0
  228. package/dist/utils/whatsnew.js.map +1 -0
  229. package/package.json +5 -10
  230. package/scripts/release.sh +9 -3
  231. package/src/utils/tips.json +806 -0
@@ -18,11 +18,13 @@ export interface ManagedMcpServerEntry {
18
18
  * resolved ID is what gets written to the Desktop config so the gateway
19
19
  * receives a model name it has registered.
20
20
  *
21
- * The opus entries are listed in descending preference (`4-8 → 4-7 → 4-6`):
22
- * {@link selectDesktopClaudeModels} collapses them to the single highest-priority
23
- * opus the gateway actually serves, so Desktop never shows more than one Opus.
21
+ * Opus and Sonnet entries are listed in descending preference
22
+ * (`opus: 5 → 4-8 → 4-7 → 4-6 → 3`, `sonnet: 5 → 4-6`):
23
+ * {@link selectDesktopClaudeModels} collapses each family to the single
24
+ * highest-priority ID the gateway actually serves, so Desktop never shows more
25
+ * than one Opus or one Sonnet (matching the latest cloud Desktop lineup).
24
26
  */
25
- export declare const PREFERRED_CLAUDE_MODELS: readonly ["claude-sonnet-4-6", "claude-opus-4-8", "claude-opus-4-7", "claude-opus-4-6", "claude-haiku-4-5"];
27
+ export declare const PREFERRED_CLAUDE_MODELS: readonly ["claude-opus-5", "claude-opus-4-8", "claude-opus-4-7", "claude-opus-4-6", "claude-sonnet-5", "claude-sonnet-4-6", "claude-haiku-4-5"];
26
28
  export declare const DEFAULT_COWORK_EGRESS_ALLOWED_HOSTS: readonly ["*"];
27
29
  export declare const DEFAULT_MANAGED_MCP_SERVERS: readonly ManagedMcpServerEntry[];
28
30
  /**
@@ -46,11 +48,13 @@ export declare function selectPreferredClaudeModels(available: string[], preferr
46
48
  * Build the exact model set Claude Desktop should be offered.
47
49
  *
48
50
  * Resolves the curated preferred list via {@link selectPreferredClaudeModels},
49
- * then collapses the opus family to a single entry: the first (highest-priority)
50
- * opus that resolved. With opus ids ordered `4-8 → 4-7 → 4-6` in
51
- * {@link PREFERRED_CLAUDE_MODELS}, this exposes Opus 4.8 when the gateway serves
52
- * it and otherwise falls back to the next-best available opus. Non-opus models
53
- * are passed through untouched and order is preserved.
51
+ * then collapses the opus and sonnet families to a single entry each: the first
52
+ * (highest-priority) ID that resolved. With preferred order
53
+ * `opus: 5 → 4-8 → 4-7 → 4-6 → 3` and `sonnet: 5 → 4-6` in
54
+ * {@link PREFERRED_CLAUDE_MODELS}, this exposes Opus 5 / Sonnet 5 when the
55
+ * gateway serves them and otherwise falls back to the next-best available ID
56
+ * in each family. Haiku and any other non-opus/non-sonnet models are passed
57
+ * through untouched; order is preserved.
54
58
  */
55
59
  export declare function selectDesktopClaudeModels(available: string[], preferred?: readonly string[]): string[];
56
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"AAaA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAa1G,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;CAClC;AAYD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,iJAQ1B,CAAC;AAEX,eAAO,MAAM,mCAAmC,gBAAiB,CAAC;AAElE,eAAO,MAAM,2BAA2B,EACjB,SAAS,qBAAqB,EAAE,CAAC;AAExD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2F/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,SAAS,MAAM,EAA4B,GACrD,MAAM,EAAE,CAqCV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,SAAS,MAAM,EAA4B,GACrD,MAAM,EAAE,CAiBV;AA8FD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc,GAAG,OAAO,CAiBtF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,qBAAqB,EAAE,CAa3F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,CAMrF;AAiCD,yHAAyH;AACzH,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,gGAAgG;IAChG,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,iFAAiF;IACjF,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,EAC1C,GAAG,EAAE,SAAS,qBAAqB,EAAE,GACpC,qBAAqB,CA4CvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,OAAO,EACxB,QAAQ,GAAE,SAAS,qBAAqB,EAAgC,GACvE,qBAAqB,EAAE,CA4BzB;AAED,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,eAAe,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,GACjC,wBAAwB,CAS1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,OAAO,EACxB,OAAO,EAAE,qBAAqB,EAAE,EAChC,sBAAsB,GAAE,MAAM,EAAO,GACpC,eAAe,CAkCjB;AAMD,kEAAkE;AAClE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AA4BD,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,SAAS,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,QAAQ,CAAC;CACtC;AAYD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAO7F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,mBAAmB,GAAE,MAAM,GAAG,IAA4C,GACzE,MAAM,GAAG,IAAI,CAMf;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjG;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAA4B,EACrC,aAAa,GAAE,qBAAqB,EAAE,GAAG,IAAW,EACpD,gBAAgB,GAAE,MAAiC,GAClD,OAAO,CAAC,MAAM,CAAC,CAwKjB"}
@@ -23,15 +23,19 @@ const INFERENCE_KEYS = [
23
23
  * resolved ID is what gets written to the Desktop config so the gateway
24
24
  * receives a model name it has registered.
25
25
  *
26
- * The opus entries are listed in descending preference (`4-8 → 4-7 → 4-6`):
27
- * {@link selectDesktopClaudeModels} collapses them to the single highest-priority
28
- * opus the gateway actually serves, so Desktop never shows more than one Opus.
26
+ * Opus and Sonnet entries are listed in descending preference
27
+ * (`opus: 5 → 4-8 → 4-7 → 4-6 → 3`, `sonnet: 5 → 4-6`):
28
+ * {@link selectDesktopClaudeModels} collapses each family to the single
29
+ * highest-priority ID the gateway actually serves, so Desktop never shows more
30
+ * than one Opus or one Sonnet (matching the latest cloud Desktop lineup).
29
31
  */
30
32
  export const PREFERRED_CLAUDE_MODELS = [
31
- 'claude-sonnet-4-6',
33
+ 'claude-opus-5',
32
34
  'claude-opus-4-8',
33
35
  'claude-opus-4-7',
34
36
  'claude-opus-4-6',
37
+ 'claude-sonnet-5',
38
+ 'claude-sonnet-4-6',
35
39
  'claude-haiku-4-5',
36
40
  ];
37
41
  export const DEFAULT_COWORK_EGRESS_ALLOWED_HOSTS = ['*'];
@@ -163,21 +167,31 @@ export function selectPreferredClaudeModels(available, preferred = PREFERRED_CLA
163
167
  * Build the exact model set Claude Desktop should be offered.
164
168
  *
165
169
  * Resolves the curated preferred list via {@link selectPreferredClaudeModels},
166
- * then collapses the opus family to a single entry: the first (highest-priority)
167
- * opus that resolved. With opus ids ordered `4-8 → 4-7 → 4-6` in
168
- * {@link PREFERRED_CLAUDE_MODELS}, this exposes Opus 4.8 when the gateway serves
169
- * it and otherwise falls back to the next-best available opus. Non-opus models
170
- * are passed through untouched and order is preserved.
170
+ * then collapses the opus and sonnet families to a single entry each: the first
171
+ * (highest-priority) ID that resolved. With preferred order
172
+ * `opus: 5 → 4-8 → 4-7 → 4-6 → 3` and `sonnet: 5 → 4-6` in
173
+ * {@link PREFERRED_CLAUDE_MODELS}, this exposes Opus 5 / Sonnet 5 when the
174
+ * gateway serves them and otherwise falls back to the next-best available ID
175
+ * in each family. Haiku and any other non-opus/non-sonnet models are passed
176
+ * through untouched; order is preserved.
171
177
  */
172
178
  export function selectDesktopClaudeModels(available, preferred = PREFERRED_CLAUDE_MODELS) {
173
179
  const resolved = selectPreferredClaudeModels(available, preferred);
174
180
  let opusKept = false;
181
+ let sonnetKept = false;
175
182
  return resolved.filter((id) => {
176
- if (!/^claude-opus-/i.test(id))
183
+ if (/^claude-opus-/i.test(id)) {
184
+ if (opusKept)
185
+ return false;
186
+ opusKept = true;
177
187
  return true;
178
- if (opusKept)
179
- return false;
180
- opusKept = true;
188
+ }
189
+ if (/^claude-sonnet-/i.test(id)) {
190
+ if (sonnetKept)
191
+ return false;
192
+ sonnetKept = true;
193
+ return true;
194
+ }
181
195
  return true;
182
196
  });
183
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/desktop.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,4 @@
1
1
  import { Command } from 'commander';
2
- import type { CodeMieIntegration, CodeMieSetupSession, SSOAuthResult } from '../../providers/core/types.js';
3
- interface LiteLLMEnforcementContext {
4
- integration: CodeMieIntegration;
5
- project: string;
6
- authResult: SSOAuthResult;
7
- codeMieUrl: string;
8
- }
9
- export type EnforcementGateResult = {
10
- enforced: false;
11
- session?: CodeMieSetupSession;
12
- } | (LiteLLMEnforcementContext & {
13
- enforced: true;
14
- session: CodeMieSetupSession;
15
- });
16
- export declare function detectLiteLLMEnforcement(existingCodeMieUrl?: string): Promise<EnforcementGateResult>;
17
2
  export declare function createSetupCommand(): Command;
18
3
  /**
19
4
  * Automatically select model tiers for Claude (haiku/sonnet/opus)
@@ -32,5 +17,4 @@ export declare function autoSelectModelTiers(models: string[], selectedModel: st
32
17
  sonnetModel?: string;
33
18
  opusModel?: string;
34
19
  }>;
35
- export {};
36
20
  //# sourceMappingURL=setup.d.ts.map
@@ -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;AA0BpC,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAEd,MAAM,+BAA+B,CAAC;AAgBvC,UAAU,yBAAyB;IACjC,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAClD,CAAC,yBAAyB,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAEnF,wBAAsB,wBAAwB,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAiD1G;AAgBD,wBAAgB,kBAAkB,IAAI,OAAO,CA8B5C;AA8jBD;;;;;;;;;;;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"}
@@ -10,71 +10,6 @@ import { FirstTimeExperience } from '../first-time.js';
10
10
  import { AgentRegistry } from '../../agents/registry.js';
11
11
  import { createAssistantsSetupCommand } from './assistants/setup/index.js';
12
12
  import { createSkillsSetupCommand } from './skills/setup/index.js';
13
- import { DEFAULT_CODEMIE_BASE_URL, promptForCodeMieUrl, authenticateWithCodeMie, selectCodeMieProject } from '../../providers/core/codemie-auth-helpers.js';
14
- import { fetchCodeMieIntegrations } from '../../providers/plugins/sso/sso.http-client.js';
15
- import { ProviderName } from '../../providers/core/types.js';
16
- /**
17
- * Providers whose setup talks to the CodeMie platform.
18
- *
19
- * Only these are subject to the mandatory-integration gate — the gate needs an
20
- * authenticated CodeMie session to resolve the user's project, and asking a
21
- * Bedrock or Ollama user to log into CodeMie just to reach the provider list
22
- * is friction with no enforcement value.
23
- */
24
- const CODEMIE_BACKED_PROVIDERS = [ProviderName.AI_RUN_SSO, ProviderName.LITELLM];
25
- function isCodeMieBackedProvider(provider) {
26
- return CODEMIE_BACKED_PROVIDERS.includes(provider);
27
- }
28
- export async function detectLiteLLMEnforcement(existingCodeMieUrl) {
29
- let session;
30
- try {
31
- console.log(chalk.dim('\n🔍 Checking for an organization-wide LiteLLM integration (leave blank to skip)...\n'));
32
- const codeMieUrl = await promptForCodeMieUrl(existingCodeMieUrl || DEFAULT_CODEMIE_BASE_URL, 'CodeMie organization URL (leave blank to skip):', !existingCodeMieUrl);
33
- if (!codeMieUrl) {
34
- return { enforced: false, session };
35
- }
36
- const authResult = await authenticateWithCodeMie(codeMieUrl);
37
- if (!authResult.success || !authResult.apiUrl || !authResult.cookies) {
38
- throw new Error(authResult.error || 'SSO authentication failed');
39
- }
40
- // Announce success here, where the login actually happens. Provider setup
41
- // steps reuse this session and so never reach their own success message —
42
- // without this the user (and the setup e2e) sees no confirmation at all.
43
- console.log(chalk.green('✓ Authentication successful!\n'));
44
- const { project, userEmail } = await selectCodeMieProject(authResult);
45
- // The gate has now completed a full CodeMie handshake (URL + browser SSO +
46
- // project). Carry it out of the gate on EVERY exit path so provider setup
47
- // steps can reuse it instead of authenticating a second time.
48
- session = { codeMieUrl, authResult, project, userEmail };
49
- const allIntegrations = await fetchCodeMieIntegrations(authResult.apiUrl, authResult.cookies);
50
- const projectIntegrations = allIntegrations.filter(i => i.project_name === project && i.credential_type === 'LiteLLM');
51
- if (projectIntegrations.length === 0)
52
- return { enforced: false, session };
53
- if (projectIntegrations.length > 1) {
54
- logger.warn(`Multiple LiteLLM integrations found for project "${project}". Using "${projectIntegrations[0].alias}".`);
55
- }
56
- return { enforced: true, integration: projectIntegrations[0], project, authResult, codeMieUrl, session };
57
- }
58
- catch (error) {
59
- if (isPromptAbortError(error)) {
60
- throw error;
61
- }
62
- const errorMessage = error instanceof Error ? error.message : String(error);
63
- logger.warn(`Could not check for mandatory integrations: ${errorMessage}`);
64
- console.log(chalk.yellow(`\n⚠️ Could not check for mandatory integrations (${errorMessage}). Continuing with normal provider setup.\n`));
65
- return { enforced: false, session };
66
- }
67
- }
68
- /**
69
- * Detect an inquirer prompt abort (Ctrl+C during a prompt).
70
- *
71
- * Uses `instanceof Error` narrowing rather than an `any` cast so the check
72
- * complies with the repo-wide no-any policy.
73
- */
74
- function isPromptAbortError(error) {
75
- return (error instanceof Error &&
76
- (error.name === 'ExitPromptError' || error.name === 'AbortPromptError'));
77
- }
78
13
  export function createSetupCommand() {
79
14
  const command = new Command('setup');
80
15
  command
@@ -237,91 +172,38 @@ async function runSetupWizard(force) {
237
172
  console.log(chalk.dim('Missing fields will fallback to your global config.\n'));
238
173
  }
239
174
  }
240
- // Step 1: Provider selection.
175
+ // Step 1: Get all registered providers from ProviderRegistry
241
176
  const registeredProviders = ProviderRegistry.getAllProviders();
242
177
  const allProviderChoices = getAllProviderChoices(registeredProviders);
243
- const { provider: selectedProvider } = await inquirer.prompt([
178
+ const { provider } = await inquirer.prompt([
244
179
  {
245
180
  type: 'list',
246
181
  name: 'provider',
247
182
  message: 'Choose your LLM provider:\n',
248
183
  choices: allProviderChoices,
249
184
  pageSize: 15,
185
+ // Default to highest priority provider (SSO has priority 0)
250
186
  default: allProviderChoices[0]?.value
251
187
  }
252
188
  ]);
253
- let provider = selectedProvider;
254
- let enforcementContext;
255
- let codeMieSession;
256
- // Step 2: Check for a mandatory LiteLLM integration.
257
- //
258
- // Skipped on update flows: re-authenticating to change the model of a profile
259
- // that already exists carries no enforcement benefit and costs the user a
260
- // browser round trip (CR-003 on EPMCDME-11733).
261
- if (!isUpdate && isCodeMieBackedProvider(provider)) {
262
- let enforcementResult;
263
- try {
264
- enforcementResult = await detectLiteLLMEnforcement();
265
- }
266
- catch (error) {
267
- // Ctrl+C during the gate's SSO prompts should exit cleanly, not surface
268
- // as a raw stack trace via the Commander action handler.
269
- if (isPromptAbortError(error)) {
270
- console.log(chalk.yellow('\nSetup cancelled.\n'));
271
- return;
272
- }
273
- throw error;
274
- }
275
- codeMieSession = enforcementResult.session;
276
- if (enforcementResult.enforced) {
277
- const litellmSteps = ProviderRegistry.getSetupSteps(ProviderName.LITELLM);
278
- if (!litellmSteps) {
279
- throw new Error('LiteLLM integration is required for this project but the LiteLLM provider is not available. Please reinstall codemie-cli.');
280
- }
281
- provider = ProviderName.LITELLM;
282
- enforcementContext = {
283
- integration: enforcementResult.integration,
284
- project: enforcementResult.project,
285
- authResult: enforcementResult.authResult,
286
- codeMieUrl: enforcementResult.codeMieUrl
287
- };
288
- console.log(chalk.cyan(`\n📌 This project uses a mandatory LiteLLM integration: "${enforcementResult.integration.alias}"\n Provider has been set to LiteLLM automatically.\n`));
289
- }
290
- }
291
189
  // Get setup steps from provider registry
292
190
  const setupSteps = ProviderRegistry.getSetupSteps(provider);
293
191
  if (!setupSteps) {
294
192
  throw new Error(`Provider "${provider}" does not have setup steps configured`);
295
193
  }
296
194
  // Use plugin-based setup flow
297
- await handlePluginSetup(provider, setupSteps, profileName, isUpdate, storageLocation, enforcementContext, codeMieSession);
195
+ await handlePluginSetup(provider, setupSteps, profileName, isUpdate, storageLocation);
298
196
  }
299
197
  /**
300
198
  * Handle plugin-based setup flow
301
199
  *
302
200
  * Uses ProviderSetupSteps from ProviderRegistry for clean, extensible setup
303
201
  */
304
- async function handlePluginSetup(providerName, setupSteps, profileName, isUpdate, storageLocation = 'global', enforcementContext, codeMieSession) {
202
+ async function handlePluginSetup(providerName, setupSteps, profileName, isUpdate, storageLocation = 'global') {
305
203
  try {
306
204
  const providerTemplate = ProviderRegistry.getProvider(providerName);
307
- // Step 1: Get credentials — pass SetupContext when LiteLLM enforcement is
308
- // active and/or when the wizard already established a CodeMie session, so
309
- // SSO-based providers reuse that session rather than re-authenticating.
310
- let setupContext;
311
- if (enforcementContext || codeMieSession) {
312
- setupContext = {};
313
- if (enforcementContext) {
314
- setupContext.enforcedIntegration = {
315
- id: enforcementContext.integration.id,
316
- alias: enforcementContext.integration.alias,
317
- codeMieUrl: enforcementContext.codeMieUrl
318
- };
319
- }
320
- if (codeMieSession) {
321
- setupContext.codeMieSession = codeMieSession;
322
- }
323
- }
324
- const credentials = await setupSteps.getCredentials(isUpdate, setupContext);
205
+ // Step 1: Get credentials
206
+ const credentials = await setupSteps.getCredentials(isUpdate);
325
207
  // Step 2: Fetch models
326
208
  const modelsSpinner = ora('Fetching available models...').start();
327
209
  let models = [];
@@ -343,7 +225,7 @@ async function handlePluginSetup(providerName, setupSteps, profileName, isUpdate
343
225
  logger.success(`Model selected automatically: ${selectedModel}`);
344
226
  }
345
227
  else {
346
- selectedModel = await promptForModelSelection(models, providerTemplate);
228
+ selectedModel = await promptForModelSelection(models, providerTemplate, setupSteps, credentials);
347
229
  }
348
230
  // Step 3.5: Install model if provider supports it (e.g., Ollama)
349
231
  if (providerTemplate?.supportsModelInstallation && setupSteps.installModel) {
@@ -505,45 +387,93 @@ async function promptForProfileName(providerName) {
505
387
  *
506
388
  * Uses getAllModelChoices for enriched display
507
389
  */
508
- async function promptForModelSelection(models, providerTemplate) {
390
+ async function promptForModelSelection(models, providerTemplate, setupSteps, credentials) {
391
+ const canSearch = typeof setupSteps?.searchModel === 'function';
509
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
+ }
510
413
  const { manualModel } = await inquirer.prompt([
511
414
  {
512
415
  type: 'input',
513
416
  name: 'manualModel',
514
- message: 'No models found. Enter model name manually:',
417
+ message: 'Enter model name manually:',
515
418
  default: providerTemplate?.recommendedModels?.[0] || 'gpt-5.5',
516
419
  validate: (input) => input.trim() !== '' || 'Model name is required'
517
420
  }
518
421
  ]);
519
422
  return manualModel ? manualModel.trim() : manualModel;
520
423
  }
521
- // Use getAllModelChoices for enriched display with metadata
522
- const choices = [
523
- ...getAllModelChoices(models, providerTemplate),
524
- { name: chalk.white('Custom model (manual entry)...'), value: 'custom' }
525
- ];
526
- const { selectedModel } = await inquirer.prompt([
527
- {
528
- type: 'list',
529
- name: 'selectedModel',
530
- message: `Choose a model (${models.length} available):`,
531
- choices,
532
- 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();
533
434
  }
534
- ]);
535
- if (selectedModel === 'custom') {
536
- 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([
537
449
  {
538
- type: 'input',
539
- name: 'customModel',
540
- message: 'Enter model name:',
541
- 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
542
455
  }
543
456
  ]);
544
- 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;
545
476
  }
546
- return selectedModel;
547
477
  }
548
478
  /**
549
479
  * Helper function to parse model version from model name