oh-my-codex 0.15.0 → 0.15.2

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 (533) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +36 -5
  4. package/crates/omx-explore/src/main.rs +222 -12
  5. package/dist/agents/__tests__/native-config.test.js +40 -0
  6. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  7. package/dist/agents/native-config.d.ts +1 -0
  8. package/dist/agents/native-config.d.ts.map +1 -1
  9. package/dist/agents/native-config.js +6 -1
  10. package/dist/agents/native-config.js.map +1 -1
  11. package/dist/agents/policy.d.ts +1 -0
  12. package/dist/agents/policy.d.ts.map +1 -1
  13. package/dist/agents/policy.js +4 -0
  14. package/dist/agents/policy.js.map +1 -1
  15. package/dist/cli/__tests__/autoresearch-guided.test.js +37 -13
  16. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
  17. package/dist/cli/__tests__/codex-plugin-layout.test.js +1 -1
  18. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  19. package/dist/cli/__tests__/doctor-team.test.js +46 -1
  20. package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
  21. package/dist/cli/__tests__/doctor-warning-copy.test.js +225 -111
  22. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  23. package/dist/cli/__tests__/exec.test.js +96 -1
  24. package/dist/cli/__tests__/exec.test.js.map +1 -1
  25. package/dist/cli/__tests__/explore.test.js +15 -2
  26. package/dist/cli/__tests__/explore.test.js.map +1 -1
  27. package/dist/cli/__tests__/index.test.js +292 -3
  28. package/dist/cli/__tests__/index.test.js.map +1 -1
  29. package/dist/cli/__tests__/launch-fallback.test.js +223 -0
  30. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  31. package/dist/cli/__tests__/mcp-parity.test.js +86 -0
  32. package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
  33. package/dist/cli/__tests__/package-bin-contract.test.js +23 -0
  34. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  35. package/dist/cli/__tests__/question.test.js +76 -11
  36. package/dist/cli/__tests__/question.test.js.map +1 -1
  37. package/dist/cli/__tests__/setup-agents-overwrite.test.js +140 -1
  38. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  39. package/dist/cli/__tests__/setup-install-mode.test.js +310 -4
  40. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  41. package/dist/cli/__tests__/setup-prompts-overwrite.test.js +78 -19
  42. package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
  43. package/dist/cli/__tests__/setup-refresh.test.js +79 -2
  44. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  45. package/dist/cli/__tests__/sidecar.test.d.ts +2 -0
  46. package/dist/cli/__tests__/sidecar.test.d.ts.map +1 -0
  47. package/dist/cli/__tests__/sidecar.test.js +24 -0
  48. package/dist/cli/__tests__/sidecar.test.js.map +1 -0
  49. package/dist/cli/__tests__/team.test.js +54 -7
  50. package/dist/cli/__tests__/team.test.js.map +1 -1
  51. package/dist/cli/autoresearch-guided.d.ts.map +1 -1
  52. package/dist/cli/autoresearch-guided.js +12 -4
  53. package/dist/cli/autoresearch-guided.js.map +1 -1
  54. package/dist/cli/codex-home.d.ts +4 -6
  55. package/dist/cli/codex-home.d.ts.map +1 -1
  56. package/dist/cli/codex-home.js +9 -41
  57. package/dist/cli/codex-home.js.map +1 -1
  58. package/dist/cli/doctor.d.ts +1 -1
  59. package/dist/cli/doctor.d.ts.map +1 -1
  60. package/dist/cli/doctor.js +509 -279
  61. package/dist/cli/doctor.js.map +1 -1
  62. package/dist/cli/index.d.ts +6 -4
  63. package/dist/cli/index.d.ts.map +1 -1
  64. package/dist/cli/index.js +284 -25
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/cli/omx.js +3 -1
  67. package/dist/cli/omx.js.map +1 -1
  68. package/dist/cli/plugin-marketplace.d.ts +13 -0
  69. package/dist/cli/plugin-marketplace.d.ts.map +1 -0
  70. package/dist/cli/plugin-marketplace.js +77 -0
  71. package/dist/cli/plugin-marketplace.js.map +1 -0
  72. package/dist/cli/question.d.ts +1 -1
  73. package/dist/cli/question.d.ts.map +1 -1
  74. package/dist/cli/question.js +26 -12
  75. package/dist/cli/question.js.map +1 -1
  76. package/dist/cli/setup-preferences.d.ts +20 -0
  77. package/dist/cli/setup-preferences.d.ts.map +1 -0
  78. package/dist/cli/setup-preferences.js +71 -0
  79. package/dist/cli/setup-preferences.js.map +1 -0
  80. package/dist/cli/setup.d.ts +7 -5
  81. package/dist/cli/setup.d.ts.map +1 -1
  82. package/dist/cli/setup.js +271 -152
  83. package/dist/cli/setup.js.map +1 -1
  84. package/dist/cli/team.d.ts +1 -0
  85. package/dist/cli/team.d.ts.map +1 -1
  86. package/dist/cli/team.js +70 -15
  87. package/dist/cli/team.js.map +1 -1
  88. package/dist/config/__tests__/generator-idempotent.test.js +100 -3
  89. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  90. package/dist/config/__tests__/generator-notify.test.js +6 -5
  91. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  92. package/dist/config/__tests__/generator-status-line-presets.test.d.ts +2 -0
  93. package/dist/config/__tests__/generator-status-line-presets.test.d.ts.map +1 -0
  94. package/dist/config/__tests__/generator-status-line-presets.test.js +203 -0
  95. package/dist/config/__tests__/generator-status-line-presets.test.js.map +1 -0
  96. package/dist/config/__tests__/models.test.js +23 -1
  97. package/dist/config/__tests__/models.test.js.map +1 -1
  98. package/dist/config/generator.d.ts +9 -1
  99. package/dist/config/generator.d.ts.map +1 -1
  100. package/dist/config/generator.js +184 -16
  101. package/dist/config/generator.js.map +1 -1
  102. package/dist/config/models.d.ts +5 -1
  103. package/dist/config/models.d.ts.map +1 -1
  104. package/dist/config/models.js +12 -2
  105. package/dist/config/models.js.map +1 -1
  106. package/dist/exec/followup.d.ts +44 -0
  107. package/dist/exec/followup.d.ts.map +1 -0
  108. package/dist/exec/followup.js +349 -0
  109. package/dist/exec/followup.js.map +1 -0
  110. package/dist/hooks/__tests__/autopilot-skill-contract.test.d.ts +2 -0
  111. package/dist/hooks/__tests__/autopilot-skill-contract.test.d.ts.map +1 -0
  112. package/dist/hooks/__tests__/autopilot-skill-contract.test.js +37 -0
  113. package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -0
  114. package/dist/hooks/__tests__/codebase-map.test.js +63 -1
  115. package/dist/hooks/__tests__/codebase-map.test.js.map +1 -1
  116. package/dist/hooks/__tests__/consensus-execution-handoff.test.d.ts +1 -1
  117. package/dist/hooks/__tests__/consensus-execution-handoff.test.js +5 -5
  118. package/dist/hooks/__tests__/consensus-execution-handoff.test.js.map +1 -1
  119. package/dist/hooks/__tests__/deep-interview-contract.test.js +12 -9
  120. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
  121. package/dist/hooks/__tests__/keyword-detector.test.js +25 -18
  122. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  123. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +23 -2
  124. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  125. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +45 -2
  126. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  127. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +17 -0
  128. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
  129. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +121 -0
  130. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
  131. package/dist/hooks/__tests__/notify-hook-regression-205.test.js +4 -4
  132. package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
  133. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +103 -0
  134. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  135. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +2 -2
  136. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  137. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +27 -13
  138. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
  139. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts +2 -0
  140. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts.map +1 -0
  141. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js +35 -0
  142. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js.map +1 -0
  143. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +215 -0
  144. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  145. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +70 -3
  146. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  147. package/dist/hooks/__tests__/pre-context-gate-skills.test.js +5 -0
  148. package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -1
  149. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js +3 -2
  150. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js.map +1 -1
  151. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +9 -0
  152. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -1
  153. package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts +2 -0
  154. package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts.map +1 -0
  155. package/dist/hooks/__tests__/prompt-refactor-contract.test.js +22 -0
  156. package/dist/hooks/__tests__/prompt-refactor-contract.test.js.map +1 -0
  157. package/dist/hooks/codebase-map.d.ts.map +1 -1
  158. package/dist/hooks/codebase-map.js +83 -6
  159. package/dist/hooks/codebase-map.js.map +1 -1
  160. package/dist/hooks/keyword-detector.d.ts +1 -1
  161. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  162. package/dist/hooks/keyword-detector.js +35 -4
  163. package/dist/hooks/keyword-detector.js.map +1 -1
  164. package/dist/hooks/prompt-guidance-contract.d.ts +6 -0
  165. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  166. package/dist/hooks/prompt-guidance-contract.js +117 -13
  167. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  168. package/dist/hooks/session.d.ts +2 -0
  169. package/dist/hooks/session.d.ts.map +1 -1
  170. package/dist/hooks/session.js +6 -0
  171. package/dist/hooks/session.js.map +1 -1
  172. package/dist/hud/__tests__/index.test.js +4 -4
  173. package/dist/hud/__tests__/index.test.js.map +1 -1
  174. package/dist/hud/__tests__/state.test.js +4 -0
  175. package/dist/hud/__tests__/state.test.js.map +1 -1
  176. package/dist/hud/__tests__/types.test.js +27 -0
  177. package/dist/hud/__tests__/types.test.js.map +1 -1
  178. package/dist/hud/state.d.ts.map +1 -1
  179. package/dist/hud/state.js +8 -0
  180. package/dist/hud/state.js.map +1 -1
  181. package/dist/hud/types.d.ts +9 -0
  182. package/dist/hud/types.d.ts.map +1 -1
  183. package/dist/hud/types.js +3 -0
  184. package/dist/hud/types.js.map +1 -1
  185. package/dist/mcp/__tests__/bootstrap.test.js +23 -5
  186. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
  187. package/dist/mcp/__tests__/server-lifecycle.test.js +50 -7
  188. package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
  189. package/dist/mcp/__tests__/state-server.test.js +70 -12
  190. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  191. package/dist/mcp/bootstrap.d.ts +10 -1
  192. package/dist/mcp/bootstrap.d.ts.map +1 -1
  193. package/dist/mcp/bootstrap.js +71 -26
  194. package/dist/mcp/bootstrap.js.map +1 -1
  195. package/dist/mcp/state-server.d.ts +5 -11
  196. package/dist/mcp/state-server.d.ts.map +1 -1
  197. package/dist/mcp/state-server.js +16 -432
  198. package/dist/mcp/state-server.js.map +1 -1
  199. package/dist/modes/__tests__/base-autoresearch-contract.test.js +1 -1
  200. package/dist/modes/__tests__/base-autoresearch-contract.test.js.map +1 -1
  201. package/dist/pipeline/__tests__/orchestrator.test.js +89 -5
  202. package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
  203. package/dist/pipeline/__tests__/stages.test.js +98 -1
  204. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  205. package/dist/pipeline/index.d.ts +5 -3
  206. package/dist/pipeline/index.d.ts.map +1 -1
  207. package/dist/pipeline/index.js +4 -3
  208. package/dist/pipeline/index.js.map +1 -1
  209. package/dist/pipeline/orchestrator.d.ts +7 -6
  210. package/dist/pipeline/orchestrator.d.ts.map +1 -1
  211. package/dist/pipeline/orchestrator.js +90 -11
  212. package/dist/pipeline/orchestrator.js.map +1 -1
  213. package/dist/pipeline/review-verdict.d.ts +3 -0
  214. package/dist/pipeline/review-verdict.d.ts.map +1 -0
  215. package/dist/pipeline/review-verdict.js +14 -0
  216. package/dist/pipeline/review-verdict.js.map +1 -0
  217. package/dist/pipeline/stages/code-review.d.ts +33 -0
  218. package/dist/pipeline/stages/code-review.d.ts.map +1 -0
  219. package/dist/pipeline/stages/code-review.js +51 -0
  220. package/dist/pipeline/stages/code-review.js.map +1 -0
  221. package/dist/pipeline/stages/ralph-verify.d.ts +12 -2
  222. package/dist/pipeline/stages/ralph-verify.d.ts.map +1 -1
  223. package/dist/pipeline/stages/ralph-verify.js +24 -6
  224. package/dist/pipeline/stages/ralph-verify.js.map +1 -1
  225. package/dist/pipeline/stages/ralplan.d.ts +1 -1
  226. package/dist/pipeline/stages/ralplan.d.ts.map +1 -1
  227. package/dist/pipeline/stages/ralplan.js +21 -1
  228. package/dist/pipeline/stages/ralplan.js.map +1 -1
  229. package/dist/pipeline/types.d.ts +14 -7
  230. package/dist/pipeline/types.d.ts.map +1 -1
  231. package/dist/pipeline/types.js +2 -2
  232. package/dist/planning/__tests__/artifacts.test.js +152 -1
  233. package/dist/planning/__tests__/artifacts.test.js.map +1 -1
  234. package/dist/planning/artifacts.d.ts +9 -0
  235. package/dist/planning/artifacts.d.ts.map +1 -1
  236. package/dist/planning/artifacts.js +60 -1
  237. package/dist/planning/artifacts.js.map +1 -1
  238. package/dist/question/__tests__/client.test.js +23 -3
  239. package/dist/question/__tests__/client.test.js.map +1 -1
  240. package/dist/question/__tests__/renderer.test.js +148 -37
  241. package/dist/question/__tests__/renderer.test.js.map +1 -1
  242. package/dist/question/__tests__/types.test.js +21 -0
  243. package/dist/question/__tests__/types.test.js.map +1 -1
  244. package/dist/question/__tests__/ui.test.js +155 -7
  245. package/dist/question/__tests__/ui.test.js.map +1 -1
  246. package/dist/question/client.d.ts +14 -4
  247. package/dist/question/client.d.ts.map +1 -1
  248. package/dist/question/client.js.map +1 -1
  249. package/dist/question/renderer.d.ts +11 -1
  250. package/dist/question/renderer.d.ts.map +1 -1
  251. package/dist/question/renderer.js +102 -7
  252. package/dist/question/renderer.js.map +1 -1
  253. package/dist/question/state.d.ts +2 -2
  254. package/dist/question/state.d.ts.map +1 -1
  255. package/dist/question/state.js +26 -17
  256. package/dist/question/state.js.map +1 -1
  257. package/dist/question/types.d.ts +25 -1
  258. package/dist/question/types.d.ts.map +1 -1
  259. package/dist/question/types.js +48 -13
  260. package/dist/question/types.js.map +1 -1
  261. package/dist/question/ui.d.ts +15 -2
  262. package/dist/question/ui.d.ts.map +1 -1
  263. package/dist/question/ui.js +268 -162
  264. package/dist/question/ui.js.map +1 -1
  265. package/dist/scripts/__tests__/codex-native-hook.test.js +415 -94
  266. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  267. package/dist/scripts/__tests__/generate-release-body.test.js +36 -0
  268. package/dist/scripts/__tests__/generate-release-body.test.js.map +1 -1
  269. package/dist/scripts/__tests__/prompt-inventory.test.d.ts +2 -0
  270. package/dist/scripts/__tests__/prompt-inventory.test.d.ts.map +1 -0
  271. package/dist/scripts/__tests__/prompt-inventory.test.js +56 -0
  272. package/dist/scripts/__tests__/prompt-inventory.test.js.map +1 -0
  273. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  274. package/dist/scripts/codex-native-hook.js +232 -54
  275. package/dist/scripts/codex-native-hook.js.map +1 -1
  276. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  277. package/dist/scripts/codex-native-pre-post.js +12 -9
  278. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  279. package/dist/scripts/generate-release-body.d.ts.map +1 -1
  280. package/dist/scripts/generate-release-body.js +12 -3
  281. package/dist/scripts/generate-release-body.js.map +1 -1
  282. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts +2 -0
  283. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts.map +1 -0
  284. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js +153 -0
  285. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js.map +1 -0
  286. package/dist/scripts/notify-hook/managed-tmux.d.ts +4 -2
  287. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
  288. package/dist/scripts/notify-hook/managed-tmux.js +188 -6
  289. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
  290. package/dist/scripts/notify-hook/process-runner.d.ts.map +1 -1
  291. package/dist/scripts/notify-hook/process-runner.js +7 -3
  292. package/dist/scripts/notify-hook/process-runner.js.map +1 -1
  293. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  294. package/dist/scripts/notify-hook/team-dispatch.js +96 -11
  295. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  296. package/dist/scripts/notify-hook/team-tmux-guard.js +3 -3
  297. package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts +34 -0
  298. package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts.map +1 -0
  299. package/dist/scripts/notify-hook/team-worker-posttooluse.js +434 -0
  300. package/dist/scripts/notify-hook/team-worker-posttooluse.js.map +1 -0
  301. package/dist/scripts/notify-hook/team-worker.d.ts +1 -1
  302. package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
  303. package/dist/scripts/notify-hook/team-worker.js +3 -43
  304. package/dist/scripts/notify-hook/team-worker.js.map +1 -1
  305. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  306. package/dist/scripts/notify-hook/tmux-injection.js +25 -4
  307. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  308. package/dist/scripts/notify-hook.js +36 -5
  309. package/dist/scripts/notify-hook.js.map +1 -1
  310. package/dist/scripts/prompt-inventory.d.ts +29 -0
  311. package/dist/scripts/prompt-inventory.d.ts.map +1 -0
  312. package/dist/scripts/prompt-inventory.js +178 -0
  313. package/dist/scripts/prompt-inventory.js.map +1 -0
  314. package/dist/scripts/run-test-files.js +1 -0
  315. package/dist/scripts/run-test-files.js.map +1 -1
  316. package/dist/sidecar/__tests__/boundary.test.d.ts +2 -0
  317. package/dist/sidecar/__tests__/boundary.test.d.ts.map +1 -0
  318. package/dist/sidecar/__tests__/boundary.test.js +48 -0
  319. package/dist/sidecar/__tests__/boundary.test.js.map +1 -0
  320. package/dist/sidecar/__tests__/collector.test.d.ts +2 -0
  321. package/dist/sidecar/__tests__/collector.test.d.ts.map +1 -0
  322. package/dist/sidecar/__tests__/collector.test.js +162 -0
  323. package/dist/sidecar/__tests__/collector.test.js.map +1 -0
  324. package/dist/sidecar/__tests__/render.test.d.ts +2 -0
  325. package/dist/sidecar/__tests__/render.test.d.ts.map +1 -0
  326. package/dist/sidecar/__tests__/render.test.js +67 -0
  327. package/dist/sidecar/__tests__/render.test.js.map +1 -0
  328. package/dist/sidecar/__tests__/tmux.test.d.ts +2 -0
  329. package/dist/sidecar/__tests__/tmux.test.d.ts.map +1 -0
  330. package/dist/sidecar/__tests__/tmux.test.js +30 -0
  331. package/dist/sidecar/__tests__/tmux.test.js.map +1 -0
  332. package/dist/sidecar/__tests__/watch.test.d.ts +2 -0
  333. package/dist/sidecar/__tests__/watch.test.d.ts.map +1 -0
  334. package/dist/sidecar/__tests__/watch.test.js +42 -0
  335. package/dist/sidecar/__tests__/watch.test.js.map +1 -0
  336. package/dist/sidecar/collector.d.ts +4 -0
  337. package/dist/sidecar/collector.d.ts.map +1 -0
  338. package/dist/sidecar/collector.js +377 -0
  339. package/dist/sidecar/collector.js.map +1 -0
  340. package/dist/sidecar/index.d.ts +25 -0
  341. package/dist/sidecar/index.d.ts.map +1 -0
  342. package/dist/sidecar/index.js +165 -0
  343. package/dist/sidecar/index.js.map +1 -0
  344. package/dist/sidecar/render.d.ts +3 -0
  345. package/dist/sidecar/render.d.ts.map +1 -0
  346. package/dist/sidecar/render.js +72 -0
  347. package/dist/sidecar/render.js.map +1 -0
  348. package/dist/sidecar/tmux.d.ts +13 -0
  349. package/dist/sidecar/tmux.d.ts.map +1 -0
  350. package/dist/sidecar/tmux.js +44 -0
  351. package/dist/sidecar/tmux.js.map +1 -0
  352. package/dist/sidecar/types.d.ts +125 -0
  353. package/dist/sidecar/types.d.ts.map +1 -0
  354. package/dist/sidecar/types.js +2 -0
  355. package/dist/sidecar/types.js.map +1 -0
  356. package/dist/state/__tests__/operations.test.js +50 -22
  357. package/dist/state/__tests__/operations.test.js.map +1 -1
  358. package/dist/state/__tests__/workflow-transition.test.js +9 -1
  359. package/dist/state/__tests__/workflow-transition.test.js.map +1 -1
  360. package/dist/state/operations.d.ts +1 -1
  361. package/dist/state/operations.d.ts.map +1 -1
  362. package/dist/state/operations.js +19 -7
  363. package/dist/state/operations.js.map +1 -1
  364. package/dist/state/workflow-transition.d.ts.map +1 -1
  365. package/dist/state/workflow-transition.js +1 -0
  366. package/dist/state/workflow-transition.js.map +1 -1
  367. package/dist/team/__tests__/commit-hygiene.test.d.ts +2 -0
  368. package/dist/team/__tests__/commit-hygiene.test.d.ts.map +1 -0
  369. package/dist/team/__tests__/commit-hygiene.test.js +93 -0
  370. package/dist/team/__tests__/commit-hygiene.test.js.map +1 -0
  371. package/dist/team/__tests__/delegation-policy.test.d.ts +2 -0
  372. package/dist/team/__tests__/delegation-policy.test.d.ts.map +1 -0
  373. package/dist/team/__tests__/delegation-policy.test.js +69 -0
  374. package/dist/team/__tests__/delegation-policy.test.js.map +1 -0
  375. package/dist/team/__tests__/events.test.js +54 -4
  376. package/dist/team/__tests__/events.test.js.map +1 -1
  377. package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts +2 -0
  378. package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts.map +1 -0
  379. package/dist/team/__tests__/hook-primary-e2e-contract.test.js +78 -0
  380. package/dist/team/__tests__/hook-primary-e2e-contract.test.js.map +1 -0
  381. package/dist/team/__tests__/model-contract.test.js +16 -0
  382. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  383. package/dist/team/__tests__/repo-aware-decomposition.test.d.ts +2 -0
  384. package/dist/team/__tests__/repo-aware-decomposition.test.d.ts.map +1 -0
  385. package/dist/team/__tests__/repo-aware-decomposition.test.js +95 -0
  386. package/dist/team/__tests__/repo-aware-decomposition.test.js.map +1 -0
  387. package/dist/team/__tests__/runtime.test.js +623 -14
  388. package/dist/team/__tests__/runtime.test.js.map +1 -1
  389. package/dist/team/__tests__/state-root.test.js +177 -1
  390. package/dist/team/__tests__/state-root.test.js.map +1 -1
  391. package/dist/team/__tests__/state.test.js +110 -0
  392. package/dist/team/__tests__/state.test.js.map +1 -1
  393. package/dist/team/__tests__/tmux-session.test.js +399 -2
  394. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  395. package/dist/team/__tests__/worker-bootstrap.test.js +94 -0
  396. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  397. package/dist/team/commit-hygiene.d.ts +22 -3
  398. package/dist/team/commit-hygiene.d.ts.map +1 -1
  399. package/dist/team/commit-hygiene.js +134 -2
  400. package/dist/team/commit-hygiene.js.map +1 -1
  401. package/dist/team/contracts.d.ts +1 -1
  402. package/dist/team/contracts.d.ts.map +1 -1
  403. package/dist/team/contracts.js +2 -0
  404. package/dist/team/contracts.js.map +1 -1
  405. package/dist/team/dag-schema.d.ts +38 -0
  406. package/dist/team/dag-schema.d.ts.map +1 -0
  407. package/dist/team/dag-schema.js +221 -0
  408. package/dist/team/dag-schema.js.map +1 -0
  409. package/dist/team/delegation-policy.d.ts +3 -0
  410. package/dist/team/delegation-policy.d.ts.map +1 -0
  411. package/dist/team/delegation-policy.js +82 -0
  412. package/dist/team/delegation-policy.js.map +1 -0
  413. package/dist/team/model-contract.d.ts +3 -1
  414. package/dist/team/model-contract.d.ts.map +1 -1
  415. package/dist/team/model-contract.js +44 -5
  416. package/dist/team/model-contract.js.map +1 -1
  417. package/dist/team/repo-aware-decomposition.d.ts +60 -0
  418. package/dist/team/repo-aware-decomposition.d.ts.map +1 -0
  419. package/dist/team/repo-aware-decomposition.js +229 -0
  420. package/dist/team/repo-aware-decomposition.js.map +1 -0
  421. package/dist/team/runtime.d.ts +27 -0
  422. package/dist/team/runtime.d.ts.map +1 -1
  423. package/dist/team/runtime.js +172 -52
  424. package/dist/team/runtime.js.map +1 -1
  425. package/dist/team/state/tasks.d.ts.map +1 -1
  426. package/dist/team/state/tasks.js +33 -0
  427. package/dist/team/state/tasks.js.map +1 -1
  428. package/dist/team/state/types.d.ts +23 -1
  429. package/dist/team/state/types.d.ts.map +1 -1
  430. package/dist/team/state/types.js.map +1 -1
  431. package/dist/team/state-root.d.ts +35 -0
  432. package/dist/team/state-root.d.ts.map +1 -1
  433. package/dist/team/state-root.js +281 -1
  434. package/dist/team/state-root.js.map +1 -1
  435. package/dist/team/state.d.ts +27 -1
  436. package/dist/team/state.d.ts.map +1 -1
  437. package/dist/team/state.js +6 -0
  438. package/dist/team/state.js.map +1 -1
  439. package/dist/team/tmux-session.d.ts +1 -0
  440. package/dist/team/tmux-session.d.ts.map +1 -1
  441. package/dist/team/tmux-session.js +105 -6
  442. package/dist/team/tmux-session.js.map +1 -1
  443. package/dist/team/worker-bootstrap.d.ts +3 -0
  444. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  445. package/dist/team/worker-bootstrap.js +77 -4
  446. package/dist/team/worker-bootstrap.js.map +1 -1
  447. package/dist/utils/agents-md.d.ts +3 -0
  448. package/dist/utils/agents-md.d.ts.map +1 -1
  449. package/dist/utils/agents-md.js +25 -0
  450. package/dist/utils/agents-md.js.map +1 -1
  451. package/package.json +3 -2
  452. package/plugins/oh-my-codex/.codex-plugin/plugin.json +2 -2
  453. package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +1 -1
  454. package/plugins/oh-my-codex/skills/analyze/SKILL.md +1 -1
  455. package/plugins/oh-my-codex/skills/autopilot/SKILL.md +134 -205
  456. package/plugins/oh-my-codex/skills/code-review/SKILL.md +4 -4
  457. package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +14 -7
  458. package/plugins/oh-my-codex/skills/doctor/SKILL.md +1 -1
  459. package/plugins/oh-my-codex/skills/help/SKILL.md +1 -1
  460. package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +41 -10
  461. package/plugins/oh-my-codex/skills/plan/SKILL.md +12 -14
  462. package/plugins/oh-my-codex/skills/ralph/SKILL.md +2 -4
  463. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +5 -9
  464. package/plugins/oh-my-codex/skills/security-review/SKILL.md +4 -4
  465. package/plugins/oh-my-codex/skills/team/SKILL.md +2 -5
  466. package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +2 -5
  467. package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +2 -3
  468. package/prompts/analyst.md +2 -2
  469. package/prompts/api-reviewer.md +2 -2
  470. package/prompts/architect.md +2 -2
  471. package/prompts/build-fixer.md +2 -2
  472. package/prompts/code-reviewer.md +15 -5
  473. package/prompts/code-simplifier.md +1 -1
  474. package/prompts/critic.md +35 -83
  475. package/prompts/debugger.md +2 -2
  476. package/prompts/dependency-expert.md +2 -2
  477. package/prompts/designer.md +2 -2
  478. package/prompts/executor.md +40 -114
  479. package/prompts/explore-harness.md +1 -1
  480. package/prompts/explore.md +37 -90
  481. package/prompts/git-master.md +2 -2
  482. package/prompts/information-architect.md +1 -1
  483. package/prompts/performance-reviewer.md +2 -2
  484. package/prompts/planner.md +35 -62
  485. package/prompts/product-analyst.md +2 -2
  486. package/prompts/product-manager.md +2 -2
  487. package/prompts/qa-tester.md +2 -2
  488. package/prompts/quality-reviewer.md +2 -2
  489. package/prompts/quality-strategist.md +2 -2
  490. package/prompts/researcher.md +46 -78
  491. package/prompts/security-reviewer.md +2 -2
  492. package/prompts/sisyphus-lite.md +2 -2
  493. package/prompts/style-reviewer.md +2 -2
  494. package/prompts/team-executor.md +1 -1
  495. package/prompts/test-engineer.md +2 -2
  496. package/prompts/ux-researcher.md +2 -2
  497. package/prompts/verifier.md +29 -34
  498. package/prompts/vision.md +2 -2
  499. package/prompts/writer.md +2 -2
  500. package/skills/ai-slop-cleaner/SKILL.md +1 -1
  501. package/skills/analyze/SKILL.md +1 -1
  502. package/skills/autopilot/SKILL.md +134 -205
  503. package/skills/build-fix/SKILL.md +4 -4
  504. package/skills/code-review/SKILL.md +4 -4
  505. package/skills/deep-interview/SKILL.md +14 -7
  506. package/skills/doctor/SKILL.md +1 -1
  507. package/skills/help/SKILL.md +1 -1
  508. package/skills/omx-setup/SKILL.md +41 -10
  509. package/skills/plan/SKILL.md +12 -14
  510. package/skills/ralph/SKILL.md +2 -4
  511. package/skills/ralplan/SKILL.md +5 -9
  512. package/skills/security-review/SKILL.md +4 -4
  513. package/skills/team/SKILL.md +2 -5
  514. package/skills/ultraqa/SKILL.md +2 -5
  515. package/skills/ultrawork/SKILL.md +2 -3
  516. package/src/scripts/__tests__/codex-native-hook.test.ts +502 -94
  517. package/src/scripts/__tests__/generate-release-body.test.ts +41 -0
  518. package/src/scripts/__tests__/prompt-inventory.test.ts +64 -0
  519. package/src/scripts/codex-native-hook.ts +293 -61
  520. package/src/scripts/codex-native-pre-post.ts +10 -8
  521. package/src/scripts/generate-release-body.ts +13 -2
  522. package/src/scripts/notify-hook/__tests__/team-worker-posttooluse.test.ts +180 -0
  523. package/src/scripts/notify-hook/managed-tmux.ts +196 -9
  524. package/src/scripts/notify-hook/process-runner.ts +7 -3
  525. package/src/scripts/notify-hook/team-dispatch.ts +103 -11
  526. package/src/scripts/notify-hook/team-tmux-guard.ts +3 -3
  527. package/src/scripts/notify-hook/team-worker-posttooluse.ts +536 -0
  528. package/src/scripts/notify-hook/team-worker.ts +4 -48
  529. package/src/scripts/notify-hook/tmux-injection.ts +24 -6
  530. package/src/scripts/notify-hook.ts +36 -5
  531. package/src/scripts/prompt-inventory.ts +218 -0
  532. package/src/scripts/run-test-files.ts +1 -0
  533. package/templates/AGENTS.md +34 -95
