@codemieai/code 0.0.14 → 0.0.16

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 (370) hide show
  1. package/README.md +32 -15
  2. package/dist/agents/codemie-code/agent.d.ts.map +1 -1
  3. package/dist/agents/codemie-code/agent.js +6 -6
  4. package/dist/agents/codemie-code/agent.js.map +1 -1
  5. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  6. package/dist/agents/codemie-code/config.js +14 -5
  7. package/dist/agents/codemie-code/config.js.map +1 -1
  8. package/dist/agents/codemie-code/filters.js +12 -12
  9. package/dist/agents/codemie-code/filters.js.map +1 -1
  10. package/dist/agents/codemie-code/index.d.ts.map +1 -1
  11. package/dist/agents/codemie-code/index.js +3 -1
  12. package/dist/agents/codemie-code/index.js.map +1 -1
  13. package/dist/agents/codemie-code/storage/todoStorage.js +1 -1
  14. package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -1
  15. package/dist/agents/codemie-code/ui.js +1 -1
  16. package/dist/agents/codemie-code/ui.js.map +1 -1
  17. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  18. package/dist/agents/core/AgentCLI.js +5 -4
  19. package/dist/agents/core/AgentCLI.js.map +1 -1
  20. package/dist/agents/core/BaseAgentAdapter.d.ts +1 -5
  21. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  22. package/dist/agents/core/BaseAgentAdapter.js +5 -26
  23. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  24. package/dist/agents/core/types.d.ts +5 -0
  25. package/dist/agents/core/types.d.ts.map +1 -1
  26. package/dist/agents/plugins/claude.plugin.js +1 -1
  27. package/dist/agents/plugins/claude.plugin.js.map +1 -1
  28. package/dist/agents/plugins/codemie-code.plugin.js +2 -2
  29. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  30. package/dist/agents/plugins/codex.plugin.js +2 -2
  31. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  32. package/dist/agents/plugins/deepagents.plugin.js +1 -1
  33. package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
  34. package/dist/agents/plugins/gemini.plugin.js +1 -1
  35. package/dist/agents/plugins/gemini.plugin.js.map +1 -1
  36. package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +1 -1
  37. package/dist/analytics/aggregation/adapters/claude.adapter.js +75 -15
  38. package/dist/analytics/aggregation/adapters/claude.adapter.js.map +1 -1
  39. package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +1 -1
  40. package/dist/analytics/aggregation/adapters/codex.adapter.js +20 -0
  41. package/dist/analytics/aggregation/adapters/codex.adapter.js.map +1 -1
  42. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +8 -0
  43. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +1 -1
  44. package/dist/analytics/aggregation/adapters/gemini.adapter.js +46 -1
  45. package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +1 -1
  46. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +36 -0
  47. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +1 -1
  48. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +52 -0
  49. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +1 -1
  50. package/dist/analytics/aggregation/core/adapter.interface.d.ts +11 -0
  51. package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +1 -1
  52. package/dist/analytics/aggregation/core/aggregation-utils.d.ts +20 -0
  53. package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +1 -1
  54. package/dist/analytics/aggregation/core/aggregation-utils.js +43 -0
  55. package/dist/analytics/aggregation/core/aggregation-utils.js.map +1 -1
  56. package/dist/analytics/aggregation/core/file-utils.d.ts +2 -1
  57. package/dist/analytics/aggregation/core/file-utils.d.ts.map +1 -1
  58. package/dist/analytics/aggregation/core/file-utils.js +20 -85
  59. package/dist/analytics/aggregation/core/file-utils.js.map +1 -1
  60. package/dist/analytics/aggregation/core/index.d.ts +3 -0
  61. package/dist/analytics/aggregation/core/index.d.ts.map +1 -1
  62. package/dist/analytics/aggregation/core/index.js +3 -0
  63. package/dist/analytics/aggregation/core/index.js.map +1 -1
  64. package/dist/analytics/aggregation/core/user-prompt-source.d.ts +81 -0
  65. package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +1 -0
  66. package/dist/analytics/aggregation/core/user-prompt-source.js +69 -0
  67. package/dist/analytics/aggregation/core/user-prompt-source.js.map +1 -0
  68. package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +49 -0
  69. package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +1 -0
  70. package/dist/analytics/aggregation/core/user-prompt-sources/json.js +66 -0
  71. package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +1 -0
  72. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +43 -0
  73. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +1 -0
  74. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +56 -0
  75. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +1 -0
  76. package/dist/analytics/aggregation/types.d.ts +20 -0
  77. package/dist/analytics/aggregation/types.d.ts.map +1 -1
  78. package/dist/analytics/index.d.ts.map +1 -1
  79. package/dist/analytics/index.js +3 -11
  80. package/dist/analytics/index.js.map +1 -1
  81. package/dist/analytics/remote-submission/cursor-manager.d.ts +71 -0
  82. package/dist/analytics/remote-submission/cursor-manager.d.ts.map +1 -0
  83. package/dist/analytics/remote-submission/cursor-manager.js +204 -0
  84. package/dist/analytics/remote-submission/cursor-manager.js.map +1 -0
  85. package/dist/analytics/remote-submission/index.d.ts +12 -0
  86. package/dist/analytics/remote-submission/index.d.ts.map +1 -0
  87. package/dist/analytics/remote-submission/index.js +11 -0
  88. package/dist/analytics/remote-submission/index.js.map +1 -0
  89. package/dist/analytics/remote-submission/lock-manager.d.ts +71 -0
  90. package/dist/analytics/remote-submission/lock-manager.d.ts.map +1 -0
  91. package/dist/analytics/remote-submission/lock-manager.js +238 -0
  92. package/dist/analytics/remote-submission/lock-manager.js.map +1 -0
  93. package/dist/analytics/remote-submission/metric-transformer.d.ts +21 -0
  94. package/dist/analytics/remote-submission/metric-transformer.d.ts.map +1 -0
  95. package/dist/analytics/remote-submission/metric-transformer.js +82 -0
  96. package/dist/analytics/remote-submission/metric-transformer.js.map +1 -0
  97. package/dist/analytics/remote-submission/submitter.d.ts +79 -0
  98. package/dist/analytics/remote-submission/submitter.d.ts.map +1 -0
  99. package/dist/analytics/remote-submission/submitter.js +362 -0
  100. package/dist/analytics/remote-submission/submitter.js.map +1 -0
  101. package/dist/analytics/remote-submission/types.d.ts +123 -0
  102. package/dist/analytics/remote-submission/types.d.ts.map +1 -0
  103. package/dist/analytics/remote-submission/types.js +13 -0
  104. package/dist/analytics/remote-submission/types.js.map +1 -0
  105. package/dist/cli/commands/analytics.d.ts.map +1 -1
  106. package/dist/cli/commands/analytics.js +181 -12
  107. package/dist/cli/commands/analytics.js.map +1 -1
  108. package/dist/cli/commands/auth.d.ts.map +1 -1
  109. package/dist/cli/commands/auth.js +10 -5
  110. package/dist/cli/commands/auth.js.map +1 -1
  111. package/dist/cli/commands/doctor/checks/AIConfigCheck.d.ts.map +1 -1
  112. package/dist/cli/commands/doctor/checks/AIConfigCheck.js +12 -5
  113. package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
  114. package/dist/cli/commands/doctor/formatter.d.ts +1 -1
  115. package/dist/cli/commands/doctor/formatter.d.ts.map +1 -1
  116. package/dist/cli/commands/doctor/formatter.js +1 -6
  117. package/dist/cli/commands/doctor/formatter.js.map +1 -1
  118. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  119. package/dist/cli/commands/doctor/index.js +36 -9
  120. package/dist/cli/commands/doctor/index.js.map +1 -1
  121. package/dist/cli/commands/doctor/type-adapters.d.ts +18 -0
  122. package/dist/cli/commands/doctor/type-adapters.d.ts.map +1 -0
  123. package/dist/cli/commands/doctor/type-adapters.js +75 -0
  124. package/dist/cli/commands/doctor/type-adapters.js.map +1 -0
  125. package/dist/cli/commands/install.d.ts.map +1 -1
  126. package/dist/cli/commands/install.js +1 -6
  127. package/dist/cli/commands/install.js.map +1 -1
  128. package/dist/cli/commands/list.d.ts.map +1 -1
  129. package/dist/cli/commands/list.js +0 -5
  130. package/dist/cli/commands/list.js.map +1 -1
  131. package/dist/cli/commands/profile.d.ts.map +1 -1
  132. package/dist/cli/commands/profile.js +109 -63
  133. package/dist/cli/commands/profile.js.map +1 -1
  134. package/dist/cli/commands/setup.d.ts.map +1 -1
  135. package/dist/cli/commands/setup.js +169 -660
  136. package/dist/cli/commands/setup.js.map +1 -1
  137. package/dist/cli/commands/workflow.js +1 -1
  138. package/dist/cli/commands/workflow.js.map +1 -1
  139. package/dist/cli/index.d.ts +1 -1
  140. package/dist/cli/index.d.ts.map +1 -1
  141. package/dist/cli/index.js +4 -5
  142. package/dist/cli/index.js.map +1 -1
  143. package/dist/providers/core/base/BaseHealthCheck.d.ts +57 -0
  144. package/dist/providers/core/base/BaseHealthCheck.d.ts.map +1 -0
  145. package/dist/providers/core/base/BaseHealthCheck.js +121 -0
  146. package/dist/providers/core/base/BaseHealthCheck.js.map +1 -0
  147. package/dist/providers/core/base/BaseModelProxy.d.ts +45 -0
  148. package/dist/providers/core/base/BaseModelProxy.d.ts.map +1 -0
  149. package/dist/providers/core/base/BaseModelProxy.js +43 -0
  150. package/dist/providers/core/base/BaseModelProxy.js.map +1 -0
  151. package/dist/providers/core/base/http-client.d.ts +57 -0
  152. package/dist/providers/core/base/http-client.d.ts.map +1 -0
  153. package/dist/providers/core/base/http-client.js +240 -0
  154. package/dist/providers/core/base/http-client.js.map +1 -0
  155. package/dist/providers/core/decorators.d.ts +13 -0
  156. package/dist/providers/core/decorators.d.ts.map +1 -0
  157. package/dist/providers/core/decorators.js +15 -0
  158. package/dist/providers/core/decorators.js.map +1 -0
  159. package/dist/providers/core/index.d.ts +13 -0
  160. package/dist/providers/core/index.d.ts.map +1 -0
  161. package/dist/providers/core/index.js +14 -0
  162. package/dist/providers/core/index.js.map +1 -0
  163. package/dist/providers/core/registry.d.ts +66 -0
  164. package/dist/providers/core/registry.d.ts.map +1 -0
  165. package/dist/providers/core/registry.js +105 -0
  166. package/dist/providers/core/registry.js.map +1 -0
  167. package/dist/providers/core/types.d.ts +285 -0
  168. package/dist/providers/core/types.d.ts.map +1 -0
  169. package/dist/providers/core/types.js +7 -0
  170. package/dist/providers/core/types.js.map +1 -0
  171. package/dist/providers/index.d.ts +20 -0
  172. package/dist/providers/index.d.ts.map +1 -0
  173. package/dist/providers/index.js +22 -0
  174. package/dist/providers/index.js.map +1 -0
  175. package/dist/providers/integration/setup-ui.d.ts +76 -0
  176. package/dist/providers/integration/setup-ui.d.ts.map +1 -0
  177. package/dist/providers/integration/setup-ui.js +141 -0
  178. package/dist/providers/integration/setup-ui.js.map +1 -0
  179. package/dist/providers/plugins/litellm/index.d.ts +8 -0
  180. package/dist/providers/plugins/litellm/index.d.ts.map +1 -0
  181. package/dist/providers/plugins/litellm/index.js +12 -0
  182. package/dist/providers/plugins/litellm/index.js.map +1 -0
  183. package/dist/providers/plugins/litellm/litellm.models.d.ts +27 -0
  184. package/dist/providers/plugins/litellm/litellm.models.d.ts.map +1 -0
  185. package/dist/providers/plugins/litellm/litellm.models.js +48 -0
  186. package/dist/providers/plugins/litellm/litellm.models.js.map +1 -0
  187. package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts +8 -0
  188. package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -0
  189. package/dist/providers/plugins/litellm/litellm.setup-steps.js +52 -0
  190. package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -0
  191. package/dist/providers/plugins/litellm/litellm.template.d.ts +11 -0
  192. package/dist/providers/plugins/litellm/litellm.template.d.ts.map +1 -0
  193. package/dist/providers/plugins/litellm/litellm.template.js +59 -0
  194. package/dist/providers/plugins/litellm/litellm.template.js.map +1 -0
  195. package/dist/providers/plugins/ollama/index.d.ts +11 -0
  196. package/dist/providers/plugins/ollama/index.d.ts.map +1 -0
  197. package/dist/providers/plugins/ollama/index.js +11 -0
  198. package/dist/providers/plugins/ollama/index.js.map +1 -0
  199. package/dist/providers/plugins/ollama/ollama.health.d.ts +48 -0
  200. package/dist/providers/plugins/ollama/ollama.health.d.ts.map +1 -0
  201. package/dist/providers/plugins/ollama/ollama.health.js +87 -0
  202. package/dist/providers/plugins/ollama/ollama.health.js.map +1 -0
  203. package/dist/providers/plugins/ollama/ollama.models.d.ts +47 -0
  204. package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -0
  205. package/dist/providers/plugins/ollama/ollama.models.js +252 -0
  206. package/dist/providers/plugins/ollama/ollama.models.js.map +1 -0
  207. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts +16 -0
  208. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -0
  209. package/dist/providers/plugins/ollama/ollama.setup-steps.js +164 -0
  210. package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -0
  211. package/dist/providers/plugins/ollama/ollama.template.d.ts +11 -0
  212. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -0
  213. package/dist/providers/plugins/ollama/ollama.template.js +87 -0
  214. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -0
  215. package/dist/providers/plugins/sso/index.d.ts +12 -0
  216. package/dist/providers/plugins/sso/index.d.ts.map +1 -0
  217. package/dist/providers/plugins/sso/index.js +12 -0
  218. package/dist/providers/plugins/sso/index.js.map +1 -0
  219. package/dist/providers/plugins/sso/sso.auth.d.ts +50 -0
  220. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -0
  221. package/dist/{utils/sso-auth.js → providers/plugins/sso/sso.auth.js} +37 -2
  222. package/dist/providers/plugins/sso/sso.auth.js.map +1 -0
  223. package/dist/providers/plugins/sso/sso.health.d.ts +44 -0
  224. package/dist/providers/plugins/sso/sso.health.d.ts.map +1 -0
  225. package/dist/providers/plugins/sso/sso.health.js +178 -0
  226. package/dist/providers/plugins/sso/sso.health.js.map +1 -0
  227. package/dist/{utils/codemie-model-fetcher.d.ts → providers/plugins/sso/sso.http-client.d.ts} +16 -5
  228. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -0
  229. package/dist/providers/plugins/sso/sso.http-client.js +187 -0
  230. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -0
  231. package/dist/providers/plugins/sso/sso.models.d.ts +48 -0
  232. package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -0
  233. package/dist/providers/plugins/sso/sso.models.js +139 -0
  234. package/dist/providers/plugins/sso/sso.models.js.map +1 -0
  235. package/dist/providers/plugins/sso/sso.setup-steps.d.ts +16 -0
  236. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -0
  237. package/dist/providers/plugins/sso/sso.setup-steps.js +145 -0
  238. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -0
  239. package/dist/providers/plugins/sso/sso.template.d.ts +11 -0
  240. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -0
  241. package/dist/providers/plugins/sso/sso.template.js +35 -0
  242. package/dist/providers/plugins/sso/sso.template.js.map +1 -0
  243. package/dist/proxy/errors.d.ts.map +1 -0
  244. package/dist/proxy/errors.js.map +1 -0
  245. package/dist/proxy/http-client.d.ts.map +1 -0
  246. package/dist/{utils/proxy → proxy}/http-client.js +1 -1
  247. package/dist/proxy/http-client.js.map +1 -0
  248. package/dist/proxy/plugins/header-injection.plugin.d.ts +16 -0
  249. package/dist/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
  250. package/dist/proxy/plugins/header-injection.plugin.js +52 -0
  251. package/dist/proxy/plugins/header-injection.plugin.js.map +1 -0
  252. package/dist/proxy/plugins/index.d.ts +18 -0
  253. package/dist/proxy/plugins/index.d.ts.map +1 -0
  254. package/dist/proxy/plugins/index.js +28 -0
  255. package/dist/proxy/plugins/index.js.map +1 -0
  256. package/dist/proxy/plugins/logging.plugin.d.ts +22 -0
  257. package/dist/proxy/plugins/logging.plugin.d.ts.map +1 -0
  258. package/dist/proxy/plugins/logging.plugin.js +92 -0
  259. package/dist/proxy/plugins/logging.plugin.js.map +1 -0
  260. package/dist/proxy/plugins/registry.d.ts +50 -0
  261. package/dist/proxy/plugins/registry.d.ts.map +1 -0
  262. package/dist/proxy/plugins/registry.js +124 -0
  263. package/dist/proxy/plugins/registry.js.map +1 -0
  264. package/dist/proxy/plugins/sso-auth.plugin.d.ts +16 -0
  265. package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
  266. package/dist/proxy/plugins/sso-auth.plugin.js +35 -0
  267. package/dist/proxy/plugins/sso-auth.plugin.js.map +1 -0
  268. package/dist/proxy/plugins/types.d.ts +79 -0
  269. package/dist/proxy/plugins/types.d.ts.map +1 -0
  270. package/dist/proxy/plugins/types.js +8 -0
  271. package/dist/proxy/plugins/types.js.map +1 -0
  272. package/dist/proxy/types.d.ts.map +1 -0
  273. package/dist/proxy/types.js.map +1 -0
  274. package/dist/utils/analytics-reader.js +1 -1
  275. package/dist/utils/analytics-reader.js.map +1 -1
  276. package/dist/utils/codemie-proxy.d.ts +43 -22
  277. package/dist/utils/codemie-proxy.d.ts.map +1 -1
  278. package/dist/utils/codemie-proxy.js +158 -88
  279. package/dist/utils/codemie-proxy.js.map +1 -1
  280. package/dist/utils/config-loader.d.ts +5 -6
  281. package/dist/utils/config-loader.d.ts.map +1 -1
  282. package/dist/utils/config-loader.js +72 -92
  283. package/dist/utils/config-loader.js.map +1 -1
  284. package/dist/utils/credential-store.d.ts +1 -1
  285. package/dist/utils/credential-store.d.ts.map +1 -1
  286. package/dist/utils/first-time.d.ts +0 -4
  287. package/dist/utils/first-time.d.ts.map +1 -1
  288. package/dist/utils/first-time.js +5 -117
  289. package/dist/utils/first-time.js.map +1 -1
  290. package/dist/utils/logger.d.ts +31 -1
  291. package/dist/utils/logger.d.ts.map +1 -1
  292. package/dist/utils/logger.js +111 -3
  293. package/dist/utils/logger.js.map +1 -1
  294. package/dist/utils/sanitize.d.ts +28 -0
  295. package/dist/utils/sanitize.d.ts.map +1 -0
  296. package/dist/utils/sanitize.js +213 -0
  297. package/dist/utils/sanitize.js.map +1 -0
  298. package/dist/workflows/installer.d.ts.map +1 -1
  299. package/dist/workflows/installer.js +3 -4
  300. package/dist/workflows/installer.js.map +1 -1
  301. package/package.json +1 -1
  302. package/dist/cli/commands/config.d.ts +0 -3
  303. package/dist/cli/commands/config.d.ts.map +0 -1
  304. package/dist/cli/commands/config.js +0 -198
  305. package/dist/cli/commands/config.js.map +0 -1
  306. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts +0 -11
  307. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.d.ts.map +0 -1
  308. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js +0 -192
  309. package/dist/cli/commands/doctor/providers/AIRunSSOProviderCheck.js.map +0 -1
  310. package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts +0 -12
  311. package/dist/cli/commands/doctor/providers/BaseProviderCheck.d.ts.map +0 -1
  312. package/dist/cli/commands/doctor/providers/BaseProviderCheck.js +0 -12
  313. package/dist/cli/commands/doctor/providers/BaseProviderCheck.js.map +0 -1
  314. package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts +0 -11
  315. package/dist/cli/commands/doctor/providers/StandardProviderCheck.d.ts.map +0 -1
  316. package/dist/cli/commands/doctor/providers/StandardProviderCheck.js +0 -97
  317. package/dist/cli/commands/doctor/providers/StandardProviderCheck.js.map +0 -1
  318. package/dist/cli/commands/doctor/providers/index.d.ts +0 -30
  319. package/dist/cli/commands/doctor/providers/index.d.ts.map +0 -1
  320. package/dist/cli/commands/doctor/providers/index.js +0 -66
  321. package/dist/cli/commands/doctor/providers/index.js.map +0 -1
  322. package/dist/cli/commands/env.d.ts +0 -3
  323. package/dist/cli/commands/env.d.ts.map +0 -1
  324. package/dist/cli/commands/env.js +0 -19
  325. package/dist/cli/commands/env.js.map +0 -1
  326. package/dist/types/sso.d.ts +0 -42
  327. package/dist/types/sso.d.ts.map +0 -1
  328. package/dist/types/sso.js +0 -2
  329. package/dist/types/sso.js.map +0 -1
  330. package/dist/utils/async-tips.d.ts +0 -64
  331. package/dist/utils/async-tips.d.ts.map +0 -1
  332. package/dist/utils/async-tips.js +0 -203
  333. package/dist/utils/async-tips.js.map +0 -1
  334. package/dist/utils/codemie-integration-validator.d.ts +0 -18
  335. package/dist/utils/codemie-integration-validator.d.ts.map +0 -1
  336. package/dist/utils/codemie-integration-validator.js +0 -119
  337. package/dist/utils/codemie-integration-validator.js.map +0 -1
  338. package/dist/utils/codemie-model-fetcher.d.ts.map +0 -1
  339. package/dist/utils/codemie-model-fetcher.js +0 -242
  340. package/dist/utils/codemie-model-fetcher.js.map +0 -1
  341. package/dist/utils/health-checker.d.ts +0 -20
  342. package/dist/utils/health-checker.d.ts.map +0 -1
  343. package/dist/utils/health-checker.js +0 -172
  344. package/dist/utils/health-checker.js.map +0 -1
  345. package/dist/utils/model-fetcher.d.ts +0 -21
  346. package/dist/utils/model-fetcher.d.ts.map +0 -1
  347. package/dist/utils/model-fetcher.js +0 -148
  348. package/dist/utils/model-fetcher.js.map +0 -1
  349. package/dist/utils/proxy/errors.d.ts.map +0 -1
  350. package/dist/utils/proxy/errors.js.map +0 -1
  351. package/dist/utils/proxy/http-client.d.ts.map +0 -1
  352. package/dist/utils/proxy/http-client.js.map +0 -1
  353. package/dist/utils/proxy/interceptors.d.ts +0 -69
  354. package/dist/utils/proxy/interceptors.d.ts.map +0 -1
  355. package/dist/utils/proxy/interceptors.js +0 -308
  356. package/dist/utils/proxy/interceptors.js.map +0 -1
  357. package/dist/utils/proxy/types.d.ts.map +0 -1
  358. package/dist/utils/proxy/types.js.map +0 -1
  359. package/dist/utils/sso-auth.d.ts +0 -15
  360. package/dist/utils/sso-auth.d.ts.map +0 -1
  361. package/dist/utils/sso-auth.js.map +0 -1
  362. package/dist/utils/tips.d.ts +0 -35
  363. package/dist/utils/tips.d.ts.map +0 -1
  364. package/dist/utils/tips.js +0 -93
  365. package/dist/utils/tips.js.map +0 -1
  366. /package/dist/{utils/proxy → proxy}/errors.d.ts +0 -0
  367. /package/dist/{utils/proxy → proxy}/errors.js +0 -0
  368. /package/dist/{utils/proxy → proxy}/http-client.d.ts +0 -0
  369. /package/dist/{utils/proxy → proxy}/types.d.ts +0 -0
  370. /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":"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"}
