oh-my-codex 0.16.1 → 0.16.3

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 (247) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +2 -2
  4. package/dist/cli/__tests__/doctor-warning-copy.test.js +37 -1
  5. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  6. package/dist/cli/__tests__/explore.test.js +2 -2
  7. package/dist/cli/__tests__/explore.test.js.map +1 -1
  8. package/dist/cli/__tests__/index.test.js +173 -3
  9. package/dist/cli/__tests__/index.test.js.map +1 -1
  10. package/dist/cli/__tests__/launch-fallback.test.js +58 -0
  11. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  12. package/dist/cli/__tests__/ralph.test.js +1 -0
  13. package/dist/cli/__tests__/ralph.test.js.map +1 -1
  14. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +8 -0
  15. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
  16. package/dist/cli/__tests__/setup-install-mode.test.js +82 -2
  17. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  18. package/dist/cli/__tests__/setup-scope.test.js +12 -0
  19. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  20. package/dist/cli/__tests__/team.test.js +161 -0
  21. package/dist/cli/__tests__/team.test.js.map +1 -1
  22. package/dist/cli/__tests__/ultragoal.test.js +14 -9
  23. package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
  24. package/dist/cli/__tests__/uninstall.test.js +44 -2
  25. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  26. package/dist/cli/__tests__/update.test.js +109 -19
  27. package/dist/cli/__tests__/update.test.js.map +1 -1
  28. package/dist/cli/doctor.d.ts.map +1 -1
  29. package/dist/cli/doctor.js +17 -0
  30. package/dist/cli/doctor.js.map +1 -1
  31. package/dist/cli/explore.d.ts.map +1 -1
  32. package/dist/cli/explore.js +3 -4
  33. package/dist/cli/explore.js.map +1 -1
  34. package/dist/cli/index.d.ts.map +1 -1
  35. package/dist/cli/index.js +34 -4
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/cli/setup.d.ts.map +1 -1
  38. package/dist/cli/setup.js +72 -6
  39. package/dist/cli/setup.js.map +1 -1
  40. package/dist/cli/team.d.ts.map +1 -1
  41. package/dist/cli/team.js +54 -15
  42. package/dist/cli/team.js.map +1 -1
  43. package/dist/cli/ultragoal.d.ts +1 -1
  44. package/dist/cli/ultragoal.d.ts.map +1 -1
  45. package/dist/cli/ultragoal.js +26 -8
  46. package/dist/cli/ultragoal.js.map +1 -1
  47. package/dist/cli/uninstall.d.ts.map +1 -1
  48. package/dist/cli/uninstall.js +68 -5
  49. package/dist/cli/uninstall.js.map +1 -1
  50. package/dist/cli/update.d.ts +10 -2
  51. package/dist/cli/update.d.ts.map +1 -1
  52. package/dist/cli/update.js +99 -5
  53. package/dist/cli/update.js.map +1 -1
  54. package/dist/config/__tests__/codex-hooks.test.js +269 -2
  55. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  56. package/dist/config/__tests__/generator-idempotent.test.js +60 -2
  57. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  58. package/dist/config/__tests__/generator-notify.test.js +59 -1
  59. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  60. package/dist/config/__tests__/wiki-config-contract.test.js +2 -1
  61. package/dist/config/__tests__/wiki-config-contract.test.js.map +1 -1
  62. package/dist/config/codex-hooks.d.ts +52 -4
  63. package/dist/config/codex-hooks.d.ts.map +1 -1
  64. package/dist/config/codex-hooks.js +268 -7
  65. package/dist/config/codex-hooks.js.map +1 -1
  66. package/dist/config/generator.d.ts +13 -1
  67. package/dist/config/generator.d.ts.map +1 -1
  68. package/dist/config/generator.js +207 -12
  69. package/dist/config/generator.js.map +1 -1
  70. package/dist/hooks/__tests__/keyword-detector.test.js +37 -25
  71. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  72. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +29 -1
  73. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  74. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +20 -4
  75. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  76. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +1 -0
  77. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
  78. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.d.ts +2 -0
  79. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.d.ts.map +1 -0
  80. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js +52 -0
  81. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js.map +1 -0
  82. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +148 -0
  83. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -1
  84. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +3 -0
  85. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  86. package/dist/hooks/__tests__/wiki-docs-contract.test.js +5 -4
  87. package/dist/hooks/__tests__/wiki-docs-contract.test.js.map +1 -1
  88. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  89. package/dist/hooks/keyword-detector.js +2 -4
  90. package/dist/hooks/keyword-detector.js.map +1 -1
  91. package/dist/mcp/__tests__/state-server.test.js +145 -6
  92. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  93. package/dist/mcp/__tests__/wiki-server.test.js +97 -1
  94. package/dist/mcp/__tests__/wiki-server.test.js.map +1 -1
  95. package/dist/mcp/wiki-server.d.ts.map +1 -1
  96. package/dist/mcp/wiki-server.js +11 -2
  97. package/dist/mcp/wiki-server.js.map +1 -1
  98. package/dist/planning/__tests__/artifacts.test.js +64 -0
  99. package/dist/planning/__tests__/artifacts.test.js.map +1 -1
  100. package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts +2 -0
  101. package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts.map +1 -0
  102. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js +90 -0
  103. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js.map +1 -0
  104. package/dist/planning/artifacts.d.ts +7 -2
  105. package/dist/planning/artifacts.d.ts.map +1 -1
  106. package/dist/planning/artifacts.js +62 -8
  107. package/dist/planning/artifacts.js.map +1 -1
  108. package/dist/planning/context-pack-status.d.ts +6 -0
  109. package/dist/planning/context-pack-status.d.ts.map +1 -1
  110. package/dist/planning/context-pack-status.js +25 -0
  111. package/dist/planning/context-pack-status.js.map +1 -1
  112. package/dist/ralph/persistence.d.ts +1 -1
  113. package/dist/ralph/persistence.d.ts.map +1 -1
  114. package/dist/ralph/persistence.js +8 -2
  115. package/dist/ralph/persistence.js.map +1 -1
  116. package/dist/scripts/__tests__/codex-native-hook.test.js +190 -1
  117. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  118. package/dist/scripts/codex-execution-surface.d.ts +1 -1
  119. package/dist/scripts/codex-execution-surface.d.ts.map +1 -1
  120. package/dist/scripts/codex-execution-surface.js.map +1 -1
  121. package/dist/scripts/codex-native-hook.d.ts +1 -1
  122. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  123. package/dist/scripts/codex-native-hook.js +18 -3
  124. package/dist/scripts/codex-native-hook.js.map +1 -1
  125. package/dist/scripts/notify-dispatcher.d.ts +7 -0
  126. package/dist/scripts/notify-dispatcher.d.ts.map +1 -0
  127. package/dist/scripts/notify-dispatcher.js +58 -0
  128. package/dist/scripts/notify-dispatcher.js.map +1 -0
  129. package/dist/scripts/notify-fallback-watcher.js +4 -0
  130. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  131. package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -1
  132. package/dist/scripts/notify-hook/ralph-session-resume.js +96 -8
  133. package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -1
  134. package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
  135. package/dist/scripts/notify-hook/state-io.js +6 -2
  136. package/dist/scripts/notify-hook/state-io.js.map +1 -1
  137. package/dist/scripts/notify-hook/visual-verdict.js +3 -3
  138. package/dist/scripts/notify-hook/visual-verdict.js.map +1 -1
  139. package/dist/scripts/notify-hook.js +124 -0
  140. package/dist/scripts/notify-hook.js.map +1 -1
  141. package/dist/state/__tests__/operations.test.js +79 -0
  142. package/dist/state/__tests__/operations.test.js.map +1 -1
  143. package/dist/state/__tests__/skill-active.test.js +10 -18
  144. package/dist/state/__tests__/skill-active.test.js.map +1 -1
  145. package/dist/state/operations.d.ts.map +1 -1
  146. package/dist/state/operations.js +1 -20
  147. package/dist/state/operations.js.map +1 -1
  148. package/dist/state/skill-active.d.ts +1 -0
  149. package/dist/state/skill-active.d.ts.map +1 -1
  150. package/dist/state/skill-active.js +28 -18
  151. package/dist/state/skill-active.js.map +1 -1
  152. package/dist/state/workflow-transition-reconcile.d.ts.map +1 -1
  153. package/dist/state/workflow-transition-reconcile.js +1 -0
  154. package/dist/state/workflow-transition-reconcile.js.map +1 -1
  155. package/dist/team/__tests__/approved-execution.test.js +45 -1
  156. package/dist/team/__tests__/approved-execution.test.js.map +1 -1
  157. package/dist/team/__tests__/runtime.test.js +173 -19
  158. package/dist/team/__tests__/runtime.test.js.map +1 -1
  159. package/dist/team/__tests__/worker-bootstrap.test.js +37 -0
  160. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  161. package/dist/team/approved-execution.d.ts +1 -0
  162. package/dist/team/approved-execution.d.ts.map +1 -1
  163. package/dist/team/approved-execution.js +50 -0
  164. package/dist/team/approved-execution.js.map +1 -1
  165. package/dist/team/delivery-log.d.ts.map +1 -1
  166. package/dist/team/delivery-log.js +8 -1
  167. package/dist/team/delivery-log.js.map +1 -1
  168. package/dist/team/runtime.d.ts.map +1 -1
  169. package/dist/team/runtime.js +104 -18
  170. package/dist/team/runtime.js.map +1 -1
  171. package/dist/team/state/mailbox.d.ts +1 -0
  172. package/dist/team/state/mailbox.d.ts.map +1 -1
  173. package/dist/team/state/mailbox.js +10 -1
  174. package/dist/team/state/mailbox.js.map +1 -1
  175. package/dist/team/state-root.js +1 -1
  176. package/dist/team/state-root.js.map +1 -1
  177. package/dist/team/state.d.ts.map +1 -1
  178. package/dist/team/state.js +2 -2
  179. package/dist/team/state.js.map +1 -1
  180. package/dist/team/worker-bootstrap.d.ts +7 -2
  181. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  182. package/dist/team/worker-bootstrap.js +17 -4
  183. package/dist/team/worker-bootstrap.js.map +1 -1
  184. package/dist/ultragoal/__tests__/artifacts.test.js +81 -7
  185. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  186. package/dist/ultragoal/__tests__/docs-contract.test.js +8 -0
  187. package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
  188. package/dist/ultragoal/artifacts.d.ts +4 -0
  189. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  190. package/dist/ultragoal/artifacts.js +72 -4
  191. package/dist/ultragoal/artifacts.js.map +1 -1
  192. package/dist/utils/paths.d.ts +3 -1
  193. package/dist/utils/paths.d.ts.map +1 -1
  194. package/dist/utils/paths.js +6 -2
  195. package/dist/utils/paths.js.map +1 -1
  196. package/dist/wiki/__tests__/ingest.test.js +35 -1
  197. package/dist/wiki/__tests__/ingest.test.js.map +1 -1
  198. package/dist/wiki/__tests__/lint.test.js +14 -1
  199. package/dist/wiki/__tests__/lint.test.js.map +1 -1
  200. package/dist/wiki/__tests__/query.test.js +28 -3
  201. package/dist/wiki/__tests__/query.test.js.map +1 -1
  202. package/dist/wiki/__tests__/session-hooks.test.js +30 -2
  203. package/dist/wiki/__tests__/session-hooks.test.js.map +1 -1
  204. package/dist/wiki/__tests__/storage.test.js +62 -22
  205. package/dist/wiki/__tests__/storage.test.js.map +1 -1
  206. package/dist/wiki/index.d.ts +2 -2
  207. package/dist/wiki/index.d.ts.map +1 -1
  208. package/dist/wiki/index.js +2 -2
  209. package/dist/wiki/index.js.map +1 -1
  210. package/dist/wiki/ingest.js +2 -2
  211. package/dist/wiki/ingest.js.map +1 -1
  212. package/dist/wiki/lifecycle.d.ts +5 -0
  213. package/dist/wiki/lifecycle.d.ts.map +1 -1
  214. package/dist/wiki/lifecycle.js +31 -4
  215. package/dist/wiki/lifecycle.js.map +1 -1
  216. package/dist/wiki/lint.d.ts.map +1 -1
  217. package/dist/wiki/lint.js +12 -8
  218. package/dist/wiki/lint.js.map +1 -1
  219. package/dist/wiki/query.d.ts.map +1 -1
  220. package/dist/wiki/query.js +3 -2
  221. package/dist/wiki/query.js.map +1 -1
  222. package/dist/wiki/storage.d.ts +4 -0
  223. package/dist/wiki/storage.d.ts.map +1 -1
  224. package/dist/wiki/storage.js +54 -18
  225. package/dist/wiki/storage.js.map +1 -1
  226. package/package.json +1 -1
  227. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  228. package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +2 -2
  229. package/plugins/oh-my-codex/skills/plan/SKILL.md +4 -4
  230. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +2 -2
  231. package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +11 -7
  232. package/plugins/oh-my-codex/skills/wiki/SKILL.md +5 -5
  233. package/prompts/planner.md +1 -1
  234. package/skills/deep-interview/SKILL.md +2 -2
  235. package/skills/plan/SKILL.md +4 -4
  236. package/skills/ralplan/SKILL.md +2 -2
  237. package/skills/ultragoal/SKILL.md +11 -7
  238. package/skills/wiki/SKILL.md +5 -5
  239. package/src/scripts/__tests__/codex-native-hook.test.ts +218 -1
  240. package/src/scripts/codex-execution-surface.ts +2 -0
  241. package/src/scripts/codex-native-hook.ts +22 -3
  242. package/src/scripts/notify-dispatcher.ts +74 -0
  243. package/src/scripts/notify-fallback-watcher.ts +6 -2
  244. package/src/scripts/notify-hook/ralph-session-resume.ts +117 -8
  245. package/src/scripts/notify-hook/state-io.ts +4 -2
  246. package/src/scripts/notify-hook/visual-verdict.ts +3 -3
  247. package/src/scripts/notify-hook.ts +116 -0