@@ -1,9 +1,10 @@
1
1
  import { describe, it } from "node:test";
2
2
  import assert from "node:assert/strict";
3
3
  import { existsSync } from "node:fs";
4
- import { cp, mkdir, mkdtemp, readFile, readdir, rm, writeFile } from "node:fs/promises";
4
+ import { cp, mkdir, mkdtemp, readFile, readdir, rm, writeFile, } from "node:fs/promises";
5
5
  import { tmpdir } from "node:os";
6
6
  import { join } from "node:path";
7
+ import { parse as parseToml } from "@iarna/toml";
7
8
  import { setup } from "../setup.js";
8
9
  const packageRoot = process.cwd();
9
10
  async function withTempCwd(wd, fn) {
@@ -109,6 +110,169 @@ async function seedPluginCacheFromInstalledSkills(codexHomeDir) {
109
110
  })));
110
111
  }
111
112
  describe("omx setup install mode behavior", () => {
113
+ it("summarizes and keeps persisted setup preferences when review chooses keep", async () => {
114
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
115
+ try {
116
+ await withIsolatedUserHome(wd, async () => {
117
+ await withTempCwd(wd, async () => {
118
+ await mkdir(join(wd, ".omx"), { recursive: true });
119
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "user", installMode: "legacy" }));
120
+ const output = await captureConsoleOutput(async () => {
121
+ await setup({
122
+ persistedSetupReviewPrompt: async (preferences) => {
123
+ assert.deepEqual(preferences, {
124
+ scope: "user",
125
+ installMode: "legacy",
126
+ });
127
+ return "keep";
128
+ },
129
+ });
130
+ });
131
+ assert.match(output, /Setup preference review: keep \(scope=user, installMode=legacy\)/);
132
+ assert.match(output, /Using setup scope: user \(from \.omx\/setup-scope\.json\)/);
133
+ assert.match(output, /Using setup install mode: legacy \(from \.omx\/setup-scope\.json\)/);
134
+ });
135
+ });
136
+ }
137
+ finally {
138
+ await rm(wd, { recursive: true, force: true });
139
+ }
140
+ });
141
+ it("uses persisted choices as defaults when review changes setup preferences", async () => {
142
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
143
+ try {
144
+ await withIsolatedUserHome(wd, async () => {
145
+ await withTempCwd(wd, async () => {
146
+ await mkdir(join(wd, ".omx"), { recursive: true });
147
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "user", installMode: "legacy" }));
148
+ await setup({
149
+ persistedSetupReviewPrompt: async () => "review",
150
+ setupScopePrompt: async (defaultScope) => {
151
+ assert.equal(defaultScope, "user");
152
+ return "user";
153
+ },
154
+ installModePrompt: async (defaultMode) => {
155
+ assert.equal(defaultMode, "legacy");
156
+ return "plugin";
157
+ },
158
+ });
159
+ const persisted = JSON.parse(await readFile(join(wd, ".omx", "setup-scope.json"), "utf-8"));
160
+ assert.deepEqual(persisted, { scope: "user", installMode: "plugin" });
161
+ });
162
+ });
163
+ }
164
+ finally {
165
+ await rm(wd, { recursive: true, force: true });
166
+ }
167
+ });
168
+ it("clears user-scope install mode when review switches setup to project scope", async () => {
169
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
170
+ try {
171
+ await withIsolatedUserHome(wd, async () => {
172
+ await withTempCwd(wd, async () => {
173
+ await mkdir(join(wd, ".omx"), { recursive: true });
174
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "user", installMode: "plugin" }));
175
+ await setup({
176
+ persistedSetupReviewPrompt: async () => "review",
177
+ setupScopePrompt: async (defaultScope) => {
178
+ assert.equal(defaultScope, "user");
179
+ return "project";
180
+ },
181
+ });
182
+ const persisted = JSON.parse(await readFile(join(wd, ".omx", "setup-scope.json"), "utf-8"));
183
+ assert.deepEqual(persisted, { scope: "project" });
184
+ });
185
+ });
186
+ }
187
+ finally {
188
+ await rm(wd, { recursive: true, force: true });
189
+ }
190
+ });
191
+ it("reviews persisted scope when only install mode is provided", async () => {
192
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
193
+ try {
194
+ await withIsolatedUserHome(wd, async () => {
195
+ await withTempCwd(wd, async () => {
196
+ await mkdir(join(wd, ".omx"), { recursive: true });
197
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "project" }));
198
+ let reviewed = false;
199
+ await setup({
200
+ installMode: "plugin",
201
+ persistedSetupReviewPrompt: async () => {
202
+ reviewed = true;
203
+ return "reset";
204
+ },
205
+ setupScopePrompt: async (defaultScope) => {
206
+ assert.equal(defaultScope, "user");
207
+ return "user";
208
+ },
209
+ });
210
+ assert.equal(reviewed, true);
211
+ const persisted = JSON.parse(await readFile(join(wd, ".omx", "setup-scope.json"), "utf-8"));
212
+ assert.deepEqual(persisted, { scope: "user", installMode: "plugin" });
213
+ });
214
+ });
215
+ }
216
+ finally {
217
+ await rm(wd, { recursive: true, force: true });
218
+ }
219
+ });
220
+ it("reviews persisted install mode when only user scope is provided", async () => {
221
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
222
+ try {
223
+ await withIsolatedUserHome(wd, async () => {
224
+ await withTempCwd(wd, async () => {
225
+ await mkdir(join(wd, ".omx"), { recursive: true });
226
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "user", installMode: "legacy" }));
227
+ let reviewed = false;
228
+ await setup({
229
+ scope: "user",
230
+ persistedSetupReviewPrompt: async () => {
231
+ reviewed = true;
232
+ return "review";
233
+ },
234
+ installModePrompt: async (defaultMode) => {
235
+ assert.equal(defaultMode, "legacy");
236
+ return "plugin";
237
+ },
238
+ });
239
+ assert.equal(reviewed, true);
240
+ const persisted = JSON.parse(await readFile(join(wd, ".omx", "setup-scope.json"), "utf-8"));
241
+ assert.deepEqual(persisted, { scope: "user", installMode: "plugin" });
242
+ });
243
+ });
244
+ }
245
+ finally {
246
+ await rm(wd, { recursive: true, force: true });
247
+ }
248
+ });
249
+ it("ignores persisted setup preferences when review chooses reset", async () => {
250
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
251
+ try {
252
+ await withIsolatedUserHome(wd, async () => {
253
+ await withTempCwd(wd, async () => {
254
+ await mkdir(join(wd, ".omx"), { recursive: true });
255
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "project", installMode: "plugin" }));
256
+ await setup({
257
+ persistedSetupReviewPrompt: async () => "reset",
258
+ setupScopePrompt: async (defaultScope) => {
259
+ assert.equal(defaultScope, "user");
260
+ return "user";
261
+ },
262
+ installModePrompt: async (defaultMode) => {
263
+ assert.equal(defaultMode, "legacy");
264
+ return "legacy";
265
+ },
266
+ });
267
+ const persisted = JSON.parse(await readFile(join(wd, ".omx", "setup-scope.json"), "utf-8"));
268
+ assert.deepEqual(persisted, { scope: "user", installMode: "legacy" });
269
+ });
270
+ });
271
+ }
272
+ finally {
273
+ await rm(wd, { recursive: true, force: true });
274
+ }
275
+ });
112
276
  it("prints plugin-mode next steps without claiming native agent TOML files were written", async () => {
113
277
  const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
114
278
  try {
@@ -118,7 +282,7 @@ describe("omx setup install mode behavior", () => {
118
282
  installMode: "plugin",
119
283
  });
120
284
  assert.match(output, /Next steps:/);
121
- assert.match(output, /Codex plugin discovery supplies OMX skills and workflow surfaces/);
285
+ assert.match(output, /Registered Codex marketplace oh-my-codex-local supplies OMX skills and workflow surfaces/);
122
286
  assert.doesNotMatch(output, /TOML files written to \.codex\/agents\//);
123
287
  });
124
288
  }
@@ -240,6 +404,65 @@ describe("omx setup install mode behavior", () => {
240
404
  await rm(wd, { recursive: true, force: true });
241
405
  }
242
406
  });