@@ -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,kBA4EzB,CAAC"}
@@ -0,0 +1,87 @@
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
+ recommendedModels: [
17
+ 'qwen2.5-coder',
18
+ 'codellama',
19
+ 'deepseek-coder-v2'
20
+ ],
21
+ modelMetadata: {
22
+ 'qwen2.5-coder': {
23
+ name: 'Qwen 2.5 Coder',
24
+ description: 'Excellent for coding tasks (7B, ~5GB)',
25
+ },
26
+ 'codellama': {
27
+ name: 'Code Llama',
28
+ description: 'Optimized for code generation (7B, ~3.8GB)',
29
+ },
30
+ 'deepseek-coder-v2': {
31
+ name: 'DeepSeek Coder V2',
32
+ description: 'Advanced coding model (16B, ~9GB)',
33
+ }
34
+ },
35
+ capabilities: ['streaming', 'tools', 'embeddings', 'model-management'],
36
+ supportsModelInstallation: true,
37
+ envMapping: {
38
+ baseUrl: ['OPENAI_BASE_URL'],
39
+ apiKey: ['OPENAI_API_KEY'],
40
+ model: ['OPENAI_MODEL']
41
+ },
42
+ healthCheckEndpoint: '/api/tags',
43
+ setupInstructions: `
44
+ # Ollama Setup Instructions
45
+
46
+ ## Installation
47
+
48
+ ### macOS
49
+ Download from: https://ollama.com/download/mac
50
+
51
+ ### Linux
52
+ \`\`\`bash
53
+ curl -fsSL https://ollama.com/install.sh | sh
54
+ \`\`\`
55
+
56
+ ### Windows
57
+ Download from: https://ollama.com/download
58
+
59
+ ## Starting Ollama
60
+
61
+ Ollama runs as a background service after installation.
62
+
63
+ ### Verify Running
64
+ \`\`\`bash
65
+ curl http://localhost:11434/api/tags
66
+ \`\`\`
67
+
68
+ ### Using CodeMie
69
+ \`\`\`bash
70
+ codemie models install ollama/llama3.2
71
+ codemie models list ollama
72
+ \`\`\`
73
+
74
+ ## Recommended Coding Models (16GB RAM Compatible)
75
+
76
+ - **qwen2.5-coder**: Excellent for coding tasks (7B parameters, ~5GB)
77
+ - **codellama**: Optimized for code generation (7B parameters, ~3.8GB)
78
+ - **deepseek-coder-v2**: Advanced coding model (16B parameters, ~9GB)
79
+
80
+ ## Documentation
81
+
82
+ - Official website: https://ollama.com
83
+ - Model library: https://ollama.com/library
84
+ - GitHub: https://github.com/ollama/ollama
85
+ `
86
+ });
87
+ //# 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,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"}