@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,308 @@
1
+ /**
2
+ * Metrics Collection Types
3
+ *
4
+ * Core type definitions for the metrics collection system.
5
+ * Supports file-based metrics gathering from agent session files.
6
+ */
7
+ /**
8
+ * File snapshot information
9
+ */
10
+ export interface FileInfo {
11
+ path: string;
12
+ size: number;
13
+ createdAt: number;
14
+ modifiedAt: number;
15
+ }
16
+ /**
17
+ * Snapshot of directory state at a point in time
18
+ */
19
+ export interface FileSnapshot {
20
+ timestamp: number;
21
+ files: FileInfo[];
22
+ }
23
+ /**
24
+ * Correlation status
25
+ */
26
+ export type CorrelationStatus = 'pending' | 'matched' | 'failed';
27
+ /**
28
+ * Session status
29
+ */
30
+ export type SessionStatus = 'active' | 'completed' | 'recovered' | 'failed';
31
+ /**
32
+ * Watermark type (per-agent strategy)
33
+ */
34
+ export type WatermarkType = 'hash' | 'line' | 'object';
35
+ /**
36
+ * Watermark data
37
+ */
38
+ export interface Watermark {
39
+ type: WatermarkType;
40
+ value: string;
41
+ updatedAt: number;
42
+ expiresAt: number;
43
+ }
44
+ /**
45
+ * Correlation result
46
+ */
47
+ export interface CorrelationResult {
48
+ status: CorrelationStatus;
49
+ agentSessionFile?: string;
50
+ agentSessionId?: string;
51
+ detectedAt?: number;
52
+ retryCount: number;
53
+ }
54
+ /**
55
+ * Monitoring state
56
+ */
57
+ export interface MonitoringState {
58
+ isActive: boolean;
59
+ lastCheckTime?: number;
60
+ changeCount: number;
61
+ }
62
+ /**
63
+ * Sync status for metrics records
64
+ */
65
+ export type SyncStatus = 'pending' | 'syncing' | 'synced' | 'failed';
66
+ /**
67
+ * Session metadata (stored in ~/.codemie/metrics/sessions/{sessionId}.json)
68
+ * Contains both session info and sync state
69
+ */
70
+ export interface MetricsSession {
71
+ sessionId: string;
72
+ agentName: string;
73
+ provider: string;
74
+ startTime: number;
75
+ endTime?: number;
76
+ workingDirectory: string;
77
+ correlation: CorrelationResult;
78
+ monitoring: MonitoringState;
79
+ watermark?: Watermark;
80
+ status: SessionStatus;
81
+ syncState?: SyncState;
82
+ }
83
+ /**
84
+ * Tool execution status
85
+ */
86
+ export type ToolStatus = 'pending' | 'success' | 'error';
87
+ /**
88
+ * File operation type
89
+ */
90
+ export type FileOperationType = 'read' | 'write' | 'edit' | 'delete' | 'glob' | 'grep';
91
+ /**
92
+ * File operation details
93
+ */
94
+ export interface FileOperation {
95
+ type: FileOperationType;
96
+ path?: string;
97
+ pattern?: string;
98
+ language?: string;
99
+ format?: string;
100
+ linesAdded?: number;
101
+ linesRemoved?: number;
102
+ linesModified?: number;
103
+ durationMs?: number;
104
+ }
105
+ /**
106
+ * Detailed tool call metric
107
+ */
108
+ export interface ToolCallMetric {
109
+ id: string;
110
+ name: string;
111
+ timestamp: number;
112
+ status: ToolStatus;
113
+ input?: Record<string, unknown>;
114
+ error?: string;
115
+ fileOperation?: FileOperation;
116
+ }
117
+ /**
118
+ * Aggregated tool usage summary
119
+ */
120
+ export interface ToolUsageSummary {
121
+ name: string;
122
+ count: number;
123
+ successCount?: number;
124
+ errorCount?: number;
125
+ fileOperations?: {
126
+ read?: number;
127
+ write?: number;
128
+ edit?: number;
129
+ delete?: number;
130
+ glob?: number;
131
+ grep?: number;
132
+ };
133
+ }
134
+ /**
135
+ * Metric snapshot (extracted from agent session file)
136
+ * This represents the current state of all metrics for a session
137
+ */
138
+ export interface MetricSnapshot {
139
+ sessionId: string;
140
+ timestamp: number;
141
+ tokens?: {
142
+ input: number;
143
+ output: number;
144
+ cacheCreation?: number;
145
+ cacheRead?: number;
146
+ };
147
+ toolCalls?: ToolCallMetric[];
148
+ toolUsageSummary?: ToolUsageSummary[];
149
+ turnCount?: number;
150
+ duration?: number;
151
+ model?: string;
152
+ metadata?: Record<string, unknown>;
153
+ }
154
+ /**
155
+ * Delta record (JSONL line in session_metrics.jsonl)
156
+ * Each line represents incremental metrics for one turn
157
+ */
158
+ export interface MetricDelta {
159
+ recordId: string;
160
+ sessionId: string;
161
+ agentSessionId: string;
162
+ timestamp: number | string;
163
+ gitBranch?: string;
164
+ tokens: {
165
+ input: number;
166
+ output: number;
167
+ cacheCreation?: number;
168
+ cacheRead?: number;
169
+ };
170
+ tools: {
171
+ [toolName: string]: number;
172
+ };
173
+ toolStatus?: {
174
+ [toolName: string]: {
175
+ success: number;
176
+ failure: number;
177
+ };
178
+ };
179
+ fileOperations?: {
180
+ type: 'read' | 'write' | 'edit' | 'delete' | 'glob' | 'grep';
181
+ path?: string;
182
+ pattern?: string;
183
+ language?: string;
184
+ format?: string;
185
+ linesAdded?: number;
186
+ linesRemoved?: number;
187
+ linesModified?: number;
188
+ durationMs?: number;
189
+ }[];
190
+ models?: string[];
191
+ apiErrorMessage?: string;
192
+ userPrompts?: {
193
+ count: number;
194
+ text?: string;
195
+ }[];
196
+ syncStatus: SyncStatus;
197
+ syncedAt?: number;
198
+ syncAttempts: number;
199
+ syncError?: string;
200
+ }
201
+ /**
202
+ * User prompt record (from history file)
203
+ */
204
+ export interface UserPrompt {
205
+ display: string;
206
+ timestamp: number;
207
+ project: string;
208
+ sessionId: string;
209
+ pastedContents?: Record<string, unknown>;
210
+ }
211
+ /**
212
+ * Sync state (sync_state.json)
213
+ */
214
+ export interface SyncState {
215
+ sessionId: string;
216
+ agentSessionId: string;
217
+ sessionStartTime: number;
218
+ sessionEndTime?: number;
219
+ status: 'active' | 'completed' | 'failed';
220
+ lastProcessedLine: number;
221
+ lastProcessedTimestamp: number;
222
+ processedRecordIds: string[];
223
+ attachedUserPromptTexts?: string[];
224
+ lastSyncedRecordId?: string;
225
+ lastSyncAt?: number;
226
+ totalDeltas: number;
227
+ totalSynced: number;
228
+ totalFailed: number;
229
+ }
230
+ /**
231
+ * Agent-specific metrics support interface
232
+ */
233
+ export interface AgentMetricsSupport {
234
+ /**
235
+ * Get data paths for this agent
236
+ */
237
+ getDataPaths(): {
238
+ sessionsDir: string;
239
+ settingsDir?: string;
240
+ };
241
+ /**
242
+ * Check if file path matches agent's session file pattern
243
+ */
244
+ matchesSessionPattern(path: string): boolean;
245
+ /**
246
+ * Extract session ID from file path
247
+ */
248
+ extractSessionId(path: string): string;
249
+ /**
250
+ * Parse session file and extract metrics (full snapshot)
251
+ */
252
+ parseSessionFile(path: string): Promise<MetricSnapshot>;
253
+ /**
254
+ * Parse incremental metrics from session file
255
+ * Returns only new deltas since fromLine
256
+ */
257
+ parseIncrementalMetrics(path: string, processedRecordIds: Set<string>, attachedUserPromptTexts?: Set<string>): Promise<{
258
+ deltas: MetricDelta[];
259
+ lastLine: number;
260
+ newlyAttachedPrompts?: string[];
261
+ }>;
262
+ /**
263
+ * Get user prompts for a specific session
264
+ * Each agent implements this to parse their specific history format
265
+ *
266
+ * @param sessionId - Agent session ID
267
+ * @param fromTimestamp - Start timestamp (Unix ms) - optional
268
+ * @param toTimestamp - End timestamp (Unix ms) - optional
269
+ * @returns Array of user prompts
270
+ */
271
+ getUserPrompts(sessionId: string, fromTimestamp?: number, toTimestamp?: number): Promise<UserPrompt[]>;
272
+ /**
273
+ * Get watermark strategy for this agent
274
+ */
275
+ getWatermarkStrategy(): WatermarkType;
276
+ /**
277
+ * Get initialization delay (ms) for this agent
278
+ */
279
+ getInitDelay(): number;
280
+ }
281
+ /**
282
+ * File change event
283
+ */
284
+ export interface FileChangeEvent {
285
+ path: string;
286
+ timestamp: number;
287
+ size: number;
288
+ hash: string;
289
+ }
290
+ /**
291
+ * Metrics configuration
292
+ */
293
+ export interface MetricsConfig {
294
+ enabled: (provider: string) => boolean;
295
+ initDelay: Record<string, number>;
296
+ retry: {
297
+ attempts: number;
298
+ delays: number[];
299
+ };
300
+ monitoring: {
301
+ pollInterval: number;
302
+ debounceDelay: number;
303
+ };
304
+ watermark: {
305
+ ttl: number;
306
+ };
307
+ }
308
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Metrics Collection Types
3
+ *
4
+ * Core type definitions for the metrics collection system.
5
+ * Supports file-based metrics gathering from agent session files.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Base Health Check Implementation
3
+ *
4
+ * Provides common patterns for health checks:
5
+ * - HTTP client with timeout
6
+ * - Ping/version detection
7
+ * - Model listing
8
+ * - Error handling
9
+ */
10
+ import type { CodeMieConfigOptions } from '../../../env/types.js';
11
+ import type { ProviderHealthCheck, HealthCheckResult, HealthCheckConfig, ModelInfo } from '../types.js';
12
+ import { HTTPClient } from './http-client.js';
13
+ /**
14
+ * Base health check implementation
15
+ */
16
+ export declare abstract class BaseHealthCheck implements ProviderHealthCheck {
17
+ protected client: HTTPClient;
18
+ protected config: HealthCheckConfig;
19
+ constructor(config: HealthCheckConfig);
20
+ /**
21
+ * Check if this health check supports the given provider
22
+ */
23
+ supports(provider: string): boolean;
24
+ /**
25
+ * Main health check flow
26
+ * 1. Ping server
27
+ * 2. Get version
28
+ * 3. List models (if applicable)
29
+ * 4. Validate configured model (if specified)
30
+ */
31
+ check(config: CodeMieConfigOptions): Promise<HealthCheckResult>;
32
+ /**
33
+ * Ping server to check if it's reachable
34
+ */
35
+ protected abstract ping(): Promise<void>;
36
+ /**
37
+ * Get provider version
38
+ */
39
+ protected abstract getVersion(): Promise<string | undefined>;
40
+ /**
41
+ * List available models (optional - override if needed)
42
+ */
43
+ protected listModels(): Promise<ModelInfo[]>;
44
+ /**
45
+ * Get result for unreachable server
46
+ */
47
+ protected getUnreachableResult(error?: unknown): HealthCheckResult;
48
+ /**
49
+ * Get healthy message
50
+ */
51
+ protected getHealthyMessage(models: ModelInfo[]): string;
52
+ /**
53
+ * Get remediation for no models
54
+ */
55
+ protected getNoModelsRemediation(): string;
56
+ }
57
+ //# sourceMappingURL=BaseHealthCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseHealthCheck.d.ts","sourceRoot":"","sources":["../../../../src/providers/core/base/BaseHealthCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAEjB,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,8BAAsB,eAAgB,YAAW,mBAAmB;IAClE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAExB,MAAM,EAAE,iBAAiB;IAWrC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwDrE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAE5D;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIlD;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,iBAAiB;IASlE;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM;IAMxD;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM;CAG3C"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Base Health Check Implementation
3
+ *
4
+ * Provides common patterns for health checks:
5
+ * - HTTP client with timeout
6
+ * - Ping/version detection
7
+ * - Model listing
8
+ * - Error handling
9
+ */
10
+ import { HTTPClient } from './http-client.js';
11
+ /**
12
+ * Base health check implementation
13
+ */
14
+ export class BaseHealthCheck {
15
+ client;
16
+ config;
17
+ constructor(config) {
18
+ this.config = {
19
+ timeout: 5000,
20
+ ...config
21
+ };
22
+ this.client = new HTTPClient({
23
+ timeout: this.config.timeout,
24
+ headers: this.config.headers
25
+ });
26
+ }
27
+ /**
28
+ * Check if this health check supports the given provider
29
+ */
30
+ supports(provider) {
31
+ return provider === this.config.provider;
32
+ }
33
+ /**
34
+ * Main health check flow
35
+ * 1. Ping server
36
+ * 2. Get version
37
+ * 3. List models (if applicable)
38
+ * 4. Validate configured model (if specified)
39
+ */
40
+ async check(config) {
41
+ try {
42
+ // 1. Ping server
43
+ await this.ping();
44
+ // 2. Get version
45
+ const version = await this.getVersion();
46
+ // 3. List models (if applicable)
47
+ const models = await this.listModels().catch(() => []);
48
+ // 4. Build details with model validation
49
+ const details = [];
50
+ // Validate configured model if specified
51
+ if (config.model && models.length > 0) {
52
+ const configuredModel = config.model;
53
+ const modelAvailable = models.some(m => m.id === configuredModel);
54
+ if (modelAvailable) {
55
+ details.push({
56
+ status: 'ok',
57
+ message: `Model '${configuredModel}' available`
58
+ });
59
+ }
60
+ else {
61
+ details.push({
62
+ status: 'warning',
63
+ message: `Model '${configuredModel}' not found`,
64
+ hint: `Available: ${models.slice(0, 3).map(m => m.id).join(', ')}${models.length > 3 ? '...' : ''}`
65
+ });
66
+ }
67
+ }
68
+ // Build result
69
+ const result = {
70
+ provider: this.config.provider,
71
+ status: 'healthy',
72
+ message: this.getHealthyMessage(models),
73
+ version,
74
+ models,
75
+ details
76
+ };
77
+ // Check if models are available
78
+ if (models.length === 0) {
79
+ result.status = 'unhealthy';
80
+ result.message = 'No models available';
81
+ result.remediation = this.getNoModelsRemediation();
82
+ }
83
+ return result;
84
+ }
85
+ catch (error) {
86
+ return this.getUnreachableResult(error);
87
+ }
88
+ }
89
+ /**
90
+ * List available models (optional - override if needed)
91
+ */
92
+ async listModels() {
93
+ return [];
94
+ }
95
+ /**
96
+ * Get result for unreachable server
97
+ */
98
+ getUnreachableResult(error) {
99
+ return {
100
+ provider: this.config.provider,
101
+ status: 'unreachable',
102
+ message: `Provider is not reachable: ${error instanceof Error ? error.message : String(error)}`,
103
+ remediation: 'Check if the provider is running and accessible'
104
+ };
105
+ }
106
+ /**
107
+ * Get healthy message
108
+ */
109
+ getHealthyMessage(models) {
110
+ return models.length > 0
111
+ ? `Provider is healthy with ${models.length} model(s) available`
112
+ : 'Provider is healthy';
113
+ }
114
+ /**
115
+ * Get remediation for no models
116
+ */
117
+ getNoModelsRemediation() {
118
+ return 'Install models via provider CLI or CodeMie models command';
119
+ }
120
+ }
121
+ //# sourceMappingURL=BaseHealthCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseHealthCheck.js","sourceRoot":"","sources":["../../../../src/providers/core/base/BaseHealthCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAgB,eAAe;IACzB,MAAM,CAAa;IACnB,MAAM,CAAoB;IAEpC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,GAAG,MAAM;SACV,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC;YAC3B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAgB;QACvB,OAAO,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,MAA4B;QACtC,IAAI,CAAC;YACH,iBAAiB;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,iBAAiB;YACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExC,iCAAiC;YACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvD,yCAAyC;YACzC,MAAM,OAAO,GAAwB,EAAE,CAAC;YAExC,yCAAyC;YACzC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC;gBAElE,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,UAAU,eAAe,aAAa;qBAChD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,UAAU,eAAe,aAAa;wBAC/C,IAAI,EAAE,cAAc,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;qBACpG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,eAAe;YACf,MAAM,MAAM,GAAsB;gBAChC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACvC,OAAO;gBACP,MAAM;gBACN,OAAO;aACR,CAAC;YAEF,gCAAgC;YAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC5B,MAAM,CAAC,OAAO,GAAG,qBAAqB,CAAC;gBACvC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACrD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAYD;;OAEG;IACO,KAAK,CAAC,UAAU;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACO,oBAAoB,CAAC,KAAe;QAC5C,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC/F,WAAW,EAAE,iDAAiD;SAC/D,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,iBAAiB,CAAC,MAAmB;QAC7C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,4BAA4B,MAAM,CAAC,MAAM,qBAAqB;YAChE,CAAC,CAAC,qBAAqB,CAAC;IAC5B,CAAC;IAED;;OAEG;IACO,sBAAsB;QAC9B,OAAO,2DAA2D,CAAC;IACrE,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Base Model Proxy Implementation
3
+ *
4
+ * Unified implementation for both ModelInstallerProxy and ProviderModelFetcher
5
+ */
6
+ import type { CodeMieConfigOptions } from '../../../env/types.js';
7
+ import type { ModelInstallerProxy, ProviderModelFetcher, ModelInfo, InstallProgress } from '../types.js';
8
+ import { HTTPClient } from './http-client.js';
9
+ /**
10
+ * Base model proxy implementation
11
+ */
12
+ export declare abstract class BaseModelProxy implements ModelInstallerProxy, ProviderModelFetcher {
13
+ protected client: HTTPClient;
14
+ protected baseUrl: string;
15
+ constructor(baseUrl: string, timeout?: number);
16
+ /**
17
+ * Check if this proxy supports the given provider
18
+ */
19
+ abstract supports(provider: string): boolean;
20
+ /**
21
+ * List installed models
22
+ */
23
+ abstract listModels(): Promise<ModelInfo[]>;
24
+ /**
25
+ * Fetch models for setup wizard
26
+ */
27
+ abstract fetchModels(config: CodeMieConfigOptions): Promise<ModelInfo[]>;
28
+ /**
29
+ * Check if installation is supported
30
+ */
31
+ supportsInstallation(): boolean;
32
+ /**
33
+ * Install model with progress tracking
34
+ */
35
+ installModel(_modelName: string, _onProgress?: (status: InstallProgress) => void): Promise<void>;
36
+ /**
37
+ * Remove model
38
+ */
39
+ removeModel(_modelName: string): Promise<void>;
40
+ /**
41
+ * Get detailed model information
42
+ */
43
+ getModelInfo(modelName: string): Promise<ModelInfo | null>;
44
+ }
45
+ //# sourceMappingURL=BaseModelProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseModelProxy.d.ts","sourceRoot":"","sources":["../../../../src/providers/core/base/BaseModelProxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACT,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,8BAAsB,cAAe,YAAW,mBAAmB,EAAE,oBAAoB;IACvF,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,SAAQ;IAK5C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAE5C;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAExE;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAItG;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAIjE"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Base Model Proxy Implementation
3
+ *
4
+ * Unified implementation for both ModelInstallerProxy and ProviderModelFetcher
5
+ */
6
+ import { HTTPClient } from './http-client.js';
7
+ /**
8
+ * Base model proxy implementation
9
+ */
10
+ export class BaseModelProxy {
11
+ client;
12
+ baseUrl;
13
+ constructor(baseUrl, timeout = 10000) {
14
+ this.baseUrl = baseUrl;
15
+ this.client = new HTTPClient({ timeout });
16
+ }
17
+ /**
18
+ * Check if installation is supported
19
+ */
20
+ supportsInstallation() {
21
+ return false;
22
+ }
23
+ /**
24
+ * Install model with progress tracking
25
+ */
26
+ async installModel(_modelName, _onProgress) {
27
+ throw new Error('Model installation not supported by this provider');
28
+ }
29
+ /**
30
+ * Remove model
31
+ */
32
+ async removeModel(_modelName) {
33
+ throw new Error('Model removal not supported by this provider');
34
+ }
35
+ /**
36
+ * Get detailed model information
37
+ */
38
+ async getModelInfo(modelName) {
39
+ const models = await this.listModels();
40
+ return models.find(m => m.id === modelName) || null;
41
+ }
42
+ }
43
+ //# sourceMappingURL=BaseModelProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseModelProxy.js","sourceRoot":"","sources":["../../../../src/providers/core/base/BaseModelProxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAgB,cAAc;IACxB,MAAM,CAAa;IACnB,OAAO,CAAS;IAE1B,YAAY,OAAe,EAAE,OAAO,GAAG,KAAK;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IAiBD;;OAEG;IACH,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,WAA+C;QACpF,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Simple HTTP Client for Provider Plugins
3
+ *
4
+ * Lightweight HTTP client with timeout, redirect, and retry support
5
+ */
6
+ import http from 'http';
7
+ export interface HTTPClientConfig {
8
+ timeout?: number;
9
+ headers?: Record<string, string>;
10
+ maxRedirects?: number;
11
+ maxRetries?: number;
12
+ rejectUnauthorized?: boolean;
13
+ }
14
+ export interface HTTPResponse<T = unknown> {
15
+ status: number;
16
+ statusText: string;
17
+ data: T;
18
+ headers: Record<string, string>;
19
+ }
20
+ /**
21
+ * Simple HTTP Client
22
+ */
23
+ export declare class HTTPClient {
24
+ private config;
25
+ constructor(config?: HTTPClientConfig);
26
+ /**
27
+ * Perform HTTP GET request with retry logic
28
+ */
29
+ get<T = unknown>(url: string, headers?: Record<string, string>): Promise<HTTPResponse<T>>;
30
+ /**
31
+ * Perform HTTP POST request with retry logic
32
+ */
33
+ post<T = unknown>(url: string, data?: unknown, headers?: Record<string, string>): Promise<HTTPResponse<T>>;
34
+ /**
35
+ * Perform HTTP GET request with redirect support (returns raw string)
36
+ */
37
+ getRaw(url: string, headers?: Record<string, string>): Promise<{
38
+ statusCode?: number;
39
+ statusMessage?: string;
40
+ headers: http.IncomingHttpHeaders;
41
+ data: string;
42
+ }>;
43
+ /**
44
+ * Perform HTTP request
45
+ */
46
+ private request;
47
+ /**
48
+ * Make HTTP request with automatic redirect following
49
+ * Handles 301, 302, 303, 307, 308 redirects following HTTP standards
50
+ */
51
+ private requestWithRedirects;
52
+ /**
53
+ * Retry wrapper with exponential backoff
54
+ */
55
+ private withRetry;
56
+ }
57
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../../src/providers/core/base/http-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA6B;gBAE/B,MAAM,GAAE,gBAAqB;IAWzC;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI/F;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAIhH;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAYtK;;OAEG;YACW,OAAO;IA6ErB;;;OAGG;YACW,oBAAoB;IAqHlC;;OAEG;YACW,SAAS;CAgCxB"}