@codemieai/code 0.0.58 → 0.2.0

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 (507) hide show
  1. package/README.md +69 -15
  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/BaseAgentAdapter.d.ts.map +1 -1
  9. package/dist/agents/core/BaseAgentAdapter.js +3 -0
  10. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  11. package/dist/agents/core/session/sync-state-utils.d.ts +11 -0
  12. package/dist/agents/core/session/sync-state-utils.d.ts.map +1 -0
  13. package/dist/agents/core/session/sync-state-utils.js +99 -0
  14. package/dist/agents/core/session/sync-state-utils.js.map +1 -0
  15. package/dist/agents/core/session/types.d.ts +8 -0
  16. package/dist/agents/core/session/types.d.ts.map +1 -1
  17. package/dist/agents/core/session/utils/jsonl-reader.d.ts +8 -0
  18. package/dist/agents/core/session/utils/jsonl-reader.d.ts.map +1 -1
  19. package/dist/agents/core/session/utils/jsonl-reader.js +37 -0
  20. package/dist/agents/core/session/utils/jsonl-reader.js.map +1 -1
  21. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  22. package/dist/agents/plugins/claude/claude.plugin.js +18 -0
  23. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  24. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  25. package/dist/agents/plugins/claude/plugin/commands/README.md +2 -31
  26. package/dist/agents/plugins/claude/plugin/commands/codemie-catchup.md +5 -0
  27. package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +5 -0
  28. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +0 -15
  29. package/dist/agents/plugins/claude/plugin/skills/msgraph/README.md +4 -1
  30. package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +27 -8
  31. package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +63 -3
  32. package/dist/agents/plugins/claude/plugin/skills/report-issue/SKILL.md +1 -0
  33. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
  34. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +2 -0
  35. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
  36. package/dist/agents/plugins/codex/codex-message-types.d.ts +80 -0
  37. package/dist/agents/plugins/codex/codex-message-types.d.ts.map +1 -0
  38. package/dist/agents/plugins/codex/codex-message-types.js +36 -0
  39. package/dist/agents/plugins/codex/codex-message-types.js.map +1 -0
  40. package/dist/agents/plugins/codex/codex-models.d.ts +9 -0
  41. package/dist/agents/plugins/codex/codex-models.d.ts.map +1 -0
  42. package/dist/agents/plugins/codex/codex-models.js +227 -0
  43. package/dist/agents/plugins/codex/codex-models.js.map +1 -0
  44. package/dist/agents/plugins/codex/codex.incremental-sync.d.ts +39 -0
  45. package/dist/agents/plugins/codex/codex.incremental-sync.d.ts.map +1 -0
  46. package/dist/agents/plugins/codex/codex.incremental-sync.js +147 -0
  47. package/dist/agents/plugins/codex/codex.incremental-sync.js.map +1 -0
  48. package/dist/agents/plugins/codex/codex.paths.d.ts +29 -0
  49. package/dist/agents/plugins/codex/codex.paths.d.ts.map +1 -0
  50. package/dist/agents/plugins/codex/codex.paths.js +43 -0
  51. package/dist/agents/plugins/codex/codex.paths.js.map +1 -0
  52. package/dist/agents/plugins/codex/codex.plugin.d.ts +80 -0
  53. package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -0
  54. package/dist/agents/plugins/codex/codex.plugin.js +474 -0
  55. package/dist/agents/plugins/codex/codex.plugin.js.map +1 -0
  56. package/dist/agents/plugins/codex/codex.reconciliation.d.ts +43 -0
  57. package/dist/agents/plugins/codex/codex.reconciliation.d.ts.map +1 -0
  58. package/dist/agents/plugins/codex/codex.reconciliation.js +141 -0
  59. package/dist/agents/plugins/codex/codex.reconciliation.js.map +1 -0
  60. package/dist/agents/plugins/codex/codex.session.d.ts +58 -0
  61. package/dist/agents/plugins/codex/codex.session.d.ts.map +1 -0
  62. package/dist/agents/plugins/codex/codex.session.js +326 -0
  63. package/dist/agents/plugins/codex/codex.session.js.map +1 -0
  64. package/dist/agents/plugins/codex/codex.storage-utils.d.ts +15 -0
  65. package/dist/agents/plugins/codex/codex.storage-utils.d.ts.map +1 -0
  66. package/dist/agents/plugins/codex/codex.storage-utils.js +19 -0
  67. package/dist/agents/plugins/codex/codex.storage-utils.js.map +1 -0
  68. package/dist/agents/plugins/codex/index.d.ts +7 -0
  69. package/dist/agents/plugins/codex/index.d.ts.map +1 -0
  70. package/dist/agents/plugins/codex/index.js +9 -0
  71. package/dist/agents/plugins/codex/index.js.map +1 -0
  72. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.d.ts +24 -0
  73. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.d.ts.map +1 -0
  74. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.js +613 -0
  75. package/dist/agents/plugins/codex/session/processors/codex.conversations-processor.js.map +1 -0
  76. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.d.ts +21 -0
  77. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.d.ts.map +1 -0
  78. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.js +124 -0
  79. package/dist/agents/plugins/codex/session/processors/codex.metrics-processor.js.map +1 -0
  80. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.d.ts.map +1 -1
  81. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js +1 -0
  82. package/dist/agents/plugins/gemini/session/processors/gemini.conversations-processor.js.map +1 -1
  83. package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts.map +1 -1
  84. package/dist/agents/plugins/opencode/opencode.storage-utils.js +2 -29
  85. package/dist/agents/plugins/opencode/opencode.storage-utils.js.map +1 -1
  86. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts.map +1 -1
  87. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js.map +1 -1
  88. package/dist/agents/registry.d.ts.map +1 -1
  89. package/dist/agents/registry.js +2 -0
  90. package/dist/agents/registry.js.map +1 -1
  91. package/dist/assets/demo.gif +0 -0
  92. package/dist/assets/skills-sh-egress-guard.cjs +166 -0
  93. package/dist/bin/codebase-memory-ui-daemon.d.ts +2 -0
  94. package/dist/bin/codebase-memory-ui-daemon.d.ts.map +1 -0
  95. package/dist/bin/codebase-memory-ui-daemon.js +141 -0
  96. package/dist/bin/codebase-memory-ui-daemon.js.map +1 -0
  97. package/dist/bin/proxy-daemon.js +4 -0
  98. package/dist/bin/proxy-daemon.js.map +1 -1
  99. package/dist/cli/commands/assistants/constants.js +2 -2
  100. package/dist/cli/commands/assistants/constants.js.map +1 -1
  101. package/dist/cli/commands/assistants/setup/configuration/constants.js +4 -4
  102. package/dist/cli/commands/assistants/setup/configuration/constants.js.map +1 -1
  103. package/dist/cli/commands/assistants/setup/configuration/ui.d.ts.map +1 -1
  104. package/dist/cli/commands/assistants/setup/configuration/ui.js +10 -13
  105. package/dist/cli/commands/assistants/setup/configuration/ui.js.map +1 -1
  106. package/dist/cli/commands/assistants/setup/constants.d.ts +1 -25
  107. package/dist/cli/commands/assistants/setup/constants.d.ts.map +1 -1
  108. package/dist/cli/commands/assistants/setup/constants.js +1 -20
  109. package/dist/cli/commands/assistants/setup/constants.js.map +1 -1
  110. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts +4 -4
  111. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -1
  112. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +11 -10
  113. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -1
  114. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts +4 -4
  115. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -1
  116. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +11 -9
  117. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -1
  118. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.d.ts +4 -0
  119. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.d.ts.map +1 -0
  120. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js +76 -0
  121. package/dist/cli/commands/assistants/setup/generators/codex-skill-generator.js.map +1 -0
  122. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.d.ts +4 -0
  123. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.d.ts.map +1 -0
  124. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js +68 -0
  125. package/dist/cli/commands/assistants/setup/generators/gemini-skill-generator.js.map +1 -0
  126. package/dist/cli/commands/assistants/setup/helpers.d.ts +5 -18
  127. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
  128. package/dist/cli/commands/assistants/setup/helpers.js +45 -60
  129. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
  130. package/dist/cli/commands/assistants/setup/index.d.ts +3 -9
  131. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
  132. package/dist/cli/commands/assistants/setup/index.js +26 -167
  133. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  134. package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts +2 -2
  135. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js +2 -2
  136. package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js.map +1 -1
  137. package/dist/cli/commands/assistants/setup/selection/actions.d.ts +1 -30
  138. package/dist/cli/commands/assistants/setup/selection/actions.d.ts.map +1 -1
  139. package/dist/cli/commands/assistants/setup/selection/actions.js +1 -320
  140. package/dist/cli/commands/assistants/setup/selection/actions.js.map +1 -1
  141. package/dist/cli/commands/assistants/setup/selection/constants.d.ts +3 -65
  142. package/dist/cli/commands/assistants/setup/selection/constants.d.ts.map +1 -1
  143. package/dist/cli/commands/assistants/setup/selection/constants.js +4 -81
  144. package/dist/cli/commands/assistants/setup/selection/constants.js.map +1 -1
  145. package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -9
  146. package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
  147. package/dist/cli/commands/assistants/setup/selection/index.js +14 -34
  148. package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
  149. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts +1 -19
  150. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
  151. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +1 -338
  152. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
  153. package/dist/cli/commands/assistants/setup/selection/types.d.ts +7 -23
  154. package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
  155. package/dist/cli/commands/assistants/setup/selection/ui.d.ts +0 -8
  156. package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
  157. package/dist/cli/commands/assistants/setup/selection/ui.js +14 -135
  158. package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
  159. package/dist/cli/commands/assistants/setup/summary/index.d.ts.map +1 -1
  160. package/dist/cli/commands/assistants/setup/summary/index.js +14 -8
  161. package/dist/cli/commands/assistants/setup/summary/index.js.map +1 -1
  162. package/dist/cli/commands/codebase/daemon-manager.d.ts +24 -0
  163. package/dist/cli/commands/codebase/daemon-manager.d.ts.map +1 -0
  164. package/dist/cli/commands/codebase/daemon-manager.js +112 -0
  165. package/dist/cli/commands/codebase/daemon-manager.js.map +1 -0
  166. package/dist/cli/commands/codebase/index.d.ts +3 -0
  167. package/dist/cli/commands/codebase/index.d.ts.map +1 -0
  168. package/dist/cli/commands/codebase/index.js +130 -0
  169. package/dist/cli/commands/codebase/index.js.map +1 -0
  170. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  171. package/dist/cli/commands/doctor/index.js +10 -1
  172. package/dist/cli/commands/doctor/index.js.map +1 -1
  173. package/dist/cli/commands/hook.d.ts.map +1 -1
  174. package/dist/cli/commands/hook.js +15 -2
  175. package/dist/cli/commands/hook.js.map +1 -1
  176. package/dist/cli/commands/install.js +2 -2
  177. package/dist/cli/commands/install.js.map +1 -1
  178. package/dist/cli/commands/profile/index.d.ts +14 -0
  179. package/dist/cli/commands/profile/index.d.ts.map +1 -1
  180. package/dist/cli/commands/profile/index.js +110 -27
  181. package/dist/cli/commands/profile/index.js.map +1 -1
  182. package/dist/cli/commands/proxy/connectors/desktop-managed-mcp-servers.json +50 -0
  183. package/dist/cli/commands/proxy/connectors/desktop.d.ts +17 -9
  184. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  185. package/dist/cli/commands/proxy/connectors/desktop.js +139 -19
  186. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  187. package/dist/cli/commands/proxy/daemon-manager.d.ts +1 -0
  188. package/dist/cli/commands/proxy/daemon-manager.d.ts.map +1 -1
  189. package/dist/cli/commands/proxy/daemon-manager.js +2 -0
  190. package/dist/cli/commands/proxy/daemon-manager.js.map +1 -1
  191. package/dist/cli/commands/proxy/index.d.ts.map +1 -1
  192. package/dist/cli/commands/proxy/index.js +131 -52
  193. package/dist/cli/commands/proxy/index.js.map +1 -1
  194. package/dist/cli/commands/setup.d.ts.map +1 -1
  195. package/dist/cli/commands/setup.js +3 -1
  196. package/dist/cli/commands/setup.js.map +1 -1
  197. package/dist/cli/commands/shared/agent-targets.d.ts +10 -0
  198. package/dist/cli/commands/shared/agent-targets.d.ts.map +1 -0
  199. package/dist/cli/commands/shared/agent-targets.js +220 -0
  200. package/dist/cli/commands/shared/agent-targets.js.map +1 -0
  201. package/dist/cli/commands/shared/constants.d.ts +15 -0
  202. package/dist/cli/commands/shared/constants.d.ts.map +1 -0
  203. package/dist/cli/commands/shared/constants.js +10 -0
  204. package/dist/cli/commands/shared/constants.js.map +1 -0
  205. package/dist/cli/commands/shared/helpers.d.ts +12 -0
  206. package/dist/cli/commands/shared/helpers.d.ts.map +1 -0
  207. package/dist/cli/commands/shared/helpers.js +54 -0
  208. package/dist/cli/commands/shared/helpers.js.map +1 -0
  209. package/dist/cli/commands/shared/prompts/storage-scope.d.ts +6 -0
  210. package/dist/cli/commands/shared/prompts/storage-scope.d.ts.map +1 -0
  211. package/dist/cli/commands/shared/prompts/storage-scope.js +91 -0
  212. package/dist/cli/commands/shared/prompts/storage-scope.js.map +1 -0
  213. package/dist/cli/commands/shared/selection/actions.d.ts +40 -0
  214. package/dist/cli/commands/shared/selection/actions.d.ts.map +1 -0
  215. package/dist/cli/commands/shared/selection/actions.js +264 -0
  216. package/dist/cli/commands/shared/selection/actions.js.map +1 -0
  217. package/dist/cli/commands/shared/selection/constants.d.ts +68 -0
  218. package/dist/cli/commands/shared/selection/constants.d.ts.map +1 -0
  219. package/dist/cli/commands/shared/selection/constants.js +70 -0
  220. package/dist/cli/commands/shared/selection/constants.js.map +1 -0
  221. package/dist/cli/commands/shared/selection/interactive-prompt.d.ts +16 -0
  222. package/dist/cli/commands/shared/selection/interactive-prompt.d.ts.map +1 -0
  223. package/dist/cli/commands/shared/selection/interactive-prompt.js +276 -0
  224. package/dist/cli/commands/shared/selection/interactive-prompt.js.map +1 -0
  225. package/dist/cli/commands/shared/selection/types.d.ts +31 -0
  226. package/dist/cli/commands/shared/selection/types.d.ts.map +1 -0
  227. package/dist/cli/commands/shared/selection/types.js +2 -0
  228. package/dist/cli/commands/shared/selection/types.js.map +1 -0
  229. package/dist/cli/commands/shared/selection/ui.d.ts +31 -0
  230. package/dist/cli/commands/shared/selection/ui.d.ts.map +1 -0
  231. package/dist/cli/commands/shared/selection/ui.js +126 -0
  232. package/dist/cli/commands/shared/selection/ui.js.map +1 -0
  233. package/dist/cli/commands/skills/add.d.ts +9 -0
  234. package/dist/cli/commands/skills/add.d.ts.map +1 -0
  235. package/dist/cli/commands/skills/add.js +187 -0
  236. package/dist/cli/commands/skills/add.js.map +1 -0
  237. package/dist/cli/commands/skills/find.d.ts +17 -0
  238. package/dist/cli/commands/skills/find.d.ts.map +1 -0
  239. package/dist/cli/commands/skills/find.js +94 -0
  240. package/dist/cli/commands/skills/find.js.map +1 -0
  241. package/dist/cli/commands/skills/index.d.ts +10 -0
  242. package/dist/cli/commands/skills/index.d.ts.map +1 -0
  243. package/dist/cli/commands/skills/index.js +23 -0
  244. package/dist/cli/commands/skills/index.js.map +1 -0
  245. package/dist/cli/commands/skills/lib/agent-detection.d.ts +27 -0
  246. package/dist/cli/commands/skills/lib/agent-detection.d.ts.map +1 -0
  247. package/dist/cli/commands/skills/lib/agent-detection.js +50 -0
  248. package/dist/cli/commands/skills/lib/agent-detection.js.map +1 -0
  249. package/dist/cli/commands/skills/lib/error-classify.d.ts +14 -0
  250. package/dist/cli/commands/skills/lib/error-classify.d.ts.map +1 -0
  251. package/dist/cli/commands/skills/lib/error-classify.js +64 -0
  252. package/dist/cli/commands/skills/lib/error-classify.js.map +1 -0
  253. package/dist/cli/commands/skills/lib/require-auth.d.ts +17 -0
  254. package/dist/cli/commands/skills/lib/require-auth.d.ts.map +1 -0
  255. package/dist/cli/commands/skills/lib/require-auth.js +44 -0
  256. package/dist/cli/commands/skills/lib/require-auth.js.map +1 -0
  257. package/dist/cli/commands/skills/lib/result-render.d.ts +26 -0
  258. package/dist/cli/commands/skills/lib/result-render.d.ts.map +1 -0
  259. package/dist/cli/commands/skills/lib/result-render.js +77 -0
  260. package/dist/cli/commands/skills/lib/result-render.js.map +1 -0
  261. package/dist/cli/commands/skills/lib/run-skills-cli.d.ts +46 -0
  262. package/dist/cli/commands/skills/lib/run-skills-cli.d.ts.map +1 -0
  263. package/dist/cli/commands/skills/lib/run-skills-cli.js +217 -0
  264. package/dist/cli/commands/skills/lib/run-skills-cli.js.map +1 -0
  265. package/dist/cli/commands/skills/lib/sanitize.d.ts +17 -0
  266. package/dist/cli/commands/skills/lib/sanitize.d.ts.map +1 -0
  267. package/dist/cli/commands/skills/lib/sanitize.js +73 -0
  268. package/dist/cli/commands/skills/lib/sanitize.js.map +1 -0
  269. package/dist/cli/commands/skills/lib/skills-metrics.d.ts +74 -0
  270. package/dist/cli/commands/skills/lib/skills-metrics.d.ts.map +1 -0
  271. package/dist/cli/commands/skills/lib/skills-metrics.js +304 -0
  272. package/dist/cli/commands/skills/lib/skills-metrics.js.map +1 -0
  273. package/dist/cli/commands/skills/lib/skills-search-client.d.ts +36 -0
  274. package/dist/cli/commands/skills/lib/skills-search-client.d.ts.map +1 -0
  275. package/dist/cli/commands/skills/lib/skills-search-client.js +147 -0
  276. package/dist/cli/commands/skills/lib/skills-search-client.js.map +1 -0
  277. package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts +10 -0
  278. package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts.map +1 -0
  279. package/dist/cli/commands/skills/lib/skills-sh-telemetry.js +33 -0
  280. package/dist/cli/commands/skills/lib/skills-sh-telemetry.js.map +1 -0
  281. package/dist/cli/commands/skills/list.d.ts +13 -0
  282. package/dist/cli/commands/skills/list.d.ts.map +1 -0
  283. package/dist/cli/commands/skills/list.js +55 -0
  284. package/dist/cli/commands/skills/list.js.map +1 -0
  285. package/dist/cli/commands/skills/remove.d.ts +11 -0
  286. package/dist/cli/commands/skills/remove.d.ts.map +1 -0
  287. package/dist/cli/commands/skills/remove.js +93 -0
  288. package/dist/cli/commands/skills/remove.js.map +1 -0
  289. package/dist/cli/commands/skills/setup/constants.d.ts +2 -0
  290. package/dist/cli/commands/skills/setup/constants.d.ts.map +1 -0
  291. package/dist/cli/commands/skills/setup/constants.js +2 -0
  292. package/dist/cli/commands/skills/setup/constants.js.map +1 -0
  293. package/dist/cli/commands/skills/setup/data.d.ts +28 -0
  294. package/dist/cli/commands/skills/setup/data.d.ts.map +1 -0
  295. package/dist/cli/commands/skills/setup/data.js +79 -0
  296. package/dist/cli/commands/skills/setup/data.js.map +1 -0
  297. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts +12 -0
  298. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts.map +1 -0
  299. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js +94 -0
  300. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js.map +1 -0
  301. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.d.ts +4 -0
  302. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.d.ts.map +1 -0
  303. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.js +51 -0
  304. package/dist/cli/commands/skills/setup/generators/codex-skill-generator.js.map +1 -0
  305. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.d.ts +4 -0
  306. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.d.ts.map +1 -0
  307. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.js +51 -0
  308. package/dist/cli/commands/skills/setup/generators/gemini-skill-generator.js.map +1 -0
  309. package/dist/cli/commands/skills/setup/helpers.d.ts +13 -0
  310. package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -0
  311. package/dist/cli/commands/skills/setup/helpers.js +56 -0
  312. package/dist/cli/commands/skills/setup/helpers.js.map +1 -0
  313. package/dist/cli/commands/skills/setup/index.d.ts +6 -0
  314. package/dist/cli/commands/skills/setup/index.d.ts.map +1 -0
  315. package/dist/cli/commands/skills/setup/index.js +140 -0
  316. package/dist/cli/commands/skills/setup/index.js.map +1 -0
  317. package/dist/cli/commands/skills/setup/selection/actions.d.ts +2 -0
  318. package/dist/cli/commands/skills/setup/selection/actions.d.ts.map +1 -0
  319. package/dist/cli/commands/skills/setup/selection/actions.js +2 -0
  320. package/dist/cli/commands/skills/setup/selection/actions.js.map +1 -0
  321. package/dist/cli/commands/skills/setup/selection/constants.d.ts +11 -0
  322. package/dist/cli/commands/skills/setup/selection/constants.d.ts.map +1 -0
  323. package/dist/cli/commands/skills/setup/selection/constants.js +11 -0
  324. package/dist/cli/commands/skills/setup/selection/constants.js.map +1 -0
  325. package/dist/cli/commands/skills/setup/selection/index.d.ts +13 -0
  326. package/dist/cli/commands/skills/setup/selection/index.d.ts.map +1 -0
  327. package/dist/cli/commands/skills/setup/selection/index.js +113 -0
  328. package/dist/cli/commands/skills/setup/selection/index.js.map +1 -0
  329. package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts +2 -0
  330. package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts.map +1 -0
  331. package/dist/cli/commands/skills/setup/selection/interactive-prompt.js +2 -0
  332. package/dist/cli/commands/skills/setup/selection/interactive-prompt.js.map +1 -0
  333. package/dist/cli/commands/skills/setup/selection/types.d.ts +13 -0
  334. package/dist/cli/commands/skills/setup/selection/types.d.ts.map +1 -0
  335. package/dist/cli/commands/skills/setup/selection/types.js +2 -0
  336. package/dist/cli/commands/skills/setup/selection/types.js.map +1 -0
  337. package/dist/cli/commands/skills/setup/selection/ui.d.ts +3 -0
  338. package/dist/cli/commands/skills/setup/selection/ui.d.ts.map +1 -0
  339. package/dist/cli/commands/skills/setup/selection/ui.js +63 -0
  340. package/dist/cli/commands/skills/setup/selection/ui.js.map +1 -0
  341. package/dist/cli/commands/skills/setup/sync.d.ts +13 -0
  342. package/dist/cli/commands/skills/setup/sync.d.ts.map +1 -0
  343. package/dist/cli/commands/skills/setup/sync.js +46 -0
  344. package/dist/cli/commands/skills/setup/sync.js.map +1 -0
  345. package/dist/cli/commands/skills/update.d.ts +7 -0
  346. package/dist/cli/commands/skills/update.d.ts.map +1 -0
  347. package/dist/cli/commands/skills/update.js +71 -0
  348. package/dist/cli/commands/skills/update.js.map +1 -0
  349. package/dist/cli/commands/test-metrics.js +3 -4
  350. package/dist/cli/commands/test-metrics.js.map +1 -1
  351. package/dist/cli/first-time.d.ts.map +1 -1
  352. package/dist/cli/first-time.js +4 -0
  353. package/dist/cli/first-time.js.map +1 -1
  354. package/dist/cli/index.js +5 -0
  355. package/dist/cli/index.js.map +1 -1
  356. package/dist/env/types.d.ts +16 -0
  357. package/dist/env/types.d.ts.map +1 -1
  358. package/dist/env/types.js.map +1 -1
  359. package/dist/frameworks/plugins/bmad.plugin.d.ts +10 -1
  360. package/dist/frameworks/plugins/bmad.plugin.d.ts.map +1 -1
  361. package/dist/frameworks/plugins/bmad.plugin.js +108 -9
  362. package/dist/frameworks/plugins/bmad.plugin.js.map +1 -1
  363. package/dist/frameworks/plugins/codebase-memory.plugin.d.ts +18 -0
  364. package/dist/frameworks/plugins/codebase-memory.plugin.d.ts.map +1 -0
  365. package/dist/frameworks/plugins/codebase-memory.plugin.js +131 -0
  366. package/dist/frameworks/plugins/codebase-memory.plugin.js.map +1 -0
  367. package/dist/frameworks/plugins/index.d.ts +1 -0
  368. package/dist/frameworks/plugins/index.d.ts.map +1 -1
  369. package/dist/frameworks/plugins/index.js +3 -0
  370. package/dist/frameworks/plugins/index.js.map +1 -1
  371. package/dist/providers/core/types.d.ts +1 -1
  372. package/dist/providers/core/types.d.ts.map +1 -1
  373. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.d.ts.map +1 -1
  374. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js +26 -2
  375. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js.map +1 -1
  376. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts +31 -0
  377. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -0
  378. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +148 -0
  379. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -0
  380. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts +20 -0
  381. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts.map +1 -0
  382. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js +104 -0
  383. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js.map +1 -0
  384. package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.d.ts.map +1 -1
  385. package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.js +24 -3
  386. package/dist/providers/plugins/sso/proxy/plugins/gateway-key.plugin.js.map +1 -1
  387. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +5 -0
  388. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
  389. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +14 -13
  390. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  391. package/dist/providers/plugins/sso/proxy/plugins/index.js +19 -17
  392. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  393. package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.js +10 -3
  394. package/dist/providers/plugins/sso/proxy/plugins/logging.plugin.js.map +1 -1
  395. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.d.ts.map +1 -1
  396. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js +26 -8
  397. package/dist/providers/plugins/sso/proxy/plugins/sso.session-sync.plugin.js.map +1 -1
  398. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  399. package/dist/providers/plugins/sso/proxy/sso.proxy.js +21 -4
  400. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  401. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  402. package/dist/providers/plugins/sso/session/SessionSyncer.js +5 -72
  403. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  404. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts +1 -1
  405. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.d.ts.map +1 -1
  406. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js +95 -4
  407. package/dist/providers/plugins/sso/session/processors/conversations/apiClient.js.map +1 -1
  408. package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts +2 -2
  409. package/dist/providers/plugins/sso/session/processors/conversations/constants.d.ts.map +1 -1
  410. package/dist/providers/plugins/sso/session/processors/conversations/constants.js +2 -2
  411. package/dist/providers/plugins/sso/session/processors/conversations/constants.js.map +1 -1
  412. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -1
  413. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +85 -21
  414. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
  415. package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts +10 -2
  416. package/dist/providers/plugins/sso/session/processors/conversations/types.d.ts.map +1 -1
  417. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts +1 -1
  418. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
  419. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +80 -46
  420. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
  421. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts +1 -9
  422. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.d.ts.map +1 -1
  423. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js +94 -30
  424. package/dist/providers/plugins/sso/session/processors/metrics/metrics-api-client.js.map +1 -1
  425. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts +4 -6
  426. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.d.ts.map +1 -1
  427. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js +24 -25
  428. package/dist/providers/plugins/sso/session/processors/metrics/metrics-post-processor.js.map +1 -1
  429. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  430. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +140 -99
  431. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  432. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts +11 -3
  433. package/dist/providers/plugins/sso/session/processors/metrics/metrics-types.d.ts.map +1 -1
  434. package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
  435. package/dist/providers/plugins/sso/sso.auth.js +22 -4
  436. package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
  437. package/dist/providers/plugins/sso/sso.http-client.d.ts +1 -1
  438. package/dist/providers/plugins/sso/sso.http-client.js +3 -3
  439. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  440. package/dist/providers/plugins/sso/sso.models.js +2 -2
  441. package/dist/providers/plugins/sso/sso.models.js.map +1 -1
  442. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  443. package/dist/providers/plugins/sso/sso.setup-steps.js +8 -12
  444. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  445. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.d.ts.map +1 -1
  446. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js +4 -1
  447. package/dist/telemetry/clients/claude-desktop/claude-desktop.paths.js.map +1 -1
  448. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -1
  449. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +1 -3
  450. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -1
  451. package/dist/utils/browser.d.ts +7 -0
  452. package/dist/utils/browser.d.ts.map +1 -0
  453. package/dist/utils/browser.js +10 -0
  454. package/dist/utils/browser.js.map +1 -0
  455. package/dist/utils/config.d.ts +14 -3
  456. package/dist/utils/config.d.ts.map +1 -1
  457. package/dist/utils/config.js +102 -6
  458. package/dist/utils/config.js.map +1 -1
  459. package/dist/utils/paths.d.ts +8 -0
  460. package/dist/utils/paths.d.ts.map +1 -1
  461. package/dist/utils/paths.js +15 -0
  462. package/dist/utils/paths.js.map +1 -1
  463. package/package.json +23 -10
  464. package/scripts/compare-codex-conversations.mjs +894 -0
  465. package/scripts/copy-plugins.js +5 -0
  466. package/scripts/sonar/package.json +3 -0
  467. package/scripts/sonar/run-local-sonar.js +405 -0
  468. package/scripts/validate-secrets.js +7 -3
  469. package/dist/agents/plugins/claude/plugin/claude-templates/README.md +0 -539
  470. package/dist/agents/plugins/claude/plugin/claude-templates/templates/CLAUDE.md.template +0 -252
  471. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/code-review-agent-template.md.template +0 -433
  472. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/refactor-cleaner-agent.md.template +0 -337
  473. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/solution-architect-agent.md.template +0 -197
  474. package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/unit-tester-agent.md.template +0 -258
  475. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/api/api-patterns.md.template +0 -179
  476. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/architecture.md.template +0 -197
  477. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/data/database-patterns.md.template +0 -248
  478. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/development/development-practices.md.template +0 -298
  479. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/integration/external-integrations.md.template +0 -160
  480. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/security/security-practices.md.template +0 -295
  481. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/code-quality.md.template +0 -186
  482. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/git-workflow.md.template +0 -177
  483. package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/testing/testing-patterns.md.template +0 -315
  484. package/dist/agents/plugins/claude/plugin/commands/codemie-commit.md +0 -31
  485. package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +0 -523
  486. package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +0 -544
  487. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +0 -81
  488. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-baseline.sh +0 -39
  489. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/SKILL.md +0 -206
  490. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-agent.md +0 -45
  491. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-claude-md-snippet.md +0 -40
  492. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-command.md +0 -30
  493. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-hooks.json +0 -23
  494. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/bad-skill.md +0 -48
  495. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-agent.md +0 -145
  496. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-claude-md-snippet.md +0 -126
  497. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-command.md +0 -170
  498. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-hooks.json +0 -46
  499. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/good-skill.md +0 -144
  500. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/examples/sample-report.md +0 -223
  501. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/best-practices.md +0 -510
  502. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/references/component-checklists.md +0 -413
  503. package/dist/agents/plugins/claude/plugin/skills/claude-setup-audit/scripts/scan-repo.sh +0 -162
  504. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts +0 -30
  505. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts.map +0 -1
  506. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js +0 -111
  507. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js.map +0 -1
@@ -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":"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"}
@@ -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"}