@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
@@ -1,66 +0,0 @@
1
- /**
2
- * Provider health checks registry
3
- */
4
- import { AIRunSSOProviderCheck } from './AIRunSSOProviderCheck.js';
5
- import { StandardProviderCheck } from './StandardProviderCheck.js';
6
- export { BaseProviderCheck } from './BaseProviderCheck.js';
7
- export { AIRunSSOProviderCheck } from './AIRunSSOProviderCheck.js';
8
- export { StandardProviderCheck } from './StandardProviderCheck.js';
9
- /**
10
- * Registry of all provider-specific health checks
11
- */
12
- class ProviderCheckRegistry {
13
- checks = [
14
- new AIRunSSOProviderCheck(),
15
- new StandardProviderCheck()
16
- ];
17
- /**
18
- * Get applicable checks for a given provider
19
- */
20
- getChecksForProvider(provider) {
21
- return this.checks.filter(check => check.supports(provider));
22
- }
23
- /**
24
- * Run all applicable provider checks
25
- * @param config Configuration to check
26
- * @param onProgress Optional callback called before each check starts
27
- */
28
- async runChecks(config, onProgress) {
29
- if (!config.provider) {
30
- return [];
31
- }
32
- const applicableChecks = this.getChecksForProvider(config.provider);
33
- const results = [];
34
- for (const check of applicableChecks) {
35
- try {
36
- // Notify progress if callback provided
37
- if (onProgress) {
38
- onProgress('Provider');
39
- }
40
- const result = await check.check(config);
41
- results.push(result);
42
- }
43
- catch (error) {
44
- // If a check throws an error, capture it
45
- results.push({
46
- name: 'Provider Check Error',
47
- success: false,
48
- details: [{
49
- status: 'error',
50
- message: `Check failed: ${error instanceof Error ? error.message : String(error)}`
51
- }]
52
- });
53
- }
54
- }
55
- return results;
56
- }
57
- /**
58
- * Register a custom provider check
59
- */
60
- register(check) {
61
- this.checks.push(check);
62
- }
63
- }
64
- // Export singleton instance
65
- export const providerCheckRegistry = new ProviderCheckRegistry();
66
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/doctor/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,qBAAqB;IACjB,MAAM,GAA0B;QACtC,IAAI,qBAAqB,EAAE;QAC3B,IAAI,qBAAqB,EAAE;KAC5B,CAAC;IAEF;;OAEG;IACH,oBAAoB,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACb,MAA4B,EAC5B,UAAwC;QAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,uCAAuC;gBACvC,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yCAAyC;gBACzC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,CAAC;4BACR,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;yBACnF,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAA0B;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC"}
@@ -1,42 +0,0 @@
1
- export interface SSOAuthConfig {
2
- codeMieUrl: string;
3
- timeout?: number;
4
- }
5
- export interface SSOAuthResult {
6
- success: boolean;
7
- apiUrl?: string;
8
- cookies?: Record<string, string>;
9
- error?: string;
10
- }
11
- export interface CodeMieModel {
12
- id?: string;
13
- base_name?: string;
14
- deployment_name?: string;
15
- label?: string;
16
- name?: string;
17
- description?: string;
18
- context_length?: number;
19
- provider?: string;
20
- multimodal?: boolean;
21
- react_agent?: boolean;
22
- enabled?: boolean;
23
- default?: boolean;
24
- }
25
- export interface SSOCredentials {
26
- cookies: Record<string, string>;
27
- apiUrl: string;
28
- expiresAt?: number;
29
- }
30
- export interface CodeMieIntegration {
31
- id: string;
32
- alias: string;
33
- project_name: string;
34
- credential_type: string;
35
- created_at?: string;
36
- updated_at?: string;
37
- }
38
- export interface CodeMieIntegrationsResponse {
39
- integrations?: CodeMieIntegration[];
40
- [key: string]: any;
41
- }
42
- //# sourceMappingURL=sso.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../src/types/sso.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
package/dist/types/sso.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sso.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../src/types/sso.ts"],"names":[],"mappings":""}
@@ -1,117 +0,0 @@
1
- /**
2
- * Analytics Reader Utility
3
- * Reads and aggregates analytics data from JSONL files
4
- */
5
- import type { AnalyticsEvent } from '../analytics/types.js';
6
- export interface AnalyticsFilters {
7
- agent?: string;
8
- eventType?: string;
9
- from?: Date;
10
- to?: Date;
11
- }
12
- export interface AnalyticsStats {
13
- totalSessions: number;
14
- successRate: number;
15
- avgLatency: number;
16
- apiRequests: number;
17
- apiErrors: number;
18
- agentUsage: Record<string, {
19
- displayName: string;
20
- sessions: number;
21
- apiCalls: number;
22
- }>;
23
- modelUsage: Record<string, {
24
- apiCalls: number;
25
- }>;
26
- }
27
- /**
28
- * Get analytics directory path
29
- */
30
- export declare function getAnalyticsPath(): string;
31
- /**
32
- * Get analytics file path for a specific date
33
- * @param date - Date in YYYY-MM-DD format
34
- */
35
- export declare function getAnalyticsFilePath(date: string): string;
36
- /**
37
- * Read analytics events for a specific date
38
- * @param date - Date in YYYY-MM-DD format (UTC)
39
- * @returns Array of analytics events
40
- */
41
- export declare function readAnalyticsForDate(date: string): Promise<AnalyticsEvent[]>;
42
- /**
43
- * Read analytics events for a local date
44
- * Handles timezone conversion to read correct UTC files
45
- * @param localDate - Date in YYYY-MM-DD format (local timezone)
46
- * @returns Array of analytics events that fall within the local date
47
- */
48
- export declare function readAnalyticsForLocalDate(localDate: string): Promise<AnalyticsEvent[]>;
49
- /**
50
- * Read analytics events for a date range (UTC dates)
51
- * @param from - Start date (YYYY-MM-DD, UTC)
52
- * @param to - End date (YYYY-MM-DD, UTC)
53
- * @returns Array of analytics events
54
- */
55
- export declare function readAnalyticsForDateRange(from: string, to: string): Promise<AnalyticsEvent[]>;
56
- /**
57
- * Read analytics events for a local date range
58
- * Handles timezone conversion to read correct UTC files
59
- * @param from - Start date (YYYY-MM-DD, local timezone)
60
- * @param to - End date (YYYY-MM-DD, local timezone)
61
- * @returns Array of analytics events that fall within the local date range
62
- */
63
- export declare function readAnalyticsForLocalDateRange(from: string, to: string): Promise<AnalyticsEvent[]>;
64
- /**
65
- * Filter analytics events
66
- * @param events - Array of events to filter
67
- * @param filters - Filter criteria
68
- * @returns Filtered events
69
- */
70
- export declare function filterEvents(events: AnalyticsEvent[], filters: AnalyticsFilters): AnalyticsEvent[];
71
- /**
72
- * Calculate statistics from analytics events
73
- * @param events - Array of analytics events
74
- * @returns Calculated statistics
75
- */
76
- export declare function calculateStats(events: AnalyticsEvent[]): AnalyticsStats;
77
- /**
78
- * Export analytics events to CSV format
79
- * @param events - Array of events to export
80
- * @param outputPath - Output file path
81
- */
82
- export declare function exportToCSV(events: AnalyticsEvent[], outputPath: string): Promise<void>;
83
- /**
84
- * Export analytics events to JSON format
85
- * @param events - Array of events to export
86
- * @param outputPath - Output file path
87
- */
88
- export declare function exportToJSON(events: AnalyticsEvent[], outputPath: string): Promise<void>;
89
- /**
90
- * List all analytics files
91
- * @returns Array of file info with dates and sizes
92
- */
93
- export declare function listAnalyticsFiles(): Promise<Array<{
94
- date: string;
95
- path: string;
96
- size: number;
97
- events: number;
98
- }>>;
99
- /**
100
- * Delete analytics files older than a threshold
101
- * @param olderThanDays - Delete files older than this many days
102
- * @returns Array of deleted file paths
103
- */
104
- export declare function clearOldAnalytics(olderThanDays: number): Promise<string[]>;
105
- /**
106
- * Format file size for display
107
- * @param bytes - Size in bytes
108
- * @returns Formatted string
109
- */
110
- export declare function formatFileSize(bytes: number): string;
111
- /**
112
- * Format duration in milliseconds to human-readable string
113
- * @param ms - Duration in milliseconds
114
- * @returns Formatted string
115
- */
116
- export declare function formatDuration(ms: number): string;
117
- //# sourceMappingURL=analytics-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-reader.d.ts","sourceRoot":"","sources":["../../src/utils/analytics-reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IAGH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA2BlF;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAmB5F;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAgBnG;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAiBxG;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAwBlG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,CA8GvE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C7F;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB9F;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAoDvH;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBhF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKjD"}
@@ -1,421 +0,0 @@
1
- /**
2
- * Analytics Reader Utility
3
- * Reads and aggregates analytics data from JSONL files
4
- */
5
- import { readFile, readdir, stat, unlink } from 'node:fs/promises';
6
- import { join } from 'node:path';
7
- import { homedir } from 'node:os';
8
- import { createReadStream, createWriteStream } from 'node:fs';
9
- import { createInterface } from 'node:readline';
10
- import { getUTCDateString, localDateToUTCRange, getUTCFilesForLocalDate } from './date-formatter.js';
11
- import { AgentRegistry } from '../agents/registry.js';
12
- /**
13
- * Get analytics directory path
14
- */
15
- export function getAnalyticsPath() {
16
- return join(homedir(), '.codemie', 'analytics');
17
- }
18
- /**
19
- * Get analytics file path for a specific date
20
- * @param date - Date in YYYY-MM-DD format
21
- */
22
- export function getAnalyticsFilePath(date) {
23
- return join(getAnalyticsPath(), `${date}.jsonl`);
24
- }
25
- /**
26
- * Read analytics events for a specific date
27
- * @param date - Date in YYYY-MM-DD format (UTC)
28
- * @returns Array of analytics events
29
- */
30
- export async function readAnalyticsForDate(date) {
31
- const filePath = getAnalyticsFilePath(date);
32
- const events = [];
33
- try {
34
- const content = await readFile(filePath, 'utf-8');
35
- const lines = content.trim().split('\n');
36
- for (const line of lines) {
37
- if (line.trim()) {
38
- try {
39
- const event = JSON.parse(line);
40
- events.push(event);
41
- }
42
- catch {
43
- // Skip invalid lines
44
- }
45
- }
46
- }
47
- }
48
- catch (error) {
49
- if (error.code === 'ENOENT') {
50
- // File doesn't exist, return empty array
51
- return [];
52
- }
53
- throw error;
54
- }
55
- return events;
56
- }
57
- /**
58
- * Read analytics events for a local date
59
- * Handles timezone conversion to read correct UTC files
60
- * @param localDate - Date in YYYY-MM-DD format (local timezone)
61
- * @returns Array of analytics events that fall within the local date
62
- */
63
- export async function readAnalyticsForLocalDate(localDate) {
64
- // Get UTC files that might contain events for this local date
65
- const utcDates = getUTCFilesForLocalDate(localDate);
66
- // Get the UTC time range for the local date
67
- const { start, end } = localDateToUTCRange(localDate);
68
- // Read all potentially relevant UTC files
69
- const allEvents = [];
70
- for (const utcDate of utcDates) {
71
- const events = await readAnalyticsForDate(utcDate);
72
- allEvents.push(...events);
73
- }
74
- // Filter to only events within the local date range
75
- return allEvents.filter(event => {
76
- const eventTime = new Date(event.timestamp);
77
- return eventTime >= start && eventTime <= end;
78
- });
79
- }
80
- /**
81
- * Read analytics events for a date range (UTC dates)
82
- * @param from - Start date (YYYY-MM-DD, UTC)
83
- * @param to - End date (YYYY-MM-DD, UTC)
84
- * @returns Array of analytics events
85
- */
86
- export async function readAnalyticsForDateRange(from, to) {
87
- const events = [];
88
- const fromDate = new Date(from + 'T00:00:00.000Z');
89
- const toDate = new Date(to + 'T23:59:59.999Z');
90
- // Iterate through each UTC date in the range
91
- const currentDate = new Date(fromDate);
92
- while (currentDate <= toDate) {
93
- const dateStr = getUTCDateString(currentDate);
94
- const dateEvents = await readAnalyticsForDate(dateStr);
95
- events.push(...dateEvents);
96
- currentDate.setUTCDate(currentDate.getUTCDate() + 1);
97
- }
98
- return events;
99
- }
100
- /**
101
- * Read analytics events for a local date range
102
- * Handles timezone conversion to read correct UTC files
103
- * @param from - Start date (YYYY-MM-DD, local timezone)
104
- * @param to - End date (YYYY-MM-DD, local timezone)
105
- * @returns Array of analytics events that fall within the local date range
106
- */
107
- export async function readAnalyticsForLocalDateRange(from, to) {
108
- // Get UTC time range for the local date range
109
- const { start: startLocal } = localDateToUTCRange(from);
110
- const { end: endLocal } = localDateToUTCRange(to);
111
- // Determine which UTC files to read
112
- const utcFrom = getUTCDateString(startLocal);
113
- const utcTo = getUTCDateString(endLocal);
114
- // Read all events in UTC range
115
- const allEvents = await readAnalyticsForDateRange(utcFrom, utcTo);
116
- // Filter to only events within the local date range
117
- return allEvents.filter(event => {
118
- const eventTime = new Date(event.timestamp);
119
- return eventTime >= startLocal && eventTime <= endLocal;
120
- });
121
- }
122
- /**
123
- * Filter analytics events
124
- * @param events - Array of events to filter
125
- * @param filters - Filter criteria
126
- * @returns Filtered events
127
- */
128
- export function filterEvents(events, filters) {
129
- return events.filter(event => {
130
- if (filters.agent && event.agent !== filters.agent) {
131
- return false;
132
- }
133
- if (filters.eventType && event.eventType !== filters.eventType) {
134
- return false;
135
- }
136
- if (filters.from || filters.to) {
137
- const eventDate = new Date(event.timestamp);
138
- if (filters.from && eventDate < filters.from) {
139
- return false;
140
- }
141
- if (filters.to && eventDate > filters.to) {
142
- return false;
143
- }
144
- }
145
- return true;
146
- });
147
- }
148
- /**
149
- * Calculate statistics from analytics events
150
- * @param events - Array of analytics events
151
- * @returns Calculated statistics
152
- */
153
- export function calculateStats(events) {
154
- const sessions = new Set();
155
- let totalLatency = 0;
156
- let latencyCount = 0;
157
- // API counters
158
- let apiRequests = 0;
159
- let apiErrors = 0;
160
- // Agent usage tracking
161
- const agentUsage = {};
162
- // Model usage tracking
163
- const modelUsage = {};
164
- for (const event of events) {
165
- // Track sessions
166
- if (event.sessionId) {
167
- sessions.add(event.sessionId);
168
- }
169
- // Track event types
170
- switch (event.eventType) {
171
- case 'api_request':
172
- apiRequests++;
173
- if (event.agent) {
174
- if (!agentUsage[event.agent]) {
175
- agentUsage[event.agent] = { sessions: new Set(), apiCalls: 0 };
176
- }
177
- agentUsage[event.agent].apiCalls++;
178
- }
179
- if (event.model) {
180
- if (!modelUsage[event.model]) {
181
- modelUsage[event.model] = { apiCalls: 0 };
182
- }
183
- modelUsage[event.model].apiCalls++;
184
- }
185
- break;
186
- case 'api_error':
187
- apiErrors++;
188
- if (event.agent) {
189
- if (!agentUsage[event.agent]) {
190
- agentUsage[event.agent] = { sessions: new Set(), apiCalls: 0 };
191
- }
192
- agentUsage[event.agent].apiCalls++;
193
- }
194
- if (event.model) {
195
- if (!modelUsage[event.model]) {
196
- modelUsage[event.model] = { apiCalls: 0 };
197
- }
198
- modelUsage[event.model].apiCalls++;
199
- }
200
- break;
201
- }
202
- // Track latency
203
- if (event.metrics?.latencyMs) {
204
- totalLatency += event.metrics.latencyMs;
205
- latencyCount++;
206
- }
207
- // Ensure agent sessions are tracked
208
- if (event.agent && event.sessionId) {
209
- if (!agentUsage[event.agent]) {
210
- agentUsage[event.agent] = { sessions: new Set(), apiCalls: 0 };
211
- }
212
- agentUsage[event.agent].sessions.add(event.sessionId);
213
- }
214
- }
215
- // Calculate success rate from API responses
216
- let apiSuccessCount = 0;
217
- let apiTotalCount = 0;
218
- for (const event of events) {
219
- if (event.eventType === 'api_response' && event.attributes.statusCode) {
220
- apiTotalCount++;
221
- const statusCode = Number(event.attributes.statusCode);
222
- if (statusCode >= 200 && statusCode < 300) {
223
- apiSuccessCount++;
224
- }
225
- }
226
- }
227
- const successRate = apiTotalCount > 0 ? (apiSuccessCount / apiTotalCount) * 100 : 0;
228
- // Convert agent usage to final format with display names from registry
229
- const finalAgentUsage = {};
230
- for (const [agentName, data] of Object.entries(agentUsage)) {
231
- // Get display name from plugin registry
232
- const adapter = AgentRegistry.getAgent(agentName);
233
- const displayName = adapter?.displayName || agentName;
234
- finalAgentUsage[agentName] = {
235
- displayName,
236
- sessions: data.sessions.size,
237
- apiCalls: data.apiCalls
238
- };
239
- }
240
- return {
241
- totalSessions: sessions.size,
242
- successRate,
243
- avgLatency: latencyCount > 0 ? totalLatency / latencyCount : 0,
244
- apiRequests,
245
- apiErrors,
246
- agentUsage: finalAgentUsage,
247
- modelUsage
248
- };
249
- }
250
- /**
251
- * Export analytics events to CSV format
252
- * @param events - Array of events to export
253
- * @param outputPath - Output file path
254
- */
255
- export async function exportToCSV(events, outputPath) {
256
- const writeStream = createWriteStream(outputPath);
257
- // Write CSV header
258
- const headers = [
259
- 'timestamp',
260
- 'eventType',
261
- 'sessionId',
262
- 'installationId',
263
- 'agent',
264
- 'agentVersion',
265
- 'cliVersion',
266
- 'profile',
267
- 'provider',
268
- 'model',
269
- 'latencyMs',
270
- 'attributes'
271
- ];
272
- writeStream.write(headers.join(',') + '\n');
273
- // Write events
274
- for (const event of events) {
275
- const row = [
276
- event.timestamp,
277
- event.eventType,
278
- event.sessionId,
279
- event.installationId,
280
- event.agent,
281
- event.agentVersion,
282
- event.cliVersion,
283
- event.profile,
284
- event.provider,
285
- event.model,
286
- event.metrics?.latencyMs || '',
287
- JSON.stringify(event.attributes).replaceAll('"', '""') // Escape quotes
288
- ];
289
- writeStream.write(row.join(',') + '\n');
290
- }
291
- writeStream.end();
292
- return new Promise((resolve, reject) => {
293
- writeStream.on('finish', resolve);
294
- writeStream.on('error', reject);
295
- });
296
- }
297
- /**
298
- * Export analytics events to JSON format
299
- * @param events - Array of events to export
300
- * @param outputPath - Output file path
301
- */
302
- export async function exportToJSON(events, outputPath) {
303
- const writeStream = createWriteStream(outputPath);
304
- // Write as JSON array
305
- writeStream.write('[\n');
306
- for (let i = 0; i < events.length; i++) {
307
- const event = events[i];
308
- const json = JSON.stringify(event, null, 2);
309
- const indented = json.split('\n').map(line => ' ' + line).join('\n');
310
- writeStream.write(indented);
311
- if (i < events.length - 1) {
312
- writeStream.write(',\n');
313
- }
314
- }
315
- writeStream.write('\n]\n');
316
- writeStream.end();
317
- return new Promise((resolve, reject) => {
318
- writeStream.on('finish', resolve);
319
- writeStream.on('error', reject);
320
- });
321
- }
322
- /**
323
- * List all analytics files
324
- * @returns Array of file info with dates and sizes
325
- */
326
- export async function listAnalyticsFiles() {
327
- const analyticsPath = getAnalyticsPath();
328
- const files = [];
329
- try {
330
- const entries = await readdir(analyticsPath);
331
- for (const entry of entries) {
332
- if (entry.endsWith('.jsonl')) {
333
- const filePath = join(analyticsPath, entry);
334
- const stats = await stat(filePath);
335
- const date = entry.replace('.jsonl', '');
336
- // Count events by counting lines
337
- let eventCount = 0;
338
- try {
339
- const fileStream = createReadStream(filePath);
340
- const rl = createInterface({
341
- input: fileStream,
342
- crlfDelay: Infinity
343
- });
344
- for await (const line of rl) {
345
- if (line.trim()) {
346
- eventCount++;
347
- }
348
- }
349
- }
350
- catch {
351
- // If counting fails, estimate from file size
352
- eventCount = Math.floor(stats.size / 500); // Rough estimate: 500 bytes per event
353
- }
354
- files.push({
355
- date,
356
- path: filePath,
357
- size: stats.size,
358
- events: eventCount
359
- });
360
- }
361
- }
362
- // Sort by date descending (newest first)
363
- files.sort((a, b) => b.date.localeCompare(a.date));
364
- }
365
- catch (error) {
366
- if (error.code === 'ENOENT') {
367
- // Directory doesn't exist, return empty array
368
- return [];
369
- }
370
- throw error;
371
- }
372
- return files;
373
- }
374
- /**
375
- * Delete analytics files older than a threshold
376
- * @param olderThanDays - Delete files older than this many days
377
- * @returns Array of deleted file paths
378
- */
379
- export async function clearOldAnalytics(olderThanDays) {
380
- const files = await listAnalyticsFiles();
381
- const threshold = new Date();
382
- threshold.setDate(threshold.getDate() - olderThanDays);
383
- const deletedFiles = [];
384
- for (const file of files) {
385
- const fileDate = new Date(file.date);
386
- if (fileDate < threshold) {
387
- await unlink(file.path);
388
- deletedFiles.push(file.path);
389
- }
390
- }
391
- return deletedFiles;
392
- }
393
- /**
394
- * Format file size for display
395
- * @param bytes - Size in bytes
396
- * @returns Formatted string
397
- */
398
- export function formatFileSize(bytes) {
399
- if (bytes < 1024)
400
- return `${bytes} B`;
401
- if (bytes < 1024 * 1024)
402
- return `${(bytes / 1024).toFixed(1)} KB`;
403
- if (bytes < 1024 * 1024 * 1024)
404
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
405
- return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
406
- }
407
- /**
408
- * Format duration in milliseconds to human-readable string
409
- * @param ms - Duration in milliseconds
410
- * @returns Formatted string
411
- */
412
- export function formatDuration(ms) {
413
- if (ms < 1000)
414
- return `${ms}ms`;
415
- if (ms < 60000)
416
- return `${(ms / 1000).toFixed(1)}s`;
417
- if (ms < 3600000)
418
- return `${Math.floor(ms / 60000)}m ${Math.floor((ms % 60000) / 1000)}s`;
419
- return `${Math.floor(ms / 3600000)}h ${Math.floor((ms % 3600000) / 60000)}m`;
420
- }
421
- //# sourceMappingURL=analytics-reader.js.map