@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
@@ -1,19 +1,18 @@
1
- import * as npm from '../../utils/npm.js';
1
+ import * as npm from '../../utils/processes.js';
2
2
  import { NpmError } from '../../utils/errors.js';
3
- import { exec } from '../../utils/exec.js';
3
+ import { exec } from '../../utils/processes.js';
4
4
  import { logger } from '../../utils/logger.js';
5
5
  import { spawn } from 'child_process';
6
6
  import { randomUUID } from 'crypto';
7
- import { CodeMieProxy } from '../../providers/plugins/sso/proxy/sso.proxy.js';
8
- import { ProviderRegistry } from '../../providers/core/registry.js';
9
- import { MetricsOrchestrator } from './metrics/MetricsOrchestrator.js';
7
+ import { CodeMieProxy } from '../../providers/plugins/sso/index.js';
8
+ import { ProviderRegistry } from '../../providers/index.js';
10
9
  import { getRandomWelcomeMessage, getRandomGoodbyeMessage } from '../../utils/goodbye-messages.js';
11
10
  import { renderProfileInfo } from '../../utils/profile.js';
12
11
  import chalk from 'chalk';
13
12
  import { existsSync } from 'fs';
14
13
  import { mkdir, writeFile } from 'fs/promises';
15
14
  import { join } from 'path';
16
- import { resolveHomeDir } from '../../utils/path-utils.js';
15
+ import { resolveHomeDir } from '../../utils/paths.js';
17
16
  import { executeOnSessionStart, executeBeforeRun, executeEnrichArgs, executeOnSessionEnd, executeAfterRun } from './lifecycle-helpers.js';
