oh-my-codex 0.11.11 → 0.11.13

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 (342) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.de.md +12 -6
  4. package/README.el.md +223 -0
  5. package/README.es.md +12 -6
  6. package/README.fr.md +11 -5
  7. package/README.it.md +12 -6
  8. package/README.ja.md +12 -6
  9. package/README.ko.md +12 -6
  10. package/README.md +56 -28
  11. package/README.pl.md +216 -0
  12. package/README.pt.md +12 -6
  13. package/README.ru.md +12 -6
  14. package/README.tr.md +12 -6
  15. package/README.vi.md +148 -183
  16. package/README.zh-TW.md +14 -17
  17. package/README.zh.md +12 -6
  18. package/crates/omx-runtime-core/src/engine.rs +122 -4
  19. package/crates/omx-runtime-core/src/lib.rs +17 -0
  20. package/dist/autoresearch/contracts.d.ts.map +1 -1
  21. package/dist/autoresearch/contracts.js +1 -0
  22. package/dist/autoresearch/contracts.js.map +1 -1
  23. package/dist/autoresearch/runtime.d.ts.map +1 -1
  24. package/dist/autoresearch/runtime.js +7 -1
  25. package/dist/autoresearch/runtime.js.map +1 -1
  26. package/dist/cli/__tests__/agents.test.js +24 -1
  27. package/dist/cli/__tests__/agents.test.js.map +1 -1
  28. package/dist/cli/__tests__/autoresearch.test.js +11 -0
  29. package/dist/cli/__tests__/autoresearch.test.js.map +1 -1
  30. package/dist/cli/__tests__/cleanup.test.js +117 -4
  31. package/dist/cli/__tests__/cleanup.test.js.map +1 -1
  32. package/dist/cli/__tests__/doctor-warning-copy.test.js +33 -3
  33. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  34. package/dist/cli/__tests__/error-handling-warnings.test.js +13 -0
  35. package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -1
  36. package/dist/cli/__tests__/exec.test.js +6 -0
  37. package/dist/cli/__tests__/exec.test.js.map +1 -1
  38. package/dist/cli/__tests__/index.test.js +101 -1
  39. package/dist/cli/__tests__/index.test.js.map +1 -1
  40. package/dist/cli/__tests__/launch-fallback.test.js +3 -0
  41. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  42. package/dist/cli/__tests__/package-bin-contract.test.js +10 -0
  43. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  44. package/dist/cli/__tests__/packaged-script-resolution.test.js +4 -3
  45. package/dist/cli/__tests__/packaged-script-resolution.test.js.map +1 -1
  46. package/dist/cli/__tests__/resume.test.js +6 -0
  47. package/dist/cli/__tests__/resume.test.js.map +1 -1
  48. package/dist/cli/__tests__/setup-refresh.test.js +29 -12
  49. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  50. package/dist/cli/__tests__/setup-scope.test.js +1 -1
  51. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  52. package/dist/cli/__tests__/star-prompt.test.js +16 -0
  53. package/dist/cli/__tests__/star-prompt.test.js.map +1 -1
  54. package/dist/cli/__tests__/uninstall.test.js +112 -1
  55. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  56. package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts +2 -0
  57. package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts.map +1 -0
  58. package/dist/cli/__tests__/windows-popup-loop-contract.test.js +30 -0
  59. package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -0
  60. package/dist/cli/agents.d.ts.map +1 -1
  61. package/dist/cli/agents.js +9 -3
  62. package/dist/cli/agents.js.map +1 -1
  63. package/dist/cli/autoresearch-guided.d.ts.map +1 -1
  64. package/dist/cli/autoresearch-guided.js +9 -3
  65. package/dist/cli/autoresearch-guided.js.map +1 -1
  66. package/dist/cli/autoresearch.d.ts.map +1 -1
  67. package/dist/cli/autoresearch.js +8 -2
  68. package/dist/cli/autoresearch.js.map +1 -1
  69. package/dist/cli/cleanup.d.ts +2 -0
  70. package/dist/cli/cleanup.d.ts.map +1 -1
  71. package/dist/cli/cleanup.js +27 -1
  72. package/dist/cli/cleanup.js.map +1 -1
  73. package/dist/cli/doctor.js +7 -0
  74. package/dist/cli/doctor.js.map +1 -1
  75. package/dist/cli/index.d.ts +9 -1
  76. package/dist/cli/index.d.ts.map +1 -1
  77. package/dist/cli/index.js +171 -55
  78. package/dist/cli/index.js.map +1 -1
  79. package/dist/cli/setup.d.ts.map +1 -1
  80. package/dist/cli/setup.js +18 -15
  81. package/dist/cli/setup.js.map +1 -1
  82. package/dist/cli/star-prompt.d.ts.map +1 -1
  83. package/dist/cli/star-prompt.js +2 -0
  84. package/dist/cli/star-prompt.js.map +1 -1
  85. package/dist/cli/team.d.ts.map +1 -1
  86. package/dist/cli/team.js +5 -1
  87. package/dist/cli/team.js.map +1 -1
  88. package/dist/cli/tmux-hook.d.ts.map +1 -1
  89. package/dist/cli/tmux-hook.js +4 -1
  90. package/dist/cli/tmux-hook.js.map +1 -1
  91. package/dist/cli/uninstall.d.ts.map +1 -1
  92. package/dist/cli/uninstall.js +26 -0
  93. package/dist/cli/uninstall.js.map +1 -1
  94. package/dist/cli/update.d.ts.map +1 -1
  95. package/dist/cli/update.js +1 -0
  96. package/dist/cli/update.js.map +1 -1
  97. package/dist/compat/__tests__/rust-runtime-compat.test.js +84 -1
  98. package/dist/compat/__tests__/rust-runtime-compat.test.js.map +1 -1
  99. package/dist/config/__tests__/generator-idempotent.test.js +4 -4
  100. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  101. package/dist/config/__tests__/mcp-registry.test.js +13 -16
  102. package/dist/config/__tests__/mcp-registry.test.js.map +1 -1
  103. package/dist/config/mcp-registry.d.ts +1 -0
  104. package/dist/config/mcp-registry.d.ts.map +1 -1
  105. package/dist/config/mcp-registry.js +4 -4
  106. package/dist/config/mcp-registry.js.map +1 -1
  107. package/dist/config/models.d.ts +1 -0
  108. package/dist/config/models.d.ts.map +1 -1
  109. package/dist/config/models.js +39 -1
  110. package/dist/config/models.js.map +1 -1
  111. package/dist/hooks/__tests__/keyword-detector.test.js +12 -1
  112. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  113. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +554 -18
  114. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  115. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +347 -16
  116. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  117. package/dist/hooks/__tests__/notify-hook-modules.test.js +5 -0
  118. package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
  119. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts +2 -0
  120. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts.map +1 -0
  121. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +597 -0
  122. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -0
  123. package/dist/hooks/__tests__/notify-hook-regression-205.test.js +19 -1
  124. package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
  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 +193 -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 +183 -0
  130. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  131. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +255 -97
  132. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  133. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +0 -0
  134. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
  135. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +46 -0
  136. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  137. package/dist/hooks/__tests__/prompt-team-routing.test.js +34 -0
  138. package/dist/hooks/__tests__/prompt-team-routing.test.js.map +1 -1
  139. package/dist/hooks/__tests__/tmux-hook-engine.test.js +32 -1
  140. package/dist/hooks/__tests__/tmux-hook-engine.test.js.map +1 -1
  141. package/dist/hooks/code-simplifier/index.d.ts.map +1 -1
  142. package/dist/hooks/code-simplifier/index.js +1 -0
  143. package/dist/hooks/code-simplifier/index.js.map +1 -1
  144. package/dist/hooks/codebase-map.d.ts.map +1 -1
  145. package/dist/hooks/codebase-map.js +1 -0
  146. package/dist/hooks/codebase-map.js.map +1 -1
  147. package/dist/hooks/extensibility/sdk/tmux.d.ts.map +1 -1
  148. package/dist/hooks/extensibility/sdk/tmux.js +3 -1
  149. package/dist/hooks/extensibility/sdk/tmux.js.map +1 -1
  150. package/dist/hooks/keyword-detector.d.ts +1 -0
  151. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  152. package/dist/hooks/keyword-detector.js +48 -0
  153. package/dist/hooks/keyword-detector.js.map +1 -1
  154. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  155. package/dist/hooks/prompt-guidance-contract.js +6 -0
  156. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  157. package/dist/hooks/session.d.ts.map +1 -1
  158. package/dist/hooks/session.js +1 -0
  159. package/dist/hooks/session.js.map +1 -1
  160. package/dist/hud/__tests__/state.test.js +70 -1
  161. package/dist/hud/__tests__/state.test.js.map +1 -1
  162. package/dist/hud/authority.d.ts.map +1 -1
  163. package/dist/hud/authority.js +1 -0
  164. package/dist/hud/authority.js.map +1 -1
  165. package/dist/hud/state.d.ts.map +1 -1
  166. package/dist/hud/state.js +52 -0
  167. package/dist/hud/state.js.map +1 -1
  168. package/dist/mcp/state-server.d.ts.map +1 -1
  169. package/dist/mcp/state-server.js +5 -0
  170. package/dist/mcp/state-server.js.map +1 -1
  171. package/dist/modes/__tests__/base-session-scope.test.js +46 -0
  172. package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
  173. package/dist/modes/base.d.ts.map +1 -1
  174. package/dist/modes/base.js +4 -0
  175. package/dist/modes/base.js.map +1 -1
  176. package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts +2 -0
  177. package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts.map +1 -0
  178. package/dist/notifications/__tests__/custom-alias-enablement.test.js +84 -0
  179. package/dist/notifications/__tests__/custom-alias-enablement.test.js.map +1 -0
  180. package/dist/notifications/__tests__/idle-cooldown.test.js +55 -0
  181. package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -1
  182. package/dist/notifications/idle-cooldown.d.ts +8 -6
  183. package/dist/notifications/idle-cooldown.d.ts.map +1 -1
  184. package/dist/notifications/idle-cooldown.js +53 -22
  185. package/dist/notifications/idle-cooldown.js.map +1 -1
  186. package/dist/notifications/notifier.js +1 -1
  187. package/dist/notifications/notifier.js.map +1 -1
  188. package/dist/notifications/reply-listener.d.ts.map +1 -1
  189. package/dist/notifications/reply-listener.js +1 -0
  190. package/dist/notifications/reply-listener.js.map +1 -1
  191. package/dist/notifications/tmux.d.ts.map +1 -1
  192. package/dist/notifications/tmux.js +4 -0
  193. package/dist/notifications/tmux.js.map +1 -1
  194. package/dist/openclaw/config.js +2 -2
  195. package/dist/openclaw/config.js.map +1 -1
  196. package/dist/runtime/bridge.d.ts +2 -0
  197. package/dist/runtime/bridge.d.ts.map +1 -1
  198. package/dist/runtime/bridge.js +8 -0
  199. package/dist/runtime/bridge.js.map +1 -1
  200. package/dist/scripts/notify-fallback-watcher.js +103 -53
  201. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  202. package/dist/scripts/notify-hook/auto-nudge.d.ts +2 -1
  203. package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
  204. package/dist/scripts/notify-hook/auto-nudge.js +90 -104
  205. package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
  206. package/dist/scripts/notify-hook/managed-tmux.d.ts +19 -0
  207. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -0
  208. package/dist/scripts/notify-hook/managed-tmux.js +320 -0
  209. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -0
  210. package/dist/scripts/notify-hook/operational-events.d.ts.map +1 -1
  211. package/dist/scripts/notify-hook/operational-events.js +2 -0
  212. package/dist/scripts/notify-hook/operational-events.js.map +1 -1
  213. package/dist/scripts/notify-hook/ralph-session-resume.d.ts +22 -0
  214. package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -0
  215. package/dist/scripts/notify-hook/ralph-session-resume.js +277 -0
  216. package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -0
  217. package/dist/scripts/notify-hook/state-io.d.ts +1 -1
  218. package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
  219. package/dist/scripts/notify-hook/state-io.js +2 -10
  220. package/dist/scripts/notify-hook/state-io.js.map +1 -1
  221. package/dist/scripts/notify-hook/team-dispatch.d.ts +1 -1
  222. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  223. package/dist/scripts/notify-hook/team-dispatch.js +123 -72
  224. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  225. package/dist/scripts/notify-hook/team-leader-nudge.d.ts +2 -1
  226. package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
  227. package/dist/scripts/notify-hook/team-leader-nudge.js +13 -5
  228. package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
  229. package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
  230. package/dist/scripts/notify-hook/team-tmux-guard.js +1 -19
  231. package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
  232. package/dist/scripts/notify-hook/team-worker.js +4 -4
  233. package/dist/scripts/notify-hook/team-worker.js.map +1 -1
  234. package/dist/scripts/notify-hook/tmux-injection.d.ts +1 -1
  235. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  236. package/dist/scripts/notify-hook/tmux-injection.js +102 -35
  237. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  238. package/dist/scripts/notify-hook.js +144 -20
  239. package/dist/scripts/notify-hook.js.map +1 -1
  240. package/dist/scripts/run-provider-advisor.js +2 -0
  241. package/dist/scripts/run-provider-advisor.js.map +1 -1
  242. package/dist/scripts/run-test-files.d.ts +2 -0
  243. package/dist/scripts/run-test-files.d.ts.map +1 -0
  244. package/dist/scripts/run-test-files.js +41 -0
  245. package/dist/scripts/run-test-files.js.map +1 -0
  246. package/dist/scripts/tmux-hook-engine.d.ts +2 -0
  247. package/dist/scripts/tmux-hook-engine.d.ts.map +1 -1
  248. package/dist/scripts/tmux-hook-engine.js +15 -0
  249. package/dist/scripts/tmux-hook-engine.js.map +1 -1
  250. package/dist/team/__tests__/api-interop.test.js +136 -4
  251. package/dist/team/__tests__/api-interop.test.js.map +1 -1
  252. package/dist/team/__tests__/leader-activity.test.js +107 -2
  253. package/dist/team/__tests__/leader-activity.test.js.map +1 -1
  254. package/dist/team/__tests__/runtime-cli.test.js +32 -0
  255. package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
  256. package/dist/team/__tests__/runtime.test.js +148 -0
  257. package/dist/team/__tests__/runtime.test.js.map +1 -1
  258. package/dist/team/__tests__/shutdown-fallback.test.js +13 -0
  259. package/dist/team/__tests__/shutdown-fallback.test.js.map +1 -1
  260. package/dist/team/__tests__/state-root.test.js +11 -1
  261. package/dist/team/__tests__/state-root.test.js.map +1 -1
  262. package/dist/team/__tests__/state.test.js +237 -0
  263. package/dist/team/__tests__/state.test.js.map +1 -1
  264. package/dist/team/__tests__/tmux-session.test.js +521 -2
  265. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  266. package/dist/team/api-interop.d.ts.map +1 -1
  267. package/dist/team/api-interop.js +41 -31
  268. package/dist/team/api-interop.js.map +1 -1
  269. package/dist/team/commit-hygiene.d.ts +60 -0
  270. package/dist/team/commit-hygiene.d.ts.map +1 -0
  271. package/dist/team/commit-hygiene.js +232 -0
  272. package/dist/team/commit-hygiene.js.map +1 -0
  273. package/dist/team/leader-activity.d.ts.map +1 -1
  274. package/dist/team/leader-activity.js +56 -4
  275. package/dist/team/leader-activity.js.map +1 -1
  276. package/dist/team/runtime-cli.d.ts +9 -1
  277. package/dist/team/runtime-cli.d.ts.map +1 -1
  278. package/dist/team/runtime-cli.js +15 -6
  279. package/dist/team/runtime-cli.js.map +1 -1
  280. package/dist/team/runtime.d.ts +7 -2
  281. package/dist/team/runtime.d.ts.map +1 -1
  282. package/dist/team/runtime.js +392 -171
  283. package/dist/team/runtime.js.map +1 -1
  284. package/dist/team/scaling.d.ts.map +1 -1
  285. package/dist/team/scaling.js +6 -2
  286. package/dist/team/scaling.js.map +1 -1
  287. package/dist/team/state/dispatch.d.ts +2 -0
  288. package/dist/team/state/dispatch.d.ts.map +1 -1
  289. package/dist/team/state/dispatch.js +86 -40
  290. package/dist/team/state/dispatch.js.map +1 -1
  291. package/dist/team/state/mailbox.d.ts +3 -0
  292. package/dist/team/state/mailbox.d.ts.map +1 -1
  293. package/dist/team/state/mailbox.js +93 -19
  294. package/dist/team/state/mailbox.js.map +1 -1
  295. package/dist/team/state-root.d.ts +1 -1
  296. package/dist/team/state-root.d.ts.map +1 -1
  297. package/dist/team/state-root.js +8 -3
  298. package/dist/team/state-root.js.map +1 -1
  299. package/dist/team/state.d.ts.map +1 -1
  300. package/dist/team/state.js +96 -2
  301. package/dist/team/state.js.map +1 -1
  302. package/dist/team/tmux-session.d.ts.map +1 -1
  303. package/dist/team/tmux-session.js +81 -29
  304. package/dist/team/tmux-session.js.map +1 -1
  305. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  306. package/dist/team/worker-bootstrap.js +4 -0
  307. package/dist/team/worker-bootstrap.js.map +1 -1
  308. package/dist/team/worktree.d.ts.map +1 -1
  309. package/dist/team/worktree.js +9 -0
  310. package/dist/team/worktree.js.map +1 -1
  311. package/dist/utils/__tests__/paths.test.js +98 -11
  312. package/dist/utils/__tests__/paths.test.js.map +1 -1
  313. package/dist/utils/__tests__/platform-command.test.js +101 -2
  314. package/dist/utils/__tests__/platform-command.test.js.map +1 -1
  315. package/dist/utils/git-layout.d.ts +8 -0
  316. package/dist/utils/git-layout.d.ts.map +1 -0
  317. package/dist/utils/git-layout.js +58 -0
  318. package/dist/utils/git-layout.js.map +1 -0
  319. package/dist/utils/paths.d.ts +3 -0
  320. package/dist/utils/paths.d.ts.map +1 -1
  321. package/dist/utils/paths.js +14 -4
  322. package/dist/utils/paths.js.map +1 -1
  323. package/dist/utils/platform-command.d.ts.map +1 -1
  324. package/dist/utils/platform-command.js +35 -3
  325. package/dist/utils/platform-command.js.map +1 -1
  326. package/package.json +9 -5
  327. package/src/scripts/notify-fallback-watcher.ts +103 -53
  328. package/src/scripts/notify-hook/auto-nudge.ts +97 -103
  329. package/src/scripts/notify-hook/managed-tmux.ts +324 -0
  330. package/src/scripts/notify-hook/operational-events.ts +2 -0
  331. package/src/scripts/notify-hook/ralph-session-resume.ts +337 -0
  332. package/src/scripts/notify-hook/state-io.ts +2 -10
  333. package/src/scripts/notify-hook/team-dispatch.ts +131 -66
  334. package/src/scripts/notify-hook/team-leader-nudge.ts +19 -5
  335. package/src/scripts/notify-hook/team-tmux-guard.ts +0 -20
  336. package/src/scripts/notify-hook/team-worker.ts +4 -4
  337. package/src/scripts/notify-hook/tmux-injection.ts +103 -33
  338. package/src/scripts/notify-hook.ts +150 -21
  339. package/src/scripts/run-provider-advisor.ts +4 -2
  340. package/src/scripts/run-test-files.ts +48 -0
  341. package/src/scripts/tmux-hook-engine.ts +16 -0
  342. package/templates/AGENTS.md +51 -43
