@codemieai/code 0.1.0 → 0.2.1

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 (426) hide show
  1. package/README.md +30 -6
  2. package/bin/codebase-memory-ui-daemon.js +10 -0
  3. package/bin/codemie-codex.js +18 -0
  4. package/dist/agents/core/AgentCLI.d.ts +1 -0
  5. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  6. package/dist/agents/core/AgentCLI.js +29 -4
  7. package/dist/agents/core/AgentCLI.js.map +1 -1
  8. package/dist/agents/core/session/sync-state-utils.d.ts +11 -0
  9. package/dist/agents/core/session/sync-state-utils.d.ts.map +1 -0
  10. package/dist/agents/core/session/sync-state-utils.js +99 -0
  11. package/dist/agents/core/session/sync-state-utils.js.map +1 -0
  12. package/dist/agents/core/session/types.d.ts +8 -0
  13. package/dist/agents/core/session/types.d.ts.map +1 -1
  14. package/dist/agents/core/session/utils/jsonl-reader.d.ts +8 -0
  15. package/dist/agents/core/session/utils/jsonl-reader.d.ts.map +1 -1
  16. package/dist/agents/core/session/utils/jsonl-reader.js +37 -0
  17. package/dist/agents/core/session/utils/jsonl-reader.js.map +1 -1
  18. package/dist/agents/plugins/claude/claude.plugin.js +1 -1
  19. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  20. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +0 -15
  21. package/dist/agents/plugins/claude/plugin/skills/codemie-analytics/SKILL.md +641 -0
  22. package/dist/agents/plugins/claude/plugin/skills/codemie-analytics/references/leaderboard-dashboard-report.md +225 -0
  23. package/dist/agents/plugins/claude/plugin/skills/codemie-analytics/references/people-spending-dashboard-report.md +746 -0
  24. package/dist/agents/plugins/claude/plugin/skills/codemie-analytics/references/people-spending-dashboard-template.html +3270 -0
  25. package/dist/agents/plugins/claude/plugin/skills/codemie-analytics/scripts/analytics-cli.js +893 -0
  26. package/dist/agents/plugins/claude/plugin/skills/codemie-analytics/scripts/inspect-schema.js +211 -0
  27. package/dist/agents/plugins/claude/plugin/skills/codemie-html-report/README.md +39 -0
  28. package/dist/agents/plugins/claude/plugin/skills/codemie-html-report/SKILL.md +117 -26
  29. package/dist/agents/plugins/claude/plugin/skills/codemie-html-report/scripts/inject-css.js +40 -0
  30. package/dist/agents/plugins/claude/plugin/skills/codemie-html-report/scripts/inject-data.js +68 -0
  31. package/dist/agents/plugins/claude/plugin/skills/codemie-html-report/style-guide/css/bundle.css +1 -0
  32. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/SKILL.md +240 -0
  33. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/examples/assistants.md +256 -0
  34. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/examples/categories.md +101 -0
  35. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/examples/datasources.md +401 -0
  36. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/examples/integrations.md +242 -0
  37. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/examples/skills.md +191 -0
  38. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/examples/users.md +38 -0
  39. package/dist/agents/plugins/claude/plugin/skills/codemie-sdk/examples/workflows.md +151 -0
  40. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
  41. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +2 -0
  42. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
  43. package/dist/agents/plugins/codex/codex-message-types.d.ts +80 -0
  44. package/dist/agents/plugins/codex/codex-message-types.d.ts.map +1 -0
  45. package/dist/agents/plugins/codex/codex-message-types.js +36 -0
  46. package/dist/agents/plugins/codex/codex-message-types.js.map +1 -0
  47. package/dist/agents/plugins/codex/codex-models.d.ts +9 -0
  48. package/dist/agents/plugins/codex/codex-models.d.ts.map +1 -0
  49. package/dist/agents/plugins/codex/codex-models.js +227 -0
  50. package/dist/agents/plugins/codex/codex-models.js.map +1 -0
  51. package/dist/agents/plugins/codex/codex.incremental-sync.d.ts +39 -0
  52. package/dist/agents/plugins/codex/codex.incremental-sync.d.ts.map +1 -0
  53. package/dist/agents/plugins/codex/codex.incremental-sync.js +147 -0
  54. package/dist/agents/plugins/codex/codex.incremental-sync.js.map +1 -0
  55. package/dist/agents/plugins/codex/codex.paths.d.ts +29 -0
  56. package/dist/agents/plugins/codex/codex.paths.d.ts.map +1 -0
  57. package/dist/agents/plugins/codex/codex.paths.js +43 -0
  58. package/dist/agents/plugins/codex/codex.paths.js.map +1 -0
  59. package/dist/agents/plugins/codex/codex.plugin.d.ts +80 -0
  60. package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -0
  61. package/dist/agents/plugins/codex/codex.plugin.js +474 -0
  62. package/dist/agents/plugins/codex/codex.plugin.js.map +1 -0
  63. package/dist/agents/plugins/codex/codex.reconciliation.d.ts +43 -0
  64. package/dist/agents/plugins/codex/codex.reconciliation.d.ts.map +1 -0
  65. package/dist/agents/plugins/codex/codex.reconciliation.js +141 -0
  66. package/dist/agents/plugins/codex/codex.reconciliation.js.map +1 -0
  67. package/dist/agents/plugins/codex/codex.session.d.ts +58 -0
  68. package/dist/agents/plugins/codex/codex.session.d.ts.map +1 -0
  69. package/dist/agents/plugins/codex/codex.session.js +326 -0
  70. package/dist/agents/plugins/codex/codex.session.js.map +1 -0
  71. package/dist/agents/plugins/codex/codex.storage-utils.d.ts +15 -0
  72. package/dist/agents/plugins/codex/codex.storage-utils.d.ts.map +1 -0
  73. package/dist/agents/plugins/codex/codex.storage-utils.js +19 -0
  74. package/dist/agents/plugins/codex/codex.storage-utils.js.map +1 -0
  75. package/dist/agents/plugins/codex/index.d.ts +7 -0
  76. package/dist/agents/plugins/codex/index.d.ts.map +1 -0
  77. package/dist/agents/plugins/codex/index.js +9 -0
  78. package/dist/agents/plugins/codex/index.js.map +1 -0
  79. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.d.ts +24 -0
  80. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.d.ts.map +1 -0
  81. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.js +613 -0
  82. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.js.map +1 -0
  83. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.d.ts +21 -0
  84. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.d.ts.map +1 -0
  85. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.js +124 -0
  86. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.js.map +1 -0
  87. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -1
  88. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +1 -0
  89. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -1
  90. package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts.map +1 -1
  91. package/dist/agents/plugins/opencode/opencode.storage-utils.js +2 -29
  92. package/dist/agents/plugins/opencode/opencode.storage-utils.js.map +1 -1
  93. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts.map +1 -1
  94. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js.map +1 -1
  95. package/dist/agents/registry.d.ts.map +1 -1
  96. package/dist/agents/registry.js +2 -0
  97. package/dist/agents/registry.js.map +1 -1
  98. package/dist/bin/codebase-memory-ui-daemon.d.ts +2 -0
  99. package/dist/bin/codebase-memory-ui-daemon.d.ts.map +1 -0
  100. package/dist/bin/codebase-memory-ui-daemon.js +141 -0
  101. package/dist/bin/codebase-memory-ui-daemon.js.map +1 -0
  102. package/dist/bin/proxy-daemon.js +4 -0
  103. package/dist/bin/proxy-daemon.js.map +1 -1
  104. package/dist/cli/commands/assistants/constants.js +2 -2
  105. package/dist/cli/commands/assistants/constants.js.map +1 -1
  106. package/dist/cli/commands/assistants/setup/configuration/constants.js +4 -4
  107. package/dist/cli/commands/assistants/setup/configuration/constants.js.map +1 -1
  108. package/dist/cli/commands/assistants/setup/configuration/ui.d.ts.map +1 -1
  109. package/dist/cli/commands/assistants/setup/configuration/ui.js +10 -13
  110. package/dist/cli/commands/assistants/setup/configuration/ui.js.map +1 -1
  111. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.d.ts +4 -0
  112. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.d.ts.map +1 -0
  113. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js +76 -0
  114. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js.map +1 -0
  115. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.d.ts +4 -0
  116. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.d.ts.map +1 -0
  117. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js +68 -0
  118. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js.map +1 -0
  119. package/dist/cli/commands/assistants/setup/helpers.d.ts +3 -2
  120. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
  121. package/dist/cli/commands/assistants/setup/helpers.js +43 -8
  122. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
  123. package/dist/cli/commands/assistants/setup/index.d.ts +3 -1
  124. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
  125. package/dist/cli/commands/assistants/setup/index.js +15 -12
  126. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  127. package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts +2 -2
  128. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js +2 -2
  129. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js.map +1 -1
  130. package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
  131. package/dist/cli/commands/assistants/setup/selection/ui.js +8 -13
  132. package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
  133. package/dist/cli/commands/assistants/setup/summary/index.d.ts.map +1 -1
  134. package/dist/cli/commands/assistants/setup/summary/index.js +14 -8
  135. package/dist/cli/commands/assistants/setup/summary/index.js.map +1 -1
  136. package/dist/cli/commands/codebase/daemon-manager.d.ts +24 -0
  137. package/dist/cli/commands/codebase/daemon-manager.d.ts.map +1 -0
  138. package/dist/cli/commands/codebase/daemon-manager.js +112 -0
  139. package/dist/cli/commands/codebase/daemon-manager.js.map +1 -0
  140. package/dist/cli/commands/codebase/index.d.ts +3 -0
  141. package/dist/cli/commands/codebase/index.d.ts.map +1 -0
  142. package/dist/cli/commands/codebase/index.js +130 -0
  143. package/dist/cli/commands/codebase/index.js.map +1 -0
  144. package/dist/cli/commands/hook.d.ts.map +1 -1
  145. package/dist/cli/commands/hook.js +15 -2
  146. package/dist/cli/commands/hook.js.map +1 -1
  147. package/dist/cli/commands/install.js +2 -2
  148. package/dist/cli/commands/install.js.map +1 -1
  149. package/dist/cli/commands/profile/display.d.ts.map +1 -1
  150. package/dist/cli/commands/profile/display.js +1 -0
  151. package/dist/cli/commands/profile/display.js.map +1 -1
  152. package/dist/cli/commands/profile/index.d.ts +14 -0
  153. package/dist/cli/commands/profile/index.d.ts.map +1 -1
  154. package/dist/cli/commands/profile/index.js +110 -27
  155. package/dist/cli/commands/profile/index.js.map +1 -1
  156. package/dist/cli/commands/proxy/connectors/desktop-managed-mcp-servers.json +1 -1
  157. package/dist/cli/commands/proxy/connectors/desktop.d.ts +4 -6
  158. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  159. package/dist/cli/commands/proxy/connectors/desktop.js +112 -25
  160. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  161. package/dist/cli/commands/proxy/daemon-manager.d.ts +1 -0
  162. package/dist/cli/commands/proxy/daemon-manager.d.ts.map +1 -1
  163. package/dist/cli/commands/proxy/daemon-manager.js +2 -0
  164. package/dist/cli/commands/proxy/daemon-manager.js.map +1 -1
  165. package/dist/cli/commands/proxy/index.d.ts.map +1 -1
  166. package/dist/cli/commands/proxy/index.js +42 -0
  167. package/dist/cli/commands/proxy/index.js.map +1 -1
  168. package/dist/cli/commands/sdk/assistants.d.ts +3 -0
  169. package/dist/cli/commands/sdk/assistants.d.ts.map +1 -0
  170. package/dist/cli/commands/sdk/assistants.js +211 -0
  171. package/dist/cli/commands/sdk/assistants.js.map +1 -0
  172. package/dist/cli/commands/sdk/categories.d.ts +3 -0
  173. package/dist/cli/commands/sdk/categories.d.ts.map +1 -0
  174. package/dist/cli/commands/sdk/categories.js +186 -0
  175. package/dist/cli/commands/sdk/categories.js.map +1 -0
  176. package/dist/cli/commands/sdk/datasources.d.ts +3 -0
  177. package/dist/cli/commands/sdk/datasources.d.ts.map +1 -0
  178. package/dist/cli/commands/sdk/datasources.js +276 -0
  179. package/dist/cli/commands/sdk/datasources.js.map +1 -0
  180. package/dist/cli/commands/sdk/index.d.ts +3 -0
  181. package/dist/cli/commands/sdk/index.d.ts.map +1 -0
  182. package/dist/cli/commands/sdk/index.js +23 -0
  183. package/dist/cli/commands/sdk/index.js.map +1 -0
  184. package/dist/cli/commands/sdk/integrations.d.ts +3 -0
  185. package/dist/cli/commands/sdk/integrations.d.ts.map +1 -0
  186. package/dist/cli/commands/sdk/integrations.js +220 -0
  187. package/dist/cli/commands/sdk/integrations.js.map +1 -0
  188. package/dist/cli/commands/sdk/llm.d.ts +3 -0
  189. package/dist/cli/commands/sdk/llm.d.ts.map +1 -0
  190. package/dist/cli/commands/sdk/llm.js +48 -0
  191. package/dist/cli/commands/sdk/llm.js.map +1 -0
  192. package/dist/cli/commands/sdk/services/assistants.d.ts +13 -0
  193. package/dist/cli/commands/sdk/services/assistants.d.ts.map +1 -0
  194. package/dist/cli/commands/sdk/services/assistants.js +60 -0
  195. package/dist/cli/commands/sdk/services/assistants.js.map +1 -0
  196. package/dist/cli/commands/sdk/services/categories.d.ts +8 -0
  197. package/dist/cli/commands/sdk/services/categories.d.ts.map +1 -0
  198. package/dist/cli/commands/sdk/services/categories.js +19 -0
  199. package/dist/cli/commands/sdk/services/categories.js.map +1 -0
  200. package/dist/cli/commands/sdk/services/datasources.d.ts +33 -0
  201. package/dist/cli/commands/sdk/services/datasources.d.ts.map +1 -0
  202. package/dist/cli/commands/sdk/services/datasources.js +268 -0
  203. package/dist/cli/commands/sdk/services/datasources.js.map +1 -0
  204. package/dist/cli/commands/sdk/services/index.d.ts +6 -0
  205. package/dist/cli/commands/sdk/services/index.d.ts.map +1 -0
  206. package/dist/cli/commands/sdk/services/index.js +6 -0
  207. package/dist/cli/commands/sdk/services/index.js.map +1 -0
  208. package/dist/cli/commands/sdk/services/integrations.d.ts +27 -0
  209. package/dist/cli/commands/sdk/services/integrations.d.ts.map +1 -0
  210. package/dist/cli/commands/sdk/services/integrations.js +59 -0
  211. package/dist/cli/commands/sdk/services/integrations.js.map +1 -0
  212. package/dist/cli/commands/sdk/services/llm.d.ts +4 -0
  213. package/dist/cli/commands/sdk/services/llm.d.ts.map +1 -0
  214. package/dist/cli/commands/sdk/services/llm.js +7 -0
  215. package/dist/cli/commands/sdk/services/llm.js.map +1 -0
  216. package/dist/cli/commands/sdk/services/skills.d.ts +23 -0
  217. package/dist/cli/commands/sdk/services/skills.d.ts.map +1 -0
  218. package/dist/cli/commands/sdk/services/skills.js +69 -0
  219. package/dist/cli/commands/sdk/services/skills.js.map +1 -0
  220. package/dist/cli/commands/sdk/services/users.d.ts +4 -0
  221. package/dist/cli/commands/sdk/services/users.d.ts.map +1 -0
  222. package/dist/cli/commands/sdk/services/users.js +7 -0
  223. package/dist/cli/commands/sdk/services/users.js.map +1 -0
  224. package/dist/cli/commands/sdk/services/workflows.d.ts +7 -0
  225. package/dist/cli/commands/sdk/services/workflows.d.ts.map +1 -0
  226. package/dist/cli/commands/sdk/services/workflows.js +34 -0
  227. package/dist/cli/commands/sdk/services/workflows.js.map +1 -0
  228. package/dist/cli/commands/sdk/skills.d.ts +3 -0
  229. package/dist/cli/commands/sdk/skills.d.ts.map +1 -0
  230. package/dist/cli/commands/sdk/skills.js +492 -0
  231. package/dist/cli/commands/sdk/skills.js.map +1 -0
  232. package/dist/cli/commands/sdk/users.d.ts +3 -0
  233. package/dist/cli/commands/sdk/users.d.ts.map +1 -0
  234. package/dist/cli/commands/sdk/users.js +81 -0
  235. package/dist/cli/commands/sdk/users.js.map +1 -0
  236. package/dist/cli/commands/sdk/utils/cli-utils.d.ts +35 -0
  237. package/dist/cli/commands/sdk/utils/cli-utils.d.ts.map +1 -0
  238. package/dist/cli/commands/sdk/utils/cli-utils.js +110 -0
  239. package/dist/cli/commands/sdk/utils/cli-utils.js.map +1 -0
  240. package/dist/cli/commands/sdk/utils/datasource-types.d.ts +9 -0
  241. package/dist/cli/commands/sdk/utils/datasource-types.d.ts.map +1 -0
  242. package/dist/cli/commands/sdk/utils/datasource-types.js +61 -0
  243. package/dist/cli/commands/sdk/utils/datasource-types.js.map +1 -0
  244. package/dist/cli/commands/sdk/utils/file-utils.d.ts +8 -0
  245. package/dist/cli/commands/sdk/utils/file-utils.d.ts.map +1 -0
  246. package/dist/cli/commands/sdk/utils/file-utils.js +21 -0
  247. package/dist/cli/commands/sdk/utils/file-utils.js.map +1 -0
  248. package/dist/cli/commands/sdk/utils/render.d.ts +82 -0
  249. package/dist/cli/commands/sdk/utils/render.d.ts.map +1 -0
  250. package/dist/cli/commands/sdk/utils/render.js +149 -0
  251. package/dist/cli/commands/sdk/utils/render.js.map +1 -0
  252. package/dist/cli/commands/sdk/workflows.d.ts +3 -0
  253. package/dist/cli/commands/sdk/workflows.d.ts.map +1 -0
  254. package/dist/cli/commands/sdk/workflows.js +170 -0
  255. package/dist/cli/commands/sdk/workflows.js.map +1 -0
  256. package/dist/cli/commands/setup.js +1 -1
  257. package/dist/cli/commands/setup.js.map +1 -1
  258. package/dist/cli/commands/shared/agent-targets.d.ts +10 -0
  259. package/dist/cli/commands/shared/agent-targets.d.ts.map +1 -0
  260. package/dist/cli/commands/shared/agent-targets.js +220 -0
  261. package/dist/cli/commands/shared/agent-targets.js.map +1 -0
  262. package/dist/cli/commands/shared/prompts/storage-scope.d.ts.map +1 -1
  263. package/dist/cli/commands/shared/prompts/storage-scope.js +9 -2
  264. package/dist/cli/commands/shared/prompts/storage-scope.js.map +1 -1
  265. package/dist/cli/commands/shared/selection/ui.d.ts +22 -0
  266. package/dist/cli/commands/shared/selection/ui.d.ts.map +1 -1
  267. package/dist/cli/commands/shared/selection/ui.js +34 -0
  268. package/dist/cli/commands/shared/selection/ui.js.map +1 -1
  269. package/dist/cli/commands/skills/lib/skills-metrics.d.ts.map +1 -1
  270. package/dist/cli/commands/skills/lib/skills-metrics.js +47 -11
  271. package/dist/cli/commands/skills/lib/skills-metrics.js.map +1 -1
  272. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.d.ts +4 -0
  273. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.d.ts.map +1 -0
  274. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.js +51 -0
  275. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.js.map +1 -0
  276. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.d.ts +4 -0
  277. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.d.ts.map +1 -0
  278. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.js +51 -0
  279. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.js.map +1 -0
  280. package/dist/cli/commands/skills/setup/helpers.d.ts +3 -2
  281. package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
  282. package/dist/cli/commands/skills/setup/helpers.js +31 -6
  283. package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
  284. package/dist/cli/commands/skills/setup/index.d.ts +2 -1
  285. package/dist/cli/commands/skills/setup/index.d.ts.map +1 -1
  286. package/dist/cli/commands/skills/setup/index.js +14 -11
  287. package/dist/cli/commands/skills/setup/index.js.map +1 -1
  288. package/dist/cli/commands/skills/setup/selection/ui.d.ts.map +1 -1
  289. package/dist/cli/commands/skills/setup/selection/ui.js +8 -13
  290. package/dist/cli/commands/skills/setup/selection/ui.js.map +1 -1
  291. package/dist/cli/commands/test-metrics.js +3 -4
  292. package/dist/cli/commands/test-metrics.js.map +1 -1
  293. package/dist/cli/index.js +5 -0
  294. package/dist/cli/index.js.map +1 -1
  295. package/dist/env/types.d.ts +2 -0
  296. package/dist/env/types.d.ts.map +1 -1
  297. package/dist/env/types.js.map +1 -1
  298. package/dist/frameworks/plugins/bmad.plugin.d.ts +10 -1
  299. package/dist/frameworks/plugins/bmad.plugin.d.ts.map +1 -1
  300. package/dist/frameworks/plugins/bmad.plugin.js +108 -9
  301. package/dist/frameworks/plugins/bmad.plugin.js.map +1 -1
  302. package/dist/frameworks/plugins/codebase-memory.plugin.d.ts +18 -0
  303. package/dist/frameworks/plugins/codebase-memory.plugin.d.ts.map +1 -0
  304. package/dist/frameworks/plugins/codebase-memory.plugin.js +131 -0
  305. package/dist/frameworks/plugins/codebase-memory.plugin.js.map +1 -0
  306. package/dist/frameworks/plugins/index.d.ts +1 -0
  307. package/dist/frameworks/plugins/index.d.ts.map +1 -1
  308. package/dist/frameworks/plugins/index.js +3 -0
  309. package/dist/frameworks/plugins/index.js.map +1 -1
  310. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts +1 -1
  311. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +4 -4
  312. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -1
  313. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts +20 -0
  314. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts.map +1 -0
  315. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js +104 -0
  316. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js.map +1 -0
  317. package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.d.ts.map +1 -1
  318. package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.js +24 -3
  319. package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.js.map +1 -1
  320. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +5 -0
  321. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
  322. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
  323. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  324. package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
  325. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  326. package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.js +10 -3
  327. package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.js.map +1 -1
  328. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -1
  329. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +26 -8
  330. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -1
  331. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  332. package/dist/providers/plugins/sso/proxy/sso.proxy.js +21 -4
  333. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  334. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  335. package/dist/providers/plugins/sso/session/SessionSyncer.js +5 -72
  336. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  337. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts +1 -1
  338. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts.map +1 -1
  339. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js +95 -4
  340. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js.map +1 -1
  341. package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts +2 -2
  342. package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts.map +1 -1
  343. package/dist/providers/plugins/sso/session/processors/conversations/constants.js +2 -2
  344. package/dist/providers/plugins/sso/session/processors/conversations/constants.js.map +1 -1
  345. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -1
  346. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +85 -21
  347. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
  348. package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts +10 -2
  349. package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts.map +1 -1
  350. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts +1 -1
  351. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
  352. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +80 -46
  353. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
  354. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +1 -9
  355. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
  356. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +94 -30
  357. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
  358. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts +4 -6
  359. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts.map +1 -1
  360. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js +24 -25
  361. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js.map +1 -1
  362. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  363. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +140 -99
  364. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  365. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +11 -3
  366. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
  367. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  368. package/dist/providers/plugins/sso/sso.auth.js +22 -4
  369. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  370. package/dist/providers/plugins/sso/sso.setup-steps.js +2 -2
  371. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  372. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.d.ts.map +1 -1
  373. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js +4 -1
  374. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js.map +1 -1
  375. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -1
  376. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +1 -3
  377. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -1
  378. package/dist/utils/browser.d.ts +7 -0
  379. package/dist/utils/browser.d.ts.map +1 -0
  380. package/dist/utils/browser.js +10 -0
  381. package/dist/utils/browser.js.map +1 -0
  382. package/dist/utils/config.d.ts.map +1 -1
  383. package/dist/utils/config.js +7 -1
  384. package/dist/utils/config.js.map +1 -1
  385. package/dist/utils/paths.d.ts +8 -0
  386. package/dist/utils/paths.d.ts.map +1 -1
  387. package/dist/utils/paths.js +15 -0
  388. package/dist/utils/paths.js.map +1 -1
  389. package/package.json +2 -1
  390. package/scripts/compare-codex-conversations.mjs +894 -0
  391. package/scripts/validate-secrets.js +7 -3
  392. package/dist/agents/plugins/claude/plugin/claude-templates/README.md +0 -539
  393. package/dist/agents/plugins/claude/plugin/claude-templates/templates/CLAUDE.md.template +0 -252
  394. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/code-review-agent-template.md.template +0 -433
  395. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/refactor-cleaner-agent.md.template +0 -337
  396. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/solution-architect-agent.md.template +0 -197
  397. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/unit-tester-agent.md.template +0 -258
  398. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/api/api-patterns.md.template +0 -179
  399. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/architecture.md.template +0 -197
  400. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/data/database-patterns.md.template +0 -248
  401. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/development/development-practices.md.template +0 -298
  402. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/integration/external-integrations.md.template +0 -160
  403. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/security/security-practices.md.template +0 -295
  404. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/code-quality.md.template +0 -186
  405. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/git-workflow.md.template +0 -177
  406. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/testing/testing-patterns.md.template +0 -315
  407. package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +0 -522
  408. package/dist/agents/plugins/claude/plugin/commands/handoff.md +0 -56
  409. package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +0 -549
  410. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-baseline.sh +0 -39
  411. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-rewrite.sh +0 -101
  412. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/SKILL.md +0 -206
  413. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-agent.md +0 -45
  414. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-claude-md-snippet.md +0 -40
  415. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-command.md +0 -30
  416. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-hooks.json +0 -23
  417. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-skill.md +0 -48
  418. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-agent.md +0 -145
  419. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-claude-md-snippet.md +0 -126
  420. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-command.md +0 -170
  421. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-hooks.json +0 -46
  422. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-skill.md +0 -144
  423. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/sample-report.md +0 -223
  424. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/best-practices.md +0 -510
  425. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/component-checklists.md +0 -413
  426. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/scripts/scan-repo.sh +0 -162
