@codemieai/code 0.0.27 → 0.0.29

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 (484) hide show
  1. package/README.md +9 -11
  2. package/bin/agent-executor.js +1 -1
  3. package/dist/agents/codemie-code/agent.js +1 -1
  4. package/dist/agents/codemie-code/config.d.ts +1 -1
  5. package/dist/agents/codemie-code/config.d.ts.map +1 -1
  6. package/dist/agents/codemie-code/config.js +3 -4
  7. package/dist/agents/codemie-code/config.js.map +1 -1
  8. package/dist/agents/codemie-code/index.js +1 -1
  9. package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -1
  10. package/dist/agents/codemie-code/storage/todoStorage.js +2 -2
  11. package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -1
  12. package/dist/agents/codemie-code/tools/index.js +1 -1
  13. package/dist/agents/codemie-code/tools/index.js.map +1 -1
  14. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  15. package/dist/agents/core/AgentCLI.js +6 -10
  16. package/dist/agents/core/AgentCLI.js.map +1 -1
  17. package/dist/agents/core/BaseAgentAdapter.d.ts +17 -9
  18. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  19. package/dist/agents/core/BaseAgentAdapter.js +80 -72
  20. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  21. package/dist/agents/core/extension/BaseExtensionInstaller.d.ts +258 -0
  22. package/dist/agents/core/extension/BaseExtensionInstaller.d.ts.map +1 -0
  23. package/dist/agents/core/extension/BaseExtensionInstaller.js +522 -0
  24. package/dist/agents/core/extension/BaseExtensionInstaller.js.map +1 -0
  25. package/dist/agents/core/lifecycle-helpers.d.ts.map +1 -1
  26. package/dist/agents/core/lifecycle-helpers.js +16 -2
  27. package/dist/agents/core/lifecycle-helpers.js.map +1 -1
  28. package/dist/agents/core/metrics/index.d.ts +0 -2
  29. package/dist/agents/core/metrics/index.d.ts.map +1 -1
  30. package/dist/agents/core/metrics/index.js +0 -3
  31. package/dist/agents/core/metrics/index.js.map +1 -1
  32. package/dist/agents/core/metrics/types.d.ts +4 -232
  33. package/dist/agents/core/metrics/types.d.ts.map +1 -1
  34. package/dist/agents/core/metrics/types.js +2 -2
  35. package/dist/agents/core/session/BaseProcessor.d.ts +72 -0
  36. package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -0
  37. package/dist/agents/core/session/BaseProcessor.js +9 -0
  38. package/dist/agents/core/session/BaseProcessor.js.map +1 -0
  39. package/dist/agents/core/session/BaseSessionAdapter.d.ts +99 -0
  40. package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -0
  41. package/dist/agents/core/session/BaseSessionAdapter.js +9 -0
  42. package/dist/agents/core/session/BaseSessionAdapter.js.map +1 -0
  43. package/dist/agents/core/session/SessionStore.d.ts +23 -0
  44. package/dist/agents/core/session/SessionStore.d.ts.map +1 -0
  45. package/dist/agents/core/session/SessionStore.js +75 -0
  46. package/dist/agents/core/session/SessionStore.js.map +1 -0
  47. package/dist/agents/core/session/session-config.d.ts +27 -0
  48. package/dist/agents/core/session/session-config.d.ts.map +1 -0
  49. package/dist/agents/core/session/session-config.js +61 -0
  50. package/dist/agents/core/session/session-config.js.map +1 -0
  51. package/dist/agents/core/session/types.d.ts +87 -0
  52. package/dist/agents/core/session/types.d.ts.map +1 -0
  53. package/dist/agents/core/session/types.js +8 -0
  54. package/dist/agents/core/session/types.js.map +1 -0
  55. package/dist/agents/core/session/utils/jsonl-reader.d.ts +15 -0
  56. package/dist/agents/core/session/utils/jsonl-reader.d.ts.map +1 -0
  57. package/dist/agents/core/session/utils/jsonl-reader.js +33 -0
  58. package/dist/agents/core/session/utils/jsonl-reader.js.map +1 -0
  59. package/dist/agents/core/session/utils/jsonl-writer.d.ts +26 -0
  60. package/dist/agents/core/session/utils/jsonl-writer.d.ts.map +1 -0
  61. package/dist/agents/core/session/utils/jsonl-writer.js +56 -0
  62. package/dist/agents/core/session/utils/jsonl-writer.js.map +1 -0
  63. package/dist/agents/core/types.d.ts +78 -11
  64. package/dist/agents/core/types.d.ts.map +1 -1
  65. package/dist/agents/plugins/claude/claude-message-types.d.ts +74 -0
  66. package/dist/agents/plugins/claude/claude-message-types.d.ts.map +1 -0
  67. package/dist/agents/plugins/claude/claude-message-types.js +8 -0
  68. package/dist/agents/plugins/claude/claude-message-types.js.map +1 -0
  69. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts +53 -0
  70. package/dist/agents/plugins/claude/claude.plugin-installer.d.ts.map +1 -0
  71. package/dist/agents/plugins/claude/claude.plugin-installer.js +63 -0
  72. package/dist/agents/plugins/claude/claude.plugin-installer.js.map +1 -0
  73. package/dist/agents/plugins/claude/claude.plugin.d.ts +26 -0
  74. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -0
  75. package/dist/agents/plugins/{claude.plugin.js → claude/claude.plugin.js} +20 -11
  76. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -0
  77. package/dist/agents/plugins/claude/claude.session.d.ts +60 -0
  78. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -0
  79. package/dist/agents/plugins/claude/claude.session.js +339 -0
  80. package/dist/agents/plugins/claude/claude.session.js.map +1 -0
  81. package/dist/agents/plugins/claude/plugin/.claude-plugin/local-install.json +15 -0
  82. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +9 -0
  83. package/dist/agents/plugins/claude/plugin/README.md +299 -0
  84. package/dist/agents/plugins/claude/plugin/claude-templates/README.md +539 -0
  85. package/dist/agents/plugins/claude/plugin/claude-templates/templates/CLAUDE.md.template +511 -0
  86. package/dist/agents/plugins/claude/plugin/claude-templates/templates/INDEX.md +205 -0
  87. package/dist/agents/plugins/claude/plugin/claude-templates/templates/TEMPLATE_SIZES.md +74 -0
  88. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/api/api-patterns.md.template +207 -0
  89. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/layered-architecture.md.template +143 -0
  90. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/project-structure.md.template +127 -0
  91. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/data/database-patterns.md.template +168 -0
  92. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/development/development-practices.md.template +210 -0
  93. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/integration/external-integrations.md.template +160 -0
  94. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/security/security-practices.md.template +170 -0
  95. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/code-quality.md.template +150 -0
  96. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/git-workflow.md.template +177 -0
  97. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/testing/testing-patterns.md.template +143 -0
  98. package/dist/agents/plugins/claude/plugin/commands/README.md +0 -0
  99. package/dist/agents/plugins/claude/plugin/commands/codemie-catchup.md +10 -0
  100. package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +731 -0
  101. package/dist/agents/plugins/claude/plugin/commands/memory-add.md +44 -0
  102. package/dist/agents/plugins/claude/plugin/commands/memory-init.md +18 -0
  103. package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +54 -0
  104. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +71 -0
  105. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts +51 -0
  106. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -0
  107. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +840 -0
  108. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -0
  109. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts +37 -0
  110. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -0
  111. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +275 -0
  112. package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -0
  113. package/dist/agents/plugins/codemie-code.plugin.js +1 -1
  114. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  115. package/dist/agents/plugins/gemini/extension/README.md +88 -0
  116. package/dist/agents/plugins/gemini/extension/gemini-extension.json +11 -0
  117. package/dist/agents/plugins/gemini/extension/hooks/hooks.json +65 -0
  118. package/dist/agents/plugins/gemini/gemini.extension-installer.d.ts +49 -0
  119. package/dist/agents/plugins/gemini/gemini.extension-installer.d.ts.map +1 -0
  120. package/dist/agents/plugins/gemini/gemini.extension-installer.js +63 -0
  121. package/dist/agents/plugins/gemini/gemini.extension-installer.js.map +1 -0
  122. package/dist/agents/plugins/gemini/gemini.hook-transformer.d.ts +43 -0
  123. package/dist/agents/plugins/gemini/gemini.hook-transformer.d.ts.map +1 -0
  124. package/dist/agents/plugins/gemini/gemini.hook-transformer.js +57 -0
  125. package/dist/agents/plugins/gemini/gemini.hook-transformer.js.map +1 -0
  126. package/dist/agents/plugins/gemini/gemini.plugin.d.ts +32 -0
  127. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -0
  128. package/dist/agents/plugins/gemini/gemini.plugin.js +136 -0
  129. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -0
  130. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts +68 -0
  131. package/dist/agents/plugins/gemini/gemini.session-adapter.d.ts.map +1 -0
  132. package/dist/agents/plugins/gemini/gemini.session-adapter.js +268 -0
  133. package/dist/agents/plugins/gemini/gemini.session-adapter.js.map +1 -0
  134. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts +36 -0
  135. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -0
  136. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +186 -0
  137. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -0
  138. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts +32 -0
  139. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.d.ts.map +1 -0
  140. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js +193 -0
  141. package/dist/agents/plugins/gemini/session/processors/gemini.metrics-processor.js.map +1 -0
  142. package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts +26 -0
  143. package/dist/agents/plugins/gemini/session/utils/token-aggregator.d.ts.map +1 -0
  144. package/dist/agents/plugins/gemini/session/utils/token-aggregator.js +38 -0
  145. package/dist/agents/plugins/gemini/session/utils/token-aggregator.js.map +1 -0
  146. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.d.ts +33 -0
  147. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.d.ts.map +1 -0
  148. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.js +58 -0
  149. package/dist/agents/plugins/gemini/session/utils/tool-aggregator.js.map +1 -0
  150. package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts +70 -0
  151. package/dist/agents/plugins/gemini/session/utils/turn-detector.d.ts.map +1 -0
  152. package/dist/agents/plugins/gemini/session/utils/turn-detector.js +86 -0
  153. package/dist/agents/plugins/gemini/session/utils/turn-detector.js.map +1 -0
  154. package/dist/agents/registry.d.ts +7 -2
  155. package/dist/agents/registry.d.ts.map +1 -1
  156. package/dist/agents/registry.js +17 -8
  157. package/dist/agents/registry.js.map +1 -1
  158. package/dist/cli/commands/analytics/data-loader.d.ts +1 -1
  159. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  160. package/dist/cli/commands/analytics/data-loader.js +3 -3
  161. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  162. package/dist/cli/commands/analytics/index.js +1 -1
  163. package/dist/cli/commands/analytics/index.js.map +1 -1
  164. package/dist/cli/commands/doctor/checks/AIConfigCheck.js +1 -1
  165. package/dist/cli/commands/doctor/checks/AIConfigCheck.js.map +1 -1
  166. package/dist/cli/commands/doctor/checks/AwsCliCheck.js +1 -1
  167. package/dist/cli/commands/doctor/checks/AwsCliCheck.js.map +1 -1
  168. package/dist/cli/commands/doctor/checks/NpmCheck.js +1 -1
  169. package/dist/cli/commands/doctor/checks/NpmCheck.js.map +1 -1
  170. package/dist/cli/commands/doctor/checks/PythonCheck.d.ts +13 -0
  171. package/dist/cli/commands/doctor/checks/PythonCheck.d.ts.map +1 -1
  172. package/dist/cli/commands/doctor/checks/PythonCheck.js +91 -32
  173. package/dist/cli/commands/doctor/checks/PythonCheck.js.map +1 -1
  174. package/dist/cli/commands/doctor/checks/UvCheck.js +1 -1
  175. package/dist/cli/commands/doctor/checks/UvCheck.js.map +1 -1
  176. package/dist/cli/commands/doctor/types.d.ts +1 -1
  177. package/dist/cli/commands/doctor/types.d.ts.map +1 -1
  178. package/dist/cli/commands/hook.d.ts +7 -0
  179. package/dist/cli/commands/hook.d.ts.map +1 -0
  180. package/dist/cli/commands/hook.js +788 -0
  181. package/dist/cli/commands/hook.js.map +1 -0
  182. package/dist/cli/commands/profile/auth.js +1 -1
  183. package/dist/cli/commands/profile/auth.js.map +1 -1
  184. package/dist/{utils/profile-display.d.ts → cli/commands/profile/display.d.ts} +3 -3
  185. package/dist/cli/commands/profile/display.d.ts.map +1 -0
  186. package/dist/{utils/profile-display.js → cli/commands/profile/display.js} +2 -2
  187. package/dist/cli/commands/profile/display.js.map +1 -0
  188. package/dist/cli/commands/profile/index.js +2 -2
  189. package/dist/cli/commands/profile/index.js.map +1 -1
  190. package/dist/cli/commands/setup.d.ts.map +1 -1
  191. package/dist/cli/commands/setup.js +4 -5
  192. package/dist/cli/commands/setup.js.map +1 -1
  193. package/dist/cli/commands/update.d.ts +3 -0
  194. package/dist/cli/commands/update.d.ts.map +1 -0
  195. package/dist/cli/commands/update.js +291 -0
  196. package/dist/cli/commands/update.js.map +1 -0
  197. package/dist/cli/commands/version.js +1 -1
  198. package/dist/cli/commands/version.js.map +1 -1
  199. package/dist/{utils → cli}/first-time.d.ts +4 -0
  200. package/dist/cli/first-time.d.ts.map +1 -0
  201. package/dist/{utils → cli}/first-time.js +27 -14
  202. package/dist/cli/first-time.js.map +1 -0
  203. package/dist/cli/index.js +6 -2
  204. package/dist/cli/index.js.map +1 -1
  205. package/dist/env/manager.d.ts.map +1 -1
  206. package/dist/env/manager.js +3 -4
  207. package/dist/env/manager.js.map +1 -1
  208. package/dist/frameworks/core/BaseFrameworkAdapter.js +1 -1
  209. package/dist/frameworks/core/BaseFrameworkAdapter.js.map +1 -1
  210. package/dist/frameworks/core/types.d.ts +1 -1
  211. package/dist/frameworks/plugins/bmad.plugin.js +2 -2
  212. package/dist/frameworks/plugins/bmad.plugin.js.map +1 -1
  213. package/dist/frameworks/plugins/speckit.plugin.d.ts.map +1 -1
  214. package/dist/frameworks/plugins/speckit.plugin.js +2 -3
  215. package/dist/frameworks/plugins/speckit.plugin.js.map +1 -1
  216. package/dist/index.d.ts +1 -1
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +1 -1
  219. package/dist/index.js.map +1 -1
  220. package/dist/migrations/001-config-rename.migration.d.ts.map +1 -1
  221. package/dist/migrations/001-config-rename.migration.js +2 -2
  222. package/dist/migrations/001-config-rename.migration.js.map +1 -1
  223. package/dist/migrations/002-consolidate-sessions.migration.d.ts +50 -0
  224. package/dist/migrations/002-consolidate-sessions.migration.d.ts.map +1 -0
  225. package/dist/migrations/002-consolidate-sessions.migration.js +220 -0
  226. package/dist/migrations/002-consolidate-sessions.migration.js.map +1 -0
  227. package/dist/migrations/index.d.ts +1 -0
  228. package/dist/migrations/index.d.ts.map +1 -1
  229. package/dist/migrations/index.js +3 -2
  230. package/dist/migrations/index.js.map +1 -1
  231. package/dist/migrations/tracker.d.ts.map +1 -1
  232. package/dist/migrations/tracker.js +2 -2
  233. package/dist/migrations/tracker.js.map +1 -1
  234. package/dist/providers/core/base/http-client.js +1 -1
  235. package/dist/providers/core/types.d.ts +1 -1
  236. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
  237. package/dist/providers/plugins/ollama/ollama.template.js +3 -1
  238. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
  239. package/dist/providers/plugins/sso/index.d.ts +1 -1
  240. package/dist/providers/plugins/sso/index.d.ts.map +1 -1
  241. package/dist/providers/plugins/sso/index.js +1 -1
  242. package/dist/providers/plugins/sso/index.js.map +1 -1
  243. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +1 -1
  244. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  245. package/dist/providers/plugins/sso/proxy/plugins/index.js +3 -3
  246. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  247. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts +40 -0
  248. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -0
  249. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +194 -0
  250. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -0
  251. package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts +1 -0
  252. package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts.map +1 -1
  253. package/dist/providers/plugins/sso/proxy/proxy-http-client.js +40 -6
  254. package/dist/providers/plugins/sso/proxy/proxy-http-client.js.map +1 -1
  255. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts +72 -0
  256. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts.map +1 -0
  257. package/dist/providers/plugins/sso/session/BaseProcessor.js +9 -0
  258. package/dist/providers/plugins/sso/session/BaseProcessor.js.map +1 -0
  259. package/dist/providers/plugins/sso/session/BaseSessionAdapter.d.ts +99 -0
  260. package/dist/providers/plugins/sso/session/BaseSessionAdapter.d.ts.map +1 -0
  261. package/dist/providers/plugins/sso/session/BaseSessionAdapter.js +9 -0
  262. package/dist/providers/plugins/sso/session/BaseSessionAdapter.js.map +1 -0
  263. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +36 -0
  264. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -0
  265. package/dist/providers/plugins/sso/session/SessionSyncer.js +140 -0
  266. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -0
  267. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts +26 -0
  268. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.d.ts.map +1 -0
  269. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js +146 -0
  270. package/dist/providers/plugins/sso/session/processors/conversations/conversation-api-client.js.map +1 -0
  271. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +23 -0
  272. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +1 -0
  273. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js +171 -0
  274. package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +1 -0
  275. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts +69 -0
  276. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.d.ts.map +1 -0
  277. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js +7 -0
  278. package/dist/providers/plugins/sso/session/processors/conversations/conversation-types.js.map +1 -0
  279. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.d.ts +30 -0
  280. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.d.ts.map +1 -0
  281. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.js +79 -0
  282. package/dist/providers/plugins/sso/session/processors/metrics/MetricsWriter.js.map +1 -0
  283. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-aggregator.d.ts → session/processors/metrics/metrics-aggregator.d.ts} +6 -5
  284. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -0
  285. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-aggregator.js → session/processors/metrics/metrics-aggregator.js} +20 -12
  286. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -0
  287. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sender.d.ts → session/processors/metrics/metrics-api-client.d.ts} +18 -11
  288. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -0
  289. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sender.js → session/processors/metrics/metrics-api-client.js} +143 -15
  290. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -0
  291. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-post-processor.d.ts → session/processors/metrics/metrics-post-processor.d.ts} +3 -3
  292. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts.map +1 -0
  293. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-post-processor.js → session/processors/metrics/metrics-post-processor.js} +3 -3
  294. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js.map +1 -0
  295. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts +24 -0
  296. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -0
  297. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-sync.plugin.js → session/processors/metrics/metrics-sync-processor.js} +94 -165
  298. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -0
  299. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-types.d.ts → session/processors/metrics/metrics-types.d.ts} +2 -1
  300. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -0
  301. package/dist/providers/plugins/sso/{metrics/sync/sso.metrics-types.js → session/processors/metrics/metrics-types.js} +1 -1
  302. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.js.map +1 -0
  303. package/dist/providers/plugins/sso/session/utils/jsonl-reader.d.ts +15 -0
  304. package/dist/providers/plugins/sso/session/utils/jsonl-reader.d.ts.map +1 -0
  305. package/dist/providers/plugins/sso/session/utils/jsonl-reader.js +33 -0
  306. package/dist/providers/plugins/sso/session/utils/jsonl-reader.js.map +1 -0
  307. package/dist/providers/plugins/sso/session/utils/jsonl-writer.d.ts +26 -0
  308. package/dist/providers/plugins/sso/session/utils/jsonl-writer.d.ts.map +1 -0
  309. package/dist/providers/plugins/sso/{metrics/sync/sso.jsonl-writer.js → session/utils/jsonl-writer.js} +11 -27
  310. package/dist/providers/plugins/sso/session/utils/jsonl-writer.js.map +1 -0
  311. package/dist/providers/plugins/sso/sso.auth.js +1 -1
  312. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  313. package/dist/providers/plugins/sso/sso.http-client.d.ts +1 -1
  314. package/dist/providers/plugins/sso/sso.http-client.js +1 -1
  315. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  316. package/dist/providers/plugins/sso/sso.template.d.ts.map +1 -1
  317. package/dist/providers/plugins/sso/sso.template.js +71 -43
  318. package/dist/providers/plugins/sso/sso.template.js.map +1 -1
  319. package/dist/utils/{config-loader.d.ts → config.d.ts} +6 -1
  320. package/dist/utils/config.d.ts.map +1 -0
  321. package/dist/utils/{config-loader.js → config.js} +30 -4
  322. package/dist/utils/config.js.map +1 -0
  323. package/dist/utils/errors.d.ts +89 -0
  324. package/dist/utils/errors.d.ts.map +1 -1
  325. package/dist/utils/errors.js +340 -0
  326. package/dist/utils/errors.js.map +1 -1
  327. package/dist/utils/exec.d.ts +6 -0
  328. package/dist/utils/exec.d.ts.map +1 -1
  329. package/dist/utils/exec.js +6 -0
  330. package/dist/utils/exec.js.map +1 -1
  331. package/dist/utils/file-operations.d.ts +20 -0
  332. package/dist/utils/file-operations.d.ts.map +1 -0
  333. package/dist/utils/file-operations.js +48 -0
  334. package/dist/utils/file-operations.js.map +1 -0
  335. package/dist/utils/logger.d.ts +2 -1
  336. package/dist/utils/logger.d.ts.map +1 -1
  337. package/dist/utils/logger.js +15 -7
  338. package/dist/utils/logger.js.map +1 -1
  339. package/dist/utils/{json-parser.d.ts → parsers.d.ts} +1 -1
  340. package/dist/utils/parsers.d.ts.map +1 -0
  341. package/dist/utils/{json-parser.js → parsers.js} +1 -1
  342. package/dist/utils/parsers.js.map +1 -0
  343. package/dist/utils/{path-utils.d.ts → paths.d.ts} +77 -12
  344. package/dist/utils/paths.d.ts.map +1 -0
  345. package/dist/utils/{path-utils.js → paths.js} +103 -12
  346. package/dist/utils/paths.js.map +1 -0
  347. package/dist/utils/{npm.d.ts → processes.d.ts} +44 -7
  348. package/dist/utils/processes.d.ts.map +1 -0
  349. package/dist/utils/{npm.js → processes.js} +129 -10
  350. package/dist/utils/processes.js.map +1 -0
  351. package/dist/utils/profile.d.ts +1 -16
  352. package/dist/utils/profile.d.ts.map +1 -1
  353. package/dist/utils/profile.js +1 -27
  354. package/dist/utils/profile.js.map +1 -1
  355. package/dist/utils/security.d.ts +62 -0
  356. package/dist/utils/security.d.ts.map +1 -0
  357. package/dist/utils/security.js +396 -0
  358. package/dist/utils/security.js.map +1 -0
  359. package/package.json +11 -11
  360. package/scripts/copy-plugins.js +57 -0
  361. package/scripts/license-check.js +23 -0
  362. package/bin/codemie-codex.js +0 -18
  363. package/bin/codemie-deepagents.js +0 -18
  364. package/dist/agents/core/BaseMetricsAdapter.d.ts +0 -165
  365. package/dist/agents/core/BaseMetricsAdapter.d.ts.map +0 -1
  366. package/dist/agents/core/BaseMetricsAdapter.js +0 -308
  367. package/dist/agents/core/BaseMetricsAdapter.js.map +0 -1
  368. package/dist/agents/core/metrics/MetricsOrchestrator.d.ts +0 -81
  369. package/dist/agents/core/metrics/MetricsOrchestrator.d.ts.map +0 -1
  370. package/dist/agents/core/metrics/MetricsOrchestrator.js +0 -417
  371. package/dist/agents/core/metrics/MetricsOrchestrator.js.map +0 -1
  372. package/dist/agents/core/metrics/core/DeltaWriter.d.ts +0 -49
  373. package/dist/agents/core/metrics/core/DeltaWriter.d.ts.map +0 -1
  374. package/dist/agents/core/metrics/core/DeltaWriter.js +0 -152
  375. package/dist/agents/core/metrics/core/DeltaWriter.js.map +0 -1
  376. package/dist/agents/core/metrics/core/FileSnapshotter.d.ts +0 -22
  377. package/dist/agents/core/metrics/core/FileSnapshotter.d.ts.map +0 -1
  378. package/dist/agents/core/metrics/core/FileSnapshotter.js +0 -74
  379. package/dist/agents/core/metrics/core/FileSnapshotter.js.map +0 -1
  380. package/dist/agents/core/metrics/core/SessionCorrelator.d.ts +0 -34
  381. package/dist/agents/core/metrics/core/SessionCorrelator.d.ts.map +0 -1
  382. package/dist/agents/core/metrics/core/SessionCorrelator.js +0 -157
  383. package/dist/agents/core/metrics/core/SessionCorrelator.js.map +0 -1
  384. package/dist/agents/core/metrics/core/SyncStateManager.d.ts +0 -69
  385. package/dist/agents/core/metrics/core/SyncStateManager.d.ts.map +0 -1
  386. package/dist/agents/core/metrics/core/SyncStateManager.js +0 -283
  387. package/dist/agents/core/metrics/core/SyncStateManager.js.map +0 -1
  388. package/dist/agents/core/metrics/session/SessionStore.d.ts +0 -43
  389. package/dist/agents/core/metrics/session/SessionStore.d.ts.map +0 -1
  390. package/dist/agents/core/metrics/session/SessionStore.js +0 -146
  391. package/dist/agents/core/metrics/session/SessionStore.js.map +0 -1
  392. package/dist/agents/core/metrics-config.d.ts +0 -38
  393. package/dist/agents/core/metrics-config.d.ts.map +0 -1
  394. package/dist/agents/core/metrics-config.js +0 -95
  395. package/dist/agents/core/metrics-config.js.map +0 -1
  396. package/dist/agents/plugins/claude.metrics.d.ts +0 -102
  397. package/dist/agents/plugins/claude.metrics.d.ts.map +0 -1
  398. package/dist/agents/plugins/claude.metrics.js +0 -656
  399. package/dist/agents/plugins/claude.metrics.js.map +0 -1
  400. package/dist/agents/plugins/claude.plugin.d.ts +0 -19
  401. package/dist/agents/plugins/claude.plugin.d.ts.map +0 -1
  402. package/dist/agents/plugins/claude.plugin.js.map +0 -1
  403. package/dist/agents/plugins/codex.plugin.d.ts +0 -17
  404. package/dist/agents/plugins/codex.plugin.d.ts.map +0 -1
  405. package/dist/agents/plugins/codex.plugin.js +0 -386
  406. package/dist/agents/plugins/codex.plugin.js.map +0 -1
  407. package/dist/agents/plugins/deepagents.plugin.d.ts +0 -21
  408. package/dist/agents/plugins/deepagents.plugin.d.ts.map +0 -1
  409. package/dist/agents/plugins/deepagents.plugin.js +0 -104
  410. package/dist/agents/plugins/deepagents.plugin.js.map +0 -1
  411. package/dist/agents/plugins/gemini.metrics.d.ts +0 -99
  412. package/dist/agents/plugins/gemini.metrics.d.ts.map +0 -1
  413. package/dist/agents/plugins/gemini.metrics.js +0 -475
  414. package/dist/agents/plugins/gemini.metrics.js.map +0 -1
  415. package/dist/agents/plugins/gemini.plugin.d.ts +0 -16
  416. package/dist/agents/plugins/gemini.plugin.d.ts.map +0 -1
  417. package/dist/agents/plugins/gemini.plugin.js +0 -80
  418. package/dist/agents/plugins/gemini.plugin.js.map +0 -1
  419. package/dist/agents/plugins/history-parser.d.ts +0 -52
  420. package/dist/agents/plugins/history-parser.d.ts.map +0 -1
  421. package/dist/agents/plugins/history-parser.js +0 -155
  422. package/dist/agents/plugins/history-parser.js.map +0 -1
  423. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts +0 -28
  424. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.d.ts.map +0 -1
  425. package/dist/providers/plugins/sso/metrics/sync/sso.jsonl-writer.js.map +0 -1
  426. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts +0 -62
  427. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.d.ts.map +0 -1
  428. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js +0 -157
  429. package/dist/providers/plugins/sso/metrics/sync/sso.lifecycle-handler.js.map +0 -1
  430. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.d.ts.map +0 -1
  431. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-aggregator.js.map +0 -1
  432. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts +0 -32
  433. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.d.ts.map +0 -1
  434. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js +0 -159
  435. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-api-client.js.map +0 -1
  436. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.d.ts.map +0 -1
  437. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-post-processor.js.map +0 -1
  438. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.d.ts.map +0 -1
  439. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sender.js.map +0 -1
  440. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts +0 -36
  441. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.d.ts.map +0 -1
  442. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-sync.plugin.js.map +0 -1
  443. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.d.ts.map +0 -1
  444. package/dist/providers/plugins/sso/metrics/sync/sso.metrics-types.js.map +0 -1
  445. package/dist/utils/config-loader.d.ts.map +0 -1
  446. package/dist/utils/config-loader.js.map +0 -1
  447. package/dist/utils/credential-store.d.ts +0 -22
  448. package/dist/utils/credential-store.d.ts.map +0 -1
  449. package/dist/utils/credential-store.js +0 -165
  450. package/dist/utils/credential-store.js.map +0 -1
  451. package/dist/utils/dirname.d.ts +0 -7
  452. package/dist/utils/dirname.d.ts.map +0 -1
  453. package/dist/utils/dirname.js +0 -11
  454. package/dist/utils/dirname.js.map +0 -1
  455. package/dist/utils/error-context.d.ts +0 -90
  456. package/dist/utils/error-context.d.ts.map +0 -1
  457. package/dist/utils/error-context.js +0 -338
  458. package/dist/utils/error-context.js.map +0 -1
  459. package/dist/utils/first-time.d.ts.map +0 -1
  460. package/dist/utils/first-time.js.map +0 -1
  461. package/dist/utils/git.d.ts +0 -13
  462. package/dist/utils/git.d.ts.map +0 -1
  463. package/dist/utils/git.js +0 -37
  464. package/dist/utils/git.js.map +0 -1
  465. package/dist/utils/installation-id.d.ts +0 -10
  466. package/dist/utils/installation-id.d.ts.map +0 -1
  467. package/dist/utils/installation-id.js +0 -30
  468. package/dist/utils/installation-id.js.map +0 -1
  469. package/dist/utils/json-parser.d.ts.map +0 -1
  470. package/dist/utils/json-parser.js.map +0 -1
  471. package/dist/utils/npm.d.ts.map +0 -1
  472. package/dist/utils/npm.js.map +0 -1
  473. package/dist/utils/path-utils.d.ts.map +0 -1
  474. package/dist/utils/path-utils.js.map +0 -1
  475. package/dist/utils/profile-display.d.ts.map +0 -1
  476. package/dist/utils/profile-display.js.map +0 -1
  477. package/dist/utils/sanitize.d.ts +0 -28
  478. package/dist/utils/sanitize.d.ts.map +0 -1
  479. package/dist/utils/sanitize.js +0 -212
  480. package/dist/utils/sanitize.js.map +0 -1
  481. package/dist/utils/which.d.ts +0 -20
  482. package/dist/utils/which.d.ts.map +0 -1
  483. package/dist/utils/which.js +0 -54
  484. package/dist/utils/which.js.map +0 -1
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Gemini Metrics Processor
3
+ *
4
+ * Transforms Gemini session messages into metric deltas.
5
+ *
6
+ * Key differences from Claude:
7
+ * - Messages have direct `type` field ('user' | 'gemini'), not nested `message.role`
8
+ * - Content is a string, not an array of content blocks
9
+ * - Tokens are in `tokens` object with 5 fields: input, output, cached, thoughts, tool
10
+ * - Tool calls are self-contained in `toolCalls` array (not separate tool_use/tool_result messages)
11
+ */
12
+ import { logger } from '../../../../../utils/logger.js';
13
+ import { extractFormat, detectLanguage } from '../../../../../utils/file-operations.js';
14
+ export class GeminiMetricsProcessor {
15
+ name = 'gemini-metrics';
16
+ priority = 1; // Run first
17
+ shouldProcess(session) {
18
+ return session.messages && session.messages.length > 0;
19
+ }
20
+ async process(session, context) {
21
+ try {
22
+ return await this.processMessages(session, context);
23
+ }
24
+ catch (error) {
25
+ logger.error(`[${this.name}] Processing failed:`, error);
26
+ return {
27
+ success: false,
28
+ message: error instanceof Error ? error.message : 'Unknown error'
29
+ };
30
+ }
31
+ }
32
+ /**
33
+ * Transform ParsedSession.messages to deltas and write to JSONL
34
+ */
35
+ async processMessages(session, _context) {
36
+ try {
37
+ logger.info(`[${this.name}] Transforming ${session.messages.length} messages to deltas`);
38
+ const deltas = this.transformMessagesToDeltas(session);
39
+ if (deltas.length === 0) {
40
+ logger.debug(`[${this.name}] No deltas generated from messages`);
41
+ return { success: true, message: 'No deltas generated', metadata: { recordsProcessed: 0 } };
42
+ }
43
+ const { MetricsWriter } = await import('../../../../../providers/plugins/sso/session/processors/metrics/MetricsWriter.js');
44
+ const writer = new MetricsWriter(session.sessionId);
45
+ for (const delta of deltas) {
46
+ await writer.appendDelta(delta);
47
+ }
48
+ logger.info(`[${this.name}] Generated and wrote ${deltas.length} deltas`);
49
+ return {
50
+ success: true,
51
+ message: `Generated ${deltas.length} deltas`,
52
+ metadata: { recordsProcessed: deltas.length }
53
+ };
54
+ }
55
+ catch (error) {
56
+ logger.error(`[${this.name}] Failed to process messages:`, error);
57
+ return {
58
+ success: false,
59
+ message: error instanceof Error ? error.message : 'Unknown error'
60
+ };
61
+ }
62
+ }
63
+ /**
64
+ * Transform Gemini messages to deltas
65
+ */
66
+ transformMessagesToDeltas(session) {
67
+ const deltas = [];
68
+ const messages = session.messages;
69
+ // Track user prompts for attaching to assistant responses
70
+ let lastUserPrompt = null;
71
+ for (const msg of messages) {
72
+ // Track user prompts
73
+ if (msg.type === 'user') {
74
+ lastUserPrompt = msg.content;
75
+ continue; // User messages don't generate deltas
76
+ }
77
+ // Process assistant (gemini) messages
78
+ if (msg.type === 'gemini') {
79
+ const delta = {
80
+ recordId: msg.id, // Use message ID as recordId
81
+ sessionId: session.sessionId,
82
+ agentSessionId: session.agentSessionId || session.sessionId, // Fall back to CodeMie sessionId if no agent session
83
+ timestamp: new Date(msg.timestamp).getTime(),
84
+ gitBranch: undefined, // Gemini doesn't track git branch per message
85
+ // Token usage (from msg.tokens)
86
+ tokens: {
87
+ input: msg.tokens?.input || 0,
88
+ output: msg.tokens?.output || 0,
89
+ cacheRead: msg.tokens?.cached || 0, // Gemini's 'cached' maps to 'cacheRead'
90
+ cacheCreation: 0 // Not available in Gemini
91
+ },
92
+ // Required field - initialize as empty, populate if tools exist
93
+ tools: {}
94
+ };
95
+ // Add model if available (as array)
96
+ if (msg.model) {
97
+ delta.models = [msg.model];
98
+ }
99
+ // Extract tool usage from toolCalls
100
+ if (msg.toolCalls && msg.toolCalls.length > 0) {
101
+ const toolStatus = {};
102
+ const fileOperations = [];
103
+ for (const tool of msg.toolCalls) {
104
+ // Count tool usage (populate directly on delta.tools)
105
+ delta.tools[tool.name] = (delta.tools[tool.name] || 0) + 1;
106
+ // Track success/failure
107
+ if (!toolStatus[tool.name]) {
108
+ toolStatus[tool.name] = { success: 0, failure: 0 };
109
+ }
110
+ if (tool.status === 'success') {
111
+ toolStatus[tool.name].success++;
112
+ // Extract file operations for successful tool calls
113
+ const fileOp = this.extractFileOperation(tool.name, tool.args, tool.result);
114
+ if (fileOp) {
115
+ fileOperations.push(fileOp);
116
+ }
117
+ }
118
+ else if (tool.status === 'error') {
119
+ toolStatus[tool.name].failure++;
120
+ }
121
+ }
122
+ // Add toolStatus if we have any
123
+ if (Object.keys(toolStatus).length > 0) {
124
+ delta.toolStatus = toolStatus;
125
+ }
126
+ // Add file operations if we have any
127
+ if (fileOperations.length > 0) {
128
+ delta.fileOperations = fileOperations;
129
+ }
130
+ }
131
+ // Attach user prompt if available
132
+ if (lastUserPrompt) {
133
+ delta.userPrompts = [{
134
+ count: 1,
135
+ text: lastUserPrompt
136
+ }];
137
+ }
138
+ deltas.push(delta);
139
+ // Clear last user prompt after attaching
140
+ lastUserPrompt = null;
141
+ }
142
+ }
143
+ return deltas;
144
+ }
145
+ /**
146
+ * Extract file operation from Gemini tool call
147
+ */
148
+ extractFileOperation(toolName, args, result) {
149
+ const typeMap = {
150
+ 'write_file': 'write',
151
+ 'Write': 'write',
152
+ 'replace': 'edit',
153
+ 'edit_file': 'edit',
154
+ 'Edit': 'edit',
155
+ 'read_file': 'read',
156
+ 'Read': 'read',
157
+ 'delete_file': 'delete'
158
+ };
159
+ const type = typeMap[toolName];
160
+ if (!type)
161
+ return undefined;
162
+ const fileOp = { type };
163
+ const filePath = args.file_path;
164
+ if (filePath) {
165
+ fileOp.path = filePath;
166
+ fileOp.format = extractFormat(filePath);
167
+ fileOp.language = detectLanguage(filePath);
168
+ }
169
+ // Calculate line counts from tool arguments
170
+ if (toolName === 'write_file' || toolName === 'Write') {
171
+ const content = args.content;
172
+ if (content) {
173
+ const lines = content.split('\n');
174
+ fileOp.linesAdded = lines.length;
175
+ }
176
+ }
177
+ // For edit operations, try to extract line counts from result
178
+ // Note: Gemini result structure may vary, add defensive checks
179
+ if ((toolName === 'replace' || toolName === 'edit_file' || toolName === 'Edit') && result) {
180
+ const output = result[0]?.functionResponse?.response?.output;
181
+ if (typeof output === 'object' && output !== null) {
182
+ if (output.linesAdded !== undefined) {
183
+ fileOp.linesAdded = output.linesAdded;
184
+ }
185
+ if (output.linesRemoved !== undefined) {
186
+ fileOp.linesRemoved = output.linesRemoved;
187
+ }
188
+ }
189
+ }
190
+ return fileOp;
191
+ }
192
+ }
193
+ //# sourceMappingURL=gemini.metrics-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.metrics-processor.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/gemini/session/processors/gemini.metrics-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Token aggregation for Gemini conversations
3
+ *
4
+ * Aggregates token usage across multiple Gemini messages in a single turn.
5
+ *
6
+ * Gemini Token Mapping:
7
+ * - input_tokens: msg[0].tokens.input (first gemini message)
8
+ * - output_tokens: SUM(all msg.tokens.output)
9
+ * - cache_read_input_tokens: msg[last].tokens.cached
10
+ * - cache_creation_input_tokens: 0 (not tracked by Gemini)
11
+ */
12
+ import type { GeminiMessage } from './turn-detector.js';
13
+ export interface TokenUsage {
14
+ input_tokens: number;
15
+ output_tokens: number;
16
+ cache_read_input_tokens: number;
17
+ cache_creation_input_tokens: number;
18
+ }
19
+ /**
20
+ * Aggregates token usage from multiple Gemini messages in a turn
21
+ *
22
+ * @param geminiMessages - All Gemini messages in the turn
23
+ * @returns Aggregated token usage
24
+ */
25
+ export declare function aggregateTokens(geminiMessages: GeminiMessage[]): TokenUsage;
26
+ //# sourceMappingURL=token-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-aggregator.d.ts","sourceRoot":"","sources":["../../../../../../src/agents/plugins/gemini/session/utils/token-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,UAAU,CAyB3E"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Token aggregation for Gemini conversations
3
+ *
4
+ * Aggregates token usage across multiple Gemini messages in a single turn.
5
+ *
6
+ * Gemini Token Mapping:
7
+ * - input_tokens: msg[0].tokens.input (first gemini message)
8
+ * - output_tokens: SUM(all msg.tokens.output)
9
+ * - cache_read_input_tokens: msg[last].tokens.cached
10
+ * - cache_creation_input_tokens: 0 (not tracked by Gemini)
11
+ */
12
+ /**
13
+ * Aggregates token usage from multiple Gemini messages in a turn
14
+ *
15
+ * @param geminiMessages - All Gemini messages in the turn
16
+ * @returns Aggregated token usage
17
+ */
18
+ export function aggregateTokens(geminiMessages) {
19
+ if (geminiMessages.length === 0) {
20
+ return {
21
+ input_tokens: 0,
22
+ output_tokens: 0,
23
+ cache_read_input_tokens: 0,
24
+ cache_creation_input_tokens: 0
25
+ };
26
+ }
27
+ const first = geminiMessages[0];
28
+ const last = geminiMessages[geminiMessages.length - 1];
29
+ // Sum output tokens across all messages
30
+ const totalOutput = geminiMessages.reduce((sum, msg) => sum + (msg.tokens?.output || 0), 0);
31
+ return {
32
+ input_tokens: first.tokens?.input || 0,
33
+ output_tokens: totalOutput,
34
+ cache_read_input_tokens: last.tokens?.cached || 0,
35
+ cache_creation_input_tokens: 0 // Not tracked by Gemini
36
+ };
37
+ }
38
+ //# sourceMappingURL=token-aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-aggregator.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/gemini/session/utils/token-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,cAA+B;IAC7D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,uBAAuB,EAAE,CAAC;YAC1B,2BAA2B,EAAE,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvD,wCAAwC;IACxC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,EAC7C,CAAC,CACF,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC;QACtC,aAAa,EAAE,WAAW;QAC1B,uBAAuB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QACjD,2BAA2B,EAAE,CAAC,CAAC,wBAAwB;KACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Tool call extraction for Gemini conversations
3
+ *
4
+ * Extracts tool calls from Gemini's nested structure and transforms them
5
+ * into the standard thought format used by conversation history.
6
+ *
7
+ * Gemini Tool Structure:
8
+ * toolCall.result[0].functionResponse.response.output
9
+ */
10
+ import type { GeminiMessage } from './turn-detector.js';
11
+ export interface ToolThought {
12
+ id: string;
13
+ metadata: {
14
+ timestamp: string;
15
+ displayName?: string;
16
+ };
17
+ in_progress: boolean;
18
+ input_text: string;
19
+ message: string;
20
+ author_type: 'Tool';
21
+ author_name: string;
22
+ output_format: 'text';
23
+ error: boolean;
24
+ children: unknown[];
25
+ }
26
+ /**
27
+ * Extracts tool thoughts from Gemini messages in a turn
28
+ *
29
+ * @param geminiMessages - All Gemini messages in the turn
30
+ * @returns Array of tool thoughts in standard format
31
+ */
32
+ export declare function extractToolThoughts(geminiMessages: GeminiMessage[]): ToolThought[];
33
+ //# sourceMappingURL=tool-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-aggregator.d.ts","sourceRoot":"","sources":["../../../../../../src/agents/plugins/gemini/session/utils/tool-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AAExE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAsBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CA4BlF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Tool call extraction for Gemini conversations
3
+ *
4
+ * Extracts tool calls from Gemini's nested structure and transforms them
5
+ * into the standard thought format used by conversation history.
6
+ *
7
+ * Gemini Tool Structure:
8
+ * toolCall.result[0].functionResponse.response.output
9
+ */
10
+ /**
11
+ * Extracts the result from a tool call's nested structure
12
+ *
13
+ * @param toolCall - Gemini tool call with nested result
14
+ * @returns Extracted result as string
15
+ */
16
+ function extractToolResult(toolCall) {
17
+ const output = toolCall.result?.[0]?.functionResponse?.response?.output;
18
+ if (typeof output === 'string') {
19
+ return output;
20
+ }
21
+ if (typeof output === 'object' && output !== null) {
22
+ return JSON.stringify(output, null, 2);
23
+ }
24
+ return ''; // No result available
25
+ }
26
+ /**
27
+ * Extracts tool thoughts from Gemini messages in a turn
28
+ *
29
+ * @param geminiMessages - All Gemini messages in the turn
30
+ * @returns Array of tool thoughts in standard format
31
+ */
32
+ export function extractToolThoughts(geminiMessages) {
33
+ const thoughts = [];
34
+ for (const msg of geminiMessages) {
35
+ if (!msg.toolCalls || msg.toolCalls.length === 0) {
36
+ continue;
37
+ }
38
+ for (const toolCall of msg.toolCalls) {
39
+ thoughts.push({
40
+ id: toolCall.id,
41
+ metadata: {
42
+ timestamp: toolCall.timestamp,
43
+ displayName: toolCall.displayName
44
+ },
45
+ in_progress: false,
46
+ input_text: JSON.stringify(toolCall.args),
47
+ message: extractToolResult(toolCall),
48
+ author_type: 'Tool',
49
+ author_name: toolCall.name,
50
+ output_format: 'text',
51
+ error: toolCall.status === 'error',
52
+ children: []
53
+ });
54
+ }
55
+ }
56
+ return thoughts;
57
+ }
58
+ //# sourceMappingURL=tool-aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-aggregator.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/gemini/session/utils/tool-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,QAAwB;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC;IAExE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,EAAE,CAAC,CAAC,sBAAsB;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAA+B;IACjE,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,QAAQ,EAAE;oBACR,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;iBAClC;gBACD,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACzC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC;gBACpC,WAAW,EAAE,MAAM;gBACnB,WAAW,EAAE,QAAQ,CAAC,IAAI;gBAC1B,aAAa,EAAE,MAAM;gBACrB,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,OAAO;gBAClC,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Turn detection for Gemini conversations
3
+ *
4
+ * Detects turn boundaries in Gemini message history:
5
+ * - Turn starts with: type === 'user'
6
+ * - Turn ends at: next 'user' OR 'error'/'info'/'warning' OR EOF
7
+ */
8
+ export interface GeminiMessage {
9
+ id: string;
10
+ type: 'user' | 'gemini' | 'error' | 'info' | 'warning';
11
+ timestamp: string;
12
+ content: string;
13
+ toolCalls?: GeminiToolCall[];
14
+ tokens?: {
15
+ input: number;
16
+ output: number;
17
+ cached: number;
18
+ thoughts: number;
19
+ tool: number;
20
+ };
21
+ model?: string;
22
+ }
23
+ export interface GeminiToolCall {
24
+ id: string;
25
+ name: string;
26
+ args: Record<string, unknown>;
27
+ result?: Array<{
28
+ functionResponse?: {
29
+ response?: {
30
+ output?: string | Record<string, unknown>;
31
+ };
32
+ };
33
+ }>;
34
+ status: 'success' | 'error';
35
+ timestamp: string;
36
+ displayName?: string;
37
+ }
38
+ export interface TurnBoundary {
39
+ startIndex: number;
40
+ endIndex: number;
41
+ userMessage: GeminiMessage;
42
+ geminiMessages: GeminiMessage[];
43
+ systemMessages: GeminiMessage[];
44
+ }
45
+ /**
46
+ * Detects turn boundaries in Gemini message history
47
+ *
48
+ * Algorithm:
49
+ * 1. Iterate through messages
50
+ * 2. When encountering 'user' message:
51
+ * - Close previous turn (if exists)
52
+ * - Start new turn
53
+ * 3. When encountering system message:
54
+ * - Close current turn (if exists)
55
+ * - Don't start new turn (system messages are standalone)
56
+ * 4. At EOF, close any open turn
57
+ *
58
+ * @param messages - Array of Gemini messages
59
+ * @returns Array of turn boundaries
60
+ */
61
+ export declare function detectTurns(messages: GeminiMessage[]): TurnBoundary[];
62
+ /**
63
+ * Filters messages to only include those after the last synced message
64
+ *
65
+ * @param messages - All messages
66
+ * @param lastSyncedId - ID of last processed message (null for first sync)
67
+ * @returns Messages that haven't been processed yet
68
+ */
69
+ export declare function filterNewMessages(messages: GeminiMessage[], lastSyncedId: string | null): GeminiMessage[];
70
+ //# sourceMappingURL=turn-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-detector.d.ts","sourceRoot":"","sources":["../../../../../../src/agents/plugins/gemini/session/utils/turn-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,gBAAgB,CAAC,EAAE;YACjB,QAAQ,CAAC,EAAE;gBACT,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aAC3C,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IACH,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CA6BrE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EAAE,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,aAAa,EAAE,CAajB"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Turn detection for Gemini conversations
3
+ *
4
+ * Detects turn boundaries in Gemini message history:
5
+ * - Turn starts with: type === 'user'
6
+ * - Turn ends at: next 'user' OR 'error'/'info'/'warning' OR EOF
7
+ */
8
+ /**
9
+ * Checks if a message is a system message (error, info, warning)
10
+ */
11
+ function isSystemMessage(msg) {
12
+ return msg.type === 'error' || msg.type === 'info' || msg.type === 'warning';
13
+ }
14
+ /**
15
+ * Extracts a single turn from a range of messages
16
+ */
17
+ function extractTurn(messages, startIndex, endIndex) {
18
+ const turnMessages = messages.slice(startIndex, endIndex + 1);
19
+ return {
20
+ startIndex,
21
+ endIndex,
22
+ userMessage: turnMessages[0], // Must be user
23
+ geminiMessages: turnMessages.filter(m => m.type === 'gemini'),
24
+ systemMessages: turnMessages.filter(m => isSystemMessage(m))
25
+ };
26
+ }
27
+ /**
28
+ * Detects turn boundaries in Gemini message history
29
+ *
30
+ * Algorithm:
31
+ * 1. Iterate through messages
32
+ * 2. When encountering 'user' message:
33
+ * - Close previous turn (if exists)
34
+ * - Start new turn
35
+ * 3. When encountering system message:
36
+ * - Close current turn (if exists)
37
+ * - Don't start new turn (system messages are standalone)
38
+ * 4. At EOF, close any open turn
39
+ *
40
+ * @param messages - Array of Gemini messages
41
+ * @returns Array of turn boundaries
42
+ */
43
+ export function detectTurns(messages) {
44
+ const turns = [];
45
+ let currentTurnStart = null;
46
+ for (let i = 0; i < messages.length; i++) {
47
+ const msg = messages[i];
48
+ // Turn start: user message
49
+ if (msg.type === 'user') {
50
+ // Close previous turn if exists
51
+ if (currentTurnStart !== null) {
52
+ turns.push(extractTurn(messages, currentTurnStart, i - 1));
53
+ }
54
+ currentTurnStart = i;
55
+ }
56
+ // Turn end: system message
57
+ if (isSystemMessage(msg) && currentTurnStart !== null) {
58
+ turns.push(extractTurn(messages, currentTurnStart, i));
59
+ currentTurnStart = null;
60
+ }
61
+ }
62
+ // Close final turn if exists
63
+ if (currentTurnStart !== null) {
64
+ turns.push(extractTurn(messages, currentTurnStart, messages.length - 1));
65
+ }
66
+ return turns;
67
+ }
68
+ /**
69
+ * Filters messages to only include those after the last synced message
70
+ *
71
+ * @param messages - All messages
72
+ * @param lastSyncedId - ID of last processed message (null for first sync)
73
+ * @returns Messages that haven't been processed yet
74
+ */
75
+ export function filterNewMessages(messages, lastSyncedId) {
76
+ if (!lastSyncedId) {
77
+ return messages; // First sync, process all
78
+ }
79
+ const lastSyncedIndex = messages.findIndex(m => m.id === lastSyncedId);
80
+ if (lastSyncedIndex === -1) {
81
+ // Last synced message not found, process all (with warning logged by caller)
82
+ return messages;
83
+ }
84
+ return messages.slice(lastSyncedIndex + 1);
85
+ }
86
+ //# sourceMappingURL=turn-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-detector.js","sourceRoot":"","sources":["../../../../../../src/agents/plugins/gemini/session/utils/turn-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0CH;;GAEG;AACH,SAAS,eAAe,CAAC,GAAkB;IACzC,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,QAAyB,EAAE,UAAkB,EAAE,QAAgB;IAClF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,UAAU;QACV,QAAQ;QACR,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,eAAe;QAC7C,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC7D,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,QAAyB;IACnD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAExB,2BAA2B;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,gCAAgC;YAChC,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,gBAAgB,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,2BAA2B;QAC3B,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAyB,EACzB,YAA2B;IAE3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC,CAAC,0BAA0B;IAC7C,CAAC;IAED,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IAEvE,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,6EAA6E;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -6,8 +6,13 @@ export { BUILTIN_AGENT_NAME } from './plugins/codemie-code.plugin.js';
6
6
  * Uses plugin-based architecture for easy extensibility