@@ -37,6 +37,7 @@ describe('cli/ultragoal', () => {
37
37
  it('prints help with artifact and goal-mode constraints', async () => {
38
38
  assert.match(ULTRAGOAL_HELP, /create-goals/);
39
39
  assert.match(ULTRAGOAL_HELP, /complete-goals/);
40
+ assert.match(ULTRAGOAL_HELP, /aggregate mode/);
40
41
  assert.match(ULTRAGOAL_HELP, /blocked/);
41
42
  assert.match(ULTRAGOAL_HELP, /fresh Codex thread/);
42
43
  assert.match(ULTRAGOAL_HELP, /get_goal\/create_goal\/update_goal/);
@@ -48,25 +49,28 @@ describe('cli/ultragoal', () => {
48
49
  assert.match(created.stdout.join('\n'), /ultragoal plan created: 2 goal/);
49
50
  const next = await capture(() => ultragoalCommand(['complete-goals']));
50
51
  const output = next.stdout.join('\n');
51
- assert.match(output, /Ultragoal active-goal handoff/);
52
+ assert.match(output, /Ultragoal aggregate-goal handoff/);
52
53
  assert.match(output, /create_goal payload/);
53
- assert.match(output, /fresh Codex thread/);
54
- assert.match(output, /--status blocked/);
54
+ assert.match(output, /Codex goal = the whole ultragoal run/);
55
+ assert.doesNotMatch(output, /fresh Codex thread/);
55
56
  assert.match(output, /omx ultragoal checkpoint --goal-id G001-first-milestone --status complete/);
56
57
  const goals = JSON.parse(await readFile(join(cwd, '.omx/ultragoal/goals.json'), 'utf-8'));
57
58
  assert.equal(goals.activeGoalId, 'G001-first-milestone');
59
+ assert.equal(goals.codexGoalMode, 'aggregate');
60
+ assert.match(goals.codexObjective ?? '', /Complete all ultragoal stories/);
58
61
  });
59
62
  });
60
63
  it('checkpoints a goal and reports status as json', async () => {
61
- await withCwd(async () => {
64
+ await withCwd(async (cwd) => {
62
65
  await capture(() => ultragoalCommand(['create-goals', '--brief', '- First milestone']));
63
66
  await capture(() => ultragoalCommand(['complete-goals']));
67
+ const goals = JSON.parse(await readFile(join(cwd, '.omx/ultragoal/goals.json'), 'utf-8'));
64
68
  const checkpoint = await capture(() => ultragoalCommand([
65
69
  'checkpoint',
66
70
  '--goal-id', 'G001-first-milestone',
67
71
  '--status', 'complete',
68
72
  '--evidence', 'tests passed',
69
- '--codex-goal-json', '{"goal":{"objective":"First milestone","status":"complete"}}',
73
+ '--codex-goal-json', JSON.stringify({ goal: { objective: goals.codexObjective, status: 'complete' } }),
70
74
  '--json',
71
75
  ]));
72
76
  assert.equal(checkpoint.exitCode, undefined);
@@ -75,9 +79,10 @@ describe('cli/ultragoal', () => {
75
79
  });
76
80
  });
77
81
  it('requires matching complete Codex goal proof before completing a checkpoint', async () => {
78
- await withCwd(async () => {
82
+ await withCwd(async (cwd) => {
79
83
  await capture(() => ultragoalCommand(['create-goals', '--brief', '- First milestone']));
80
84
  await capture(() => ultragoalCommand(['complete-goals']));
85
+ const goals = JSON.parse(await readFile(join(cwd, '.omx/ultragoal/goals.json'), 'utf-8'));
81
86
  const missing = await capture(() => ultragoalCommand([
82
87
  'checkpoint',
83
88
  '--goal-id', 'G001-first-milestone',
@@ -91,7 +96,7 @@ describe('cli/ultragoal', () => {
91
96
  '--goal-id', 'G001-first-milestone',
92
97
  '--status', 'complete',
93
98
  '--evidence', 'tests passed',
94
- '--codex-goal-json', '{"goal":{"objective":"First milestone","status":"active"}}',
99
+ '--codex-goal-json', JSON.stringify({ goal: { objective: goals.codexObjective, status: 'active' } }),
95
100
  ]));
96
101
  assert.equal(incomplete.exitCode, 1);
97
102
  assert.match(incomplete.stderr.join('\n'), /not complete/);
@@ -108,7 +113,7 @@ describe('cli/ultragoal', () => {
108
113
  });
109
114
  it('records blocked legacy Codex-goal checkpoints as non-terminal', async () => {
110
115
  await withCwd(async (cwd) => {
111
- await capture(() => ultragoalCommand(['create-goals', '--brief', '- First milestone']));
116
+ await capture(() => ultragoalCommand(['create-goals', '--brief', '- First milestone', '--codex-goal-mode', 'per-story']));
112
117
  await capture(() => ultragoalCommand(['complete-goals']));
113
118
  const blocked = await capture(() => ultragoalCommand([
114
119
  'checkpoint',
@@ -129,7 +134,7 @@ describe('cli/ultragoal', () => {
129
134
  });
130
135
  it('does not let blocked checkpoints bypass active Codex-goal mismatch protection', async () => {
131
136
  await withCwd(async () => {
132
- await capture(() => ultragoalCommand(['create-goals', '--brief', '- First milestone']));
137
+ await capture(() => ultragoalCommand(['create-goals', '--brief', '- First milestone', '--codex-goal-mode', 'per-story']));
133
138
  await capture(() => ultragoalCommand(['complete-goals']));
134
139
  const blocked = await capture(() => ultragoalCommand([
135
140
  'checkpoint',
@@ -1 +1 @@
1
- {"version":3,"file":"ultragoal.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ultragoal.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ultragoal.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ultragoal.test.ts"],"names":[],"mappings":"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"}
@@ -281,7 +281,7 @@ describe('omx uninstall', () => {
281
281
  assert.doesNotMatch(config, /developer_instructions\s*=/);
282
282
  assert.doesNotMatch(config, /multi_agent\s*=/);
283
283
  assert.doesNotMatch(config, /child_agents_md\s*=/);
284
- assert.doesNotMatch(config, /codex_hooks\s*=/);
284
+ assert.doesNotMatch(config, /^hooks\s*=/m);
285
285
  assert.equal(existsSync(join(codexDir, 'hooks.json')), false);
286
286
  }
287
287
  finally {
@@ -310,7 +310,7 @@ describe('omx uninstall', () => {
310
310
  assert.doesNotMatch(config, /notify\s*=.*node/);
311
311
  assert.doesNotMatch(config, /multi_agent/);
312
312
  assert.doesNotMatch(config, /child_agents_md/);
313
- assert.doesNotMatch(config, /codex_hooks/);
313
+ assert.doesNotMatch(config, /^hooks\s*=/m);
314
314
  }
315
315
  finally {
316
316
  await rm(wd, { recursive: true, force: true });
@@ -345,6 +345,44 @@ describe('omx uninstall', () => {
345
345
  assert.match(hooks, /echo keep-me/);
346
346
  assert.match(hooks, /"version": 1/);
347
347
  assert.doesNotMatch(hooks, /codex-native-hook\.js/);
348
+ const config = await readFile(join(codexDir, 'config.toml'), 'utf-8');
349
+ assert.match(config, /^codex_hooks = true$/m);
350
+ assert.doesNotMatch(config, /^multi_agent\s*=/m);
351
+ assert.doesNotMatch(config, /^child_agents_md\s*=/m);
352
+ assert.doesNotMatch(config, /^goals\s*=/m);
353
+ }
354
+ finally {
355
+ await rm(wd, { recursive: true, force: true });
356
+ }
357
+ });
358
+ it('does not preserve hooks feature flag from non-features tables', async () => {
359
+ const wd = await mkdtemp(join(tmpdir(), 'omx-uninstall-'));
360
+ try {
361
+ const home = join(wd, 'home');
362
+ const codexDir = join(home, '.codex');
363
+ await mkdir(codexDir, { recursive: true });
364
+ await writeFile(join(codexDir, 'config.toml'), `${buildOmxConfig().replace('codex_hooks = true\n', '')}\n[user.settings]\nhooks = true\n`);
365
+ await writeFile(join(codexDir, 'hooks.json'), JSON.stringify({
366
+ hooks: {
367
+ SessionStart: [
368
+ {
369
+ hooks: [
370
+ { type: 'command', command: 'node "/repo/dist/scripts/codex-native-hook.js"' },
371
+ { type: 'command', command: 'echo keep-me' },
372
+ ],
373
+ },
374
+ ],
375
+ },
376
+ }) + '\n');
377
+ const res = runOmx(wd, ['uninstall'], { HOME: home });
378
+ if (shouldSkipForSpawnPermissions(res.error))
379
+ return;
380
+ assert.equal(res.status, 0, res.stderr || res.stdout);
381
+ const config = await readFile(join(codexDir, 'config.toml'), 'utf-8');
382
+ const featuresBlock = config.match(/^\[features\]\n(?:(?!^\[).*\n?)*/m)?.[0] ?? '';
383
+ assert.doesNotMatch(featuresBlock, /^codex_hooks = true$/m);
384
+ assert.doesNotMatch(featuresBlock, /^hooks = true$/m);
385
+ assert.match(config, /^\[user\.settings\]\nhooks = true$/m);
348
386
  }
349
387
  finally {
350
388
  await rm(wd, { recursive: true, force: true });
@@ -740,6 +778,8 @@ describe('stripOmxFeatureFlags', () => {
740
778
  '[features]',
741
779
  'multi_agent = true',
742
780
  'child_agents_md = true',
781
+ 'hooks = true',
782
+ 'codex_hooks = true',
743
783
  'goals = true',
744
784
  'goal = true',
745
785
  'web_search = true',
@@ -748,6 +788,8 @@ describe('stripOmxFeatureFlags', () => {
748
788
  const result = stripOmxFeatureFlags(config);
749
789
  assert.doesNotMatch(result, /multi_agent/);
750
790
  assert.doesNotMatch(result, /child_agents_md/);
791
+ assert.doesNotMatch(result, /^hooks\s*=/m);
792
+ assert.doesNotMatch(result, /^codex_hooks\s*=/m);
751
793
  assert.doesNotMatch(result, /^goals\s*=/m);
752
794
  assert.doesNotMatch(result, /^goal\s*=/m);
753
795
  assert.match(result, /web_search = true/);
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/uninstall.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/uninstall.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import assert from 'node:assert/strict';
3
3
  import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
4
4
  import { dirname, join } from 'node:path';
5
5
  import { tmpdir } from 'node:os';
6
- import { isInstallVersionBump, isNewerVersion, maybeCheckAndPromptUpdate, readUserInstallStamp, resolveInstalledCliEntry, runImmediateUpdate, shouldCheckForUpdates, spawnInstalledSetupRefresh, writeUserInstallStamp, } from '../update.js';
6
+ import { isInstallVersionBump, isNewerVersion, maybeCheckAndPromptUpdate, readUserInstallStamp, resolveInstalledCliEntry, runDeferredGlobalUpdate, runImmediateUpdate, shouldCheckForUpdates, spawnInstalledSetupRefresh, writeUserInstallStamp, } from '../update.js';
7
7
  const PACKAGE_NAME = 'oh-my-codex';
8
8
  describe('isNewerVersion', () => {
9
9
  it('returns true when latest has higher major', () => {
@@ -125,54 +125,74 @@ describe('maybeCheckAndPromptUpdate', () => {
125
125
  });
126
126
  }
127
127
  }
128
- it('runs setup refresh after a successful auto-update', async () => {
128
+ it('schedules a deferred update after a successful startup prompt', async () => {
129
129
  const cwd = await mkdtemp(join(tmpdir(), 'omx-update-'));
130
130
  const originalLog = console.log;
131
- const prompts = [];
132
- const setupRefreshCalls = [];
131
+ const logs = [];
132
+ let inlineUpdateCalls = 0;
133
+ let setupRefreshCalls = 0;
134
+ const deferredCwds = [];
133
135
  console.log = (...args) => {
134
- prompts.push(args.map((arg) => String(arg)).join(' '));
136
+ logs.push(args.map((arg) => String(arg)).join(' '));
135
137
  };
136
138
  try {
137
139
  await withInteractiveTty(async () => {
138
140
  await maybeCheckAndPromptUpdate(cwd, {
139
141
  getCurrentVersion: async () => '0.8.9',
140
142
  fetchLatestVersion: async () => '0.9.0',
141
- askYesNo: async () => true,
142
- runGlobalUpdate: () => ({ ok: true, stderr: '' }),
143
- runSetupRefresh: async (refreshCwd) => {
144
- setupRefreshCalls.push(refreshCwd);
143
+ askYesNo: async (question) => {
144
+ assert.match(question, /Update after this session exits/);
145
+ return true;
146
+ },
147
+ runGlobalUpdate: () => {
148
+ inlineUpdateCalls += 1;
149
+ return { ok: true, stderr: '' };
150
+ },
151
+ runDeferredGlobalUpdate: (deferredCwd) => {
152
+ deferredCwds.push(deferredCwd);
153
+ return { ok: true, stderr: '', logPath: join(deferredCwd, '.omx', 'logs', 'update-test.log') };
154
+ },
155
+ runSetupRefresh: async () => {
156
+ setupRefreshCalls += 1;
145
157
  return { ok: true, stderr: '' };
146
158
  },
147
159
  });
148
160
  });
149
- assert.deepEqual(setupRefreshCalls, [cwd]);
150
- assert.match(prompts.join('\n'), /Updated to v0\.9\.0/);
161
+ assert.equal(inlineUpdateCalls, 0);
162
+ assert.equal(setupRefreshCalls, 0);
163
+ assert.deepEqual(deferredCwds, [cwd]);
164
+ assert.match(logs.join('\n'), /Update scheduled after this session exits/);
165
+ assert.match(logs.join('\n'), /Log: .*update-test\.log/);
151
166
  }
152
167
  finally {
153
168
  console.log = originalLog;
154
169
  await rm(cwd, { recursive: true, force: true });
155
170
  }
156
171
  });
157
- it('preserves local config semantics by avoiding force setup during auto-update', async () => {
172
+ it('keeps startup update deferred so local setup is not refreshed inline', async () => {
158
173
  const cwd = await mkdtemp(join(tmpdir(), 'omx-update-'));
174
+ const originalLog = console.log;
159
175
  const receivedCwds = [];
176
+ console.log = () => undefined;
160
177
  try {
161
178
  await withInteractiveTty(async () => {
162
179
  await maybeCheckAndPromptUpdate(cwd, {
163
180
  getCurrentVersion: async () => '0.13.0',
164
181
  fetchLatestVersion: async () => '0.13.1',
165
182
  askYesNo: async () => true,
166
- runGlobalUpdate: () => ({ ok: true, stderr: '' }),
167
- runSetupRefresh: async (refreshCwd) => {
168
- receivedCwds.push(refreshCwd);
169
- return { ok: true, stderr: '' };
183
+ runDeferredGlobalUpdate: (deferredCwd) => {
184
+ receivedCwds.push(deferredCwd);
185
+ return { ok: true, stderr: '', logPath: join(deferredCwd, '.omx', 'logs', 'update-test.log') };
186
+ },
187
+ runSetupRefresh: async () => {
188
+ throw new Error('startup setup refresh should be handled by the deferred updater');
170
189
  },
171
190
  });
172
191
  });
173
192
  assert.deepEqual(receivedCwds, [cwd]);
174
193
  }
175
194
  finally {
195
+ console.log = originalLog;
176
196
  await rm(cwd, { recursive: true, force: true });
177
197
  }
178
198
  });
@@ -203,7 +223,7 @@ describe('maybeCheckAndPromptUpdate', () => {
203
223
  await rm(cwd, { recursive: true, force: true });
204
224
  }
205
225
  });
206
- it('does not refresh setup when the global update fails', async () => {
226
+ it('reports scheduler diagnostics when startup deferral cannot be launched', async () => {
207
227
  const cwd = await mkdtemp(join(tmpdir(), 'omx-update-'));
208
228
  const originalLog = console.log;
209
229
  const logs = [];
@@ -217,7 +237,7 @@ describe('maybeCheckAndPromptUpdate', () => {
217
237
  getCurrentVersion: async () => '0.8.9',
218
238
  fetchLatestVersion: async () => '0.9.0',
219
239
  askYesNo: async () => true,
220
- runGlobalUpdate: () => ({ ok: false, stderr: 'npm exited 1' }),
240
+ runDeferredGlobalUpdate: () => ({ ok: false, stderr: 'powershell not found', logPath: join(cwd, '.omx', 'logs', 'update-test.log') }),
221
241
  runSetupRefresh: async () => {
222
242
  setupRefreshCalls += 1;
223
243
  return { ok: true, stderr: '' };
@@ -225,7 +245,9 @@ describe('maybeCheckAndPromptUpdate', () => {
225
245
  });
226
246
  });
227
247
  assert.equal(setupRefreshCalls, 0);
228
- assert.match(logs.join('\n'), /Update failed\. Run manually: npm install -g oh-my-codex@latest/);
248
+ assert.match(logs.join('\n'), /Failed to schedule the deferred update/);
249
+ assert.match(logs.join('\n'), /powershell not found/);
250
+ assert.match(logs.join('\n'), /update-test\.log/);
229
251
  }
230
252
  finally {
231
253
  console.log = originalLog;
@@ -513,6 +535,74 @@ describe('runImmediateUpdate', () => {
513
535
  }
514
536
  });
515
537
  });
538
+ describe('runImmediateUpdate failure diagnostics', () => {
539
+ it('reports npm stderr when explicit update fails', async () => {
540
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-update-now-'));
541
+ const originalLog = console.log;
542
+ const logs = [];
543
+ let refreshCalls = 0;
544
+ console.log = (...args) => {
545
+ logs.push(args.map((arg) => String(arg)).join(' '));
546
+ };
547
+ try {
548
+ const result = await runImmediateUpdate(cwd, {
549
+ getCurrentVersion: async () => '0.14.0',
550
+ fetchLatestVersion: async () => '0.14.1',
551
+ runGlobalUpdate: () => ({ ok: false, stderr: 'EPERM: file is locked\nmore detail' }),
552
+ runSetupRefresh: async () => {
553
+ refreshCalls += 1;
554
+ return { ok: true, stderr: '' };
555
+ },
556
+ });
557
+ assert.equal(result.status, 'failed');
558
+ assert.equal(refreshCalls, 0);
559
+ assert.match(logs.join('\n'), /Update failed while running npm install -g oh-my-codex@latest/);
560
+ assert.match(logs.join('\n'), /npm stderr: EPERM: file is locked/);
561
+ assert.match(logs.join('\n'), /npm install -g oh-my-codex@latest && omx setup/);
562
+ }
563
+ finally {
564
+ console.log = originalLog;
565
+ await rm(cwd, { recursive: true, force: true });
566
+ }
567
+ });
568
+ });
569
+ describe('runDeferredGlobalUpdate', () => {
570
+ it('launches a detached Windows PowerShell updater that waits for the parent and runs setup after npm', async () => {
571
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-deferred-update-'));
572
+ const calls = [];
573
+ const listeners = [];
574
+ try {
575
+ const result = runDeferredGlobalUpdate(cwd, ((command, args, options) => {
576
+ calls.push({ command, args: args, options: (options ?? {}) });
577
+ return {
578
+ once(event) {
579
+ listeners.push(event);
580
+ return this;
581
+ },
582
+ unref() { },
583
+ };
584
+ }), 'win32', 12345);
585
+ assert.equal(result.ok, true);
586
+ assert.match(result.logPath ?? '', /\.omx[\\/]logs[\\/]update-/);
587
+ assert.equal(calls.length, 1);
588
+ assert.equal(calls[0].command, 'powershell.exe');
589
+ assert.deepEqual(calls[0].args.slice(0, 4), ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-Command']);
590
+ assert.deepEqual(listeners, ['error']);
591
+ assert.equal(calls[0].options.detached, true);
592
+ assert.equal(calls[0].options.stdio, 'ignore');
593
+ assert.equal(calls[0].options.windowsHide, true);
594
+ assert.equal(calls[0].options.cwd, cwd);
595
+ assert.equal(calls[0].options.env?.OMX_DEFERRED_UPDATE_PARENT_PID, '12345');
596
+ assert.equal(calls[0].options.env?.OMX_DEFERRED_UPDATE_LOG, result.logPath);
597
+ assert.match(calls[0].args[4], /Get-Process -Id \$parentPid/);
598
+ assert.match(calls[0].args[4], /npm install -g oh-my-codex@latest/);
599
+ assert.match(calls[0].args[4], /omx setup/);
600
+ }
601
+ finally {
602
+ await rm(cwd, { recursive: true, force: true });
603
+ }
604
+ });
605
+ });
516
606
  describe('post-update setup refresh handoff', () => {
517
607
  it('uses the installed package bin entry when resolving the refreshed CLI', async () => {
518
608
  const cwd = await mkdtemp(join(tmpdir(), 'omx-update-bin-contract-'));