@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,285 @@
1
+ /**
2
+ * Core Types for Provider Plugin Architecture
3
+ *
4
+ * Defines all TypeScript interfaces and types for the provider plugin system.
5
+ */
6
+ import type { CodeMieConfigOptions } from '../../env/types.js';
7
+ /**
8
+ * Provider capabilities
9
+ */
10
+ export type ProviderCapability = 'streaming' | 'tools' | 'vision' | 'embeddings' | 'model-management' | 'fine-tuning' | 'function-calling' | 'json-mode' | 'sso-auth';
11
+ /**
12
+ * Model metadata for enriched display
13
+ */
14
+ export interface ModelMetadata {
15
+ name: string;
16
+ description?: string;
17
+ popular?: boolean;
18
+ contextWindow?: number;
19
+ pricing?: {
20
+ input: number;
21
+ output: number;
22
+ };
23
+ }
24
+ /**
25
+ * Authentication type for providers
26
+ */
27
+ export type AuthenticationType = 'api-key' | 'sso' | 'oauth' | 'none';
28
+ /**
29
+ * Provider template - declarative metadata
30
+ *
31
+ * Auto-registers with ProviderRegistry via @registerProvider decorator
32
+ */
33
+ export interface ProviderTemplate {
34
+ name: string;
35
+ displayName: string;
36
+ description: string;
37
+ defaultPort?: number;
38
+ defaultBaseUrl: string;
39
+ requiresAuth?: boolean;
40
+ authType?: AuthenticationType;
41
+ priority?: number;
42
+ defaultProfileName?: string;
43
+ recommendedModels: string[];
44
+ modelMetadata?: Record<string, ModelMetadata>;
45
+ capabilities: ProviderCapability[];
46
+ supportsModelInstallation: boolean;
47
+ supportsStreaming?: boolean;
48
+ envMapping?: {
49
+ baseUrl?: string[];
50
+ apiKey?: string[];
51
+ model?: string[];
52
+ };
53
+ healthCheckEndpoint?: string;
54
+ setupInstructions?: string;
55
+ customProperties?: Record<string, unknown>;
56
+ }
57
+ /**
58
+ * Model information
59
+ */
60
+ export interface ModelInfo {
61
+ id: string;
62
+ name: string;
63
+ description?: string;
64
+ size?: number;
65
+ contextWindow?: number;
66
+ popular?: boolean;
67
+ metadata?: Record<string, unknown>;
68
+ }
69
+ /**
70
+ * Health check result
71
+ */
72
+ export interface HealthCheckResult {
73
+ provider: string;
74
+ status: 'healthy' | 'unhealthy' | 'unreachable';
75
+ message: string;
76
+ version?: string;
77
+ models?: ModelInfo[];
78
+ remediation?: string;
79
+ details?: HealthCheckDetail[];
80
+ }
81
+ /**
82
+ * Health check detail
83
+ */
84
+ export interface HealthCheckDetail {
85
+ status: 'ok' | 'warning' | 'error';
86
+ message: string;
87
+ hint?: string;
88
+ }
89
+ /**
90
+ * Health check configuration
91
+ */
92
+ export interface HealthCheckConfig {
93
+ provider: string;
94
+ baseUrl: string;
95
+ timeout?: number;
96
+ headers?: Record<string, string>;
97
+ }
98
+ /**
99
+ * Provider health check interface
100
+ *
101
+ * Extends base implementation for common patterns
102
+ */
103
+ export interface ProviderHealthCheck {
104
+ /**
105
+ * Check if this health check supports the given provider
106
+ */
107
+ supports(provider: string): boolean;
108
+ /**
109
+ * Run health check against provider
110
+ */
111
+ check(config: CodeMieConfigOptions): Promise<HealthCheckResult>;
112
+ }
113
+ /**
114
+ * Installation progress callback
115
+ */
116
+ export interface InstallProgress {
117
+ status: 'downloading' | 'installing' | 'complete' | 'error';
118
+ progress?: number;
119
+ message?: string;
120
+ }
121
+ /**
122
+ * Model installer interface
123
+ *
124
+ * For providers that support local model installation (Ollama, LM Studio)
125
+ */
126
+ export interface ModelInstallerProxy {
127
+ /**
128
+ * Check if installation is supported
129
+ */
130
+ supportsInstallation(): boolean;
131
+ /**
132
+ * List installed models
133
+ */
134
+ listModels(): Promise<ModelInfo[]>;
135
+ /**
136
+ * Install model with progress tracking
137
+ */
138
+ installModel(modelName: string, onProgress?: (status: InstallProgress) => void): Promise<void>;
139
+ /**
140
+ * Remove model
141
+ */
142
+ removeModel(modelName: string): Promise<void>;
143
+ /**
144
+ * Get detailed model information
145
+ */
146
+ getModelInfo(modelName: string): Promise<ModelInfo | null>;
147
+ }
148
+ /**
149
+ * Provider model fetcher interface
150
+ *
151
+ * For setup wizard - discover available models
152
+ */
153
+ export interface ProviderModelFetcher {
154
+ /**
155
+ * Check if this fetcher supports the given provider
156
+ */
157
+ supports(provider: string): boolean;
158
+ /**
159
+ * Fetch available models for setup wizard
160
+ *
161
+ * Returns installed models if available, otherwise recommended models
162
+ */
163
+ fetchModels(config: CodeMieConfigOptions): Promise<ModelInfo[]>;
164
+ }
165
+ /**
166
+ * Provider credentials result
167
+ */
168
+ export interface ProviderCredentials {
169
+ baseUrl?: string;
170
+ apiKey?: string;
171
+ additionalConfig?: Record<string, unknown>;
172
+ }
173
+ /**
174
+ * Validation result
175
+ */
176
+ export interface ValidationResult {
177
+ valid: boolean;
178
+ errors?: string[];
179
+ }
180
+ /**
181
+ * Provider setup steps interface
182
+ *
183
+ * Defines interactive setup flow for a provider
184
+ *
185
+ * Note: name should match the provider template name
186
+ * Display name and other metadata come from the template
187
+ */
188
+ export interface ProviderSetupSteps {
189
+ name: string;
190
+ /**
191
+ * Step 1: Gather credentials/configuration
192
+ *
193
+ * Interactive prompts for API keys, URLs, etc.
194
+ */
195
+ getCredentials(isUpdate?: boolean): Promise<ProviderCredentials>;
196
+ /**
197
+ * Step 2: Fetch available models
198
+ *
199
+ * Query provider API to discover models
200
+ */
201
+ fetchModels(credentials: ProviderCredentials): Promise<string[]>;
202
+ /**
203
+ * Step 3: Build final configuration
204
+ *
205
+ * Transform credentials + model selection into CodeMieConfigOptions
206
+ */
207
+ buildConfig(credentials: ProviderCredentials, selectedModel: string): Partial<CodeMieConfigOptions>;
208
+ /**
209
+ * Optional: Install model during setup
210
+ *
211
+ * For providers that support model installation (e.g., Ollama)
212
+ */
213
+ installModel?(credentials: ProviderCredentials, selectedModel: string, availableModels: string[]): Promise<void>;
214
+ /**
215
+ * Optional: Custom validation
216
+ */
217
+ validate?(config: Partial<CodeMieConfigOptions>): Promise<ValidationResult>;
218
+ /**
219
+ * Optional: Post-setup actions
220
+ */
221
+ postSetup?(config: Partial<CodeMieConfigOptions>): Promise<void>;
222
+ }
223
+ /**
224
+ * SSO Authentication Types
225
+ */
226
+ /**
227
+ * SSO authentication configuration
228
+ */
229
+ export interface SSOAuthConfig {
230
+ codeMieUrl: string;
231
+ timeout?: number;
232
+ }
233
+ /**
234
+ * SSO authentication result
235
+ */
236
+ export interface SSOAuthResult {
237
+ success: boolean;
238
+ apiUrl?: string;
239
+ cookies?: Record<string, string>;
240
+ error?: string;
241
+ }
242
+ /**
243
+ * CodeMie model metadata
244
+ */
245
+ export interface CodeMieModel {
246
+ id?: string;
247
+ base_name?: string;
248
+ deployment_name?: string;
249
+ label?: string;
250
+ name?: string;
251
+ description?: string;
252
+ context_length?: number;
253
+ provider?: string;
254
+ multimodal?: boolean;
255
+ react_agent?: boolean;
256
+ enabled?: boolean;
257
+ default?: boolean;
258
+ }
259
+ /**
260
+ * SSO credentials for storage
261
+ */
262
+ export interface SSOCredentials {
263
+ cookies: Record<string, string>;
264
+ apiUrl: string;
265
+ expiresAt?: number;
266
+ }
267
+ /**
268
+ * CodeMie integration metadata
269
+ */
270
+ export interface CodeMieIntegration {
271
+ id: string;
272
+ alias: string;
273
+ project_name: string;
274
+ credential_type: string;
275
+ created_at?: string;
276
+ updated_at?: string;
277
+ }
278
+ /**
279
+ * CodeMie integrations API response
280
+ */
281
+ export interface CodeMieIntegrationsResponse {
282
+ integrations?: CodeMieIntegration[];
283
+ [key: string]: any;
284
+ }
285
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,kBAAkB,GAClB,aAAa,GACb,kBAAkB,GAClB,WAAW,GACX,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAG9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAG9C,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAGF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC;IAEhC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEnC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/F;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAEjC,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjE;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjE;;;;OAIG;IACH,WAAW,CACT,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;;OAIG;IACH,YAAY,CAAC,CACX,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5E;;OAEG;IACH,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Core Types for Provider Plugin Architecture
3
+ *
4
+ * Defines all TypeScript interfaces and types for the provider plugin system.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/providers/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Providers Module - Main Entry Point
3
+ *
4
+ * Imports all provider plugins to trigger auto-registration with ProviderRegistry.
5
+ * Exports core types and registry for external use.
6
+ */
7
+ export { ProviderRegistry } from './core/registry.js';
8
+ export type { ProviderTemplate, ProviderCapability, ModelMetadata, ModelInfo, HealthCheckResult, HealthCheckDetail, HealthCheckConfig, ProviderHealthCheck, InstallProgress, ModelInstallerProxy, ProviderModelFetcher, ProviderCredentials, ValidationResult, ProviderSetupSteps } from './core/types.js';
9
+ export { registerProvider } from './core/decorators.js';
10
+ export { BaseHealthCheck } from './core/base/BaseHealthCheck.js';
11
+ export { BaseModelProxy } from './core/base/BaseModelProxy.js';
12
+ export { HTTPClient } from './core/base/http-client.js';
13
+ export type { HTTPClientConfig, HTTPResponse } from './core/base/http-client.js';
14
+ import './plugins/ollama/index.js';
15
+ import './plugins/sso/index.js';
16
+ import './plugins/litellm/index.js';
17
+ import './plugins/bedrock/index.js';
18
+ export * as Ollama from './plugins/ollama/index.js';
19
+ export * as SSO from './plugins/sso/index.js';
20
+ export * as LiteLLM from './plugins/litellm/index.js';
21
+ export * as Bedrock from './plugins/bedrock/index.js';
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAIjF,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Providers Module - Main Entry Point
3
+ *
4
+ * Imports all provider plugins to trigger auto-registration with ProviderRegistry.
5
+ * Exports core types and registry for external use.
6
+ */
7
+ // Core exports
8
+ export { ProviderRegistry } from './core/registry.js';
9
+ export { registerProvider } from './core/decorators.js';
10
+ export { BaseHealthCheck } from './core/base/BaseHealthCheck.js';
11
+ export { BaseModelProxy } from './core/base/BaseModelProxy.js';
12
+ export { HTTPClient } from './core/base/http-client.js';
13
+ // Import plugins to trigger auto-registration
14
+ // Plugin imports execute their auto-registration code on import
15
+ import './plugins/ollama/index.js';
16
+ import './plugins/sso/index.js';
17
+ import './plugins/litellm/index.js';
18
+ import './plugins/bedrock/index.js';
19
+ // Re-export plugin modules for direct access if needed
20
+ export * as Ollama from './plugins/ollama/index.js';
21
+ export * as SSO from './plugins/sso/index.js';
22
+ export * as LiteLLM from './plugins/litellm/index.js';
23
+ export * as Bedrock from './plugins/bedrock/index.js';
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiBtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,8CAA8C;AAC9C,gEAAgE;AAChE,OAAO,2BAA2B,CAAC;AACnC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Setup UI Utilities
3
+ *
4
+ * Auto-generates UI elements based on provider capabilities and metadata.
5
+ * Provides consistent, polished user experience across all providers.
6
+ */
7
+ import type { ProviderTemplate } from '../core/types.js';
8
+ /**
9
+ * Format provider choice for inquirer
10
+ *
11
+ * Auto-generates formatted choice with:
12
+ * - Auth indicator (šŸ” for auth required, šŸ”“ for no auth)
13
+ * - Display name
14
+ * - Description
15
+ * - Capability hints (dimmed)
16
+ */
17
+ export declare function formatProviderChoice(template: ProviderTemplate): string;
18
+ /**
19
+ * Get provider choice object for inquirer
20
+ *
21
+ * Returns properly formatted choice with name and value
22
+ */
23
+ export declare function getProviderChoice(template: ProviderTemplate): {
24
+ name: string;
25
+ value: string;
26
+ };
27
+ /**
28
+ * Get all provider choices for inquirer
29
+ *
30
+ * Returns array of formatted choices sorted by:
31
+ * 1. Recommended providers first (SSO)
32
+ * 2. Alphabetically
33
+ */
34
+ export declare function getAllProviderChoices(providers: ProviderTemplate[]): Array<{
35
+ name: string;
36
+ value: string;
37
+ }>;
38
+ /**
39
+ * Display provider setup instructions
40
+ *
41
+ * Shows markdown-formatted instructions if available
42
+ */
43
+ export declare function displaySetupInstructions(template: ProviderTemplate): void;
44
+ /**
45
+ * Format model choice with metadata
46
+ *
47
+ * Enhances model display with metadata if available
48
+ */
49
+ export declare function formatModelChoice(modelId: string, template?: ProviderTemplate): {
50
+ name: string;
51
+ value: string;
52
+ };
53
+ /**
54
+ * Get all model choices with metadata
55
+ *
56
+ * Returns array of formatted model choices, sorted by:
57
+ * 1. Recommended models first (template.recommendedModels with partial matching)
58
+ * 2. Alphabetically by model ID
59
+ */
60
+ export declare function getAllModelChoices(models: string[], template?: ProviderTemplate): Array<{
61
+ name: string;
62
+ value: string;
63
+ }>;
64
+ /**
65
+ * Display success message
66
+ *
67
+ * Shows formatted success message with configuration summary
68
+ */
69
+ export declare function displaySetupSuccess(profileName: string, provider: string, model: string): void;
70
+ /**
71
+ * Display error with remediation
72
+ *
73
+ * Shows formatted error message with actionable steps
74
+ */
75
+ export declare function displaySetupError(error: Error, remediation?: string): void;
76
+ //# sourceMappingURL=setup-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-ui.d.ts","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK7F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB3G;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAQzE;AA0BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,gBAAgB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA+BjC;AA8BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBxC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Setup UI Utilities
3
+ *
4
+ * Auto-generates UI elements based on provider capabilities and metadata.
5
+ * Provides consistent, polished user experience across all providers.
6
+ */
7
+ import chalk from 'chalk';
8
+ /**
9
+ * Format provider choice for inquirer
10
+ *
11
+ * Auto-generates formatted choice with:
12
+ * - Auth indicator (šŸ” for auth required, šŸ”“ for no auth)
13
+ * - Display name
14
+ * - Description
15
+ * - Capability hints (dimmed)
16
+ */
17
+ export function formatProviderChoice(template) {
18
+ return `${template.displayName} - ${template.description}`;
19
+ }
20
+ /**
21
+ * Get provider choice object for inquirer
22
+ *
23
+ * Returns properly formatted choice with name and value
24
+ */
25
+ export function getProviderChoice(template) {
26
+ return {
27
+ name: formatProviderChoice(template),
28
+ value: template.name
29
+ };
30
+ }
31
+ /**
32
+ * Get all provider choices for inquirer
33
+ *
34
+ * Returns array of formatted choices sorted by:
35
+ * 1. Recommended providers first (SSO)
36
+ * 2. Alphabetically
37
+ */
38
+ export function getAllProviderChoices(providers) {
39
+ // Sort providers: by priority (lower number = higher priority), then alphabetically
40
+ const sorted = [...providers].sort((a, b) => {
41
+ // First, sort by priority (default to 999 if not specified)
42
+ const priorityA = a.priority ?? 999;
43
+ const priorityB = b.priority ?? 999;
44
+ if (priorityA !== priorityB) {
45
+ return priorityA - priorityB; // Lower priority number comes first
46
+ }
47
+ // If priority is the same, sort alphabetically by display name
48
+ return a.displayName.localeCompare(b.displayName);
49
+ });
50
+ return sorted.map(getProviderChoice);
51
+ }
52
+ /**
53
+ * Display provider setup instructions
54
+ *
55
+ * Shows markdown-formatted instructions if available
56
+ */
57
+ export function displaySetupInstructions(template) {
58
+ if (!template.setupInstructions) {
59
+ return;
60
+ }
61
+ console.log(chalk.cyan('\nšŸ“– Setup Instructions:\n'));
62
+ console.log(template.setupInstructions);
63
+ console.log('');
64
+ }
65
+ /**
66
+ * Check if a model matches any recommended pattern (using partial matching)
67
+ *
68
+ * Helper function to be used before isRecommendedModel is defined
69
+ */
70
+ function matchesAnyRecommendedPattern(modelId, patterns) {
71
+ if (!patterns || patterns.length === 0)
72
+ return false;
73
+ // Normalize strings for comparison (lowercase, remove special chars except hyphen)
74
+ const normalizeForMatching = (str) => str.toLowerCase().replace(/[^a-z0-9-]/g, '');
75
+ const normalizedModel = normalizeForMatching(modelId);
76
+ return patterns.some(pattern => {
77
+ // Exact match
78
+ if (modelId === pattern)
79
+ return true;
80
+ // Partial match
81
+ const normalizedPattern = normalizeForMatching(pattern);
82
+ return normalizedModel.includes(normalizedPattern);
83
+ });
84
+ }
85
+ /**
86
+ * Format model choice with metadata
87
+ *
88
+ * Enhances model display with metadata if available
89
+ */
90
+ export function formatModelChoice(modelId, template) {
91
+ const metadata = template?.modelMetadata?.[modelId];
92
+ // Check if model is recommended (with partial matching support)
93
+ const isRecommended = metadata?.popular ||
94
+ matchesAnyRecommendedPattern(modelId, template?.recommendedModels) ||
95
+ false;
96
+ // If no metadata and not recommended, return plain format
97
+ if (!metadata && !isRecommended) {
98
+ return { name: modelId, value: modelId };
99
+ }
100
+ const popularBadge = isRecommended ? chalk.yellow('⭐ ') : '';
101
+ const mainLine = `${popularBadge}${chalk.white.bold(metadata?.name || modelId)}`;
102
+ const details = [];
103
+ if (metadata?.description) {
104
+ details.push(metadata.description);
105
+ }
106
+ if (metadata?.contextWindow) {
107
+ details.push(`${metadata.contextWindow.toLocaleString()} tokens`);
108
+ }
109
+ const detailLine = details.length > 0 ? `\n ${chalk.dim(details.join(' • '))}` : '';
110
+ return {
111
+ name: mainLine + detailLine,
112
+ value: modelId
113
+ };
114
+ }
115
+ /**
116
+ * Check if a model matches a recommended pattern
117
+ *
118
+ * Supports both exact and partial matching:
119
+ * - Exact: "anthropic.claude-3-5-sonnet-20240620-v1:0" matches "anthropic.claude-3-5-sonnet-20240620-v1:0"
120
+ * - Partial: "anthropic.claude-3-5-sonnet-20240620-v1:0" matches "claude-3-5-sonnet"
121
+ * - Partial: "anthropic.claude-sonnet-4-5-20250929-v1:0" matches "claude-sonnet-4-5"
122
+ *
123
+ * @param modelId Full model ID from provider (e.g., "anthropic.claude-3-5-sonnet-20240620-v1:0")
124
+ * @param recommendedPattern Pattern to match (e.g., "claude-3-5-sonnet" or "claude-sonnet-4-5")
125
+ */
126
+ function isRecommendedModel(modelId, recommendedPattern) {
127
+ // Exact match first
128
+ if (modelId === recommendedPattern) {
129
+ return true;
130
+ }
131
+ // Normalize both strings for comparison (lowercase, remove special chars except hyphen)
132
+ const normalizeForMatching = (str) => str.toLowerCase().replace(/[^a-z0-9-]/g, '');
133
+ const normalizedModel = normalizeForMatching(modelId);
134
+ const normalizedPattern = normalizeForMatching(recommendedPattern);
135
+ // Check if the model ID contains the pattern
136
+ return normalizedModel.includes(normalizedPattern);
137
+ }
138
+ /**
139
+ * Get all model choices with metadata
140
+ *
141
+ * Returns array of formatted model choices, sorted by:
142
+ * 1. Recommended models first (template.recommendedModels with partial matching)
143
+ * 2. Alphabetically by model ID
144
+ */
145
+ export function getAllModelChoices(models, template) {
146
+ // Sort models using common rules
147
+ const sortedModels = [...models].sort((a, b) => {
148
+ // Check if models are recommended (with partial matching)
149
+ const aRecommended = template?.recommendedModels?.some(pattern => isRecommendedModel(a, pattern)) || false;
150
+ const bRecommended = template?.recommendedModels?.some(pattern => isRecommendedModel(b, pattern)) || false;
151
+ // Recommended models first
152
+ if (aRecommended && !bRecommended)
153
+ return -1;
154
+ if (!aRecommended && bRecommended)
155
+ return 1;
156
+ // Then sort alphabetically
157
+ return a.localeCompare(b);
158
+ });
159
+ return sortedModels.map(model => formatModelChoice(model, template));
160
+ }
161
+ /**
162
+ * Display success message
163
+ *
164
+ * Shows formatted success message with configuration summary
165
+ */
166
+ export function displaySetupSuccess(profileName, provider, model) {
167
+ console.log(chalk.bold.green(`\nāœ… Profile "${profileName}" configured successfully!\n`));
168
+ console.log(chalk.cyan(`šŸ”— Provider: ${provider}`));
169
+ console.log(chalk.cyan(`šŸ¤– Model: ${model}`));
170
+ console.log(chalk.cyan(`šŸ“ Config: ~/.codemie/config.json\n`));
171
+ console.log(chalk.bold(`šŸš€ Ready to use! Try: ${chalk.white('codemie-code "test task"')}\n`));
172
+ }
173
+ /**
174
+ * Display error with remediation
175
+ *
176
+ * Shows formatted error message with actionable steps
177
+ */
178
+ export function displaySetupError(error, remediation) {
179
+ console.log(chalk.red(`\nāŒ Setup failed: ${error.message}\n`));
180
+ if (remediation) {
181
+ console.log(chalk.yellow('šŸ’” How to fix:\n'));
182
+ console.log(remediation);
183
+ console.log('');
184
+ }
185
+ }
186
+ //# sourceMappingURL=setup-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-ui.js","sourceRoot":"","sources":["../../../src/providers/integration/setup-ui.ts"],"names":[],"mappings":"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"}