oh-my-codex 0.11.12 → 0.12.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 (488) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +50 -17
  4. package/crates/omx-runtime/src/main.rs +6 -2
  5. package/crates/omx-runtime-core/src/engine.rs +122 -4
  6. package/crates/omx-runtime-core/src/lib.rs +17 -0
  7. package/dist/agents/native-config.js +1 -1
  8. package/dist/agents/native-config.js.map +1 -1
  9. package/dist/cli/__tests__/autoresearch-guided.test.js +74 -2
  10. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
  11. package/dist/cli/__tests__/autoresearch.test.js +11 -0
  12. package/dist/cli/__tests__/autoresearch.test.js.map +1 -1
  13. package/dist/cli/__tests__/cleanup.test.js +115 -10
  14. package/dist/cli/__tests__/cleanup.test.js.map +1 -1
  15. package/dist/cli/__tests__/error-handling-warnings.test.js +16 -1
  16. package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -1
  17. package/dist/cli/__tests__/exec.test.js +6 -0
  18. package/dist/cli/__tests__/exec.test.js.map +1 -1
  19. package/dist/cli/__tests__/index.test.js +310 -4
  20. package/dist/cli/__tests__/index.test.js.map +1 -1
  21. package/dist/cli/__tests__/launch-fallback.test.js +3 -0
  22. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  23. package/dist/cli/__tests__/package-bin-contract.test.js +10 -0
  24. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  25. package/dist/cli/__tests__/packaged-script-resolution.test.js +4 -3
  26. package/dist/cli/__tests__/packaged-script-resolution.test.js.map +1 -1
  27. package/dist/cli/__tests__/resume.test.js +6 -0
  28. package/dist/cli/__tests__/resume.test.js.map +1 -1
  29. package/dist/cli/__tests__/setup-refresh.test.js +69 -12
  30. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  31. package/dist/cli/__tests__/setup-scope.test.js +9 -0
  32. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  33. package/dist/cli/__tests__/star-prompt.test.js +16 -0
  34. package/dist/cli/__tests__/star-prompt.test.js.map +1 -1
  35. package/dist/cli/__tests__/team.test.js +136 -11
  36. package/dist/cli/__tests__/team.test.js.map +1 -1
  37. package/dist/cli/__tests__/uninstall.test.js +122 -1
  38. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  39. package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts +2 -0
  40. package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts.map +1 -0
  41. package/dist/cli/__tests__/windows-popup-loop-contract.test.js +31 -0
  42. package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -0
  43. package/dist/cli/autoresearch-guided.d.ts.map +1 -1
  44. package/dist/cli/autoresearch-guided.js +2 -1
  45. package/dist/cli/autoresearch-guided.js.map +1 -1
  46. package/dist/cli/autoresearch.d.ts.map +1 -1
  47. package/dist/cli/autoresearch.js +2 -1
  48. package/dist/cli/autoresearch.js.map +1 -1
  49. package/dist/cli/cleanup.d.ts +2 -0
  50. package/dist/cli/cleanup.d.ts.map +1 -1
  51. package/dist/cli/cleanup.js +30 -3
  52. package/dist/cli/cleanup.js.map +1 -1
  53. package/dist/cli/index.d.ts +19 -0
  54. package/dist/cli/index.d.ts.map +1 -1
  55. package/dist/cli/index.js +399 -80
  56. package/dist/cli/index.js.map +1 -1
  57. package/dist/cli/omx.js +2 -0
  58. package/dist/cli/omx.js.map +1 -1
  59. package/dist/cli/setup.d.ts +1 -0
  60. package/dist/cli/setup.d.ts.map +1 -1
  61. package/dist/cli/setup.js +49 -14
  62. package/dist/cli/setup.js.map +1 -1
  63. package/dist/cli/star-prompt.d.ts.map +1 -1
  64. package/dist/cli/star-prompt.js +1 -0
  65. package/dist/cli/star-prompt.js.map +1 -1
  66. package/dist/cli/team.d.ts.map +1 -1
  67. package/dist/cli/team.js +21 -558
  68. package/dist/cli/team.js.map +1 -1
  69. package/dist/cli/uninstall.d.ts.map +1 -1
  70. package/dist/cli/uninstall.js +60 -9
  71. package/dist/cli/uninstall.js.map +1 -1
  72. package/dist/cli/update.d.ts.map +1 -1
  73. package/dist/cli/update.js +1 -0
  74. package/dist/cli/update.js.map +1 -1
  75. package/dist/config/__tests__/generator-idempotent.test.js +83 -6
  76. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  77. package/dist/config/__tests__/generator-notify.test.js +2 -0
  78. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  79. package/dist/config/__tests__/mcp-registry.test.js +13 -16
  80. package/dist/config/__tests__/mcp-registry.test.js.map +1 -1
  81. package/dist/config/codex-hooks.d.ts +11 -0
  82. package/dist/config/codex-hooks.d.ts.map +1 -0
  83. package/dist/config/codex-hooks.js +50 -0
  84. package/dist/config/codex-hooks.js.map +1 -0
  85. package/dist/config/generator.d.ts +5 -3
  86. package/dist/config/generator.d.ts.map +1 -1
  87. package/dist/config/generator.js +24 -14
  88. package/dist/config/generator.js.map +1 -1
  89. package/dist/config/mcp-registry.d.ts +1 -0
  90. package/dist/config/mcp-registry.d.ts.map +1 -1
  91. package/dist/config/mcp-registry.js +4 -4
  92. package/dist/config/mcp-registry.js.map +1 -1
  93. package/dist/config/models.d.ts +1 -0
  94. package/dist/config/models.d.ts.map +1 -1
  95. package/dist/config/models.js +39 -1
  96. package/dist/config/models.js.map +1 -1
  97. package/dist/hooks/__tests__/debugger-log-recency-contract.test.d.ts +2 -0
  98. package/dist/hooks/__tests__/debugger-log-recency-contract.test.d.ts.map +1 -0
  99. package/dist/hooks/__tests__/debugger-log-recency-contract.test.js +20 -0
  100. package/dist/hooks/__tests__/debugger-log-recency-contract.test.js.map +1 -0
  101. package/dist/hooks/__tests__/keyword-detector.test.js +12 -1
  102. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  103. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +734 -18
  104. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  105. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +86 -0
  106. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  107. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +180 -14
  108. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  109. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.d.ts +2 -0
  110. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.d.ts.map +1 -0
  111. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +54 -0
  112. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -0
  113. package/dist/hooks/__tests__/notify-hook-modules.test.js +36 -0
  114. package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
  115. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts +2 -0
  116. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts.map +1 -0
  117. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +648 -0
  118. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -0
  119. package/dist/hooks/__tests__/notify-hook-regression-205.test.js +15 -1
  120. package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
  121. package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.d.ts +2 -0
  122. package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.d.ts.map +1 -0
  123. package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.js +136 -0
  124. package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.js.map +1 -0
  125. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +73 -53
  126. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  127. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +313 -2
  128. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  129. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +328 -20
  130. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  131. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +116 -0
  132. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
  133. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +255 -97
  134. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  135. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +0 -0
  136. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
  137. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +132 -0
  138. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  139. package/dist/hooks/__tests__/pre-context-gate-skills.test.js +1 -0
  140. package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -1
  141. package/dist/hooks/extensibility/__tests__/runtime.test.js +49 -0
  142. package/dist/hooks/extensibility/__tests__/runtime.test.js.map +1 -1
  143. package/dist/hooks/extensibility/runtime.d.ts.map +1 -1
  144. package/dist/hooks/extensibility/runtime.js +10 -0
  145. package/dist/hooks/extensibility/runtime.js.map +1 -1
  146. package/dist/hooks/extensibility/types.d.ts +1 -1
  147. package/dist/hooks/extensibility/types.d.ts.map +1 -1
  148. package/dist/hooks/keyword-detector.d.ts +1 -0
  149. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  150. package/dist/hooks/keyword-detector.js +48 -0
  151. package/dist/hooks/keyword-detector.js.map +1 -1
  152. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  153. package/dist/hooks/prompt-guidance-contract.js +12 -8
  154. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  155. package/dist/hooks/session.d.ts +5 -1
  156. package/dist/hooks/session.d.ts.map +1 -1
  157. package/dist/hooks/session.js +11 -6
  158. package/dist/hooks/session.js.map +1 -1
  159. package/dist/hud/__tests__/state.test.js +70 -1
  160. package/dist/hud/__tests__/state.test.js.map +1 -1
  161. package/dist/hud/index.d.ts.map +1 -1
  162. package/dist/hud/index.js +6 -1
  163. package/dist/hud/index.js.map +1 -1
  164. package/dist/hud/state.d.ts.map +1 -1
  165. package/dist/hud/state.js +10 -37
  166. package/dist/hud/state.js.map +1 -1
  167. package/dist/mcp/__tests__/bootstrap.test.js +0 -3
  168. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
  169. package/dist/mcp/__tests__/code-intel-server.test.js +27 -1
  170. package/dist/mcp/__tests__/code-intel-server.test.js.map +1 -1
  171. package/dist/mcp/__tests__/server-lifecycle.test.js +0 -5
  172. package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
  173. package/dist/mcp/bootstrap.d.ts +1 -1
  174. package/dist/mcp/bootstrap.d.ts.map +1 -1
  175. package/dist/mcp/bootstrap.js +0 -1
  176. package/dist/mcp/bootstrap.js.map +1 -1
  177. package/dist/mcp/code-intel-server.d.ts +20 -0
  178. package/dist/mcp/code-intel-server.d.ts.map +1 -1
  179. package/dist/mcp/code-intel-server.js +6 -5
  180. package/dist/mcp/code-intel-server.js.map +1 -1
  181. package/dist/mcp/state-server.d.ts.map +1 -1
  182. package/dist/mcp/state-server.js +5 -0
  183. package/dist/mcp/state-server.js.map +1 -1
  184. package/dist/modes/__tests__/base-session-scope.test.js +46 -0
  185. package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
  186. package/dist/modes/base.d.ts.map +1 -1
  187. package/dist/modes/base.js +4 -0
  188. package/dist/modes/base.js.map +1 -1
  189. package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts +2 -0
  190. package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts.map +1 -0
  191. package/dist/notifications/__tests__/custom-alias-enablement.test.js +84 -0
  192. package/dist/notifications/__tests__/custom-alias-enablement.test.js.map +1 -0
  193. package/dist/notifications/__tests__/idle-cooldown.test.js +79 -1
  194. package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -1
  195. package/dist/notifications/__tests__/reply-listener.test.js +20 -1
  196. package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
  197. package/dist/notifications/__tests__/tmux.test.js +41 -0
  198. package/dist/notifications/__tests__/tmux.test.js.map +1 -1
  199. package/dist/notifications/idle-cooldown.d.ts +21 -6
  200. package/dist/notifications/idle-cooldown.d.ts.map +1 -1
  201. package/dist/notifications/idle-cooldown.js +97 -32
  202. package/dist/notifications/idle-cooldown.js.map +1 -1
  203. package/dist/notifications/notifier.js +1 -1
  204. package/dist/notifications/notifier.js.map +1 -1
  205. package/dist/notifications/reply-listener.d.ts.map +1 -1
  206. package/dist/notifications/reply-listener.js +3 -0
  207. package/dist/notifications/reply-listener.js.map +1 -1
  208. package/dist/notifications/tmux.d.ts.map +1 -1
  209. package/dist/notifications/tmux.js +4 -0
  210. package/dist/notifications/tmux.js.map +1 -1
  211. package/dist/openclaw/config.js +2 -2
  212. package/dist/openclaw/config.js.map +1 -1
  213. package/dist/runtime/bridge.d.ts +1 -0
  214. package/dist/runtime/bridge.d.ts.map +1 -1
  215. package/dist/runtime/bridge.js +2 -6
  216. package/dist/runtime/bridge.js.map +1 -1
  217. package/dist/scripts/__tests__/codex-native-hook.test.d.ts +2 -0
  218. package/dist/scripts/__tests__/codex-native-hook.test.d.ts.map +1 -0
  219. package/dist/scripts/__tests__/codex-native-hook.test.js +720 -0
  220. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -0
  221. package/dist/scripts/codex-native-hook.d.ts +22 -0
  222. package/dist/scripts/codex-native-hook.d.ts.map +1 -0
  223. package/dist/scripts/codex-native-hook.js +594 -0
  224. package/dist/scripts/codex-native-hook.js.map +1 -0
  225. package/dist/scripts/codex-native-pre-post.d.ts +26 -0
  226. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -0
  227. package/dist/scripts/codex-native-pre-post.js +118 -0
  228. package/dist/scripts/codex-native-pre-post.js.map +1 -0
  229. package/dist/scripts/notify-fallback-watcher.js +357 -75
  230. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  231. package/dist/scripts/notify-hook/auto-nudge.d.ts +2 -1
  232. package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
  233. package/dist/scripts/notify-hook/auto-nudge.js +72 -239
  234. package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
  235. package/dist/scripts/notify-hook/log.d.ts +2 -2
  236. package/dist/scripts/notify-hook/log.d.ts.map +1 -1
  237. package/dist/scripts/notify-hook/log.js +10 -2
  238. package/dist/scripts/notify-hook/log.js.map +1 -1
  239. package/dist/scripts/notify-hook/managed-tmux.d.ts +19 -0
  240. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -0
  241. package/dist/scripts/notify-hook/managed-tmux.js +322 -0
  242. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -0
  243. package/dist/scripts/notify-hook/orchestration-intent.d.ts +18 -0
  244. package/dist/scripts/notify-hook/orchestration-intent.d.ts.map +1 -0
  245. package/dist/scripts/notify-hook/orchestration-intent.js +72 -0
  246. package/dist/scripts/notify-hook/orchestration-intent.js.map +1 -0
  247. package/dist/scripts/notify-hook/process-runner.js.map +1 -1
  248. package/dist/scripts/notify-hook/ralph-session-resume.d.ts +22 -0
  249. package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -0
  250. package/dist/scripts/notify-hook/ralph-session-resume.js +284 -0
  251. package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -0
  252. package/dist/scripts/notify-hook/state-io.d.ts +1 -1
  253. package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
  254. package/dist/scripts/notify-hook/state-io.js +2 -10
  255. package/dist/scripts/notify-hook/state-io.js.map +1 -1
  256. package/dist/scripts/notify-hook/team-dispatch.d.ts +15 -6
  257. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  258. package/dist/scripts/notify-hook/team-dispatch.js +185 -65
  259. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  260. package/dist/scripts/notify-hook/team-leader-nudge.d.ts +4 -2
  261. package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
  262. package/dist/scripts/notify-hook/team-leader-nudge.js +176 -40
  263. package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
  264. package/dist/scripts/notify-hook/team-tmux-guard.d.ts +4 -1
  265. package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
  266. package/dist/scripts/notify-hook/team-tmux-guard.js +34 -63
  267. package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
  268. package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
  269. package/dist/scripts/notify-hook/team-worker.js +72 -9
  270. package/dist/scripts/notify-hook/team-worker.js.map +1 -1
  271. package/dist/scripts/notify-hook/tmux-injection.d.ts +1 -1
  272. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  273. package/dist/scripts/notify-hook/tmux-injection.js +102 -35
  274. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  275. package/dist/scripts/notify-hook/utils.d.ts +1 -1
  276. package/dist/scripts/notify-hook/utils.d.ts.map +1 -1
  277. package/dist/scripts/notify-hook/utils.js.map +1 -1
  278. package/dist/scripts/notify-hook.js +197 -50
  279. package/dist/scripts/notify-hook.js.map +1 -1
  280. package/dist/scripts/tmux-hook-engine.d.ts +1 -0
  281. package/dist/scripts/tmux-hook-engine.d.ts.map +1 -1
  282. package/dist/scripts/tmux-hook-engine.js +3 -0
  283. package/dist/scripts/tmux-hook-engine.js.map +1 -1
  284. package/dist/team/__tests__/api-interop.test.js +439 -21
  285. package/dist/team/__tests__/api-interop.test.js.map +1 -1
  286. package/dist/team/__tests__/delivery-e2e-smoke.test.d.ts +2 -0
  287. package/dist/team/__tests__/delivery-e2e-smoke.test.d.ts.map +1 -0
  288. package/dist/team/__tests__/delivery-e2e-smoke.test.js +671 -0
  289. package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -0
  290. package/dist/team/__tests__/leader-activity.test.js +107 -2
  291. package/dist/team/__tests__/leader-activity.test.js.map +1 -1
  292. package/dist/team/__tests__/mcp-comm.test.js +5 -0
  293. package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
  294. package/dist/team/__tests__/runtime-cli.test.js +32 -0
  295. package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
  296. package/dist/team/__tests__/runtime.test.js +570 -12
  297. package/dist/team/__tests__/runtime.test.js.map +1 -1
  298. package/dist/team/__tests__/shutdown-fallback.test.js +13 -0
  299. package/dist/team/__tests__/shutdown-fallback.test.js.map +1 -1
  300. package/dist/team/__tests__/state-root.test.js +11 -1
  301. package/dist/team/__tests__/state-root.test.js.map +1 -1
  302. package/dist/team/__tests__/state.test.js +142 -13
  303. package/dist/team/__tests__/state.test.js.map +1 -1
  304. package/dist/team/__tests__/team-ops-contract.test.js +4 -0
  305. package/dist/team/__tests__/team-ops-contract.test.js.map +1 -1
  306. package/dist/team/__tests__/tmux-session.test.js +620 -2
  307. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  308. package/dist/team/__tests__/worker-bootstrap.test.js +19 -1
  309. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  310. package/dist/team/api-interop.d.ts.map +1 -1
  311. package/dist/team/api-interop.js +128 -29
  312. package/dist/team/api-interop.js.map +1 -1
  313. package/dist/team/commit-hygiene.d.ts +60 -0
  314. package/dist/team/commit-hygiene.d.ts.map +1 -0
  315. package/dist/team/commit-hygiene.js +232 -0
  316. package/dist/team/commit-hygiene.js.map +1 -0
  317. package/dist/team/contracts.d.ts +11 -1
  318. package/dist/team/contracts.d.ts.map +1 -1
  319. package/dist/team/contracts.js +29 -0
  320. package/dist/team/contracts.js.map +1 -1
  321. package/dist/team/delivery-log.d.ts +14 -0
  322. package/dist/team/delivery-log.d.ts.map +1 -0
  323. package/dist/team/delivery-log.js +35 -0
  324. package/dist/team/delivery-log.js.map +1 -0
  325. package/dist/team/idle-nudge.d.ts +2 -2
  326. package/dist/team/idle-nudge.js +2 -2
  327. package/dist/team/leader-activity.d.ts.map +1 -1
  328. package/dist/team/leader-activity.js +17 -35
  329. package/dist/team/leader-activity.js.map +1 -1
  330. package/dist/team/mcp-comm.d.ts +4 -0
  331. package/dist/team/mcp-comm.d.ts.map +1 -1
  332. package/dist/team/mcp-comm.js +84 -1
  333. package/dist/team/mcp-comm.js.map +1 -1
  334. package/dist/team/pane-status.d.ts +149 -0
  335. package/dist/team/pane-status.d.ts.map +1 -0
  336. package/dist/team/pane-status.js +558 -0
  337. package/dist/team/pane-status.js.map +1 -0
  338. package/dist/team/reminder-intents.d.ts +11 -0
  339. package/dist/team/reminder-intents.d.ts.map +1 -0
  340. package/dist/team/reminder-intents.js +40 -0
  341. package/dist/team/reminder-intents.js.map +1 -0
  342. package/dist/team/runtime-cli.d.ts +10 -2
  343. package/dist/team/runtime-cli.d.ts.map +1 -1
  344. package/dist/team/runtime-cli.js +17 -8
  345. package/dist/team/runtime-cli.js.map +1 -1
  346. package/dist/team/runtime.d.ts +9 -3
  347. package/dist/team/runtime.d.ts.map +1 -1
  348. package/dist/team/runtime.js +793 -248
  349. package/dist/team/runtime.js.map +1 -1
  350. package/dist/team/scaling.d.ts.map +1 -1
  351. package/dist/team/scaling.js +6 -5
  352. package/dist/team/scaling.js.map +1 -1
  353. package/dist/team/state/dispatch.d.ts +4 -1
  354. package/dist/team/state/dispatch.d.ts.map +1 -1
  355. package/dist/team/state/dispatch.js +60 -19
  356. package/dist/team/state/dispatch.js.map +1 -1
  357. package/dist/team/state/mailbox.d.ts +1 -0
  358. package/dist/team/state/mailbox.d.ts.map +1 -1
  359. package/dist/team/state/mailbox.js +92 -9
  360. package/dist/team/state/mailbox.js.map +1 -1
  361. package/dist/team/state/monitor.d.ts +2 -1
  362. package/dist/team/state/monitor.d.ts.map +1 -1
  363. package/dist/team/state/monitor.js +30 -1
  364. package/dist/team/state/monitor.js.map +1 -1
  365. package/dist/team/state/types.d.ts +5 -2
  366. package/dist/team/state/types.d.ts.map +1 -1
  367. package/dist/team/state/types.js.map +1 -1
  368. package/dist/team/state-root.d.ts +1 -1
  369. package/dist/team/state-root.d.ts.map +1 -1
  370. package/dist/team/state-root.js +8 -3
  371. package/dist/team/state-root.js.map +1 -1
  372. package/dist/team/state.d.ts +30 -3
  373. package/dist/team/state.d.ts.map +1 -1
  374. package/dist/team/state.js +236 -5
  375. package/dist/team/state.js.map +1 -1
  376. package/dist/team/team-ops.d.ts +5 -1
  377. package/dist/team/team-ops.d.ts.map +1 -1
  378. package/dist/team/team-ops.js +4 -0
  379. package/dist/team/team-ops.js.map +1 -1
  380. package/dist/team/tmux-session.d.ts +2 -0
  381. package/dist/team/tmux-session.d.ts.map +1 -1
  382. package/dist/team/tmux-session.js +88 -30
  383. package/dist/team/tmux-session.js.map +1 -1
  384. package/dist/team/worker-bootstrap.d.ts +4 -0
  385. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  386. package/dist/team/worker-bootstrap.js +33 -6
  387. package/dist/team/worker-bootstrap.js.map +1 -1
  388. package/dist/utils/__tests__/paths.test.js +63 -1
  389. package/dist/utils/__tests__/paths.test.js.map +1 -1
  390. package/dist/utils/__tests__/platform-command.test.js +150 -5
  391. package/dist/utils/__tests__/platform-command.test.js.map +1 -1
  392. package/dist/utils/git-layout.d.ts +8 -0
  393. package/dist/utils/git-layout.d.ts.map +1 -0
  394. package/dist/utils/git-layout.js +58 -0
  395. package/dist/utils/git-layout.js.map +1 -0
  396. package/dist/utils/paths.d.ts +12 -0
  397. package/dist/utils/paths.d.ts.map +1 -1
  398. package/dist/utils/paths.js +44 -2
  399. package/dist/utils/paths.js.map +1 -1
  400. package/dist/utils/platform-command.d.ts.map +1 -1
  401. package/dist/utils/platform-command.js +45 -6
  402. package/dist/utils/platform-command.js.map +1 -1
  403. package/dist/utils/sleep.d.ts.map +1 -1
  404. package/dist/utils/sleep.js +10 -1
  405. package/dist/utils/sleep.js.map +1 -1
  406. package/package.json +6 -6
  407. package/prompts/analyst.md +2 -2
  408. package/prompts/api-reviewer.md +2 -2
  409. package/prompts/architect.md +2 -2
  410. package/prompts/build-fixer.md +2 -2
  411. package/prompts/code-reviewer.md +2 -2
  412. package/prompts/code-simplifier.md +1 -1
  413. package/prompts/critic.md +2 -2
  414. package/prompts/debugger.md +3 -2
  415. package/prompts/dependency-expert.md +2 -2
  416. package/prompts/designer.md +2 -2
  417. package/prompts/executor.md +3 -2
  418. package/prompts/explore.md +2 -2
  419. package/prompts/git-master.md +2 -2
  420. package/prompts/information-architect.md +2 -2
  421. package/prompts/performance-reviewer.md +2 -2
  422. package/prompts/planner.md +3 -2
  423. package/prompts/product-analyst.md +2 -2
  424. package/prompts/product-manager.md +2 -2
  425. package/prompts/qa-tester.md +2 -2
  426. package/prompts/quality-reviewer.md +2 -2
  427. package/prompts/quality-strategist.md +2 -2
  428. package/prompts/researcher.md +2 -2
  429. package/prompts/security-reviewer.md +2 -2
  430. package/prompts/sisyphus-lite.md +2 -2
  431. package/prompts/style-reviewer.md +2 -2
  432. package/prompts/team-executor.md +2 -2
  433. package/prompts/test-engineer.md +2 -2
  434. package/prompts/ux-researcher.md +2 -2
  435. package/prompts/verifier.md +3 -2
  436. package/prompts/vision.md +2 -2
  437. package/prompts/writer.md +2 -2
  438. package/skills/team/SKILL.md +18 -33
  439. package/src/scripts/__tests__/codex-native-hook.test.ts +931 -0
  440. package/src/scripts/codex-native-hook.ts +721 -0
  441. package/src/scripts/codex-native-pre-post.ts +161 -0
  442. package/src/scripts/notify-fallback-watcher.ts +411 -81
  443. package/src/scripts/notify-hook/auto-nudge.ts +74 -234
  444. package/src/scripts/notify-hook/log.ts +18 -4
  445. package/src/scripts/notify-hook/managed-tmux.ts +325 -0
  446. package/src/scripts/notify-hook/orchestration-intent.ts +82 -0
  447. package/src/scripts/notify-hook/process-runner.ts +4 -4
  448. package/src/scripts/notify-hook/ralph-session-resume.ts +346 -0
  449. package/src/scripts/notify-hook/state-io.ts +2 -10
  450. package/src/scripts/notify-hook/team-dispatch.ts +204 -60
  451. package/src/scripts/notify-hook/team-leader-nudge.ts +201 -41
  452. package/src/scripts/notify-hook/team-tmux-guard.ts +35 -63
  453. package/src/scripts/notify-hook/team-worker.ts +77 -8
  454. package/src/scripts/notify-hook/tmux-injection.ts +103 -33
  455. package/src/scripts/notify-hook/utils.ts +1 -1
  456. package/src/scripts/notify-hook.ts +212 -51
  457. package/src/scripts/tmux-hook-engine.ts +4 -0
  458. package/templates/AGENTS.md +21 -11
  459. package/README.de.md +0 -263
  460. package/README.el.md +0 -223
  461. package/README.es.md +0 -263
  462. package/README.fr.md +0 -263
  463. package/README.it.md +0 -263
  464. package/README.ja.md +0 -264
  465. package/README.ko.md +0 -264
  466. package/README.pl.md +0 -216
  467. package/README.pt.md +0 -263
  468. package/README.ru.md +0 -263
  469. package/README.tr.md +0 -263
  470. package/README.vi.md +0 -264
  471. package/README.zh-TW.md +0 -293
  472. package/README.zh.md +0 -264
  473. package/dist/mcp/__tests__/team-server-cleanup.test.d.ts +0 -2
  474. package/dist/mcp/__tests__/team-server-cleanup.test.d.ts.map +0 -1
  475. package/dist/mcp/__tests__/team-server-cleanup.test.js +0 -219
  476. package/dist/mcp/__tests__/team-server-cleanup.test.js.map +0 -1
  477. package/dist/mcp/__tests__/team-server-runtime-deps.test.d.ts +0 -2
  478. package/dist/mcp/__tests__/team-server-runtime-deps.test.d.ts.map +0 -1
  479. package/dist/mcp/__tests__/team-server-runtime-deps.test.js +0 -13
  480. package/dist/mcp/__tests__/team-server-runtime-deps.test.js.map +0 -1
  481. package/dist/mcp/__tests__/team-server-wait.test.d.ts +0 -2
  482. package/dist/mcp/__tests__/team-server-wait.test.d.ts.map +0 -1
  483. package/dist/mcp/__tests__/team-server-wait.test.js +0 -155
  484. package/dist/mcp/__tests__/team-server-wait.test.js.map +0 -1
  485. package/dist/mcp/team-server.d.ts +0 -24
  486. package/dist/mcp/team-server.d.ts.map +0 -1
  487. package/dist/mcp/team-server.js +0 -482
  488. package/dist/mcp/team-server.js.map +0 -1