18
17
  /**
19
18
  * Base class for all agent adapters
@@ -22,17 +21,9 @@ import { executeOnSessionStart, executeBeforeRun, executeEnrichArgs, executeOnSe
22
21
  export class BaseAgentAdapter {
23
22
  metadata;
24
23
  proxy = null;
25
- metricsOrchestrator = null;
26
24
  constructor(metadata) {
27
25
  this.metadata = metadata;
28
26
  }
29
- /**
30
- * Get metrics adapter for this agent (optional)
31
- * Override in agent plugin if metrics collection is supported
32
- */
33
- getMetricsAdapter() {
34
- return null;
35
- }
36
27
  /**
37
28
  * Get metrics configuration for this agent
38
29
  * Used by post-processor to filter/sanitize metrics
@@ -92,7 +83,7 @@ export class BaseAgentAdapter {
92
83
  }
93
84
  try {
94
85
  // Use commandExists which handles Windows (where) vs Unix (which)
95
- const { commandExists } = await import('../../utils/which.js');
86
+ const { commandExists } = await import('../../utils/processes.js');
96
87
  return await commandExists(this.metadata.cliCommand);
97
88
  }
98
89
  catch {
@@ -131,25 +122,6 @@ export class BaseAgentAdapter {
131
122
  // Initialize logger with session ID
132
123
  const { logger } = await import('../../utils/logger.js');
133
124
  logger.setSessionId(sessionId);
134
- // Setup metrics orchestrator with the session ID
135
- // Only create if metrics are enabled for the provider
136
- const metricsAdapter = this.getMetricsAdapter();
137
- if (metricsAdapter && env.CODEMIE_PROVIDER) {
138
- const { METRICS_CONFIG } = await import('./metrics-config.js');
139
- // Check if metrics are enabled for this provider before creating orchestrator
140
- if (METRICS_CONFIG.enabled(env.CODEMIE_PROVIDER)) {
141
- this.metricsOrchestrator = new MetricsOrchestrator({
142
- agentName: this.metadata.name,
143
- provider: env.CODEMIE_PROVIDER,
144
- project: env.CODEMIE_PROJECT,
145
- workingDirectory: process.cwd(),
146
- metricsAdapter,
147
- sessionId // Pass the session ID explicitly
148
- });
149
- // Take pre-spawn snapshot
150
- await this.metricsOrchestrator.beforeAgentSpawn();
151
- }
152
- }
153
125
  // Setup proxy with the session ID (already in env)
154
126
  await this.setupProxy(env);
155
127
  // Lifecycle hook: session start (provider-aware)
@@ -173,28 +145,17 @@ export class BaseAgentAdapter {
173
145
  // Show random welcome message
174
146
  console.log(chalk.cyan.bold(getRandomWelcomeMessage()));
175
147
  console.log(''); // Empty line for spacing
176
- // Display metrics initialization errors (non-blocking)
177
- if (this.metricsOrchestrator?.hasInitializationError()) {
178
- const metricsError = this.metricsOrchestrator.getInitializationError();
179
- if (metricsError) {
180
- const { displayWarningMessage } = await import('../../utils/profile.js');
181
- displayWarningMessage('Metrics Collection Disabled', metricsError, {
182
- sessionId,
183
- agent: this.metadata.name,
184
- provider,
185
- model,
186
- profile: profileName
187
- }, { severity: 'warning' });
188
- }
189
- }
190
148
  // Transform CODEMIE_* → agent-specific env vars (based on envMapping)
191
149
  env = this.transformEnvVars(env);
192
150
  // Lifecycle hook: beforeRun (provider-aware)
193
151
  // Can override or extend env transformations, setup config files
194
152
  env = await executeBeforeRun(this, this.metadata.lifecycle, this.metadata.name, env, this.extractConfig(env));
153
+ // Merge modified env back into process.env
154
+ // This ensures enrichArgs hook can access variables set by beforeRun
155
+ Object.assign(process.env, env);
195
156
  // Lifecycle hook: enrichArgs (provider-aware)
196
157
  // Enrich args with agent-specific defaults (e.g., --profile, --model)
197
- // Must run AFTER beforeRun so env vars like CODEMIE_CODEX_PROFILE are available
158
+ // Must run AFTER beforeRun so env vars are available
198
159
  let enrichedArgs = await executeEnrichArgs(this.metadata.lifecycle, this.metadata.name, args, this.extractConfig(env));
199
160
  // Apply argument transformations using declarative flagMappings
200
161
  let transformedArgs;
@@ -264,7 +225,7 @@ export class BaseAgentAdapter {
264
225
  let commandPath = this.metadata.cliCommand;
265
226
  // Resolve full path on Windows to avoid using shell: true
266
227
  if (isWindows) {
267
- const { getCommandPath } = await import('../../utils/which.js');
228
+ const { getCommandPath } = await import('../../utils/processes.js');
268
229
  const resolvedPath = await getCommandPath(this.metadata.cliCommand);
269
230
  if (resolvedPath) {
270
231
  commandPath = resolvedPath;
@@ -277,13 +238,6 @@ export class BaseAgentAdapter {
277
238
  shell: isWindows, // Windows requires shell for .cmd/.bat executables
278
239
  windowsHide: isWindows // Hide console window on Windows
279
240
  });
280
- // Take post-spawn snapshot after process starts
281
- if (this.metricsOrchestrator) {
282
- // Don't await - let it run in background
283
- this.metricsOrchestrator.afterAgentSpawn().catch(err => {
284
- logger.error('[MetricsOrchestrator] Post-spawn snapshot failed:', err);
285
- });
286
- }
287
241
  // Define cleanup function for proxy and metrics
288
242
  const cleanup = async () => {
289
243
  if (this.proxy) {
@@ -310,13 +264,9 @@ export class BaseAgentAdapter {
310
264
  // Remove signal handlers to prevent memory leaks
311
265
  process.off('SIGINT', sigintHandler);
312
266
  process.off('SIGTERM', sigtermHandler);
313
- // Finalize metrics with error status
314
- if (this.metricsOrchestrator) {
315
- await this.metricsOrchestrator.onAgentExit(1); // Exit code 1 = spawn error
316
- }
317
267
  // Lifecycle hook: session end (provider-aware)
318
268
  await executeOnSessionEnd(this, this.metadata.lifecycle, this.metadata.name, 1, env);
319
- // Clean up proxy
269
+ // Clean up proxy (triggers final sync)
320
270
  await cleanup();
321
271
  // Lifecycle hook: afterRun (provider-aware)
322
272
  await executeAfterRun(this, this.metadata.lifecycle, this.metadata.name, 1, env);
@@ -330,16 +280,12 @@ export class BaseAgentAdapter {
330
280
  console.log(''); // Empty line for spacing
331
281
  console.log(chalk.yellow('Shutting down...'));
332
282
  // Grace period: wait for any final API calls from the external agent
333
- // Many agents (Claude, Gemini, Codex) send telemetry/session data on shutdown
283
+ // Many agents (Claude, Gemini) send telemetry/session data on shutdown
334
284
  if (this.proxy) {
335
285
  const gracePeriodMs = 2000; // 2 seconds
336
286
  logger.debug(`[${this.displayName}] Waiting ${gracePeriodMs}ms grace period for final API calls...`);
337
287
  await new Promise(resolve => setTimeout(resolve, gracePeriodMs));
338
288
  }
339
- // Finalize metrics on agent exit
340
- if (this.metricsOrchestrator && code !== null) {
341
- await this.metricsOrchestrator.onAgentExit(code);
342
- }
343
289
  // Lifecycle hook: session end (provider-aware)
344
290
  if (code !== null) {
345
291
  await executeOnSessionEnd(this, this.metadata.lifecycle, this.metadata.name, code, env);
@@ -365,13 +311,9 @@ export class BaseAgentAdapter {
365
311
  });
366
312
  }
367
313
  catch (error) {
368
- // Finalize metrics with error status
369
- if (this.metricsOrchestrator) {
370
- await this.metricsOrchestrator.onAgentExit(1); // Exit code 1 = error
371
- }
372
314
  // Lifecycle hook: session end (provider-aware)
373
315
  await executeOnSessionEnd(this, this.metadata.lifecycle, this.metadata.name, 1, env);
374
- // Clean up proxy on error
316
+ // Clean up proxy on error (triggers final sync)
375
317
  if (this.proxy) {
376
318
  await this.proxy.stop();
377
319
  this.proxy = null;
@@ -457,6 +399,8 @@ export class BaseAgentAdapter {
457
399
  */