407
+ it("registers the local Codex plugin marketplace without reintroducing legacy assets", async () => {
408
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
409
+ try {
410
+ await withIsolatedUserHome(wd, async (codexHomeDir) => {
411
+ await withTempCwd(wd, async () => {
412
+ const configPath = join(codexHomeDir, "config.toml");
413
+ await writeFile(configPath, [
414
+ 'model = "gpt-5.5"',
415
+ "",
416
+ "[marketplaces.other]",
417
+ 'source_type = "local"',
418
+ 'source = "/tmp/other"',
419
+ "",
420
+ "[marketplaces.oh-my-codex-local]",
421
+ 'source_type = "local"',
422
+ 'source = "/tmp/stale-oh-my-codex"',
423
+ "",
424
+ ].join("\n"));
425
+ await setup({ scope: "user", installMode: "plugin", force: true });
426
+ await setup({ scope: "user", installMode: "plugin", force: true });
427
+ const config = await readFile(configPath, "utf-8");
428
+ const parsed = parseToml(config);
429
+ assert.equal(parsed.marketplaces?.["oh-my-codex-local"]?.source_type, "local");
430
+ assert.equal(parsed.marketplaces?.["oh-my-codex-local"]?.source, packageRoot);
431
+ assert.equal(parsed.marketplaces?.other?.source_type, "local");
432
+ assert.equal(parsed.marketplaces?.other?.source, "/tmp/other");
433
+ assert.equal((config.match(/^\[marketplaces\.oh-my-codex-local\]$/gm) ?? [])
434
+ .length, 1);
435
+ assert.match(config, /^codex_hooks = true$/m);
436
+ assert.doesNotMatch(config, /\[mcp_servers\./);
437
+ assert.equal(existsSync(join(codexHomeDir, "skills", "help", "SKILL.md")), false);
438
+ assert.equal(existsSync(join(codexHomeDir, "agents", "planner.toml")), false);
439
+ assert.equal(existsSync(join(codexHomeDir, "prompts", "executor.md")), false);
440
+ });
441
+ });
442
+ }
443
+ finally {
444
+ await rm(wd, { recursive: true, force: true });
445
+ }
446
+ });
447
+ it("reports plugin marketplace registration during dry-run without mutating config", async () => {
448
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
449
+ try {
450
+ await withIsolatedUserHome(wd, async (codexHomeDir) => {
451
+ await withTempCwd(wd, async () => {
452
+ const configPath = join(codexHomeDir, "config.toml");
453
+ await writeFile(configPath, 'model = "gpt-5.5"\n');
454
+ const output = await captureConsoleOutput(async () => {
455
+ await setup({ scope: "user", installMode: "plugin", dryRun: true });
456
+ });
457
+ assert.match(output, /Would register local Codex plugin marketplace oh-my-codex-local/);
458
+ assert.equal(await readFile(configPath, "utf-8"), 'model = "gpt-5.5"\n');
459
+ });
460
+ });
461
+ }
462
+ finally {
463
+ await rm(wd, { recursive: true, force: true });
464
+ }
465
+ });
243
466
  it("installs user-scoped native hooks when plugin mode is selected", async () => {
244
467
  const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
245
468
  try {
@@ -284,6 +507,13 @@ describe("omx setup install mode behavior", () => {
284
507
  assert.doesNotMatch(config, /notify-hook|mcp_servers/);
285
508
  const agentsMd = await readFile(join(codexHomeDir, "AGENTS.md"), "utf-8");
286
509
  assert.match(agentsMd, /oh-my-codex - Intelligent Multi-Agent Orchestration/);
510
+ assert.match(agentsMd, /<!-- omx:generated:agents-md -->/);
511
+ assert.match(agentsMd, /<!-- OMX:MODELS:START -->/);
512
+ assert.match(agentsMd, /<!-- OMX:MODELS:END -->/);
513
+ assert.match(agentsMd, /<guidance_schema_contract>/);
514
+ assert.match(agentsMd, /<execution_protocols>/);
515
+ assert.match(agentsMd, /AGENTS\.md is the top-level operating contract/);
516
+ assert.match(agentsMd, /Treat installed prompts as narrower execution surfaces under AGENTS\.md authority|Role prompts under `prompts\/\*\.md` are narrower execution surfaces/);
287
517
  });
288
518
  });
289
519
  }
@@ -383,6 +613,47 @@ describe("omx setup install mode behavior", () => {
383
613
  await rm(wd, { recursive: true, force: true });
384
614
  }
385
615
  });
