@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,37 @@
1
+ /**
2
+ * Ollama Library Search
3
+ *
4
+ * Ollama has no public JSON API for its model library - only the
5
+ * server-rendered HTML pages at ollama.com/search and
6
+ * ollama.com/library/<model>/tags. This scrapes those pages so the setup
7
+ * wizard can offer live search instead of the narrow static/cloud-catalog
8
+ * list in ollama.models.ts. Unofficial by nature: any parse failure must be
9
+ * treated as non-fatal by callers (they fall back to manual entry).
10
+ */
11
+ export interface OllamaLibraryModel {
12
+ name: string;
13
+ description?: string;
14
+ }
15
+ /**
16
+ * Search Ollama's model library (ollama.com/search).
17
+ * Returns base model names (no tag) in the page's own order (popular first).
18
+ */
19
+ export declare function searchOllamaLibrary(query: string): Promise<OllamaLibraryModel[]>;
20
+ /**
21
+ * List the installable tags/variants for a model (ollama.com/library/<model>/tags).
22
+ * ":latest" (or the bare model id when no ":latest" tag exists) is returned first.
23
+ */
24
+ export declare function listOllamaModelTags(modelSlug: string): Promise<string[]>;
25
+ export interface OllamaModelDetails {
26
+ /** Approximate pull/download count parsed from the model page (0 if unknown). */
27
+ downloads: number;
28
+ /** Whether the model's page advertises tool/function-calling support. */
29
+ supportsTools: boolean;
30
+ }
31
+ /**
32
+ * Fetch a model's download count and tool-support badge from its
33
+ * ollama.com/library/<model> page - used to rank live recommendations
34
+ * (popularity + agentic capability) instead of a hardcoded list.
35
+ */
36
+ export declare function getOllamaModelDetails(modelSlug: string): Promise<OllamaModelDetails>;
37
+ //# sourceMappingURL=ollama.library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.library.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.library.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAYD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkCtF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB9E;AAED,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,aAAa,EAAE,OAAO,CAAC;CACxB;AAYD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAa1F"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Ollama Library Search
3
+ *
4
+ * Ollama has no public JSON API for its model library - only the
5
+ * server-rendered HTML pages at ollama.com/search and
6
+ * ollama.com/library/<model>/tags. This scrapes those pages so the setup
7
+ * wizard can offer live search instead of the narrow static/cloud-catalog
8
+ * list in ollama.models.ts. Unofficial by nature: any parse failure must be
9
+ * treated as non-fatal by callers (they fall back to manual entry).
10
+ */
11
+ import { HTTPClient } from '../../core/base/http-client.js';
12
+ const OLLAMA_WEB_BASE_URL = 'https://ollama.com';
13
+ const MAX_SEARCH_RESULTS = 15;
14
+ const client = new HTTPClient({ timeout: 10000 });
15
+ function decodeHtmlEntities(text) {
16
+ return text
17
+ .replace(/&amp;/g, '&')
18
+ .replace(/&#39;/g, "'")
19
+ .replace(/&quot;/g, '"')
20
+ .replace(/&lt;/g, '<')
21
+ .replace(/&gt;/g, '>')
22
+ .trim();
23
+ }
24
+ /**
25
+ * Search Ollama's model library (ollama.com/search).
26
+ * Returns base model names (no tag) in the page's own order (popular first).
27
+ */
28
+ export async function searchOllamaLibrary(query) {
29
+ const url = `${OLLAMA_WEB_BASE_URL}/search?q=${encodeURIComponent(query)}`;
30
+ const response = await client.getRaw(url);
31
+ if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
32
+ throw new Error(`Ollama library search failed: HTTP ${response.statusCode}`);
33
+ }
34
+ const results = [];
35
+ const seen = new Set();
36
+ // Each result is an <li> card containing a `/library/<slug>` link followed
37
+ // by an <h2> title and a <p> description. Base model links never contain
38
+ // ":" (tag links do), so filtering on that distinguishes result cards from
39
+ // any tag references elsewhere on the page.
40
+ const cardPattern = /href="\/library\/([a-zA-Z0-9._-]+)"[\s\S]{0,600}?<\/h2>\s*<p[^>]*>([\s\S]*?)<\/p>/g;
41
+ let match;
42
+ while ((match = cardPattern.exec(response.data)) && results.length < MAX_SEARCH_RESULTS) {
43
+ const [, slug, rawDescription] = match;
44
+ if (slug.includes(':') || seen.has(slug)) {
45
+ continue;
46
+ }
47
+ seen.add(slug);
48
+ const description = decodeHtmlEntities(rawDescription.replace(/<[^>]+>/g, ''));
49
+ results.push({ name: slug, description: description || undefined });
50
+ }
51
+ if (results.length === 0) {
52
+ throw new Error(`No parsable results for "${query}" - ollama.com's page structure may have changed`);
53
+ }
54
+ return results;
55
+ }
56
+ /**
57
+ * List the installable tags/variants for a model (ollama.com/library/<model>/tags).
58
+ * ":latest" (or the bare model id when no ":latest" tag exists) is returned first.
59
+ */
60
+ export async function listOllamaModelTags(modelSlug) {
61
+ const url = `${OLLAMA_WEB_BASE_URL}/library/${encodeURIComponent(modelSlug)}/tags`;
62
+ const response = await client.getRaw(url);
63
+ if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
64
+ throw new Error(`Failed to fetch tags for "${modelSlug}": HTTP ${response.statusCode}`);
65
+ }
66
+ const escapedSlug = modelSlug.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
67
+ const tagPattern = new RegExp(`href="/library/(${escapedSlug}:[a-zA-Z0-9._-]+)"`, 'g');
68
+ const tags = new Set();
69
+ let match;
70
+ while ((match = tagPattern.exec(response.data))) {
71
+ tags.add(match[1]);
72
+ }
73
+ if (tags.size === 0) {
74
+ throw new Error(`No tags found for "${modelSlug}" - ollama.com's page structure may have changed`);
75
+ }
76
+ const latestTag = `${modelSlug}:latest`;
77
+ const rest = [...tags].filter(tag => tag !== latestTag).sort();
78
+ return tags.has(latestTag) ? [latestTag, ...rest] : rest;
79
+ }
80
+ function parseCountSuffix(raw) {
81
+ const match = raw.replace(/,/g, '').match(/^([\d.]+)\s*([KMB])?$/i);
82
+ if (!match) {
83
+ return 0;
84
+ }
85
+ const value = parseFloat(match[1]);
86
+ const multiplier = { K: 1e3, M: 1e6, B: 1e9 }[match[2]?.toUpperCase()] ?? 1;
87
+ return Math.round(value * multiplier);
88
+ }
89
+ /**
90
+ * Fetch a model's download count and tool-support badge from its
91
+ * ollama.com/library/<model> page - used to rank live recommendations
92
+ * (popularity + agentic capability) instead of a hardcoded list.
93
+ */
94
+ export async function getOllamaModelDetails(modelSlug) {
95
+ const url = `${OLLAMA_WEB_BASE_URL}/library/${encodeURIComponent(modelSlug)}`;
96
+ const response = await client.getRaw(url);
97
+ if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
98
+ throw new Error(`Failed to fetch model page for "${modelSlug}": HTTP ${response.statusCode}`);
99
+ }
100
+ const downloadsMatch = response.data.match(/<span\s*>([\d.,]+[KMB]?)<\/span>\s*<span[^>]*>&nbsp;Downloads<\/span>/i);
101
+ const downloads = downloadsMatch ? parseCountSuffix(downloadsMatch[1]) : 0;
102
+ const supportsTools = /class="[^"]*"\s*>\s*tools\s*<\/span>/i.test(response.data);
103
+ return { downloads, supportsTools };
104
+ }
105
+ //# sourceMappingURL=ollama.library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.library.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.library.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,9 @@ export declare class OllamaModelProxy extends BaseModelProxy {
52
52
  /**
53
53
  * Fetch available models (for setup/discovery)
54
54
  * Returns installed models merged with the ollama.com cloud catalog
55
- * (public endpoint); falls back to recommended models otherwise.
55
+ * (public endpoint). Live discovery beyond this narrow set happens via
56
+ * OllamaSetupSteps.searchModel (ollama.setup-steps.ts), which searches
57
+ * Ollama's full model library on demand instead of a hardcoded list.
56
58
  * An API key is only needed to *run* cloud models directly on
57
59
  * ollama.com, not to list them.
58
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.models.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAqCnD;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAGlE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAchF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAoDD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,OAAO,GAAE,MAAsC,EAAE,MAAM,CAAC,EAAE,MAAM;IAK5E;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBxC;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA0DrE;;;OAGG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuEpG;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CA6BjE"}
1
+ {"version":3,"file":"ollama.models.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAqCnD;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAGlE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAchF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAsCD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,OAAO,GAAE,MAAsC,EAAE,MAAM,CAAC,EAAE,MAAM;IAK5E;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBxC;;;;;;;;OAQG;IACG,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA6CrE;;;OAGG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuEpG;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAejE"}
@@ -76,22 +76,10 @@ function isCodingModel(modelName) {
76
76
  return CODING_MODEL_PATTERNS.some(pattern => pattern.test(modelName));
77
77
  }
78
78
  /**
79
- * Get metadata for a coding model from OllamaTemplate
79
+ * Get metadata for a coding model based on its name pattern
80
80
  */