458
400
  extractConfig(env) {
459
401
  return {
402
+ agent: this.metadata.name, // Add: from metadata
403
+ agentDisplayName: this.metadata.displayName, // Add: from metadata
460
404
  provider: env.CODEMIE_PROVIDER,
461
405
  model: env.CODEMIE_MODEL,
462
406
  baseUrl: env.CODEMIE_BASE_URL,
@@ -569,9 +513,43 @@ export class BaseAgentAdapter {
569
513
  logger.debug(`[${this.displayName}] Created directory: ${dirPath}`);
570
514
  }
571
515
  }
516
+ /**
517
+ * Deep merge two objects
518
+ * Adds new fields from source to target, preserves existing values in target
519
+ *
520
+ * @param target - Existing object
521
+ * @param source - Default/new fields to merge
522
+ * @returns Merged object
523
+ *
524
+ * Rules:
525
+ * - If key doesn't exist in target → add it from source
526
+ * - If key exists and both values are objects → recursively merge
527
+ * - If key exists and value is not an object → keep target value (preserve user data)
528
+ */
529
+ deepMerge(target, source) {
530
+ const result = { ...target };
531
+ for (const key in source) {
532
+ if (!(key in result)) {
533
+ // Key doesn't exist in target → add it from source
534
+ result[key] = source[key];
535
+ }
536
+ else if (typeof result[key] === 'object' &&
537
+ result[key] !== null &&
538
+ !Array.isArray(result[key]) &&
539
+ typeof source[key] === 'object' &&
540
+ source[key] !== null &&
541
+ !Array.isArray(source[key])) {
542
+ // Both are objects (not arrays, not null) → recursive merge
543
+ result[key] = this.deepMerge(result[key], source[key]);
544
+ }
545
+ // Else: key exists → keep existing value (preserve user customization)
546
+ }
547
+ return result;
548
+ }
572
549
  /**
573
550
  * Ensure a JSON file exists with default content
574
551
  * Creates file with proper formatting (2-space indent) if it doesn't exist
552
+ * Updates existing file by merging new fields without overwriting existing values
575
553
  *
576
554
  * @param filePath - Absolute path to file
577
555
  * @param defaultContent - Default content as JavaScript object
@@ -582,13 +560,43 @@ export class BaseAgentAdapter {
582
560
  * { security: { auth: { selectedType: 'api-key' } } }
583
561
  * )
584
562
  * // Creates ~/.gemini/settings.json if missing
563
+ * // Or updates existing file by adding missing fields
585
564
  */
586
565
  async ensureJsonFile(filePath, defaultContent) {
587
566
  if (!existsSync(filePath)) {
567
+ // File doesn't exist → create new file with default content
588
568
  const content = JSON.stringify(defaultContent, null, 2);
589
569
  await writeFile(filePath, content, 'utf-8');
590
570
  logger.debug(`[${this.displayName}] Created file: ${filePath}`);
591
571
  }
572
+ else {
573
+ // File exists → merge new fields with existing content
574
+ try {
575
+ const { readFile } = await import('fs/promises');
576
+ const existingRaw = await readFile(filePath, 'utf-8');
577
+ const existingContent = JSON.parse(existingRaw);
578
+ // Deep merge: add new fields, preserve existing values
579
+ const merged = this.deepMerge(existingContent, defaultContent);
580
+ // Only write if there are changes
581
+ const existingJson = JSON.stringify(existingContent);
582
+ const mergedJson = JSON.stringify(merged);
583
+ if (mergedJson !== existingJson) {
584
+ const content = JSON.stringify(merged, null, 2);
585
+ await writeFile(filePath, content, 'utf-8');
586
+ logger.debug(`[${this.displayName}] Updated file with new fields: ${filePath}`);
587
+ }
588
+ else {
589
+ logger.debug(`[${this.displayName}] File up to date: ${filePath}`);
590
+ }
591
+ }
592
+ catch (error) {
593
+ // If file is corrupted or can't be read, log warning and overwrite with defaults
594
+ logger.warn(`[${this.displayName}] Failed to merge ${filePath}, overwriting with defaults:`, error);
595
+ const content = JSON.stringify(defaultContent, null, 2);
596
+ await writeFile(filePath, content, 'utf-8');
597
+ logger.debug(`[${this.displayName}] Overwrote corrupted file: ${filePath}`);
598
+ }
599
+ }
592
600
  }
593
601
  }