@@ -5,26 +5,29 @@ import { execFileSync } from 'child_process';
5
5
  import { dirname, join, resolve } from 'path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { safeString } from './utils.js';
8
- import { resolveRuntimeBinaryPath } from '../../runtime/bridge.js';
8
+ import { resolveBridgeStateDir, resolveRuntimeBinaryPath } from '../../runtime/bridge.js';
9
9
  const __filename = fileURLToPath(import.meta.url);
10
10
  const __dirname = dirname(__filename);
11
11
  import { runProcess } from './process-runner.js';
12
- import { resolvePaneTarget } from './tmux-injection.js';
12
+ import { resolvePaneTarget, resolveSessionToPane } from './tmux-injection.js';
13
13
  import { evaluatePaneInjectionReadiness, sendPaneInput } from './team-tmux-guard.js';
14
14
  import { buildCapturePaneArgv, normalizeTmuxCapture, paneHasActiveTask, paneLooksReady, } from '../tmux-hook-engine.js';
15
15
  /**
16
16
  * Route dispatch state transitions through the Rust runtime binary.
17
- * Non-fatal: if the binary is missing or fails, the JS path remains canonical.
17
+ * Non-fatal: if the binary is missing or fails, the legacy JSON fallback lane
18
+ * remains available when the caller is already operating outside the bridge-
19
+ * owned path.
18
20
  * Disable entirely with OMX_RUNTIME_BRIDGE=0.
19
21
  */