616
+ it("lets explicit project legacy setup clear persisted project plugin mode", async () => {
617
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
618
+ try {
619
+ await withTempCwd(wd, async () => {
620
+ await mkdir(join(wd, ".omx"), { recursive: true });
621
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "project", installMode: "plugin" }));
622
+ await setup({ scope: "project", installMode: "legacy" });
623
+ const persisted = JSON.parse(await readFile(join(wd, ".omx", "setup-scope.json"), "utf-8"));
624
+ assert.deepEqual(persisted, { scope: "project" });
625
+ assert.equal(existsSync(join(wd, ".codex", "skills", "help", "SKILL.md")), true);
626
+ assert.equal(existsSync(join(wd, ".codex", "agents", "planner.toml")), true);
627
+ assert.equal(existsSync(join(wd, ".codex", "prompts", "executor.md")), true);
628
+ });
629
+ }
630
+ finally {
631
+ await rm(wd, { recursive: true, force: true });
632
+ }
633
+ });
634
+ it("lets explicit user legacy setup override persisted user plugin mode", async () => {
635
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
636
+ try {
637
+ await withIsolatedUserHome(wd, async (codexHomeDir) => {
638
+ await withTempCwd(wd, async () => {
639
+ await mkdir(join(wd, ".omx"), { recursive: true });
640
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "user", installMode: "plugin" }));
641
+ await setup({ installMode: "legacy" });
642
+ const persisted = JSON.parse(await readFile(join(wd, ".omx", "setup-scope.json"), "utf-8"));
643
+ assert.deepEqual(persisted, {
644
+ scope: "user",
645
+ installMode: "legacy",
646
+ });
647
+ assert.equal(existsSync(join(codexHomeDir, "skills", "help", "SKILL.md")), true);
648
+ assert.equal(existsSync(join(codexHomeDir, "agents", "planner.toml")), true);
649
+ assert.equal(existsSync(join(codexHomeDir, "prompts", "executor.md")), true);
650
+ });
651
+ });
652
+ }
653
+ finally {
654
+ await rm(wd, { recursive: true, force: true });
655
+ }
656
+ });
386
657
  it("installs project-scoped native hooks when plugin mode is explicitly requested", async () => {
387
658
  const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
388
659
  try {
@@ -422,7 +693,7 @@ describe("omx setup install mode behavior", () => {
422
693
  assert.doesNotMatch(pluginOutput, /Use role\/workflow keywords like \$architect, \$executor, and \$plan/);
423
694
  assert.doesNotMatch(pluginOutput, /AGENTS keyword routing can also activate them implicitly/);
424
695
  assert.doesNotMatch(pluginOutput, /The AGENTS\.md orchestration brain is loaded automatically/);
425
- assert.match(pluginOutput, /Codex plugin discovery supplies OMX skills and workflow surfaces/);
696
+ assert.match(pluginOutput, /Registered Codex marketplace oh-my-codex-local supplies OMX skills and workflow surfaces/);
426
697
  assert.match(pluginOutput, /Browse plugin-provided skills with \/skills/);
427
698
  assert.match(pluginOutput, /Optional AGENTS\.md and developer_instructions defaults are only installed when selected/);
428
699
  const legacyWd = join(wd, "legacy");
@@ -471,7 +742,42 @@ describe("omx setup install mode behavior", () => {
471
742
  assert.match(hooks, /codex-native-hook\.js/);
472
743
  const config = await readFile(configPath, "utf-8");
473
744
  assert.match(config, /^codex_hooks = true$/m);
474
- assert.doesNotMatch(config, /oh-my-codex|mcp_servers|notify|developer_instructions/);
745
+ assert.doesNotMatch(config, /mcp_servers|notify|developer_instructions/);
746
+ });
747
+ });
748
+ }
749
+ finally {
750
+ await rm(wd, { recursive: true, force: true });
751
+ }
752
+ });
753
+ it("archives stale legacy prompts and generated native agents when plugin mode refreshes", async () => {
754
+ const wd = await mkdtemp(join(tmpdir(), "omx-setup-install-mode-"));
755
+ try {
756
+ await withIsolatedUserHome(wd, async (codexHomeDir) => {
757
+ await withTempCwd(wd, async () => {
758
+ await setup({ scope: "user", installMode: "legacy" });
759
+ const promptPath = join(codexHomeDir, "prompts", "executor.md");
760
+ const agentPath = join(codexHomeDir, "agents", "planner.toml");
761
+ await writeFile(promptPath, "---\ndescription: stale legacy executor prompt\n---\n\nold executor body\n");
762
+ await writeFile(agentPath, [
763
+ "# oh-my-codex agent: planner",
764
+ 'name = "planner"',
765
+ 'description = "stale legacy generated planner"',
766
+ 'developer_instructions = """old planner body"""',
767
+ "",
768
+ ].join("\n"));
769
+ const output = await captureConsoleOutput(async () => {
770
+ await setup({ scope: "user", installMode: "plugin" });
771
+ });
772
+ assert.equal(existsSync(promptPath), false);
773
+ assert.equal(existsSync(agentPath), false);
774
+ assert.match(output, /Archived and removed .* legacy OMX-managed prompt file/);
775
+ assert.match(output, /Archived and removed .* legacy OMX-managed native agent config/);
776
+ const backupRoot = join(wd, "home", ".omx", "backups", "setup");
777
+ const backupRuns = await readdir(backupRoot);
778
+ assert.ok(backupRuns.length > 0);
779
+ assert.equal(backupRuns.some((entry) => existsSync(join(backupRoot, entry, ".codex", "prompts", "executor.md"))), true);
780
+ assert.equal(backupRuns.some((entry) => existsSync(join(backupRoot, entry, ".codex", "agents", "planner.toml"))), true);
475
781
  });
476
782
  });
477
783
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-install-mode.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/setup-install-mode.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-install-mode.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/setup-install-mode.test.ts"],"names":[],"mappings":"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"}