@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
@@ -1,12 +1,26 @@
1
+ /**
2
+ * SSO Authentication Module
3
+ *
4
+ * Handles browser-based SSO authentication for CodeMie provider.
5
+ * Manages credential storage and session lifecycle.
6
+ */
1
7
  import { createServer } from 'http';
2
8
  import { URL } from 'url';
3
9
  import open from 'open';
4
10
  import chalk from 'chalk';
5
- import { CredentialStore } from './credential-store.js';
11
+ import { CredentialStore } from '../../../utils/credential-store.js';
12
+ /**
13
+ * CodeMie SSO Authentication
14
+ *
15
+ * Provides browser-based SSO authentication for CodeMie provider
16
+ */
6
17
  export class CodeMieSSO {
7
18
  server;
8
19
  callbackResult;
9
20
  codeMieUrl;
21
+ /**
22
+ * Authenticate via browser SSO
23
+ */
10
24
  async authenticate(config) {
11
25
  this.codeMieUrl = config.codeMieUrl;
12
26
  try {
@@ -42,6 +56,9 @@ export class CodeMieSSO {
42
56
  this.cleanup();
43
57
  }
44
58
  }
59
+ /**
60
+ * Get stored SSO credentials
61
+ */
45
62
  async getStoredCredentials() {
46
63
  const store = CredentialStore.getInstance();
47
64
  const credentials = await store.retrieveSSOCredentials();
@@ -52,10 +69,16 @@ export class CodeMieSSO {
52
69
  }
53
70
  return credentials;
54
71
  }
72
+ /**
73
+ * Clear stored credentials
74
+ */
55
75
  async clearStoredCredentials() {
56
76
  const store = CredentialStore.getInstance();
57
77
  await store.clearSSOCredentials();
58
78
  }
79
+ /**
80
+ * Ensure API base URL has correct format
81
+ */
59
82
  ensureApiBase(rawUrl) {
60
83
  let base = rawUrl.replace(/\/$/, '');
61
84
  // If user entered only host, append the known API context
@@ -64,6 +87,9 @@ export class CodeMieSSO {
64
87
  }
65
88
  return base;
66
89
  }
90
+ /**
91
+ * Start local HTTP server for OAuth callback
92
+ */
67
93
  startLocalServer() {
68
94
  return new Promise((resolve, reject) => {
69
95
  let serverPort;
@@ -141,6 +167,9 @@ export class CodeMieSSO {
141
167
  this.server.on('error', reject);
142
168
  });
143
169
  }
170
+ /**
171
+ * Handle OAuth callback from browser
172
+ */
144
173
  async handleCallback(url) {
145
174
  try {
146
175
  const query = url.searchParams;
@@ -194,6 +223,9 @@ export class CodeMieSSO {
194
223
  };
195
224
  }
196
225
  }
226
+ /**
227
+ * Wait for OAuth callback with timeout
228
+ */
197
229
  async waitForCallback(timeout) {
198
230
  return new Promise((resolve, reject) => {
199
231
  const timer = setTimeout(() => {
@@ -211,6 +243,9 @@ export class CodeMieSSO {
211
243
  checkResult();
212
244
  });
213
245
  }
246
+ /**
247
+ * Cleanup server resources
248
+ */
214
249
  cleanup() {
215
250
  if (this.server) {
216
251
  this.server.close();
@@ -218,4 +253,4 @@ export class CodeMieSSO {
218
253
  }
219
254
  }
220
255
  }
221
- //# sourceMappingURL=sso-auth.js.map
256
+ //# sourceMappingURL=sso.auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.auth.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * SSO Health Check Implementation
3
+ *
4
+ * Validates SSO authentication and API connectivity.
5
+ * Checks credentials, expiration, and API access.
6
+ */
7
+ import type { CodeMieConfigOptions } from '../../../env/types.js';
8
+ import type { HealthCheckResult } from '../../core/types.js';
9
+ import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
10
+ /**
11
+ * Health check implementation for SSO provider
12
+ */
13
+ export declare class SSOHealthCheck extends BaseHealthCheck {
14
+ private sso;
15
+ private modelProxy;
16
+ constructor();
17
+ /**
18
+ * Main health check flow for SSO
19
+ *
20
+ * Overrides base implementation to provide SSO-specific checks
21
+ */
22
+ check(config: CodeMieConfigOptions): Promise<HealthCheckResult>;
23
+ /**
24
+ * Ping implementation (not used for SSO, check() handles everything)
25
+ */
26
+ protected ping(): Promise<void>;
27
+ /**
28
+ * Get version (SSO doesn't have a version endpoint)
29
+ */
30
+ protected getVersion(): Promise<string | undefined>;
31
+ /**
32
+ * Get unreachable result
33
+ */
34
+ protected getUnreachableResult(): HealthCheckResult;
35
+ /**
36
+ * Get healthy message
37
+ */
38
+ protected getHealthyMessage(models: any[]): string;
39
+ /**
40
+ * Get no models remediation
41
+ */
42
+ protected getNoModelsRemediation(): string;
43
+ }
44
+ //# sourceMappingURL=sso.health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.health.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.health.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAMrE;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,UAAU,CAAgB;;IAYlC;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqHrE;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIzD;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,iBAAiB;IASnD;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM;IAMlD;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM;CAG3C"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * SSO Health Check Implementation
3
+ *
4
+ * Validates SSO authentication and API connectivity.
5
+ * Checks credentials, expiration, and API access.
6
+ */
7
+ import { BaseHealthCheck } from '../../core/base/BaseHealthCheck.js';
8
+ import { ProviderRegistry } from '../../core/registry.js';
9
+ import { SSOTemplate } from './sso.template.js';
10
+ import { CodeMieSSO } from './sso.auth.js';
11
+ import { SSOModelProxy } from './sso.models.js';
12
+ /**
13
+ * Health check implementation for SSO provider
14
+ */
15
+ export class SSOHealthCheck extends BaseHealthCheck {
16
+ sso;
17
+ modelProxy;
18
+ constructor() {
19
+ super({
20
+ provider: 'ai-run-sso',
21
+ baseUrl: '',
22
+ timeout: 10000
23
+ });
24
+ this.sso = new CodeMieSSO();
25
+ this.modelProxy = new SSOModelProxy();
26
+ }
27
+ /**
28
+ * Main health check flow for SSO
29
+ *
30
+ * Overrides base implementation to provide SSO-specific checks
31
+ */
32
+ async check(config) {
33
+ const details = [];
34
+ // 1. Check CodeMie URL
35
+ if (!config.codeMieUrl) {
36
+ details.push({
37
+ status: 'error',
38
+ message: 'CodeMie URL not configured',
39
+ hint: 'Run: codemie setup'
40
+ });
41
+ return {
42
+ provider: 'ai-run-sso',
43
+ status: 'unhealthy',
44
+ message: 'SSO Configuration incomplete',
45
+ details
46
+ };
47
+ }
48
+ details.push({
49
+ status: 'ok',
50
+ message: `CodeMie URL: ${config.codeMieUrl}`
51
+ });
52
+ // 2. Check credentials
53
+ const credentials = await this.sso.getStoredCredentials();
54
+ if (!credentials) {
55
+ details.push({
56
+ status: 'error',
57
+ message: 'SSO credentials not found',
58
+ hint: 'Run: codemie auth login'
59
+ });
60
+ return {
61
+ provider: 'ai-run-sso',
62
+ status: 'unhealthy',
63
+ message: 'SSO Authentication required',
64
+ details
65
+ };
66
+ }
67
+ details.push({
68
+ status: 'ok',
69
+ message: 'SSO credentials stored'
70
+ });
71
+ // 3. Check expiration
72
+ if (credentials.expiresAt && credentials.expiresAt < Date.now()) {
73
+ details.push({
74
+ status: 'error',
75
+ message: 'SSO session expired',
76
+ hint: 'Run: codemie auth login'
77
+ });
78
+ return {
79
+ provider: 'ai-run-sso',
80
+ status: 'unhealthy',
81
+ message: 'SSO Session expired',
82
+ details
83
+ };
84
+ }
85
+ const expiresInHours = credentials.expiresAt
86
+ ? Math.round((credentials.expiresAt - Date.now()) / (1000 * 60 * 60))
87
+ : null;
88
+ if (expiresInHours !== null) {
89
+ details.push({
90
+ status: expiresInHours < 1 ? 'warning' : 'ok',
91
+ message: `Session expires in ${expiresInHours} hour(s)`,
92
+ hint: expiresInHours < 1 ? 'Consider refreshing session: codemie auth login' : undefined
93
+ });
94
+ }
95
+ // 4. Test API access and validate configured model
96
+ try {
97
+ const models = await this.modelProxy.listModels();
98
+ // Validate configured model is available
99
+ if (config.model) {
100
+ const configuredModel = config.model;
101
+ const modelAvailable = models.some(m => m.id === configuredModel);
102
+ if (modelAvailable) {
103
+ details.push({
104
+ status: 'ok',
105
+ message: `Model '${configuredModel}' available`
106
+ });
107
+ }
108
+ else {
109
+ details.push({
110
+ status: 'warning',
111
+ message: `Model '${configuredModel}' not found`,
112
+ hint: `Available: ${models.slice(0, 3).map(m => m.id).join(', ')}${models.length > 3 ? '...' : ''}`
113
+ });
114
+ }
115
+ }
116
+ return {
117
+ provider: 'ai-run-sso',
118
+ status: 'healthy',
119
+ message: 'Provider operational',
120
+ details,
121
+ models
122
+ };
123
+ }
124
+ catch (error) {
125
+ details.push({
126
+ status: 'error',
127
+ message: 'Provider unreachable',
128
+ hint: error instanceof Error ? error.message : String(error)
129
+ });
130
+ return {
131
+ provider: 'ai-run-sso',
132
+ status: 'unreachable',
133
+ message: 'Cannot connect to provider',
134
+ details
135
+ };
136
+ }
137
+ }
138
+ /**
139
+ * Ping implementation (not used for SSO, check() handles everything)
140
+ */
141
+ async ping() {
142
+ // SSO ping handled in check() method
143
+ }
144
+ /**
145
+ * Get version (SSO doesn't have a version endpoint)
146
+ */
147
+ async getVersion() {
148
+ return 'sso-v1';
149
+ }
150
+ /**
151
+ * Get unreachable result
152
+ */
153
+ getUnreachableResult() {
154
+ return {
155
+ provider: 'ai-run-sso',
156
+ status: 'unreachable',
157
+ message: 'SSO provider is not configured or unreachable',
158
+ remediation: SSOTemplate.setupInstructions
159
+ };
160
+ }
161
+ /**
162
+ * Get healthy message
163
+ */
164
+ getHealthyMessage(models) {
165
+ return models.length > 0
166
+ ? `SSO is healthy with ${models.length} model(s) available`
167
+ : 'SSO is healthy';
168
+ }
169
+ /**
170
+ * Get no models remediation
171
+ */
172
+ getNoModelsRemediation() {
173
+ return 'Contact your CodeMie administrator to enable models';
174
+ }
175
+ }
176
+ // Auto-register health check
177
+ ProviderRegistry.registerHealthCheck('ai-run-sso', new SSOHealthCheck());
178
+ //# sourceMappingURL=sso.health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.health.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.health.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,22 @@
1
- import { CodeMieIntegration } from '../types/sso.js';
1
+ /**
2
+ * SSO HTTP Client
3
+ *
4
+ * CodeMie-specific HTTP client with SSO cookie handling
5
+ */
6
+ import type { CodeMieIntegration } from '../../core/types.js';
7
+ /**
8
+ * CodeMie API endpoints
9
+ */
2
10
  export declare const CODEMIE_ENDPOINTS: {
3
11
  readonly MODELS: "/v1/llm_models";
4
12
  readonly USER_SETTINGS: "/v1/settings/user";
5
13
  };
14
+ /**
15
+ * Fetch models from CodeMie SSO API
16
+ */
6
17
  export declare function fetchCodeMieModels(apiUrl: string, cookies: Record<string, string>): Promise<string[]>;
7
- export declare function fetchCodeMieModelsFromConfig(): Promise<string[]>;
18
+ /**
19
+ * Fetch integrations from CodeMie SSO API (paginated)
20
+ */
8
21
  export declare function fetchCodeMieIntegrations(apiUrl: string, cookies: Record<string, string>, endpointPath?: string): Promise<CodeMieIntegration[]>;
9
- export declare function fetchCodeMieIntegrationsFromConfig(): Promise<CodeMieIntegration[]>;
10
- export declare function validateCodeMieConnectivity(): Promise<void>;
11
- //# sourceMappingURL=codemie-model-fetcher.d.ts.map
22
+ //# sourceMappingURL=sso.http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.http-client.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.http-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAgB,kBAAkB,EAA+B,MAAM,qBAAqB,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CAqDnB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,GAAE,MAAwC,GACrD,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAuD/B"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * SSO HTTP Client
3
+ *
4
+ * CodeMie-specific HTTP client with SSO cookie handling
5
+ */
6
+ import { HTTPClient } from '../../core/base/http-client.js';
7
+ /**
8
+ * CodeMie API endpoints
9
+ */
10
+ export const CODEMIE_ENDPOINTS = {
11
+ MODELS: '/v1/llm_models',
12
+ USER_SETTINGS: '/v1/settings/user'
13
+ };
14
+ /**
15
+ * Fetch models from CodeMie SSO API
16
+ */
17
+ export async function fetchCodeMieModels(apiUrl, cookies) {
18
+ const cookieString = Object.entries(cookies)
19
+ .map(([key, value]) => `${key}=${value}`)
20
+ .join(';');
21
+ const url = `${apiUrl}${CODEMIE_ENDPOINTS.MODELS}`;
22
+ const client = new HTTPClient({
23
+ timeout: 10000,
24
+ maxRetries: 3,
25
+ rejectUnauthorized: false
26
+ });
27
+ const response = await client.getRaw(url, {
28
+ 'cookie': cookieString,
29
+ 'Content-Type': 'application/json',
30
+ 'User-Agent': 'CodeMie-CLI/1.0.0',
31
+ 'X-CodeMie-Client': 'codemie-cli'
32
+ });
33
+ if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
34
+ if (response.statusCode === 401 || response.statusCode === 403) {
35
+ throw new Error('SSO session expired - please run setup again');
36
+ }
37
+ throw new Error(`Failed to fetch models: ${response.statusCode} ${response.statusMessage}`);
38
+ }
39
+ // Parse the response
40
+ const models = JSON.parse(response.data);
41
+ if (!Array.isArray(models)) {
42
+ return [];
43
+ }
44
+ // Filter and map models based on the actual API response structure
45
+ const filteredModels = models
46
+ .filter(model => {
47
+ if (!model)
48
+ return false;
49
+ // Check for different possible model ID fields
50
+ const hasId = model.id && model.id.trim() !== '';
51
+ const hasBaseName = model.base_name && model.base_name.trim() !== '';
52
+ const hasDeploymentName = model.deployment_name && model.deployment_name.trim() !== '';
53
+ return hasId || hasBaseName || hasDeploymentName;
54
+ })
55
+ .map(model => {
56
+ // Use the most appropriate identifier field
57
+ return model.id || model.base_name || model.deployment_name || model.label || 'unknown';
58
+ })
59
+ .filter(id => id !== 'unknown')
60
+ .sort();
61
+ return filteredModels;
62
+ }
63
+ /**
64
+ * Fetch integrations from CodeMie SSO API (paginated)
65
+ */
66
+ export async function fetchCodeMieIntegrations(apiUrl, cookies, endpointPath = CODEMIE_ENDPOINTS.USER_SETTINGS) {
67
+ const cookieString = Object.entries(cookies)
68
+ .map(([key, value]) => `${key}=${value}`)
69
+ .join(';');
70
+ const allIntegrations = [];
71
+ let currentPage = 0;
72
+ const perPage = 50;
73
+ let hasMorePages = true;
74
+ let lastError;
75
+ while (hasMorePages) {
76
+ try {
77
+ // Build URL with query parameters to filter by LiteLLM type
78
+ const filters = JSON.stringify({ type: ['LiteLLM'] });
79
+ const queryParams = new URLSearchParams({
80
+ page: currentPage.toString(),
81
+ per_page: perPage.toString(),
82
+ filters: filters
83
+ });
84
+ const fullUrl = `${apiUrl}${endpointPath}?${queryParams.toString()}`;
85
+ if (process.env.CODEMIE_DEBUG) {
86
+ console.log(`[DEBUG] Fetching integrations from: ${fullUrl}`);
87
+ }
88
+ else {
89
+ console.log(`[INFO] Requesting integrations from: ${fullUrl}`);
90
+ }
91
+ const pageIntegrations = await fetchIntegrationsPage(fullUrl, cookieString);
92
+ if (pageIntegrations.length === 0) {
93
+ hasMorePages = false;
94
+ }
95
+ else {
96
+ allIntegrations.push(...pageIntegrations);
97
+ // If we got fewer items than requested, we've reached the last page
98
+ if (pageIntegrations.length < perPage) {
99
+ hasMorePages = false;
100
+ }
101
+ else {
102
+ currentPage++;
103
+ }
104
+ }
105
+ }
106
+ catch (error) {
107
+ lastError = error instanceof Error ? error : new Error(String(error));
108
+ hasMorePages = false;
109
+ }
110
+ }
111
+ // If we got no integrations and had an error, throw it
112
+ if (allIntegrations.length === 0 && lastError) {
113
+ throw lastError;
114
+ }
115
+ return allIntegrations;
116
+ }
117
+ /**
118
+ * Fetch single page of integrations
119
+ */
120
+ async function fetchIntegrationsPage(fullUrl, cookieString) {
121
+ const client = new HTTPClient({
122
+ timeout: 10000,
123
+ maxRetries: 3,
124
+ rejectUnauthorized: false
125
+ });
126
+ const response = await client.getRaw(fullUrl, {
127
+ 'cookie': cookieString,
128
+ 'Content-Type': 'application/json',
129
+ 'User-Agent': 'CodeMie-CLI/1.0.0',
130
+ 'X-CodeMie-Client': 'codemie-cli'
131
+ });
132
+ if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
133
+ if (response.statusCode === 401 || response.statusCode === 403) {
134
+ throw new Error('SSO session expired - please run setup again');
135
+ }
136
+ if (response.statusCode === 404) {
137
+ throw new Error(`Integrations endpoint not found. Response: ${response.data}`);
138
+ }
139
+ throw new Error(`Failed to fetch integrations: ${response.statusCode} ${response.statusMessage}`);
140
+ }
141
+ // Parse the response - handle flexible response structure
142
+ if (process.env.CODEMIE_DEBUG) {
143
+ console.log('[DEBUG] Integration API response:', response.data.substring(0, 500));
144
+ }
145
+ const responseData = JSON.parse(response.data);
146
+ // Extract integrations from response - try all possible locations
147
+ let integrations = [];
148
+ // Try different possible property names and structures
149
+ const possibleArrays = [
150
+ responseData, // Direct array
151
+ responseData.integrations,
152
+ responseData.credentials,
153
+ responseData.data,
154
+ responseData.items,
155
+ responseData.results,
156
+ responseData.user_integrations,
157
+ responseData.personal_integrations,
158
+ responseData.available_integrations
159
+ ].filter(arr => Array.isArray(arr));
160
+ if (possibleArrays.length > 0) {
161
+ integrations = possibleArrays[0];
162
+ }
163
+ else {
164
+ // Try to find nested objects that might contain arrays
165
+ for (const value of Object.values(responseData)) {
166
+ if (typeof value === 'object' && value !== null) {
167
+ const nestedArrays = Object.values(value).filter(Array.isArray);
168
+ if (nestedArrays.length > 0) {
169
+ integrations = nestedArrays[0];
170
+ break;
171
+ }
172
+ }
173
+ }
174
+ }
175
+ // Filter and validate integrations (already filtered by API, but double-check)
176
+ const validIntegrations = integrations
177
+ .filter(integration => {
178
+ return integration &&
179
+ integration.alias &&
180
+ integration.credential_type &&
181
+ integration.alias.trim() !== '' &&
182
+ integration.credential_type.trim() !== '';
183
+ })
184
+ .sort((a, b) => a.alias.localeCompare(b.alias));
185
+ return validIntegrations;
186
+ }
187
+ //# sourceMappingURL=sso.http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.http-client.js","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * SSO Model Management
3
+ *
4
+ * Fetches available models from CodeMie SSO API.
5
+ * Handles both direct model listing and LiteLLM integration discovery.
6
+ */
7
+ import type { CodeMieConfigOptions } from '../../../env/types.js';
8
+ import type { ModelInfo, CodeMieIntegration } from '../../core/types.js';
9
+ import { BaseModelProxy } from '../../core/base/BaseModelProxy.js';
10
+ /**
11
+ * SSO Model Proxy
12
+ *
13
+ * Fetches models from CodeMie SSO API and LiteLLM integrations
14
+ */
15
+ export declare class SSOModelProxy extends BaseModelProxy {
16
+ private sso;
17
+ constructor(baseUrl?: string);
18
+ /**
19
+ * Check if this proxy supports the given provider
20
+ */
21
+ supports(provider: string): boolean;
22
+ /**
23
+ * SSO does not support local model installation
24
+ */
25
+ supportsInstallation(): boolean;
26
+ /**
27
+ * List models from SSO API
28
+ *
29
+ * Note: This is mainly for consistency with the interface.
30
+ * For SSO, listModels and fetchModels are essentially the same.
31
+ */
32
+ listModels(): Promise<ModelInfo[]>;
33
+ /**
34
+ * Fetch models for setup wizard
35
+ *
36
+ * Returns models from CodeMie SSO API
37
+ */
38
+ fetchModels(config: CodeMieConfigOptions): Promise<ModelInfo[]>;
39
+ /**
40
+ * Fetch LiteLLM integrations
41
+ */
42
+ fetchIntegrations(codeMieUrl: string): Promise<CodeMieIntegration[]>;
43
+ /**
44
+ * Fetch models from CodeMie API
45
+ */
46
+ private fetchModelsFromAPI;
47
+ }
48
+ //# sourceMappingURL=sso.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.models.d.ts","sourceRoot":"","sources":["../../../../src/providers/plugins/sso/sso.models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAOnE;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,CAAC,GAAG,CAAa;gBAEZ,OAAO,CAAC,EAAE,MAAM;IAM5B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAcxC;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAyBrE;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAiC1E;;OAEG;YACW,kBAAkB;CA0BjC"}