oh-my-codex 0.11.12 → 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 (248) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +23 -0
  4. package/README.vi.md +144 -185
  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/cli/__tests__/autoresearch.test.js +11 -0
  8. package/dist/cli/__tests__/autoresearch.test.js.map +1 -1
  9. package/dist/cli/__tests__/cleanup.test.js +117 -4
  10. package/dist/cli/__tests__/cleanup.test.js.map +1 -1
  11. package/dist/cli/__tests__/error-handling-warnings.test.js +13 -0
  12. package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -1
  13. package/dist/cli/__tests__/exec.test.js +6 -0
  14. package/dist/cli/__tests__/exec.test.js.map +1 -1
  15. package/dist/cli/__tests__/index.test.js +94 -1
  16. package/dist/cli/__tests__/index.test.js.map +1 -1
  17. package/dist/cli/__tests__/launch-fallback.test.js +3 -0
  18. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  19. package/dist/cli/__tests__/package-bin-contract.test.js +10 -0
  20. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  21. package/dist/cli/__tests__/packaged-script-resolution.test.js +4 -3
  22. package/dist/cli/__tests__/packaged-script-resolution.test.js.map +1 -1
  23. package/dist/cli/__tests__/resume.test.js +6 -0
  24. package/dist/cli/__tests__/resume.test.js.map +1 -1
  25. package/dist/cli/__tests__/setup-refresh.test.js +29 -12
  26. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  27. package/dist/cli/__tests__/star-prompt.test.js +16 -0
  28. package/dist/cli/__tests__/star-prompt.test.js.map +1 -1
  29. package/dist/cli/__tests__/uninstall.test.js +112 -1
  30. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  31. package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts +2 -0
  32. package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts.map +1 -0
  33. package/dist/cli/__tests__/windows-popup-loop-contract.test.js +30 -0
  34. package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -0
  35. package/dist/cli/cleanup.d.ts +2 -0
  36. package/dist/cli/cleanup.d.ts.map +1 -1
  37. package/dist/cli/cleanup.js +26 -1
  38. package/dist/cli/cleanup.js.map +1 -1
  39. package/dist/cli/index.d.ts +7 -0
  40. package/dist/cli/index.d.ts.map +1 -1
  41. package/dist/cli/index.js +161 -50
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/setup.d.ts.map +1 -1
  44. package/dist/cli/setup.js +15 -14
  45. package/dist/cli/setup.js.map +1 -1
  46. package/dist/cli/star-prompt.d.ts.map +1 -1
  47. package/dist/cli/star-prompt.js +1 -0
  48. package/dist/cli/star-prompt.js.map +1 -1
  49. package/dist/cli/team.d.ts.map +1 -1
  50. package/dist/cli/team.js +5 -1
  51. package/dist/cli/team.js.map +1 -1
  52. package/dist/cli/uninstall.d.ts.map +1 -1
  53. package/dist/cli/uninstall.js +26 -0
  54. package/dist/cli/uninstall.js.map +1 -1
  55. package/dist/cli/update.d.ts.map +1 -1
  56. package/dist/cli/update.js +1 -0
  57. package/dist/cli/update.js.map +1 -1
  58. package/dist/config/__tests__/generator-idempotent.test.js +4 -4
  59. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  60. package/dist/config/__tests__/mcp-registry.test.js +13 -16
  61. package/dist/config/__tests__/mcp-registry.test.js.map +1 -1
  62. package/dist/config/mcp-registry.d.ts +1 -0
  63. package/dist/config/mcp-registry.d.ts.map +1 -1
  64. package/dist/config/mcp-registry.js +4 -4
  65. package/dist/config/mcp-registry.js.map +1 -1
  66. package/dist/config/models.d.ts +1 -0
  67. package/dist/config/models.d.ts.map +1 -1
  68. package/dist/config/models.js +39 -1
  69. package/dist/config/models.js.map +1 -1
  70. package/dist/hooks/__tests__/keyword-detector.test.js +12 -1
  71. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  72. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +499 -17
  73. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  74. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +140 -14
  75. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  76. package/dist/hooks/__tests__/notify-hook-modules.test.js +5 -0
  77. package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
  78. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts +2 -0
  79. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts.map +1 -0
  80. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +597 -0
  81. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -0
  82. package/dist/hooks/__tests__/notify-hook-regression-205.test.js +15 -1
  83. package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
  84. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +73 -53
  85. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  86. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +193 -2
  87. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  88. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +183 -0
  89. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  90. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +255 -97
  91. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  92. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +0 -0
  93. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
  94. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +46 -0
  95. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  96. package/dist/hooks/keyword-detector.d.ts +1 -0
  97. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  98. package/dist/hooks/keyword-detector.js +48 -0
  99. package/dist/hooks/keyword-detector.js.map +1 -1
  100. package/dist/hooks/session.d.ts.map +1 -1
  101. package/dist/hooks/session.js +1 -0
  102. package/dist/hooks/session.js.map +1 -1
  103. package/dist/hud/__tests__/state.test.js +70 -1
  104. package/dist/hud/__tests__/state.test.js.map +1 -1
  105. package/dist/hud/state.d.ts.map +1 -1
  106. package/dist/hud/state.js +10 -37
  107. package/dist/hud/state.js.map +1 -1
  108. package/dist/mcp/state-server.d.ts.map +1 -1
  109. package/dist/mcp/state-server.js +5 -0
  110. package/dist/mcp/state-server.js.map +1 -1
  111. package/dist/modes/__tests__/base-session-scope.test.js +46 -0
  112. package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
  113. package/dist/modes/base.d.ts.map +1 -1
  114. package/dist/modes/base.js +4 -0
  115. package/dist/modes/base.js.map +1 -1
  116. package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts +2 -0
  117. package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts.map +1 -0
  118. package/dist/notifications/__tests__/custom-alias-enablement.test.js +84 -0
  119. package/dist/notifications/__tests__/custom-alias-enablement.test.js.map +1 -0
  120. package/dist/notifications/__tests__/idle-cooldown.test.js +55 -0
  121. package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -1
  122. package/dist/notifications/idle-cooldown.d.ts +8 -6
  123. package/dist/notifications/idle-cooldown.d.ts.map +1 -1
  124. package/dist/notifications/idle-cooldown.js +53 -22
  125. package/dist/notifications/idle-cooldown.js.map +1 -1
  126. package/dist/notifications/notifier.js +1 -1
  127. package/dist/notifications/notifier.js.map +1 -1
  128. package/dist/notifications/reply-listener.d.ts.map +1 -1
  129. package/dist/notifications/reply-listener.js +1 -0
  130. package/dist/notifications/reply-listener.js.map +1 -1
  131. package/dist/openclaw/config.js +2 -2
  132. package/dist/openclaw/config.js.map +1 -1
  133. package/dist/runtime/bridge.d.ts +1 -0
  134. package/dist/runtime/bridge.d.ts.map +1 -1
  135. package/dist/runtime/bridge.js +2 -6
  136. package/dist/runtime/bridge.js.map +1 -1
  137. package/dist/scripts/notify-fallback-watcher.js +97 -59
  138. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  139. package/dist/scripts/notify-hook/auto-nudge.d.ts +2 -1
  140. package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
  141. package/dist/scripts/notify-hook/auto-nudge.js +72 -238
  142. package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
  143. package/dist/scripts/notify-hook/managed-tmux.d.ts +19 -0
  144. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -0
  145. package/dist/scripts/notify-hook/managed-tmux.js +320 -0
  146. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -0
  147. package/dist/scripts/notify-hook/ralph-session-resume.d.ts +22 -0
  148. package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -0
  149. package/dist/scripts/notify-hook/ralph-session-resume.js +277 -0
  150. package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -0
  151. package/dist/scripts/notify-hook/state-io.d.ts +1 -1
  152. package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
  153. package/dist/scripts/notify-hook/state-io.js +2 -10
  154. package/dist/scripts/notify-hook/state-io.js.map +1 -1
  155. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  156. package/dist/scripts/notify-hook/team-dispatch.js +60 -59
  157. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  158. package/dist/scripts/notify-hook/team-leader-nudge.d.ts +2 -1
  159. package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
  160. package/dist/scripts/notify-hook/team-leader-nudge.js +13 -5
  161. package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
  162. package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
  163. package/dist/scripts/notify-hook/team-tmux-guard.js +1 -19
  164. package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
  165. package/dist/scripts/notify-hook/team-worker.js +4 -4
  166. package/dist/scripts/notify-hook/team-worker.js.map +1 -1
  167. package/dist/scripts/notify-hook/tmux-injection.d.ts +1 -1
  168. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  169. package/dist/scripts/notify-hook/tmux-injection.js +102 -35
  170. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  171. package/dist/scripts/notify-hook.js +144 -20
  172. package/dist/scripts/notify-hook.js.map +1 -1
  173. package/dist/scripts/tmux-hook-engine.d.ts +1 -0
  174. package/dist/scripts/tmux-hook-engine.d.ts.map +1 -1
  175. package/dist/scripts/tmux-hook-engine.js +3 -0
  176. package/dist/scripts/tmux-hook-engine.js.map +1 -1
  177. package/dist/team/__tests__/api-interop.test.js +96 -4
  178. package/dist/team/__tests__/api-interop.test.js.map +1 -1
  179. package/dist/team/__tests__/leader-activity.test.js +107 -2
  180. package/dist/team/__tests__/leader-activity.test.js.map +1 -1
  181. package/dist/team/__tests__/runtime-cli.test.js +32 -0
  182. package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
  183. package/dist/team/__tests__/runtime.test.js +148 -0
  184. package/dist/team/__tests__/runtime.test.js.map +1 -1
  185. package/dist/team/__tests__/shutdown-fallback.test.js +13 -0
  186. package/dist/team/__tests__/shutdown-fallback.test.js.map +1 -1
  187. package/dist/team/__tests__/state-root.test.js +11 -1
  188. package/dist/team/__tests__/state-root.test.js.map +1 -1
  189. package/dist/team/__tests__/state.test.js +16 -5
  190. package/dist/team/__tests__/state.test.js.map +1 -1
  191. package/dist/team/__tests__/tmux-session.test.js +460 -2
  192. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  193. package/dist/team/api-interop.d.ts.map +1 -1
  194. package/dist/team/api-interop.js +34 -7
  195. package/dist/team/api-interop.js.map +1 -1
  196. package/dist/team/commit-hygiene.d.ts +60 -0
  197. package/dist/team/commit-hygiene.d.ts.map +1 -0
  198. package/dist/team/commit-hygiene.js +232 -0
  199. package/dist/team/commit-hygiene.js.map +1 -0
  200. package/dist/team/leader-activity.d.ts.map +1 -1
  201. package/dist/team/leader-activity.js +17 -35
  202. package/dist/team/leader-activity.js.map +1 -1
  203. package/dist/team/runtime-cli.d.ts +9 -1
  204. package/dist/team/runtime-cli.d.ts.map +1 -1
  205. package/dist/team/runtime-cli.js +15 -6
  206. package/dist/team/runtime-cli.js.map +1 -1
  207. package/dist/team/runtime.d.ts +7 -2
  208. package/dist/team/runtime.d.ts.map +1 -1
  209. package/dist/team/runtime.js +391 -63
  210. package/dist/team/runtime.js.map +1 -1
  211. package/dist/team/state/dispatch.js +1 -1
  212. package/dist/team/state/dispatch.js.map +1 -1
  213. package/dist/team/state/mailbox.d.ts +1 -0
  214. package/dist/team/state/mailbox.d.ts.map +1 -1
  215. package/dist/team/state/mailbox.js +54 -8
  216. package/dist/team/state/mailbox.js.map +1 -1
  217. package/dist/team/state-root.d.ts +1 -1
  218. package/dist/team/state-root.d.ts.map +1 -1
  219. package/dist/team/state-root.js +8 -3
  220. package/dist/team/state-root.js.map +1 -1
  221. package/dist/team/state.d.ts.map +1 -1
  222. package/dist/team/state.js +66 -3
  223. package/dist/team/state.js.map +1 -1
  224. package/dist/team/tmux-session.d.ts.map +1 -1
  225. package/dist/team/tmux-session.js +69 -27
  226. package/dist/team/tmux-session.js.map +1 -1
  227. package/dist/utils/__tests__/platform-command.test.js +101 -2
  228. package/dist/utils/__tests__/platform-command.test.js.map +1 -1
  229. package/dist/utils/git-layout.d.ts +8 -0
  230. package/dist/utils/git-layout.d.ts.map +1 -0
  231. package/dist/utils/git-layout.js +58 -0
  232. package/dist/utils/git-layout.js.map +1 -0
  233. package/dist/utils/platform-command.d.ts.map +1 -1
  234. package/dist/utils/platform-command.js +32 -1
  235. package/dist/utils/platform-command.js.map +1 -1
  236. package/package.json +6 -6
  237. package/src/scripts/notify-fallback-watcher.ts +96 -58
  238. package/src/scripts/notify-hook/auto-nudge.ts +75 -230
  239. package/src/scripts/notify-hook/managed-tmux.ts +324 -0
  240. package/src/scripts/notify-hook/ralph-session-resume.ts +337 -0
  241. package/src/scripts/notify-hook/state-io.ts +2 -10
  242. package/src/scripts/notify-hook/team-dispatch.ts +70 -54
  243. package/src/scripts/notify-hook/team-leader-nudge.ts +19 -5
  244. package/src/scripts/notify-hook/team-tmux-guard.ts +0 -20
  245. package/src/scripts/notify-hook/team-worker.ts +4 -4
  246. package/src/scripts/notify-hook/tmux-injection.ts +103 -33
  247. package/src/scripts/notify-hook.ts +150 -21
  248. package/src/scripts/tmux-hook-engine.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"platform-command.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/platform-command.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-command.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/platform-command.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,wBAAwB,CACnC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,gCAAgC;aAC1C,CACF,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,wBAAwB,CACnC,MAAM,EACN,CAAC,IAAI,CAAC,EACN,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB;aAC1B,CACF,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACzF,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,wBAAwB,CACnC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB;aAC1B,CACF,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC1F,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5F,MAAM,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,wBAAwB,CACnC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB;aAC1B,CACF,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,wBAAwB,CACnC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,gCAAgC;aAC1C,CACF,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,wBAAwB,CACnC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB;aAC1B,CACF,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACrD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1G,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CACV,6BAA6B,CAC3B,MAAM,EACN,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,WAAW;aACrB,CACF,EACD,OAAO,CACR,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CACV,6BAA6B,CAC3B,MAAM,EACN,OAAO,EACP,EAAE,IAAI,EAAE,OAAO,EAAE,CAClB,EACD,QAAQ,CACT,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,KAAK,CACV,6BAA6B,CAC3B,gBAAgB,EAChB,OAAO,EACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAChC,EACD,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA2B,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAA2B,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAA2B,CAAC,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC1C,MAAM,KAAK,GAIN,EAAE,CAAC;YAER,MAAM,MAAM,GAAG,wBAAwB,CACrC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,gCAAgC;aAC1C,EACD,SAAS,EACR,CAAC,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAgD,EAAE,EAAE;gBAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvC,OAAO;oBACL,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,EAAE;oBACV,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,IAAI;iBACb,CAAC;YACJ,CAAC,CAAyD,CAC3D,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;YACpE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gCAAgC,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACzF,MAAM,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3F,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,KAAK,GAIN,EAAE,CAAC;YAER,MAAM,MAAM,GAAG,wBAAwB,CACrC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,gBAAgB;gBACzB,OAAO,EAAE,gCAAgC;aAC1C,EACD,SAAS,EACR,CAAC,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAuE,EAAE,EAAE;gBACtH,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvC,OAAO;oBACL,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,EAAE;oBACV,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,IAAI;iBACb,CAAC;YACJ,CAAC,CAAyD,CAC3D,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,MAAM,KAAK,GAIN,EAAE,CAAC;YAER,wBAAwB,CACtB,MAAM,EACN,CAAC,IAAI,CAAC,EACN,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,OAAO,EACP;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,WAAW;aACrB,EACD,SAAS,EACR,CAAC,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAgD,EAAE,EAAE;gBAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvC,OAAO;oBACL,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,EAAE;oBACV,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,IAAI;iBACb,CAAC;YACJ,CAAC,CAAyD,CAC3D,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,CAAC,CAAC;QACvE,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO;QAEzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,wBAAwB,CACrC,OAAO,EACP,CAAC,WAAW,CAAC,EACb,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,OAAO,EACP;gBACE,GAAG,OAAO,CAAC,GAAG;gBACd,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrF,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,gCAAgC;aACjE,CACF,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,UAAU,GAAG,0BAA0B,CAAC;QAC9C,MAAM,KAAK,GAAwD,EAAE,CAAC;QAEtE,MAAM,MAAM,GAAG,wBAAwB,CACrC,UAAU,EACV,CAAC,UAAU,EAAE,WAAW,CAAC,EACzB,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,OAAO,EACP,OAAO,CAAC,GAAG,EACX,SAAS,EACR,CAAC,CAAC,OAAe,EAAE,IAAuB,EAAE,EAAE;YAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,EAAE;oBACV,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;iBAC7C,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC,CAAyD,CAC3D,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface GitLayout {