594
602
  //# sourceMappingURL=BaseAgentAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAgentAdapter.js","sourceRoot":"","sources":["../../../src/agents/core/BaseAgentAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAgentAdapter.js","sourceRoot":"","sources":["../../../src/agents/core/BaseAgentAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Base Extension Installer
3
+ *
4
+ * Abstract base class providing common installation logic for agent extensions/plugins.
5
+ * Uses Template Method pattern - subclasses override agent-specific parts.
6
+ *
7
+ * Common logic (~220 lines):
8
+ * - Version detection from manifest JSON
9
+ * - Check if already installed (compare versions)
10
+ * - Copy files recursively from source to target
11
+ * - Verify installation (check critical files, validate JSON)
12
+ * - Return installation result with detailed info
13
+ * - Logging with agent-specific context
14
+ *
15
+ * Agent-specific parts (4 methods to override):
16
+ * - getSourcePath(): Where extension files are bundled
17
+ * - getTargetPath(): Where to install in user's home
18
+ * - getManifestPath(): Relative path to manifest file
19
+ * - getCriticalFiles(): List of files to verify
20
+ *
21
+ * @module agents/core/extension/BaseExtensionInstaller
22
+ */
23
+ /**
24
+ * Configuration for selective local file copying
25
+ * Read from manifest's localCopy section
26
+ */
27
+ export interface LocalCopyConfig {
28
+ /** Whether local copy is enabled */
29
+ enabled: boolean;
30
+ /** Pattern matching strategy: whitelist, blacklist, or hybrid */
31
+ strategy: 'whitelist' | 'blacklist' | 'hybrid';
32
+ /** Glob patterns to include */
33
+ includes: string[];
34
+ /** Glob patterns to exclude */
35
+ excludes: string[];
36
+ /** Target directory name */
37
+ targetDir: string;
38
+ /** Preserve directory tree structure */
39
+ preserveStructure: boolean;
40
+ /** File overwrite policy: always, never, or newer */
41
+ overwritePolicy: 'always' | 'never' | 'newer';
42
+ }
43
+ /**
44
+ * Result of local copy operation
45
+ */
46
+ export interface LocalCopyResult {
47
+ /** Whether local copy succeeded */
48
+ success: boolean;
49
+ /** Target path where files were copied */
50
+ targetPath: string;
51
+ /** List of files that were copied */
52
+ copiedFiles: string[];
53
+ /** List of files that were skipped */
54
+ skippedFiles: string[];
55
+ /** List of errors encountered */
56
+ errors: string[];
57
+ }
58
+ /**
59
+ * Common result type for extension installation
60
+ */
61
+ export interface ExtensionInstallationResult {
62
+ /** Whether installation succeeded */
63
+ success: boolean;
64
+ /** Target directory path where extension was installed */
65
+ targetPath: string;
66
+ /** Action taken during installation */
67
+ action: 'copied' | 'updated' | 'already_exists' | 'failed';
68
+ /** Error message if installation failed */
69
+ error?: string;
70
+ /** Source extension version */
71
+ sourceVersion?: string;
72
+ /** Installed extension version (before update) */
73
+ installedVersion?: string;
74
+ /** Local copy result (optional - only if localCopy is enabled in manifest) */
75
+ localCopy?: LocalCopyResult;
76
+ }
77
+ /**
78
+ * Base Extension Installer Abstract Class
79
+ *
80
+ * Provides common installation logic shared across all agent extensions.
81
+ * Subclasses provide agent-specific paths and configuration.
82
+ */
83
+ export declare abstract class BaseExtensionInstaller {
84
+ protected readonly agentName: string;
85
+ /**
86
+ * Constructor
87
+ * @param agentName - Agent name from metadata (e.g., 'claude', 'gemini')
88
+ */
89
+ constructor(agentName: string);
90
+ /**
91
+ * Get the source extension directory path
92
+ * Where extension files are bundled in the CLI
93
+ *
94
+ * @returns Absolute path to source extension directory
95
+ * @example
96
+ * ```typescript
97
+ * // Claude
98
+ * return join(dirname(fileURLToPath(import.meta.url)), 'plugin');
99
+ *
100
+ * // Gemini
101
+ * return join(dirname(fileURLToPath(import.meta.url)), 'extension');
102
+ * ```
103
+ */
104
+ protected abstract getSourcePath(): string;
105
+ /**
106
+ * Get the target installation directory
107
+ * Where to install extension in user's home
108
+ *
109
+ * @returns Absolute path to target directory
110
+ * @example
111
+ * ```typescript
112
+ * // Claude: ~/.codemie/claude-plugin
113
+ * return join(homedir(), '.codemie', 'claude-plugin');
114
+ *
115
+ * // Gemini: ~/.gemini/extensions/codemie
116
+ * return join(homedir(), '.gemini', 'extensions', 'codemie');
117
+ * ```
118
+ */
119
+ abstract getTargetPath(): string;
120
+ /**
121
+ * Get the manifest file path (relative to base directory)
122
+ *
123
+ * @returns Relative path to manifest file from base directory
124
+ * @example
125
+ * ```typescript
126
+ * // Claude: .claude-plugin/plugin.json
127
+ * return '.claude-plugin/plugin.json';
128
+ *
129
+ * // Gemini: gemini-extension.json
130
+ * return 'gemini-extension.json';
131
+ * ```
132
+ */
133
+ protected abstract getManifestPath(): string;
134
+ /**
135
+ * Get list of critical files that must exist after installation
136
+ * Used for verification
137
+ *
138
+ * @returns Array of relative file paths from base directory
139
+ * @example
140
+ * ```typescript
141
+ * // Claude
142
+ * return ['.claude-plugin/plugin.json', 'hooks/hooks.json', 'README.md'];
143
+ *
144
+ * // Gemini
145
+ * return ['gemini-extension.json', 'hooks/hooks.json', 'README.md'];
146
+ * ```
147
+ */
148
+ protected abstract getCriticalFiles(): string[];
149
+ /**
150
+ * Get version from manifest JSON file
151
+ *
152
+ * @param basePath - Base directory path (source or target)
153
+ * @returns Version string or null if not found
154
+ */
155
+ protected getVersion(basePath: string): Promise<string | null>;
156
+ /**
157
+ * Read local copy configuration from manifest
158
+ *
159
+ * Reads from local-install.json first (preferred), with fallback to plugin.json
160
+ * for backward compatibility.
161
+ *
162
+ * @returns LocalCopyConfig if enabled, null otherwise
163
+ */
164
+ protected readLocalCopyFromManifest(): Promise<LocalCopyConfig | null>;
165
+ /**
166
+ * Install extension files to local working directory
167
+ *
168
+ * @param sourcePath - Source directory path (global installation)
169
+ * @param config - Local copy configuration
170
+ * @returns Result with copied files, skipped files, and errors
171
+ */
172
+ protected installLocal(sourcePath: string, config: LocalCopyConfig): Promise<LocalCopyResult>;
173
+ /**
174
+ * Recursively walk directory and filter files
175
+ *
176
+ * @param basePath - Base source path
177
+ * @param currentPath - Current directory being walked
178
+ * @param config - Local copy configuration
179
+ * @returns Lists of included and excluded files
180
+ */
181
+ protected walkDirectory(basePath: string, currentPath: string, config: LocalCopyConfig): Promise<{
182
+ include: string[];
183
+ exclude: string[];
184
+ }>;
185
+ /**
186
+ * Check if file should be included based on pattern matching strategy
187
+ *
188
+ * @param relativePath - File path relative to base
189
+ * @param config - Local copy configuration
190
+ * @returns true if file should be included
191
+ */
192
+ protected shouldIncludeFile(relativePath: string, config: LocalCopyConfig): boolean;
193
+ /**
194
+ * Check if file should be copied based on overwrite policy
195
+ *
196
+ * @param sourcePath - Source file path
197
+ * @param targetPath - Target file path
198
+ * @param policy - Overwrite policy
199
+ * @returns true if file should be copied
200
+ */
201
+ protected shouldCopyFile(sourcePath: string, targetPath: string, policy: 'always' | 'never' | 'newer'): Promise<boolean>;
202
+ /**
203
+ * Write version file to track local installation
204
+ *
205
+ * @param targetPath - Target directory path
206
+ * @param version - Extension version
207
+ */
208
+ protected writeVersionFile(targetPath: string, version: string | null): Promise<void>;
209
+ /**
210
+ * Check if local extension should be updated
211
+ *
212
+ * @param targetPath - Target directory path
213
+ * @param sourceVersion - Source extension version
214
+ * @returns true if update is needed
215
+ */
216
+ protected shouldUpdateLocal(targetPath: string, sourceVersion: string): Promise<boolean>;
217
+ /**
218
+ * Check if extension is already installed and get version info
219
+ *
220
+ * Verifies:
221
+ * - Target directory exists
222
+ * - Manifest file exists and is readable
223
+ * - Hooks file exists and is readable
224
+ *
225
+ * @returns Object with installation status and version, or null if not installed
226
+ */
227
+ protected getInstalledInfo(): Promise<{
228
+ installed: boolean;
229
+ version: string | null;
230
+ } | null>;
231
+ /**
232
+ * Verify extension structure after installation
233
+ *
234
+ * Validates:
235
+ * - Critical files exist
236
+ * - JSON files are valid
237
+ *
238
+ * @param targetPath - Path to installed extension directory
239
+ * @returns True if extension structure is valid
240
+ */
241
+ protected verifyInstallation(targetPath: string): Promise<boolean>;
242
+ /**
243
+ * Install extension to target directory with version-aware updates
244
+ *
245
+ * Installation process:
246
+ * 1. Verify source exists
247
+ * 2. Get source and installed versions (from manifest, not hardcoded)
248
+ * 3. Compare versions - skip if identical
249
+ * 4. Copy files from source to target
250
+ * 5. Verify installation integrity
251
+ * 6. Log results with agent-specific context
252
+ * 7. Return detailed result
253
+ *
254
+ * @returns Installation result with status, action, and version info
255
+ */
256
+ install(): Promise<ExtensionInstallationResult>;
257
+ }
258
+ //# sourceMappingURL=BaseExtensionInstaller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseExtensionInstaller.d.ts","sourceRoot":"","sources":["../../../../src/agents/core/extension/BaseExtensionInstaller.ts"],"names":[],"mappings":"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"}