20
- function runtimeExec(command) {
22
+ function runtimeExec(command, stateDir) {
21
23
  if (process.env.OMX_RUNTIME_BRIDGE === '0')
22
24
  return;
23
25
  try {
24
26
  const binaryPath = resolveRuntimeBinaryPath();
25
- execFileSync(binaryPath, ['exec', JSON.stringify(command)], {
27
+ execFileSync(binaryPath, ['exec', JSON.stringify(command), `--state-dir=${stateDir}`], {
26
28
  timeout: 5000,
27
29
  stdio: ['pipe', 'pipe', 'pipe'],
30
+ windowsHide: true,
28
31
  });
29
32
  }
30
33
  catch {
@@ -36,6 +39,49 @@ function readJson(path, fallback) {
36
39
  .then((raw) => JSON.parse(raw))
37
40
  .catch(() => fallback);
38
41
  }
42
+ async function readBridgeDispatchRequests(stateDir, teamName) {
43
+ const candidate = join(stateDir, 'dispatch.json');
44
+ if (!existsSync(candidate))
45
+ return null;
46
+ const parsed = await readJson(candidate, null);
47
+ if (!parsed || !Array.isArray(parsed.records))
48
+ return null;
49
+ return parsed.records
50
+ .map((record) => {
51
+ if (!record || typeof record !== 'object')
52
+ return null;
53
+ const metadata = record.metadata && typeof record.metadata === 'object' ? record.metadata : {};
54
+ const metadataTeam = safeString(metadata.team_name).trim();
55
+ if (metadataTeam && metadataTeam !== teamName)
56
+ return null;
57
+ return {
58
+ request_id: safeString(record.request_id).trim(),
59
+ kind: safeString(metadata.kind).trim() || 'inbox',
60
+ team_name: teamName,
61
+ to_worker: safeString(record.target).trim(),
62
+ worker_index: typeof metadata.worker_index === 'number' ? metadata.worker_index : undefined,
63
+ pane_id: safeString(metadata.pane_id).trim() || undefined,
64
+ trigger_message: safeString(metadata.trigger_message).trim() || safeString(record.reason).trim() || safeString(record.request_id).trim(),
65
+ message_id: safeString(metadata.message_id).trim() || undefined,
66
+ inbox_correlation_key: safeString(metadata.inbox_correlation_key).trim() || undefined,
67
+ transport_preference: safeString(metadata.transport_preference).trim() || 'hook_preferred_with_fallback',
68
+ fallback_allowed: typeof metadata.fallback_allowed === 'boolean' ? metadata.fallback_allowed : true,
69
+ status: safeString(record.status).trim() || 'pending',
70
+ attempt_count: Number.isFinite(metadata.attempt_count) ? Number(metadata.attempt_count) : 0,
71
+ created_at: safeString(record.created_at).trim() || new Date().toISOString(),
72
+ updated_at: safeString(record.delivered_at).trim()
73
+ || safeString(record.failed_at).trim()
74
+ || safeString(record.notified_at).trim()
75
+ || safeString(record.created_at).trim()
76
+ || new Date().toISOString(),
77
+ notified_at: safeString(record.notified_at).trim() || undefined,
78
+ delivered_at: safeString(record.delivered_at).trim() || undefined,
79
+ failed_at: safeString(record.failed_at).trim() || undefined,
80
+ last_reason: safeString(record.reason).trim() || undefined,
81
+ };
82
+ })
83
+ .filter((record) => record && record.request_id && record.to_worker && record.trigger_message);
84
+ }
39
85
  async function writeJsonAtomic(path, value) {
40
86
  await mkdir(dirname(path), { recursive: true });
41
87
  const tmp = `${path}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}`;
@@ -124,8 +170,7 @@ function parseTriggerCooldownEntry(entry) {
124
170
  lastRequestId: safeString(entry.last_request_id).trim(),
125
171
  };
126
172
  }
127
- async function withDispatchLock(teamDirPath, fn) {
128
- const lockDir = join(teamDirPath, 'dispatch', '.lock');
173
+ async function withLockDirectory(lockDir, timeoutError, fn) {
129
174
  const ownerPath = join(lockDir, 'owner');
130
175
  const ownerToken = `${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}`;
131
176
  const deadline = Date.now() + 5_000;
@@ -156,7 +201,7 @@ async function withDispatchLock(teamDirPath, fn) {
156
201
  // best effort
157
202
  }
158
203
  if (Date.now() > deadline)
159
- throw new Error(`Timed out acquiring dispatch lock for ${teamDirPath}`);
204
+ throw new Error(timeoutError);
160
205
  await new Promise((resolveDelay) => setTimeout(resolveDelay, 25));
161
206
  }
162
207
  }
@@ -175,60 +220,50 @@ async function withDispatchLock(teamDirPath, fn) {
175
220
  }
176
221
  }
177
222
  }
223
+ async function withDispatchLock(teamDirPath, fn) {
224
+ return await withLockDirectory(join(teamDirPath, 'dispatch', '.lock'), `Timed out acquiring dispatch lock for ${teamDirPath}`, fn);
225
+ }
178
226
  async function withMailboxLock(teamDirPath, workerName, fn) {
179
- const lockDir = join(teamDirPath, 'mailbox', `.lock-${workerName}`);
180
- const ownerPath = join(lockDir, 'owner');
181
- const ownerToken = `${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}`;
182
- const deadline = Date.now() + 5_000;
183
- await mkdir(dirname(lockDir), { recursive: true });
184
- while (true) {
185
- try {
186
- await mkdir(lockDir, { recursive: false });
187
- try {
188
- await writeFile(ownerPath, ownerToken, 'utf8');
189
- }
190
- catch (error) {
191
- await rm(lockDir, { recursive: true, force: true });
192
- throw error;
193
- }
194
- break;
195
- }
196
- catch (error) {
197
- if (error?.code !== 'EEXIST')
198
- throw error;
199
- try {
200
- const info = await stat(lockDir);
201
- if (Date.now() - info.mtimeMs > DISPATCH_LOCK_STALE_MS) {
202
- await rm(lockDir, { recursive: true, force: true });
203
- continue;
204
- }
205
- }
206
- catch {
207
- // best effort
208
- }
209
- if (Date.now() > deadline)
210
- throw new Error(`Timed out acquiring mailbox lock for ${teamDirPath}/${workerName}`);
211
- await new Promise((resolveDelay) => setTimeout(resolveDelay, 25));
212
- }
213
- }
214
- try {
215
- return await fn();
216
- }
217
- finally {
218
- try {
219
- const currentOwner = await readFile(ownerPath, 'utf8');
220
- if (currentOwner.trim() === ownerToken) {
221
- await rm(lockDir, { recursive: true, force: true });
222
- }
223
- }
224
- catch {
225
- // best effort
226
- }
227
- }
227
+ return await withLockDirectory(join(teamDirPath, 'mailbox', `.lock-${workerName}`), `Timed out acquiring mailbox lock for ${teamDirPath}/${workerName}`, fn);
228
228
  }
229
229
  function resolveLeaderPaneId(config) {
230
230
  return safeString(config?.leader_pane_id).trim();
231
231
  }
232
+ function serializeDispatchRequestRecord(request) {
233
+ return {
234
+ request_id: safeString(request.request_id).trim(),
235
+ target: safeString(request.to_worker).trim(),
236
+ status: safeString(request.status).trim() || 'pending',
237
+ created_at: safeString(request.created_at).trim() || new Date().toISOString(),
238
+ notified_at: safeString(request.notified_at).trim() || null,
239
+ delivered_at: safeString(request.delivered_at).trim() || null,
240
+ failed_at: safeString(request.failed_at).trim() || null,
241
+ reason: safeString(request.last_reason).trim() || null,
242
+ metadata: {
243
+ kind: safeString(request.kind).trim() || 'inbox',
244
+ team_name: safeString(request.team_name).trim(),
245
+ worker_index: Number.isFinite(request.worker_index) ? Number(request.worker_index) : undefined,
246
+ pane_id: safeString(request.pane_id).trim() || undefined,
247
+ trigger_message: safeString(request.trigger_message).trim(),
248
+ message_id: safeString(request.message_id).trim() || undefined,
249
+ inbox_correlation_key: safeString(request.inbox_correlation_key).trim() || undefined,
250
+ transport_preference: safeString(request.transport_preference).trim() || 'hook_preferred_with_fallback',
251
+ fallback_allowed: typeof request.fallback_allowed === 'boolean' ? request.fallback_allowed : true,
252
+ attempt_count: Number.isFinite(request.attempt_count) ? Number(request.attempt_count) : 0,
253
+ },
254
+ };
255
+ }
256
+ async function writeBridgeDispatchCompat(stateDir, teamName, requests) {
257
+ const compatPath = join(stateDir, 'dispatch.json');
258
+ const current = await readJson(compatPath, { records: [] });
259
+ const existing = Array.isArray(current?.records) ? current.records : [];
260
+ const otherTeams = existing.filter((record) => {
261
+ const metadata = record?.metadata && typeof record.metadata === 'object' ? record.metadata : {};
262
+ return safeString(metadata.team_name).trim() !== teamName;
263
+ });
264
+ const records = [...otherTeams, ...requests.map(serializeDispatchRequestRecord)];
265
+ await writeJsonAtomic(compatPath, { records });
266
+ }
232
267
  function defaultInjectTarget(request, config) {
233
268
  if (request.to_worker === 'leader-fixed') {
234
269
  const leaderPaneId = resolveLeaderPaneId(config);
@@ -304,12 +339,21 @@ function capturedPaneContainsTriggerNearTail(captured, trigger, nonEmptyTailLine
304
339
  }
305
340
  const INJECT_VERIFY_DELAY_MS = 250;
306
341
  const INJECT_VERIFY_ROUNDS = 3;
307
- async function injectDispatchRequest(request, config, cwd) {
342
+ async function injectDispatchRequest(request, config, cwd, stateDir) {
308
343
  const target = defaultInjectTarget(request, config);
309
344
  if (!target) {
310
345
  return { ok: false, reason: 'missing_tmux_target' };
311
346
  }
312
- const resolution = await resolvePaneTarget(target, '', cwd, '');
347
+ let resolution;
348
+ if (target.type === 'session') {
349
+ const paneId = await resolveSessionToPane(target.value).catch(() => null);
350
+ resolution = paneId
351
+ ? { paneTarget: paneId, reason: 'session_target_resolved' }
352
+ : { paneTarget: null, reason: 'target_not_found' };
353
+ }
354
+ else {
355
+ resolution = await resolvePaneTarget(target, '', '', '', {});
356
+ }
313
357
  if (!resolution.paneTarget) {
314
358
  return { ok: false, reason: `target_resolution_failed:${resolution.reason}` };
315
359
  }
@@ -373,7 +417,7 @@ async function injectDispatchRequest(request, config, cwd) {
373
417
  const wideCap = await runProcess('tmux', verifyWideArgv, 2000);
374
418
  // Worker is actively processing (mirrors sync path tmux-session.ts:1292-1294)
375
419
  if (paneHasActiveTask(wideCap.stdout)) {
376
- runtimeExec({ command: 'MarkDelivered', request_id: request.request_id });
420
+ runtimeExec({ command: 'MarkDelivered', request_id: request.request_id }, stateDir);
377
421
  return { ok: true, reason: 'tmux_send_keys_confirmed_active_task', pane: resolution.paneTarget };
378
422
  }
379
423
  // Do not declare success while a *worker* pane is still bootstrapping / not
@@ -386,7 +430,7 @@ async function injectDispatchRequest(request, config, cwd) {
386
430
  const triggerInNarrow = capturedPaneContainsTrigger(narrowCap.stdout, request.trigger_message);
387
431
  const triggerNearTail = capturedPaneContainsTriggerNearTail(wideCap.stdout, request.trigger_message);
388
432
  if (!triggerInNarrow && !triggerNearTail) {
389
- runtimeExec({ command: 'MarkDelivered', request_id: request.request_id });
433
+ runtimeExec({ command: 'MarkDelivered', request_id: request.request_id }, stateDir);
390
434
  return { ok: true, reason: 'tmux_send_keys_confirmed', pane: resolution.paneTarget };
391
435
  }
392
436
  }
@@ -431,7 +475,7 @@ async function appendDispatchLog(logsDir, event) {
431
475
  await mkdir(logsDir, { recursive: true }).catch(() => { });
432
476
  await appendFile(path, `${JSON.stringify({ timestamp: new Date().toISOString(), ...event })}\n`).catch(() => { });
433
477
  }
434
- export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx', 'state'), logsDir = join(cwd, '.omx', 'logs'), maxPerTick = 5, injector = injectDispatchRequest, } = {}) {
478
+ export async function drainPendingTeamDispatch({ cwd, stateDir = resolveBridgeStateDir(cwd), logsDir = join(cwd, '.omx', 'logs'), maxPerTick = 5, injector = injectDispatchRequest, } = {}) {
435
479
  if (safeString(process.env.OMX_TEAM_WORKER)) {
436
480
  return { processed: 0, skipped: 0, failed: 0, reason: 'worker_context' };
437
481
  }
@@ -451,11 +495,11 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
451
495
  const manifestPath = join(teamDirPath, 'manifest.v2.json');
452
496
  const configPath = join(teamDirPath, 'config.json');
453
497
  const requestsPath = join(teamDirPath, 'dispatch', 'requests.json');
454
- if (!existsSync(requestsPath))
455
- continue;
456
498
  const config = await readJson(existsSync(manifestPath) ? manifestPath : configPath, {});
457
499
  await withDispatchLock(teamDirPath, async () => {
458
- const requests = await readJson(requestsPath, []);
500
+ const bridgeRequests = await readBridgeDispatchRequests(stateDir, teamName);
501
+ const usingLegacyRequests = bridgeRequests === null;
502
+ const requests = usingLegacyRequests ? await readJson(requestsPath, []) : bridgeRequests;
459
503
  if (!Array.isArray(requests))
460
504
  return;
461
505
  const issueCooldownState = await readIssueCooldownState(teamDirPath);
@@ -495,8 +539,9 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
495
539
  leader_pane_id: safeString(config?.leader_pane_id).trim() || null,
496
540
  tmux_injection_attempted: false,
497
541
  });
498
- // Requests JSON is the canonical queue state; this event is a progress artifact
499
- // for hook/watcher readers until shared readers normalize everything later.
542
+ // On the legacy fallback lane, requests.json still carries the queue
543
+ // state for this deferred request; this event stays a progress
544
+ // artifact for hook/watcher readers.
500
545
  await appendLeaderNotificationDeferredEvent({
501
546
  stateDir,
502
547
  teamName,
@@ -528,7 +573,7 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
528
573
  continue;
529
574
  }
530
575
  }
531
- const result = await injector(request, config, resolve(cwd));
576
+ const result = await injector(request, config, resolve(cwd), stateDir);
532
577
  if (issueKey && issueCooldownMs > 0) {
533
578
  issueCooldownByIssue[issueKey] = Date.now();
534
579
  mutated = true;
@@ -575,7 +620,7 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
575
620
  request.status = 'failed';
576
621
  request.failed_at = nowIso;
577
622
  request.last_reason = 'unconfirmed_after_max_retries';
578
- runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: 'unconfirmed_after_max_retries' });
623
+ runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: 'unconfirmed_after_max_retries' }, stateDir);
579
624
  processed += 1;
580
625
  failed += 1;
581
626
  mutated = true;
@@ -602,9 +647,12 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
602
647
  request.status = 'notified';
603
648
  request.notified_at = nowIso;
604
649
  request.last_reason = result.reason;
605
- runtimeExec({ command: 'MarkNotified', request_id: request.request_id, channel: 'tmux' });
650
+ runtimeExec({ command: 'MarkNotified', request_id: request.request_id, channel: 'tmux' }, stateDir);
606
651
  if (request.kind === 'mailbox' && request.message_id) {
607
- await updateMailboxNotified(stateDir, teamName, request.to_worker, request.message_id).catch(() => { });
652
+ runtimeExec({ command: 'MarkMailboxNotified', message_id: request.message_id }, stateDir);
653
+ if (usingLegacyRequests) {
654
+ await updateMailboxNotified(stateDir, teamName, request.to_worker, request.message_id).catch(() => { });
655
+ }
608
656
  }
609
657
  processed += 1;
610
658
  mutated = true;
@@ -621,7 +669,7 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
621
669
  request.status = 'failed';
622
670
  request.failed_at = nowIso;
623
671
  request.last_reason = result.reason;
624
- runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: result.reason });
672
+ runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: result.reason }, stateDir);
625
673
  processed += 1;
626
674
  failed += 1;
627
675
  mutated = true;
@@ -652,6 +700,9 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
652
700
  triggerCooldownState.by_trigger = triggerCooldownByKey;
653
701
  await writeJsonAtomic(triggerCooldownStatePath(teamDirPath), triggerCooldownState);
654
702
  await writeJsonAtomic(requestsPath, requests);
703
+ if (!usingLegacyRequests) {
704
+ await writeBridgeDispatchCompat(stateDir, teamName, requests);
705
+ }
655
706
  }
656
707
  });
