@codemieai/code 0.0.15 → 0.0.17

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 (608) hide show
  1. package/README.md +86 -14
  2. package/bin/agent-executor.js +7 -28
  3. package/bin/codemie-claude.js +18 -0
  4. package/bin/codemie-codex.js +18 -0
  5. package/bin/codemie-deepagents.js +18 -0
  6. package/bin/codemie-gemini.js +18 -0
  7. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  8. package/dist/agents/codemie-code/agent.js +5 -34
  9. package/dist/agents/codemie-code/agent.js.map +1 -1
  10. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  11. package/dist/agents/codemie-code/config.js +12 -4
  12. package/dist/agents/codemie-code/config.js.map +1 -1
  13. package/dist/agents/codemie-code/tools/planning.d.ts +1 -1
  14. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  15. package/dist/agents/core/AgentCLI.js +30 -63
  16. package/dist/agents/core/AgentCLI.js.map +1 -1
  17. package/dist/agents/core/BaseAgentAdapter.d.ts +10 -6
  18. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  19. package/dist/agents/core/BaseAgentAdapter.js +108 -36
  20. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  21. package/dist/agents/core/BaseMetricsAdapter.d.ts +64 -0
  22. package/dist/agents/core/BaseMetricsAdapter.d.ts.map +1 -0
  23. package/dist/agents/core/BaseMetricsAdapter.js +74 -0
  24. package/dist/agents/core/BaseMetricsAdapter.js.map +1 -0
  25. package/dist/agents/core/types.d.ts +1 -0
  26. package/dist/agents/core/types.d.ts.map +1 -1
  27. package/dist/agents/plugins/claude.metrics.d.ts +112 -0
  28. package/dist/agents/plugins/claude.metrics.d.ts.map +1 -0
  29. package/dist/agents/plugins/claude.metrics.js +700 -0
  30. package/dist/agents/plugins/claude.metrics.js.map +1 -0
  31. package/dist/agents/plugins/claude.plugin.d.ts +9 -0
  32. package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
  33. package/dist/agents/plugins/claude.plugin.js +52 -10
  34. package/dist/agents/plugins/claude.plugin.js.map +1 -1
  35. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  36. package/dist/agents/plugins/codemie-code.plugin.js +46 -14
  37. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  38. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
  39. package/dist/agents/plugins/codex.plugin.js +2 -4
  40. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  41. package/dist/agents/plugins/deepagents.plugin.js +1 -1
  42. package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
  43. package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
  44. package/dist/agents/plugins/gemini.plugin.js +1 -8
  45. package/dist/agents/plugins/gemini.plugin.js.map +1 -1
  46. package/dist/agents/plugins/history-parser.d.ts +52 -0
  47. package/dist/agents/plugins/history-parser.d.ts.map +1 -0
  48. package/dist/agents/plugins/history-parser.js +155 -0
  49. package/dist/agents/plugins/history-parser.js.map +1 -0
  50. package/dist/cli/commands/analytics/aggregator.d.ts +58 -0
  51. package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -0
  52. package/dist/cli/commands/analytics/aggregator.js +702 -0
  53. package/dist/cli/commands/analytics/aggregator.js.map +1 -0
  54. package/dist/cli/commands/analytics/data-loader.d.ts +84 -0
  55. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -0
  56. package/dist/cli/commands/analytics/data-loader.js +211 -0
  57. package/dist/cli/commands/analytics/data-loader.js.map +1 -0
  58. package/dist/cli/commands/analytics/exporter.d.ts +20 -0
  59. package/dist/cli/commands/analytics/exporter.d.ts.map +1 -0
  60. package/dist/cli/commands/analytics/exporter.js +103 -0
  61. package/dist/cli/commands/analytics/exporter.js.map +1 -0
  62. package/dist/cli/commands/analytics/formatter.d.ts +49 -0
  63. package/dist/cli/commands/analytics/formatter.d.ts.map +1 -0
  64. package/dist/cli/commands/analytics/formatter.js +309 -0
  65. package/dist/cli/commands/analytics/formatter.js.map +1 -0
  66. package/dist/cli/commands/analytics/index.d.ts +6 -0
  67. package/dist/cli/commands/analytics/index.d.ts.map +1 -0
  68. package/dist/cli/commands/analytics/index.js +157 -0
  69. package/dist/cli/commands/analytics/index.js.map +1 -0
  70. package/dist/cli/commands/analytics/model-normalizer.d.ts +21 -0
  71. package/dist/cli/commands/analytics/model-normalizer.d.ts.map +1 -0
  72. package/dist/cli/commands/analytics/model-normalizer.js +44 -0
  73. package/dist/cli/commands/analytics/model-normalizer.js.map +1 -0
  74. package/dist/cli/commands/analytics/types.d.ts +188 -0
  75. package/dist/cli/commands/analytics/types.d.ts.map +1 -0
  76. package/dist/cli/commands/analytics/types.js +6 -0
  77. package/dist/cli/commands/analytics/types.js.map +1 -0
  78. package/dist/cli/commands/auth.d.ts.map +1 -1
  79. package/dist/cli/commands/auth.js +10 -5
  80. package/dist/cli/commands/auth.js.map +1 -1
  81. package/dist/cli/commands/doctor/checks/AIConfigCheck.d.ts.map +1 -1
  82. package/dist/cli/commands/doctor/checks/AIConfigCheck.js +12 -5
  83. package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
  84. package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts +9 -0
  85. package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts.map +1 -0
  86. package/dist/cli/commands/doctor/checks/AwsCliCheck.js +28 -0
  87. package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -0
  88. package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
  89. package/dist/cli/commands/doctor/checks/PythonCheck.js +10 -0
  90. package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
  91. package/dist/cli/commands/doctor/checks/WorkflowsCheck.d.ts.map +1 -1
  92. package/dist/cli/commands/doctor/checks/WorkflowsCheck.js +2 -1
  93. package/dist/cli/commands/doctor/checks/WorkflowsCheck.js.map +1 -1
  94. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  95. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  96. package/dist/cli/commands/doctor/checks/index.js +1 -0
  97. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  98. package/dist/cli/commands/doctor/formatter.d.ts +1 -1
  99. package/dist/cli/commands/doctor/formatter.d.ts.map +1 -1
  100. package/dist/cli/commands/doctor/formatter.js +1 -6
  101. package/dist/cli/commands/doctor/formatter.js.map +1 -1
  102. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  103. package/dist/cli/commands/doctor/index.js +107 -10
  104. package/dist/cli/commands/doctor/index.js.map +1 -1
  105. package/dist/cli/commands/doctor/type-adapters.d.ts +18 -0
  106. package/dist/cli/commands/doctor/type-adapters.d.ts.map +1 -0
  107. package/dist/cli/commands/doctor/type-adapters.js +75 -0
  108. package/dist/cli/commands/doctor/type-adapters.js.map +1 -0
  109. package/dist/cli/commands/install.d.ts.map +1 -1
  110. package/dist/cli/commands/install.js +1 -6
  111. package/dist/cli/commands/install.js.map +1 -1
  112. package/dist/cli/commands/list.d.ts.map +1 -1
  113. package/dist/cli/commands/list.js +0 -5
  114. package/dist/cli/commands/list.js.map +1 -1
  115. package/dist/cli/commands/profile.d.ts.map +1 -1
  116. package/dist/cli/commands/profile.js +130 -92
  117. package/dist/cli/commands/profile.js.map +1 -1
  118. package/dist/cli/commands/setup.d.ts.map +1 -1
  119. package/dist/cli/commands/setup.js +147 -668
  120. package/dist/cli/commands/setup.js.map +1 -1
  121. package/dist/cli/index.d.ts +1 -1
  122. package/dist/cli/index.d.ts.map +1 -1
  123. package/dist/cli/index.js +5 -2
  124. package/dist/cli/index.js.map +1 -1
  125. package/dist/env/types.d.ts +14 -2
  126. package/dist/env/types.d.ts.map +1 -1
  127. package/dist/env/types.js.map +1 -1
  128. package/dist/metrics/MetricsOrchestrator.d.ts +67 -0
  129. package/dist/metrics/MetricsOrchestrator.d.ts.map +1 -0
  130. package/dist/metrics/MetricsOrchestrator.js +287 -0
  131. package/dist/metrics/MetricsOrchestrator.js.map +1 -0
  132. package/dist/metrics/config.d.ts +38 -0
  133. package/dist/metrics/config.d.ts.map +1 -0
  134. package/dist/metrics/config.js +80 -0
  135. package/dist/metrics/config.js.map +1 -0
  136. package/dist/metrics/core/DeltaWriter.d.ts +49 -0
  137. package/dist/metrics/core/DeltaWriter.d.ts.map +1 -0
  138. package/dist/metrics/core/DeltaWriter.js +146 -0
  139. package/dist/metrics/core/DeltaWriter.js.map +1 -0
  140. package/dist/metrics/core/FileSnapshotter.d.ts +22 -0
  141. package/dist/metrics/core/FileSnapshotter.d.ts.map +1 -0
  142. package/dist/metrics/core/FileSnapshotter.js +74 -0
  143. package/dist/metrics/core/FileSnapshotter.js.map +1 -0
  144. package/dist/metrics/core/SessionCorrelator.d.ts +34 -0
  145. package/dist/metrics/core/SessionCorrelator.d.ts.map +1 -0
  146. package/dist/metrics/core/SessionCorrelator.js +115 -0
  147. package/dist/metrics/core/SessionCorrelator.js.map +1 -0
  148. package/dist/metrics/core/SyncStateManager.d.ts +69 -0
  149. package/dist/metrics/core/SyncStateManager.d.ts.map +1 -0
  150. package/dist/metrics/core/SyncStateManager.js +284 -0
  151. package/dist/metrics/core/SyncStateManager.js.map +1 -0
  152. package/dist/metrics/index.d.ts +9 -0
  153. package/dist/metrics/index.d.ts.map +1 -0
  154. package/dist/metrics/index.js +11 -0
  155. package/dist/metrics/index.js.map +1 -0
  156. package/dist/metrics/session/SessionStore.d.ts +43 -0
  157. package/dist/metrics/session/SessionStore.d.ts.map +1 -0
  158. package/dist/metrics/session/SessionStore.js +142 -0
  159. package/dist/metrics/session/SessionStore.js.map +1 -0
  160. package/dist/metrics/sync/MetricsApiClient.d.ts +32 -0
  161. package/dist/metrics/sync/MetricsApiClient.d.ts.map +1 -0
  162. package/dist/metrics/sync/MetricsApiClient.js +155 -0
  163. package/dist/metrics/sync/MetricsApiClient.js.map +1 -0
  164. package/dist/metrics/sync/aggregator.d.ts +13 -0
  165. package/dist/metrics/sync/aggregator.d.ts.map +1 -0
  166. package/dist/metrics/sync/aggregator.js +196 -0
  167. package/dist/metrics/sync/aggregator.js.map +1 -0
  168. package/dist/metrics/sync/index.d.ts +10 -0
  169. package/dist/metrics/sync/index.d.ts.map +1 -0
  170. package/dist/metrics/sync/index.js +10 -0
  171. package/dist/metrics/sync/index.js.map +1 -0
  172. package/dist/metrics/sync/jsonl-writer.d.ts +28 -0
  173. package/dist/metrics/sync/jsonl-writer.d.ts.map +1 -0
  174. package/dist/metrics/sync/jsonl-writer.js +72 -0
  175. package/dist/metrics/sync/jsonl-writer.js.map +1 -0
  176. package/dist/metrics/sync/types.d.ts +72 -0
  177. package/dist/metrics/sync/types.d.ts.map +1 -0
  178. package/dist/metrics/sync/types.js +7 -0
  179. package/dist/metrics/sync/types.js.map +1 -0
  180. package/dist/metrics/types.d.ts +308 -0
  181. package/dist/metrics/types.d.ts.map +1 -0
  182. package/dist/metrics/types.js +8 -0
  183. package/dist/metrics/types.js.map +1 -0
  184. package/dist/providers/core/base/BaseHealthCheck.d.ts +57 -0
  185. package/dist/providers/core/base/BaseHealthCheck.d.ts.map +1 -0
  186. package/dist/providers/core/base/BaseHealthCheck.js +121 -0
  187. package/dist/providers/core/base/BaseHealthCheck.js.map +1 -0
  188. package/dist/providers/core/base/BaseModelProxy.d.ts +45 -0
  189. package/dist/providers/core/base/BaseModelProxy.d.ts.map +1 -0
  190. package/dist/providers/core/base/BaseModelProxy.js +43 -0
  191. package/dist/providers/core/base/BaseModelProxy.js.map +1 -0
  192. package/dist/providers/core/base/http-client.d.ts +57 -0
  193. package/dist/providers/core/base/http-client.d.ts.map +1 -0
  194. package/dist/providers/core/base/http-client.js +240 -0
  195. package/dist/providers/core/base/http-client.js.map +1 -0
  196. package/dist/providers/core/decorators.d.ts +13 -0
  197. package/dist/providers/core/decorators.d.ts.map +1 -0
  198. package/dist/providers/core/decorators.js +15 -0
  199. package/dist/providers/core/decorators.js.map +1 -0
  200. package/dist/providers/core/index.d.ts +13 -0
  201. package/dist/providers/core/index.d.ts.map +1 -0
  202. package/dist/providers/core/index.js +14 -0
  203. package/dist/providers/core/index.js.map +1 -0
  204. package/dist/providers/core/registry.d.ts +66 -0
  205. package/dist/providers/core/registry.d.ts.map +1 -0
  206. package/dist/providers/core/registry.js +105 -0
  207. package/dist/providers/core/registry.js.map +1 -0
  208. package/dist/providers/core/types.d.ts +285 -0
  209. package/dist/providers/core/types.d.ts.map +1 -0
  210. package/dist/providers/core/types.js +7 -0
  211. package/dist/providers/core/types.js.map +1 -0
  212. package/dist/providers/index.d.ts +22 -0
  213. package/dist/providers/index.d.ts.map +1 -0
  214. package/dist/providers/index.js +24 -0
  215. package/dist/providers/index.js.map +1 -0
  216. package/dist/providers/integration/setup-ui.d.ts +76 -0
  217. package/dist/providers/integration/setup-ui.d.ts.map +1 -0
  218. package/dist/providers/integration/setup-ui.js +186 -0
  219. package/dist/providers/integration/setup-ui.js.map +1 -0
  220. package/dist/providers/plugins/bedrock/bedrock.health.d.ts +53 -0
  221. package/dist/providers/plugins/bedrock/bedrock.health.d.ts.map +1 -0
  222. package/dist/providers/plugins/bedrock/bedrock.health.js +115 -0
  223. package/dist/providers/plugins/bedrock/bedrock.health.js.map +1 -0
  224. package/dist/providers/plugins/bedrock/bedrock.models.d.ts +26 -0
  225. package/dist/providers/plugins/bedrock/bedrock.models.d.ts.map +1 -0
  226. package/dist/providers/plugins/bedrock/bedrock.models.js +89 -0
  227. package/dist/providers/plugins/bedrock/bedrock.models.js.map +1 -0
  228. package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts +12 -0
  229. package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts.map +1 -0
  230. package/dist/providers/plugins/bedrock/bedrock.setup-steps.js +308 -0
  231. package/dist/providers/plugins/bedrock/bedrock.setup-steps.js.map +1 -0
  232. package/dist/providers/plugins/bedrock/bedrock.template.d.ts +11 -0
  233. package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -0
  234. package/dist/providers/plugins/bedrock/bedrock.template.js +85 -0
  235. package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -0
  236. package/dist/providers/plugins/bedrock/index.d.ts +11 -0
  237. package/dist/providers/plugins/bedrock/index.d.ts.map +1 -0
  238. package/dist/providers/plugins/bedrock/index.js +11 -0
  239. package/dist/providers/plugins/bedrock/index.js.map +1 -0
  240. package/dist/providers/plugins/litellm/index.d.ts +8 -0
  241. package/dist/providers/plugins/litellm/index.d.ts.map +1 -0
  242. package/dist/providers/plugins/litellm/index.js +12 -0
  243. package/dist/providers/plugins/litellm/index.js.map +1 -0
  244. package/dist/providers/plugins/litellm/litellm.models.d.ts +27 -0
  245. package/dist/providers/plugins/litellm/litellm.models.d.ts.map +1 -0
  246. package/dist/providers/plugins/litellm/litellm.models.js +48 -0
  247. package/dist/providers/plugins/litellm/litellm.models.js.map +1 -0
  248. package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts +8 -0
  249. package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -0
  250. package/dist/providers/plugins/litellm/litellm.setup-steps.js +52 -0
  251. package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -0
  252. package/dist/providers/plugins/litellm/litellm.template.d.ts +11 -0
  253. package/dist/providers/plugins/litellm/litellm.template.d.ts.map +1 -0
  254. package/dist/providers/plugins/litellm/litellm.template.js +59 -0
  255. package/dist/providers/plugins/litellm/litellm.template.js.map +1 -0
  256. package/dist/providers/plugins/ollama/index.d.ts +11 -0
  257. package/dist/providers/plugins/ollama/index.d.ts.map +1 -0
  258. package/dist/providers/plugins/ollama/index.js +11 -0
  259. package/dist/providers/plugins/ollama/index.js.map +1 -0
  260. package/dist/providers/plugins/ollama/ollama.health.d.ts +48 -0
  261. package/dist/providers/plugins/ollama/ollama.health.d.ts.map +1 -0
  262. package/dist/providers/plugins/ollama/ollama.health.js +87 -0
  263. package/dist/providers/plugins/ollama/ollama.health.js.map +1 -0
  264. package/dist/providers/plugins/ollama/ollama.models.d.ts +47 -0
  265. package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -0
  266. package/dist/providers/plugins/ollama/ollama.models.js +252 -0
  267. package/dist/providers/plugins/ollama/ollama.models.js.map +1 -0
  268. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts +16 -0
  269. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -0
  270. package/dist/providers/plugins/ollama/ollama.setup-steps.js +164 -0
  271. package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -0
  272. package/dist/providers/plugins/ollama/ollama.template.d.ts +11 -0
  273. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -0
  274. package/dist/providers/plugins/ollama/ollama.template.js +89 -0
  275. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -0
  276. package/dist/providers/plugins/sso/index.d.ts +12 -0
  277. package/dist/providers/plugins/sso/index.d.ts.map +1 -0
  278. package/dist/providers/plugins/sso/index.js +12 -0
  279. package/dist/providers/plugins/sso/index.js.map +1 -0
  280. package/dist/providers/plugins/sso/sso.auth.d.ts +50 -0
  281. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -0
  282. package/dist/{utils/sso-auth.js → providers/plugins/sso/sso.auth.js} +37 -2
  283. package/dist/providers/plugins/sso/sso.auth.js.map +1 -0
  284. package/dist/providers/plugins/sso/sso.health.d.ts +44 -0
  285. package/dist/providers/plugins/sso/sso.health.d.ts.map +1 -0
  286. package/dist/providers/plugins/sso/sso.health.js +178 -0
  287. package/dist/providers/plugins/sso/sso.health.js.map +1 -0
  288. package/dist/providers/plugins/sso/sso.http-client.d.ts +24 -0
  289. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -0
  290. package/dist/providers/plugins/sso/sso.http-client.js +193 -0
  291. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -0
  292. package/dist/providers/plugins/sso/sso.models.d.ts +48 -0
  293. package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -0
  294. package/dist/providers/plugins/sso/sso.models.js +139 -0
  295. package/dist/providers/plugins/sso/sso.models.js.map +1 -0
  296. package/dist/providers/plugins/sso/sso.setup-steps.d.ts +16 -0
  297. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -0
  298. package/dist/providers/plugins/sso/sso.setup-steps.js +145 -0
  299. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -0
  300. package/dist/providers/plugins/sso/sso.template.d.ts +11 -0
  301. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -0
  302. package/dist/providers/plugins/sso/sso.template.js +35 -0
  303. package/dist/providers/plugins/sso/sso.template.js.map +1 -0
  304. package/dist/proxy/errors.d.ts.map +1 -0
  305. package/dist/proxy/errors.js.map +1 -0
  306. package/dist/proxy/http-client.d.ts.map +1 -0
  307. package/dist/{utils/proxy → proxy}/http-client.js +50 -15
  308. package/dist/proxy/http-client.js.map +1 -0
  309. package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts +19 -0
  310. package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -0
  311. package/dist/proxy/plugins/endpoint-blocker.plugin.js +61 -0
  312. package/dist/proxy/plugins/endpoint-blocker.plugin.js.map +1 -0
  313. package/dist/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
  314. package/dist/{utils/proxy → proxy}/plugins/header-injection.plugin.js +10 -3
  315. package/dist/proxy/plugins/header-injection.plugin.js.map +1 -0
  316. package/dist/{utils/proxy → proxy}/plugins/index.d.ts +4 -2
  317. package/dist/proxy/plugins/index.d.ts.map +1 -0
  318. package/dist/{utils/proxy → proxy}/plugins/index.js +7 -5
  319. package/dist/proxy/plugins/index.js.map +1 -0
  320. package/dist/proxy/plugins/logging.plugin.d.ts +22 -0
  321. package/dist/proxy/plugins/logging.plugin.d.ts.map +1 -0
  322. package/dist/proxy/plugins/logging.plugin.js +156 -0
  323. package/dist/proxy/plugins/logging.plugin.js.map +1 -0
  324. package/dist/proxy/plugins/metrics-sync.plugin.d.ts +33 -0
  325. package/dist/proxy/plugins/metrics-sync.plugin.d.ts.map +1 -0
  326. package/dist/proxy/plugins/metrics-sync.plugin.js +310 -0
  327. package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -0
  328. package/dist/proxy/plugins/registry.d.ts.map +1 -0
  329. package/dist/{utils/proxy → proxy}/plugins/registry.js +9 -2
  330. package/dist/proxy/plugins/registry.js.map +1 -0
  331. package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
  332. package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.js +1 -1
  333. package/dist/proxy/plugins/sso-auth.plugin.js.map +1 -0
  334. package/dist/{utils/proxy → proxy}/plugins/types.d.ts +8 -4
  335. package/dist/proxy/plugins/types.d.ts.map +1 -0
  336. package/dist/proxy/plugins/types.js.map +1 -0
  337. package/dist/{utils/proxy → proxy}/types.d.ts +7 -0
  338. package/dist/proxy/types.d.ts.map +1 -0
  339. package/dist/proxy/types.js.map +1 -0
  340. package/dist/utils/ascii-logo.d.ts +21 -0
  341. package/dist/utils/ascii-logo.d.ts.map +1 -0
  342. package/dist/utils/ascii-logo.js +75 -0
  343. package/dist/utils/ascii-logo.js.map +1 -0
  344. package/dist/utils/codemie-proxy.d.ts +2 -7
  345. package/dist/utils/codemie-proxy.d.ts.map +1 -1
  346. package/dist/utils/codemie-proxy.js +56 -61
  347. package/dist/utils/codemie-proxy.js.map +1 -1
  348. package/dist/utils/config-loader.d.ts +1 -6
  349. package/dist/utils/config-loader.d.ts.map +1 -1
  350. package/dist/utils/config-loader.js +49 -93
  351. package/dist/utils/config-loader.js.map +1 -1
  352. package/dist/utils/credential-store.d.ts +1 -1
  353. package/dist/utils/credential-store.d.ts.map +1 -1
  354. package/dist/utils/exec.d.ts +11 -0
  355. package/dist/utils/exec.d.ts.map +1 -1
  356. package/dist/utils/exec.js +17 -1
  357. package/dist/utils/exec.js.map +1 -1
  358. package/dist/utils/goodbye-messages.d.ts +13 -0
  359. package/dist/utils/goodbye-messages.d.ts.map +1 -0
  360. package/dist/utils/goodbye-messages.js +245 -0
  361. package/dist/utils/goodbye-messages.js.map +1 -0
  362. package/dist/utils/json-parser.d.ts +52 -0
  363. package/dist/utils/json-parser.d.ts.map +1 -0
  364. package/dist/utils/json-parser.js +126 -0
  365. package/dist/utils/json-parser.js.map +1 -0
  366. package/dist/utils/logger.d.ts +37 -1
  367. package/dist/utils/logger.d.ts.map +1 -1
  368. package/dist/utils/logger.js +92 -22
  369. package/dist/utils/logger.js.map +1 -1
  370. package/dist/utils/sanitize.d.ts.map +1 -1
  371. package/dist/utils/sanitize.js +0 -1
  372. package/dist/utils/sanitize.js.map +1 -1
  373. package/dist/utils/which.d.ts +20 -0
  374. package/dist/utils/which.d.ts.map +1 -0
  375. package/dist/utils/which.js +47 -0
  376. package/dist/utils/which.js.map +1 -0
  377. package/package.json +10 -5
  378. package/dist/analytics/aggregation/adapters/claude.adapter.d.ts +0 -37
  379. package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +0 -1
  380. package/dist/analytics/aggregation/adapters/claude.adapter.js +0 -531
  381. package/dist/analytics/aggregation/adapters/claude.adapter.js.map +0 -1
  382. package/dist/analytics/aggregation/adapters/codex.adapter.d.ts +0 -25
  383. package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +0 -1
  384. package/dist/analytics/aggregation/adapters/codex.adapter.js +0 -396
  385. package/dist/analytics/aggregation/adapters/codex.adapter.js.map +0 -1
  386. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +0 -36
  387. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +0 -1
  388. package/dist/analytics/aggregation/adapters/gemini.adapter.js +0 -365
  389. package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +0 -1
  390. package/dist/analytics/aggregation/adapters/index.d.ts +0 -7
  391. package/dist/analytics/aggregation/adapters/index.d.ts.map +0 -1
  392. package/dist/analytics/aggregation/adapters/index.js +0 -7
  393. package/dist/analytics/aggregation/adapters/index.js.map +0 -1
  394. package/dist/analytics/aggregation/aggregator.d.ts +0 -49
  395. package/dist/analytics/aggregation/aggregator.d.ts.map +0 -1
  396. package/dist/analytics/aggregation/aggregator.js +0 -239
  397. package/dist/analytics/aggregation/aggregator.js.map +0 -1
  398. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +0 -99
  399. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +0 -1
  400. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +0 -110
  401. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +0 -1
  402. package/dist/analytics/aggregation/core/adapter.interface.d.ts +0 -76
  403. package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +0 -1
  404. package/dist/analytics/aggregation/core/adapter.interface.js +0 -9
  405. package/dist/analytics/aggregation/core/adapter.interface.js.map +0 -1
  406. package/dist/analytics/aggregation/core/aggregation-utils.d.ts +0 -86
  407. package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +0 -1
  408. package/dist/analytics/aggregation/core/aggregation-utils.js +0 -126
  409. package/dist/analytics/aggregation/core/aggregation-utils.js.map +0 -1
  410. package/dist/analytics/aggregation/core/discovery.d.ts +0 -40
  411. package/dist/analytics/aggregation/core/discovery.d.ts.map +0 -1
  412. package/dist/analytics/aggregation/core/discovery.js +0 -132
  413. package/dist/analytics/aggregation/core/discovery.js.map +0 -1
  414. package/dist/analytics/aggregation/core/file-utils.d.ts +0 -24
  415. package/dist/analytics/aggregation/core/file-utils.d.ts.map +0 -1
  416. package/dist/analytics/aggregation/core/file-utils.js +0 -143
  417. package/dist/analytics/aggregation/core/file-utils.js.map +0 -1
  418. package/dist/analytics/aggregation/core/index.d.ts +0 -14
  419. package/dist/analytics/aggregation/core/index.d.ts.map +0 -1
  420. package/dist/analytics/aggregation/core/index.js +0 -14
  421. package/dist/analytics/aggregation/core/index.js.map +0 -1
  422. package/dist/analytics/aggregation/core/project-mapping.d.ts +0 -50
  423. package/dist/analytics/aggregation/core/project-mapping.d.ts.map +0 -1
  424. package/dist/analytics/aggregation/core/project-mapping.js +0 -102
  425. package/dist/analytics/aggregation/core/project-mapping.js.map +0 -1
  426. package/dist/analytics/aggregation/core/streaming.d.ts +0 -26
  427. package/dist/analytics/aggregation/core/streaming.d.ts.map +0 -1
  428. package/dist/analytics/aggregation/core/streaming.js +0 -58
  429. package/dist/analytics/aggregation/core/streaming.js.map +0 -1
  430. package/dist/analytics/aggregation/core/user-prompt-source.d.ts +0 -81
  431. package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +0 -1
  432. package/dist/analytics/aggregation/core/user-prompt-source.js +0 -69
  433. package/dist/analytics/aggregation/core/user-prompt-source.js.map +0 -1
  434. package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +0 -49
  435. package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +0 -1
  436. package/dist/analytics/aggregation/core/user-prompt-sources/json.js +0 -66
  437. package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +0 -1
  438. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +0 -43
  439. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +0 -1
  440. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +0 -56
  441. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +0 -1
  442. package/dist/analytics/aggregation/index.d.ts +0 -8
  443. package/dist/analytics/aggregation/index.d.ts.map +0 -1
  444. package/dist/analytics/aggregation/index.js +0 -8
  445. package/dist/analytics/aggregation/index.js.map +0 -1
  446. package/dist/analytics/aggregation/types.d.ts +0 -278
  447. package/dist/analytics/aggregation/types.d.ts.map +0 -1
  448. package/dist/analytics/aggregation/types.js +0 -8
  449. package/dist/analytics/aggregation/types.js.map +0 -1
  450. package/dist/analytics/collector.d.ts +0 -46
  451. package/dist/analytics/collector.d.ts.map +0 -1
  452. package/dist/analytics/collector.js +0 -83
  453. package/dist/analytics/collector.js.map +0 -1
  454. package/dist/analytics/config.d.ts +0 -15
  455. package/dist/analytics/config.d.ts.map +0 -1
  456. package/dist/analytics/config.js +0 -65
  457. package/dist/analytics/config.js.map +0 -1
  458. package/dist/analytics/index.d.ts +0 -99
  459. package/dist/analytics/index.d.ts.map +0 -1
  460. package/dist/analytics/index.js +0 -288
  461. package/dist/analytics/index.js.map +0 -1
  462. package/dist/analytics/plugins/api-metrics.plugin.d.ts +0 -26
  463. package/dist/analytics/plugins/api-metrics.plugin.d.ts.map +0 -1
  464. package/dist/analytics/plugins/api-metrics.plugin.js +0 -97
  465. package/dist/analytics/plugins/api-metrics.plugin.js.map +0 -1
  466. package/dist/analytics/plugins/index.d.ts +0 -15
  467. package/dist/analytics/plugins/index.d.ts.map +0 -1
  468. package/dist/analytics/plugins/index.js +0 -15
  469. package/dist/analytics/plugins/index.js.map +0 -1
  470. package/dist/analytics/plugins/model-metrics.plugin.d.ts +0 -39
  471. package/dist/analytics/plugins/model-metrics.plugin.d.ts.map +0 -1
  472. package/dist/analytics/plugins/model-metrics.plugin.js +0 -105
  473. package/dist/analytics/plugins/model-metrics.plugin.js.map +0 -1
  474. package/dist/analytics/plugins/provider-metrics.plugin.d.ts +0 -41
  475. package/dist/analytics/plugins/provider-metrics.plugin.d.ts.map +0 -1
  476. package/dist/analytics/plugins/provider-metrics.plugin.js +0 -123
  477. package/dist/analytics/plugins/provider-metrics.plugin.js.map +0 -1
  478. package/dist/analytics/plugins/types.d.ts +0 -61
  479. package/dist/analytics/plugins/types.d.ts.map +0 -1
  480. package/dist/analytics/plugins/types.js +0 -54
  481. package/dist/analytics/plugins/types.js.map +0 -1
  482. package/dist/analytics/privacy.d.ts +0 -10
  483. package/dist/analytics/privacy.d.ts.map +0 -1
  484. package/dist/analytics/privacy.js +0 -20
  485. package/dist/analytics/privacy.js.map +0 -1
  486. package/dist/analytics/remote-submission/cursor-manager.d.ts +0 -71
  487. package/dist/analytics/remote-submission/cursor-manager.d.ts.map +0 -1
  488. package/dist/analytics/remote-submission/cursor-manager.js +0 -204
  489. package/dist/analytics/remote-submission/cursor-manager.js.map +0 -1
  490. package/dist/analytics/remote-submission/index.d.ts +0 -12
  491. package/dist/analytics/remote-submission/index.d.ts.map +0 -1
  492. package/dist/analytics/remote-submission/index.js +0 -11
  493. package/dist/analytics/remote-submission/index.js.map +0 -1
  494. package/dist/analytics/remote-submission/lock-manager.d.ts +0 -71
  495. package/dist/analytics/remote-submission/lock-manager.d.ts.map +0 -1
  496. package/dist/analytics/remote-submission/lock-manager.js +0 -238
  497. package/dist/analytics/remote-submission/lock-manager.js.map +0 -1
  498. package/dist/analytics/remote-submission/metric-transformer.d.ts +0 -49
  499. package/dist/analytics/remote-submission/metric-transformer.d.ts.map +0 -1
  500. package/dist/analytics/remote-submission/metric-transformer.js +0 -175
  501. package/dist/analytics/remote-submission/metric-transformer.js.map +0 -1
  502. package/dist/analytics/remote-submission/submitter.d.ts +0 -78
  503. package/dist/analytics/remote-submission/submitter.d.ts.map +0 -1
  504. package/dist/analytics/remote-submission/submitter.js +0 -381
  505. package/dist/analytics/remote-submission/submitter.js.map +0 -1
  506. package/dist/analytics/remote-submission/types.d.ts +0 -169
  507. package/dist/analytics/remote-submission/types.d.ts.map +0 -1
  508. package/dist/analytics/remote-submission/types.js +0 -13
  509. package/dist/analytics/remote-submission/types.js.map +0 -1
  510. package/dist/analytics/session.d.ts +0 -56
  511. package/dist/analytics/session.d.ts.map +0 -1
  512. package/dist/analytics/session.js +0 -95
  513. package/dist/analytics/session.js.map +0 -1
  514. package/dist/analytics/types.d.ts +0 -104
  515. package/dist/analytics/types.d.ts.map +0 -1
  516. package/dist/analytics/types.js +0 -15
  517. package/dist/analytics/types.js.map +0 -1
  518. package/dist/analytics/writer.d.ts +0 -18
  519. package/dist/analytics/writer.d.ts.map +0 -1
  520. package/dist/analytics/writer.js +0 -44
  521. package/dist/analytics/writer.js.map +0 -1
  522. package/dist/cli/commands/analytics.d.ts +0 -3
  523. package/dist/cli/commands/analytics.d.ts.map +0 -1
  524. package/dist/cli/commands/analytics.js +0 -748
  525. package/dist/cli/commands/analytics.js.map +0 -1
  526. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts +0 -11
  527. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts.map +0 -1
  528. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js +0 -264
  529. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js.map +0 -1
  530. package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts +0 -12
  531. package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts.map +0 -1
  532. package/dist/cli/commands/doctor/providers/BaseProviderCheck.js +0 -12
  533. package/dist/cli/commands/doctor/providers/BaseProviderCheck.js.map +0 -1
  534. package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts +0 -11
  535. package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts.map +0 -1
  536. package/dist/cli/commands/doctor/providers/StandardProviderCheck.js +0 -97
  537. package/dist/cli/commands/doctor/providers/StandardProviderCheck.js.map +0 -1
  538. package/dist/cli/commands/doctor/providers/index.d.ts +0 -30
  539. package/dist/cli/commands/doctor/providers/index.d.ts.map +0 -1
  540. package/dist/cli/commands/doctor/providers/index.js +0 -66
  541. package/dist/cli/commands/doctor/providers/index.js.map +0 -1
  542. package/dist/types/sso.d.ts +0 -42
  543. package/dist/types/sso.d.ts.map +0 -1
  544. package/dist/types/sso.js +0 -2
  545. package/dist/types/sso.js.map +0 -1
  546. package/dist/utils/analytics-reader.d.ts +0 -117
  547. package/dist/utils/analytics-reader.d.ts.map +0 -1
  548. package/dist/utils/analytics-reader.js +0 -421
  549. package/dist/utils/analytics-reader.js.map +0 -1
  550. package/dist/utils/async-tips.d.ts +0 -64
  551. package/dist/utils/async-tips.d.ts.map +0 -1
  552. package/dist/utils/async-tips.js +0 -203
  553. package/dist/utils/async-tips.js.map +0 -1
  554. package/dist/utils/codemie-integration-validator.d.ts +0 -18
  555. package/dist/utils/codemie-integration-validator.d.ts.map +0 -1
  556. package/dist/utils/codemie-integration-validator.js +0 -119
  557. package/dist/utils/codemie-integration-validator.js.map +0 -1
  558. package/dist/utils/codemie-model-fetcher.d.ts +0 -11
  559. package/dist/utils/codemie-model-fetcher.d.ts.map +0 -1
  560. package/dist/utils/codemie-model-fetcher.js +0 -317
  561. package/dist/utils/codemie-model-fetcher.js.map +0 -1
  562. package/dist/utils/date-formatter.d.ts +0 -88
  563. package/dist/utils/date-formatter.d.ts.map +0 -1
  564. package/dist/utils/date-formatter.js +0 -133
  565. package/dist/utils/date-formatter.js.map +0 -1
  566. package/dist/utils/health-checker.d.ts +0 -20
  567. package/dist/utils/health-checker.d.ts.map +0 -1
  568. package/dist/utils/health-checker.js +0 -172
  569. package/dist/utils/health-checker.js.map +0 -1
  570. package/dist/utils/model-fetcher.d.ts +0 -21
  571. package/dist/utils/model-fetcher.d.ts.map +0 -1
  572. package/dist/utils/model-fetcher.js +0 -148
  573. package/dist/utils/model-fetcher.js.map +0 -1
  574. package/dist/utils/proxy/errors.d.ts.map +0 -1
  575. package/dist/utils/proxy/errors.js.map +0 -1
  576. package/dist/utils/proxy/http-client.d.ts.map +0 -1
  577. package/dist/utils/proxy/http-client.js.map +0 -1
  578. package/dist/utils/proxy/plugins/analytics.plugin.d.ts +0 -19
  579. package/dist/utils/proxy/plugins/analytics.plugin.d.ts.map +0 -1
  580. package/dist/utils/proxy/plugins/analytics.plugin.js +0 -84
  581. package/dist/utils/proxy/plugins/analytics.plugin.js.map +0 -1
  582. package/dist/utils/proxy/plugins/header-injection.plugin.d.ts.map +0 -1
  583. package/dist/utils/proxy/plugins/header-injection.plugin.js.map +0 -1
  584. package/dist/utils/proxy/plugins/index.d.ts.map +0 -1
  585. package/dist/utils/proxy/plugins/index.js.map +0 -1
  586. package/dist/utils/proxy/plugins/registry.d.ts.map +0 -1
  587. package/dist/utils/proxy/plugins/registry.js.map +0 -1
  588. package/dist/utils/proxy/plugins/sso-auth.plugin.d.ts.map +0 -1
  589. package/dist/utils/proxy/plugins/sso-auth.plugin.js.map +0 -1
  590. package/dist/utils/proxy/plugins/types.d.ts.map +0 -1
  591. package/dist/utils/proxy/plugins/types.js.map +0 -1
  592. package/dist/utils/proxy/types.d.ts.map +0 -1
  593. package/dist/utils/proxy/types.js.map +0 -1
  594. package/dist/utils/sso-auth.d.ts +0 -15
  595. package/dist/utils/sso-auth.d.ts.map +0 -1
  596. package/dist/utils/sso-auth.js.map +0 -1
  597. package/dist/utils/tips.d.ts +0 -35
  598. package/dist/utils/tips.d.ts.map +0 -1
  599. package/dist/utils/tips.js +0 -93
  600. package/dist/utils/tips.js.map +0 -1
  601. /package/dist/{utils/proxy → proxy}/errors.d.ts +0 -0
  602. /package/dist/{utils/proxy → proxy}/errors.js +0 -0
  603. /package/dist/{utils/proxy → proxy}/http-client.d.ts +0 -0
  604. /package/dist/{utils/proxy → proxy}/plugins/header-injection.plugin.d.ts +0 -0
  605. /package/dist/{utils/proxy → proxy}/plugins/registry.d.ts +0 -0
  606. /package/dist/{utils/proxy → proxy}/plugins/sso-auth.plugin.d.ts +0 -0
  607. /package/dist/{utils/proxy → proxy}/plugins/types.js +0 -0
  608. /package/dist/{utils/proxy → proxy}/types.js +0 -0
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Ollama Model Management
3
+ *
4
+ * Combines model discovery and installation for Ollama.
5
+ * Handles both listing installed models and discovering available models.
6
+ */
7
+ import { BaseModelProxy } from '../../core/base/BaseModelProxy.js';
8
+ import { ProviderRegistry } from '../../core/registry.js';
9
+ import { OllamaTemplate } from './ollama.template.js';
10
+ import { logger } from '../../../utils/logger.js';
11
+ /**
12
+ * Pattern to identify coding model names
13
+ */
14
+ const CODING_MODEL_PATTERNS = [
15
+ /coder/i,
16
+ /code/i,
17
+ /codellama/i,
18
+ /starcoder/i,
19
+ /wizard.*code/i,
20
+ /magic.*code/i
21
+ ];
22
+ /**
23
+ * Check if a model name matches coding patterns
24
+ */
25
+ function isCodingModel(modelName) {
26
+ return CODING_MODEL_PATTERNS.some(pattern => pattern.test(modelName));
27
+ }
28
+ /**
29
+ * Get metadata for a coding model from OllamaTemplate
30
+ */
31
+ function getCodingModelMetadata(modelId) {
32
+ // Extract base name (without tag)
33
+ const baseName = modelId.split(':')[0];
34
+ // Get metadata from template (single source of truth)
35
+ const metadata = OllamaTemplate.modelMetadata?.[baseName];
36
+ if (metadata) {
37
+ return {
38
+ name: metadata.name,
39
+ description: metadata.description,
40
+ popular: metadata.popular ?? false
41
+ };
42
+ }
43
+ // If not in template but matches coding pattern, mark as coding model
44
+ if (isCodingModel(baseName)) {
45
+ return {
46
+ name: modelId,
47
+ description: 'Code-specialized model',
48
+ popular: false
49
+ };
50
+ }
51
+ return {};
52
+ }
53
+ /**
54
+ * Unified Ollama model management
55
+ * Extends BaseModelProxy for common patterns
56
+ */
57
+ export class OllamaModelProxy extends BaseModelProxy {
58
+ constructor(baseUrl = OllamaTemplate.defaultBaseUrl) {
59
+ super(baseUrl, 300000); // 5 minutes for model operations
60
+ }
61
+ /**
62
+ * Check if this proxy supports the given provider
63
+ */
64
+ supports(provider) {
65
+ return provider === 'ollama';
66
+ }
67
+ /**
68
+ * Ollama supports model installation
69
+ */
70
+ supportsInstallation() {
71
+ return true;
72
+ }
73
+ /**
74
+ * List installed models
75
+ */
76
+ async listModels() {
77
+ try {
78
+ const response = await this.client.get(`${this.baseUrl}/api/tags`);
79
+ return response.data.models.map((model) => ({
80
+ id: model.name,
81
+ name: model.name,
82
+ size: model.size,
83
+ metadata: {
84
+ digest: model.digest,
85
+ modified: model.modified_at,
86
+ format: model.details?.format || model.details?.quantization_level || 'unknown'
87
+ }
88
+ }));
89
+ }
90
+ catch (error) {
91
+ throw new Error(`Failed to list models: ${error instanceof Error ? error.message : 'Unknown error'}`);
92
+ }
93
+ }
94
+ /**
95
+ * Fetch available models (for setup/discovery)
96
+ * Returns installed coding models if available, otherwise returns recommended models from template
97
+ */
98
+ async fetchModels(config) {
99
+ try {
100
+ // Use baseUrl from config if provided, otherwise use default
101
+ const baseUrl = config.baseUrl || OllamaTemplate.defaultBaseUrl;
102
+ const proxy = baseUrl === this.baseUrl ? this : new OllamaModelProxy(baseUrl);
103
+ // Try to fetch installed models from Ollama
104
+ const installedModels = await proxy.listModels();
105
+ // If we have installed coding models, return them with enriched metadata
106
+ if (installedModels.length > 0) {
107
+ const codingModels = installedModels
108
+ .filter(m => isCodingModel(m.id))
109
+ .map(m => {
110
+ const metadata = getCodingModelMetadata(m.id);
111
+ return {
112
+ id: m.id,
113
+ name: metadata.name || m.name || m.id,
114
+ description: metadata.description,
115
+ size: m.size,
116
+ popular: metadata.popular || false
117
+ };
118
+ });
119
+ // Return installed coding models if we have any
120
+ if (codingModels.length > 0) {
121
+ return codingModels;
122
+ }
123
+ }
124
+ }
125
+ catch (error) {
126
+ logger.debug('Failed to fetch installed Ollama models:', error);
127
+ }
128
+ // Fall back to template's recommended models with metadata from template
129
+ const recommendedModels = OllamaTemplate.recommendedModels.map(modelId => {
130
+ const metadata = OllamaTemplate.modelMetadata?.[modelId];
131
+ return {
132
+ id: modelId,
133
+ name: metadata?.name || modelId,
134
+ description: metadata?.description,
135
+ popular: metadata?.popular ?? true // All recommended models are popular by default
136
+ };
137
+ });
138
+ return recommendedModels;
139
+ }
140
+ /**
141
+ * Install model with progress tracking
142
+ * Streams real-time progress from Ollama API
143
+ */
144
+ async installModel(modelName, onProgress) {
145
+ try {
146
+ const response = await fetch(`${this.baseUrl}/api/pull`, {
147
+ method: 'POST',
148
+ headers: {
149
+ 'Content-Type': 'application/json',
150
+ },
151
+ body: JSON.stringify({ name: modelName, stream: true }),
152
+ });
153
+ if (!response.ok) {
154
+ throw new Error(`Failed to pull model: ${response.statusText}`);
155
+ }
156
+ if (!response.body) {
157
+ throw new Error('Response body is empty');
158
+ }
159
+ const reader = response.body.getReader();
160
+ const decoder = new TextDecoder();
161
+ let buffer = '';
162
+ while (true) {
163
+ const { done, value } = await reader.read();
164
+ if (done)
165
+ break;
166
+ buffer += decoder.decode(value, { stream: true });
167
+ const lines = buffer.split('\n');
168
+ buffer = lines.pop() || '';
169
+ for (const line of lines) {
170
+ if (!line.trim())
171
+ continue;
172
+ try {
173
+ const data = JSON.parse(line);
174
+ if (onProgress) {
175
+ // Ollama progress format: { status: "pulling manifest", ... }
176
+ // or { status: "downloading", completed: 123, total: 456 }
177
+ if (data.status === 'success' || data.status === 'pulling manifest') {
178
+ onProgress({ status: 'downloading', message: data.status });
179
+ }
180
+ else if (data.completed && data.total) {
181
+ const percent = Math.round((data.completed / data.total) * 100);
182
+ onProgress({
183
+ status: 'downloading',
184
+ progress: percent,
185
+ message: `${data.status || 'Downloading'} (${percent}%)`
186
+ });
187
+ }
188
+ else if (data.status) {
189
+ onProgress({ status: 'downloading', message: data.status });
190
+ }
191
+ }
192
+ }
193
+ catch {
194
+ logger.debug(`Failed to parse progress line for ${modelName}:`, line);
195
+ }
196
+ }
197
+ }
198
+ if (onProgress) {
199
+ onProgress({ status: 'complete', progress: 100, message: `Successfully pulled ${modelName}` });
200
+ }
201
+ }
202
+ catch (error) {
203
+ if (onProgress) {
204
+ onProgress({ status: 'error', message: `Failed to install ${modelName}` });
205
+ }
206
+ throw new Error(`Failed to install model ${modelName}: ${error instanceof Error ? error.message : 'Unknown error'}`);
207
+ }
208
+ }
209
+ /**
210
+ * Remove model
211
+ */
212
+ async removeModel(modelName) {
213
+ try {
214
+ await this.client.post(`${this.baseUrl}/api/delete`, { name: modelName });
215
+ }
216
+ catch (error) {
217
+ throw new Error(`Failed to remove model ${modelName}: ${error instanceof Error ? error.message : 'Unknown error'}`);
218
+ }
219
+ }
220
+ /**
221
+ * Get detailed model information
222
+ */
223
+ async getModelInfo(modelName) {
224
+ try {
225
+ // First check if model exists in list
226
+ const models = await this.listModels();
227
+ const basicInfo = models.find((m) => m.id === modelName);
228
+ if (!basicInfo) {
229
+ return null;
230
+ }
231
+ // Get detailed info from template if available
232
+ const baseName = modelName.split(':')[0];
233
+ const templateMetadata = OllamaTemplate.modelMetadata?.[baseName];
234
+ if (templateMetadata) {
235
+ return {
236
+ ...basicInfo,
237
+ name: templateMetadata.name,
238
+ description: templateMetadata.description,
239
+ popular: templateMetadata.popular,
240
+ contextWindow: templateMetadata.contextWindow
241
+ };
242
+ }
243
+ return basicInfo;
244
+ }
245
+ catch {
246
+ return null;
247
+ }
248
+ }
249
+ }
250
+ // Auto-register model proxy
251
+ ProviderRegistry.registerModelProxy('ollama', new OllamaModelProxy());
252
+ //# sourceMappingURL=ollama.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.models.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAoBlD;;GAEG;AACH,MAAM,qBAAqB,GAAG;IAC5B,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,cAAc;CACf,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa,CAAC,SAAiB;IACtC,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAe;IAC7C,kCAAkC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,sDAAsD;IACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE1D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,KAAK;SACnC,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAClD,YAAY,UAAkB,cAAc,CAAC,cAAc;QACzD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,iCAAiC;IAC3D,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAgB;QACvB,OAAO,QAAQ,KAAK,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAqB,GAAG,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;YAEvF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1C,EAAE,EAAE,KAAK,CAAC,IAAI;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,WAAW;oBAC3B,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,kBAAkB,IAAI,SAAS;iBAChF;aACF,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAA4B;QAC5C,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC;YAChE,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAE9E,4CAA4C;YAC5C,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;YAEjD,yEAAyE;YACzE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAG,eAAe;qBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAChC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACP,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9C,OAAO;wBACL,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;wBACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;wBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,KAAK;qBACnC,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEL,gDAAgD;gBAChD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,YAAY,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QAED,yEAAyE;QACzE,MAAM,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACvE,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO;gBACL,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,OAAO;gBAC/B,WAAW,EAAE,QAAQ,EAAE,WAAW;gBAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,gDAAgD;aACpF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,UAA8C;QAClF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aACxD,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBAAE,SAAS;oBAE3B,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAE9B,IAAI,UAAU,EAAE,CAAC;4BACf,8DAA8D;4BAC9D,2DAA2D;4BAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;gCACpE,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;4BAC9D,CAAC;iCAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gCACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gCAChE,UAAU,CAAC;oCACT,MAAM,EAAE,aAAa;oCACrB,QAAQ,EAAE,OAAO;oCACjB,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,KAAK,OAAO,IAAI;iCACzD,CAAC,CAAC;4BACL,CAAC;iCAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gCACvB,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;4BAC9D,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CAAC,KAAK,CAAC,qCAAqC,SAAS,GAAG,EAAE,IAAI,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,SAAS,EAAE,EAAE,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,SAAS,EAAE,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC;YACd,CAAC;YAED,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,gBAAgB,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;YAElE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO;oBACL,GAAG,SAAS;oBACZ,IAAI,EAAE,gBAAgB,CAAC,IAAI;oBAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW;oBACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;oBACjC,aAAa,EAAE,gBAAgB,CAAC,aAAa;iBAC9C,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,4BAA4B;AAC5B,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Ollama Provider Setup Steps
3
+ *
4
+ * Implements setup flow for Ollama (local model provider).
5
+ * Unique features:
6
+ * - Health check (verify Ollama is running)
7
+ * - Model installation support (extra step)
8
+ */
9
+ import type { ProviderSetupSteps } from '../../core/types.js';
10
+ /**
11
+ * Ollama setup steps implementation
12
+ *
13
+ * Handles Ollama-specific setup flow with health checks and model discovery
14
+ */
15
+ export declare const OllamaSetupSteps: ProviderSetupSteps;
16
+ //# sourceMappingURL=ollama.setup-steps.d.ts.map
@@ -0,0 +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;AAK7B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBA8J9B,CAAC"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Ollama Provider Setup Steps
3
+ *
4
+ * Implements setup flow for Ollama (local model provider).
5
+ * Unique features:
6
+ * - Health check (verify Ollama is running)
7
+ * - Model installation support (extra step)
8
+ */
9
+ import { ProviderRegistry } from '../../core/registry.js';
10
+ import { OllamaTemplate } from './ollama.template.js';
11
+ /**
12
+ * Ollama setup steps implementation
13
+ *
14
+ * Handles Ollama-specific setup flow with health checks and model discovery
15
+ */
16
+ export const OllamaSetupSteps = {
17
+ name: 'ollama',
18
+ /**
19
+ * Get credentials for Ollama
20
+ * Ollama runs locally so no API key needed, just verify it's running
21
+ */
22
+ async getCredentials() {
23
+ const inquirer = (await import('inquirer')).default;
24
+ const ora = (await import('ora')).default;
25
+ const chalk = (await import('chalk')).default;
26
+ const { OllamaHealthCheck } = await import('./ollama.health.js');
27
+ // Ask for Ollama base URL first (allow pressing Enter for default)
28
+ const { baseUrl } = await inquirer.prompt([
29
+ {
30
+ type: 'input',
31
+ name: 'baseUrl',
32
+ message: 'Ollama base URL:',
33
+ default: OllamaTemplate.defaultBaseUrl,
34
+ validate: (input) => input.trim() !== '' || 'Base URL is required'
35
+ }
36
+ ]);
37
+ // Check if Ollama is running at the specified URL
38
+ const healthSpinner = ora('Checking if Ollama is running...').start();
39
+ const healthCheck = new OllamaHealthCheck(baseUrl);
40
+ try {
41
+ const result = await healthCheck.check({
42
+ provider: 'ollama',
43
+ baseUrl,
44
+ apiKey: '',
45
+ model: 'temp',
46
+ timeout: 300
47
+ });
48
+ if (result.status === 'unreachable') {
49
+ healthSpinner.fail(chalk.red('Ollama is not running'));
50
+ console.log(chalk.yellow('\n' + result.remediation + '\n'));
51
+ const { continueAnyway } = await inquirer.prompt([
52
+ {
53
+ type: 'confirm',
54
+ name: 'continueAnyway',
55
+ message: 'Continue with setup anyway?',
56
+ default: false
57
+ }
58
+ ]);
59
+ if (!continueAnyway) {
60
+ throw new Error('Setup cancelled - please start Ollama first');
61
+ }
62
+ }
63
+ else if (result.status === 'unhealthy') {
64
+ // Ollama is running but no models installed - that's OK for setup
65
+ healthSpinner.succeed(chalk.green('Ollama is running (no models installed yet)'));
66
+ console.log(chalk.dim(' You can install models after setup completes\n'));
67
+ }
68
+ else {
69
+ // Healthy - Ollama running with models
70
+ healthSpinner.succeed(chalk.green(result.message));
71
+ }
72
+ }
73
+ catch (error) {
74
+ healthSpinner.fail(chalk.red('Failed to check Ollama health'));
75
+ throw error;
76
+ }
77
+ return {
78
+ baseUrl,
79
+ apiKey: '' // Ollama doesn't use API keys
80
+ };
81
+ },
82
+ /**
83
+ * Fetch available models from Ollama
84
+ */
85
+ async fetchModels(credentials) {
86
+ const { OllamaModelProxy } = await import('./ollama.models.js');
87
+ const modelProxy = new OllamaModelProxy(credentials.baseUrl);
88
+ try {
89
+ const models = await modelProxy.fetchModels({
90
+ provider: 'ollama',
91
+ baseUrl: credentials.baseUrl,
92
+ apiKey: '',
93
+ model: 'temp',
94
+ timeout: 300
95
+ });
96
+ return models.map(m => m.id);
97
+ }
98
+ catch {
99
+ // If fetch fails, return recommended models
100
+ return OllamaTemplate.recommendedModels;
101
+ }
102
+ },
103
+ /**
104
+ * Install model if not already installed
105
+ */
106
+ async installModel(credentials, selectedModel, _availableModels) {
107
+ const ora = (await import('ora')).default;
108
+ const chalk = (await import('chalk')).default;
109
+ const { OllamaModelProxy } = await import('./ollama.models.js');
110
+ const modelProxy = new OllamaModelProxy(credentials.baseUrl);
111
+ // Check if model is actually installed by querying Ollama directly
112
+ let isInstalled = false;
113
+ try {
114
+ const installedModels = await modelProxy.listModels();
115
+ isInstalled = installedModels.some(m => m.id === selectedModel);
116
+ }
117
+ catch {
118
+ // If we can't check, assume not installed
119
+ isInstalled = false;
120
+ }
121
+ if (isInstalled) {
122
+ console.log(chalk.dim(` Model "${selectedModel}" is already installed\n`));
123
+ return;
124
+ }
125
+ // Model needs to be installed
126
+ console.log(chalk.cyan(`\n📦 Installing model: ${selectedModel}`));
127
+ console.log(chalk.dim(' This may take several minutes depending on model size...\n'));
128
+ const installSpinner = ora(`Pulling ${selectedModel}...`).start();
129
+ try {
130
+ await modelProxy.installModel(selectedModel, (progress) => {
131
+ if (progress.status === 'downloading') {
132
+ installSpinner.text = progress.message || `Pulling ${selectedModel}...`;
133
+ }
134
+ else if (progress.status === 'complete') {
135
+ installSpinner.succeed(chalk.green(progress.message || `Successfully installed ${selectedModel}`));
136
+ }
137
+ else if (progress.status === 'error') {
138
+ installSpinner.fail(chalk.red(progress.message || `Failed to install ${selectedModel}`));
139
+ }
140
+ });
141
+ console.log(chalk.green(`✓ Model "${selectedModel}" is ready to use\n`));
142
+ }
143
+ catch (error) {
144
+ installSpinner.fail(chalk.red('Model installation failed'));
145
+ throw new Error(`Failed to install model: ${error instanceof Error ? error.message : 'Unknown error'}`);
146
+ }
147
+ },
148
+ /**
149
+ * Build configuration for Ollama
150
+ */
151
+ buildConfig(credentials, model) {
152
+ return {
153
+ provider: 'ollama',
154
+ baseUrl: credentials.baseUrl,
155
+ apiKey: '', // Ollama doesn't use API keys
156
+ model,
157
+ timeout: 300,
158
+ debug: false
159
+ };
160
+ }
161
+ };
162
+ // Auto-register setup steps
163
+ ProviderRegistry.registerSetupSteps('ollama', OllamaSetupSteps);
164
+ //# sourceMappingURL=ollama.setup-steps.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Ollama Provider Template
3
+ *
4
+ * Template definition for Ollama local LLM runtime.
5
+ * Ollama is a popular open-source tool for running LLMs locally.
6
+ *
7
+ * Auto-registers on import via registerProvider().
8
+ */
9
+ import type { ProviderTemplate } from '../../core/types.js';
10
+ export declare const OllamaTemplate: ProviderTemplate;
11
+ //# sourceMappingURL=ollama.template.d.ts.map
@@ -0,0 +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,kBA8EzB,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Ollama Provider Template
3
+ *
4
+ * Template definition for Ollama local LLM runtime.
5
+ * Ollama is a popular open-source tool for running LLMs locally.
6
+ *
7
+ * Auto-registers on import via registerProvider().
8
+ */
9
+ import { registerProvider } from '../../core/decorators.js';
10
+ export const OllamaTemplate = registerProvider({
11
+ name: 'ollama',
12
+ displayName: 'Ollama',
13
+ description: 'Popular open-source local LLM runner - optimized for coding with 16GB RAM',
14
+ defaultPort: 11434,
15
+ defaultBaseUrl: 'http://localhost:11434',
16
+ requiresAuth: false,
17
+ authType: 'none',
18
+ recommendedModels: [
19
+ 'qwen2.5-coder',
20
+ 'codellama',
21
+ 'deepseek-coder-v2'
22
+ ],
23
+ modelMetadata: {
24
+ 'qwen2.5-coder': {
25
+ name: 'Qwen 2.5 Coder',
26
+ description: 'Excellent for coding tasks (7B, ~5GB)',
27
+ },
28
+ 'codellama': {
29
+ name: 'Code Llama',
30
+ description: 'Optimized for code generation (7B, ~3.8GB)',
31
+ },
32
+ 'deepseek-coder-v2': {
33
+ name: 'DeepSeek Coder V2',
34
+ description: 'Advanced coding model (16B, ~9GB)',
35
+ }
36
+ },
37
+ capabilities: ['streaming', 'tools', 'embeddings', 'model-management'],
38
+ supportsModelInstallation: true,
39
+ envMapping: {
40
+ baseUrl: ['OPENAI_BASE_URL'],
41
+ apiKey: ['OPENAI_API_KEY'],
42
+ model: ['OPENAI_MODEL']
43
+ },
44
+ healthCheckEndpoint: '/api/tags',
45
+ setupInstructions: `
46
+ # Ollama Setup Instructions
47
+
48
+ ## Installation
49
+
50
+ ### macOS
51
+ Download from: https://ollama.com/download/mac
52
+
53
+ ### Linux
54
+ \`\`\`bash
55
+ curl -fsSL https://ollama.com/install.sh | sh
56
+ \`\`\`
57
+
58
+ ### Windows
59
+ Download from: https://ollama.com/download
60
+
61
+ ## Starting Ollama
62
+
63
+ Ollama runs as a background service after installation.
64
+
65
+ ### Verify Running
66
+ \`\`\`bash
67
+ curl http://localhost:11434/api/tags
68
+ \`\`\`
69
+
70
+ ### Using CodeMie
71
+ \`\`\`bash
72
+ codemie models install ollama/llama3.2
73
+ codemie models list ollama
74
+ \`\`\`
75
+
76
+ ## Recommended Coding Models (16GB RAM Compatible)
77
+
78
+ - **qwen2.5-coder**: Excellent for coding tasks (7B parameters, ~5GB)
79
+ - **codellama**: Optimized for code generation (7B parameters, ~3.8GB)
80
+ - **deepseek-coder-v2**: Advanced coding model (16B parameters, ~9GB)
81
+
82
+ ## Documentation
83
+
84
+ - Official website: https://ollama.com
85
+ - Model library: https://ollama.com/library
86
+ - GitHub: https://github.com/ollama/ollama
87
+ `
88
+ });
89
+ //# sourceMappingURL=ollama.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.template.js","sourceRoot":"","sources":["../../../../src/providers/plugins/ollama/ollama.template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAmB;IAC/D,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,2EAA2E;IACxF,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,MAAM;IAChB,iBAAiB,EAAE;QACjB,eAAe;QACf,WAAW;QACX,mBAAmB;KACpB;IACD,aAAa,EAAE;QACb,eAAe,EAAE;YACf,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,uCAAuC;SACrD;QACD,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,4CAA4C;SAC1D;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,mCAAmC;SACjD;KACF;IACD,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,CAAC;IACtE,yBAAyB,EAAE,IAAI;IAC/B,UAAU,EAAE;QACV,OAAO,EAAE,CAAC,iBAAiB,CAAC;QAC5B,MAAM,EAAE,CAAC,gBAAgB,CAAC;QAC1B,KAAK,EAAE,CAAC,cAAc,CAAC;KACxB;IACD,mBAAmB,EAAE,WAAW;IAChC,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CpB;CACA,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SSO Provider - Complete Provider Implementation
3
+ *
4
+ * All SSO-related code in one place for easy maintenance.
5
+ * Auto-registers with ProviderRegistry on import.
6
+ */
7
+ export { SSOTemplate } from './sso.template.js';
8
+ export { CodeMieSSO } from './sso.auth.js';
9
+ export { SSOModelProxy } from './sso.models.js';
10
+ export { SSOHealthCheck } from './sso.health.js';
11
+ export { SSOSetupSteps } from './sso.setup-steps.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * SSO Provider - Complete Provider Implementation
3
+ *
4
+ * All SSO-related code in one place for easy maintenance.
5
+ * Auto-registers with ProviderRegistry on import.
6
+ */
7
+ export { SSOTemplate } from './sso.template.js';
8
+ export { CodeMieSSO } from './sso.auth.js';
9
+ export { SSOModelProxy } from './sso.models.js';
10
+ export { SSOHealthCheck } from './sso.health.js';
11
+ export { SSOSetupSteps } from './sso.setup-steps.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SSO Authentication Module
3
+ *
4
+ * Handles browser-based SSO authentication for CodeMie provider.
5
+ * Manages credential storage and session lifecycle.
6
+ */
7
+ import type { SSOAuthConfig, SSOAuthResult, SSOCredentials } from '../../core/types.js';
8
+ /**
9
+ * CodeMie SSO Authentication
10
+ *
11
+ * Provides browser-based SSO authentication for CodeMie provider
12
+ */
13
+ export declare class CodeMieSSO {
14
+ private server?;
15
+ private callbackResult?;
16
+ private codeMieUrl;
17
+ /**
18
+ * Authenticate via browser SSO
19
+ */
20
+ authenticate(config: SSOAuthConfig): Promise<SSOAuthResult>;
21
+ /**
22
+ * Get stored SSO credentials
23
+ */
24
+ getStoredCredentials(): Promise<SSOCredentials | null>;
25
+ /**
26
+ * Clear stored credentials
27
+ */
28
+ clearStoredCredentials(): Promise<void>;
29
+ /**
30
+ * Ensure API base URL has correct format
31
+ */
32
+ private ensureApiBase;
33
+ /**
34
+ * Start local HTTP server for OAuth callback
35
+ */
36
+ private startLocalServer;
37
+ /**
38
+ * Handle OAuth callback from browser
39
+ */
40
+ private handleCallback;
41
+ /**
42
+ * Wait for OAuth callback with timeout
43
+ */
44
+ private waitForCallback;
45
+ /**
46
+ * Cleanup server resources
47
+ */
48
+ private cleanup;
49
+ }
50
+ //# sourceMappingURL=sso.auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.auth.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxF;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,UAAU,CAAU;IAE5B;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CjE;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAa5D;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsFxB;;OAEG;YACW,cAAc;IA2D5B;;OAEG;YACW,eAAe;IAmB7B;;OAEG;IACH,OAAO,CAAC,OAAO;CAMhB"}