81
81
  function getCodingModelMetadata(modelId) {
82
- // Extract base name (without tag)
83
82
  const baseName = modelId.split(':')[0];
84
- // Get metadata from template (single source of truth) -
85
- // prefer the full id, fall back to the base name
86
- const metadata = OllamaTemplate.modelMetadata?.[modelId] ?? OllamaTemplate.modelMetadata?.[baseName];
87
- if (metadata) {
88
- return {
89
- name: metadata.name,
90
- description: metadata.description,
91
- popular: metadata.popular ?? false
92
- };
93
- }
94
- // If not in template but matches coding pattern, mark as coding model
95
83
  if (isCodingModel(baseName)) {
96
84
  return {
97
85
  name: modelId,
@@ -154,7 +142,9 @@ export class OllamaModelProxy extends BaseModelProxy {
154
142
  /**
155
143
  * Fetch available models (for setup/discovery)
156
144
  * Returns installed models merged with the ollama.com cloud catalog
157
- * (public endpoint); falls back to recommended models otherwise.
145
+ * (public endpoint). Live discovery beyond this narrow set happens via
146
+ * OllamaSetupSteps.searchModel (ollama.setup-steps.ts), which searches
147
+ * Ollama's full model library on demand instead of a hardcoded list.
158
148
  * An API key is only needed to *run* cloud models directly on
159
149
  * ollama.com, not to list them.
160
150
  */
@@ -196,19 +186,7 @@ export class OllamaModelProxy extends BaseModelProxy {
196
186
  catch (error) {
197
187
  logger.debug('Failed to fetch Ollama cloud models:', error);
198
188
  }
199
- if (merged.size > 0) {
200
- return [...merged.values()];
201
- }
202
- // Fall back to template's recommended models with metadata from template
203
- return OllamaTemplate.recommendedModels.map(modelId => {
204
- const metadata = OllamaTemplate.modelMetadata?.[modelId];
205
- return {
206
- id: modelId,
207
- name: metadata?.name || modelId,
208
- description: metadata?.description,
209
- popular: metadata?.popular ?? true // All recommended models are popular by default
210
- };
211
- });
189
+ return [...merged.values()];
212
190
  }
213
191
  /**
214
192
  * Install model with progress tracking
@@ -302,18 +280,6 @@ export class OllamaModelProxy extends BaseModelProxy {
302
280
  if (!basicInfo) {
303
281
  return null;
304
282
  }
305
- // Get detailed info from template if available
306
- const baseName = modelName.split(':')[0];
307
- const templateMetadata = OllamaTemplate.modelMetadata?.[modelName] ?? OllamaTemplate.modelMetadata?.[baseName];
308
- if (templateMetadata) {
309
- return {
310
- ...basicInfo,
311
- name: templateMetadata.name,
312
- description: templateMetadata.description,
313
- popular: templateMetadata.popular,
314
- contextWindow: templateMetadata.contextWindow
315
- };
316
- }
317
283
  return basicInfo;
318
284
  }
319
285
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.models.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama.models.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.setup-steps.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAM7B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBA+O9B,CAAC"}
1
+ {"version":3,"file":"ollama.setup-steps.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.setup-steps.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAkC7B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBA+a9B,CAAC"}
@@ -9,6 +9,32 @@
9
9
  import { ProviderRegistry } from '../../core/registry.js';
10
10
  import { OllamaTemplate } from './ollama.template.js';
11
11
  import { toCloudOffloadTag } from './ollama.models.js';
12
+ /**
13
+ * Split a base model slug (no tag) into its family root and version, e.g.
14
+ * "qwen3.8" -> { family: "qwen", version: [3, 8] }, "glm-5.1" -> { family:
15
+ * "glm", version: [5, 1] }. Slugs with no trailing version number (e.g.
16
+ * "gpt-oss", or tier variants like "nemotron-3-super") get their own
17
+ * singleton family - only sequential releases of the same lineage collapse
18
+ * together, not parallel size/tier variants.
19
+ */
20
+ function familyAndVersion(slug) {
21
+ const match = slug.match(/^(.*?)-?(\d+(?:\.\d+)*)$/);
22
+ if (!match) {
23
+ return { family: slug, version: [] };
24
+ }
25
+ return { family: match[1], version: match[2].split('.').map(Number) };
26
+ }
27
+ // Descending comparator: negative means `a` is the newer/higher version.
28
+ function compareVersionsDesc(a, b) {
29
+ const len = Math.max(a.length, b.length);
30
+ for (let i = 0; i < len; i++) {
31
+ const diff = (b[i] ?? 0) - (a[i] ?? 0);
32
+ if (diff !== 0) {
33
+ return diff;
34
+ }
35
+ }
36
+ return 0;
37
+ }
12
38
  /**
13
39
  * Ollama setup steps implementation
14
40
  *
@@ -126,9 +152,10 @@ export const OllamaSetupSteps = {
126
152
  /**
127
153
  * Fetch available models from Ollama
128
154
  *
129
- * Offers installed local models, the template's curated recommendations,
130
- * and the ollama.com cloud catalog (capability filtering happens in the
131
- * selection UI via modelMetadata).
155
+ * Offers installed local models and the ollama.com cloud catalog - both
156
+ * live data, no hardcoded list. Anything beyond that narrow set is found
157
+ * via searchModel() below, which searches Ollama's full model library on
158
+ * demand.
132
159
  *
133
160
  * For local setups (daemon at localhost) cloud catalog entries are mapped
134
161
  * to their local cloud-offload tag (`gpt-oss:120b` -> `gpt-oss:120b-cloud`,
@@ -152,13 +179,176 @@ export const OllamaSetupSteps = {
152
179
  const ids = models.map(m => !isCloudHost && m.metadata?.origin === 'cloud'
153
180
  ? toCloudOffloadTag(m.id)
154
181
  : m.id);
155
- return [...new Set([...ids, ...OllamaTemplate.recommendedModels])];
182
+ return [...new Set(ids)];
183
+ }
184
+ catch {
185
+ // If fetch fails, return empty so setup prompts the user to search or
186
+ // enter a model manually instead of showing a static, possibly stale list.
187
+ return [];
188
+ }
189
+ },
190
+ /**
191
+ * Mark up to 3 of the fetched models as recommended, using live signals
192
+ * instead of a hardcoded list:
193
+ * - Fits the current machine (cloud models always do - they run on
194
+ * ollama.com; local models are checked against their real installed
195
+ * size vs. this machine's usable RAM).
196
+ * - Supports tools/function-calling (most coding agents require it -
197
+ * see the "tools" capability badge on the model's ollama.com page).
198
+ * - Ranked by real-world popularity (download count on that same page) -
199
+ * but grouped by model lineage first (e.g. qwen3.5/3.6/3.8 all count
200
+ * toward one "qwen" score) so an older release's download lead doesn't
201
+ * bury its own newer version; the top 3 lineages are returned, each
202
+ * represented by its most recent version (qwen3.5 may be the most
203
+ * downloaded, but qwen3.8 - the newest - is what gets recommended).
204
+ */
205
+ async getRecommendedModels(models, credentials) {
206
+ if (models.length === 0) {
207
+ return [];
208
+ }
209
+ const { OllamaModelProxy } = await import('./ollama.models.js');
210
+ const { getOllamaModelDetails } = await import('./ollama.library.js');
211
+ const { detectSystemCapabilities } = await import('../../../utils/hardware.js');
212
+ const modelProxy = new OllamaModelProxy(credentials.baseUrl, credentials.apiKey);
213
+ // Real installed sizes, for the environment-fit check below.
214
+ const sizeById = new Map();
215
+ try {
216
+ for (const model of await modelProxy.listModels()) {
217
+ if (model.size) {
218
+ sizeById.set(model.id, model.size);
219
+ }
220
+ }
156
221
  }
157
222
  catch {
158
- // If fetch fails, return empty so setup prompts the user to enter a
159
- // model manually instead of showing a static, possibly stale list.
223
+ // No local daemon reachable - every remaining id is a cloud one anyway.
224
+ }
225
+ let usableMemoryGb = Infinity;
226
+ try {
227
+ usableMemoryGb = (await detectSystemCapabilities()).usableMemoryGb;
228
+ }
229
+ catch {
230
+ // Can't probe hardware - don't let that block recommendations.
231
+ }
232
+ const isCloudHost = (credentials.baseUrl || '').includes('ollama.com');
233
+ const isCloudId = (id) => isCloudHost || id.endsWith('-cloud') || id.endsWith(':cloud');
234
+ const fitsEnvironment = (id) => {
235
+ if (isCloudId(id)) {
236
+ return true;
237
+ }
238
+ const bytes = sizeById.get(id);
239
+ if (!bytes) {
240
+ return true; // No size data - don't penalize for missing info
241
+ }
242
+ return bytes / 1024 ** 3 <= usableMemoryGb;
243
+ };
244
+ // Bound worst case (e.g. many locally-installed models) before the
245
+ // per-model network fetch below.
246
+ const candidates = models.filter(fitsEnvironment).slice(0, 25);
247
+ if (candidates.length === 0) {
160
248
  return [];
161
249
  }
250
+ const scored = await Promise.all(candidates.map(async (id) => {
251
+ const baseSlug = id.split(':')[0];
252
+ try {
253
+ const details = await getOllamaModelDetails(baseSlug);
254
+ return { id, ...details };
255
+ }
256
+ catch {
257
+ return { id, downloads: 0, supportsTools: false };
258
+ }
259
+ }));
260
+ const families = new Map();
261
+ for (const s of scored.filter(s => s.supportsTools)) {
262
+ const { family, version } = familyAndVersion(s.id.split(':')[0]);
263
+ const existing = families.get(family);
264
+ if (!existing) {
265
+ families.set(family, { popularityScore: s.downloads, representativeId: s.id, representativeVersion: version });
266
+ continue;
267
+ }
268
+ existing.popularityScore = Math.max(existing.popularityScore, s.downloads);
269
+ if (compareVersionsDesc(version, existing.representativeVersion) < 0) {
270
+ existing.representativeId = s.id;
271
+ existing.representativeVersion = version;
272
+ }
273
+ }
274
+ return [...families.values()]
275
+ .sort((a, b) => b.popularityScore - a.popularityScore)
276
+ .slice(0, 3)
277
+ .map(g => g.representativeId);
278
+ },
279
+ /**
280
+ * Interactive live search against ollama.com's model library.
281
+ *
282
+ * The fetchModels() list only covers installed/cloud-catalog models; this
283
+ * lets a user find and install anything else in Ollama's public library
284
+ * (e.g. a model that isn't already installed and isn't in the curated
285
+ * cloud catalog) without knowing its exact id up front.
286
+ */
287
+ async searchModel(_credentials) {
288
+ const inquirer = (await import('inquirer')).default;
289
+ const ora = (await import('ora')).default;
290
+ const chalk = (await import('chalk')).default;
291
+ const { searchOllamaLibrary, listOllamaModelTags } = await import('./ollama.library.js');
292
+ const { query } = await inquirer.prompt([
293
+ {
294
+ type: 'input',
295
+ name: 'query',
296
+ message: 'Search Ollama library:'
297
+ }
298
+ ]);
299
+ if (!query || !query.trim()) {
300
+ return null;
301
+ }
302
+ const searchSpinner = ora(`Searching Ollama library for "${query.trim()}"...`).start();
303
+ let results;
304
+ try {
305
+ results = await searchOllamaLibrary(query.trim());
306
+ searchSpinner.succeed(chalk.green(`Found ${results.length} model(s)`));
307
+ }
308
+ catch (error) {
309
+ searchSpinner.fail(chalk.red('Search failed'));
310
+ console.log(chalk.dim(` ${error instanceof Error ? error.message : 'Unknown error'}\n`));
311
+ return null;
312
+ }
313
+ const { picked } = await inquirer.prompt([
314
+ {
315
+ type: 'list',
316
+ name: 'picked',
317
+ message: 'Select a model:',
318
+ pageSize: 15,
319
+ choices: [
320
+ ...results.map(r => ({
321
+ name: r.description ? `${r.name} ${chalk.dim(`- ${r.description}`)}` : r.name,
322
+ value: r.name
323
+ })),
324
+ { name: chalk.dim('← Back'), value: null }
325
+ ]
326
+ }
327
+ ]);
328
+ if (!picked) {
329
+ return null;
330
+ }
331
+ const tagSpinner = ora(`Fetching available sizes for ${picked}...`).start();
332
+ let tags = [];
333
+ try {
334
+ tags = await listOllamaModelTags(picked);
335
+ tagSpinner.succeed(chalk.green(`Found ${tags.length} variant(s)`));
336
+ }
337
+ catch (error) {
338
+ tagSpinner.warn(chalk.yellow('Could not fetch size variants - using default'));
339
+ console.log(chalk.dim(` ${error instanceof Error ? error.message : 'Unknown error'}\n`));
340
+ return picked;
341
+ }
342
+ const { tag } = await inquirer.prompt([
343
+ {
344
+ type: 'list',
345
+ name: 'tag',
346
+ message: `Choose a variant of ${picked}:`,
347
+ pageSize: 15,
348
+ choices: tags
349
+ }
350
+ ]);
351
+ return tag;
162
352
  },
163
353
  /**
164
354
  * Install model if not already installed
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.setup-steps.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.setup-steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama.setup-steps.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.setup-steps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.template.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,cAAc,kBAqHzB,CAAC"}
1
+ {"version":3,"file":"ollama.template.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,cAAc,kBAiGzB,CAAC"}
@@ -15,31 +15,11 @@ export const OllamaTemplate = registerProvider({
15
15
  defaultBaseUrl: 'http://localhost:11434',
16
16
  requiresAuth: false,
17
17
  authType: 'none',
18
- recommendedModels: [
19
- 'qwen2.5-coder',
20
- 'gpt-oss:120b-cloud',
21
- 'deepseek-coder-v2'
22
- ],
23
- modelMetadata: {
24
- 'qwen2.5-coder': {
25
- name: 'Qwen 2.5 Coder',
26
- description: 'Excellent coding model with tool support (7B, ~5GB download)',
27
- popular: true,
28
- minMemoryGb: 8
29
- },
30
- 'gpt-oss:120b-cloud': {
31
- name: 'GPT-OSS 120B (cloud)',
32
- description: 'OpenAI open-weight model on Ollama cloud - no local memory required',
33
- popular: true
34
- // No minMemoryGb: runs on ollama.com, not on the local machine
35
- },
36
- 'deepseek-coder-v2': {
37
- name: 'DeepSeek Coder V2',
38
- description: 'Advanced coding model with tool support (16B, ~9GB download)',
39
- popular: true,
40
- minMemoryGb: 12
41
- }
42
- },
18
+ // No hardcoded model list: the setup wizard offers installed local models,
19
+ // the ollama.com cloud catalog, and live search against Ollama's full
20
+ // model library (OllamaSetupSteps.searchModel in ollama.setup-steps.ts) -
21
+ // all real data instead of a curated set that inevitably goes stale.
22
+ recommendedModels: [],
43
23
  capabilities: ['streaming', 'tools', 'embeddings', 'model-management'],
44
24
  supportsModelInstallation: true,
45
25
  healthCheckEndpoint: '/api/version',
@@ -93,15 +73,15 @@ curl -fsSL https://ollama.com/install.sh | sh
93
73
  ### Windows
94
74
  Download from: https://ollama.com/download
95
75
 
96
- ## Recommended Coding Models (Tool Support Required)
97
-
98
- **Important**: Some agents require models with function calling/tool support.
76
+ ## Choosing a Model (Tool Support Required)
99
77
 
100
- - **qwen2.5-coder**: Excellent for coding tasks with tool support (7B, ~5GB)
101
- - **gpt-oss:120b-cloud**: OpenAI's open-weight model via Ollama cloud (120B, no download)
102
- - **deepseek-coder-v2**: Advanced coding model with tool support (16B, ~9GB)
78
+ **Important**: Some agents require models with function calling/tool support
79
+ (models without it, like plain codellama, will fail with those agents).
103
80
 
104
- **Note**: Models without tool support (like codellama) will fail with agents that require function calling.
81
+ Setup shows installed local models plus the ollama.com cloud catalog, and
82
+ offers a "Search Ollama library..." option to find and install anything else
83
+ in Ollama's full model library on demand - no need to remember exact model
84
+ names or tags in advance.
105
85
 
106
86
  ## Ollama Cloud (ollama.com)
107
87