657
708
  }
@@ -1 +1 @@
1
- {"version":3,"file":"team-dispatch.js","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-dispatch.js","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-dispatch.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,11 @@ export declare function checkWorkerPanesAlive(tmuxTarget: any, workerPaneIds?: n
12
12
  }>;
13
13
  export declare function isLeaderStale(stateDir: any, thresholdMs: any, nowMs: any): Promise<boolean>;
14
14
  export declare function emitTeamNudgeEvent(cwd: any, teamName: any, reason: any, nowIso: any): Promise<void>;
15
- export declare function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale }: {
15
+ export declare function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale, allowFreshMailboxNudges, }: {
16
16
  cwd: any;
17
17
  stateDir: any;
18
18
  logsDir: any;
19
19
  preComputedLeaderStale: any;
20
+ allowFreshMailboxNudges?: boolean | undefined;
20
21
  }): Promise<void>;
21
22
  //# sourceMappingURL=team-leader-nudge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-leader-nudge.d.ts","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-leader-nudge.ts"],"names":[],"mappings":"AACA;;GAEG;AAsBH,wBAAgB,4BAA4B,WAM3C;AAED,wBAAgB,mCAAmC,WAMlD;AAED,wBAAgB,iCAAiC,WAMhD;AAED,wBAAgB,uCAAuC,WAOtD;AAED,wBAAgB,iCAAiC,WAMhD;AA4DD,wBAAsB,qBAAqB,CAAC,UAAU,KAAA,EAAE,aAAa,UAAK;;;GAoBzE;AAED,wBAAsB,aAAa,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,EAAE,KAAK,KAAA,oBAE/D;AAgUD,wBAAsB,kBAAkB,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,MAAM,KAAA,EAAE,MAAM,KAAA,iBAiBrE;AA2BD,wBAAsB,oBAAoB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE;;;;;CAAA,iBA6U5F"}
