@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 +0,0 @@
1
- {"version":3,"file":"claude.metrics.js","sourceRoot":"","sources":["../../../src/agents/plugins/claude.metrics.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { AgentMetadata } from '../core/types.js';
2
- import { BaseAgentAdapter } from '../core/BaseAgentAdapter.js';
3
- import type { AgentMetricsSupport } from '../core/metrics/types.js';
4
- /**
5
- * Claude Code Plugin Metadata
6
- */
7
- export declare const ClaudePluginMetadata: AgentMetadata;
8
- /**
9
- * Claude Code Adapter
10
- */
11
- export declare class ClaudePlugin extends BaseAgentAdapter {
12
- private metricsAdapter;
13
- constructor();
14
- /**
15
- * Get metrics adapter for this agent
16
- */
17
- getMetricsAdapter(): AgentMetricsSupport;
18
- }
19
- //# sourceMappingURL=claude.plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/claude.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aA4DlC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,OAAO,CAAC,cAAc,CAAsB;;IAQ5C;;OAEG;IACH,iBAAiB,IAAI,mBAAmB;CAGzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude.plugin.js","sourceRoot":"","sources":["../../../src/agents/plugins/claude.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,2CAA2C;IAExD,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,QAAQ;IAEpB,qDAAqD;IACrD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,eAAe,CAAE,sBAAsB;KACtD;IAED,UAAU,EAAE;QACV,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,MAAM,EAAE,CAAC,sBAAsB,CAAC;QAChC,KAAK,EAAE,CAAC,iBAAiB,CAAC;KAC3B;IAED,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC;IACxD,oBAAoB,EAAE,EAAE;IACxB,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,eAAe,EAAE,SAAS,CAAC;IAEpE,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,gBAAgB;KAC7B;IAED,YAAY,EAAE;QACZ,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,IAAI;SACb;KACF;IAED,mEAAmE;IACnE,aAAa,EAAE;QACb,sBAAsB,EAAE,CAAC,MAAM,CAAC;KACjC;IAED,SAAS,EAAE;QACT,sDAAsD;QACtD,KAAK,CAAC,SAAS,CAAC,GAAG;YACjB,gDAAgD;YAChD,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,CAAC;gBAChD,GAAG,CAAC,sCAAsC,GAAG,GAAG,CAAC;YACnD,CAAC;YAED,4EAA4E;YAC5E,yEAAyE;YACzE,2CAA2C;YAC3C,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC;gBACtC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAC;YACzC,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IACxC,cAAc,CAAsB;IAE5C;QACE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,wDAAwD;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Codex Metrics Adapter
3
- *
4
- * Implements metrics support for Codex agent.
5
- * Handles Codex-specific file formats (JSONL) and parsing logic.
6
- */
7
- import { BaseMetricsAdapter } from '../core/BaseMetricsAdapter.js';
8
- import type { MetricSnapshot, MetricDelta, UserPrompt } from '../core/metrics/types.js';
9
- import type { AgentMetadata } from '../core/types.js';
10
- export declare class CodexMetricsAdapter extends BaseMetricsAdapter {
11
- constructor(metadata: AgentMetadata);
12
- /**
13
- * Check if file matches Codex session pattern with date filtering
14
- * Pattern: ~/.codex/sessions/{YYYY}/{MM}/{DD}/rollout-{date}T{time}-{uuid}.jsonl
15
- *
16
- * Performance optimization: Only matches current date by default
17
- *
18
- * @param path - File path to check
19
- * @param dateFilter - Optional date filter (YYYY-MM-DD). Defaults to today.
20
- * Pass null to match all dates.
21
- */
22
- matchesSessionPattern(path: string, dateFilter?: string | null): boolean;
23
- /**
24
- * Extract session ID from Codex file path
25
- * Prefers session_meta.payload.id but falls back to filename UUID
26
- */
27
- extractSessionId(path: string): string;
28
- /**
29
- * Parse Codex session file and extract metrics
30
- */
31
- parseSessionFile(path: string): Promise<MetricSnapshot>;
32
- /**
33
- * Parse incremental metrics from session file
34
- * Returns only new deltas since last processing
35
- */
36
- parseIncrementalMetrics(path: string, processedRecordIds: Set<string>, attachedUserPromptTexts: Set<string>): Promise<{
37
- deltas: MetricDelta[];
38
- lastLine: number;
39
- newlyAttachedPrompts: string[];
40
- }>;
41
- /**
42
- * Get user prompts for a specific session
43
- * Parses ~/.codex/history.jsonl and correlates by session_id
44
- */
45
- getUserPrompts(sessionId: string, fromTimestamp?: number, toTimestamp?: number): Promise<UserPrompt[]>;
46
- /**
47
- * Extract file operation from tool arguments
48
- * Codex-specific tool mapping
49
- */
50
- private extractFileOperation;
51
- /**
52
- * Codex uses object-based watermark (record ID tracking)
53
- */
54
- getWatermarkStrategy(): 'hash' | 'line' | 'object';
55
- /**
56
- * Codex initialization delay: 500ms
57
- */
58
- getInitDelay(): number;
59
- /**
60
- * Override getDataPaths to handle dynamic date-based structure
61
- * Pattern: ~/.codex/sessions/{year}/{month}/{day}/
62
- * Returns base directory for FileSnapshotter to scan subdirectories
63
- */
64
- getDataPaths(): {
65
- sessionsDir: string;
66
- settingsDir?: string;
67
- };
68
- }
69
- //# sourceMappingURL=codex.metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex.metrics.d.ts","sourceRoot":"","sources":["../../../src/agents/plugins/codex.metrics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,UAAU,EAIX,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,mBAAoB,SAAQ,kBAAkB;gBAC7C,QAAQ,EAAE,aAAa;IAInC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAkDxE;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMtC;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA4J7D;;;OAGG;IACG,uBAAuB,CAC3B,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC/B,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC;QACT,MAAM,EAAE,WAAW,EAAE,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAChC,CAAC;IAwLF;;;OAGG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,EAAE,CAAC;IAwCxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;IACH,oBAAoB,IAAI,MAAM,GAAG,MAAM,GAAG,QAAQ;IAIlD;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACH,YAAY,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;CAuB9D"}
@@ -1,483 +0,0 @@
1
- /**
2
- * Codex Metrics Adapter
3
- *
4
- * Implements metrics support for Codex agent.
5
- * Handles Codex-specific file formats (JSONL) and parsing logic.
6
- */
7
- import { readFile } from 'fs/promises';
8
- import { join } from 'path';
9
- import { BaseMetricsAdapter } from '../core/BaseMetricsAdapter.js';
10
- import { logger } from '../../utils/logger.js';
11
- import { parseMultiLineJSON } from '../../utils/parsers.js';
12
- import { getFilename } from '../../utils/paths.js';
13
- export class CodexMetricsAdapter extends BaseMetricsAdapter {
14
- constructor(metadata) {
15
- super('codex', metadata);
16
- }
17
- /**
18
- * Check if file matches Codex session pattern with date filtering
19
- * Pattern: ~/.codex/sessions/{YYYY}/{MM}/{DD}/rollout-{date}T{time}-{uuid}.jsonl
20
- *
21
- * Performance optimization: Only matches current date by default
22
- *
23
- * @param path - File path to check
24
- * @param dateFilter - Optional date filter (YYYY-MM-DD). Defaults to today.
25
- * Pass null to match all dates.
26
- */
27
- matchesSessionPattern(path, dateFilter) {
28
- // Check path contains required directories
29
- // Pattern: ~/.codex/sessions/YYYY/MM/DD/rollout-...jsonl
30
- const pathLower = path.toLowerCase();
31
- if (!pathLower.includes('.codex') || !pathLower.includes('sessions')) {
32
- return false;
33
- }
34
- const filename = getFilename(path);
35
- // Check filename pattern: rollout-YYYY-MM-DDTHH-MM-SS-{uuid}.jsonl
36
- // Real example: rollout-2026-01-02T14-40-09-019b7eb8-f483-71d3-ae10-1bd180168ba5.jsonl
37
- if (!/^rollout-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-[a-f0-9-]+\.jsonl$/.test(filename)) {
38
- return false;
39
- }
40
- // Validate directory structure: must have year/month/day folders
41
- // Extract path segments after "sessions/"
42
- const sessionsIndex = path.search(/sessions[\\/]/i);
43
- if (sessionsIndex === -1) {
44
- return false;
45
- }
46
- const afterSessions = path.substring(sessionsIndex + 9); // Skip "sessions/"
47
- const parts = afterSessions.split(/[\\/]/);
48
- // Must have at least 4 parts: year, month, day, filename
49
- // Example: ['2026', '01', '02', 'rollout-2026-01-02T14-40-09-abc.jsonl']
50
- if (parts.length < 4) {
51
- return false;
52
- }
53
- // Validate year/month/day format
54
- const [year, month, day] = parts;
55
- if (!/^\d{4}$/.test(year) || !/^\d{2}$/.test(month) || !/^\d{2}$/.test(day)) {
56
- return false;
57
- }
58
- // Apply date filter for performance (default: today only)
59
- if (dateFilter !== null) {
60
- const filterDate = dateFilter || new Date().toISOString().split('T')[0]; // Default: today
61
- const pathDate = `${year}-${month}-${day}`;
62
- if (pathDate !== filterDate) {
63
- return false; // Not the target date, skip
64
- }
65
- }
66
- return true;
67
- }
68
- /**
69
- * Extract session ID from Codex file path
70
- * Prefers session_meta.payload.id but falls back to filename UUID
71
- */
72
- extractSessionId(path) {
73
- const filename = getFilename(path);
74
- const match = filename.match(/rollout-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-([a-f0-9-]+)\.jsonl$/);
75
- return match?.[1] || filename.replace('.jsonl', '');
76
- }
77
- /**
78
- * Parse Codex session file and extract metrics
79
- */
80
- async parseSessionFile(path) {
81
- try {
82
- const content = await readFile(path, 'utf-8');
83
- const events = parseMultiLineJSON(content);
84
- if (events.length === 0) {
85
- throw new Error('Empty session file');
86
- }
87
- // Extract session metadata from session_meta
88
- const sessionMeta = events.find((e) => e.type === 'session_meta');
89
- const sessionId = sessionMeta?.payload?.id || this.extractSessionId(path);
90
- const workingDirectory = sessionMeta?.payload?.cwd || '';
91
- const gitBranch = sessionMeta?.payload?.git?.branch;
92
- const modelProvider = sessionMeta?.payload?.model_provider;
93
- // Aggregate metrics from all events
94
- // Note: total_token_usage is cumulative, so we take the maximum value
95
- let maxInputTokens = 0;
96
- let maxOutputTokens = 0;
97
- let maxCachedTokens = 0;
98
- let maxReasoningTokens = 0;
99
- const modelCalls = new Map();
100
- // Parse token_count events (only those with data - after agent responses)
101
- for (const event of events) {
102
- if (event.type === 'event_msg' && event.payload?.type === 'token_count') {
103
- const info = event.payload.info;
104
- // Skip events without token data (user messages, local providers)
105
- if (!info || !info.total_token_usage) {
106
- continue;
107
- }
108
- const usage = info.total_token_usage;
109
- // total_token_usage is cumulative - track maximum values
110
- const input = usage.input_tokens || 0;
111
- const output = usage.output_tokens || 0;
112
- const cache = usage.cached_input_tokens || 0;
113
- const reasoning = usage.reasoning_output_tokens || 0;
114
- if (input > maxInputTokens)
115
- maxInputTokens = input;
116
- if (output > maxOutputTokens)
117
- maxOutputTokens = output;
118
- if (cache > maxCachedTokens)
119
- maxCachedTokens = cache;
120
- if (reasoning > maxReasoningTokens)
121
- maxReasoningTokens = reasoning;
122
- }
123
- // Track models from turn_context
124
- if (event.type === 'turn_context' && event.payload?.model) {
125
- const model = event.payload.model;
126
- modelCalls.set(model, (modelCalls.get(model) || 0) + 1);
127
- }
128
- }
129
- // Extract tool calls from function_call/function_call_output pairs
130
- const toolCalls = [];
131
- const toolCallMap = new Map();
132
- // FIRST PASS: Build map of tool requests
133
- for (const event of events) {
134
- if (event.type === 'response_item' && event.payload?.type === 'function_call') {
135
- toolCallMap.set(event.payload.call_id, {
136
- name: event.payload.name,
137
- timestamp: new Date(event.timestamp).getTime(),
138
- arguments: event.payload.arguments
139
- });
140
- }
141
- }
142
- // SECOND PASS: Match with tool responses and create metrics
143
- for (const event of events) {
144
- if (event.type === 'response_item' && event.payload?.type === 'function_call_output') {
145
- const callId = event.payload.call_id;
146
- const request = toolCallMap.get(callId);
147
- if (!request)
148
- continue;
149
- // Parse output JSON (double-encoded)
150
- let exitCode = 0;
151
- let durationMs;
152
- let errorMessage;
153
- try {
154
- const output = JSON.parse(event.payload.output);
155
- exitCode = output.metadata?.exit_code ?? 0;
156
- durationMs = output.metadata?.duration_seconds
157
- ? Math.round(output.metadata.duration_seconds * 1000)
158
- : undefined;
159
- if (exitCode !== 0) {
160
- errorMessage = output.output || 'Command failed';
161
- }
162
- }
163
- catch {
164
- // Failed to parse output, assume success
165
- }
166
- const toolCall = {
167
- id: callId,
168
- name: request.name,
169
- timestamp: request.timestamp,
170
- status: exitCode === 0 ? 'success' : 'error',
171
- input: request.arguments ? JSON.parse(request.arguments) : undefined,
172
- error: errorMessage
173
- };
174
- // Extract file operation if applicable
175
- const fileOp = this.extractFileOperation(request.name, toolCall.input);
176
- if (fileOp && durationMs) {
177
- fileOp.durationMs = durationMs;
178
- }
179
- if (fileOp) {
180
- toolCall.fileOperation = fileOp;
181
- }
182
- toolCalls.push(toolCall);
183
- }
184
- }
185
- const toolUsageSummary = this.buildToolUsageSummary(toolCalls);
186
- const allModels = Array.from(modelCalls.keys());
187
- const snapshot = {
188
- sessionId,
189
- timestamp: Date.now(),
190
- tokens: {
191
- input: maxInputTokens,
192
- output: maxOutputTokens + maxReasoningTokens, // Include reasoning in output
193
- cacheRead: maxCachedTokens > 0 ? maxCachedTokens : undefined
194
- },
195
- toolCalls,
196
- toolUsageSummary,
197
- turnCount: events.filter((e) => e.type === 'turn_context').length,
198
- model: allModels.length > 0 ? allModels[0] : undefined,
199
- metadata: {
200
- workingDirectory,
201
- gitBranch,
202
- totalInputTokens: maxInputTokens + maxCachedTokens,
203
- models: allModels,
204
- modelCalls: Object.fromEntries(modelCalls),
205
- modelProvider // Add provider for debugging
206
- }
207
- };
208
- logger.debug(`[CodexMetrics] Parsed session ${sessionId}: ${maxInputTokens} input, ${maxOutputTokens} output, ` +
209
- `${maxCachedTokens} cached, ${maxReasoningTokens} reasoning`);
210
- return snapshot;
211
- }
212
- catch (error) {
213
- logger.error(`[CodexMetrics] Failed to parse session file: ${path}`, error);
214
- throw error;
215
- }
216
- }
217
- /**
218
- * Parse incremental metrics from session file
219
- * Returns only new deltas since last processing
220
- */
221
- async parseIncrementalMetrics(path, processedRecordIds, attachedUserPromptTexts) {
222
- try {
223
- const content = await readFile(path, 'utf-8');
224
- const events = parseMultiLineJSON(content);
225
- const deltas = [];
226
- const newlyAttachedPrompts = [];
227
- // Extract session metadata
228
- const sessionMeta = events.find((e) => e.type === 'session_meta');
229
- const sessionId = sessionMeta?.payload?.id || this.extractSessionId(path);
230
- const gitBranch = sessionMeta?.payload?.git?.branch;
231
- // Track current model from turn_context events
232
- let currentModel;
233
- // Track tool calls by call_id for this parsing
234
- const toolCallMap = new Map();
235
- // Track previous cumulative token counts to calculate deltas
236
- let prevInputTokens = 0;
237
- let prevOutputTokens = 0;
238
- let prevCachedTokens = 0;
239
- // Process events sequentially to create deltas
240
- for (let i = 0; i < events.length; i++) {
241
- const event = events[i];
242
- const recordId = `${sessionId}:${event.timestamp}:${i}`;
243
- // Skip already processed events
244
- if (processedRecordIds.has(recordId)) {
245
- continue;
246
- }
247
- // Mark as processed
248
- processedRecordIds.add(recordId);
249
- // Track model from turn_context
250
- if (event.type === 'turn_context' && event.payload?.model) {
251
- currentModel = event.payload.model;
252
- }
253
- // Process token_count events
254
- if (event.type === 'event_msg' && event.payload?.type === 'token_count') {
255
- const info = event.payload.info;
256
- // Skip events without token data
257
- if (!info || !info.total_token_usage) {
258
- continue;
259
- }
260
- // Use total_token_usage (cumulative) and calculate delta from previous
261
- const usage = info.total_token_usage;
262
- const currInput = usage.input_tokens || 0;
263
- const currOutput = (usage.output_tokens || 0) + (usage.reasoning_output_tokens || 0);
264
- const currCache = usage.cached_input_tokens || 0;
265
- // Calculate delta (new tokens since last event)
266
- const deltaInput = Math.max(0, currInput - prevInputTokens);
267
- const deltaOutput = Math.max(0, currOutput - prevOutputTokens);
268
- const deltaCache = Math.max(0, currCache - prevCachedTokens);
269
- // Only create delta if there are new tokens
270
- if (deltaInput > 0 || deltaOutput > 0 || deltaCache > 0) {
271
- const timestamp = new Date(event.timestamp).getTime();
272
- const delta = {
273
- recordId,
274
- sessionId: '', // Will be set by caller
275
- agentSessionId: sessionId,
276
- timestamp,
277
- tokens: {
278
- input: deltaInput,
279
- output: deltaOutput,
280
- cacheRead: deltaCache > 0 ? deltaCache : undefined
281
- },
282
- tools: {}, // No tools for token_count events
283
- models: currentModel ? [currentModel] : undefined,
284
- gitBranch
285
- };
286
- deltas.push(delta);
287
- // Update previous counts
288
- prevInputTokens = currInput;
289
- prevOutputTokens = currOutput;
290
- prevCachedTokens = currCache;
291
- }
292
- }
293
- // Collect tool call requests
294
- if (event.type === 'response_item' && event.payload?.type === 'function_call') {
295
- toolCallMap.set(event.payload.call_id, {
296
- name: event.payload.name,
297
- timestamp: new Date(event.timestamp).getTime(),
298
- arguments: event.payload.arguments
299
- });
300
- }
301
- // Process tool call responses
302
- if (event.type === 'response_item' && event.payload?.type === 'function_call_output') {
303
- const callId = event.payload.call_id;
304
- const request = toolCallMap.get(callId);
305
- if (!request)
306
- continue;
307
- // Parse output
308
- let exitCode = 0;
309
- let durationMs;
310
- try {
311
- const output = JSON.parse(event.payload.output);
312
- exitCode = output.metadata?.exit_code ?? 0;
313
- durationMs = output.metadata?.duration_seconds
314
- ? Math.round(output.metadata.duration_seconds * 1000)
315
- : undefined;
316
- }
317
- catch {
318
- // Failed to parse, use defaults
319
- }
320
- // Extract file operation if applicable
321
- let fileOp;
322
- try {
323
- const input = JSON.parse(request.arguments);
324
- fileOp = this.extractFileOperation(request.name, input);
325
- if (fileOp && durationMs) {
326
- fileOp.durationMs = durationMs;
327
- }
328
- }
329
- catch {
330
- // Failed to parse arguments, skip file operation
331
- }
332
- const toolCall = {
333
- id: callId,
334
- name: request.name,
335
- timestamp: request.timestamp,
336
- status: exitCode === 0 ? 'success' : 'error'
337
- };
338
- if (fileOp) {
339
- toolCall.fileOperation = fileOp;
340
- }
341
- // Create delta for tool call
342
- const delta = {
343
- recordId,
344
- sessionId: '', // Will be set by caller
345
- agentSessionId: sessionId,
346
- timestamp: new Date(event.timestamp).getTime(),
347
- tokens: { input: 0, output: 0 }, // No tokens for tool call events
348
- tools: { [request.name]: 1 },
349
- toolStatus: {
350
- [request.name]: exitCode === 0 ? { success: 1, failure: 0 } : { success: 0, failure: 1 }
351
- },
352
- fileOperations: fileOp ? [fileOp] : undefined,
353
- models: currentModel ? [currentModel] : undefined,
354
- gitBranch
355
- };
356
- deltas.push(delta);
357
- }
358
- // Attach user prompts (from history.jsonl, not session file)
359
- if (event.type === 'event_msg' && event.payload?.type === 'user_message') {
360
- const promptText = event.payload.message;
361
- if (promptText && !attachedUserPromptTexts.has(promptText)) {
362
- attachedUserPromptTexts.add(promptText);
363
- newlyAttachedPrompts.push(promptText);
364
- }
365
- }
366
- }
367
- return {
368
- deltas,
369
- lastLine: events.length,
370
- newlyAttachedPrompts
371
- };
372
- }
373
- catch (error) {
374
- logger.error(`[CodexMetrics] Failed to parse incremental metrics: ${path}`, error);
375
- throw error;
376
- }
377
- }
378
- /**
379
- * Get user prompts for a specific session
380
- * Parses ~/.codex/history.jsonl and correlates by session_id
381
- */
382
- async getUserPrompts(sessionId, fromTimestamp, toTimestamp) {
383
- const historyPath = this.getUserPromptsPath();
384
- const prompts = [];
385
- try {
386
- const content = await readFile(historyPath, 'utf-8');
387
- const entries = parseMultiLineJSON(content);
388
- for (const entry of entries) {
389
- // Filter by session_id
390
- if (entry.session_id !== sessionId) {
391
- continue;
392
- }
393
- // Convert unix seconds to milliseconds
394
- const timestamp = entry.ts * 1000;
395
- // Filter by timestamp range
396
- if (fromTimestamp && timestamp < fromTimestamp) {
397
- continue;
398
- }
399
- if (toTimestamp && timestamp > toTimestamp) {
400
- continue;
401
- }
402
- prompts.push({
403
- display: entry.text || '',
404
- timestamp,
405
- project: '', // Populated from MetricsSession workingDirectory
406
- sessionId: entry.session_id
407
- });
408
- }
409
- }
410
- catch (error) {
411
- // History file might not exist or be empty - not an error
412
- logger.debug(`[CodexMetrics] Could not read history file: ${error.message}`);
413
- }
414
- return prompts.sort((a, b) => a.timestamp - b.timestamp);
415
- }
416
- /**
417
- * Extract file operation from tool arguments
418
- * Codex-specific tool mapping
419
- */
420
- extractFileOperation(toolName, input) {
421
- // Map Codex tool names to operation types
422
- const typeMap = {
423
- 'read_file': 'read',
424
- 'write_file': 'write',
425
- 'edit_file': 'edit',
426
- 'shell': undefined // Shell commands vary - skip for now
427
- };
428
- const type = typeMap[toolName];
429
- if (!type)
430
- return undefined;
431
- const fileOp = { type };
432
- // Extract file path from tool arguments
433
- if (input?.file_path || input?.path) {
434
- const path = input.file_path || input.path;
435
- fileOp.path = path;
436
- fileOp.format = this.extractFormat(path);
437
- fileOp.language = this.detectLanguage(path);
438
- }
439
- // Extract line changes for write operations
440
- if (toolName === 'write_file' && input?.content) {
441
- fileOp.linesAdded = input.content.split('\n').length;
442
- }
443
- return fileOp;
444
- }
445
- /**
446
- * Codex uses object-based watermark (record ID tracking)
447
- */
448
- getWatermarkStrategy() {
449
- return 'object';
450
- }
451
- /**
452
- * Codex initialization delay: 500ms
453
- */
454
- getInitDelay() {
455
- return 500;
456
- }
457
- /**
458
- * Override getDataPaths to handle dynamic date-based structure
459
- * Pattern: ~/.codex/sessions/{year}/{month}/{day}/
460
- * Returns base directory for FileSnapshotter to scan subdirectories
461
- */
462
- getDataPaths() {
463
- const home = this.getHomeDir();
464
- // Parse sessions template to extract directory structure
465
- // Template: 'sessions/{year}/{month}/{day}' → ['sessions', '{year}', '{month}', '{day}']
466
- const sessionsParts = this.parseSessionsTemplate();
467
- // Build path by taking segments before first placeholder
468
- const staticSegments = [];
469
- for (const segment of sessionsParts) {
470
- if (this.isDynamicSegment(segment)) {
471
- break;
472
- }
473
- staticSegments.push(segment);
474
- }
475
- // Return base directory - FileSnapshotter will scan subdirectories
476
- // Pattern matching in matchesSessionPattern() handles the rest
477
- return {
478
- sessionsDir: staticSegments.length > 0 ? join(home, ...staticSegments) : home,
479
- settingsDir: home
480
- };
481
- }
482
- }
483
- //# sourceMappingURL=codex.metrics.js.map