@codemieai/code 0.0.28 → 0.0.30

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 (368) hide show
  1. package/README.md +8 -10
  2. package/bin/agent-executor.js +1 -1
  3. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  4. package/dist/agents/codemie-code/config.js +0 -1
  5. package/dist/agents/codemie-code/config.js.map +1 -1
  6. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  7. package/dist/agents/core/AgentCLI.js +4 -8
  8. package/dist/agents/core/AgentCLI.js.map +1 -1
  9. package/dist/agents/core/BaseAgentAdapter.d.ts +17 -9
  10. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  11. package/dist/agents/core/BaseAgentAdapter.js +75 -67
  12. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  13. package/dist/agents/core/extension/BaseExtensionInstaller.d.ts +258 -0
  14. package/dist/agents/core/extension/BaseExtensionInstaller.d.ts.map +1 -0
  15. package/dist/agents/core/extension/BaseExtensionInstaller.js +522 -0
  16. package/dist/agents/core/extension/BaseExtensionInstaller.js.map +1 -0
  17. package/dist/agents/core/lifecycle-helpers.d.ts.map +1 -1
  18. package/dist/agents/core/lifecycle-helpers.js +16 -2
  19. package/dist/agents/core/lifecycle-helpers.js.map +1 -1
  20. package/dist/agents/core/metrics/index.d.ts +0 -2
  21. package/dist/agents/core/metrics/index.d.ts.map +1 -1
  22. package/dist/agents/core/metrics/index.js +0 -3
  23. package/dist/agents/core/metrics/index.js.map +1 -1
  24. package/dist/agents/core/metrics/types.d.ts +4 -232
  25. package/dist/agents/core/metrics/types.d.ts.map +1 -1
  26. package/dist/agents/core/metrics/types.js +2 -2
  27. package/dist/agents/core/session/BaseProcessor.d.ts +72 -0
  28. package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -0
  29. package/dist/agents/core/session/BaseProcessor.js +9 -0
  30. package/dist/agents/core/session/BaseProcessor.js.map +1 -0
  31. package/dist/agents/core/session/BaseSessionAdapter.d.ts +99 -0
  32. package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -0
  33. package/dist/agents/core/session/BaseSessionAdapter.js +9 -0
  34. package/dist/agents/core/session/BaseSessionAdapter.js.map +1 -0
  35. package/dist/agents/core/session/SessionStore.d.ts +23 -0
  36. package/dist/agents/core/session/SessionStore.d.ts.map +1 -0
  37. package/dist/agents/core/session/SessionStore.js +75 -0
  38. package/dist/agents/core/session/SessionStore.js.map +1 -0
  39. package/dist/agents/core/session/session-config.d.ts +27 -0
  40. package/dist/agents/core/session/session-config.d.ts.map +1 -0
  41. package/dist/agents/core/session/session-config.js +61 -0
  42. package/dist/agents/core/session/session-config.js.map +1 -0
  43. package/dist/agents/core/session/types.d.ts +87 -0
  44. package/dist/agents/core/session/types.d.ts.map +1 -0
  45. package/dist/agents/core/session/types.js +8 -0
  46. package/dist/agents/core/session/types.js.map +1 -0
  47. package/dist/agents/core/session/utils/jsonl-reader.d.ts +15 -0
  48. package/dist/agents/core/session/utils/jsonl-reader.d.ts.map +1 -0
  49. package/dist/agents/core/session/utils/jsonl-reader.js +33 -0
  50. package/dist/agents/core/session/utils/jsonl-reader.js.map +1 -0
  51. package/dist/agents/core/session/utils/jsonl-writer.d.ts +26 -0
  52. package/dist/agents/core/session/utils/jsonl-writer.d.ts.map +1 -0
  53. package/dist/agents/core/session/utils/jsonl-writer.js +56 -0
  54. package/dist/agents/core/session/utils/jsonl-writer.js.map +1 -0
  55. package/dist/agents/core/types.d.ts +78 -11
  56. package/dist/agents/core/types.d.ts.map +1 -1
  57. package/dist/agents/plugins/claude/claude-message-types.d.ts +74 -0
  58. package/dist/agents/plugins/claude/claude-message-types.d.ts.map +1 -0
  59. package/dist/agents/plugins/claude/claude-message-types.js +8 -0
  60. package/dist/agents/plugins/claude/claude-message-types.js.map +1 -0
  61. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +53 -0
  62. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -0
  63. package/dist/agents/plugins/claude/claude.plugin-installer.js +63 -0
  64. package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -0
  65. package/dist/agents/plugins/claude/claude.plugin.d.ts +26 -0
  66. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -0
  67. package/dist/agents/plugins/{claude.plugin.js → claude/claude.plugin.js} +20 -11
  68. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -0
  69. package/dist/agents/plugins/claude/claude.session.d.ts +60 -0
  70. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -0
  71. package/dist/agents/plugins/claude/claude.session.js +339 -0
  72. package/dist/agents/plugins/claude/claude.session.js.map +1 -0
  73. package/dist/agents/plugins/claude/plugin/.claude-plugin/local-install.json +15 -0
  74. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +9 -0
  75. package/dist/agents/plugins/claude/plugin/README.md +299 -0
  76. package/dist/agents/plugins/claude/plugin/claude-templates/README.md +539 -0
  77. package/dist/agents/plugins/claude/plugin/claude-templates/templates/CLAUDE.md.template +511 -0
  78. package/dist/agents/plugins/claude/plugin/claude-templates/templates/INDEX.md +205 -0
  79. package/dist/agents/plugins/claude/plugin/claude-templates/templates/TEMPLATE_SIZES.md +74 -0
  80. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/api/api-patterns.md.template +207 -0
  81. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/layered-architecture.md.template +143 -0
  82. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/project-structure.md.template +127 -0
  83. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/data/database-patterns.md.template +168 -0
  84. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/development/development-practices.md.template +210 -0
  85. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/integration/external-integrations.md.template +160 -0
  86. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/security/security-practices.md.template +170 -0
  87. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/code-quality.md.template +150 -0
  88. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/git-workflow.md.template +177 -0
  89. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/testing/testing-patterns.md.template +143 -0
  90. package/dist/agents/plugins/claude/plugin/commands/README.md +0 -0
  91. package/dist/agents/plugins/claude/plugin/commands/codemie-catchup.md +10 -0
  92. package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +731 -0
  93. package/dist/agents/plugins/claude/plugin/commands/memory-add.md +44 -0
  94. package/dist/agents/plugins/claude/plugin/commands/memory-init.md +18 -0
  95. package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +54 -0
  96. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +71 -0
  97. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts +51 -0
  98. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -0
  99. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +840 -0
  100. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -0
  101. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts +37 -0
  102. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -0
  103. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +275 -0
  104. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -0
  105. package/dist/agents/plugins/gemini/extension/README.md +88 -0
  106. package/dist/agents/plugins/gemini/extension/gemini-extension.json +11 -0
  107. package/dist/agents/plugins/gemini/extension/hooks/hooks.json +65 -0
  108. package/dist/agents/plugins/gemini/gemini.extension-installer.d.ts +49 -0
  109. package/dist/agents/plugins/gemini/gemini.extension-installer.d.ts.map +1 -0
  110. package/dist/agents/plugins/gemini/gemini.extension-installer.js +63 -0
  111. package/dist/agents/plugins/gemini/gemini.extension-installer.js.map +1 -0
  112. package/dist/agents/plugins/gemini/gemini.hook-transformer.d.ts +43 -0
  113. package/dist/agents/plugins/gemini/gemini.hook-transformer.d.ts.map +1 -0
  114. package/dist/agents/plugins/gemini/gemini.hook-transformer.js +57 -0
  115. package/dist/agents/plugins/gemini/gemini.hook-transformer.js.map +1 -0
  116. package/dist/agents/plugins/gemini/gemini.plugin.d.ts +32 -0
  117. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -0
  118. package/dist/agents/plugins/gemini/gemini.plugin.js +136 -0
  119. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -0
  120. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +68 -0
  121. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -0
  122. package/dist/agents/plugins/gemini/gemini.session-adapter.js +268 -0
  123. package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -0
  124. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts +36 -0
  125. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -0
  126. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +186 -0
  127. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -0
  128. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts +32 -0
  129. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -0
  130. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +193 -0
  131. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -0
  132. package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts +26 -0
  133. package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts.map +1 -0
  134. package/dist/agents/plugins/gemini/session/utils/token-aggregator.js +38 -0
  135. package/dist/agents/plugins/gemini/session/utils/token-aggregator.js.map +1 -0
  136. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.d.ts +33 -0
  137. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.d.ts.map +1 -0
  138. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.js +58 -0
  139. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.js.map +1 -0
  140. package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts +70 -0
  141. package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts.map +1 -0
  142. package/dist/agents/plugins/gemini/session/utils/turn-detector.js +86 -0
  143. package/dist/agents/plugins/gemini/session/utils/turn-detector.js.map +1 -0
  144. package/dist/agents/registry.d.ts +7 -2
  145. package/dist/agents/registry.d.ts.map +1 -1
  146. package/dist/agents/registry.js +17 -8
  147. package/dist/agents/registry.js.map +1 -1
  148. package/dist/cli/commands/analytics/data-loader.d.ts +1 -1
  149. package/dist/cli/commands/analytics/data-loader.js +1 -1
  150. package/dist/cli/commands/analytics/index.js +1 -1
  151. package/dist/cli/commands/analytics/index.js.map +1 -1
  152. package/dist/cli/commands/doctor/checks/PythonCheck.d.ts +13 -0
  153. package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
  154. package/dist/cli/commands/doctor/checks/PythonCheck.js +90 -31
  155. package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
  156. package/dist/cli/commands/hook.d.ts +7 -0
  157. package/dist/cli/commands/hook.d.ts.map +1 -0
  158. package/dist/cli/commands/hook.js +792 -0
  159. package/dist/cli/commands/hook.js.map +1 -0
  160. package/dist/cli/commands/setup.d.ts.map +1 -1
  161. package/dist/cli/commands/setup.js +3 -4
  162. package/dist/cli/commands/setup.js.map +1 -1
  163. package/dist/cli/commands/update.d.ts.map +1 -1
  164. package/dist/cli/commands/update.js +2 -1
  165. package/dist/cli/commands/update.js.map +1 -1
  166. package/dist/cli/first-time.d.ts +4 -0
  167. package/dist/cli/first-time.d.ts.map +1 -1
  168. package/dist/cli/first-time.js +26 -13
  169. package/dist/cli/first-time.js.map +1 -1
  170. package/dist/cli/index.js +2 -0
  171. package/dist/cli/index.js.map +1 -1
  172. package/dist/frameworks/core/types.d.ts +1 -1
  173. package/dist/frameworks/plugins/speckit.plugin.d.ts.map +1 -1
  174. package/dist/frameworks/plugins/speckit.plugin.js +1 -2
  175. package/dist/frameworks/plugins/speckit.plugin.js.map +1 -1
  176. package/dist/migrations/002-consolidate-sessions.migration.d.ts +50 -0
  177. package/dist/migrations/002-consolidate-sessions.migration.d.ts.map +1 -0
  178. package/dist/migrations/002-consolidate-sessions.migration.js +220 -0
  179. package/dist/migrations/002-consolidate-sessions.migration.js.map +1 -0
  180. package/dist/migrations/index.d.ts +1 -0
  181. package/dist/migrations/index.d.ts.map +1 -1
  182. package/dist/migrations/index.js +3 -2
  183. package/dist/migrations/index.js.map +1 -1
  184. package/dist/providers/core/types.d.ts +1 -1
  185. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
  186. package/dist/providers/plugins/ollama/ollama.template.js +2 -10
  187. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
  188. package/dist/providers/plugins/sso/index.d.ts +1 -1
  189. package/dist/providers/plugins/sso/index.d.ts.map +1 -1
  190. package/dist/providers/plugins/sso/index.js +1 -1
  191. package/dist/providers/plugins/sso/index.js.map +1 -1
  192. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +1 -1
  193. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  194. package/dist/providers/plugins/sso/proxy/plugins/index.js +3 -3
  195. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  196. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts +40 -0
  197. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -0
  198. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +194 -0
  199. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -0
  200. package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts +1 -0
  201. package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts.map +1 -1
  202. package/dist/providers/plugins/sso/proxy/proxy-http-client.js +40 -6
  203. package/dist/providers/plugins/sso/proxy/proxy-http-client.js.map +1 -1
  204. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts +72 -0
  205. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts.map +1 -0
  206. package/dist/providers/plugins/sso/session/BaseProcessor.js +9 -0
  207. package/dist/providers/plugins/sso/session/BaseProcessor.js.map +1 -0
  208. package/dist/providers/plugins/sso/session/BaseSessionAdapter.d.ts +99 -0
  209. package/dist/providers/plugins/sso/session/BaseSessionAdapter.d.ts.map +1 -0
  210. package/dist/providers/plugins/sso/session/BaseSessionAdapter.js +9 -0
  211. package/dist/providers/plugins/sso/session/BaseSessionAdapter.js.map +1 -0
  212. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +36 -0
  213. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -0
  214. package/dist/providers/plugins/sso/session/SessionSyncer.js +140 -0
  215. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -0
  216. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts +26 -0
  217. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts.map +1 -0
  218. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js +146 -0
  219. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js.map +1 -0
  220. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +23 -0
  221. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +1 -0
  222. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js +171 -0
  223. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +1 -0
  224. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts +69 -0
  225. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts.map +1 -0
  226. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js +7 -0
  227. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js.map +1 -0
  228. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.d.ts +30 -0
  229. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.d.ts.map +1 -0
  230. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.js +79 -0
  231. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.js.map +1 -0
  232. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-aggregator.d.ts → session/processors/metrics/metrics-aggregator.d.ts} +6 -5
  233. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -0
  234. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-aggregator.js → session/processors/metrics/metrics-aggregator.js} +20 -12
  235. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -0
  236. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sender.d.ts → session/processors/metrics/metrics-api-client.d.ts} +18 -11
  237. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -0
  238. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sender.js → session/processors/metrics/metrics-api-client.js} +143 -15
  239. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -0
  240. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-post-processor.d.ts → session/processors/metrics/metrics-post-processor.d.ts} +3 -3
  241. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts.map +1 -0
  242. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-post-processor.js → session/processors/metrics/metrics-post-processor.js} +3 -3
  243. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js.map +1 -0
  244. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts +24 -0
  245. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -0
  246. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sync.plugin.js → session/processors/metrics/metrics-sync-processor.js} +94 -165
  247. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -0
  248. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-types.d.ts → session/processors/metrics/metrics-types.d.ts} +2 -1
  249. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -0
  250. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-types.js → session/processors/metrics/metrics-types.js} +1 -1
  251. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.js.map +1 -0
  252. package/dist/providers/plugins/sso/session/utils/jsonl-reader.d.ts +15 -0
  253. package/dist/providers/plugins/sso/session/utils/jsonl-reader.d.ts.map +1 -0
  254. package/dist/providers/plugins/sso/session/utils/jsonl-reader.js +33 -0
  255. package/dist/providers/plugins/sso/session/utils/jsonl-reader.js.map +1 -0
  256. package/dist/providers/plugins/sso/session/utils/jsonl-writer.d.ts +26 -0
  257. package/dist/providers/plugins/sso/session/utils/jsonl-writer.d.ts.map +1 -0
  258. package/dist/providers/plugins/sso/{metrics/sync/sso.jsonl-writer.js → session/utils/jsonl-writer.js} +11 -27
  259. package/dist/providers/plugins/sso/session/utils/jsonl-writer.js.map +1 -0
  260. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
  261. package/dist/providers/plugins/sso/sso.template.js +71 -44
  262. package/dist/providers/plugins/sso/sso.template.js.map +1 -1
  263. package/dist/utils/file-operations.d.ts +20 -0
  264. package/dist/utils/file-operations.d.ts.map +1 -0
  265. package/dist/utils/file-operations.js +48 -0
  266. package/dist/utils/file-operations.js.map +1 -0
  267. package/dist/utils/logger.d.ts +2 -1
  268. package/dist/utils/logger.d.ts.map +1 -1
  269. package/dist/utils/logger.js +12 -4
  270. package/dist/utils/logger.js.map +1 -1
  271. package/dist/utils/paths.d.ts +20 -5
  272. package/dist/utils/paths.d.ts.map +1 -1
  273. package/dist/utils/paths.js +23 -5
  274. package/dist/utils/paths.js.map +1 -1
  275. package/dist/utils/processes.d.ts +2 -0
  276. package/dist/utils/processes.d.ts.map +1 -1
  277. package/dist/utils/processes.js +6 -1
  278. package/dist/utils/processes.js.map +1 -1
  279. package/package.json +9 -9
  280. package/scripts/copy-plugins.js +57 -0
  281. package/scripts/license-check.js +23 -0
  282. package/bin/codemie-codex.js +0 -18
  283. package/bin/codemie-deepagents.js +0 -18
  284. package/dist/agents/core/BaseMetricsAdapter.d.ts +0 -165
  285. package/dist/agents/core/BaseMetricsAdapter.d.ts.map +0 -1
  286. package/dist/agents/core/BaseMetricsAdapter.js +0 -308
  287. package/dist/agents/core/BaseMetricsAdapter.js.map +0 -1
  288. package/dist/agents/core/metrics/MetricsOrchestrator.d.ts +0 -81
  289. package/dist/agents/core/metrics/MetricsOrchestrator.d.ts.map +0 -1
  290. package/dist/agents/core/metrics/MetricsOrchestrator.js +0 -417
  291. package/dist/agents/core/metrics/MetricsOrchestrator.js.map +0 -1
  292. package/dist/agents/core/metrics/core/DeltaWriter.d.ts +0 -49
  293. package/dist/agents/core/metrics/core/DeltaWriter.d.ts.map +0 -1
  294. package/dist/agents/core/metrics/core/DeltaWriter.js +0 -152
  295. package/dist/agents/core/metrics/core/DeltaWriter.js.map +0 -1
  296. package/dist/agents/core/metrics/core/FileSnapshotter.d.ts +0 -22
  297. package/dist/agents/core/metrics/core/FileSnapshotter.d.ts.map +0 -1
  298. package/dist/agents/core/metrics/core/FileSnapshotter.js +0 -74
  299. package/dist/agents/core/metrics/core/FileSnapshotter.js.map +0 -1
  300. package/dist/agents/core/metrics/core/SessionCorrelator.d.ts +0 -34
  301. package/dist/agents/core/metrics/core/SessionCorrelator.d.ts.map +0 -1
  302. package/dist/agents/core/metrics/core/SessionCorrelator.js +0 -157
  303. package/dist/agents/core/metrics/core/SessionCorrelator.js.map +0 -1
  304. package/dist/agents/core/metrics/core/SyncStateManager.d.ts +0 -69
  305. package/dist/agents/core/metrics/core/SyncStateManager.d.ts.map +0 -1
  306. package/dist/agents/core/metrics/core/SyncStateManager.js +0 -283
  307. package/dist/agents/core/metrics/core/SyncStateManager.js.map +0 -1
  308. package/dist/agents/core/metrics/session/SessionStore.d.ts +0 -43
  309. package/dist/agents/core/metrics/session/SessionStore.d.ts.map +0 -1
  310. package/dist/agents/core/metrics/session/SessionStore.js +0 -146
  311. package/dist/agents/core/metrics/session/SessionStore.js.map +0 -1
  312. package/dist/agents/core/metrics-config.d.ts +0 -38
  313. package/dist/agents/core/metrics-config.d.ts.map +0 -1
  314. package/dist/agents/core/metrics-config.js +0 -96
  315. package/dist/agents/core/metrics-config.js.map +0 -1
  316. package/dist/agents/plugins/claude.metrics.d.ts +0 -102
  317. package/dist/agents/plugins/claude.metrics.d.ts.map +0 -1
  318. package/dist/agents/plugins/claude.metrics.js +0 -656
  319. package/dist/agents/plugins/claude.metrics.js.map +0 -1
  320. package/dist/agents/plugins/claude.plugin.d.ts +0 -19
  321. package/dist/agents/plugins/claude.plugin.d.ts.map +0 -1
  322. package/dist/agents/plugins/claude.plugin.js.map +0 -1
  323. package/dist/agents/plugins/codex.metrics.d.ts +0 -69
  324. package/dist/agents/plugins/codex.metrics.d.ts.map +0 -1
  325. package/dist/agents/plugins/codex.metrics.js +0 -483
  326. package/dist/agents/plugins/codex.metrics.js.map +0 -1
  327. package/dist/agents/plugins/codex.plugin.d.ts +0 -21
  328. package/dist/agents/plugins/codex.plugin.d.ts.map +0 -1
  329. package/dist/agents/plugins/codex.plugin.js +0 -222
  330. package/dist/agents/plugins/codex.plugin.js.map +0 -1
  331. package/dist/agents/plugins/deepagents.plugin.d.ts +0 -21
  332. package/dist/agents/plugins/deepagents.plugin.d.ts.map +0 -1
  333. package/dist/agents/plugins/deepagents.plugin.js +0 -104
  334. package/dist/agents/plugins/deepagents.plugin.js.map +0 -1
  335. package/dist/agents/plugins/gemini.metrics.d.ts +0 -99
  336. package/dist/agents/plugins/gemini.metrics.d.ts.map +0 -1
  337. package/dist/agents/plugins/gemini.metrics.js +0 -475
  338. package/dist/agents/plugins/gemini.metrics.js.map +0 -1
  339. package/dist/agents/plugins/gemini.plugin.d.ts +0 -16
  340. package/dist/agents/plugins/gemini.plugin.d.ts.map +0 -1
  341. package/dist/agents/plugins/gemini.plugin.js +0 -80
  342. package/dist/agents/plugins/gemini.plugin.js.map +0 -1
  343. package/dist/agents/plugins/history-parser.d.ts +0 -52
  344. package/dist/agents/plugins/history-parser.d.ts.map +0 -1
  345. package/dist/agents/plugins/history-parser.js +0 -155
  346. package/dist/agents/plugins/history-parser.js.map +0 -1
  347. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts +0 -28
  348. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts.map +0 -1
  349. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.js.map +0 -1
  350. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts +0 -62
  351. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts.map +0 -1
  352. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js +0 -157
  353. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js.map +0 -1
  354. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.d.ts.map +0 -1
  355. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.js.map +0 -1
  356. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts +0 -32
  357. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts.map +0 -1
  358. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js +0 -159
  359. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js.map +0 -1
  360. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.d.ts.map +0 -1
  361. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.js.map +0 -1
  362. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.d.ts.map +0 -1
  363. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js.map +0 -1
  364. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts +0 -36
  365. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts.map +0 -1
  366. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.js.map +0 -1
  367. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.d.ts.map +0 -1
  368. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.js.map +0 -1
