@codemieai/code 0.0.23 → 0.0.25

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 (304) hide show
  1. package/README.md +41 -80
  2. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  3. package/dist/agents/codemie-code/config.js +7 -3
  4. package/dist/agents/codemie-code/config.js.map +1 -1
  5. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
  6. package/dist/agents/codemie-code/tools/index.js +6 -5
  7. package/dist/agents/codemie-code/tools/index.js.map +1 -1
  8. package/dist/agents/codemie-code/types.d.ts +4 -0
  9. package/dist/agents/codemie-code/types.d.ts.map +1 -1
  10. package/dist/agents/codemie-code/types.js.map +1 -1
  11. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  12. package/dist/agents/core/AgentCLI.js +21 -0
  13. package/dist/agents/core/AgentCLI.js.map +1 -1
  14. package/dist/agents/core/BaseAgentAdapter.d.ts +54 -3
  15. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  16. package/dist/agents/core/BaseAgentAdapter.js +162 -30
  17. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  18. package/dist/agents/core/BaseMetricsAdapter.d.ts +88 -6
  19. package/dist/agents/core/BaseMetricsAdapter.d.ts.map +1 -1
  20. package/dist/agents/core/BaseMetricsAdapter.js +174 -16
  21. package/dist/agents/core/BaseMetricsAdapter.js.map +1 -1
  22. package/dist/agents/core/lifecycle-helpers.d.ts +111 -0
  23. package/dist/agents/core/lifecycle-helpers.d.ts.map +1 -0
  24. package/dist/agents/core/lifecycle-helpers.js +189 -0
  25. package/dist/agents/core/lifecycle-helpers.js.map +1 -0
  26. package/dist/{metrics → agents/core/metrics}/MetricsOrchestrator.d.ts +12 -0
  27. package/dist/agents/core/metrics/MetricsOrchestrator.d.ts.map +1 -0
  28. package/dist/{metrics → agents/core/metrics}/MetricsOrchestrator.js +142 -23
  29. package/dist/agents/core/metrics/MetricsOrchestrator.js.map +1 -0
  30. package/dist/agents/core/metrics/core/DeltaWriter.d.ts.map +1 -0
  31. package/dist/{metrics → agents/core/metrics}/core/DeltaWriter.js +13 -7
  32. package/dist/agents/core/metrics/core/DeltaWriter.js.map +1 -0
  33. package/dist/agents/core/metrics/core/FileSnapshotter.d.ts.map +1 -0
  34. package/dist/{metrics → agents/core/metrics}/core/FileSnapshotter.js +1 -1
  35. package/dist/agents/core/metrics/core/FileSnapshotter.js.map +1 -0
  36. package/dist/agents/core/metrics/core/SessionCorrelator.d.ts.map +1 -0
  37. package/dist/agents/core/metrics/core/SessionCorrelator.js +157 -0
  38. package/dist/agents/core/metrics/core/SessionCorrelator.js.map +1 -0
  39. package/dist/agents/core/metrics/core/SyncStateManager.d.ts.map +1 -0
  40. package/dist/{metrics → agents/core/metrics}/core/SyncStateManager.js +2 -2
  41. package/dist/agents/core/metrics/core/SyncStateManager.js.map +1 -0
  42. package/dist/agents/core/metrics/index.d.ts.map +1 -0
  43. package/dist/agents/core/metrics/index.js.map +1 -0
  44. package/dist/agents/core/metrics/session/SessionStore.d.ts.map +1 -0
  45. package/dist/{metrics → agents/core/metrics}/session/SessionStore.js +9 -5
  46. package/dist/agents/core/metrics/session/SessionStore.js.map +1 -0
  47. package/dist/agents/core/metrics/types.d.ts.map +1 -0
  48. package/dist/agents/core/metrics/types.js.map +1 -0
  49. package/dist/{metrics/config.d.ts → agents/core/metrics-config.d.ts} +1 -1
  50. package/dist/agents/core/metrics-config.d.ts.map +1 -0
  51. package/dist/{metrics/config.js → agents/core/metrics-config.js} +13 -4
  52. package/dist/agents/core/metrics-config.js.map +1 -0
  53. package/dist/agents/core/types.d.ts +112 -6
  54. package/dist/agents/core/types.d.ts.map +1 -1
  55. package/dist/agents/plugins/claude.metrics.d.ts +4 -2
  56. package/dist/agents/plugins/claude.metrics.d.ts.map +1 -1
  57. package/dist/agents/plugins/claude.metrics.js +33 -11
  58. package/dist/agents/plugins/claude.metrics.js.map +1 -1
  59. package/dist/agents/plugins/claude.plugin.d.ts +1 -1
  60. package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
  61. package/dist/agents/plugins/claude.plugin.js +3 -33
  62. package/dist/agents/plugins/claude.plugin.js.map +1 -1
  63. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  64. package/dist/agents/plugins/codemie-code.plugin.js +12 -5
  65. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  66. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
  67. package/dist/agents/plugins/codex.plugin.js +133 -33
  68. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  69. package/dist/agents/plugins/gemini.metrics.d.ts +10 -3
  70. package/dist/agents/plugins/gemini.metrics.d.ts.map +1 -1
  71. package/dist/agents/plugins/gemini.metrics.js +69 -17
  72. package/dist/agents/plugins/gemini.metrics.js.map +1 -1
  73. package/dist/agents/plugins/gemini.plugin.d.ts +1 -1
  74. package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
  75. package/dist/agents/plugins/gemini.plugin.js +15 -24
  76. package/dist/agents/plugins/gemini.plugin.js.map +1 -1
  77. package/dist/agents/plugins/history-parser.d.ts +1 -1
  78. package/dist/agents/plugins/history-parser.d.ts.map +1 -1
  79. package/dist/cli/commands/analytics/data-loader.d.ts +1 -1
  80. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  81. package/dist/cli/commands/analytics/types.d.ts +2 -2
  82. package/dist/cli/commands/analytics/types.d.ts.map +1 -1
  83. package/dist/cli/commands/analytics/types.js +1 -1
  84. package/dist/cli/commands/profile/auth.d.ts +5 -0
  85. package/dist/cli/commands/profile/auth.d.ts.map +1 -0
  86. package/dist/cli/commands/profile/auth.js +120 -0
  87. package/dist/cli/commands/profile/auth.js.map +1 -0
  88. package/dist/cli/commands/{profile.d.ts → profile/index.d.ts} +1 -1
  89. package/dist/cli/commands/profile/index.d.ts.map +1 -0
  90. package/dist/cli/commands/{profile.js → profile/index.js} +81 -46
  91. package/dist/cli/commands/profile/index.js.map +1 -0
  92. package/dist/cli/index.js +1 -3
  93. package/dist/cli/index.js.map +1 -1
  94. package/dist/providers/core/auth-validation.d.ts +20 -0
  95. package/dist/providers/core/auth-validation.d.ts.map +1 -0
  96. package/dist/providers/core/auth-validation.js +27 -0
  97. package/dist/providers/core/auth-validation.js.map +1 -0
  98. package/dist/providers/core/types.d.ts +51 -0
  99. package/dist/providers/core/types.d.ts.map +1 -1
  100. package/dist/providers/plugins/sso/index.d.ts +3 -0
  101. package/dist/providers/plugins/sso/index.d.ts.map +1 -1
  102. package/dist/providers/plugins/sso/index.js +4 -0
  103. package/dist/providers/plugins/sso/index.js.map +1 -1
  104. package/dist/{metrics/sync/jsonl-writer.d.ts → providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts} +2 -2
  105. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts.map +1 -0
  106. package/dist/{metrics/sync/jsonl-writer.js → providers/plugins/sso/metrics/sync/sso.jsonl-writer.js} +2 -2
  107. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.js.map +1 -0
  108. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts +62 -0
  109. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts.map +1 -0
  110. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js +157 -0
  111. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js.map +1 -0
  112. package/dist/{metrics/sync/aggregator.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-aggregator.d.ts} +4 -4
  113. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.d.ts.map +1 -0
  114. package/dist/{metrics/sync/aggregator.js → providers/plugins/sso/metrics/sync/sso.metrics-aggregator.js} +5 -4
  115. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.js.map +1 -0
  116. package/dist/{metrics/sync/MetricsApiClient.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts} +2 -2
  117. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts.map +1 -0
  118. package/dist/{metrics/sync/MetricsApiClient.js → providers/plugins/sso/metrics/sync/sso.metrics-api-client.js} +9 -5
  119. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js.map +1 -0
  120. package/dist/{metrics/sync/post-processor.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-post-processor.d.ts} +3 -3
  121. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.d.ts.map +1 -0
  122. package/dist/{metrics/sync/post-processor.js → providers/plugins/sso/metrics/sync/sso.metrics-post-processor.js} +3 -3
  123. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.js.map +1 -0
  124. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.d.ts +104 -0
  125. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.d.ts.map +1 -0
  126. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js +258 -0
  127. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js.map +1 -0
  128. package/dist/{proxy/plugins/metrics-sync.plugin.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts} +9 -6
  129. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts.map +1 -0
  130. package/dist/{proxy/plugins/metrics-sync.plugin.js → providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.js} +42 -60
  131. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.js.map +1 -0
  132. package/dist/{metrics/sync/types.d.ts → providers/plugins/sso/metrics/sync/sso.metrics-types.d.ts} +6 -2
  133. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.d.ts.map +1 -0
  134. package/dist/{metrics/sync/types.js → providers/plugins/sso/metrics/sync/sso.metrics-types.js} +1 -1
  135. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.js.map +1 -0
  136. package/dist/providers/plugins/sso/proxy/plugins/endpoint-blocker.plugin.d.ts.map +1 -0
  137. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/endpoint-blocker.plugin.js +1 -1
  138. package/dist/providers/plugins/sso/proxy/plugins/endpoint-blocker.plugin.js.map +1 -0
  139. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts.map +1 -0
  140. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/header-injection.plugin.js +2 -2
  141. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -0
  142. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/index.d.ts +2 -2
  143. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -0
  144. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/index.js +4 -3
  145. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -0
  146. package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.d.ts.map +1 -0
  147. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/logging.plugin.js +1 -1
  148. package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.js.map +1 -0
  149. package/dist/providers/plugins/sso/proxy/plugins/registry.d.ts.map +1 -0
  150. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/registry.js +1 -1
  151. package/dist/providers/plugins/sso/proxy/plugins/registry.js.map +1 -0
  152. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.d.ts.map +1 -0
  153. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/sso-auth.plugin.js +1 -1
  154. package/dist/providers/plugins/sso/proxy/plugins/sso-auth.plugin.js.map +1 -0
  155. package/dist/{proxy → providers/plugins/sso/proxy}/plugins/types.d.ts +4 -4
  156. package/dist/providers/plugins/sso/proxy/plugins/types.d.ts.map +1 -0
  157. package/dist/providers/plugins/sso/proxy/plugins/types.js.map +1 -0
  158. package/dist/{proxy/errors.d.ts → providers/plugins/sso/proxy/proxy-errors.d.ts} +1 -1
  159. package/dist/providers/plugins/sso/proxy/proxy-errors.d.ts.map +1 -0
  160. package/dist/{proxy/errors.js → providers/plugins/sso/proxy/proxy-errors.js} +1 -1
  161. package/dist/providers/plugins/sso/proxy/proxy-errors.js.map +1 -0
  162. package/dist/{proxy/http-client.d.ts → providers/plugins/sso/proxy/proxy-http-client.d.ts} +1 -1
  163. package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts.map +1 -0
  164. package/dist/{proxy/http-client.js → providers/plugins/sso/proxy/proxy-http-client.js} +3 -3
  165. package/dist/providers/plugins/sso/proxy/proxy-http-client.js.map +1 -0
  166. package/dist/{proxy/types.d.ts → providers/plugins/sso/proxy/proxy-types.d.ts} +2 -2
  167. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -0
  168. package/dist/{proxy/types.js → providers/plugins/sso/proxy/proxy-types.js} +1 -1
  169. package/dist/providers/plugins/sso/proxy/proxy-types.js.map +1 -0
  170. package/dist/{utils/codemie-proxy.d.ts → providers/plugins/sso/proxy/sso.proxy.d.ts} +3 -3
  171. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -0
  172. package/dist/{utils/codemie-proxy.js → providers/plugins/sso/proxy/sso.proxy.js} +11 -11
  173. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -0
  174. package/dist/providers/plugins/sso/sso.auth.d.ts +7 -3
  175. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  176. package/dist/providers/plugins/sso/sso.auth.js +40 -7
  177. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  178. package/dist/providers/plugins/sso/sso.health.js +3 -3
  179. package/dist/providers/plugins/sso/sso.health.js.map +1 -1
  180. package/dist/providers/plugins/sso/sso.models.js +1 -1
  181. package/dist/providers/plugins/sso/sso.models.js.map +1 -1
  182. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  183. package/dist/providers/plugins/sso/sso.setup-steps.js +116 -1
  184. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  185. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
  186. package/dist/providers/plugins/sso/sso.template.js +51 -0
  187. package/dist/providers/plugins/sso/sso.template.js.map +1 -1
  188. package/dist/utils/credential-store.d.ts +9 -3
  189. package/dist/utils/credential-store.d.ts.map +1 -1
  190. package/dist/utils/credential-store.js +43 -18
  191. package/dist/utils/credential-store.js.map +1 -1
  192. package/dist/utils/error-context.d.ts +90 -0
  193. package/dist/utils/error-context.d.ts.map +1 -0
  194. package/dist/utils/error-context.js +338 -0
  195. package/dist/utils/error-context.js.map +1 -0
  196. package/dist/utils/exec.d.ts +1 -1
  197. package/dist/utils/exec.d.ts.map +1 -1
  198. package/dist/utils/exec.js +9 -5
  199. package/dist/utils/exec.js.map +1 -1
  200. package/dist/utils/first-time.js +1 -1
  201. package/dist/utils/first-time.js.map +1 -1
  202. package/dist/{metrics/utils → utils}/git.d.ts +1 -1
  203. package/dist/utils/git.d.ts.map +1 -0
  204. package/dist/{metrics/utils → utils}/git.js +2 -2
  205. package/dist/utils/git.js.map +1 -0
  206. package/dist/utils/npm.d.ts.map +1 -1
  207. package/dist/utils/npm.js +16 -5
  208. package/dist/utils/npm.js.map +1 -1
  209. package/dist/utils/path-utils.d.ts +195 -0
  210. package/dist/utils/path-utils.d.ts.map +1 -0
  211. package/dist/utils/path-utils.js +267 -0
  212. package/dist/utils/path-utils.js.map +1 -0
  213. package/dist/utils/profile-display.d.ts +41 -0
  214. package/dist/utils/profile-display.d.ts.map +1 -0
  215. package/dist/utils/profile-display.js +90 -0
  216. package/dist/utils/profile-display.js.map +1 -0
  217. package/dist/utils/profile.d.ts +46 -1
  218. package/dist/utils/profile.d.ts.map +1 -1
  219. package/dist/utils/profile.js +138 -9
  220. package/dist/utils/profile.js.map +1 -1
  221. package/dist/utils/which.d.ts.map +1 -1
  222. package/dist/utils/which.js +4 -2
  223. package/dist/utils/which.js.map +1 -1
  224. package/package.json +1 -1
  225. package/dist/cli/commands/auth.d.ts +0 -3
  226. package/dist/cli/commands/auth.d.ts.map +0 -1
  227. package/dist/cli/commands/auth.js +0 -184
  228. package/dist/cli/commands/auth.js.map +0 -1
  229. package/dist/cli/commands/profile.d.ts.map +0 -1
  230. package/dist/cli/commands/profile.js.map +0 -1
  231. package/dist/metrics/MetricsOrchestrator.d.ts.map +0 -1
  232. package/dist/metrics/MetricsOrchestrator.js.map +0 -1
  233. package/dist/metrics/config.d.ts.map +0 -1
  234. package/dist/metrics/config.js.map +0 -1
  235. package/dist/metrics/core/DeltaWriter.d.ts.map +0 -1
  236. package/dist/metrics/core/DeltaWriter.js.map +0 -1
  237. package/dist/metrics/core/FileSnapshotter.d.ts.map +0 -1
  238. package/dist/metrics/core/FileSnapshotter.js.map +0 -1
  239. package/dist/metrics/core/SessionCorrelator.d.ts.map +0 -1
  240. package/dist/metrics/core/SessionCorrelator.js +0 -115
  241. package/dist/metrics/core/SessionCorrelator.js.map +0 -1
  242. package/dist/metrics/core/SyncStateManager.d.ts.map +0 -1
  243. package/dist/metrics/core/SyncStateManager.js.map +0 -1
  244. package/dist/metrics/index.d.ts.map +0 -1
  245. package/dist/metrics/index.js.map +0 -1
  246. package/dist/metrics/session/SessionStore.d.ts.map +0 -1
  247. package/dist/metrics/session/SessionStore.js.map +0 -1
  248. package/dist/metrics/sync/MetricsApiClient.d.ts.map +0 -1
  249. package/dist/metrics/sync/MetricsApiClient.js.map +0 -1
  250. package/dist/metrics/sync/aggregator.d.ts.map +0 -1
  251. package/dist/metrics/sync/aggregator.js.map +0 -1
  252. package/dist/metrics/sync/index.d.ts +0 -10
  253. package/dist/metrics/sync/index.d.ts.map +0 -1
  254. package/dist/metrics/sync/index.js +0 -10
  255. package/dist/metrics/sync/index.js.map +0 -1
  256. package/dist/metrics/sync/jsonl-writer.d.ts.map +0 -1
  257. package/dist/metrics/sync/jsonl-writer.js.map +0 -1
  258. package/dist/metrics/sync/post-processor.d.ts.map +0 -1
  259. package/dist/metrics/sync/post-processor.js.map +0 -1
  260. package/dist/metrics/sync/types.d.ts.map +0 -1
  261. package/dist/metrics/sync/types.js.map +0 -1
  262. package/dist/metrics/types.d.ts.map +0 -1
  263. package/dist/metrics/types.js.map +0 -1
  264. package/dist/metrics/utils/git.d.ts.map +0 -1
  265. package/dist/metrics/utils/git.js.map +0 -1
  266. package/dist/proxy/errors.d.ts.map +0 -1
  267. package/dist/proxy/errors.js.map +0 -1
  268. package/dist/proxy/http-client.d.ts.map +0 -1
  269. package/dist/proxy/http-client.js.map +0 -1
  270. package/dist/proxy/plugins/endpoint-blocker.plugin.d.ts.map +0 -1
  271. package/dist/proxy/plugins/endpoint-blocker.plugin.js.map +0 -1
  272. package/dist/proxy/plugins/header-injection.plugin.d.ts.map +0 -1
  273. package/dist/proxy/plugins/header-injection.plugin.js.map +0 -1
  274. package/dist/proxy/plugins/index.d.ts.map +0 -1
  275. package/dist/proxy/plugins/index.js.map +0 -1
  276. package/dist/proxy/plugins/logging.plugin.d.ts.map +0 -1
  277. package/dist/proxy/plugins/logging.plugin.js.map +0 -1
  278. package/dist/proxy/plugins/metrics-sync.plugin.d.ts.map +0 -1
  279. package/dist/proxy/plugins/metrics-sync.plugin.js.map +0 -1
  280. package/dist/proxy/plugins/registry.d.ts.map +0 -1
  281. package/dist/proxy/plugins/registry.js.map +0 -1
  282. package/dist/proxy/plugins/sso-auth.plugin.d.ts.map +0 -1
  283. package/dist/proxy/plugins/sso-auth.plugin.js.map +0 -1
  284. package/dist/proxy/plugins/types.d.ts.map +0 -1
  285. package/dist/proxy/plugins/types.js.map +0 -1
  286. package/dist/proxy/types.d.ts.map +0 -1
  287. package/dist/proxy/types.js.map +0 -1
  288. package/dist/utils/codemie-proxy.d.ts.map +0 -1
  289. package/dist/utils/codemie-proxy.js.map +0 -1
  290. /package/dist/{metrics → agents/core/metrics}/core/DeltaWriter.d.ts +0 -0
  291. /package/dist/{metrics → agents/core/metrics}/core/FileSnapshotter.d.ts +0 -0
  292. /package/dist/{metrics → agents/core/metrics}/core/SessionCorrelator.d.ts +0 -0
  293. /package/dist/{metrics → agents/core/metrics}/core/SyncStateManager.d.ts +0 -0
  294. /package/dist/{metrics → agents/core/metrics}/index.d.ts +0 -0
  295. /package/dist/{metrics → agents/core/metrics}/index.js +0 -0
  296. /package/dist/{metrics → agents/core/metrics}/session/SessionStore.d.ts +0 -0
  297. /package/dist/{metrics → agents/core/metrics}/types.d.ts +0 -0
  298. /package/dist/{metrics → agents/core/metrics}/types.js +0 -0
  299. /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/endpoint-blocker.plugin.d.ts +0 -0
  300. /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/header-injection.plugin.d.ts +0 -0
  301. /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/logging.plugin.d.ts +0 -0
  302. /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/registry.d.ts +0 -0
  303. /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/sso-auth.plugin.d.ts +0 -0
  304. /package/dist/{proxy → providers/plugins/sso/proxy}/plugins/types.js +0 -0
