@codemieai/code 0.0.16 → 0.0.18

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 (410) hide show
  1. package/README.md +62 -5
  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 +3 -32
  9. package/dist/agents/codemie-code/agent.js.map +1 -1
  10. package/dist/agents/codemie-code/tools/planning.d.ts +2 -2
  11. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  12. package/dist/agents/core/AgentCLI.js +31 -62
  13. package/dist/agents/core/AgentCLI.js.map +1 -1
  14. package/dist/agents/core/BaseAgentAdapter.d.ts +9 -1
  15. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  16. package/dist/agents/core/BaseAgentAdapter.js +125 -10
  17. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  18. package/dist/agents/core/BaseMetricsAdapter.d.ts +64 -0
  19. package/dist/agents/core/BaseMetricsAdapter.d.ts.map +1 -0
  20. package/dist/agents/core/BaseMetricsAdapter.js +74 -0
  21. package/dist/agents/core/BaseMetricsAdapter.js.map +1 -0
  22. package/dist/agents/core/types.d.ts +1 -0
  23. package/dist/agents/core/types.d.ts.map +1 -1
  24. package/dist/agents/plugins/claude.metrics.d.ts +112 -0
  25. package/dist/agents/plugins/claude.metrics.d.ts.map +1 -0
  26. package/dist/agents/plugins/claude.metrics.js +700 -0
  27. package/dist/agents/plugins/claude.metrics.js.map +1 -0
  28. package/dist/agents/plugins/claude.plugin.d.ts +9 -0
  29. package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
  30. package/dist/agents/plugins/claude.plugin.js +52 -10
  31. package/dist/agents/plugins/claude.plugin.js.map +1 -1
  32. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  33. package/dist/agents/plugins/codemie-code.plugin.js +57 -13
  34. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  35. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
  36. package/dist/agents/plugins/codex.plugin.js +1 -3
  37. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  38. package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
  39. package/dist/agents/plugins/gemini.plugin.js +0 -7
  40. package/dist/agents/plugins/gemini.plugin.js.map +1 -1
  41. package/dist/agents/plugins/history-parser.d.ts +52 -0
  42. package/dist/agents/plugins/history-parser.d.ts.map +1 -0
  43. package/dist/agents/plugins/history-parser.js +155 -0
  44. package/dist/agents/plugins/history-parser.js.map +1 -0
  45. package/dist/cli/commands/analytics/aggregator.d.ts +58 -0
  46. package/dist/cli/commands/analytics/aggregator.d.ts.map +1 -0
  47. package/dist/cli/commands/analytics/aggregator.js +702 -0
  48. package/dist/cli/commands/analytics/aggregator.js.map +1 -0
  49. package/dist/cli/commands/analytics/data-loader.d.ts +84 -0
  50. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -0
  51. package/dist/cli/commands/analytics/data-loader.js +211 -0
  52. package/dist/cli/commands/analytics/data-loader.js.map +1 -0
  53. package/dist/cli/commands/analytics/exporter.d.ts +20 -0
  54. package/dist/cli/commands/analytics/exporter.d.ts.map +1 -0
  55. package/dist/cli/commands/analytics/exporter.js +103 -0
  56. package/dist/cli/commands/analytics/exporter.js.map +1 -0
  57. package/dist/cli/commands/analytics/formatter.d.ts +49 -0
  58. package/dist/cli/commands/analytics/formatter.d.ts.map +1 -0
  59. package/dist/cli/commands/analytics/formatter.js +309 -0
  60. package/dist/cli/commands/analytics/formatter.js.map +1 -0
  61. package/dist/cli/commands/analytics/index.d.ts +6 -0
  62. package/dist/cli/commands/analytics/index.d.ts.map +1 -0
  63. package/dist/cli/commands/analytics/index.js +157 -0
  64. package/dist/cli/commands/analytics/index.js.map +1 -0
  65. package/dist/cli/commands/analytics/model-normalizer.d.ts +21 -0
  66. package/dist/cli/commands/analytics/model-normalizer.d.ts.map +1 -0
  67. package/dist/cli/commands/analytics/model-normalizer.js +44 -0
  68. package/dist/cli/commands/analytics/model-normalizer.js.map +1 -0
  69. package/dist/cli/commands/analytics/types.d.ts +188 -0
  70. package/dist/cli/commands/analytics/types.d.ts.map +1 -0
  71. package/dist/cli/commands/analytics/types.js +6 -0
  72. package/dist/cli/commands/analytics/types.js.map +1 -0
  73. package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts +9 -0
  74. package/dist/cli/commands/doctor/checks/AwsCliCheck.d.ts.map +1 -0
  75. package/dist/cli/commands/doctor/checks/AwsCliCheck.js +28 -0
  76. package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -0
  77. package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
  78. package/dist/cli/commands/doctor/checks/PythonCheck.js +10 -0
  79. package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
  80. package/dist/cli/commands/doctor/checks/WorkflowsCheck.d.ts.map +1 -1
  81. package/dist/cli/commands/doctor/checks/WorkflowsCheck.js +2 -1
  82. package/dist/cli/commands/doctor/checks/WorkflowsCheck.js.map +1 -1
  83. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  84. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  85. package/dist/cli/commands/doctor/checks/index.js +1 -0
  86. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  87. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  88. package/dist/cli/commands/doctor/index.js +75 -3
  89. package/dist/cli/commands/doctor/index.js.map +1 -1
  90. package/dist/cli/commands/profile.d.ts.map +1 -1
  91. package/dist/cli/commands/profile.js +49 -89
  92. package/dist/cli/commands/profile.js.map +1 -1
  93. package/dist/cli/commands/setup.js +1 -21
  94. package/dist/cli/commands/setup.js.map +1 -1
  95. package/dist/cli/index.js +1 -1
  96. package/dist/cli/index.js.map +1 -1
  97. package/dist/env/types.d.ts +14 -2
  98. package/dist/env/types.d.ts.map +1 -1
  99. package/dist/env/types.js.map +1 -1
  100. package/dist/metrics/MetricsOrchestrator.d.ts +67 -0
  101. package/dist/metrics/MetricsOrchestrator.d.ts.map +1 -0
  102. package/dist/metrics/MetricsOrchestrator.js +287 -0
  103. package/dist/metrics/MetricsOrchestrator.js.map +1 -0
  104. package/dist/metrics/config.d.ts +38 -0
  105. package/dist/metrics/config.d.ts.map +1 -0
  106. package/dist/metrics/config.js +80 -0
  107. package/dist/metrics/config.js.map +1 -0
  108. package/dist/metrics/core/DeltaWriter.d.ts +49 -0
  109. package/dist/metrics/core/DeltaWriter.d.ts.map +1 -0
  110. package/dist/metrics/core/DeltaWriter.js +146 -0
  111. package/dist/metrics/core/DeltaWriter.js.map +1 -0
  112. package/dist/metrics/core/FileSnapshotter.d.ts +22 -0
  113. package/dist/metrics/core/FileSnapshotter.d.ts.map +1 -0
  114. package/dist/metrics/core/FileSnapshotter.js +74 -0
  115. package/dist/metrics/core/FileSnapshotter.js.map +1 -0
  116. package/dist/metrics/core/SessionCorrelator.d.ts +34 -0
  117. package/dist/metrics/core/SessionCorrelator.d.ts.map +1 -0
  118. package/dist/metrics/core/SessionCorrelator.js +115 -0
  119. package/dist/metrics/core/SessionCorrelator.js.map +1 -0
  120. package/dist/metrics/core/SyncStateManager.d.ts +69 -0
  121. package/dist/metrics/core/SyncStateManager.d.ts.map +1 -0
  122. package/dist/metrics/core/SyncStateManager.js +284 -0
  123. package/dist/metrics/core/SyncStateManager.js.map +1 -0
  124. package/dist/metrics/index.d.ts +9 -0
  125. package/dist/metrics/index.d.ts.map +1 -0
  126. package/dist/metrics/index.js +11 -0
  127. package/dist/metrics/index.js.map +1 -0
  128. package/dist/metrics/session/SessionStore.d.ts +43 -0
  129. package/dist/metrics/session/SessionStore.d.ts.map +1 -0
  130. package/dist/metrics/session/SessionStore.js +142 -0
  131. package/dist/metrics/session/SessionStore.js.map +1 -0
  132. package/dist/metrics/sync/MetricsApiClient.d.ts +32 -0
  133. package/dist/metrics/sync/MetricsApiClient.d.ts.map +1 -0
  134. package/dist/metrics/sync/MetricsApiClient.js +155 -0
  135. package/dist/metrics/sync/MetricsApiClient.js.map +1 -0
  136. package/dist/metrics/sync/aggregator.d.ts +14 -0
  137. package/dist/metrics/sync/aggregator.d.ts.map +1 -0
  138. package/dist/metrics/sync/aggregator.js +214 -0
  139. package/dist/metrics/sync/aggregator.js.map +1 -0
  140. package/dist/metrics/sync/index.d.ts +10 -0
  141. package/dist/metrics/sync/index.d.ts.map +1 -0
  142. package/dist/metrics/sync/index.js +10 -0
  143. package/dist/metrics/sync/index.js.map +1 -0
  144. package/dist/metrics/sync/jsonl-writer.d.ts +28 -0
  145. package/dist/metrics/sync/jsonl-writer.d.ts.map +1 -0
  146. package/dist/metrics/sync/jsonl-writer.js +72 -0
  147. package/dist/metrics/sync/jsonl-writer.js.map +1 -0
  148. package/dist/metrics/sync/types.d.ts +73 -0
  149. package/dist/metrics/sync/types.d.ts.map +1 -0
  150. package/dist/metrics/sync/types.js +7 -0
  151. package/dist/metrics/sync/types.js.map +1 -0
  152. package/dist/metrics/types.d.ts +308 -0
  153. package/dist/metrics/types.d.ts.map +1 -0
  154. package/dist/metrics/types.js +8 -0
  155. package/dist/metrics/types.js.map +1 -0
  156. package/dist/providers/index.d.ts +2 -0
  157. package/dist/providers/index.d.ts.map +1 -1
  158. package/dist/providers/index.js +2 -0
  159. package/dist/providers/index.js.map +1 -1
  160. package/dist/providers/integration/setup-ui.d.ts +1 -1
  161. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  162. package/dist/providers/integration/setup-ui.js +51 -6
  163. package/dist/providers/integration/setup-ui.js.map +1 -1
  164. package/dist/providers/plugins/bedrock/bedrock.health.d.ts +53 -0
  165. package/dist/providers/plugins/bedrock/bedrock.health.d.ts.map +1 -0
  166. package/dist/providers/plugins/bedrock/bedrock.health.js +115 -0
  167. package/dist/providers/plugins/bedrock/bedrock.health.js.map +1 -0
  168. package/dist/providers/plugins/bedrock/bedrock.models.d.ts +26 -0
  169. package/dist/providers/plugins/bedrock/bedrock.models.d.ts.map +1 -0
  170. package/dist/providers/plugins/bedrock/bedrock.models.js +89 -0
  171. package/dist/providers/plugins/bedrock/bedrock.models.js.map +1 -0
  172. package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts +12 -0
  173. package/dist/providers/plugins/bedrock/bedrock.setup-steps.d.ts.map +1 -0
  174. package/dist/providers/plugins/bedrock/bedrock.setup-steps.js +308 -0
  175. package/dist/providers/plugins/bedrock/bedrock.setup-steps.js.map +1 -0
  176. package/dist/providers/plugins/bedrock/bedrock.template.d.ts +11 -0
  177. package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -0
  178. package/dist/providers/plugins/bedrock/bedrock.template.js +85 -0
  179. package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -0
  180. package/dist/providers/plugins/bedrock/index.d.ts +11 -0
  181. package/dist/providers/plugins/bedrock/index.d.ts.map +1 -0
  182. package/dist/providers/plugins/bedrock/index.js +11 -0
  183. package/dist/providers/plugins/bedrock/index.js.map +1 -0
  184. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
  185. package/dist/providers/plugins/ollama/ollama.template.js +2 -0
  186. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
  187. package/dist/providers/plugins/sso/sso.http-client.d.ts +2 -0
  188. package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
  189. package/dist/providers/plugins/sso/sso.http-client.js +9 -3
  190. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  191. package/dist/proxy/http-client.d.ts +1 -1
  192. package/dist/proxy/http-client.d.ts.map +1 -1
  193. package/dist/proxy/http-client.js +78 -12
  194. package/dist/proxy/http-client.js.map +1 -1
  195. package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts +19 -0
  196. package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -0
  197. package/dist/proxy/plugins/endpoint-blocker.plugin.js +61 -0
  198. package/dist/proxy/plugins/endpoint-blocker.plugin.js.map +1 -0
  199. package/dist/proxy/plugins/header-injection.plugin.js +3 -0
  200. package/dist/proxy/plugins/header-injection.plugin.js.map +1 -1
  201. package/dist/proxy/plugins/index.d.ts +3 -1
  202. package/dist/proxy/plugins/index.d.ts.map +1 -1
  203. package/dist/proxy/plugins/index.js +5 -1
  204. package/dist/proxy/plugins/index.js.map +1 -1
  205. package/dist/proxy/plugins/logging.plugin.d.ts +11 -3
  206. package/dist/proxy/plugins/logging.plugin.d.ts.map +1 -1
  207. package/dist/proxy/plugins/logging.plugin.js +189 -25
  208. package/dist/proxy/plugins/logging.plugin.js.map +1 -1
  209. package/dist/proxy/plugins/metrics-sync.plugin.d.ts +33 -0
  210. package/dist/proxy/plugins/metrics-sync.plugin.d.ts.map +1 -0
  211. package/dist/proxy/plugins/metrics-sync.plugin.js +320 -0
  212. package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -0
  213. package/dist/proxy/plugins/registry.d.ts.map +1 -1
  214. package/dist/proxy/plugins/registry.js +8 -1
  215. package/dist/proxy/plugins/registry.js.map +1 -1
  216. package/dist/proxy/plugins/types.d.ts +6 -2
  217. package/dist/proxy/plugins/types.d.ts.map +1 -1
  218. package/dist/proxy/types.d.ts +8 -1
  219. package/dist/proxy/types.d.ts.map +1 -1
  220. package/dist/utils/ascii-logo.d.ts +21 -0
  221. package/dist/utils/ascii-logo.d.ts.map +1 -0
  222. package/dist/utils/ascii-logo.js +85 -0
  223. package/dist/utils/ascii-logo.js.map +1 -0
  224. package/dist/utils/codemie-proxy.d.ts +2 -7
  225. package/dist/utils/codemie-proxy.d.ts.map +1 -1
  226. package/dist/utils/codemie-proxy.js +83 -61
  227. package/dist/utils/codemie-proxy.js.map +1 -1
  228. package/dist/utils/config-loader.d.ts.map +1 -1
  229. package/dist/utils/config-loader.js +22 -6
  230. package/dist/utils/config-loader.js.map +1 -1
  231. package/dist/utils/exec.d.ts +11 -0
  232. package/dist/utils/exec.d.ts.map +1 -1
  233. package/dist/utils/exec.js +17 -1
  234. package/dist/utils/exec.js.map +1 -1
  235. package/dist/utils/goodbye-messages.d.ts +13 -0
  236. package/dist/utils/goodbye-messages.d.ts.map +1 -0
  237. package/dist/utils/goodbye-messages.js +245 -0
  238. package/dist/utils/goodbye-messages.js.map +1 -0
  239. package/dist/utils/json-parser.d.ts +52 -0
  240. package/dist/utils/json-parser.d.ts.map +1 -0
  241. package/dist/utils/json-parser.js +126 -0
  242. package/dist/utils/json-parser.js.map +1 -0
  243. package/dist/utils/logger.d.ts +37 -1
  244. package/dist/utils/logger.d.ts.map +1 -1
  245. package/dist/utils/logger.js +92 -20
  246. package/dist/utils/logger.js.map +1 -1
  247. package/dist/utils/sanitize.d.ts.map +1 -1
  248. package/dist/utils/sanitize.js +0 -1
  249. package/dist/utils/sanitize.js.map +1 -1
  250. package/dist/utils/which.d.ts +20 -0
  251. package/dist/utils/which.d.ts.map +1 -0
  252. package/dist/utils/which.js +47 -0
  253. package/dist/utils/which.js.map +1 -0
  254. package/package.json +10 -5
  255. package/dist/analytics/aggregation/adapters/claude.adapter.d.ts +0 -37
  256. package/dist/analytics/aggregation/adapters/claude.adapter.d.ts.map +0 -1
  257. package/dist/analytics/aggregation/adapters/claude.adapter.js +0 -531
  258. package/dist/analytics/aggregation/adapters/claude.adapter.js.map +0 -1
  259. package/dist/analytics/aggregation/adapters/codex.adapter.d.ts +0 -25
  260. package/dist/analytics/aggregation/adapters/codex.adapter.d.ts.map +0 -1
  261. package/dist/analytics/aggregation/adapters/codex.adapter.js +0 -396
  262. package/dist/analytics/aggregation/adapters/codex.adapter.js.map +0 -1
  263. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts +0 -36
  264. package/dist/analytics/aggregation/adapters/gemini.adapter.d.ts.map +0 -1
  265. package/dist/analytics/aggregation/adapters/gemini.adapter.js +0 -365
  266. package/dist/analytics/aggregation/adapters/gemini.adapter.js.map +0 -1
  267. package/dist/analytics/aggregation/adapters/index.d.ts +0 -7
  268. package/dist/analytics/aggregation/adapters/index.d.ts.map +0 -1
  269. package/dist/analytics/aggregation/adapters/index.js +0 -7
  270. package/dist/analytics/aggregation/adapters/index.js.map +0 -1
  271. package/dist/analytics/aggregation/aggregator.d.ts +0 -49
  272. package/dist/analytics/aggregation/aggregator.d.ts.map +0 -1
  273. package/dist/analytics/aggregation/aggregator.js +0 -239
  274. package/dist/analytics/aggregation/aggregator.js.map +0 -1
  275. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts +0 -99
  276. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.d.ts.map +0 -1
  277. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js +0 -110
  278. package/dist/analytics/aggregation/core/BaseAnalyticsAdapter.js.map +0 -1
  279. package/dist/analytics/aggregation/core/adapter.interface.d.ts +0 -76
  280. package/dist/analytics/aggregation/core/adapter.interface.d.ts.map +0 -1
  281. package/dist/analytics/aggregation/core/adapter.interface.js +0 -9
  282. package/dist/analytics/aggregation/core/adapter.interface.js.map +0 -1
  283. package/dist/analytics/aggregation/core/aggregation-utils.d.ts +0 -86
  284. package/dist/analytics/aggregation/core/aggregation-utils.d.ts.map +0 -1
  285. package/dist/analytics/aggregation/core/aggregation-utils.js +0 -126
  286. package/dist/analytics/aggregation/core/aggregation-utils.js.map +0 -1
  287. package/dist/analytics/aggregation/core/discovery.d.ts +0 -40
  288. package/dist/analytics/aggregation/core/discovery.d.ts.map +0 -1
  289. package/dist/analytics/aggregation/core/discovery.js +0 -132
  290. package/dist/analytics/aggregation/core/discovery.js.map +0 -1
  291. package/dist/analytics/aggregation/core/file-utils.d.ts +0 -24
  292. package/dist/analytics/aggregation/core/file-utils.d.ts.map +0 -1
  293. package/dist/analytics/aggregation/core/file-utils.js +0 -143
  294. package/dist/analytics/aggregation/core/file-utils.js.map +0 -1
  295. package/dist/analytics/aggregation/core/index.d.ts +0 -14
  296. package/dist/analytics/aggregation/core/index.d.ts.map +0 -1
  297. package/dist/analytics/aggregation/core/index.js +0 -14
  298. package/dist/analytics/aggregation/core/index.js.map +0 -1
  299. package/dist/analytics/aggregation/core/project-mapping.d.ts +0 -50
  300. package/dist/analytics/aggregation/core/project-mapping.d.ts.map +0 -1
  301. package/dist/analytics/aggregation/core/project-mapping.js +0 -102
  302. package/dist/analytics/aggregation/core/project-mapping.js.map +0 -1
  303. package/dist/analytics/aggregation/core/streaming.d.ts +0 -26
  304. package/dist/analytics/aggregation/core/streaming.d.ts.map +0 -1
  305. package/dist/analytics/aggregation/core/streaming.js +0 -58
  306. package/dist/analytics/aggregation/core/streaming.js.map +0 -1
  307. package/dist/analytics/aggregation/core/user-prompt-source.d.ts +0 -81
  308. package/dist/analytics/aggregation/core/user-prompt-source.d.ts.map +0 -1
  309. package/dist/analytics/aggregation/core/user-prompt-source.js +0 -69
  310. package/dist/analytics/aggregation/core/user-prompt-source.js.map +0 -1
  311. package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts +0 -49
  312. package/dist/analytics/aggregation/core/user-prompt-sources/json.d.ts.map +0 -1
  313. package/dist/analytics/aggregation/core/user-prompt-sources/json.js +0 -66
  314. package/dist/analytics/aggregation/core/user-prompt-sources/json.js.map +0 -1
  315. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts +0 -43
  316. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.d.ts.map +0 -1
  317. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js +0 -56
  318. package/dist/analytics/aggregation/core/user-prompt-sources/jsonl.js.map +0 -1
  319. package/dist/analytics/aggregation/index.d.ts +0 -8
  320. package/dist/analytics/aggregation/index.d.ts.map +0 -1
  321. package/dist/analytics/aggregation/index.js +0 -8
  322. package/dist/analytics/aggregation/index.js.map +0 -1
  323. package/dist/analytics/aggregation/types.d.ts +0 -278
  324. package/dist/analytics/aggregation/types.d.ts.map +0 -1
  325. package/dist/analytics/aggregation/types.js +0 -8
  326. package/dist/analytics/aggregation/types.js.map +0 -1
  327. package/dist/analytics/collector.d.ts +0 -46
  328. package/dist/analytics/collector.d.ts.map +0 -1
  329. package/dist/analytics/collector.js +0 -83
  330. package/dist/analytics/collector.js.map +0 -1
  331. package/dist/analytics/config.d.ts +0 -15
  332. package/dist/analytics/config.d.ts.map +0 -1
  333. package/dist/analytics/config.js +0 -65
  334. package/dist/analytics/config.js.map +0 -1
  335. package/dist/analytics/index.d.ts +0 -99
  336. package/dist/analytics/index.d.ts.map +0 -1
  337. package/dist/analytics/index.js +0 -280
  338. package/dist/analytics/index.js.map +0 -1
  339. package/dist/analytics/plugins/api-metrics.plugin.d.ts +0 -26
  340. package/dist/analytics/plugins/api-metrics.plugin.d.ts.map +0 -1
  341. package/dist/analytics/plugins/api-metrics.plugin.js +0 -97
  342. package/dist/analytics/plugins/api-metrics.plugin.js.map +0 -1
  343. package/dist/analytics/plugins/index.d.ts +0 -15
  344. package/dist/analytics/plugins/index.d.ts.map +0 -1
  345. package/dist/analytics/plugins/index.js +0 -15
  346. package/dist/analytics/plugins/index.js.map +0 -1
  347. package/dist/analytics/plugins/model-metrics.plugin.d.ts +0 -39
  348. package/dist/analytics/plugins/model-metrics.plugin.d.ts.map +0 -1
  349. package/dist/analytics/plugins/model-metrics.plugin.js +0 -105
  350. package/dist/analytics/plugins/model-metrics.plugin.js.map +0 -1
  351. package/dist/analytics/plugins/provider-metrics.plugin.d.ts +0 -41
  352. package/dist/analytics/plugins/provider-metrics.plugin.d.ts.map +0 -1
  353. package/dist/analytics/plugins/provider-metrics.plugin.js +0 -123
  354. package/dist/analytics/plugins/provider-metrics.plugin.js.map +0 -1
  355. package/dist/analytics/plugins/types.d.ts +0 -61
  356. package/dist/analytics/plugins/types.d.ts.map +0 -1
  357. package/dist/analytics/plugins/types.js +0 -54
  358. package/dist/analytics/plugins/types.js.map +0 -1
  359. package/dist/analytics/privacy.d.ts +0 -10
  360. package/dist/analytics/privacy.d.ts.map +0 -1
  361. package/dist/analytics/privacy.js +0 -20
  362. package/dist/analytics/privacy.js.map +0 -1
  363. package/dist/analytics/remote-submission/cursor-manager.d.ts +0 -71
  364. package/dist/analytics/remote-submission/cursor-manager.d.ts.map +0 -1
  365. package/dist/analytics/remote-submission/cursor-manager.js +0 -204
  366. package/dist/analytics/remote-submission/cursor-manager.js.map +0 -1
  367. package/dist/analytics/remote-submission/index.d.ts +0 -12
  368. package/dist/analytics/remote-submission/index.d.ts.map +0 -1
  369. package/dist/analytics/remote-submission/index.js +0 -11
  370. package/dist/analytics/remote-submission/index.js.map +0 -1
  371. package/dist/analytics/remote-submission/lock-manager.d.ts +0 -71
  372. package/dist/analytics/remote-submission/lock-manager.d.ts.map +0 -1
  373. package/dist/analytics/remote-submission/lock-manager.js +0 -238
  374. package/dist/analytics/remote-submission/lock-manager.js.map +0 -1
  375. package/dist/analytics/remote-submission/metric-transformer.d.ts +0 -21
  376. package/dist/analytics/remote-submission/metric-transformer.d.ts.map +0 -1
  377. package/dist/analytics/remote-submission/metric-transformer.js +0 -82
  378. package/dist/analytics/remote-submission/metric-transformer.js.map +0 -1
  379. package/dist/analytics/remote-submission/submitter.d.ts +0 -79
  380. package/dist/analytics/remote-submission/submitter.d.ts.map +0 -1
  381. package/dist/analytics/remote-submission/submitter.js +0 -362
  382. package/dist/analytics/remote-submission/submitter.js.map +0 -1
  383. package/dist/analytics/remote-submission/types.d.ts +0 -123
  384. package/dist/analytics/remote-submission/types.d.ts.map +0 -1
  385. package/dist/analytics/remote-submission/types.js +0 -13
  386. package/dist/analytics/remote-submission/types.js.map +0 -1
  387. package/dist/analytics/session.d.ts +0 -56
  388. package/dist/analytics/session.d.ts.map +0 -1
  389. package/dist/analytics/session.js +0 -95
  390. package/dist/analytics/session.js.map +0 -1
  391. package/dist/analytics/types.d.ts +0 -104
  392. package/dist/analytics/types.d.ts.map +0 -1
  393. package/dist/analytics/types.js +0 -15
  394. package/dist/analytics/types.js.map +0 -1
  395. package/dist/analytics/writer.d.ts +0 -18
  396. package/dist/analytics/writer.d.ts.map +0 -1
  397. package/dist/analytics/writer.js +0 -44
  398. package/dist/analytics/writer.js.map +0 -1
  399. package/dist/cli/commands/analytics.d.ts +0 -3
  400. package/dist/cli/commands/analytics.d.ts.map +0 -1
  401. package/dist/cli/commands/analytics.js +0 -748
  402. package/dist/cli/commands/analytics.js.map +0 -1
  403. package/dist/utils/analytics-reader.d.ts +0 -117
  404. package/dist/utils/analytics-reader.d.ts.map +0 -1
  405. package/dist/utils/analytics-reader.js +0 -421
  406. package/dist/utils/analytics-reader.js.map +0 -1
  407. package/dist/utils/date-formatter.d.ts +0 -88
  408. package/dist/utils/date-formatter.d.ts.map +0 -1
  409. package/dist/utils/date-formatter.js +0 -133
  410. package/dist/utils/date-formatter.js.map +0 -1