2
+ gitDir: string;
3
+ commonDir: string;
4
+ worktreeRoot: string;
5
+ }
6
+ export declare function findGitLayout(startCwd: string): GitLayout | null;
7
+ export declare function readGitLayoutFile(baseDir: string, ...parts: string[]): string | null;
8
+ //# sourceMappingURL=git-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-layout.d.ts","sourceRoot":"","sources":["../../src/utils/git-layout.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAyBD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA8BhE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAEpF"}
@@ -0,0 +1,58 @@
1
+ import { readFileSync, statSync } from 'node:fs';
2
+ import { dirname, join, resolve } from 'node:path';
3
+ function readTrimmedFile(path) {
4
+ try {
5
+ return readFileSync(path, 'utf-8').trim() || null;
6
+ }
7
+ catch {
8
+ return null;
9
+ }
10
+ }
11
+ function resolveGitDirPointer(path) {
12
+ const raw = readTrimmedFile(path);
13
+ if (!raw)
14
+ return null;
15
+ const match = raw.match(/^gitdir:\s*(.+)$/i);
16
+ if (!match)
17
+ return null;
18
+ return resolve(dirname(path), match[1].trim());
19
+ }
20
+ function resolveGitCommonDir(gitDir) {
21
+ const commonDir = readTrimmedFile(join(gitDir, 'commondir'));
22
+ return commonDir ? resolve(gitDir, commonDir) : gitDir;
23
+ }
24
+ export function findGitLayout(startCwd) {
25
+ let dir = startCwd;
26
+ for (;;) {
27
+ const candidate = join(dir, '.git');
28
+ try {
29
+ const stat = statSync(candidate);
30
+ if (stat.isDirectory()) {
31
+ return {
32
+ gitDir: candidate,
33
+ commonDir: resolveGitCommonDir(candidate),
34
+ worktreeRoot: dir,
35
+ };
36
+ }
37
+ if (stat.isFile()) {
38
+ const gitDir = resolveGitDirPointer(candidate);
39
+ if (gitDir) {
40
+ return {
41
+ gitDir,
42
+ commonDir: resolveGitCommonDir(gitDir),
43
+ worktreeRoot: dir,
44
+ };
45
+ }
46
+ }
47
+ }
48
+ catch { /* not found, walk up */ }
49
+ const parent = dirname(dir);
50
+ if (parent === dir)
51
+ return null;
52
+ dir = parent;
53
+ }
54
+ }
55
+ export function readGitLayoutFile(baseDir, ...parts) {
56
+ return readTrimmedFile(join(baseDir, ...parts));
57
+ }
58
+ //# sourceMappingURL=git-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-layout.js","sourceRoot":"","sources":["../../src/utils/git-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQnD,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,IAAI,GAAG,GAAG,QAAQ,CAAC;IAEnB,SAAS,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC;oBACzC,YAAY,EAAE,GAAG;iBAClB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO;wBACL,MAAM;wBACN,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC;wBACtC,YAAY,EAAE,GAAG;qBAClB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,GAAG,KAAe;IACnE,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform-command.d.ts","sourceRoot":"","sources":["../../src/utils/platform-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,kCAAkC,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG1G,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAChD,KAAK,aAAa,GAAG,OAAO,SAAS,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CAClC;AAyHD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI,CAKzG;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,GAAE,cAA2B,GACtC,MAAM,GAAG,IAAI,CAKf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,GAAE,cAA2B,GACtC,mBAAmB,CA0BrB;AAQD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,kCAA0D,EACnE,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,GAAE,cAA2B,EACvC,SAAS,GAAE,aAAyB,GACnC,qBAAqB,CAkBvB"}
1
+ {"version":3,"file":"platform-command.d.ts","sourceRoot":"","sources":["../../src/utils/platform-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,kCAAkC,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG1G,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAChD,KAAK,aAAa,GAAG,OAAO,SAAS,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CAClC;AAoJD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI,CAKzG;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,GAAE,cAA2B,GACtC,MAAM,GAAG,IAAI,CAKf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,GAAE,cAA2B,GACtC,mBAAmB,CAmCrB;AAQD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,kCAA0D,EACnE,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,GAAE,cAA2B,EACvC,SAAS,GAAE,aAAyB,GACnC,qBAAqB,CAkBvB"}
@@ -1,11 +1,14 @@
1
1
  import { existsSync } from 'fs';
2
2
  import { spawnSync } from 'child_process';
3
- import { delimiter, extname, join, resolve } from 'path';
3
+ import { basename, delimiter, dirname, extname, join, resolve } from 'path';
4
4
  const WINDOWS_DEFAULT_PATHEXT = ['.com', '.exe', '.bat', '.cmd', '.ps1'];
5
5
  const WINDOWS_DIRECT_EXTENSIONS = new Set(['.com', '.exe']);
6
6
  const WINDOWS_CMD_EXTENSIONS = new Set(['.bat', '.cmd']);
7
7
  const WINDOWS_EXTENSION_PRIORITY = ['.exe', '.com', '.ps1', '.cmd', '.bat'];
8
8
  const NODE_HOSTED_SCRIPT_EXTENSIONS = new Set(['.js', '.mjs', '.cjs']);
9
+ const WINDOWS_NODE_HOSTED_COMMANDS = {
10
+ codex: ['node_modules', '@openai', 'codex', 'bin', 'codex.js'],
11
+ };
9
12
  function isWindowsPathLike(command) {
10
13
  return /^[A-Za-z]:/.test(command) || /[\\/]/.test(command);
11
14
  }
@@ -30,6 +33,26 @@ function classifyWindowsCommandPath(path) {
30
33
  return 'direct';
31
34
  return 'direct';
32
35
  }
36
+ function normalizeWindowsCommandName(command) {
37
+ return basename(command, extname(command)).toLowerCase();
38
+ }
39
+ function resolveWindowsNodeHostedCommandPath(command, resolvedPath, existsImpl) {
40
+ const relativeSegments = WINDOWS_NODE_HOSTED_COMMANDS[normalizeWindowsCommandName(command)];
41
+ if (!relativeSegments)
42
+ return null;
43
+ if (classifyWindowsCommandPath(resolvedPath) === 'direct')
44
+ return null;
45
+ const candidates = [
46
+ join(dirname(resolvedPath), ...relativeSegments),
47
+ join(dirname(resolvedPath), '..', ...relativeSegments.slice(1)),
48
+ join(dirname(resolvedPath), '..', ...relativeSegments),
49
+ ];
50
+ for (const candidate of candidates) {
51
+ if (existsImpl(candidate))
52
+ return candidate;
53
+ }
54
+ return null;
55
+ }
33
56
  function resolveWindowsCommandPath(command, env, existsImpl) {
34
57
  const candidates = [];
35
58
  const extension = extname(command).toLowerCase();
@@ -124,6 +147,14 @@ export function buildPlatformCommandSpec(command, args, platform = process.platf
124
147
  return { command, args: [...args] };
125
148
  }
126
149
  const kind = classifyWindowsCommandPath(resolvedPath);
150
+ const nodeHostedPath = resolveWindowsNodeHostedCommandPath(command, resolvedPath, existsImpl);
151
+ if (nodeHostedPath) {
152
+ return {
153
+ command: process.execPath,
154
+ args: [nodeHostedPath, ...args],
155
+ resolvedPath: nodeHostedPath,
156
+ };
157
+ }
127
158
  if (kind === 'cmd') {
128
159
  return buildCmdLaunch(resolvedPath, args, env);
129
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform-command.js","sourceRoot":"","sources":["../../src/utils/platform-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-command.js","sourceRoot":"","sources":["../../src/utils/platform-command.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-codex",
3
- "version": "0.11.12",
3
+ "version": "0.11.13",
4
4
  "description": "Multi-agent orchestration layer for OpenAI Codex CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,14 +23,14 @@
23
23
  "ask:gemini": "./src/scripts/ask-gemini.sh",
24
24
  "test:explore": "cargo test -p omx-explore-harness && node --test dist/cli/__tests__/explore.test.js dist/hooks/__tests__/explore-routing.test.js dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js",
25
25
  "test:team:cross-rebase-smoke": "npm run build && node --test dist/team/__tests__/cross-rebase-smoke.test.js",
26
- "test:node": "node --test $(find dist -name '*.test.js')",
27
- "test:node:cross-platform": "node dist/scripts/run-test-files.js dist",
26
+ "test:node": "node dist/scripts/run-test-files.js dist",
27
+ "test:node:cross-platform": "npm run test:node",
28
28
  "test": "npm run build && npm run test:node && node dist/scripts/generate-catalog-docs.js --check",
29
- "coverage:team-critical": "npm run build && c8 --all --src dist/team --src dist/state --include 'dist/team/**/*.js' --include 'dist/state/**/*.js' --exclude '**/__tests__/**' --reporter=text-summary --reporter=lcov --reporter=json-summary --report-dir coverage/team --check-coverage --lines=78 --functions=90 --branches=70 --statements=78 node --test $(find dist/team/__tests__ dist/state/__tests__ -name '*.test.js')",
29
+ "coverage:team-critical": "npm run build && c8 --all --src dist/team --src dist/state --include 'dist/team/**/*.js' --include 'dist/state/**/*.js' --exclude '**/__tests__/**' --reporter=text-summary --reporter=lcov --reporter=json-summary --report-dir coverage/team --check-coverage --lines=78 --functions=90 --branches=70 --statements=78 node dist/scripts/run-test-files.js dist/team/__tests__ dist/state/__tests__",
30
30
  "coverage:team-critical:cross-platform": "npm run build && c8 --all --src dist/team --src dist/state --include 'dist/team/**/*.js' --include 'dist/state/**/*.js' --exclude '**/__tests__/**' --reporter=text-summary --reporter=lcov --reporter=json-summary --report-dir coverage/team --check-coverage --lines=78 --functions=90 --branches=70 --statements=78 node dist/scripts/run-test-files.js dist/team/__tests__ dist/state/__tests__",
31
- "coverage:ts:full": "npm run build && c8 --all --src dist --exclude '**/__tests__/**' --exclude 'dist/bin/**' --exclude 'dist/**/*.d.ts' --reporter=text-summary --reporter=lcov --reporter=json-summary --report-dir coverage/ts-full node --test $(find dist -name '*.test.js')",
31
+ "coverage:ts:full": "npm run build && c8 --all --src dist --exclude '**/__tests__/**' --exclude 'dist/bin/**' --exclude 'dist/**/*.d.ts' --reporter=text-summary --reporter=lcov --reporter=json-summary --report-dir coverage/ts-full node dist/scripts/run-test-files.js dist",
32
32
  "coverage:ts:full:cross-platform": "npm run build && c8 --all --src dist --exclude '**/__tests__/**' --exclude 'dist/bin/**' --exclude 'dist/**/*.d.ts' --reporter=text-summary --reporter=lcov --reporter=json-summary --report-dir coverage/ts-full node dist/scripts/run-test-files.js dist",
33
- "test:compat:node": "npm run build && node --test dist/compat/__tests__/*.test.js",
33
+ "test:compat:node": "npm run build && node dist/scripts/run-test-files.js dist/compat/__tests__",
34
34
  "test:compat:node:cross-platform": "npm run build && node dist/scripts/run-test-files.js dist/compat/__tests__",
35
35
  "test:compat:rust": "cargo build && OMX_COMPAT_TARGET=./target/debug/omx npm run test:compat:node",
36
36
  "build:sparkshell": "node dist/scripts/build-sparkshell.js",
@@ -5,9 +5,11 @@ import { appendFile, mkdir, open, readFile, readdir, rename, stat, unlink, write
5
5
  import { spawnSync } from 'child_process';
6
6
  import { dirname, join, resolve } from 'path';
7
7
  import { homedir } from 'os';
8
+ import { spawnPlatformCommandSync } from '../utils/platform-command.js';
8
9
  import { drainPendingTeamDispatch } from './notify-hook/team-dispatch.js';
9
10
  import {
10
11
  maybeAutoNudge,
12
+ isDeepInterviewInputLockActive,
11
13
  isDeepInterviewStateActive,
12
14
  loadAutoNudgeConfig,
13
15
  normalizeAutoNudgeSignatureText,
@@ -39,6 +41,11 @@ function safeString(v: unknown): string {
39
41
  return typeof v === 'string' ? v : '';
40
42
  }
41
43
 
44
+ function parsePositivePid(value: unknown): number | null {
45
+ const pid = Math.trunc(asNumber(value as string | number | undefined, 0));
46
+ return pid > 0 ? pid : null;
47
+ }
48
+
42
49
  function parseIsoMillis(value: string | null | undefined): number | null {
43
50
  const parsed = Date.parse(safeString(value).trim());
44
51
  return Number.isFinite(parsed) ? parsed : null;
@@ -70,6 +77,7 @@ async function waitForPidExit(pid: number, timeoutMs = 3000, stepMs = 50): Promi
70
77
  const cwd = resolve(argValue('--cwd', process.cwd()));
71
78
  const notifyScript = resolve(argValue('--notify-script', join(cwd, 'dist', 'scripts', 'notify-hook.js')));
72
79
  const runOnce = process.argv.includes('--once');
80
+ const authorityOnly = process.argv.includes('--authority-only');
73
81
  // Keep fallback control-plane ticks comfortably below the default dispatch
74
82
  // ack budget so leaderless team dispatch + stale-alert recovery do not feel
75
83
  // laggy between native notify-hook turns.
@@ -252,6 +260,21 @@ function eventLog(event: Record<string, unknown>): Promise<void> {
252
260
  return appendFile(logPath, `${JSON.stringify({ timestamp: new Date().toISOString(), ...event })}\n`).catch(() => {});
253
261
  }
254
262
 
263
+ function shouldLogLeaderNudgeTick(reason: string): boolean {
264
+ return reason === 'leader_nudge_checked' || reason === 'leader_nudge_failed';
265
+ }
266
+
267
+ function shouldLogDispatchDrainTick(result: unknown): boolean {
268
+ if (!result || typeof result !== 'object') return false;
269
+ const record = result as Record<string, unknown>;
270
+ const processed = asNumber(record.processed as string | number | undefined, 0);
271
+ const skipped = asNumber(record.skipped as string | number | undefined, 0);
272
+ const failed = asNumber(record.failed as string | number | undefined, 0);
273
+ if (processed > 0 || skipped > 0 || failed > 0) return true;
274
+ const reason = safeString(record.reason).trim();
275
+ return reason !== '' && reason !== 'worker_context';
276
+ }
277
+
255
278
  function normalizeRalphContinueSteerState(raw: Record<string, unknown> | null | undefined): RalphContinueSteerState {
256
279
  if (!raw || typeof raw !== 'object') return { ...lastRalphContinueSteer };
257
280
  return {
@@ -448,22 +471,19 @@ async function resolveActiveTeamState(): Promise<ActiveTeamResult> {
448
471
  async function emitRalphContinueSteer(paneId: string, message: string): Promise<void> {
449
472
  const markedText = `${message} ${DEFAULT_MARKER}`;
450
473
  await new Promise<void>((resolve) => {
451
- const typed = spawnSync('tmux', ['send-keys', '-t', paneId, '-l', markedText], { encoding: 'utf-8',
452
- windowsHide: true,
453
- });
474
+ const { result: typed } = spawnPlatformCommandSync('tmux', ['send-keys', '-t', paneId, '-l', markedText], { encoding: 'utf-8' });
475
+ if (typed.error) throw new Error(typed.error.message);
454
476
  if (typed.status !== 0) throw new Error((typed.stderr || typed.stdout || '').trim() || 'tmux send-keys failed');
455
477
  setTimeout(resolve, 100);
456
478
  });
457
479
  await new Promise<void>((resolve) => {
458
- const submitA = spawnSync('tmux', ['send-keys', '-t', paneId, 'C-m'], { encoding: 'utf-8',
459
- windowsHide: true,
460
- });
480
+ const { result: submitA } = spawnPlatformCommandSync('tmux', ['send-keys', '-t', paneId, 'C-m'], { encoding: 'utf-8' });
481
+ if (submitA.error) throw new Error(submitA.error.message);
461
482
  if (submitA.status !== 0) throw new Error((submitA.stderr || submitA.stdout || '').trim() || 'tmux send-keys C-m failed');
462
483
  setTimeout(resolve, 100);
463
484
  });
464
- const submitB = spawnSync('tmux', ['send-keys', '-t', paneId, 'C-m'], { encoding: 'utf-8',
465
- windowsHide: true,
466
- });
485
+ const { result: submitB } = spawnPlatformCommandSync('tmux', ['send-keys', '-t', paneId, 'C-m'], { encoding: 'utf-8' });
486
+ if (submitB.error) throw new Error(submitB.error.message);
467
487
  if (submitB.status !== 0) {
468
488
  throw new Error((submitB.stderr || submitB.stdout || '').trim() || 'tmux send-keys C-m failed');
469
489
  }
@@ -487,9 +507,9 @@ async function readRalphSteerLock(path: string): Promise<RalphSteerLockRecord |
487
507
  if (!raw.trim()) return null;
488
508
  try {
489
509
  const parsed = JSON.parse(raw) as Record<string, unknown>;
490
- const pid = Math.trunc(asNumber(parsed.pid as string | number | undefined, 0));
510
+ const pid = parsePositivePid(parsed.pid);
491
511
  const acquiredAt = safeString(parsed.acquired_at).trim();
492
- if (!pid || !acquiredAt) return null;
512
+ if (pid === null || !acquiredAt) return null;
493
513
  return { pid, acquired_at: acquiredAt };
494
514
  } catch {
495
515
  return null;
@@ -589,19 +609,19 @@ async function readPidFileRecord(path: string): Promise<PidFileRecord | null> {
589
609
  if (!trimmed) return null;
590
610
  try {
591
611
  const parsed = JSON.parse(trimmed) as Record<string, unknown>;
592
- const pid = Math.trunc(asNumber(parsed.pid as string | number | undefined, 0));
593
- if (pid <= 0) return null;
612
+ const pid = parsePositivePid(parsed.pid);
613
+ if (pid === null) return null;
594
614
  return {
595
615
  pid,
596
- parent_pid: Math.trunc(asNumber(parsed.parent_pid as string | number | undefined, 0)) || undefined,
616
+ parent_pid: parsePositivePid(parsed.parent_pid) ?? undefined,
597
617
  cwd: safeString(parsed.cwd) || undefined,
598
618
  started_at: safeString(parsed.started_at) || undefined,
599
619
  max_lifetime_ms: asNumber(parsed.max_lifetime_ms as string | number | undefined, 0) || undefined,
600
620
  owner_token: safeString(parsed.owner_token) || undefined,
601
621
  };
602
622
  } catch {
603
- const pid = Number.parseInt(trimmed, 10);
604
- return Number.isFinite(pid) && pid > 0 ? { pid } : null;
623
+ const pid = parsePositivePid(trimmed);
624
+ return pid === null ? null : { pid };
605
625
  }
606
626
  }
607
627
 
@@ -622,6 +642,7 @@ async function runRalphContinueSteerTick(): Promise<void> {
622
642
  const nowIso = new Date(now).toISOString();
623
643
  const startupIso = new Date(startedAt).toISOString();
624
644
  const activeRalph = await resolveActiveRalphState();
645
+ const activePaneId = safeString(activeRalph.state?.tmux_pane_id).trim();
625
646
  lastRalphContinueSteer = {
626
647
  ...lastRalphContinueSteer,
627
648
  active: activeRalph.active,
@@ -630,6 +651,7 @@ async function runRalphContinueSteerTick(): Promise<void> {
630
651
  last_reason: activeRalph.reason,
631
652
  last_error: null,
632
653
  state_path: activeRalph.path,
654
+ pane_id: activePaneId,
633
655
  pane_current_command: '',
634
656
  shared_timestamp_path: ralphSteerTimestampPath,
635
657
  singleton_lock_path: ralphSteerLockPath,
@@ -787,6 +809,7 @@ async function writeState(extra: Record<string, unknown> = {}): Promise<void> {
787
809
  started_at: new Date(startedAt).toISOString(),
788
810
  cwd,
789
811
  notify_script: notifyScript,
812
+ authority_only: authorityOnly,
790
813
  poll_ms: pollMs,
791
814
  pid_file: runOnce ? null : pidFilePath,
792
815
  max_lifetime_ms: maxLifetimeMs,
@@ -1205,21 +1228,18 @@ async function runLeaderNudgeTick(): Promise<void> {
1205
1228
  last_tick_at: startedIso,
1206
1229
  last_error: 'worker_context',
1207
1230
  };
1208
- await eventLog({
1209
- type: 'leader_nudge_tick',
1210
- leader_only: false,
1211
- run_count: leaderNudgeRuns,
1212
- reason: 'worker_context',
1213
- stale_threshold_ms: staleThresholdMs,
1214
- });
1215
1231
  return;
1216
1232
  }
1217
1233
 
1218
1234
  try {
1219
1235
  const preComputedLeaderStale = await isLeaderStale(stateDir, staleThresholdMs, Date.now());
1220
- if (preComputedLeaderStale) {
1221
- await maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale });
1222
- }
1236
+ await maybeNudgeTeamLeader({
1237
+ cwd,
1238
+ stateDir,
1239
+ logsDir,
1240
+ preComputedLeaderStale,
1241
+ allowFreshMailboxNudges: false,
1242
+ });
1223
1243
  leaderNudgeRuns += 1;
1224
1244
  lastLeaderNudge = {
1225
1245
  enabled: true,
@@ -1229,14 +1249,17 @@ async function runLeaderNudgeTick(): Promise<void> {
1229
1249
  last_tick_at: startedIso,
1230
1250
  last_error: null,
1231
1251
  };
1232
- await eventLog({
1233
- type: 'leader_nudge_tick',
1234
- leader_only: true,
1235
- run_count: leaderNudgeRuns,
1236
- stale_threshold_ms: staleThresholdMs,
1237
- precomputed_leader_stale: preComputedLeaderStale,
1238
- reason: preComputedLeaderStale ? 'leader_nudge_checked' : 'leader_nudge_skipped_not_stale',
1239
- });
1252
+ const reason = preComputedLeaderStale ? 'leader_nudge_checked' : 'leader_nudge_skipped_not_stale';
1253
+ if (shouldLogLeaderNudgeTick(reason)) {
1254
+ await eventLog({
1255
+ type: 'leader_nudge_tick',
1256
+ leader_only: true,
1257
+ run_count: leaderNudgeRuns,
1258
+ stale_threshold_ms: staleThresholdMs,
1259
+ precomputed_leader_stale: preComputedLeaderStale,
1260
+ reason,
1261
+ });
1262
+ }
1240
1263
  } catch (err) {
1241
1264
  leaderNudgeRuns += 1;
1242
1265
  lastLeaderNudge = {
@@ -1269,13 +1292,15 @@ async function runDispatchDrainTick(): Promise<void> {
1269
1292
  last_result: result,
1270
1293
  last_error: null,
1271
1294
  };
1272
- await eventLog({
1273
- type: 'dispatch_drain_tick',
1274
- leader_only: lastDispatchDrain.leader_only,
1275
- dispatch_max_per_tick: dispatchTickMax,
1276
- run_count: dispatchDrainRuns,
1277
- ...(result && typeof result === 'object' ? result as Record<string, unknown> : {}),
1278
- });
1295
+ if (shouldLogDispatchDrainTick(result)) {
1296
+ await eventLog({
1297
+ type: 'dispatch_drain_tick',
1298
+ leader_only: lastDispatchDrain.leader_only,
1299
+ dispatch_max_per_tick: dispatchTickMax,
1300
+ run_count: dispatchDrainRuns,
1301
+ ...(result && typeof result === 'object' ? result as Record<string, unknown> : {}),
1302
+ });
1303
+ }
1279
1304
  } catch (err) {
1280
1305
  dispatchDrainRuns += 1;
1281
1306
  lastDispatchDrain = {
@@ -1295,21 +1320,29 @@ async function runDispatchDrainTick(): Promise<void> {
1295
1320
  }
1296
1321
  }
1297
1322
 
1323
+ async function shouldSuppressInteractiveFallbackTicks(): Promise<boolean> {
1324
+ const [deepInterviewStateActive, deepInterviewInputLockActive] = await Promise.all([
1325
+ isDeepInterviewStateActive(stateDir),
1326
+ isDeepInterviewInputLockActive(stateDir),
1327
+ ]);
1328
+ return deepInterviewStateActive || deepInterviewInputLockActive;
1329
+ }
1330
+
1298
1331
  async function pumpTeamControlPlaneTick(): Promise<void> {
1299
1332
  await runDispatchDrainTick();
1300
- const deepInterviewStateActive = await isDeepInterviewStateActive(stateDir);
1301
- if (deepInterviewStateActive) return;
1333
+ if (await shouldSuppressInteractiveFallbackTicks()) return;
1302
1334
  await runLeaderNudgeTick();
1303
1335
  await runFallbackAutoNudgeTick();
1304
1336
  }
1305
1337
 
1306
1338
 
1307
1339
  async function runWatcherCycle(): Promise<void> {
1308
- await ensureTrackedFiles();
1309
- await pollFiles();
1340
+ if (!authorityOnly) {
1341
+ await ensureTrackedFiles();
1342
+ await pollFiles();
1343
+ }
1310
1344
  await pumpTeamControlPlaneTick();
1311
- const deepInterviewStateActive = await isDeepInterviewStateActive(stateDir);
1312
- if (!deepInterviewStateActive) {
1345
+ if (!authorityOnly && !(await shouldSuppressInteractiveFallbackTicks())) {
1313
1346
  await runRalphWatcherBehaviorTick();
1314
1347
  }
1315
1348
  await writeState();
@@ -1339,16 +1372,19 @@ async function main(): Promise<void> {
1339
1372
 
1340
1373
  await registerPidFile();
1341
1374
  await loadPersistedWatcherState();
1342
- await eventLog({
1343
- type: 'watcher_start',
1344
- cwd,
1345
- notify_script: notifyScript,
1346
- poll_ms: pollMs,
1347
- once: runOnce,
1348
- parent_pid: parentPid,
1349
- pid_file: runOnce ? null : pidFilePath,
1350
- max_lifetime_ms: maxLifetimeMs,
1351
- });
1375
+ if (!(runOnce && authorityOnly)) {
1376
+ await eventLog({
1377
+ type: 'watcher_start',
1378
+ cwd,
1379
+ notify_script: notifyScript,
1380
+ authority_only: authorityOnly,
1381
+ poll_ms: pollMs,
1382
+ once: runOnce,
1383
+ parent_pid: parentPid,
1384
+ pid_file: runOnce ? null : pidFilePath,
1385
+ max_lifetime_ms: maxLifetimeMs,
1386
+ });
1387
+ }
1352
1388
  process.on('SIGINT', () => shutdown('SIGINT'));
1353
1389
  process.on('SIGTERM', () => shutdown('SIGTERM'));
1354
1390
  process.on('SIGHUP', () => shutdown('SIGHUP'));
@@ -1357,7 +1393,9 @@ async function main(): Promise<void> {
1357
1393
 
1358
1394
  if (runOnce) {
1359
1395
  await runWatcherCycle();
1360
- await eventLog({ type: 'watcher_once_complete', seen_turns: seenTurnKeys.size });
1396
+ if (!authorityOnly) {
1397
+ await eventLog({ type: 'watcher_once_complete', authority_only: authorityOnly, seen_turns: seenTurnKeys.size });
1398
+ }
1361
1399
  process.exit(0);
1362
1400
  }
1363
1401