@@ -14,10 +14,11 @@ import { SessionCorrelator } from './core/SessionCorrelator.js';
14
14
  import { SessionStore } from './session/SessionStore.js';
15
15
  import { DeltaWriter } from './core/DeltaWriter.js';
16
16
  import { SyncStateManager } from './core/SyncStateManager.js';
17
- import { METRICS_CONFIG } from './config.js';
18
- import { logger } from '../utils/logger.js';
17
+ import { METRICS_CONFIG } from '../metrics-config.js';
18
+ import { logger } from '../../../utils/logger.js';
19
19
  import { watch } from 'fs';
20
- import { detectGitBranch } from './utils/git.js';
20
+ import { detectGitBranch } from '../../../utils/git.js';
21
+ import { createErrorContext, formatErrorForLog } from '../../../utils/error-context.js';
21
22
  export class MetricsOrchestrator {
22
23
  sessionId;
23
24
  agentName;
@@ -55,19 +56,30 @@ export class MetricsOrchestrator {
55
56
  /**
56
57
  * Step 1: Take snapshot before agent spawn
57
58
  * Called before spawning the agent process
59
+ * Note: This method is only called when metrics are enabled
58
60
  */
59
61
  async beforeAgentSpawn() {
60
- if (!this.isEnabled()) {
61
- logger.debug('[MetricsOrchestrator] Metrics disabled for provider:', this.provider);
62
- return;
63
- }
64
62
  try {
65
- logger.debug('[MetricsOrchestrator] Taking pre-spawn snapshot...');
63
+ logger.info('[MetricsOrchestrator] Preparing to track session metrics...');
66
64
  // Get agent data paths
67
65
  const { sessionsDir } = this.metricsAdapter.getDataPaths();
66
+ logger.debug(`[MetricsOrchestrator] Taking pre-spawn snapshot of: ${sessionsDir}`);
68
67
  // Take snapshot
69
68
  this.beforeSnapshot = await this.snapshotter.snapshot(sessionsDir);
70
- logger.debug(`[MetricsOrchestrator] Pre-spawn snapshot: ${this.beforeSnapshot.files.length} files`);
69
+ logger.info(`[MetricsOrchestrator] Baseline: ${this.beforeSnapshot.files.length} existing session file${this.beforeSnapshot.files.length !== 1 ? 's' : ''}`);
70
+ logger.debug(`[MetricsOrchestrator] Pre-spawn snapshot complete: ${this.beforeSnapshot.files.length} files`);
71
+ // Show sample of baseline files for debugging
72
+ if (this.beforeSnapshot.files.length > 0) {
73
+ const sampleSize = Math.min(3, this.beforeSnapshot.files.length);
74
+ const sample = this.beforeSnapshot.files.slice(0, sampleSize).map(f => f.path);
75
+ logger.info(`[MetricsOrchestrator] Sample files (first ${sampleSize}):`);
76
+ for (const filePath of sample) {
77
+ logger.info(`[MetricsOrchestrator] → ${filePath}`);
78
+ }
79
+ if (this.beforeSnapshot.files.length > sampleSize) {
80
+ logger.info(`[MetricsOrchestrator] ... and ${this.beforeSnapshot.files.length - sampleSize} more`);
81
+ }
82
+ }
71
83
  // Detect git branch from working directory
72
84
  const gitBranch = await detectGitBranch(this.workingDirectory);
73
85
  // Create session record
@@ -91,35 +103,73 @@ export class MetricsOrchestrator {
91
103
  };
92
104
  // Save initial session
93
105
  await this.store.saveSession(this.session);
94
- logger.debug(`[MetricsOrchestrator] Session created: ${this.sessionId}`);
106
+ logger.info(`[MetricsOrchestrator] Session created: ${this.sessionId}`);
107
+ logger.debug(`[MetricsOrchestrator] Agent: ${this.agentName}, Provider: ${this.provider}`);
95
108
  }
96
109
  catch (error) {
97
- logger.error('[MetricsOrchestrator] Failed to take pre-spawn snapshot:', error);
110
+ // Disable metrics for the rest of the session to prevent log pollution
111
+ process.env.CODEMIE_METRICS_DISABLED = '1';
112
+ // Create comprehensive error context for logging
113
+ const errorContext = createErrorContext(error, {
114
+ sessionId: this.sessionId,
115
+ agent: this.agentName,
116
+ provider: this.provider,
117
+ ...(this.project && { model: this.project })
118
+ });
119
+ logger.error('[MetricsOrchestrator] Failed to take pre-spawn snapshot', formatErrorForLog(errorContext));
120
+ // Store raw error for display to user (not ErrorContext)
121
+ if (this.session) {
122
+ this.session.initError = error;
123
+ }
98
124
  // Don't throw - metrics failures shouldn't break agent execution
99
125
  }
100
126
  }
101
127
  /**
102
128
  * Step 2: Take snapshot after agent spawn + correlate
103
129
  * Called after spawning the agent process
130
+ * Note: This method is only called when metrics are enabled
104
131
  */
105
132
  async afterAgentSpawn() {
106
133
  if (!this.isEnabled() || !this.beforeSnapshot || !this.session) {
107
134
  return;
108
135
  }
109
136
  try {
110
- logger.debug('[MetricsOrchestrator] Waiting for agent initialization...');
137
+ logger.info(`[MetricsOrchestrator] Agent started - waiting for session file creation...`);
111
138
  // Wait for agent to initialize and create session file
112
139
  const initDelay = this.metricsAdapter.getInitDelay();
113
140
  await this.sleep(initDelay);
114
- logger.debug('[MetricsOrchestrator] Taking post-spawn snapshot...');
115
141
  // Get agent data paths
116
142
  const { sessionsDir } = this.metricsAdapter.getDataPaths();
143
+ logger.info(`[MetricsOrchestrator] Scanning directory: ${sessionsDir}`);
117
144
  // Take snapshot
118
145
  const afterSnapshot = await this.snapshotter.snapshot(sessionsDir);
119
- logger.debug(`[MetricsOrchestrator] Post-spawn snapshot: ${afterSnapshot.files.length} files`);
146
+ logger.info(`[MetricsOrchestrator] Found ${afterSnapshot.files.length} total session file${afterSnapshot.files.length !== 1 ? 's' : ''} in directory`);
147
+ logger.debug(`[MetricsOrchestrator] Pre-spawn: ${this.beforeSnapshot.files.length} files, Post-spawn: ${afterSnapshot.files.length} files`);
148
+ // Show sample of post-spawn files for comparison
149
+ if (afterSnapshot.files.length > 0 && afterSnapshot.files.length !== this.beforeSnapshot.files.length) {
150
+ const sampleSize = Math.min(3, afterSnapshot.files.length);
151
+ const sample = afterSnapshot.files.slice(0, sampleSize).map(f => f.path);
152
+ logger.info(`[MetricsOrchestrator] Post-spawn files (first ${sampleSize}):`);
153
+ for (const filePath of sample) {
154
+ logger.info(`[MetricsOrchestrator] → ${filePath}`);
155
+ }
156
+ if (afterSnapshot.files.length > sampleSize) {
157
+ logger.info(`[MetricsOrchestrator] ... and ${afterSnapshot.files.length - sampleSize} more`);
158
+ }
159
+ }
120
160
  // Compute diff
121
161
  const newFiles = this.snapshotter.diff(this.beforeSnapshot, afterSnapshot);
122
- logger.debug(`[MetricsOrchestrator] Detected ${newFiles.length} new file(s)`);
162
+ if (newFiles.length > 0) {
163
+ logger.info(`[MetricsOrchestrator] ${newFiles.length} new file${newFiles.length !== 1 ? 's' : ''} created since agent start`);
164
+ // Use path.basename for cross-platform display
165
+ const { basename } = await import('path');
166
+ logger.info(`[MetricsOrchestrator] ${newFiles.map(f => `→ ${basename(f.path)}`).join(', ')}`);
167
+ logger.debug(`[MetricsOrchestrator] New files (full paths): ${newFiles.map(f => f.path).join(', ')}`);
168
+ }
169
+ else {
170
+ logger.info(`[MetricsOrchestrator] No new files yet - will retry...`);
171
+ logger.debug(`[MetricsOrchestrator] Diff result: 0 new files (baseline had ${this.beforeSnapshot.files.length}, post-spawn has ${afterSnapshot.files.length})`);
172
+ }
123
173
  // Correlate with retry
124
174
  logger.debug('[MetricsOrchestrator] Starting correlation with retry...');
125
175
  const correlation = await this.correlator.correlateWithRetry({
@@ -149,13 +199,25 @@ export class MetricsOrchestrator {
149
199
  }
150
200
  }
151
201
  catch (error) {
152
- logger.error('[MetricsOrchestrator] Failed in post-spawn phase:', error);
202
+ // Create comprehensive error context for logging
203
+ const errorContext = createErrorContext(error, {
204
+ sessionId: this.sessionId,
205
+ agent: this.agentName,
206
+ provider: this.provider,
207
+ ...(this.project && { model: this.project })
208
+ });
209
+ logger.error('[MetricsOrchestrator] Failed in post-spawn phase', formatErrorForLog(errorContext));
210
+ // Store raw error for display to user (not ErrorContext)
211
+ if (this.session) {
212
+ this.session.postSpawnError = error;
213
+ }
153
214
  // Don't throw - metrics failures shouldn't break agent execution
154
215
  }
155
216
  }
156
217
  /**
157
218
  * Finalize session on agent exit
158
219
  * Called when agent process exits
220
+ * Note: This method is only called when metrics are enabled
159
221
  */
160
222
  async onAgentExit(exitCode) {
161
223
  if (!this.isEnabled() || !this.session) {
@@ -186,7 +248,14 @@ export class MetricsOrchestrator {
186
248
  logger.debug('[MetricsOrchestrator] Session finalized');
187
249
  }
188
250
  catch (error) {
189
- logger.error('[MetricsOrchestrator] Failed to finalize session:', error);
251
+ // Create comprehensive error context for logging
252
+ const errorContext = createErrorContext(error, {
253
+ sessionId: this.sessionId,
254
+ agent: this.agentName,
255
+ provider: this.provider,
256
+ ...(this.project && { model: this.project })
257
+ });
258
+ logger.error('[MetricsOrchestrator] Failed to finalize session', formatErrorForLog(errorContext));
190
259
  // Don't throw - metrics failures shouldn't break agent execution
191
260
  }
192
261
  }
@@ -194,8 +263,7 @@ export class MetricsOrchestrator {
194
263
  * Start incremental monitoring with delta collection
195
264
  */
196
265
  async startIncrementalMonitoring(sessionFilePath) {
197
- if (!this.session || !this.session.correlation.agentSessionId) {
198
- logger.warn('[MetricsOrchestrator] Cannot start monitoring without correlated session');
266
+ if (!this.isEnabled() || !this.session || !this.session.correlation.agentSessionId) {
199
267
  return;
200
268
  }
201
269
  try {
@@ -204,6 +272,7 @@ export class MetricsOrchestrator {
204
272
  this.syncStateManager = new SyncStateManager(this.sessionId);
205
273
  // Initialize sync state with session start time
206
274
  await this.syncStateManager.initialize(this.sessionId, this.session.correlation.agentSessionId, this.session.startTime);
275
+ logger.info('[MetricsOrchestrator] Monitoring session activity in real-time');
207
276
  logger.debug('[MetricsOrchestrator] Initialized delta-based metrics tracking');
208
277
  // Collect initial deltas
209
278
  await this.collectDeltas(sessionFilePath);
@@ -231,8 +300,8 @@ export class MetricsOrchestrator {
231
300
  * Collect delta metrics from agent session file
232
301
  */
233
302
  async collectDeltas(sessionFilePath) {
234
- // Prevent concurrent collection
235
- if (this.isCollecting || !this.deltaWriter || !this.syncStateManager) {
303
+ // Prevent concurrent collection or if metrics disabled
304
+ if (!this.isEnabled() || this.isCollecting || !this.deltaWriter || !this.syncStateManager) {
236
305
  return;
237
306
  }
238
307
  this.isCollecting = true;
@@ -250,15 +319,20 @@ export class MetricsOrchestrator {
250
319
  // Get already-attached user prompt texts from sync state
251
320
  const attachedUserPromptTexts = new Set(syncState.attachedUserPromptTexts || []);
252
321
  // Parse incremental metrics with processed record IDs and attached prompts
322
+ logger.info(`[MetricsOrchestrator] Scanning session for new activity...`);
253
323
  const { deltas, lastLine, newlyAttachedPrompts } = await this.metricsAdapter.parseIncrementalMetrics(sessionFilePath, processedRecordIds, attachedUserPromptTexts);
254
324
  if (deltas.length === 0) {
255
325
  logger.debug('[MetricsOrchestrator] No new deltas to collect');
256
326
  this.isCollecting = false;
257
327
  return;
258
328
  }
259
- logger.debug(`[MetricsOrchestrator] Collected ${deltas.length} new delta(s)`);
329
+ logger.info(`[MetricsOrchestrator] Found ${deltas.length} new interaction${deltas.length !== 1 ? 's' : ''} to record`);
260
330
  // Collect record IDs for tracking
261
331
  const newRecordIds = [];
332
+ // Calculate summary statistics for logging
333
+ let totalTokens = 0;
334
+ let totalTools = 0;
335
+ let totalFiles = 0;
262
336
  // Append each delta to JSONL
263
337
  for (const delta of deltas) {
264
338
  // Set CodeMie session ID
@@ -267,6 +341,16 @@ export class MetricsOrchestrator {
267
341
  if (!delta.gitBranch) {
268
342
  delta.gitBranch = await detectGitBranch(this.workingDirectory);
269
343
  }
344
+ // Accumulate statistics
345
+ if (delta.tokens) {
346
+ totalTokens += (delta.tokens.input || 0) + (delta.tokens.output || 0);
347
+ }
348
+ if (delta.tools) {
349
+ totalTools += Object.values(delta.tools).reduce((sum, count) => sum + count, 0);
350
+ }
351
+ if (delta.fileOperations) {
352
+ totalFiles += delta.fileOperations.length;
353
+ }
270
354
  // Append to JSONL
271
355
  await this.deltaWriter.appendDelta(delta);
272
356
  newRecordIds.push(delta.recordId);
@@ -279,15 +363,50 @@ export class MetricsOrchestrator {
279
363
  if (newlyAttachedPrompts && newlyAttachedPrompts.length > 0) {
280
364
  await this.syncStateManager.addAttachedUserPrompts(newlyAttachedPrompts);
281
365
  }
366
+ // Log summary with meaningful statistics
367
+ const parts = [];
368
+ if (totalTokens > 0)
369
+ parts.push(`${totalTokens.toLocaleString()} tokens`);
370
+ if (totalTools > 0)
371
+ parts.push(`${totalTools} tool${totalTools !== 1 ? 's' : ''}`);
372
+ if (totalFiles > 0)
373
+ parts.push(`${totalFiles} file${totalFiles !== 1 ? 's' : ''}`);
374
+ const summary = parts.length > 0 ? ` (${parts.join(', ')})` : '';
375
+ logger.info(`[MetricsOrchestrator] Recorded${summary}`);
282
376
  logger.debug(`[MetricsOrchestrator] Processed up to line ${lastLine}`);
283
377
  }
284
378
  catch (error) {
285
- logger.error('[MetricsOrchestrator] Failed to collect deltas:', error);
379
+ // Create comprehensive error context for logging
380
+ const errorContext = createErrorContext(error, {
381
+ sessionId: this.sessionId,
382
+ agent: this.agentName,
383
+ provider: this.provider,
384
+ ...(this.project && { model: this.project })
385
+ });
386
+ logger.error('[MetricsOrchestrator] Failed to collect deltas', formatErrorForLog(errorContext));
286
387
  }
287
388
  finally {
288
389
  this.isCollecting = false;
289
390
  }
290
391
  }
392
+ /**
393
+ * Get initialization errors for display to user
394
+ * Returns the first error that occurred during metrics initialization
395
+ */
396
+ getInitializationError() {
397
+ if (!this.session) {
398
+ return null;
399
+ }
400
+ // Check for errors in order of occurrence
401
+ const sessionWithErrors = this.session;
402
+ return sessionWithErrors.initError || sessionWithErrors.postSpawnError || null;
403
+ }
404
+ /**
405
+ * Check if metrics initialization had any errors
406
+ */
407
+ hasInitializationError() {
408
+ return this.getInitializationError() !== null;
409
+ }
291
410
  /**
292
411
  * Sleep utility
293
412
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricsOrchestrator.js","sourceRoot":"","sources":["../../../../src/agents/core/metrics/MetricsOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeltaWriter.d.ts","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/DeltaWriter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK3D,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,SAAS,EAAE,MAAM;IAI7B;;;OAGG;IACG,WAAW,CACf,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,CAAC,GACtD,OAAO,CAAC,MAAM,CAAC;IA6BlB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAkBvC;;;OAGG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,UAAU,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAYhE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAyBF;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,MAAM,IAAI,OAAO;CAGlB"}
@@ -8,8 +8,9 @@
8
8
  import { appendFile, readFile, writeFile, mkdir } from 'fs/promises';
9
9
  import { existsSync } from 'fs';
10
10
  import { dirname } from 'path';
11
- import { logger } from '../../utils/logger.js';
12
- import { getSessionMetricsPath } from '../config.js';
11
+ import { logger } from '../../../../utils/logger.js';
12
+ import { getSessionMetricsPath } from '../../metrics-config.js';
13
+ import { createErrorContext, formatErrorForLog } from '../../../../utils/error-context.js';
13
14
  export class DeltaWriter {
14
15
  filePath;
15
16
  constructor(sessionId) {
@@ -39,7 +40,8 @@ export class DeltaWriter {
39
40
  return delta.recordId;
40
41
  }
41
42
  catch (error) {
42
- logger.error('[DeltaWriter] Failed to append delta:', error);
43
+ const errorContext = createErrorContext(error);
44
+ logger.error('[DeltaWriter] Failed to append delta', formatErrorForLog(errorContext));
43
45
  throw error;
44
46
  }
45
47
  }
@@ -56,7 +58,8 @@ export class DeltaWriter {
56
58
  return lines.map(line => JSON.parse(line));
57
59
  }
58
60
  catch (error) {
59
- logger.error('[DeltaWriter] Failed to read deltas:', error);
61
+ const errorContext = createErrorContext(error);
62
+ logger.error('[DeltaWriter] Failed to read deltas', formatErrorForLog(errorContext));
60
63
  throw error;
61
64
  }
62
65
  }
@@ -90,7 +93,8 @@ export class DeltaWriter {
90
93
  logger.debug(`[DeltaWriter] Updated sync status for ${recordIds.length} records to: ${status}`);
91
94
  }
92
95
  catch (error) {
93
- logger.error('[DeltaWriter] Failed to update sync status:', error);
96
+ const errorContext = createErrorContext(error);
97
+ logger.error('[DeltaWriter] Failed to update sync status', formatErrorForLog(errorContext));
94
98
  throw error;
95
99
  }
96
100
  }
@@ -103,7 +107,8 @@ export class DeltaWriter {
103
107
  return allDeltas.filter(delta => delta.syncStatus === status);
104
108
  }
105
109
  catch (error) {
106
- logger.error(`[DeltaWriter] Failed to filter by status ${status}:`, error);
110
+ const errorContext = createErrorContext(error);
111
+ logger.error(`[DeltaWriter] Failed to filter by status ${status}`, formatErrorForLog(errorContext));
107
112
  throw error;
108
113
  }
109
114
  }
@@ -126,7 +131,8 @@ export class DeltaWriter {
126
131
  return stats;
127
132
  }
128
133
  catch (error) {
129
- logger.error('[DeltaWriter] Failed to get sync stats:', error);
134
+ const errorContext = createErrorContext(error);
135
+ logger.error('[DeltaWriter] Failed to get sync stats', formatErrorForLog(errorContext));
130
136
  throw error;
131
137
  }
132
138
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeltaWriter.js","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/DeltaWriter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSnapshotter.d.ts","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/FileSnapshotter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG1D,qBAAa,eAAe;IAC1B;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAStD;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,QAAQ,EAAE;IAQ3D;;OAEG;YACW,aAAa;CAyC5B"}
@@ -7,7 +7,7 @@
7
7
  import { readdir, stat } from 'fs/promises';
8
8
  import { join } from 'path';
9
9
  import { existsSync } from 'fs';
10
- import { logger } from '../../utils/logger.js';
10
+ import { logger } from '../../../../utils/logger.js';
11
11
  export class FileSnapshotter {
12
12
  /**
13
13
  * Take snapshot of directory
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSnapshotter.js","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/FileSnapshotter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,MAAM,OAAO,eAAe;IAC1B;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAoB,EAAE,KAAmB;QAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAC9E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,OAAe;QACzC,4BAA4B;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE3C,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACnC,KAAK,CAAC,IAAI,CAAC;4BACT,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,SAAS,EAAE,KAAK,CAAC,WAAW;4BAC5B,UAAU,EAAE,KAAK,CAAC,OAAO;yBAC1B,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,sDAAsD;wBACtD,MAAM,CAAC,KAAK,CAAC,0CAA0C,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC/B,kCAAkC;oBAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+CAA+C,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionCorrelator.d.ts","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/SessionCorrelator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIpF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,qBAAa,iBAAiB;IAC5B;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqGpE;;OAEG;IACG,kBAAkB,CACtB,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,GACpC,OAAO,CAAC,iBAAiB,CAAC;IAyC7B;;OAEG;YACW,wBAAwB;IAuBtC;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Session Correlator
3
+ *
4
+ * Correlates CodeMie sessions with agent session files.
5
+ * Uses before/after snapshot diff + working directory filtering.
6
+ */
7
+ import { readFile } from 'fs/promises';
8
+ import { logger } from '../../../../utils/logger.js';
9
+ import { METRICS_CONFIG } from '../../metrics-config.js';
10
+ export class SessionCorrelator {
11
+ /**
12
+ * Correlate CodeMie session to agent session file
13
+ * Picks first match after filtering by working directory
14
+ */
15
+ async correlate(input) {
16
+ const { newFiles, agentPlugin, workingDirectory } = input;
17
+ logger.info(`[SessionCorrelator] Analyzing ${newFiles.length} candidate file${newFiles.length !== 1 ? 's' : ''}...`);
18
+ // Show candidate files at INFO level for debugging
19
+ if (newFiles.length > 0) {
20
+ logger.info(`[SessionCorrelator] Candidate files:`);
21
+ const sampleSize = Math.min(5, newFiles.length);
22
+ for (let i = 0; i < sampleSize; i++) {
23
+ logger.info(`[SessionCorrelator] ${i + 1}. ${newFiles[i].path}`);
24
+ }
25
+ if (newFiles.length > sampleSize) {
26
+ logger.info(`[SessionCorrelator] ... and ${newFiles.length - sampleSize} more`);
27
+ }
28
+ }
29
+ // Case 1: No new files
30
+ if (newFiles.length === 0) {
31
+ logger.warn('[SessionCorrelator] No session files detected - will retry');
32
+ return {
33
+ status: 'pending',
34
+ retryCount: 0
35
+ };
36
+ }
37
+ // Case 2: Filter files by agent pattern
38
+ logger.info(`[SessionCorrelator] Step 1: Filtering by agent session pattern...`);
39
+ const matchingFiles = newFiles.filter(f => agentPlugin.matchesSessionPattern(f.path));
40
+ if (matchingFiles.length > 0) {
41
+ logger.info(`[SessionCorrelator] ${matchingFiles.length} file${matchingFiles.length !== 1 ? 's' : ''} match${matchingFiles.length === 1 ? 'es' : ''} pattern`);
42
+ // Use path.basename for cross-platform display
43
+ const { basename } = await import('path');
44
+ logger.info(`[SessionCorrelator] ${matchingFiles.map(f => `→ ${basename(f.path)}`).join(', ')}`);
45
+ }
46
+ logger.debug(`[SessionCorrelator] Pattern matching: ${matchingFiles.length}/${newFiles.length} files passed`);
47
+ // Show which files were filtered out and why
48
+ if (matchingFiles.length < newFiles.length) {
49
+ const filtered = newFiles.filter(f => !matchingFiles.includes(f));
50
+ logger.debug(`[SessionCorrelator] Filtered out ${filtered.length} files (pattern mismatch): ${filtered.map(f => f.path).join(', ')}`);
51
+ }
52
+ if (matchingFiles.length === 0) {
53
+ logger.warn('[SessionCorrelator] No session files match expected pattern - correlation failed');
54
+ logger.info(`[SessionCorrelator] Agent: ${input.agentName}`);
55
+ logger.info(`[SessionCorrelator] Working directory: ${workingDirectory}`);
56
+ // Show why files were rejected
57
+ if (newFiles.length > 0) {
58
+ logger.info(`[SessionCorrelator] None of the ${newFiles.length} candidate files matched the pattern`);
59
+ // Test first file and explain why it failed
60
+ const testFile = newFiles[0].path;
61
+ logger.debug(`[SessionCorrelator] Testing pattern on: ${testFile}`);
62
+ logger.debug(`[SessionCorrelator] matchesSessionPattern() returned: ${agentPlugin.matchesSessionPattern(testFile)}`);
63
+ }
64
+ return {
65
+ status: 'failed',
66
+ retryCount: 0
67
+ };
68
+ }
69
+ // Case 3: Filter by working directory (parse file content)
70
+ logger.info(`[SessionCorrelator] Step 2: Checking working directory match...`);
71
+ logger.debug(`[SessionCorrelator] Working directory: ${workingDirectory}`);
72
+ const filesWithWorkingDir = await this.filterByWorkingDirectory(matchingFiles, workingDirectory);
73
+ if (filesWithWorkingDir.length > 0) {
74
+ logger.info(`[SessionCorrelator] ${filesWithWorkingDir.length} file${filesWithWorkingDir.length !== 1 ? 's' : ''} contain${filesWithWorkingDir.length === 1 ? 's' : ''} working directory`);
75
+ }
76
+ else {
77
+ logger.info(`[SessionCorrelator] No files contain working directory - using first pattern match`);
78
+ }
79
+ logger.debug(`[SessionCorrelator] Working directory matches: ${filesWithWorkingDir.length}/${matchingFiles.length} files`);
80
+ // Pick first match (simple strategy)
81
+ const matchedFile = filesWithWorkingDir.length > 0
82
+ ? filesWithWorkingDir[0]
83
+ : matchingFiles[0]; // Fallback to first pattern match if no working dir match
84
+ // Extract session ID
85
+ const agentSessionId = agentPlugin.extractSessionId(matchedFile.path);
86
+ logger.info(`[SessionCorrelator] Session matched: ${agentSessionId}`);
87
+ logger.info(`[SessionCorrelator] Session file: ${matchedFile.path}`);
88
+ return {
89
+ status: 'matched',
90
+ agentSessionFile: matchedFile.path,
91
+ agentSessionId,
92
+ detectedAt: Date.now(),
93
+ retryCount: 0
94
+ };
95
+ }
96
+ /**
97
+ * Retry correlation with exponential backoff
98
+ */
99
+ async correlateWithRetry(input, snapshotFn) {
100
+ let result = await this.correlate(input);
101
+ // If matched on first try, return immediately
102
+ if (result.status === 'matched') {
103
+ return result;
104
+ }
105
+ // Retry with exponential backoff
106
+ for (let attempt = 0; attempt < METRICS_CONFIG.retry.attempts; attempt++) {
107
+ const delay = METRICS_CONFIG.retry.delays[attempt];
108
+ logger.info(`[SessionCorrelator] Retry ${attempt + 1}/${METRICS_CONFIG.retry.attempts} after ${delay}ms...`);
109
+ logger.debug(`[SessionCorrelator] Waiting ${delay}ms before retry ${attempt + 1}`);
110
+ await this.sleep(delay);
111
+ // Take new snapshot
112
+ logger.debug(`[SessionCorrelator] Taking new snapshot for retry ${attempt + 1}`);
113
+ const newFiles = await snapshotFn();
114
+ // Retry correlation
115
+ result = await this.correlate({
116
+ ...input,
117
+ newFiles
118
+ });
119
+ result.retryCount = attempt + 1;
120
+ if (result.status === 'matched') {
121
+ logger.info(`[SessionCorrelator] Session matched on retry ${attempt + 1}`);
122
+ return result;
123
+ }
124
+ }
125
+ // All retries exhausted
126
+ logger.warn(`[SessionCorrelator] ❌ Session matching failed after ${METRICS_CONFIG.retry.attempts} attempts - metrics collection disabled`);
127
+ result.status = 'failed';
128
+ return result;
129
+ }
130
+ /**
131
+ * Filter files by working directory content
132
+ */
133
+ async filterByWorkingDirectory(files, workingDirectory) {
134
+ const filtered = [];
135
+ for (const file of files) {
136
+ try {
137
+ const content = await readFile(file.path, 'utf-8');
138
+ // Check if file content contains working directory path
139
+ if (content.includes(workingDirectory)) {
140
+ filtered.push(file);
141
+ }
142
+ }
143
+ catch (error) {
144
+ // Skip files that can't be read
145
+ logger.debug(`[SessionCorrelator] Failed to read file: ${file.path}`, error);
146
+ }
147
+ }
148
+ return filtered;
149
+ }
150
+ /**
151
+ * Sleep utility
152
+ */
153
+ sleep(ms) {
154
+ return new Promise(resolve => setTimeout(resolve, ms));
155
+ }
156
+ }
157
+ //# sourceMappingURL=SessionCorrelator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionCorrelator.js","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/SessionCorrelator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncStateManager.d.ts","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/SyncStateManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAI7D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,SAAS,EAAE,MAAM;IAK7B;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAsCzG;;OAEG;YACW,WAAW;IASzB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAyBvC;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3C;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzE;;OAEG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpD;;OAEG;IACG,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BlE;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9F;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,MAAM,IAAI,OAAO;CAGlB"}
@@ -9,8 +9,8 @@ import { readFile, writeFile, mkdir, rename } from 'fs/promises';
9
9
  import { existsSync } from 'fs';
10
10
  import { dirname, join } from 'path';
11
11
  import { randomUUID } from 'crypto';
12
- import { logger } from '../../utils/logger.js';
13
- import { getSessionPath } from '../config.js';
12
+ import { logger } from '../../../../utils/logger.js';
13
+ import { getSessionPath } from '../../metrics-config.js';
14
14
  export class SyncStateManager {
15
15
  sessionId;
16
16
  filePath;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncStateManager.js","sourceRoot":"","sources":["../../../../../src/agents/core/metrics/core/SyncStateManager.ts"],"names":[],"mappings":"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"}