package/Cargo.lock CHANGED
@@ -32,11 +32,11 @@ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
32
32
 
33
33
  [[package]]
34
34
  name = "omx-explore-harness"
35
- version = "0.11.12"
35
+ version = "0.12.0"
36
36
 
37
37
  [[package]]
38
38
  name = "omx-mux"
39
- version = "0.11.12"
39
+ version = "0.12.0"
40
40
  dependencies = [
41
41
  "serde",
42
42
  "serde_json",
@@ -44,7 +44,7 @@ dependencies = [
44
44
 
45
45
  [[package]]
46
46
  name = "omx-runtime"
47
- version = "0.11.12"
47
+ version = "0.12.0"
48
48
  dependencies = [
49
49
  "omx-mux",
50
50
  "omx-runtime-core",
@@ -53,7 +53,7 @@ dependencies = [
53
53
 
54
54
  [[package]]
55
55
  name = "omx-runtime-core"
56
- version = "0.11.12"
56
+ version = "0.12.0"
57
57
  dependencies = [
58
58
  "fs2",
59
59
  "serde",
@@ -62,7 +62,7 @@ dependencies = [
62
62
 
63
63
  [[package]]
64
64
  name = "omx-sparkshell"
65
- version = "0.11.12"
65
+ version = "0.12.0"
66
66
  dependencies = [
67
67
  "omx-mux",
68
68
  ]
package/Cargo.toml CHANGED
@@ -10,7 +10,7 @@ resolver = "2"
10
10
 
11
11
  [workspace.package]
12
12
 
13
- version = "0.11.12"
13
+ version = "0.12.0"
14
14
 
15
15
  edition = "2021"
16
16
  license = "MIT"
package/README.md CHANGED
@@ -11,8 +11,9 @@
11
11
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org)
12
12
  [![Discord](https://img.shields.io/discord/1452487457085063218?color=5865F2&logo=discord&logoColor=white&label=Discord)](https://discord.gg/PUwSMR9XNk)
13
13
 
14
- **Website:** https://yeachan-heo.github.io/oh-my-codex-website/
14
+ **Website:** https://yeachan-heo.github.io/oh-my-codex-website/
15
15
  **Docs:** [Getting Started](./docs/getting-started.html) · [Agents](./docs/agents.html) · [Skills](./docs/skills.html) · [Integrations](./docs/integrations.html) · [Demo](./DEMO.md) · [OpenClaw guide](./docs/openclaw-integration.md)
16
+ **Community:** [Discord](https://discord.gg/PUwSMR9XNk) — shared OMX/community server for oh-my-codex and related tooling.
16
17
 
17
18
  OMX is a workflow layer for [OpenAI Codex CLI](https://github.com/openai/codex).
18
19
 
@@ -22,6 +23,29 @@ It keeps Codex as the execution engine and makes it easier to:
22
23
  - invoke the canonical skills with `$deep-interview`, `$ralplan`, `$team`, and `$ralph`
23
24
  - keep project guidance, plans, logs, and state in `.omx/`
24
25
 
26
+ ## Core Maintainers
27
+
28
+ | Role | Name | GitHub |
29
+ | --- | --- | --- |
30
+ | Creator & Lead | Yeachan Heo | [@Yeachan-Heo](https://github.com/Yeachan-Heo) |
31
+ | Maintainer | HaD0Yun | [@HaD0Yun](https://github.com/HaD0Yun) |
32
+
33
+ ## Ambassadors
34
+
35
+ | Name | GitHub |
36
+ | --- | --- |
37
+ | Sigrid Jin | [@sigridjineth](https://github.com/sigridjineth) |
38
+
39
+ ## Top Collaborators
40
+
41
+ | Name | GitHub |
42
+ | --- | --- |
43
+ | HaD0Yun | [@HaD0Yun](https://github.com/HaD0Yun) |
44
+ | Junho Yeo | [@junhoyeo](https://github.com/junhoyeo) |
45
+ | JiHongKim98 | [@JiHongKim98](https://github.com/JiHongKim98) |
46
+ | Lor | — |
47
+ | HyunjunJeon | [@HyunjunJeon](https://github.com/HyunjunJeon) |
48
+
25
49
  ## Recommended default flow
26
50
 
27
51
  If you want the default OMX experience, start here:
@@ -137,10 +161,17 @@ omx team shutdown <team-name>
137
161
  ### Setup, doctor, and HUD
138
162
 
139
163
  These are operator/support surfaces:
140
- - `omx setup` installs prompts, skills, config, and AGENTS scaffolding
164
+ - `omx setup` installs prompts, skills, AGENTS scaffolding, `.codex/config.toml`, and OMX-managed native Codex hooks in `.codex/hooks.json`
141
165
  - `omx doctor` verifies the install when something seems wrong
142
166
  - `omx hud --watch` is a monitoring/status surface, not the primary user workflow
143
167
 
168
+ For non-team sessions, native Codex hooks are now the canonical lifecycle surface:
169
+ - `.codex/hooks.json` = native Codex hook registrations
170
+ - `.omx/hooks/*.mjs` = OMX plugin hooks
171
+ - `omx tmux-hook` / notify-hook / derived watcher = tmux + runtime fallback paths
172
+
173
+ See [Codex native hook mapping](./docs/codex-native-hooks.md) for the current native / fallback matrix.
174
+
144
175
  ### Explore and sparkshell
145
176
 
146
177
  - `omx explore --prompt "..."` is for read-only repository lookup
@@ -184,6 +215,7 @@ If this happens, try:
184
215
  - [Demo guide](./DEMO.md)
185
216
  - [Agent catalog](./docs/agents.html)
186
217
  - [Skills reference](./docs/skills.html)
218
+ - [Codex native hook mapping](./docs/codex-native-hooks.md)
187
219
  - [Integrations](./docs/integrations.html)
188
220
  - [OpenClaw / notification gateway guide](./docs/openclaw-integration.md)
189
221
  - [Contributing](./CONTRIBUTING.md)
@@ -192,20 +224,21 @@ If this happens, try:
192
224
  ## Languages
193
225
 
194
226
  - [English](./README.md)
195
- - [한국어](./README.ko.md)
196
- - [日本語](./README.ja.md)
197
- - [简体中文](./README.zh.md)
198
- - [繁體中文](./README.zh-TW.md)
199
- - [Tiếng Việt](./README.vi.md)
200
- - [Español](./README.es.md)
201
- - [Português](./README.pt.md)
202
- - [Русский](./README.ru.md)
203
- - [Türkçe](./README.tr.md)
204
- - [Deutsch](./README.de.md)
205
- - [Français](./README.fr.md)
206
- - [Italiano](./README.it.md)
207
- - [Ελληνικά](./README.el.md)
208
- - [Polski](./README.pl.md)
227
+ - [한국어](./docs/readme/README.ko.md)
228
+ - [日本語](./docs/readme/README.ja.md)
229
+ - [简体中文](./docs/readme/README.zh.md)
230
+ - [繁體中文](./docs/readme/README.zh-TW.md)
231
+ - [Tiếng Việt](./docs/readme/README.vi.md)
232
+ - [Español](./docs/readme/README.es.md)
233
+ - [Português](./docs/readme/README.pt.md)
234
+ - [Русский](./docs/readme/README.ru.md)
235
+ - [Türkçe](./docs/readme/README.tr.md)
236
+ - [Deutsch](./docs/readme/README.de.md)
237
+ - [Français](./docs/readme/README.fr.md)
238
+ - [Italiano](./docs/readme/README.it.md)
239
+ - [Ελληνικά](./docs/readme/README.el.md)
240
+ - [Polski](./docs/readme/README.pl.md)
241
+ - [Українська](./docs/readme/README.uk.md)
209
242
 
210
243
  ## Contributors
211
244
 
@@ -220,4 +253,4 @@ If this happens, try:
220
253
 
221
254
  ## License
222
255
 
223
- MIT
256
+ MIT
@@ -86,8 +86,12 @@ fn run() -> Result<(), String> {
86
86
  }
87
87
 
88
88
  if state_dir.is_some() {
89
- let _ = engine.persist();
90
- let _ = engine.write_compatibility_view();
89
+ engine
90
+ .persist()
91
+ .map_err(|e| format!("persist failed: {e}"))?;
92
+ engine
93
+ .write_compatibility_view()
94
+ .map_err(|e| format!("compatibility view failed: {e}"))?;
91
95
  }
92
96
 
93
97
  println!(
@@ -173,6 +173,7 @@ impl RuntimeEngine {
173
173
  message_id,
174
174
  from_worker,
175
175
  to_worker,
176
+ body: Some(body),
176
177
  }
177
178
  }
178
179
  RuntimeCommand::MarkMailboxNotified { message_id } => {
@@ -293,7 +294,10 @@ impl RuntimeEngine {
293
294
  lock_file.lock_shared()?;
294
295
 
295
296
  let events_json = std::fs::read_to_string(dir.join("events.json"))?;
296
- let events: Vec<RuntimeEvent> = serde_json::from_str(&events_json)?;
297
+ let mut events: Vec<RuntimeEvent> = serde_json::from_str(&events_json)?;
298
+ let mailbox = std::fs::read_to_string(dir.join("mailbox.json"))
299
+ .ok()
300
+ .and_then(|mailbox_json| serde_json::from_str::<MailboxLog>(&mailbox_json).ok());
297
301
 
298
302
  drop(lock_file);
299
303
 
@@ -302,6 +306,32 @@ impl RuntimeEngine {
302
306
  for event in &events {
303
307
  replay_event(&mut engine, event);
304
308
  }
309
+
310
+ if let Some(mailbox_state) = mailbox {
311
+ let body_by_message_id: std::collections::HashMap<&str, &str> = mailbox_state
312
+ .records()
313
+ .iter()
314
+ .map(|record| (record.message_id.as_str(), record.body.as_str()))
315
+ .collect();
316
+
317
+ for event in &mut events {
318
+ if let RuntimeEvent::MailboxMessageCreated {
319
+ message_id, body, ..
320
+ } = event
321
+ {
322
+ if body.is_none() {
323
+ if let Some(record_body) = body_by_message_id.get(message_id.as_str()) {
324
+ if !record_body.is_empty() {
325
+ *body = Some((*record_body).to_string());
326
+ }
327
+ }
328
+ }
329
+ }
330
+ }
331
+
332
+ engine.mailbox = mailbox_state;
333
+ }
334
+
305
335
  engine.event_log = events;
306
336
 
307
337
  Ok(engine)
@@ -357,10 +387,14 @@ fn replay_event(engine: &mut RuntimeEngine, event: &RuntimeEvent) {
357
387
  message_id,
358
388
  from_worker,
359
389
  to_worker,
390
+ body,
360
391
  } => {
361
- engine
362
- .mailbox
363
- .create(message_id, from_worker, to_worker, "");
392
+ engine.mailbox.create(
393
+ message_id,
394
+ from_worker,
395
+ to_worker,
396
+ body.as_deref().unwrap_or(""),
397
+ );
364
398
  }
365
399
  RuntimeEvent::MailboxNotified { message_id } => {
366
400
  let _ = engine.mailbox.mark_notified(message_id);
@@ -515,6 +549,90 @@ mod tests {
515
549
  let _ = std::fs::remove_dir_all(&dir);
516
550
  }
517
551
 
552
+ #[test]
553
+ fn persist_and_load_round_trip_preserves_mailbox_body() {
554
+ let dir = std::env::temp_dir().join("omx-runtime-test-mailbox-body");
555
+ let _ = std::fs::remove_dir_all(&dir);
556
+
557
+ let mut engine = RuntimeEngine::new().with_state_dir(&dir);
558
+ engine
559
+ .process(RuntimeCommand::CreateMailboxMessage {
560
+ message_id: "msg-1".into(),
561
+ from_worker: "worker-1".into(),
562
+ to_worker: "leader-fixed".into(),
563
+ body: "ACK: worker-1 initialized".into(),
564
+ })
565
+ .unwrap();
566
+ engine.persist().unwrap();
567
+
568
+ let loaded = RuntimeEngine::load(&dir).unwrap();
569
+ loaded.write_compatibility_view().unwrap();
570
+
571
+ let mailbox_json = std::fs::read_to_string(dir.join("mailbox.json")).unwrap();
572
+ let mailbox: serde_json::Value = serde_json::from_str(&mailbox_json).unwrap();
573
+ assert_eq!(
574
+ mailbox["records"][0]["body"],
575
+ serde_json::Value::String("ACK: worker-1 initialized".into())
576
+ );
577
+
578
+ let _ = std::fs::remove_dir_all(&dir);
579
+ }
580
+
581
+ #[test]
582
+ fn load_backfills_legacy_mailbox_event_body_from_mailbox_json() {
583
+ let dir = std::env::temp_dir().join("omx-runtime-test-mailbox-backfill");
584
+ let _ = std::fs::remove_dir_all(&dir);
585
+ std::fs::create_dir_all(&dir).unwrap();
586
+
587
+ std::fs::write(
588
+ dir.join("events.json"),
589
+ serde_json::to_string_pretty(&vec![RuntimeEvent::MailboxMessageCreated {
590
+ message_id: "msg-legacy".into(),
591
+ from_worker: "worker-1".into(),
592
+ to_worker: "leader-fixed".into(),
593
+ body: None,
594
+ }])
595
+ .unwrap(),
596
+ )
597
+ .unwrap();
598
+ std::fs::write(
599
+ dir.join("mailbox.json"),
600
+ serde_json::to_string_pretty(&serde_json::json!({
601
+ "records": [{
602
+ "message_id": "msg-legacy",
603
+ "from_worker": "worker-1",
604
+ "to_worker": "leader-fixed",
605
+ "body": "recovered body",
606
+ "created_at": "2026-04-04T00:00:00.000Z",
607
+ "notified_at": null,
608
+ "delivered_at": null
609
+ }]
610
+ }))
611
+ .unwrap(),
612
+ )
613
+ .unwrap();
614
+ std::fs::write(dir.join("engine.lock"), "").unwrap();
615
+
616
+ let loaded = RuntimeEngine::load(&dir).unwrap();
617
+ loaded.persist().unwrap();
618
+
619
+ let events_json = std::fs::read_to_string(dir.join("events.json")).unwrap();
620
+ let persisted_events: Vec<RuntimeEvent> = serde_json::from_str(&events_json).unwrap();
621
+ assert!(matches!(
622
+ &persisted_events[0],
623
+ RuntimeEvent::MailboxMessageCreated { body: Some(body), .. } if body == "recovered body"
624
+ ));
625
+
626
+ let mailbox_json = std::fs::read_to_string(dir.join("mailbox.json")).unwrap();
627
+ let mailbox: serde_json::Value = serde_json::from_str(&mailbox_json).unwrap();
628
+ assert_eq!(
629
+ mailbox["records"][0]["body"],
630
+ serde_json::Value::String("recovered body".into())
631
+ );
632
+
633
+ let _ = std::fs::remove_dir_all(&dir);
634
+ }
635
+
518
636
  #[test]
519
637
  fn derive_readiness_stale_authority() {
520
638
  let mut authority = AuthorityLease::new();
@@ -271,6 +271,8 @@ pub enum RuntimeEvent {
271
271
  message_id: String,
272
272
  from_worker: String,
273
273
  to_worker: String,
274
+ #[serde(default)]
275
+ body: Option<String>,
274
276
  },
275
277
  MailboxNotified {
276
278
  message_id: String,
@@ -633,4 +635,19 @@ mod tests {
633
635
  let deserialized: RuntimeEvent = serde_json::from_str(&json).unwrap();
634
636
  assert_eq!(event, deserialized);
635
637
  }
638
+
639
+ #[test]
640
+ fn mailbox_message_created_event_deserializes_without_body_for_back_compat() {
641
+ let json = r#"{"event":"MailboxMessageCreated","message_id":"msg-1","from_worker":"worker-1","to_worker":"leader-fixed"}"#;
642
+ let deserialized: RuntimeEvent = serde_json::from_str(json).unwrap();
643
+ assert_eq!(
644
+ deserialized,
645
+ RuntimeEvent::MailboxMessageCreated {
646
+ message_id: "msg-1".into(),
647
+ from_worker: "worker-1".into(),
648
+ to_worker: "leader-fixed".into(),
649
+ body: None,
650
+ }
651
+ );
652
+ }
636
653
  }
@@ -41,7 +41,7 @@ const POSTURE_OVERLAYS = {
41
41
  "- Optimize for fast triage, search, lightweight synthesis, and narrow routing decisions.",
42
42
  "- Do not start deep implementation unless the task is tightly bounded and obvious.",
43
43
  "- If the task expands beyond quick classification or lightweight execution, escalate to a frontier-orchestrator or deep-worker role.",
44
- "- Keep responses concise, scope-aware, and conservative under ambiguity.",
44
+ "- Keep responses quality-first, scope-aware, and conservative under ambiguity; avoid empty verbosity and reflexive tool escalation.",
45
45
  "",
46
46
  "</posture_overlay>",
47
47
  ].join("\n"),
@@ -1 +1 @@
1
- {"version":3,"file":"native-config.js","sourceRoot":"","sources":["../../src/agents/native-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-config.js","sourceRoot":"","sources":["../../src/agents/native-config.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { describe, it } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
3
  import { execFileSync } from 'node:child_process';
4
- import { mkdir, mkdtemp, readFile, rm } from 'node:fs/promises';
4
+ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
5
5
  import { join } from 'node:path';
6
6
  import { tmpdir } from 'node:os';
7
7
  import { parseSandboxContract } from '../../autoresearch/contracts.js';
8
8
  import { isLaunchReadyEvaluatorCommand, resolveAutoresearchDeepInterviewResult, writeAutoresearchDeepInterviewArtifacts, writeAutoresearchDraftArtifact, } from '../autoresearch-intake.js';
9
- import { buildAutoresearchDeepInterviewPrompt, initAutoresearchMission, parseInitArgs, checkTmuxAvailable, runAutoresearchNoviceBridge, } from '../autoresearch-guided.js';
9
+ import { buildAutoresearchDeepInterviewPrompt, initAutoresearchMission, parseInitArgs, checkTmuxAvailable, runAutoresearchNoviceBridge, spawnAutoresearchTmux, } from '../autoresearch-guided.js';
10
+ import { OMX_ENTRY_PATH_ENV, OMX_STARTUP_CWD_ENV } from '../../utils/paths.js';
10
11
  async function initRepo() {
11
12
  const cwd = await mkdtemp(join(tmpdir(), 'omx-autoresearch-guided-test-'));
12
13
  execFileSync('git', ['init'], { cwd, stdio: 'ignore' });
@@ -39,6 +40,9 @@ function makeFakeIo(answers) {
39
40
  close() { },
40
41
  };
41
42
  }
43
+ function escapeRegExp(value) {
44
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
45
+ }
42
46
  describe('initAutoresearchMission', () => {
43
47
  it('creates mission.md with correct content', async () => {
44
48
  const repo = await initRepo();
@@ -169,6 +173,74 @@ describe('checkTmuxAvailable', () => {
169
173
  const result = checkTmuxAvailable();
170
174
  assert.equal(typeof result, 'boolean');
171
175
  });
176
+ it('launches background tmux sessions with an absolute omx entry path even from a relative launcher', async () => {
177
+ const repo = await initRepo();
178
+ const fakeBin = await mkdtemp(join(tmpdir(), 'omx-autoresearch-guided-bin-'));
179
+ const startupCwd = await mkdtemp(join(tmpdir(), 'omx-autoresearch-guided-start-'));
180
+ const missionDir = join(repo, 'missions', 'demo');
181
+ const tmuxLog = join(repo, 'tmux.log');
182
+ const previousPath = process.env.PATH;
183
+ const previousEntryPath = process.env[OMX_ENTRY_PATH_ENV];
184
+ const previousStartupCwd = process.env[OMX_STARTUP_CWD_ENV];
185
+ try {
186
+ await mkdir(missionDir, { recursive: true });
187
+ const launcherDir = join(startupCwd, 'dist', 'cli');
188
+ const launcherPath = join(launcherDir, 'omx.js');
189
+ await mkdir(launcherDir, { recursive: true });
190
+ await writeFile(launcherPath, '#!/usr/bin/env node\n', 'utf-8');
191
+ const fakeTmuxPath = join(fakeBin, 'tmux');
192
+ await writeFile(fakeTmuxPath, `#!/bin/sh
193
+ printf '%s\n' "$*" >>"${tmuxLog}"
194
+ case "$1" in
195
+ -V)
196
+ exit 0
197
+ ;;
198
+ has-session)
199
+ exit 1
200
+ ;;
201
+ new-session)
202
+ exit 0
203
+ ;;
204
+ *)
205
+ exit 0
206
+ ;;
207
+ esac
208
+ `, 'utf-8');
209
+ execFileSync('chmod', ['+x', fakeTmuxPath], { stdio: 'ignore' });
210
+ process.env.PATH = `${fakeBin}:${previousPath || ''}`;
211
+ delete process.env[OMX_ENTRY_PATH_ENV];
212
+ process.env[OMX_STARTUP_CWD_ENV] = startupCwd;
213
+ const previousArgv = process.argv;
214
+ process.argv = [previousArgv[0] || 'node', 'dist/cli/omx.js'];
215
+ try {
216
+ spawnAutoresearchTmux(missionDir, 'demo');
217
+ }
218
+ finally {
219
+ process.argv = previousArgv;
220
+ }
221
+ const tmuxOutput = await readFile(tmuxLog, 'utf-8');
222
+ assert.match(tmuxOutput, /new-session -d -s omx-autoresearch-demo/);
223
+ assert.match(tmuxOutput, new RegExp(escapeRegExp(launcherPath)));
224
+ assert.doesNotMatch(tmuxOutput, /dist\/cli\/omx\.js autoresearch/);
225
+ }
226
+ finally {
227
+ if (typeof previousPath === 'string')
228
+ process.env.PATH = previousPath;
229
+ else
230
+ delete process.env.PATH;
231
+ if (typeof previousEntryPath === 'string')
232
+ process.env[OMX_ENTRY_PATH_ENV] = previousEntryPath;
233
+ else
234
+ delete process.env[OMX_ENTRY_PATH_ENV];
235
+ if (typeof previousStartupCwd === 'string')
236
+ process.env[OMX_STARTUP_CWD_ENV] = previousStartupCwd;
237
+ else
238
+ delete process.env[OMX_STARTUP_CWD_ENV];
239
+ await rm(repo, { recursive: true, force: true });
240
+ await rm(fakeBin, { recursive: true, force: true });
241
+ await rm(startupCwd, { recursive: true, force: true });
242
+ }
243
+ });
172
244
  });
173
245
  describe('autoresearch intake draft artifacts', () => {
174
246
  it('writes a canonical deep-interview autoresearch draft artifact from vague input', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"autoresearch-guided.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/autoresearch-guided.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EACL,6BAA6B,EAC7B,sCAAsC,EACtC,uCAAuC,EACvC,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oCAAoC,EACpC,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,2BAA2B,GAE5B,MAAM,2BAA2B,CAAC;AAEnC,KAAK,UAAU,QAAQ;IACrB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAC3E,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5F,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAI,EAAoB;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,OAAiB;IACnC,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC3B,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,KAAK,KAAU,CAAC;KACjB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;gBAC3C,KAAK,EAAE,2CAA2C;gBAClD,gBAAgB,EAAE,sBAAsB;gBACxC,UAAU,EAAE,mBAAmB;gBAC/B,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;YAEzE,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YACtF,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,2CAA2C,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;gBAC3C,KAAK,EAAE,2BAA2B;gBAClC,gBAAgB,EAAE,2BAA2B;gBAC7C,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YACtF,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,sCAAsC,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;gBAC3C,KAAK,EAAE,iBAAiB;gBACxB,gBAAgB,EAAE,mBAAmB;gBACrC,UAAU,EAAE,mBAAmB;gBAC/B,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7C,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CAAC,uBAAuB,CAAC;gBAC5B,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE,SAAS;gBAC3B,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf,CAAC,EACF,gBAAgB,CACjB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,aAAa,CAAC;YAC3B,SAAS,EAAE,UAAU;YACrB,aAAa,EAAE,cAAc;YAC7B,eAAe,EAAE,WAAW;YAC5B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC;YAC3B,kBAAkB;YAClB,0BAA0B;YAC1B,iCAAiC;YACjC,gBAAgB;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EACjD,gBAAgB,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAChD,mCAAmC,CACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CAAC;gBACpD,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,gDAAgD;gBACvD,UAAU,EAAE,mBAAmB;gBAC/B,UAAU,EAAE,EAAE,KAAK,EAAE,gDAAgD,EAAE;aACxE,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,+FAA+F,CAAC,CAAC;YAC7H,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;QACzE,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,uCAAuC,CAAC;gBAC9D,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,6BAA6B;gBACpC,gBAAgB,EAAE,sBAAsB;gBACxC,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE;aACrD,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,sDAAsD,CAAC,CAAC;YAClG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,gDAAgD,CAAC,CAAC;YAC9F,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,gDAAgD,CAAC,CAAC;YAC9F,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,iDAAiD,CAAC,CAAC;YAEtF,MAAM,QAAQ,GAAG,MAAM,sCAAsC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACrG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAC5E,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAClF,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,MAAM,GAAG,oCAAoC,CAAC;YAClD,KAAK,EAAE,yBAAyB;YAChC,gBAAgB,EAAE,sBAAsB;YACxC,UAAU,EAAE,mBAAmB;YAC/B,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAClE,IAAI,EACJ,EAAE,EACF,UAAU,CAAC;gBACT,sBAAsB;gBACtB,yBAAyB;gBACzB,qCAAqC;gBACrC,mBAAmB;gBACnB,SAAS;gBACT,gBAAgB;gBAChB,sBAAsB;gBACtB,0BAA0B;gBAC1B,sBAAsB;gBACtB,WAAW;gBACX,SAAS;gBACT,QAAQ;aACT,CAAC,CACH,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wCAAwC,CAAC,EAAE,OAAO,CAAC,CAAC;YACpH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YAClH,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YACtF,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YAEtF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAClE,IAAI,EACJ;gBACE,KAAK,EAAE,cAAc;gBACrB,gBAAgB,EAAE,sBAAsB;gBACxC,UAAU,EAAE,mBAAmB;gBAC/B,IAAI,EAAE,cAAc;aACrB,EACD,UAAU,CAAC;gBACT,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,QAAQ;aACT,CAAC,CACH,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,6CAA6C,CAAC,EAAE,OAAO,CAAC,CAAC;YACzH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,qCAAqC,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"autoresearch-guided.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/autoresearch-guided.test.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,11 @@ async function initRepo() {
47
47
  execFileSync('git', ['commit', '-m', 'init'], { cwd, stdio: 'ignore' });
48
48
  return cwd;
49
49
  }
50
+ async function installFakePs(fakeBin) {
51
+ const fakePsPath = join(fakeBin, 'ps');
52
+ await writeFile(fakePsPath, '#!/bin/sh\nexit 0\n', 'utf-8');
53
+ execFileSync('chmod', ['+x', fakePsPath], { stdio: 'ignore' });
54
+ }
50
55
  describe('normalizeAutoresearchCodexArgs', () => {
51
56
  it('adds sandbox bypass by default for autoresearch workers', () => {
52
57
  assert.deepEqual(normalizeAutoresearchCodexArgs(['--model', 'gpt-5']), ['--model', 'gpt-5', '--dangerously-bypass-approvals-and-sandbox']);
@@ -222,6 +227,7 @@ touch -t 202603180000 "$OMX_TEST_REPO_ROOT/.omx/specs/autoresearch-test-launch/s
222
227
  touch -t 202603180000 "$OMX_TEST_REPO_ROOT/.omx/specs/autoresearch-test-launch/result.json"
223
228
  `, 'utf-8');
224
229
  execFileSync('chmod', ['+x', fakeCodexPath], { stdio: 'ignore' });
230
+ await installFakePs(fakeBin);
225
231
  const result = runOmx(repo, ['autoresearch', '--topic', 'Investigate flaky onboarding behavior', '--evaluator', 'node scripts/eval.js', '--slug', 'test-launch'], {
226
232
  PATH: `${fakeBin}:${process.env.PATH || ''}`,
227
233
  OMX_TEST_REPO_ROOT: repo,
@@ -325,6 +331,7 @@ cat >"$OMX_TEST_REPO_ROOT/.omx/specs/autoresearch-test-launch/result.json" <<'EO
325
331
  EOF
326
332
  `, 'utf-8');
327
333
  execFileSync('chmod', ['+x', fakeCodexPath], { stdio: 'ignore' });
334
+ await installFakePs(fakeBin);
328
335
  const fakeTmuxPath = join(fakeBin, 'tmux');
329
336
  await writeFile(fakeTmuxPath, `#!/bin/sh
330
337
  printf '%s\n' "$*" >>"${tmuxLog}"
@@ -416,6 +423,7 @@ EOF
416
423
  perl -0pi -e "s/HEAD_PLACEHOLDER/$head_commit/g" "$candidate_file"
417
424
  `, 'utf-8');
418
425
  execFileSync('chmod', ['+x', fakeCodexPath], { stdio: 'ignore' });
426
+ await installFakePs(fakeBin);
419
427
  const fakeTmuxPath = join(fakeBin, 'tmux');
420
428
  await writeFile(fakeTmuxPath, `#!/bin/sh
421
429
  printf '%s\n' "$*" >>"${tmuxLog}"
@@ -505,6 +513,7 @@ EOF
505
513
  perl -0pi -e "s/HEAD_PLACEHOLDER/$head_commit/g" "$candidate_file"
506
514
  `, 'utf-8');
507
515
  execFileSync('chmod', ['+x', fakeCodexPath], { stdio: 'ignore' });
516
+ await installFakePs(fakeBin);
508
517
  const fakeTmuxPath = join(fakeBin, 'tmux');
509
518
  await writeFile(fakeTmuxPath, `#!/bin/sh
510
519
  case "$1" in
@@ -667,6 +676,7 @@ head_commit=$(git rev-parse HEAD)
667
676
  printf '{\\n "status": "abort",\\n "candidate_commit": null,\\n "base_commit": "%s",\\n "description": "stop after first exec",\\n "notes": ["fake codex exec"],\\n "created_at": "2026-03-15T00:00:00.000Z"\\n}\\n' "$head_commit" >"$candidate_file"
668
677
  `, 'utf-8');
669
678
  execFileSync('chmod', ['+x', fakeCodexPath], { stdio: 'ignore' });
679
+ await installFakePs(fakeBin);
670
680
  const result = runOmx(repo, ['autoresearch', missionDir, '--dangerously-bypass-approvals-and-sandbox'], { PATH: `${fakeBin}:${process.env.PATH || ''}`, OMX_TEST_REPO_ROOT: repo });
671
681
  assert.equal(result.status, 0, result.stderr || result.stdout);
672
682
  assert.match(result.stderr, /fake-codex:exec --dangerously-bypass-approvals-and-sandbox -/);
@@ -705,6 +715,7 @@ cat >"$candidate_file" <<EOF
705
715
  EOF
706
716
  `, 'utf-8');
707
717
  execFileSync('chmod', ['+x', fakeCodexPath], { stdio: 'ignore' });
718
+ await installFakePs(fakeBin);
708
719
  const result = runOmx(repo, ['autoresearch', missionDir, '--dangerously-bypass-approvals-and-sandbox'], { PATH: `${fakeBin}:${process.env.PATH || ''}`, OMX_TEST_REPO_ROOT: repo });
709
720
  assert.equal(result.status, 0, result.stderr || result.stdout);
710
721
  const state = JSON.parse(await readFile(join(repo, '.omx', 'state', 'autoresearch-state.json'), 'utf-8'));