@@ -1,81 +0,0 @@
1
- /**
2
- * Metrics Orchestrator
3
- *
4
- * Coordinates metrics collection across agent lifecycle:
5
- * 1. Pre-spawn snapshot
6
- * 2. Post-spawn snapshot + correlation
7
- * 3. Session creation and persistence
8
- *
9
- * Phase 1 & 2 implementation (Phase 3-5 later)
10
- */
11
- import type { AgentMetricsSupport } from './types.js';
12
- export interface MetricsOrchestratorOptions {
13
- sessionId?: string;
14
- agentName: string;
15
- provider: string;
16
- project?: string;
17
- workingDirectory: string;
18
- metricsAdapter: AgentMetricsSupport;
19
- }
20
- export declare class MetricsOrchestrator {
21
- private sessionId;
22
- private agentName;
23
- private provider;
24
- private project?;
25
- private workingDirectory;
26
- private metricsAdapter;
27
- private snapshotter;
28
- private correlator;
29
- private store;
30
- private deltaWriter;
31
- private syncStateManager;
32
- private fileWatcher;
33
- private beforeSnapshot;
34
- private session;
35
- private isCollecting;
36
- constructor(options: MetricsOrchestratorOptions);
37
- /**
38
- * Check if metrics collection is enabled for this provider
39
- */
40
- isEnabled(): boolean;
41
- /**
42
- * Step 1: Take snapshot before agent spawn
43
- * Called before spawning the agent process
44
- * Note: This method is only called when metrics are enabled
45
- */
46
- beforeAgentSpawn(): Promise<void>;
47
- /**
48
- * Step 2: Take snapshot after agent spawn + correlate
49
- * Called after spawning the agent process
50
- * Note: This method is only called when metrics are enabled
51
- */
52
- afterAgentSpawn(): Promise<void>;
53
- /**
54
- * Finalize session on agent exit
55
- * Called when agent process exits
56
- * Note: This method is only called when metrics are enabled
57
- */
58
- onAgentExit(exitCode: number): Promise<void>;
59
- /**
60
- * Start incremental monitoring with delta collection
61
- */
62
- private startIncrementalMonitoring;
63
- /**
64
- * Collect delta metrics from agent session file
65
- */
66
- private collectDeltas;
67
- /**
68
- * Get initialization errors for display to user
69
- * Returns the first error that occurred during metrics initialization
70
- */
71
- getInitializationError(): unknown | null;
72
- /**
73
- * Check if metrics initialization had any errors
74
- */
75
- hasInitializationError(): boolean;
76
- /**
77
- * Sleep utility
78
- */
79
- private sleep;
80
- }
81
- //# sourceMappingURL=MetricsOrchestrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricsOrchestrator.d.ts","sourceRoot":"","sources":["../../../../src/agents/core/metrics/MetricsOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAgC,MAAM,YAAY,CAAC;AAOpF,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAsB;IAE5C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,KAAK,CAAe;IAG5B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,WAAW,CAAyC;IAE5D,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,YAAY,CAAkB;gBAE1B,OAAO,EAAE,0BAA0B;IAa/C;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiFvC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAwGtC;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDlD;;OAEG;YACW,0BAA0B;IA+CxC;;OAEG;YACW,aAAa;IAiH3B;;;OAGG;IACH,sBAAsB,IAAI,OAAO,GAAG,IAAI;IAUxC;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
@@ -1,417 +0,0 @@
1
- /**
2
- * Metrics Orchestrator
3
- *
4
- * Coordinates metrics collection across agent lifecycle:
5
- * 1. Pre-spawn snapshot
6
- * 2. Post-spawn snapshot + correlation
7
- * 3. Session creation and persistence
8
- *
9
- * Phase 1 & 2 implementation (Phase 3-5 later)
10
- */
11
- import { randomUUID } from 'crypto';
12
- import { FileSnapshotter } from './core/FileSnapshotter.js';
13
- import { SessionCorrelator } from './core/SessionCorrelator.js';
14
- import { SessionStore } from './session/SessionStore.js';
15
- import { DeltaWriter } from './core/DeltaWriter.js';
16
- import { SyncStateManager } from './core/SyncStateManager.js';
17
- import { METRICS_CONFIG } from '../metrics-config.js';
18
- import { logger } from '../../../utils/logger.js';
19
- import { watch } from 'fs';
20
- import { detectGitBranch } from '../../../utils/processes.js';
21
- import { createErrorContext, formatErrorForLog } from '../../../utils/errors.js';
22
- export class MetricsOrchestrator {
23
- sessionId;
24
- agentName;
25
- provider;
26
- project;
27
- workingDirectory;
28
- metricsAdapter;
29
- snapshotter;
30
- correlator;
31
- store;
32
- // Delta-based components
33
- deltaWriter = null;
34
- syncStateManager = null;
35
- fileWatcher = null;
36
- beforeSnapshot = null;
37
- session = null;
38
- isCollecting = false;
39
- constructor(options) {
40
- this.sessionId = options.sessionId || randomUUID();
41
- this.agentName = options.agentName;
42
- this.provider = options.provider;
43
- this.project = options.project;
44
- this.workingDirectory = options.workingDirectory;
45
- this.metricsAdapter = options.metricsAdapter;
46
- this.snapshotter = new FileSnapshotter();
47
- this.correlator = new SessionCorrelator();
48
- this.store = new SessionStore();
49
- }
50
- /**
51
- * Check if metrics collection is enabled for this provider
52
- */
53
- isEnabled() {
54
- return METRICS_CONFIG.enabled(this.provider);
55
- }
56
- /**
57
- * Step 1: Take snapshot before agent spawn
58
- * Called before spawning the agent process
59
- * Note: This method is only called when metrics are enabled
60
- */
61
- async beforeAgentSpawn() {
62
- try {
63
- logger.info('[MetricsOrchestrator] Preparing to track session metrics...');
64
- // Get agent data paths
65
- const { sessionsDir } = this.metricsAdapter.getDataPaths();
66
- logger.debug(`[MetricsOrchestrator] Taking pre-spawn snapshot of: ${sessionsDir}`);
67
- // Take snapshot
68
- this.beforeSnapshot = await this.snapshotter.snapshot(sessionsDir);
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
- }
83
- // Detect git branch from working directory
84
- const gitBranch = await detectGitBranch(this.workingDirectory);
85
- // Create session record
86
- this.session = {
87
- sessionId: this.sessionId,
88
- agentName: this.agentName,
89
- provider: this.provider,
90
- ...(this.project && { project: this.project }),
91
- startTime: Date.now(),
92
- workingDirectory: this.workingDirectory,
93
- ...(gitBranch && { gitBranch }), // Include branch if detected
94
- status: 'active',
95
- correlation: {
96
- status: 'pending',
97
- retryCount: 0
98
- },
99
- monitoring: {
100
- isActive: false,
101
- changeCount: 0
102
- }
103
- };
104
- // Save initial session
105
- await this.store.saveSession(this.session);
106
- logger.info(`[MetricsOrchestrator] Session created: ${this.sessionId}`);
107
- logger.debug(`[MetricsOrchestrator] Agent: ${this.agentName}, Provider: ${this.provider}`);
108
- }
109
- catch (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
- }
124
- // Don't throw - metrics failures shouldn't break agent execution
125
- }
126
- }
127
- /**
128
- * Step 2: Take snapshot after agent spawn + correlate
129
- * Called after spawning the agent process
130
- * Note: This method is only called when metrics are enabled
131
- */
132
- async afterAgentSpawn() {
133
- if (!this.isEnabled() || !this.beforeSnapshot || !this.session) {
134
- return;
135
- }
136
- try {
137
- logger.info(`[MetricsOrchestrator] Agent started - waiting for session file creation...`);
138
- // Wait for agent to initialize and create session file
139
- const initDelay = this.metricsAdapter.getInitDelay();
140
- await this.sleep(initDelay);
141
- // Get agent data paths
142
- const { sessionsDir } = this.metricsAdapter.getDataPaths();
143
- logger.info(`[MetricsOrchestrator] Scanning directory: ${sessionsDir}`);
144
- // Take snapshot
145
- const afterSnapshot = await this.snapshotter.snapshot(sessionsDir);
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
- }
160
- // Compute diff
161
- const newFiles = this.snapshotter.diff(this.beforeSnapshot, afterSnapshot);
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
- }
173
- // Correlate with retry
174
- logger.debug('[MetricsOrchestrator] Starting correlation with retry...');
175
- const correlation = await this.correlator.correlateWithRetry({
176
- sessionId: this.sessionId,
177
- agentName: this.agentName,
178
- workingDirectory: this.workingDirectory,
179
- newFiles,
180
- agentPlugin: this.metricsAdapter
181
- }, async () => {
182
- // Snapshot function for retries
183
- const retrySnapshot = await this.snapshotter.snapshot(sessionsDir);
184
- return this.snapshotter.diff(this.beforeSnapshot, retrySnapshot);
185
- });
186
- // Update session with correlation result
187
- await this.store.updateSessionCorrelation(this.sessionId, correlation);
188
- // Reload session to get updated correlation
189
- this.session = await this.store.loadSession(this.sessionId);
190
- if (correlation.status === 'matched') {
191
- logger.debug(`[MetricsOrchestrator] Session correlated: ${correlation.agentSessionId}`);
192
- logger.debug(`[MetricsOrchestrator] Agent file: ${correlation.agentSessionFile}`);
193
- logger.debug(`[MetricsOrchestrator] Retry count: ${correlation.retryCount}`);
194
- // Start incremental delta monitoring
195
- await this.startIncrementalMonitoring(correlation.agentSessionFile);
196
- }
197
- else {
198
- logger.warn(`[MetricsOrchestrator] Correlation failed after ${correlation.retryCount} retries`);
199
- }
200
- }
201
- catch (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
- }
214
- // Don't throw - metrics failures shouldn't break agent execution
215
- }
216
- }
217
- /**
218
- * Finalize session on agent exit
219
- * Called when agent process exits
220
- * Note: This method is only called when metrics are enabled
221
- */
222
- async onAgentExit(exitCode) {
223
- if (!this.isEnabled() || !this.session) {
224
- return;
225
- }
226
- try {
227
- logger.debug('[MetricsOrchestrator] Finalizing session...');
228
- // Stop file watcher
229
- if (this.fileWatcher) {
230
- this.fileWatcher.close();
231
- this.fileWatcher = null;
232
- logger.debug('[MetricsOrchestrator] Stopped file watcher');
233
- }
234
- // Collect final deltas
235
- if (this.session.correlation.status === 'matched' &&
236
- this.session.correlation.agentSessionFile) {
237
- await this.collectDeltas(this.session.correlation.agentSessionFile);
238
- logger.debug('[MetricsOrchestrator] Collected final deltas');
239
- }
240
- // Update sync state status with end time
241
- const endTime = Date.now();
242
- const status = exitCode === 0 ? 'completed' : 'failed';
243
- if (this.syncStateManager) {
244
- await this.syncStateManager.updateStatus(status, endTime);
245
- }
246
- // Update session status
247
- await this.store.updateSessionStatus(this.sessionId, status);
248
- logger.debug('[MetricsOrchestrator] Session finalized');
249
- }
250
- catch (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));
259
- // Don't throw - metrics failures shouldn't break agent execution
260
- }
261
- }
262
- /**
263
- * Start incremental monitoring with delta collection
264
- */
265
- async startIncrementalMonitoring(sessionFilePath) {
266
- if (!this.isEnabled() || !this.session || !this.session.correlation.agentSessionId) {
267
- return;
268
- }
269
- try {
270
- // Initialize delta writer and sync state manager
271
- this.deltaWriter = new DeltaWriter(this.sessionId);
272
- this.syncStateManager = new SyncStateManager(this.sessionId);
273
- // Initialize sync state with session start time
274
- await this.syncStateManager.initialize(this.sessionId, this.session.correlation.agentSessionId, this.session.startTime);
275
- logger.info('[MetricsOrchestrator] Monitoring session activity in real-time');
276
- logger.debug('[MetricsOrchestrator] Initialized delta-based metrics tracking');
277
- // Collect initial deltas
278
- await this.collectDeltas(sessionFilePath);
279
- // Start file watching
280
- let debounceTimer = null;
281
- const DEBOUNCE_DELAY = 5000; // 5 seconds
282
- this.fileWatcher = watch(sessionFilePath, (eventType) => {
283
- if (eventType === 'change') {
284
- // Debounce: wait 5s after last change before collecting
285
- if (debounceTimer) {
286
- clearTimeout(debounceTimer);
287
- }
288
- debounceTimer = setTimeout(async () => {
289
- await this.collectDeltas(sessionFilePath);
290
- }, DEBOUNCE_DELAY);
291
- }
292
- });
293
- logger.debug('[MetricsOrchestrator] Started file watching for incremental metrics');
294
- }
295
- catch (error) {
296
- logger.error('[MetricsOrchestrator] Failed to start incremental monitoring:', error);
297
- }
298
- }
299
- /**
300
- * Collect delta metrics from agent session file
301
- */
302
- async collectDeltas(sessionFilePath) {
303
- // Prevent concurrent collection or if metrics disabled
304
- if (!this.isEnabled() || this.isCollecting || !this.deltaWriter || !this.syncStateManager) {
305
- return;
306
- }
307
- this.isCollecting = true;
308
- try {
309
- // Load current sync state
310
- const syncState = await this.syncStateManager.load();
311
- // If sync state doesn't exist (file deleted or not initialized yet), skip collection
312
- if (!syncState) {
313
- logger.debug('[MetricsOrchestrator] Sync state not available, skipping delta collection');
314
- this.isCollecting = false;
315
- return;
316
- }
317
- // Get already-processed record IDs from sync state
318
- const processedRecordIds = new Set(syncState.processedRecordIds);
319
- // Get already-attached user prompt texts from sync state
320
- const attachedUserPromptTexts = new Set(syncState.attachedUserPromptTexts || []);
321
- // Parse incremental metrics with processed record IDs and attached prompts
322
- logger.info(`[MetricsOrchestrator] Scanning session for new activity...`);
323
- const { deltas, lastLine, newlyAttachedPrompts } = await this.metricsAdapter.parseIncrementalMetrics(sessionFilePath, processedRecordIds, attachedUserPromptTexts);
324
- if (deltas.length === 0) {
325
- logger.debug('[MetricsOrchestrator] No new deltas to collect');
326
- this.isCollecting = false;
327
- return;
328
- }
329
- logger.info(`[MetricsOrchestrator] Found ${deltas.length} new interaction${deltas.length !== 1 ? 's' : ''} to record`);
330
- // Collect record IDs for tracking
331
- const newRecordIds = [];
332
- // Calculate summary statistics for logging
333
- let totalTokens = 0;
334
- let totalTools = 0;
335
- let totalFiles = 0;
336
- // Append each delta to JSONL
337
- for (const delta of deltas) {
338
- // Set CodeMie session ID
339
- delta.sessionId = this.sessionId;
340
- // Set gitBranch if not already present in delta
341
- if (!delta.gitBranch) {
342
- delta.gitBranch = await detectGitBranch(this.workingDirectory);
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
- }
354
- // Append to JSONL
355
- await this.deltaWriter.appendDelta(delta);
356
- newRecordIds.push(delta.recordId);
357
- }
358
- // Update sync state with processed record IDs
359
- await this.syncStateManager.addProcessedRecords(newRecordIds);
360
- await this.syncStateManager.updateLastProcessed(lastLine, Date.now());
361
- await this.syncStateManager.incrementDeltas(deltas.length);
362
- // Update sync state with newly attached user prompts
363
- if (newlyAttachedPrompts && newlyAttachedPrompts.length > 0) {
364
- await this.syncStateManager.addAttachedUserPrompts(newlyAttachedPrompts);
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}`);
376
- logger.debug(`[MetricsOrchestrator] Processed up to line ${lastLine}`);
377
- }
378
- catch (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));
387
- }
388
- finally {
389
- this.isCollecting = false;
390
- }
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
- }
410
- /**
411
- * Sleep utility
412
- */
413
- sleep(ms) {
414
- return new Promise(resolve => setTimeout(resolve, ms));
415
- }
416
- }
417
- //# sourceMappingURL=MetricsOrchestrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricsOrchestrator.js","sourceRoot":"","sources":["../../../../src/agents/core/metrics/MetricsOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAWjF,MAAM,OAAO,mBAAmB;IACtB,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,OAAO,CAAU;IACjB,gBAAgB,CAAS;IACzB,cAAc,CAAsB;IAEpC,WAAW,CAAkB;IAC7B,UAAU,CAAoB;IAC9B,KAAK,CAAe;IAE5B,yBAAyB;IACjB,WAAW,GAAuB,IAAI,CAAC;IACvC,gBAAgB,GAA4B,IAAI,CAAC;IACjD,WAAW,GAAoC,IAAI,CAAC;IAEpD,cAAc,GAAwB,IAAI,CAAC;IAC3C,OAAO,GAA0B,IAAI,CAAC;IACtC,YAAY,GAAY,KAAK,CAAC;IAEtC,YAAY,OAAmC;QAC7C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAE7C,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAE3E,uBAAuB;YACvB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,uDAAuD,WAAW,EAAE,CAAC,CAAC;YAEnF,gBAAgB;YAChB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEnE,MAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,yBAAyB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7J,MAAM,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAE7G,8CAA8C;YAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC,6CAA6C,UAAU,IAAI,CAAC,CAAC;gBACzE,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,OAAO,CAAC,CAAC;gBACxG,CAAC;YACH,CAAC;YAED,2CAA2C;YAC3C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE/D,wBAAwB;YACxB,IAAI,CAAC,OAAO,GAAG;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC9C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,6BAA6B;gBAC9D,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE;oBACX,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,CAAC;iBACd;gBACD,UAAU,EAAE;oBACV,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,CAAC;iBACf;aACF,CAAC;YAEF,uBAAuB;YACvB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uEAAuE;YACvE,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,GAAG,CAAC;YAE3C,iDAAiD;YACjD,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACV,yDAAyD,EACzD,iBAAiB,CAAC,YAAY,CAAC,CAChC,CAAC;YAEF,yDAAyD;YACzD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAe,CAAC,SAAS,GAAG,KAAK,CAAC;YAC1C,CAAC;YAED,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAE1F,uDAAuD;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAE5B,uBAAuB;YACvB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,6CAA6C,WAAW,EAAE,CAAC,CAAC;YAExE,gBAAgB;YAChB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,+BAA+B,aAAa,CAAC,KAAK,CAAC,MAAM,sBAAsB,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;YACvJ,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,uBAAuB,aAAa,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAE5I,iDAAiD;YACjD,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtG,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACzE,MAAM,CAAC,IAAI,CAAC,iDAAiD,UAAU,IAAI,CAAC,CAAC;gBAC7E,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,oCAAoC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,OAAO,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC;YAED,eAAe;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAC3E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;gBAC9H,+CAA+C;gBAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjG,MAAM,CAAC,KAAK,CAAC,iDAAiD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxG,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBACtE,MAAM,CAAC,KAAK,CAAC,gEAAgE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,oBAAoB,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAClK,CAAC;YAED,uBAAuB;YACvB,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAC1D;gBACE,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,QAAQ;gBACR,WAAW,EAAE,IAAI,CAAC,cAAc;aACjC,EACD,KAAK,IAAI,EAAE;gBACT,gCAAgC;gBAChC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAe,EAAE,aAAa,CAAC,CAAC;YACpE,CAAC,CACF,CAAC;YAEF,yCAAyC;YACzC,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAEvE,4CAA4C;YAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE5D,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,6CAA6C,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;gBACxF,MAAM,CAAC,KAAK,CAAC,uCAAuC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACpF,MAAM,CAAC,KAAK,CAAC,wCAAwC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;gBAE/E,qCAAqC;gBACrC,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,gBAAiB,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,kDAAkD,WAAW,CAAC,UAAU,UAAU,CAAC,CAAC;YAClG,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACV,kDAAkD,EAClD,iBAAiB,CAAC,YAAY,CAAC,CAChC,CAAC;YAEF,yDAAyD;YACzD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAe,CAAC,cAAc,GAAG,KAAK,CAAC;YAC/C,CAAC;YAED,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAE5D,oBAAoB;YACpB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC7D,CAAC;YAED,uBAAuB;YACvB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,SAAS;gBAC7C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBACpE,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC/D,CAAC;YAED,yCAAyC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEvD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YAED,wBAAwB;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE7D,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAE1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACV,kDAAkD,EAClD,iBAAiB,CAAC,YAAY,CAAC,CAChC,CAAC;YAEF,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,0BAA0B,CAAC,eAAuB;QAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YACnF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,iDAAiD;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE7D,gDAAgD;YAChD,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CACpC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,EACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CACvB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC9E,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YAE/E,yBAAyB;YACzB,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAE1C,sBAAsB;YACtB,IAAI,aAAa,GAA0B,IAAI,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,YAAY;YAEzC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE;gBACtD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC3B,wDAAwD;oBACxD,IAAI,aAAa,EAAE,CAAC;wBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC9B,CAAC;oBAED,aAAa,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;wBACpC,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;oBAC5C,CAAC,EAAE,cAAc,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAEtF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,eAAuB;QACjD,uDAAuD;QACvD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAErD,qFAAqF;YACrF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;gBAC1F,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,mDAAmD;YACnD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAEjE,yDAAyD;YACzD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;YAEjF,2EAA2E;YAC3E,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAClG,eAAe,EACf,kBAAkB,EAClB,uBAAuB,CACxB,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAEvH,kCAAkC;YAClC,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,2CAA2C;YAC3C,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,UAAU,GAAG,CAAC,CAAC;YAEnB,6BAA6B;YAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,yBAAyB;gBACzB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAEjC,gDAAgD;gBAChD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACrB,KAAK,CAAC,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACjE,CAAC;gBAED,wBAAwB;gBACxB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBAClF,CAAC;gBACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBACzB,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC5C,CAAC;gBAED,kBAAkB;gBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YAED,8CAA8C;YAC9C,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3D,qDAAqD;YACrD,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;YAC3E,CAAC;YAED,yCAAyC;YACzC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,WAAW,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,UAAU,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,QAAQ,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnF,IAAI,UAAU,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,QAAQ,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAEnF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;QAEzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACV,gDAAgD,EAChD,iBAAiB,CAAC,YAAY,CAAC,CAChC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAc,CAAC;QAC9C,OAAO,iBAAiB,CAAC,SAAS,IAAI,iBAAiB,CAAC,cAAc,IAAI,IAAI,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,CAAC;IAChD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Delta Writer
3
- *
4
- * Handles incremental metrics storage in JSONL format.
5
- * Stores metrics in: ~/.codemie/metrics/sessions/{sessionId}_metrics.jsonl
6
- * Provides O(1) append operations and efficient filtering by sync status.
7
- */
8
- import type { MetricDelta, SyncStatus } from '../types.js';
9
- export declare class DeltaWriter {
10
- private readonly filePath;
11
- constructor(sessionId: string);
12
- /**
13
- * Append new delta to JSONL file (O(1) operation)
14
- * Returns the recordId from the delta
15
- */
16
- appendDelta(delta: Omit<MetricDelta, 'syncStatus' | 'syncAttempts'>): Promise<string>;
17
- /**
18
- * Read all deltas from JSONL file
19
- */
20
- readAll(): Promise<MetricDelta[]>;
21
- /**
22
- * Update sync status for specific records
23
- * This requires rewriting the entire file
24
- */
25
- updateSyncStatus(recordIds: string[], status: SyncStatus, error?: string): Promise<void>;
26
- /**
27
- * Get deltas with specific sync status
28
- */
29
- filterByStatus(status: SyncStatus): Promise<MetricDelta[]>;
30
- /**
31
- * Get sync statistics
32
- */
33
- getSyncStats(): Promise<{
34
- total: number;
35
- pending: number;
36
- syncing: number;
37
- synced: number;
38
- failed: number;
39
- }>;
40
- /**
41
- * Get file path
42
- */
43
- getFilePath(): string;
44
- /**
45
- * Check if file exists
46
- */
47
- exists(): boolean;
48
- }
49
- //# sourceMappingURL=DeltaWriter.d.ts.map
@@ -1 +0,0 @@
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"}