7
7
  */
8
8
  export declare class AgentRegistry {
9
- private static adapters;
10
- private static analyticsAdapters;
9
+ private static readonly adapters;
10
+ private static readonly analyticsAdapters;
11
+ private static initialized;
12
+ /**
13
+ * Lazy initialization - registers all plugins on first access
14
+ */
15
+ private static initialize;
11
16
  /**
12
17
  * Register a plugin and its analytics adapter (if available)
13
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwC;IAC/D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAiD;IAWjF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIvD,MAAM,CAAC,YAAY,IAAI,YAAY,EAAE;IAIrC,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;WAInB,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAU1D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIhF;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,qBAAqB,EAAE;CAG1D"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAiD;IAC1F,OAAO,CAAC,MAAM,CAAC,WAAW,CAAS;IAEnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAYzB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKvD,MAAM,CAAC,YAAY,IAAI,YAAY,EAAE;IAKrC,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;WAKnB,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAW1D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAKhF;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,qBAAqB,EAAE;CAI1D"}
@@ -1,8 +1,6 @@
1
- import { ClaudePlugin } from './plugins/claude.plugin.js';
2
- import { CodexPlugin } from './plugins/codex.plugin.js';
1
+ import { ClaudePlugin } from './plugins/claude/claude.plugin.js';
3
2
  import { CodeMieCodePlugin } from './plugins/codemie-code.plugin.js';
4
- import { GeminiPlugin } from './plugins/gemini.plugin.js';
5
- import { DeepAgentsPlugin } from './plugins/deepagents.plugin.js';
3
+ import { GeminiPlugin } from './plugins/gemini/gemini.plugin.js';
6
4
  export { BUILTIN_AGENT_NAME } from './plugins/codemie-code.plugin.js';
7
5
  /**
8
6
  * Central registry for all agents
@@ -11,13 +9,18 @@ export { BUILTIN_AGENT_NAME } from './plugins/codemie-code.plugin.js';
11
9
  export class AgentRegistry {
12
10
  static adapters = new Map();
13
11
  static analyticsAdapters = new Map();
14
- static {
15
- // Initialize plugin-based adapters
12
+ static initialized = false;
13
+ /**
14
+ * Lazy initialization - registers all plugins on first access
15
+ */
16
+ static initialize() {
17
+ if (AgentRegistry.initialized) {
18
+ return;
19
+ }
16
20
  AgentRegistry.registerPlugin(new CodeMieCodePlugin());
17
21
  AgentRegistry.registerPlugin(new ClaudePlugin());
18
- AgentRegistry.registerPlugin(new CodexPlugin());
19
22
  AgentRegistry.registerPlugin(new GeminiPlugin());
20
- AgentRegistry.registerPlugin(new DeepAgentsPlugin());
23
+ AgentRegistry.initialized = true;
21
24
  }
22
25
  /**
23
26
  * Register a plugin and its analytics adapter (if available)
@@ -31,15 +34,19 @@ export class AgentRegistry {
31
34
  }
32
35
  }
33
36
  static getAgent(name) {
37
+ AgentRegistry.initialize();
34
38
  return AgentRegistry.adapters.get(name);
35
39
  }
36
40
  static getAllAgents() {
41
+ AgentRegistry.initialize();
37
42
  return Array.from(AgentRegistry.adapters.values());
38
43
  }
39
44
  static getAgentNames() {
45
+ AgentRegistry.initialize();
40
46
  return Array.from(AgentRegistry.adapters.keys());
41
47
  }
42
48
  static async getInstalledAgents() {
49
+ AgentRegistry.initialize();
43
50
  const agents = [];
44
51
  for (const adapter of AgentRegistry.adapters.values()) {
45
52
  if (await adapter.isInstalled()) {
@@ -52,12 +59,14 @@ export class AgentRegistry {
52
59
  * Get analytics adapter for a specific agent
53
60
  */
54
61
  static getAnalyticsAdapter(agentName) {
62
+ AgentRegistry.initialize();
55
63
  return AgentRegistry.analyticsAdapters.get(agentName);
56
64
  }
57
65
  /**
58
66
  * Get all registered analytics adapters
59
67
  */
60
68
  static getAllAnalyticsAdapters() {
69
+ AgentRegistry.initialize();
61
70
  return Array.from(AgentRegistry.analyticsAdapters.values());
62
71
  }
63
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAC,QAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IACvD,MAAM,CAAC,iBAAiB,GAAuC,IAAI,GAAG,EAAE,CAAC;IAEjF;QACE,mCAAmC;QACnC,aAAa,CAAC,cAAc,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QACtD,aAAa,CAAC,cAAc,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACjD,aAAa,CAAC,cAAc,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAChD,aAAa,CAAC,cAAc,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACjD,aAAa,CAAC,cAAc,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,cAAc,CAAC,MAAoB;QAChD,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEhD,0DAA0D;QAC1D,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAC;QAC1C,IAAI,QAAQ,EAAE,gBAAgB,EAAE,CAAC;YAC/B,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB;QAC7B,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAiB;QAC1C,OAAO,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAU,QAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IAChE,MAAM,CAAU,iBAAiB,GAAuC,IAAI,GAAG,EAAE,CAAC;IAClF,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;IAEnC;;OAEG;IACK,MAAM,CAAC,UAAU;QACvB,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,aAAa,CAAC,cAAc,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QACtD,aAAa,CAAC,cAAc,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACjD,aAAa,CAAC,cAAc,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAEjD,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,cAAc,CAAC,MAAoB;QAChD,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEhD,0DAA0D;QAC1D,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAC;QAC1C,IAAI,QAAQ,EAAE,gBAAgB,EAAE,CAAC;YAC/B,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB;QAC7B,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAiB;QAC1C,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC"}