@@ -0,0 +1,9 @@
1
+ export interface CodexModelResolution {
2
+ selectedModel: string;
3
+ catalogPath?: string;
4
+ availableModels: string[];
5
+ }
6
+ export declare function isCodexCompatibleModelName(modelName: string | undefined): modelName is string;
7
+ export declare function resolveCodexModel(env: NodeJS.ProcessEnv): Promise<CodexModelResolution>;
8
+ export declare function assertExplicitCodexModelAllowed(model: string, availableModels: string[]): void;
9
+ //# sourceMappingURL=codex-models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-models.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-models.ts"],"names":[],"mappings":"AAqDA,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAgDD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,IAAI,MAAM,CAI7F;AAkJD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkD7F;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAc9F"}
@@ -0,0 +1,227 @@
1
+ import { mkdir, writeFile } from 'fs/promises';
2
+ import { join } from 'path';
3
+ import { fetchCodeMieLlmModels } from '../../../providers/plugins/sso/sso.http-client.js';
4
+ import { CodeMieSSO } from '../../../providers/plugins/sso/sso.auth.js';
5
+ import { ConfigurationError } from '../../../utils/errors.js';
6
+ import { logger } from '../../../utils/logger.js';
7
+ import { resolveHomeDir } from '../../../utils/paths.js';
8
+ const INCOMPATIBLE_MODEL_PATTERNS = [
9
+ /claude/i,
10
+ /sonnet/i,
11
+ /opus/i,
12
+ /haiku/i,
13
+ /anthropic/i,
14
+ /gemini/i,
15
+ /qwen/i,
16
+ /deepseek/i,
17
+ /llama/i,
18
+ /mistral/i,
19
+ /grok/i,
20
+ ];
21
+ const COMPATIBLE_CODEX_MODEL_PATTERNS = [
22
+ /codex/i,
23
+ /^gpt[-.]?5(?:[-.]|\b)/i,
24
+ /^gpt[-.]?6(?:[-.]|\b)/i,
25
+ ];
26
+ const REASONING_LEVELS = [
27
+ { effort: 'low', description: 'Fast responses with lighter reasoning' },
28
+ { effort: 'medium', description: 'Balances speed and reasoning depth for everyday tasks' },
29
+ { effort: 'high', description: 'Greater reasoning depth for complex problems' },
30
+ { effort: 'xhigh', description: 'Extra high reasoning depth for complex problems' },
31
+ ];
32
+ function getModelId(model) {
33
+ return model.deployment_name || model.base_name || model.label;
34
+ }
35
+ function getSearchText(model) {
36
+ return [
37
+ model.deployment_name,
38
+ model.base_name,
39
+ model.label,
40
+ model.provider,
41
+ ].filter(Boolean).join(' ').toLowerCase();
42
+ }
43
+ export function isCodexCompatibleModelName(modelName) {
44
+ if (!modelName)
45
+ return false;
46
+ if (INCOMPATIBLE_MODEL_PATTERNS.some(pattern => pattern.test(modelName)))
47
+ return false;
48
+ return COMPATIBLE_CODEX_MODEL_PATTERNS.some(pattern => pattern.test(modelName));
49
+ }
50
+ function isCodexCompatibleModel(model) {
51
+ if (!model.enabled)
52
+ return false;
53
+ const id = getModelId(model);
54
+ if (!id)
55
+ return false;
56
+ const searchText = getSearchText(model);
57
+ if (INCOMPATIBLE_MODEL_PATTERNS.some(pattern => pattern.test(searchText))) {
58
+ return false;
59
+ }
60
+ return COMPATIBLE_CODEX_MODEL_PATTERNS.some(pattern => pattern.test(searchText));
61
+ }
62
+ function extractVersionParts(text) {
63
+ const lower = text.toLowerCase();
64
+ const gptMatch = lower.match(/gpt[-.]?(\d+)(?:[-.](\d+))?(?:[-.](\d+))?/);
65
+ const dateMatch = lower.match(/(20\d{2})[-.]?(\d{2})[-.]?(\d{2})/);
66
+ const version = [
67
+ gptMatch?.[1],
68
+ gptMatch?.[2],
69
+ gptMatch?.[3],
70
+ ].map(part => part ? Number(part) : 0);
71
+ if (dateMatch) {
72
+ version.push(Number(dateMatch[1]), Number(dateMatch[2]), Number(dateMatch[3]));
73
+ }
74
+ else {
75
+ version.push(0, 0, 0);
76
+ }
77
+ return version;
78
+ }
79
+ function rankModel(model) {
80
+ const id = getModelId(model);
81
+ const searchText = getSearchText(model);
82
+ const preferredDefaultBonus = /gpt[-.]?5[-.]?4(?:[-.]|\b)/i.test(searchText) ? 1 : 0;
83
+ const codexBonus = /codex/i.test(searchText) ? 1 : 0;
84
+ const defaultBonus = model.default ? 1 : 0;
85
+ const toolBonus = model.features?.tools === false ? 0 : 1;
86
+ const streamingBonus = model.features?.streaming === false ? 0 : 1;
87
+ return {
88
+ model,
89
+ id,
90
+ score: [
91
+ preferredDefaultBonus,
92
+ ...extractVersionParts(searchText),
93
+ codexBonus,
94
+ toolBonus,
95
+ streamingBonus,
96
+ defaultBonus,
97
+ ],
98
+ };
99
+ }
100
+ function compareRankedModels(a, b) {
101
+ const max = Math.max(a.score.length, b.score.length);
102
+ for (let i = 0; i < max; i++) {
103
+ const diff = (b.score[i] ?? 0) - (a.score[i] ?? 0);
104
+ if (diff !== 0)
105
+ return diff;
106
+ }
107
+ return a.id.localeCompare(b.id);
108
+ }
109
+ function buildCodexCatalog(models) {
110
+ return {
111
+ models: models.map((entry, index) => ({
112
+ slug: entry.id,
113
+ display_name: entry.model.label || entry.id,
114
+ description: 'CodeMie model available for Codex through the Responses API.',
115
+ default_reasoning_level: 'medium',
116
+ supported_reasoning_levels: REASONING_LEVELS,
117
+ shell_type: 'shell_command',
118
+ visibility: 'list',
119
+ supported_in_api: true,
120
+ priority: index,
121
+ additional_speed_tiers: [],
122
+ service_tiers: [],
123
+ availability_nux: null,
124
+ upgrade: null,
125
+ base_instructions: '',
126
+ supports_reasoning_summaries: true,
127
+ default_reasoning_summary: 'none',
128
+ support_verbosity: true,
129
+ default_verbosity: 'medium',
130
+ apply_patch_tool_type: 'freeform',
131
+ web_search_tool_type: 'text_and_image',
132
+ truncation_policy: {
133
+ mode: 'tokens',
134
+ limit: 10000,
135
+ },
136
+ supports_parallel_tool_calls: true,
137
+ supports_image_detail_original: true,
138
+ context_window: 400000,
139
+ max_context_window: 400000,
140
+ effective_context_window_percent: 95,
141
+ experimental_supported_tools: [],
142
+ input_modalities: entry.model.multimodal ? ['text', 'image'] : ['text'],
143
+ supports_search_tool: true,
144
+ })),
145
+ };
146
+ }
147
+ async function fetchCodeMieModelsForCodex(env) {
148
+ const jwtToken = env.CODEMIE_JWT_TOKEN;
149
+ const baseUrl = env.CODEMIE_BASE_URL;
150
+ if (jwtToken && baseUrl) {
151
+ logger.debug('[codex-models] Fetching CodeMie model list via JWT auth');
152
+ return fetchCodeMieLlmModels(baseUrl, jwtToken);
153
+ }
154
+ const codeMieUrl = env.CODEMIE_URL;
155
+ if (codeMieUrl) {
156
+ const sso = new CodeMieSSO();
157
+ const credentials = await sso.getStoredCredentials(codeMieUrl);
158
+ if (!credentials) {
159
+ throw new ConfigurationError(`SSO credentials not found for ${codeMieUrl}. Run: codemie profile login --url ${codeMieUrl}`);
160
+ }
161
+ logger.debug('[codex-models] Fetching CodeMie model list via SSO auth');
162
+ return fetchCodeMieLlmModels(credentials.apiUrl, credentials.cookies);
163
+ }
164
+ return [];
165
+ }
166
+ async function writeCatalogFile(catalog) {
167
+ const dir = resolveHomeDir('.codex/codemie');
168
+ await mkdir(dir, { recursive: true });
169
+ const catalogPath = join(dir, 'models.json');
170
+ await writeFile(catalogPath, `${JSON.stringify(catalog, null, 2)}\n`, 'utf-8');
171
+ return catalogPath;
172
+ }
173
+ function formatAvailableModelIds(modelIds) {
174
+ return modelIds.join(', ');
175
+ }
176
+ export async function resolveCodexModel(env) {
177
+ const currentModel = env.CODEMIE_MODEL;
178
+ let rawModels = [];
179
+ try {
180
+ rawModels = await fetchCodeMieModelsForCodex(env);
181
+ }
182
+ catch (error) {
183
+ if (isCodexCompatibleModelName(currentModel)) {
184
+ const configuredModel = currentModel;
185
+ logger.debug('[codex-models] Failed to fetch CodeMie models; keeping compatible configured model', {
186
+ error: error instanceof Error ? error.message : String(error),
187
+ model: configuredModel,
188
+ });
189
+ return { selectedModel: configuredModel, availableModels: [configuredModel] };
190
+ }
191
+ throw error;
192
+ }
193
+ const rankedModels = rawModels
194
+ .filter(isCodexCompatibleModel)
195
+ .map(rankModel)
196
+ .sort(compareRankedModels);
197
+ if (rankedModels.length === 0) {
198
+ if (isCodexCompatibleModelName(currentModel)) {
199
+ const configuredModel = currentModel;
200
+ logger.debug('[codex-models] CodeMie returned no compatible Codex models; keeping configured GPT/Codex model');
201
+ return { selectedModel: configuredModel, availableModels: [configuredModel] };
202
+ }
203
+ throw new ConfigurationError('No CodeMie GPT/Codex model is available for codemie-codex. ' +
204
+ 'Enable a GPT-5/Codex deployment in CodeMie before running Codex.');
205
+ }
206
+ const selectedModel = rankedModels[0].id;
207
+ const catalogPath = await writeCatalogFile(buildCodexCatalog(rankedModels));
208
+ if (currentModel && currentModel !== selectedModel) {
209
+ logger.info(`[codex-models] Using ${selectedModel} for Codex instead of profile model ${currentModel}`);
210
+ }
211
+ return {
212
+ selectedModel,
213
+ catalogPath,
214
+ availableModels: rankedModels.map(entry => entry.id),
215
+ };
216
+ }
217
+ export function assertExplicitCodexModelAllowed(model, availableModels) {
218
+ if (!isCodexCompatibleModelName(model)) {
219
+ throw new ConfigurationError(`Model "${model}" is not compatible with codemie-codex. ` +
220
+ `Use a GPT/Codex model${availableModels.length ? ` such as: ${formatAvailableModelIds(availableModels)}` : '.'}`);
221
+ }
222
+ if (availableModels.length > 0 && !availableModels.includes(model)) {
223
+ throw new ConfigurationError(`Model "${model}" is not available in CodeMie for codemie-codex. ` +
224
+ `Available models: ${availableModels.join(', ')}`);
225
+ }
226
+ }
227
+ //# sourceMappingURL=codex-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-models.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex-models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Codex Incremental Sync Timer
3
+ *
4
+ * In-process timer that periodically re-parses the active Codex rollout file
5
+ * and writes per-call_id metric deltas + new conversation slices to JSONL.
6
+ *
7
+ * Why this exists: Codex 0.129.0 advertises a `hooks` feature, but on
8
+ * 2026-05-09 smoke tests on `codex exec` neither -c overrides
9
+ * (`-c 'hooks.SessionStart=[...]'`) nor a direct `[[hooks.SessionStart]]`
10
+ * block in `~/.codex/config.toml` fired the configured command. See
11
+ * docs/superpowers/plans/2026-05-09-codex-hooks-incremental-sync.md.
12
+ *
13
+ * The incremental sync timer writes per-call_id metric deltas + new
14
+ * conversation slices to JSONL on every tick, then uploads PENDING payloads
15
+ * to the CodeMie API via SessionSyncer when SSO credentials are available.
16
+ */
17
+ import type { AgentMetadata } from '../../core/types.js';
18
+ import type { ProcessingContext } from '../../core/session/BaseProcessor.js';
19
+ export interface StartCodexIncrementalSyncOptions {
20
+ /** CodeMie session id (file naming key). */
21
+ sessionId: string;
22
+ /** ms-since-epoch lower bound used to ignore stale rollouts. */
23
+ startedAt: number;
24
+ /** Working directory to match the rollout's projectPath against. */
25
+ cwd: string;
26
+ /** Codex agent metadata (passed straight to CodexSessionAdapter). */
27
+ metadata: AgentMetadata;
28
+ /** Builds a fresh ProcessingContext on each tick (cookies/version may rotate). */
29
+ buildContext: () => ProcessingContext;
30
+ /** CodeMie SSO URL used to load stored credentials (e.g. env.CODEMIE_URL). */
31
+ ssoUrl?: string;
32
+ /** Sync API base URL for the upload context (env.CODEMIE_SYNC_API_URL ?? env.CODEMIE_BASE_URL). */
33
+ syncApiUrl?: string;
34
+ /** CLI version string forwarded to the upload context. */
35
+ cliVersion?: string;
36
+ }
37
+ export declare function startCodexIncrementalSync(options: StartCodexIncrementalSyncOptions): void;
38
+ export declare function stopCodexIncrementalSync(sessionId: string): void;
39
+ //# sourceMappingURL=codex.incremental-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.incremental-sync.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.incremental-sync.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAI7E,MAAM,WAAW,gCAAgC;IAC/C,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,QAAQ,EAAE,aAAa,CAAC;IACxB,kFAAkF;IAClF,YAAY,EAAE,MAAM,iBAAiB,CAAC;IACtC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI,CA+FzF;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAQhE"}
@@ -0,0 +1,147 @@
1
+ // src/agents/plugins/codex/codex.incremental-sync.ts
2
+ /**
3
+ * Codex Incremental Sync Timer
4
+ *
5
+ * In-process timer that periodically re-parses the active Codex rollout file
6
+ * and writes per-call_id metric deltas + new conversation slices to JSONL.
7
+ *
8
+ * Why this exists: Codex 0.129.0 advertises a `hooks` feature, but on
9
+ * 2026-05-09 smoke tests on `codex exec` neither -c overrides
10
+ * (`-c 'hooks.SessionStart=[...]'`) nor a direct `[[hooks.SessionStart]]`
11
+ * block in `~/.codex/config.toml` fired the configured command. See
12
+ * docs/superpowers/plans/2026-05-09-codex-hooks-incremental-sync.md.
13
+ *
14
+ * The incremental sync timer writes per-call_id metric deltas + new
15
+ * conversation slices to JSONL on every tick, then uploads PENDING payloads
16
+ * to the CodeMie API via SessionSyncer when SSO credentials are available.
17
+ */
18
+ import { realpath as fsRealpath } from 'fs/promises';
19
+ import { CodexSessionAdapter } from './codex.session.js';
20
+ import { logger } from '../../../utils/logger.js';
21
+ const DEFAULT_INTERVAL_MS = 30_000;
22
+ const STARTED_AT_GRACE_MS = 10_000;
23
+ const activeTimers = new Map();
24
+ const tickInFlight = new Map();
25
+ export function startCodexIncrementalSync(options) {
26
+ if (process.env.CODEMIE_CODEX_SYNC_ENABLED === 'false') {
27
+ logger.debug('[codex-incremental-sync] Disabled by CODEMIE_CODEX_SYNC_ENABLED=false');
28
+ return;
29
+ }
30
+ if (activeTimers.has(options.sessionId)) {
31
+ logger.debug(`[codex-incremental-sync] Already running for session ${options.sessionId}`);
32
+ return;
33
+ }
34
+ const intervalMs = Number(process.env.CODEMIE_CODEX_SYNC_INTERVAL_MS) || DEFAULT_INTERVAL_MS;
35
+ const tick = async () => {
36
+ if (tickInFlight.get(options.sessionId))
37
+ return;
38
+ tickInFlight.set(options.sessionId, true);
39
+ try {
40
+ const adapter = new CodexSessionAdapter(options.metadata);
41
+ const sessions = await adapter.discoverSessions({ maxAgeDays: 1, limit: 10 });
42
+ if (sessions.length === 0)
43
+ return;
44
+ const cwdReal = await safeRealpath(options.cwd);
45
+ for (const descriptor of sessions) {
46
+ if (descriptor.createdAt < options.startedAt - STARTED_AT_GRACE_MS)
47
+ continue;
48
+ let parsed;
49
+ try {
50
+ parsed = await adapter.parseSessionFile(descriptor.filePath, options.sessionId);
51
+ }
52
+ catch (error) {
53
+ logger.debug('[codex-incremental-sync] parse failed, skipping', error);
54
+ continue;
55
+ }
56
+ const projectPath = parsed.metadata?.projectPath;
57
+ if (!projectPath)
58
+ continue;
59
+ const projectReal = await safeRealpath(projectPath);
60
+ if (projectReal !== cwdReal)
61
+ continue;
62
+ try {
63
+ const result = await adapter.processSession(descriptor.filePath, options.sessionId, options.buildContext());
64
+ logger.debug(`[codex-incremental-sync] tick ok session=${options.sessionId} records=${result.totalRecords}`);
65
+ }
66
+ catch (error) {
67
+ logger.error('[codex-incremental-sync] processSession failed:', error);
68
+ }
69
+ if (options.ssoUrl && options.syncApiUrl) {
70
+ try {
71
+ const uploadContext = await buildUploadContext(options.sessionId, options.ssoUrl, options.syncApiUrl, options.cliVersion);
72
+ if (uploadContext) {
73
+ const { SessionSyncer } = await import('../../../providers/plugins/sso/session/SessionSyncer.js');
74
+ const syncer = new SessionSyncer();
75
+ const syncResult = await syncer.sync(options.sessionId, uploadContext);
76
+ logger.debug(`[codex-incremental-sync] upload ${syncResult.success ? 'ok' : 'partial'}: ${syncResult.message}`);
77
+ }
78
+ }
79
+ catch (error) {
80
+ logger.error('[codex-incremental-sync] upload failed:', error);
81
+ }
82
+ }
83
+ return; // Only the most recent matching rollout per tick.
84
+ }
85
+ }
86
+ catch (error) {
87
+ logger.error('[codex-incremental-sync] tick failed:', error);
88
+ }
89
+ finally {
90
+ tickInFlight.set(options.sessionId, false);
91
+ }
92
+ };
93
+ const timer = setInterval(() => {
94
+ void tick();
95
+ }, intervalMs);
96
+ // Don't pin the Node event loop alive solely on this timer; if the parent
97
+ // process is otherwise idle we want it to exit cleanly when Codex finishes.
98
+ if (typeof timer.unref === 'function') {
99
+ timer.unref();
100
+ }
101
+ activeTimers.set(options.sessionId, timer);
102
+ logger.debug(`[codex-incremental-sync] Started (session=${options.sessionId}, intervalMs=${intervalMs})`);
103
+ }
104
+ export function stopCodexIncrementalSync(sessionId) {
105
+ const timer = activeTimers.get(sessionId);
106
+ if (!timer)
107
+ return;
108
+ clearInterval(timer);
109
+ activeTimers.delete(sessionId);
110
+ tickInFlight.delete(sessionId);
111
+ logger.debug(`[codex-incremental-sync] Stopped (session=${sessionId})`);
112
+ }
113
+ async function buildUploadContext(sessionId, ssoUrl, syncApiUrl, version = '0.0.0') {
114
+ try {
115
+ const { CodeMieSSO } = await import('../../../providers/plugins/sso/sso.auth.js');
116
+ const sso = new CodeMieSSO();
117
+ const credentials = await sso.getStoredCredentials(ssoUrl);
118
+ if (!credentials?.cookies) {
119
+ logger.debug('[codex-incremental-sync] No SSO credentials available, skipping upload');
120
+ return null;
121
+ }
122
+ const cookies = Object.entries(credentials.cookies)
123
+ .map(([k, v]) => `${k}=${v}`)
124
+ .join('; ');
125
+ return {
126
+ apiBaseUrl: syncApiUrl,
127
+ cookies,
128
+ clientType: 'codemie-codex',
129
+ version,
130
+ dryRun: false,
131
+ sessionId,
132
+ };
133
+ }
134
+ catch (error) {
135
+ logger.debug('[codex-incremental-sync] Failed to build upload context:', error);
136
+ return null;
137
+ }
138
+ }
139
+ async function safeRealpath(p) {
140
+ try {
141
+ return await fsRealpath(p);
142
+ }
143
+ catch {
144
+ return p;
145
+ }
146
+ }
147
+ //# sourceMappingURL=codex.incremental-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.incremental-sync.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.incremental-sync.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAqBlD,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;AACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEhD,MAAM,UAAU,yBAAyB,CAAC,OAAyC;IACjF,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,OAAO,EAAE,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,wDAAwD,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1F,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,mBAAmB,CAAC;IAE7F,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAElC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEhD,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;gBAClC,IAAI,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,mBAAmB;oBAAE,SAAS;gBAE7E,IAAI,MAAM,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;oBACvE,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAI,MAAM,CAAC,QAAiD,EAAE,WAAW,CAAC;gBAC3F,IAAI,CAAC,WAAW;oBAAE,SAAS;gBAC3B,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBACpD,IAAI,WAAW,KAAK,OAAO;oBAAE,SAAS;gBAEtC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CACzC,UAAU,CAAC,QAAQ,EACnB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,YAAY,EAAE,CACvB,CAAC;oBACF,MAAM,CAAC,KAAK,CACV,4CAA4C,OAAO,CAAC,SAAS,YAAY,MAAM,CAAC,YAAY,EAAE,CAC/F,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;gBACzE,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACzC,IAAI,CAAC;wBACH,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,CACnB,CAAC;wBACF,IAAI,aAAa,EAAE,CAAC;4BAClB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yDAAyD,CAAC,CAAC;4BAClG,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;4BACnC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;4BACvE,MAAM,CAAC,KAAK,CACV,mCAAmC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,OAAO,EAAE,CAClG,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,kDAAkD;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,IAAI,EAAE,CAAC;IACd,CAAC,EAAE,UAAU,CAAC,CAAC;IACf,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACtC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE3C,MAAM,CAAC,KAAK,CACV,6CAA6C,OAAO,CAAC,SAAS,gBAAgB,UAAU,GAAG,CAC5F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,6CAA6C,SAAS,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,SAAiB,EACjB,MAAc,EACd,UAAkB,EAClB,OAAO,GAAG,OAAO;IAEjB,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,UAAU,EAAE,UAAU;YACtB,OAAO;YACP,UAAU,EAAE,eAAe;YAC3B,OAAO;YACP,MAAM,EAAE,KAAK;YACb,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,CAAS;IACnC,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Codex path utilities.
3
+ *
4
+ * Codex stores rollout files at:
5
+ * ${CODEX_HOME:-~/.codex}/sessions/YYYY/MM/DD/rollout-{ISO8601}-{uuid}.jsonl
6
+ *
7
+ * Codex does not use XDG conventions by default, but it supports CODEX_HOME
8
+ * for isolating local state.
9
+ *
10
+ * References:
11
+ * - https://developers.openai.com/codex/config-advanced
12
+ */
13
+ /**
14
+ * Returns the Codex home directory.
15
+ */
16
+ export declare function getCodexHomePath(): string;
17
+ /**
18
+ * Returns the Codex sessions base directory.
19
+ * Returns null if the directory does not exist (Codex not run yet).
20
+ */
21
+ export declare function getCodexSessionsPath(): string | null;
22
+ /**
23
+ * Returns the day-specific session directory for a given date:
24
+ * ${CODEX_HOME:-~/.codex}/sessions/YYYY/MM/DD
25
+ *
26
+ * Note: This directory may not exist yet.
27
+ */
28
+ export declare function getCodexSessionDayPath(date: Date): string;
29
+ //# sourceMappingURL=codex.paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.paths.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.paths.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAMH;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKzD"}
@@ -0,0 +1,43 @@
1
+ // src/agents/plugins/codex/codex.paths.ts
2
+ /**
3
+ * Codex path utilities.
4
+ *
5
+ * Codex stores rollout files at:
6
+ * ${CODEX_HOME:-~/.codex}/sessions/YYYY/MM/DD/rollout-{ISO8601}-{uuid}.jsonl
7
+ *
8
+ * Codex does not use XDG conventions by default, but it supports CODEX_HOME
9
+ * for isolating local state.
10
+ *
11
+ * References:
12
+ * - https://developers.openai.com/codex/config-advanced
13
+ */
14
+ import { homedir } from 'os';
15
+ import { join } from 'path';
16
+ import { existsSync } from 'fs';
17
+ /**
18
+ * Returns the Codex home directory.
19
+ */
20
+ export function getCodexHomePath() {
21
+ return process.env.CODEX_HOME || join(homedir(), '.codex');
22
+ }
23
+ /**
24
+ * Returns the Codex sessions base directory.
25
+ * Returns null if the directory does not exist (Codex not run yet).
26
+ */
27
+ export function getCodexSessionsPath() {
28
+ const sessionsPath = join(getCodexHomePath(), 'sessions');
29
+ return existsSync(sessionsPath) ? sessionsPath : null;
30
+ }
31
+ /**
32
+ * Returns the day-specific session directory for a given date:
33
+ * ${CODEX_HOME:-~/.codex}/sessions/YYYY/MM/DD
34
+ *
35
+ * Note: This directory may not exist yet.
36
+ */
37
+ export function getCodexSessionDayPath(date) {
38
+ const year = date.getFullYear().toString();
39
+ const month = (date.getMonth() + 1).toString().padStart(2, '0');
40
+ const day = date.getDate().toString().padStart(2, '0');
41
+ return join(getCodexHomePath(), 'sessions', year, month, day);
42
+ }
43
+ //# sourceMappingURL=codex.paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.paths.js","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.paths.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,UAAU,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAU;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Codex Agent Plugin
3
+ *
4
+ * Registers OpenAI Codex CLI (@openai/codex) as a selectable agent in CodeMie.
5
+ *
6
+ * Config injection strategy:
7
+ * - CODEMIE_BASE_URL → OPENAI_BASE_URL (env var, picked up natively by Codex)
8
+ * - CODEMIE_API_KEY → OPENAI_API_KEY + CODEMIE_API_KEY (env vars via transformEnvVars)
9
+ * - Model injected via: --model <model>
10
+ * - Provider: model_providers.codemie with env_key=CODEMIE_API_KEY (bypasses ~/.codex/auth.json)
11
+ * auth.json has highest priority for the default openai provider; a custom provider with
12
+ * env_key pointing to CODEMIE_API_KEY bypasses it since auth.json only covers openai.
13
+ *
14
+ * Session lifecycle (CLI-level via processEvent):
15
+ * 1. onSessionStart → processEvent(SessionStart) — creates session record + sends start metrics
16
+ * → startCodexIncrementalSync — kicks off the in-process timer
17
+ * 2. enrichArgs → transform --task, inject --model + model_providers.codemie + tuning flags
18
+ * 3. [Codex runs]
19
+ * 4. onSessionEnd → stopCodexIncrementalSync → process rollout → processEvent(SessionEnd)
20
+ *
21
+ * Why no Codex hooks?
22
+ * Codex 0.129.0 advertises a `hooks` feature (stable per `codex features list`),
23
+ * but smoke tests on 2026-05-09 showed that neither -c overrides
24
+ * (`-c 'hooks.SessionStart=[...]'`) nor a direct `[[hooks.SessionStart]]` block
25
+ * in `~/.codex/config.toml` fired the configured command in `codex exec`.
26
+ * See docs/superpowers/plans/2026-05-09-codex-hooks-incremental-sync.md
27
+ * and https://github.com/openai/codex/issues/17532.
28
+ *
29
+ * Until the actual hook delivery mechanism is documented (likely tied to the
30
+ * `~/.codex/plugins/<name>/.codex-plugin/plugin.json` plugin manifest format),
31
+ * we run an in-process timer (codex.incremental-sync.ts) inside `codemie-cli`
32
+ * to keep `_metrics.jsonl` and `_conversation.jsonl` warm. The SSO proxy timer
33
+ * (sso.session-sync.plugin.ts) handles the API push as usual.
34
+ *
35
+ * References:
36
+ * - OpenAI Codex CLI: https://github.com/openai/codex
37
+ * - Configuration: https://github.com/openai/codex/blob/main/codex-rs/docs/configuration.md
38
+ * - Advanced config: https://developers.openai.com/codex/config-advanced
39
+ * - CLI Reference: https://github.com/openai/codex/blob/main/codex-rs/docs/cli-reference.md
40
+ * - Hooks (deferred): https://developers.openai.com/codex/hooks
41
+ */
42
+ import type { AgentMetadata } from '../../core/types.js';
43
+ import { BaseAgentAdapter } from '../../core/BaseAgentAdapter.js';
44
+ import type { SessionAdapter } from '../../core/session/BaseSessionAdapter.js';
45
+ import type { BaseExtensionInstaller } from '../../core/extension/BaseExtensionInstaller.js';
46
+ export declare const CodexPluginMetadata: AgentMetadata;
47
+ /**
48
+ * Codex agent plugin
49
+ *
50
+ * Phase 1: Core plugin with CLI wrapping and session tracking.
51
+ * Phase 2: Rollout file analytics — discovery, parsing, MetricDelta writing.
52
+ */
53
+ export declare class CodexPlugin extends BaseAgentAdapter {
54
+ private readonly sessionAdapter;
55
+ constructor();
56
+ /**
57
+ * Check whether the `codex` binary is available on PATH.
58
+ * Respects CODEMIE_CODEX_BIN environment variable override.
59
+ */
60
+ isInstalled(): Promise<boolean>;
61
+ /**
62
+ * Get Codex version (override from BaseAgentAdapter).
63
+ * Codex versions can be emitted as plain semver or with a command prefix,
64
+ * for example: '0.129.0', 'codex 0.129.0', or 'codex-cli 0.129.0'.
65
+ * Base compatibility checks require just the semantic version.
66
+ *
67
+ * @returns Version string or null if not installed
68
+ */
69
+ getVersion(): Promise<string | null>;
70
+ protected setupProxy(env: NodeJS.ProcessEnv): Promise<void>;
71
+ /**
72
+ * Return session adapter for rollout analytics.
73
+ */
74
+ getSessionAdapter(): SessionAdapter;
75
+ /**
76
+ * No extension installer — Codex is installed directly via npm.
77
+ */
78
+ getExtensionInstaller(): BaseExtensionInstaller | undefined;
79
+ }
80
+ //# sourceMappingURL=codex.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/codex/codex.plugin.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAyD7F,eAAO,MAAM,mBAAmB,EAAE,aA4SjC,CAAC;AA6BF;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,gBAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;;IAOhD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAerC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;cAejB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB1E;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}