@@ -1,239 +0,0 @@
1
- /**
2
- * CodeMie Analytics Aggregator
3
- *
4
- * Main service for aggregating analytics data from multiple AI agents.
5
- * Uses AgentRegistry to automatically discover all registered analytics adapters.
6
- */
7
- import { AgentRegistry } from '../../agents/registry.js';
8
- /**
9
- * Main aggregator service
10
- */
11
- export class CodemieAnalyticsAggregator {
12
- /**
13
- * Aggregate sessions from all agents
14
- */
15
- async aggregateSessions(options = {}) {
16
- const sessions = [];
17
- // Get all analytics adapters from registry (automatically registered with plugins)
18
- const adapters = AgentRegistry.getAllAnalyticsAdapters();
19
- // Filter by agent if specified
20
- const filteredAdapters = options.agent
21
- ? adapters.filter(a => a.agentName === options.agent)
22
- : adapters;
23
- // Query all adapters in parallel
24
- const promises = filteredAdapters.map(async (adapter) => {
25
- try {
26
- // Check if source is valid
27
- const isValid = await adapter.validateSource();
28
- if (!isValid) {
29
- return;
30
- }
31
- // Find sessions matching criteria
32
- const descriptors = await adapter.findSessions({
33
- projectPath: options.projectPath,
34
- dateFrom: options.dateFrom,
35
- dateTo: options.dateTo,
36
- limit: options.limit,
37
- offset: options.offset
38
- });
39
- // Extract session details
40
- for (const descriptor of descriptors) {
41
- try {
42
- const session = await adapter.extractSession(descriptor);
43
- sessions.push(session);
44
- }
45
- catch (error) {
46
- console.error(`Error extracting session ${descriptor.sessionId}: ${error}`);
47
- }
48
- }
49
- }
50
- catch (error) {
51
- console.error(`Error aggregating ${adapter.displayName} (${adapter.agentName}): ${error}`);
52
- }
53
- });
54
- await Promise.all(promises);
55
- // Sort by startTime
56
- return sessions.sort((a, b) => a.startTime.getTime() - b.startTime.getTime());
57
- }
58
- /**
59
- * Get detailed information for a specific session
60
- */
61
- async getSessionDetails(sessionId, agentName) {
62
- // Get adapter from registry
63
- const adapter = AgentRegistry.getAnalyticsAdapter(agentName);
64
- if (!adapter) {
65
- throw new Error(`Unknown agent or no analytics adapter: ${agentName}`);
66
- }
67
- // Find session descriptor
68
- const descriptors = await adapter.findSessions();
69
- const descriptor = descriptors.find(d => d.sessionId === sessionId);
70
- if (!descriptor) {
71
- throw new Error(`Session not found: ${sessionId}`);
72
- }
73
- // Extract all details in parallel
74
- const [session, messages, toolCalls, fileModifications] = await Promise.all([
75
- adapter.extractSession(descriptor),
76
- adapter.extractMessages(descriptor),
77
- adapter.extractToolCalls(descriptor),
78
- adapter.extractFileModifications(descriptor)
79
- ]);
80
- return {
81
- session,
82
- messages,
83
- toolCalls,
84
- fileModifications
85
- };
86
- }
87
- /**
88
- * Generate analytics report with statistics
89
- */
90
- async generateReport(options = {}) {
91
- const sessions = await this.aggregateSessions(options);
92
- return {
93
- summary: this.calculateSummary(sessions),
94
- sessions,
95
- breakdown: {
96
- byAgent: this.groupByAgent(sessions),
97
- byModel: this.groupByModel(sessions),
98
- byProject: this.groupByProject(sessions),
99
- byDay: this.groupByDay(sessions)
100
- }
101
- };
102
- }
103
- /**
104
- * Calculate summary statistics
105
- */
106
- calculateSummary(sessions) {
107
- const totalMessages = sessions.reduce((sum, s) => sum + s.userMessageCount + s.assistantMessageCount, 0);
108
- const totalTokens = sessions.reduce((sum, s) => sum + s.tokens.total, 0);
109
- const totalToolCalls = sessions.reduce((sum, s) => sum + s.toolCallCount, 0);
110
- const totalFileModifications = sessions.reduce((sum, s) => sum + s.fileModifications, 0);
111
- const durations = sessions.map(s => s.durationMs || 0).filter(d => d > 0);
112
- const averageSessionDuration = durations.length > 0
113
- ? durations.reduce((sum, d) => sum + d, 0) / durations.length
114
- : 0;
115
- const successRate = this.calculateSuccessRate(sessions);
116
- return {
117
- totalSessions: sessions.length,
118
- totalMessages,
119
- totalTokens,
120
- totalToolCalls,
121
- totalFileModifications,
122
- averageSessionDuration,
123
- successRate
124
- };
125
- }
126
- /**
127
- * Calculate success rate (sessions without errors)
128
- */
129
- calculateSuccessRate(sessions) {
130
- if (sessions.length === 0)
131
- return 0;
132
- const successfulSessions = sessions.filter(s => !s.hadErrors).length;
133
- return successfulSessions / sessions.length;
134
- }
135
- /**
136
- * Group sessions by agent
137
- */
138
- groupByAgent(sessions) {
139
- const grouped = {};
140
- for (const session of sessions) {
141
- if (!grouped[session.agent]) {
142
- grouped[session.agent] = {
143
- sessions: 0,
144
- messages: 0,
145
- tokens: 0,
146
- toolCalls: 0,
147
- fileModifications: 0,
148
- averageDuration: 0,
149
- successRate: 0
150
- };
151
- }
152
- const stats = grouped[session.agent];
153
- stats.sessions++;
154
- stats.messages += session.userMessageCount + session.assistantMessageCount;
155
- stats.tokens += session.tokens.total;
156
- stats.toolCalls += session.toolCallCount;
157
- stats.fileModifications += session.fileModifications;
158
- }
159
- // Calculate averages
160
- for (const agent in grouped) {
161
- const stats = grouped[agent];
162
- const agentSessions = sessions.filter(s => s.agent === agent);
163
- const durations = agentSessions.map(s => s.durationMs || 0).filter(d => d > 0);
164
- stats.averageDuration = durations.length > 0
165
- ? durations.reduce((sum, d) => sum + d, 0) / durations.length
166
- : 0;
167
- stats.successRate = this.calculateSuccessRate(agentSessions);
168
- }
169
- return grouped;
170
- }
171
- /**
172
- * Group sessions by model
173
- */
174
- groupByModel(sessions) {
175
- const grouped = {};
176
- for (const session of sessions) {
177
- if (!grouped[session.model]) {
178
- grouped[session.model] = {
179
- sessions: 0,
180
- tokens: 0,
181
- averageTokensPerSession: 0
182
- };
183
- }
184
- const stats = grouped[session.model];
185
- stats.sessions++;
186
- stats.tokens += session.tokens.total;
187
- }
188
- // Calculate averages
189
- for (const model in grouped) {
190
- const stats = grouped[model];
191
- stats.averageTokensPerSession = stats.tokens / stats.sessions;
192
- }
193
- return grouped;
194
- }
195
- /**
196
- * Group sessions by project
197
- */
198
- groupByProject(sessions) {
199
- const grouped = {};
200
- for (const session of sessions) {
201
- const project = session.projectPath || 'other';
202
- if (!grouped[project]) {
203
- grouped[project] = {
204
- sessions: 0,
205
- messages: 0,
206
- fileModifications: 0
207
- };
208
- }
209
- const stats = grouped[project];
210
- stats.sessions++;
211
- stats.messages += session.userMessageCount + session.assistantMessageCount;
212
- stats.fileModifications += session.fileModifications;
213
- }
214
- return grouped;
215
- }
216
- /**
217
- * Group sessions by day
218
- */
219
- groupByDay(sessions) {
220
- const grouped = {};
221
- for (const session of sessions) {
222
- const date = session.startTime.toISOString().split('T')[0];
223
- if (!grouped[date]) {
224
- grouped[date] = {
225
- date,
226
- sessions: 0,
227
- messages: 0,
228
- tokens: 0
229
- };
230
- }
231
- const stats = grouped[date];
232
- stats.sessions++;
233
- stats.messages += session.userMessageCount + session.assistantMessageCount;
234
- stats.tokens += session.tokens.total;
235
- }
236
- return grouped;
237
- }
238
- }
239
- //# sourceMappingURL=aggregator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../src/analytics/aggregation/aggregator.ts"],"names":[],"mappings":"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"}
@@ -1,99 +0,0 @@
1
- /**
2
- * Base Analytics Adapter
3
- *
4
- * Provides common functionality for all agent analytics adapters.
5
- * Implements the AgentAnalyticsAdapter interface with shared logic.
6
- * Subclasses provide agent-specific session discovery and extraction.
7
- */
8
- import { AgentAnalyticsAdapter, AdapterMetadata } from './adapter.interface.js';
9
- import { SessionQueryOptions, SessionDescriptor, CodemieSession, CodemieMessage, CodemieToolCall, CodemieFileModification } from '../types.js';
10
- import { UserPromptSource, UserPrompt } from './user-prompt-source.js';
11
- /**
12
- * Base Analytics Adapter
13
- *
14
- * Provides common functionality for all agent analytics adapters.
15
- * Implements the AgentAnalyticsAdapter interface with shared logic.
16
- * Subclasses provide agent-specific session discovery and extraction.
17
- */
18
- export declare abstract class BaseAnalyticsAdapter implements AgentAnalyticsAdapter {
19
- agentName: string;
20
- displayName: string;
21
- version: string;
22
- protected homePath: string;
23
- protected sessionsPath: string;
24
- protected userPromptSource?: UserPromptSource;
25
- /**
26
- * Constructor - Extracts metadata for all adapters
27
- */
28
- constructor(metadata: AdapterMetadata);
29
- /**
30
- * Validate that the adapter's data source exists
31
- * Implementation provided - works for all adapters
32
- */
33
- validateSource(): Promise<boolean>;
34
- /**
35
- * Apply pagination to session descriptors
36
- * Shared helper for subclasses to use in findSessions()
37
- */
38
- protected applyPagination(descriptors: SessionDescriptor[], options?: SessionQueryOptions): SessionDescriptor[];
39
- /**
40
- * Read user prompts from source (optional)
41
- * Subclasses should set userPromptSource to enable this functionality
42
- */
43
- protected readUserPrompts(sessionId: string, options?: {
44
- dateFrom?: Date;
45
- dateTo?: Date;
46
- }): Promise<UserPrompt[]>;
47
- /**
48
- * Count user prompts from source (optional)
49
- * Returns 0 if no user prompt source is configured
50
- */
51
- protected countUserPrompts(sessionId: string, options?: {
52
- dateFrom?: Date;
53
- dateTo?: Date;
54
- }): Promise<number>;
55
- /**
56
- * Calculate user prompt percentage
57
- * Formula: (userPromptCount / userMessageCount) * 100
58
- * Returns undefined if userMessageCount is 0
59
- * Shows what percentage of user messages are actual user prompts
60
- * Lower percentage = more system-generated messages
61
- */
62
- protected calculateUserPromptPercentage(userPromptCount: number, userMessageCount: number): number | undefined;
63
- /**
64
- * Find all sessions - MUST be implemented by subclass
65
- * Each agent stores sessions differently
66
- */
67
- abstract findSessions(options?: SessionQueryOptions): Promise<SessionDescriptor[]>;
68
- /**
69
- * Extract full session - MUST be implemented by subclass
70
- * Each agent has different session format
71
- */
72
- abstract extractSession(descriptor: SessionDescriptor): Promise<CodemieSession>;
73
- /**
74
- * Extract messages - MUST be implemented by subclass
75
- * Each agent has different message format
76
- */
77
- abstract extractMessages(descriptor: SessionDescriptor): Promise<CodemieMessage[]>;
78
- /**
79
- * Extract tool calls - MUST be implemented by subclass
80
- * Each agent has different tool call format
81
- */
82
- abstract extractToolCalls(descriptor: SessionDescriptor): Promise<CodemieToolCall[]>;
83
- /**
84
- * Extract file modifications - MUST be implemented by subclass
85
- * Each agent has different tool naming
86
- */
87
- abstract extractFileModifications(descriptor: SessionDescriptor): Promise<CodemieFileModification[]>;
88
- /**
89
- * Extract raw events (messages, tool calls, file modifications)
90
- * Default implementation combines existing extract methods
91
- * Subclasses can override for more efficient extraction
92
- */
93
- extractRawEvents(descriptor: SessionDescriptor): Promise<{
94
- messages: CodemieMessage[];
95
- toolCalls: CodemieToolCall[];
96
- fileModifications: CodemieFileModification[];
97
- }>;
98
- }
99
- //# sourceMappingURL=BaseAnalyticsAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseAnalyticsAdapter.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/BaseAnalyticsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;;;GAMG;AACH,8BAAsB,oBAAqB,YAAW,qBAAqB;IAEzE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,SAAW;IAGlB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE9C;;OAEG;gBACS,QAAQ,EAAE,eAAe;IASrC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKxC;;;OAGG;IACH,SAAS,CAAC,eAAe,CACvB,WAAW,EAAE,iBAAiB,EAAE,EAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,iBAAiB,EAAE;IActB;;;OAGG;cACa,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC3C,OAAO,CAAC,UAAU,EAAE,CAAC;IAWxB;;;OAGG;cACa,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC3C,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;OAMG;IACH,SAAS,CAAC,6BAA6B,CACrC,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,GAAG,SAAS;IASrB;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAElF;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAE/E;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAElF;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAEpF;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAEpG;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC7D,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;KAC9C,CAAC;CAaH"}
@@ -1,110 +0,0 @@
1
- /**
2
- * Base Analytics Adapter
3
- *
4
- * Provides common functionality for all agent analytics adapters.
5
- * Implements the AgentAnalyticsAdapter interface with shared logic.
6
- * Subclasses provide agent-specific session discovery and extraction.
7
- */
8
- import { existsSync } from 'node:fs';
9
- import { resolvePath } from './discovery.js';
10
- /**
11
- * Base Analytics Adapter
12
- *
13
- * Provides common functionality for all agent analytics adapters.
14
- * Implements the AgentAnalyticsAdapter interface with shared logic.
15
- * Subclasses provide agent-specific session discovery and extraction.
16
- */
17
- export class BaseAnalyticsAdapter {
18
- // === Interface Properties ===
19
- agentName;
20
- displayName;
21
- version = '1.0.0';
22
- // === Protected Properties ===
23
- homePath;
24
- sessionsPath;
25
- userPromptSource;
26
- /**
27
- * Constructor - Extracts metadata for all adapters
28
- */
29
- constructor(metadata) {
30
- this.agentName = metadata.name;
31
- this.displayName = metadata.displayName;
32
- // Extract paths from metadata
33
- this.homePath = metadata.dataPaths?.home || `~/.${metadata.name}`;
34
- this.sessionsPath = metadata.dataPaths?.sessions || 'sessions';
35
- }
36
- /**
37
- * Validate that the adapter's data source exists
38
- * Implementation provided - works for all adapters
39
- */
40
- async validateSource() {
41
- const baseDir = resolvePath(this.homePath);
42
- return existsSync(baseDir);
43
- }
44
- /**
45
- * Apply pagination to session descriptors
46
- * Shared helper for subclasses to use in findSessions()
47
- */
48
- applyPagination(descriptors, options) {
49
- let results = descriptors;
50
- if (options?.offset) {
51
- results = results.slice(options.offset);
52
- }
53
- if (options?.limit) {
54
- results = results.slice(0, options.limit);
55
- }
56
- return results;
57
- }
58
- /**
59
- * Read user prompts from source (optional)
60
- * Subclasses should set userPromptSource to enable this functionality
61
- */
62
- async readUserPrompts(sessionId, options) {
63
- if (!this.userPromptSource) {
64
- return [];
65
- }
66
- return this.userPromptSource.readPrompts({
67
- ...options,
68
- sessionId
69
- });
70
- }
71
- /**
72
- * Count user prompts from source (optional)
73
- * Returns 0 if no user prompt source is configured
74
- */
75
- async countUserPrompts(sessionId, options) {
76
- const prompts = await this.readUserPrompts(sessionId, options);
77
- return prompts.length;
78
- }
79
- /**
80
- * Calculate user prompt percentage
81
- * Formula: (userPromptCount / userMessageCount) * 100
82
- * Returns undefined if userMessageCount is 0
83
- * Shows what percentage of user messages are actual user prompts
84
- * Lower percentage = more system-generated messages
85
- */
86
- calculateUserPromptPercentage(userPromptCount, userMessageCount) {
87
- if (userMessageCount === 0) {
88
- return undefined;
89
- }
90
- return (userPromptCount / userMessageCount) * 100;
91
- }
92
- /**
93
- * Extract raw events (messages, tool calls, file modifications)
94
- * Default implementation combines existing extract methods
95
- * Subclasses can override for more efficient extraction
96
- */
97
- async extractRawEvents(descriptor) {
98
- const [messages, toolCalls, fileModifications] = await Promise.all([
99
- this.extractMessages(descriptor),
100
- this.extractToolCalls(descriptor),
101
- this.extractFileModifications(descriptor)
102
- ]);
103
- return {
104
- messages,
105
- toolCalls,
106
- fileModifications
107
- };
108
- }
109
- }
110
- //# sourceMappingURL=BaseAnalyticsAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseAnalyticsAdapter.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/BaseAnalyticsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C;;;;;;GAMG;AACH,MAAM,OAAgB,oBAAoB;IACxC,+BAA+B;IAC/B,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,OAAO,GAAG,OAAO,CAAC;IAElB,+BAA+B;IACrB,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,gBAAgB,CAAoB;IAE9C;;OAEG;IACH,YAAY,QAAyB;QACnC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAExC,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACO,eAAe,CACvB,WAAgC,EAChC,OAA6B;QAE7B,IAAI,OAAO,GAAG,WAAW,CAAC;QAE1B,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,eAAe,CAC7B,SAAiB,EACjB,OAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;YACvC,GAAG,OAAO;YACV,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,gBAAgB,CAC9B,SAAiB,EACjB,OAA4C;QAE5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACO,6BAA6B,CACrC,eAAuB,EACvB,gBAAwB;QAExB,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,eAAe,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC;IACpD,CAAC;IAkCD;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAA6B;QAKlD,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC;SAC1C,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,SAAS;YACT,iBAAiB;SAClB,CAAC;IACJ,CAAC;CACF"}
@@ -1,76 +0,0 @@
1
- /**
2
- * Agent Analytics Adapter Interface
3
- *
4
- * Defines the contract that all agent-specific analytics adapters must implement.
5
- * This interface enables standardized extraction of analytics data from different
6
- * agent log formats (JSON, JSONL, etc.).
7
- */
8
- import { SessionQueryOptions, SessionDescriptor, CodemieSession, CodemieMessage, CodemieToolCall, CodemieFileModification } from '../types.js';
9
- /**
10
- * Base interface for agent analytics adapters
11
- */
12
- export interface AgentAnalyticsAdapter {
13
- agentName: string;
14
- displayName: string;
15
- version: string;
16
- /**
17
- * Find all sessions matching the query criteria
18
- * @param options Query options for filtering sessions
19
- * @returns Array of session descriptors (lightweight metadata)
20
- */
21
- findSessions(options?: SessionQueryOptions): Promise<SessionDescriptor[]>;
22
- /**
23
- * Extract full session details from a session descriptor
24
- * @param descriptor Session descriptor from findSessions()
25
- * @returns Complete session with aggregated statistics
26
- */
27
- extractSession(descriptor: SessionDescriptor): Promise<CodemieSession>;
28
- /**
29
- * Extract all messages from a session
30
- * @param descriptor Session descriptor
31
- * @returns Array of messages
32
- */
33
- extractMessages(descriptor: SessionDescriptor): Promise<CodemieMessage[]>;
34
- /**
35
- * Extract all tool calls from a session
36
- * @param descriptor Session descriptor
37
- * @returns Array of tool calls
38
- */
39
- extractToolCalls(descriptor: SessionDescriptor): Promise<CodemieToolCall[]>;
40
- /**
41
- * Extract all file modifications from a session
42
- * @param descriptor Session descriptor
43
- * @returns Array of file modifications
44
- */
45
- extractFileModifications(descriptor: SessionDescriptor): Promise<CodemieFileModification[]>;
46
- /**
47
- * Extract raw events (messages, tool calls, file modifications) for granular metrics
48
- * Used by remote submission system to generate backend-aligned metrics
49
- * @param descriptor Session descriptor
50
- * @returns Raw events from session
51
- */
52
- extractRawEvents(descriptor: SessionDescriptor): Promise<{
53
- messages: CodemieMessage[];
54
- toolCalls: CodemieToolCall[];
55
- fileModifications: CodemieFileModification[];
56
- }>;
57
- /**
58
- * Validate that the adapter's data source is accessible
59
- * @returns true if data source exists and is readable
60
- */
61
- validateSource(): Promise<boolean>;
62
- }
63
- /**
64
- * Metadata passed from plugin to adapter constructor
65
- */
66
- export interface AdapterMetadata {
67
- name: string;
68
- displayName: string;
69
- dataPaths?: {
70
- home: string;
71
- sessions?: string;
72
- settings?: string;
73
- cache?: string;
74
- };
75
- }
76
- //# sourceMappingURL=adapter.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/adapter.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAEpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAGhB;;;;OAIG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAG1E;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvE;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE1E;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE5E;;;;OAIG;IACH,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE5F;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC;QACvD,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;KAC9C,CAAC,CAAC;IAGH;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Agent Analytics Adapter Interface
3
- *
4
- * Defines the contract that all agent-specific analytics adapters must implement.
5
- * This interface enables standardized extraction of analytics data from different
6
- * agent log formats (JSON, JSONL, etc.).
7
- */
8
- export {};
9
- //# sourceMappingURL=adapter.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.interface.js","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/adapter.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,86 +0,0 @@
1
- /**
2
- * Aggregation Utilities
3
- *
4
- * Shared utility functions for aggregating file modification statistics.
5
- * Used by all analytics adapters to calculate consistent statistics.
6
- */
7
- import { CodemieFileModification } from '../types.js';
8
- /**
9
- * Aggregate file modifications by language
10
- */
11
- export declare function aggregateByLanguage(modifications: CodemieFileModification[]): Record<string, {
12
- filesCreated: number;
13
- filesModified: number;
14
- linesAdded: number;
15
- linesRemoved: number;
16
- }>;
17
- /**
18
- * Aggregate file modifications by format
19
- */
20
- export declare function aggregateByFormat(modifications: CodemieFileModification[]): Record<string, {
21
- filesCreated: number;
22
- filesModified: number;
23
- linesAdded: number;
24
- linesRemoved: number;
25
- }>;
26
- /**
27
- * Aggregate file modifications by tool
28
- */
29
- export declare function aggregateByTool(modifications: CodemieFileModification[]): Record<string, {
30
- count: number;
31
- linesAdded: number;
32
- linesRemoved: number;
33
- }>;
34
- /**
35
- * Calculate file statistics from modifications
36
- */
37
- export declare function calculateFileStats(modifications: CodemieFileModification[]): {
38
- filesCreated: number;
39
- filesModified: number;
40
- filesDeleted: number;
41
- totalLinesAdded: number;
42
- totalLinesRemoved: number;
43
- totalLinesModified: number;
44
- byLanguage: Record<string, {
45
- filesCreated: number;
46
- filesModified: number;
47
- linesAdded: number;
48
- linesRemoved: number;
49
- }>;
50
- byFormat: Record<string, {
51
- filesCreated: number;
52
- filesModified: number;
53
- linesAdded: number;
54
- linesRemoved: number;
55
- }>;
56
- byTool: Record<string, {
57
- count: number;
58
- linesAdded: number;
59
- linesRemoved: number;
60
- }>;
61
- } | undefined;
62
- /**
63
- * Calculate duration between two dates
64
- */
65
- export declare function calculateDuration(startTime: Date | string, endTime: Date | string): number;
66
- /**
67
- * Normalize LLM model names from different provider formats
68
- *
69
- * Handles various model name formats:
70
- * - AWS Bedrock Converse: converse/region.provider.model-v1:0 -> model
71
- * - AWS Bedrock Direct: region.provider.model-v1:0 -> model
72
- * - Standard Claude: claude-sonnet-4-5-20250929 (unchanged)
73
- * - OpenAI: gpt-4.1-turbo (unchanged)
74
- * - Google: gemini-1.5-pro (unchanged)
75
- *
76
- * Examples:
77
- * - converse/global.anthropic.claude-haiku-4-5-20251001-v1:0 -> claude-haiku-4-5-20251001
78
- * - eu.anthropic.claude-haiku-4-5-20251001-v1:0 -> claude-haiku-4-5-20251001
79
- * - us-east-1.anthropic.claude-opus-4-20250514-v1:0 -> claude-opus-4-20250514
80
- * - claude-sonnet-4-5-20250929 -> claude-sonnet-4-5-20250929
81
- *
82
- * @param modelName - Raw model name from analytics data
83
- * @returns Normalized model name for display
84
- */
85
- export declare function normalizeModelName(modelName: string): string;
86
- //# sourceMappingURL=aggregation-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregation-utils.d.ts","sourceRoot":"","sources":["../../../../src/analytics/aggregation/core/aggregation-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAwCtD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAED;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IAC1F,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAED;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAmBD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE;;;;;;;;sBAnD3D,MAAM;uBACL,MAAM;oBACT,MAAM;sBACJ,MAAM;;;sBASN,MAAM;uBACL,MAAM;oBACT,MAAM;sBACJ,MAAM;;;eASb,MAAM;oBACD,MAAM;sBACJ,MAAM;;cAyCrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAI1F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAyB5D"}