1
+ {"version":3,"file":"team-leader-nudge.d.ts","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-leader-nudge.ts"],"names":[],"mappings":"AACA;;GAEG;AAsBH,wBAAgB,4BAA4B,WAM3C;AAED,wBAAgB,mCAAmC,WAMlD;AAED,wBAAgB,iCAAiC,WAMhD;AAED,wBAAgB,uCAAuC,WAOtD;AAED,wBAAgB,iCAAiC,WAMhD;AA4DD,wBAAsB,qBAAqB,CAAC,UAAU,KAAA,EAAE,aAAa,UAAK;;;GAoBzE;AAED,wBAAsB,aAAa,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,EAAE,KAAK,KAAA,oBAE/D;AAgUD,wBAAsB,kBAAkB,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,MAAM,KAAA,EAAE,MAAM,KAAA,iBAiBrE;AA2BD,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,QAAQ,EACR,OAAO,EACP,sBAAsB,EACtB,uBAA8B,GAC/B;;;;;;CAAA,iBAqVA"}
@@ -491,7 +491,7 @@ async function emitLeaderNudgeDeferredEvent(cwd, teamName, reason, nowIso, { tmu
491
491
  // Best effort
492
492
  }
493
493
  }
494
- export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale }) {
494
+ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale, allowFreshMailboxNudges = true, }) {
495
495
  const intervalMs = resolveLeaderNudgeIntervalMs();
496
496
  const idleCooldownMs = resolveLeaderAllIdleNudgeCooldownMs();
497
497
  const fallbackProgressStallThresholdMs = resolveFallbackProgressStallThresholdMs();
@@ -661,7 +661,8 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
661
661
  const previousStalledTeamNudge = prevReason === 'stuck_waiting_on_leader';
662
662
  const stalledTeamNudge = teamProgressStalled && (dueByTime || !previousStalledTeamNudge);
663
663
  const staleFollowupDue = stalePanesNudge && dueByTime;
664
- if (!shouldSendAllIdleNudge && !hasNewMessage && !stalledTeamNudge && !staleFollowupDue)
664
+ const hasActionableNewMessage = hasNewMessage && (allowFreshMailboxNudges || leaderStale);
665
+ if (!shouldSendAllIdleNudge && !hasActionableNewMessage && !stalledTeamNudge && !staleFollowupDue)
665
666
  continue;
666
667
  let nudgeReason = '';
667
668
  let text = '';
@@ -698,7 +699,7 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
698
699
  + `${leaderActionGuidance} `
699
700
  + `(p:${pending} ip:${in_progress} b:${blocked}${missingSignals})`;
700
701
  }
701
- else if (stalePanesNudge && hasNewMessage) {
702
+ else if (stalePanesNudge && hasActionableNewMessage) {
702
703
  nudgeReason = 'stale_leader_with_messages';
703
704
  text =
704
705
  `Team ${teamName}: leader stale, ${paneStatus.paneCount} pane(s) active, ${messages.length} msg(s) pending. `
@@ -710,7 +711,7 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
710
711
  `Team ${teamName}: leader stale, ${paneStatus.paneCount} worker pane(s) still active. `
711
712
  + leaderActionGuidance;
712
713
  }
713
- else if (hasNewMessage) {
714
+ else if (hasActionableNewMessage) {
714
715
  nudgeReason = 'new_mailbox_message';
715
716
  text = `Team ${teamName}: ${messages.length} msg(s) for leader. ${buildMailboxCheckReminder(teamName)}`;
716
717
  }
@@ -746,7 +747,14 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
746
747
  catch { /* ignore */ }
747
748
  continue;
748
749
  }
749
- const paneGuard = await evaluatePaneInjectionReadiness(tmuxTarget, { skipIfScrolling: true });
750
+ const paneGuard = await evaluatePaneInjectionReadiness(tmuxTarget, {
751
+ skipIfScrolling: true,
752
+ // Leader nudges should still queue into a live Codex pane even while the
753
+ // agent is busy; shell/copy-mode guards stay enforced.
754
+ requireRunningAgent: true,
755
+ requireReady: false,
756
+ requireIdle: false,
757
+ });
750
758
  if (!paneGuard.ok) {
751
759
  const deferredReason = paneGuard.reason === 'pane_running_shell'
752
760
  ? LEADER_PANE_SHELL_NO_INJECTION_REASON