oh-my-codex 0.18.16 → 0.19.1

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 (232) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +5 -0
  4. package/crates/omx-sparkshell/tests/execution.rs +8 -1
  5. package/dist/agents/__tests__/definitions.test.js +5 -5
  6. package/dist/agents/__tests__/definitions.test.js.map +1 -1
  7. package/dist/agents/__tests__/native-config.test.js +18 -14
  8. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  9. package/dist/agents/definitions.d.ts +2 -2
  10. package/dist/agents/definitions.d.ts.map +1 -1
  11. package/dist/agents/definitions.js +4 -4
  12. package/dist/agents/definitions.js.map +1 -1
  13. package/dist/agents/native-config.d.ts +1 -0
  14. package/dist/agents/native-config.d.ts.map +1 -1
  15. package/dist/agents/native-config.js +18 -16
  16. package/dist/agents/native-config.js.map +1 -1
  17. package/dist/auth/hotswap.d.ts.map +1 -1
  18. package/dist/auth/hotswap.js +17 -4
  19. package/dist/auth/hotswap.js.map +1 -1
  20. package/dist/autopilot/__tests__/planner-routing.test.js +2 -2
  21. package/dist/autopilot/__tests__/planner-routing.test.js.map +1 -1
  22. package/dist/autopilot/fsm.d.ts +1 -1
  23. package/dist/autopilot/fsm.d.ts.map +1 -1
  24. package/dist/autopilot/fsm.js +1 -1
  25. package/dist/autopilot/fsm.js.map +1 -1
  26. package/dist/cli/__tests__/auth.test.js +78 -3
  27. package/dist/cli/__tests__/auth.test.js.map +1 -1
  28. package/dist/cli/__tests__/codex-plugin-layout.test.js +30 -5
  29. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  30. package/dist/cli/__tests__/doctor-warning-copy.test.js +2 -0
  31. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  32. package/dist/cli/__tests__/index.test.js +96 -8
  33. package/dist/cli/__tests__/index.test.js.map +1 -1
  34. package/dist/cli/__tests__/launch-fallback.test.js +135 -1
  35. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  36. package/dist/cli/__tests__/mcp-parity.test.js +2 -4
  37. package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
  38. package/dist/cli/__tests__/mission.test.d.ts +2 -0
  39. package/dist/cli/__tests__/mission.test.d.ts.map +1 -0
  40. package/dist/cli/__tests__/mission.test.js +239 -0
  41. package/dist/cli/__tests__/mission.test.js.map +1 -0
  42. package/dist/cli/__tests__/plugin-marketplace-idempotent.test.js +14 -0
  43. package/dist/cli/__tests__/plugin-marketplace-idempotent.test.js.map +1 -1
  44. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +8 -0
  45. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
  46. package/dist/cli/__tests__/resume.test.js +229 -1
  47. package/dist/cli/__tests__/resume.test.js.map +1 -1
  48. package/dist/cli/__tests__/session-scoped-runtime.test.js +113 -0
  49. package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
  50. package/dist/cli/__tests__/setup-install-mode.test.js +37 -0
  51. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  52. package/dist/cli/__tests__/ultragoal.test.js +22 -1
  53. package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
  54. package/dist/cli/__tests__/version.test.js +13 -1
  55. package/dist/cli/__tests__/version.test.js.map +1 -1
  56. package/dist/cli/auth.d.ts +1 -1
  57. package/dist/cli/auth.d.ts.map +1 -1
  58. package/dist/cli/auth.js +49 -9
  59. package/dist/cli/auth.js.map +1 -1
  60. package/dist/cli/index.d.ts +27 -4
  61. package/dist/cli/index.d.ts.map +1 -1
  62. package/dist/cli/index.js +263 -36
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/cli/mission.d.ts +36 -0
  65. package/dist/cli/mission.d.ts.map +1 -0
  66. package/dist/cli/mission.js +443 -0
  67. package/dist/cli/mission.js.map +1 -0
  68. package/dist/cli/plugin-marketplace.d.ts.map +1 -1
  69. package/dist/cli/plugin-marketplace.js +22 -1
  70. package/dist/cli/plugin-marketplace.js.map +1 -1
  71. package/dist/cli/ralph.d.ts.map +1 -1
  72. package/dist/cli/ralph.js +4 -0
  73. package/dist/cli/ralph.js.map +1 -1
  74. package/dist/cli/setup.d.ts.map +1 -1
  75. package/dist/cli/setup.js +3 -1
  76. package/dist/cli/setup.js.map +1 -1
  77. package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js +7 -0
  78. package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js.map +1 -1
  79. package/dist/goal-workflows/codex-goal-snapshot.js +1 -1
  80. package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -1
  81. package/dist/hooks/__tests__/autopilot-skill-contract.test.js +12 -0
  82. package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
  83. package/dist/hooks/__tests__/keyword-detector.test.js +267 -7
  84. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  85. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  86. package/dist/hooks/keyword-detector.js +143 -30
  87. package/dist/hooks/keyword-detector.js.map +1 -1
  88. package/dist/hud/__tests__/reconcile.test.js +121 -0
  89. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  90. package/dist/hud/__tests__/state.test.js +141 -6
  91. package/dist/hud/__tests__/state.test.js.map +1 -1
  92. package/dist/hud/__tests__/tmux.test.js +1 -1
  93. package/dist/hud/__tests__/tmux.test.js.map +1 -1
  94. package/dist/hud/reconcile.d.ts +3 -1
  95. package/dist/hud/reconcile.d.ts.map +1 -1
  96. package/dist/hud/reconcile.js +281 -151
  97. package/dist/hud/reconcile.js.map +1 -1
  98. package/dist/hud/render.d.ts.map +1 -1
  99. package/dist/hud/render.js +4 -2
  100. package/dist/hud/render.js.map +1 -1
  101. package/dist/hud/state.d.ts.map +1 -1
  102. package/dist/hud/state.js +51 -15
  103. package/dist/hud/state.js.map +1 -1
  104. package/dist/hud/tmux.d.ts.map +1 -1
  105. package/dist/hud/tmux.js +1 -4
  106. package/dist/hud/tmux.js.map +1 -1
  107. package/dist/hud/types.d.ts +5 -0
  108. package/dist/hud/types.d.ts.map +1 -1
  109. package/dist/hud/types.js.map +1 -1
  110. package/dist/leader/__tests__/contract.test.d.ts +2 -0
  111. package/dist/leader/__tests__/contract.test.d.ts.map +1 -0
  112. package/dist/leader/__tests__/contract.test.js +75 -0
  113. package/dist/leader/__tests__/contract.test.js.map +1 -0
  114. package/dist/leader/contract.d.ts +26 -0
  115. package/dist/leader/contract.d.ts.map +1 -0
  116. package/dist/leader/contract.js +97 -0
  117. package/dist/leader/contract.js.map +1 -0
  118. package/dist/mcp/__tests__/state-paths.test.js +32 -1
  119. package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
  120. package/dist/mcp/state-paths.d.ts +4 -0
  121. package/dist/mcp/state-paths.d.ts.map +1 -1
  122. package/dist/mcp/state-paths.js +6 -15
  123. package/dist/mcp/state-paths.js.map +1 -1
  124. package/dist/modes/base.d.ts.map +1 -1
  125. package/dist/modes/base.js +22 -7
  126. package/dist/modes/base.js.map +1 -1
  127. package/dist/notifications/__tests__/dispatcher.test.js +16 -0
  128. package/dist/notifications/__tests__/dispatcher.test.js.map +1 -1
  129. package/dist/notifications/__tests__/profiles.test.js +87 -0
  130. package/dist/notifications/__tests__/profiles.test.js.map +1 -1
  131. package/dist/notifications/config.d.ts +1 -0
  132. package/dist/notifications/config.d.ts.map +1 -1
  133. package/dist/notifications/config.js +60 -22
  134. package/dist/notifications/config.js.map +1 -1
  135. package/dist/notifications/dispatcher.d.ts.map +1 -1
  136. package/dist/notifications/dispatcher.js +6 -16
  137. package/dist/notifications/dispatcher.js.map +1 -1
  138. package/dist/pipeline/__tests__/stages.test.js +2 -0
  139. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  140. package/dist/pipeline/stages/ultragoal.d.ts.map +1 -1
  141. package/dist/pipeline/stages/ultragoal.js +6 -1
  142. package/dist/pipeline/stages/ultragoal.js.map +1 -1
  143. package/dist/question/__tests__/renderer.test.js +58 -4
  144. package/dist/question/__tests__/renderer.test.js.map +1 -1
  145. package/dist/question/renderer.d.ts +1 -1
  146. package/dist/question/renderer.d.ts.map +1 -1
  147. package/dist/question/renderer.js +73 -5
  148. package/dist/question/renderer.js.map +1 -1
  149. package/dist/ralplan/__tests__/consensus-gate.test.js +193 -0
  150. package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
  151. package/dist/ralplan/__tests__/runtime.test.js +202 -0
  152. package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
  153. package/dist/ralplan/consensus-gate.js +24 -3
  154. package/dist/ralplan/consensus-gate.js.map +1 -1
  155. package/dist/ralplan/runtime.d.ts +7 -0
  156. package/dist/ralplan/runtime.d.ts.map +1 -1
  157. package/dist/ralplan/runtime.js +63 -4
  158. package/dist/ralplan/runtime.js.map +1 -1
  159. package/dist/scripts/__tests__/codex-native-hook.test.js +6935 -2681
  160. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  161. package/dist/scripts/codex-native-hook.d.ts +1 -0
  162. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  163. package/dist/scripts/codex-native-hook.js +4442 -187
  164. package/dist/scripts/codex-native-hook.js.map +1 -1
  165. package/dist/scripts/generate-catalog-docs.js +1 -0
  166. package/dist/scripts/generate-catalog-docs.js.map +1 -1
  167. package/dist/state/__tests__/operations.test.js +1424 -0
  168. package/dist/state/__tests__/operations.test.js.map +1 -1
  169. package/dist/state/__tests__/planning-gate.test.js +410 -0
  170. package/dist/state/__tests__/planning-gate.test.js.map +1 -1
  171. package/dist/state/__tests__/skill-active.test.js +59 -0
  172. package/dist/state/__tests__/skill-active.test.js.map +1 -1
  173. package/dist/state/operations.d.ts +10 -0
  174. package/dist/state/operations.d.ts.map +1 -1
  175. package/dist/state/operations.js +250 -14
  176. package/dist/state/operations.js.map +1 -1
  177. package/dist/state/skill-active.d.ts +4 -1
  178. package/dist/state/skill-active.d.ts.map +1 -1
  179. package/dist/state/skill-active.js +8 -6
  180. package/dist/state/skill-active.js.map +1 -1
  181. package/dist/state/workflow-transition.d.ts.map +1 -1
  182. package/dist/state/workflow-transition.js +642 -1
  183. package/dist/state/workflow-transition.js.map +1 -1
  184. package/dist/subagents/__tests__/tracker.test.js +248 -1
  185. package/dist/subagents/__tests__/tracker.test.js.map +1 -1
  186. package/dist/subagents/tracker.d.ts +60 -0
  187. package/dist/subagents/tracker.d.ts.map +1 -1
  188. package/dist/subagents/tracker.js +225 -1
  189. package/dist/subagents/tracker.js.map +1 -1
  190. package/dist/team/__tests__/model-contract.test.js +72 -4
  191. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  192. package/dist/team/__tests__/runtime.test.js +44 -2
  193. package/dist/team/__tests__/runtime.test.js.map +1 -1
  194. package/dist/team/__tests__/tmux-session.test.js +127 -8
  195. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  196. package/dist/team/__tests__/worker-runtime-identity.test.js +89 -0
  197. package/dist/team/__tests__/worker-runtime-identity.test.js.map +1 -1
  198. package/dist/team/model-contract.d.ts +3 -0
  199. package/dist/team/model-contract.d.ts.map +1 -1
  200. package/dist/team/model-contract.js +42 -5
  201. package/dist/team/model-contract.js.map +1 -1
  202. package/dist/team/runtime.d.ts +2 -1
  203. package/dist/team/runtime.d.ts.map +1 -1
  204. package/dist/team/runtime.js +21 -11
  205. package/dist/team/runtime.js.map +1 -1
  206. package/dist/team/scaling.d.ts.map +1 -1
  207. package/dist/team/scaling.js +13 -11
  208. package/dist/team/scaling.js.map +1 -1
  209. package/dist/team/tmux-session.d.ts +1 -0
  210. package/dist/team/tmux-session.d.ts.map +1 -1
  211. package/dist/team/tmux-session.js +63 -13
  212. package/dist/team/tmux-session.js.map +1 -1
  213. package/dist/ultragoal/__tests__/artifacts.test.js +21 -4
  214. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  215. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  216. package/dist/ultragoal/artifacts.js +75 -5
  217. package/dist/ultragoal/artifacts.js.map +1 -1
  218. package/dist/utils/__tests__/agents-model-table.test.js +2 -2
  219. package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
  220. package/package.json +1 -1
  221. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  222. package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +19 -7
  223. package/plugins/oh-my-codex/skills/code-review/SKILL.md +16 -0
  224. package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +23 -0
  225. package/plugins/oh-my-codex/skills/ultrawork/references/agent-tiers.md +3 -2
  226. package/skills/code-review/SKILL.md +16 -0
  227. package/skills/ecomode/references/agent-tiers.md +1 -1
  228. package/skills/ultragoal/SKILL.md +23 -0
  229. package/skills/ultrawork/references/agent-tiers.md +3 -2
  230. package/src/scripts/__tests__/codex-native-hook.test.ts +14843 -9586
  231. package/src/scripts/codex-native-hook.ts +4520 -194
  232. package/src/scripts/generate-catalog-docs.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tmux.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/tmux.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/tmux.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { type TmuxPaneSnapshot } from './tmux.js';
3
3
  import { resolveOmxCliEntryPath } from '../utils/paths.js';
4
4
  export declare const OMX_TMUX_HUD_OWNER_ENV = "OMX_TMUX_HUD_OWNER";
5
5
  export interface ReconcileHudForPromptSubmitResult {
6
- status: 'skipped_not_tmux' | 'skipped_no_entry' | 'skipped_not_omx_owned_tmux' | 'skipped_no_session_id' | 'skipped_window_too_cramped' | 'unchanged' | 'resized' | 'recreated' | 'replaced_duplicates' | 'failed';
6
+ status: 'skipped_not_tmux' | 'skipped_no_entry' | 'skipped_not_omx_owned_tmux' | 'skipped_no_session_id' | 'skipped_window_too_cramped' | 'unchanged' | 'resized' | 'recreated' | 'replaced_duplicates' | 'skipped_concurrent' | 'failed';
7
7
  paneId: string | null;
8
8
  desiredHeight: number | null;
9
9
  duplicateCount: number;
@@ -32,6 +32,8 @@ export interface ReconcileHudForPromptSubmitDeps {
32
32
  width: number | null;
33
33
  height: number | null;
34
34
  };
35
+ nowMs?: () => number;
36
+ isProcessLive?: (pid: number) => boolean | null;
35
37
  }
36
38
  export declare function reconcileHudForPromptSubmit(cwd: string, deps?: ReconcileHudForPromptSubmitDeps): Promise<ReconcileHudForPromptSubmitResult>;
37
39
  //# sourceMappingURL=reconcile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/hud/reconcile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAcL,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AA0F3D,MAAM,WAAW,iCAAiC;IAChD,MAAM,EACF,kBAAkB,GAClB,kBAAkB,GAClB,4BAA4B,GAC5B,uBAAuB,GACvB,4BAA4B,GAC5B,WAAW,GACX,SAAS,GACT,WAAW,GACX,qBAAqB,GACrB,QAAQ,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IACxE,kBAAkB,CAAC,EAAE,CACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3E,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAClE,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,KAChD,OAAO,CAAC;IACb,uBAAuB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;IACxE,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACrG;AAyED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,+BAAoC,GACzC,OAAO,CAAC,iCAAiC,CAAC,CA+N5C"}
1
+ {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/hud/reconcile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAcL,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AA0F3D,MAAM,WAAW,iCAAiC;IAChD,MAAM,EACF,kBAAkB,GAClB,kBAAkB,GAClB,4BAA4B,GAC5B,uBAAuB,GACvB,4BAA4B,GAC5B,WAAW,GACX,SAAS,GACT,WAAW,GACX,qBAAqB,GACrB,oBAAoB,GACpB,QAAQ,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IACxE,kBAAkB,CAAC,EAAE,CACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3E,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAClE,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,YAAY,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,KAChD,OAAO,CAAC;IACb,uBAAuB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;IACxE,qBAAqB,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACpG,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;CACjD;AA0MD,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,+BAAoC,GACzC,OAAO,CAAC,iCAAiC,CAAC,CAuP5C"}
@@ -1,3 +1,6 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';
3
+ import { dirname, join } from 'node:path';
1
4
  import { readAllState, readHudConfig } from './state.js';
2
5
  import { getHudRenderMaxLines } from './render.js';
3
6
  import { HUD_TMUX_HEIGHT_LINES, isTmuxWindowTooCrampedForHudSplit } from './constants.js';
@@ -131,6 +134,114 @@ function planOwnedHudPaneDedupe(panes, currentPaneId, owner, preferredPaneId) {
131
134
  duplicatePaneIds: ownedPaneIds.filter((paneId) => paneId !== keeperPaneId),
132
135
  };
133
136
  }
137
+ const HUD_RECONCILE_LOCK_STALE_MS = 10_000;
138
+ function parseIsoMs(value) {
139
+ if (typeof value !== 'string' || !value.trim())
140
+ return null;
141
+ const parsed = Date.parse(value);
142
+ return Number.isFinite(parsed) ? parsed : null;
143
+ }
144
+ function defaultIsProcessLive(pid) {
145
+ try {
146
+ process.kill(pid, 0);
147
+ return true;
148
+ }
149
+ catch (error) {
150
+ const code = error?.code;
151
+ if (code === 'ESRCH')
152
+ return false;
153
+ if (code === 'EPERM')
154
+ return true;
155
+ return null;
156
+ }
157
+ }
158
+ async function readHudReconcileLockOwner(lockPath) {
159
+ return readFile(join(lockPath, 'owner.json'), 'utf-8')
160
+ .then((content) => JSON.parse(content))
161
+ .catch(() => null);
162
+ }
163
+ async function tryCreateHudReconcileLock(lockPath, nowMs) {
164
+ const token = randomUUID();
165
+ let createdDir = false;
166
+ try {
167
+ await mkdir(lockPath, { recursive: false });
168
+ createdDir = true;
169
+ await writeFile(join(lockPath, 'owner.json'), JSON.stringify({
170
+ token,
171
+ pid: process.pid,
172
+ acquired_at: new Date(nowMs).toISOString(),
173
+ }, null, 2));
174
+ return { path: lockPath, token };
175
+ }
176
+ catch {
177
+ if (createdDir)
178
+ await rm(lockPath, { recursive: true, force: true }).catch(() => { });
179
+ return null;
180
+ }
181
+ }
182
+ async function restoreMovedLock(fromPath, toPath) {
183
+ const restored = await rename(fromPath, toPath).then(() => true).catch(() => false);
184
+ if (!restored)
185
+ await rm(fromPath, { recursive: true, force: true }).catch(() => { });
186
+ }
187
+ async function acquireHudReconcileLock(lockPath, nowMs, staleMs, isProcessLive) {
188
+ const created = await tryCreateHudReconcileLock(lockPath, nowMs);
189
+ if (created)
190
+ return created;
191
+ const observedOwner = await readHudReconcileLockOwner(lockPath);
192
+ const lockStat = await stat(lockPath).catch(() => null);
193
+ if (!lockStat)
194
+ return null;
195
+ const ownerPid = typeof observedOwner?.pid === 'number' && Number.isInteger(observedOwner.pid) && observedOwner.pid > 0
196
+ ? observedOwner.pid
197
+ : null;
198
+ const ownerAcquiredMs = parseIsoMs(observedOwner?.acquired_at);
199
+ const lockAgeMs = ownerAcquiredMs === null ? nowMs - lockStat.mtimeMs : nowMs - ownerAcquiredMs;
200
+ if (lockAgeMs <= staleMs)
201
+ return null;
202
+ if (ownerPid !== null) {
203
+ const liveness = isProcessLive(ownerPid);
204
+ if (liveness !== false)
205
+ return null;
206
+ }
207
+ const reapPath = `${lockPath}.stale.${process.pid}.${nowMs}.${randomUUID()}`;
208
+ try {
209
+ await rename(lockPath, reapPath);
210
+ }
211
+ catch {
212
+ return null;
213
+ }
214
+ const reapedOwner = await readHudReconcileLockOwner(reapPath);
215
+ const reapedStat = await stat(reapPath).catch(() => null);
216
+ const reapedOwnerAcquiredMs = parseIsoMs(reapedOwner?.acquired_at);
217
+ const reapedAgeMs = reapedOwnerAcquiredMs === null && reapedStat
218
+ ? nowMs - reapedStat.mtimeMs
219
+ : reapedOwnerAcquiredMs === null ? 0 : nowMs - reapedOwnerAcquiredMs;
220
+ const reapedObservedLock = observedOwner?.token === reapedOwner?.token
221
+ && reapedStat?.mtimeMs === lockStat.mtimeMs
222
+ && reapedAgeMs > staleMs;
223
+ if (!reapedObservedLock) {
224
+ await restoreMovedLock(reapPath, lockPath);
225
+ return null;
226
+ }
227
+ await rm(reapPath, { recursive: true, force: true }).catch(() => { });
228
+ return tryCreateHudReconcileLock(lockPath, nowMs);
229
+ }
230
+ async function releaseHudReconcileLock(lock) {
231
+ const releasePath = `${lock.path}.release.${process.pid}.${Date.now()}.${lock.token}`;
232
+ try {
233
+ await rename(lock.path, releasePath);
234
+ }
235
+ catch {
236
+ return;
237
+ }
238
+ const releaseOwner = await readHudReconcileLockOwner(releasePath);
239
+ if (releaseOwner?.token === lock.token) {
240
+ await rm(releasePath, { recursive: true, force: true }).catch(() => { });
241
+ return;
242
+ }
243
+ await restoreMovedLock(releasePath, lock.path);
244
+ }
134
245
  export async function reconcileHudForPromptSubmit(cwd, deps = {}) {
135
246
  const env = deps.env ?? process.env;
136
247
  if (!env.TMUX) {
@@ -163,178 +274,197 @@ export async function reconcileHudForPromptSubmit(cwd, deps = {}) {
163
274
  const createPane = deps.createHudWatchPane ?? ((hudCwd, hudCmd, options) => createHudWatchPane(hudCwd, hudCmd, options));
164
275
  const killPane = deps.killTmuxPane ?? ((paneId) => killTmuxPane(paneId));
165
276
  const resizePane = deps.resizeTmuxPane ?? ((paneId, lines) => resizeTmuxPane(paneId, lines));
166
- const currentPaneId = env.TMUX_PANE?.trim();
167
- const resolvedSessionId = deps.sessionId?.trim() || env.OMX_SESSION_ID?.trim() || undefined;
168
- const equivalentSessionIds = [
169
- resolvedSessionId,
170
- env.OMX_SESSION_ID?.trim(),
171
- ...(deps.sessionIds ?? []),
172
- ]
173
- .map((sessionId) => sessionId?.trim() ?? '')
174
- .filter((sessionId, index, sessionIds) => sessionId !== '' && sessionIds.indexOf(sessionId) === index);
175
- let panes = listPanes(currentPaneId);
176
- // Reclaim orphaned HUD panes left behind by a destroyed leader before deciding
177
- // whether a HUD already exists; otherwise dead-leader HUDs accumulate one per
178
- // prompt submit and the window fills with stacked HUD strips.
179
- const reapedOrphanPaneIds = reapOrphanedSessionHudPanes(panes, {
180
- sessionId: resolvedSessionId,
181
- sessionIds: equivalentSessionIds,
182
- currentPaneId,
183
- killPane,
184
- });
185
- if (reapedOrphanPaneIds.length > 0) {
186
- const reapedPaneIdSet = new Set(reapedOrphanPaneIds);
187
- panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
188
- }
189
- // A Codex self-update can restart/resume the leader in the same tmux pane with
190
- // a new OMX session id while the old HUD watcher stays alive. That stale HUD
191
- // still names the current leader pane, but with the previous session id, so it
192
- // does not match same-owner dedupe and the next launch would create a second HUD
193
- // beside it. Reap only HUDs tied to this exact leader pane; neighboring panes'
194
- // HUDs remain isolated by leaderPaneId.
195
- const reapedStaleLeaderPaneIds = reapStaleCurrentLeaderHudPanes(panes, {
196
- sessionIds: equivalentSessionIds,
197
- currentPaneId,
198
- killPane,
199
- });
200
- if (reapedStaleLeaderPaneIds.length > 0) {
201
- const reapedPaneIdSet = new Set(reapedStaleLeaderPaneIds);
202
- panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
203
- }
204
- const owner = {
205
- sessionId: resolvedSessionId,
206
- sessionIds: equivalentSessionIds,
207
- leaderPaneId: currentPaneId,
208
- };
209
- const hudPaneIds = [
210
- ...findHudWatchPaneIds(panes, currentPaneId, owner),
211
- ...findLegacyFocusedHudWatchPaneIds(panes, currentPaneId),
212
- ].filter((paneId, index, paneIds) => paneIds.indexOf(paneId) === index);
213
- const duplicateCount = Math.max(0, hudPaneIds.length - 1);
214
- const readHudConfigFn = deps.readHudConfig ?? readHudConfig;
215
- const hudConfig = await readHudConfigFn(cwd).catch(() => null);
216
- const readAllStateFn = deps.readAllState ?? readAllState;
217
- const hudState = hudConfig ? await readAllStateFn(cwd, hudConfig).catch(() => null) : null;
218
- const desiredHeight = hudState ? getHudRenderMaxLines(hudState) : HUD_TMUX_HEIGHT_LINES;
219
- const preset = hudConfig?.preset;
220
- const hudCmd = buildHudWatchCommand(omxBin, preset, resolvedSessionId, env.OMX_ROOT, currentPaneId, {
221
- omxStateRoot: env.OMX_STATE_ROOT,
222
- omxTeamStateRoot: env.OMX_TEAM_STATE_ROOT,
223
- rootSource: env.OMX_TEAM_STATE_ROOT ? 'team-env' : env.OMX_ROOT ? 'omx-root-env' : env.OMX_STATE_ROOT ? 'omx-state-root-env' : 'cwd-default',
224
- });
225
- const leaderPane = currentPaneId
226
- ? panes.find((pane) => pane.paneId === currentPaneId && !isHudWatchPane(pane))
227
- : undefined;
228
- const singleHudPane = hudPaneIds.length === 1
229
- ? panes.find((pane) => pane.paneId === hudPaneIds[0])
230
- : undefined;
231
- if (singleHudPane && !needsHudTopologyRecreate(singleHudPane, leaderPane)) {
232
- const shouldResize = needsHudHeightResize(singleHudPane, desiredHeight);
233
- const resized = shouldResize ? resizePane(singleHudPane.paneId, desiredHeight) : true;
234
- if (resized)
235
- ensureHudResizeHook(singleHudPane.paneId, currentPaneId, desiredHeight, cwd, deps);
277
+ const lockPath = join(cwd, '.omx', 'state', 'hud-reconcile.lock');
278
+ const lockDirReady = await mkdir(dirname(lockPath), { recursive: true }).then(() => true).catch(() => false);
279
+ const lock = lockDirReady
280
+ ? await acquireHudReconcileLock(lockPath, deps.nowMs?.() ?? Date.now(), HUD_RECONCILE_LOCK_STALE_MS, deps.isProcessLive ?? defaultIsProcessLive)
281
+ : null;
282
+ if (lockDirReady && !lock) {
236
283
  return {
237
- status: resized ? (shouldResize ? 'resized' : 'unchanged') : 'failed',
238
- paneId: singleHudPane.paneId,
239
- desiredHeight,
240
- duplicateCount,
284
+ status: 'skipped_concurrent',
285
+ paneId: null,
286
+ desiredHeight: null,
287
+ duplicateCount: 0,
241
288
  };
242
289
  }
243
- if (hudPaneIds.length > 1) {
244
- const hudPanes = hudPaneIds
245
- .map((paneId) => panes.find((pane) => pane.paneId === paneId))
246
- .filter((pane) => Boolean(pane));
247
- const keeperPane = hudPanes.find((pane) => !needsHudTopologyRecreate(pane, leaderPane));
248
- if (keeperPane) {
249
- for (const paneId of hudPaneIds.filter((paneId) => paneId !== keeperPane.paneId)) {
250
- killPane(paneId);
251
- }
252
- const resized = resizePane(keeperPane.paneId, desiredHeight);
290
+ try {
291
+ const currentPaneId = env.TMUX_PANE?.trim();
292
+ const resolvedSessionId = deps.sessionId?.trim() || env.OMX_SESSION_ID?.trim() || undefined;
293
+ const equivalentSessionIds = [
294
+ resolvedSessionId,
295
+ env.OMX_SESSION_ID?.trim(),
296
+ ...(deps.sessionIds ?? []),
297
+ ]
298
+ .map((sessionId) => sessionId?.trim() ?? '')
299
+ .filter((sessionId, index, sessionIds) => sessionId !== '' && sessionIds.indexOf(sessionId) === index);
300
+ let panes = listPanes(currentPaneId);
301
+ // Reclaim orphaned HUD panes left behind by a destroyed leader before deciding
302
+ // whether a HUD already exists; otherwise dead-leader HUDs accumulate one per
303
+ // prompt submit and the window fills with stacked HUD strips.
304
+ const reapedOrphanPaneIds = reapOrphanedSessionHudPanes(panes, {
305
+ sessionId: resolvedSessionId,
306
+ sessionIds: equivalentSessionIds,
307
+ currentPaneId,
308
+ killPane,
309
+ });
310
+ if (reapedOrphanPaneIds.length > 0) {
311
+ const reapedPaneIdSet = new Set(reapedOrphanPaneIds);
312
+ panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
313
+ }
314
+ // A Codex self-update can restart/resume the leader in the same tmux pane with
315
+ // a new OMX session id while the old HUD watcher stays alive. That stale HUD
316
+ // still names the current leader pane, but with the previous session id, so it
317
+ // does not match same-owner dedupe and the next launch would create a second HUD
318
+ // beside it. Reap only HUDs tied to this exact leader pane; neighboring panes'
319
+ // HUDs remain isolated by leaderPaneId.
320
+ const reapedStaleLeaderPaneIds = reapStaleCurrentLeaderHudPanes(panes, {
321
+ sessionIds: equivalentSessionIds,
322
+ currentPaneId,
323
+ killPane,
324
+ });
325
+ if (reapedStaleLeaderPaneIds.length > 0) {
326
+ const reapedPaneIdSet = new Set(reapedStaleLeaderPaneIds);
327
+ panes = panes.filter((pane) => !reapedPaneIdSet.has(pane.paneId));
328
+ }
329
+ const owner = {
330
+ sessionId: resolvedSessionId,
331
+ sessionIds: equivalentSessionIds,
332
+ leaderPaneId: currentPaneId,
333
+ };
334
+ const hudPaneIds = [
335
+ ...findHudWatchPaneIds(panes, currentPaneId, owner),
336
+ ...findLegacyFocusedHudWatchPaneIds(panes, currentPaneId),
337
+ ].filter((paneId, index, paneIds) => paneIds.indexOf(paneId) === index);
338
+ const duplicateCount = Math.max(0, hudPaneIds.length - 1);
339
+ const readHudConfigFn = deps.readHudConfig ?? readHudConfig;
340
+ const hudConfig = await readHudConfigFn(cwd).catch(() => null);
341
+ const readAllStateFn = deps.readAllState ?? readAllState;
342
+ const hudState = hudConfig ? await readAllStateFn(cwd, hudConfig).catch(() => null) : null;
343
+ const desiredHeight = hudState ? getHudRenderMaxLines(hudState) : HUD_TMUX_HEIGHT_LINES;
344
+ const preset = hudConfig?.preset;
345
+ const hudCmd = buildHudWatchCommand(omxBin, preset, resolvedSessionId, env.OMX_ROOT, currentPaneId, {
346
+ omxStateRoot: env.OMX_STATE_ROOT,
347
+ omxTeamStateRoot: env.OMX_TEAM_STATE_ROOT,
348
+ rootSource: env.OMX_TEAM_STATE_ROOT ? 'team-env' : env.OMX_ROOT ? 'omx-root-env' : env.OMX_STATE_ROOT ? 'omx-state-root-env' : 'cwd-default',
349
+ });
350
+ const leaderPane = currentPaneId
351
+ ? panes.find((pane) => pane.paneId === currentPaneId && !isHudWatchPane(pane))
352
+ : undefined;
353
+ const singleHudPane = hudPaneIds.length === 1
354
+ ? panes.find((pane) => pane.paneId === hudPaneIds[0])
355
+ : undefined;
356
+ if (singleHudPane && !needsHudTopologyRecreate(singleHudPane, leaderPane)) {
357
+ const shouldResize = needsHudHeightResize(singleHudPane, desiredHeight);
358
+ const resized = shouldResize ? resizePane(singleHudPane.paneId, desiredHeight) : true;
253
359
  if (resized)
254
- ensureHudResizeHook(keeperPane.paneId, currentPaneId, desiredHeight, cwd, deps);
360
+ ensureHudResizeHook(singleHudPane.paneId, currentPaneId, desiredHeight, cwd, deps);
255
361
  return {
256
- status: resized ? 'replaced_duplicates' : 'failed',
257
- paneId: keeperPane.paneId,
362
+ status: resized ? (shouldResize ? 'resized' : 'unchanged') : 'failed',
363
+ paneId: singleHudPane.paneId,
258
364
  desiredHeight,
259
365
  duplicateCount,
260
366
  };
261
367
  }
262
- }
263
- const createFullWidth = hudPaneIds
264
- .map((paneId) => panes.find((pane) => pane.paneId === paneId))
265
- .some((pane) => Boolean(pane && needsHudTopologyRecreate(pane, leaderPane)))
266
- && (!leaderPane || shouldCreateFullWidthHud(leaderPane));
267
- if (!resolvedSessionId) {
268
- return {
269
- status: 'skipped_no_session_id',
270
- paneId: null,
271
- desiredHeight,
272
- duplicateCount,
273
- };
274
- }
275
- // When there is no existing HUD pane to keep/recreate, this reconcile would
276
- // create a fresh HUD split. Mirror the launch-time guard: if the current tmux
277
- // window is too short, skip the split so the first prompt submit cannot
278
- // recreate the cramped, unreadable 2-line HUD the launch path already
279
- // declined to add. Default behavior is preserved for normal/unknown heights.
280
- // (closes #2754)
281
- if (hudPaneIds.length === 0 && (deps.readCurrentWindowSize || !deps.listCurrentWindowPanes)) {
282
- const readWindowSize = deps.readCurrentWindowSize ?? ((paneId) => readCurrentWindowSize(undefined, paneId));
283
- const windowHeight = readWindowSize(currentPaneId).height;
284
- if (isTmuxWindowTooCrampedForHudSplit(windowHeight)) {
368
+ if (hudPaneIds.length > 1) {
369
+ const hudPanes = hudPaneIds
370
+ .map((paneId) => panes.find((pane) => pane.paneId === paneId))
371
+ .filter((pane) => Boolean(pane));
372
+ const keeperPane = hudPanes.find((pane) => !needsHudTopologyRecreate(pane, leaderPane));
373
+ if (keeperPane) {
374
+ for (const paneId of hudPaneIds.filter((paneId) => paneId !== keeperPane.paneId)) {
375
+ killPane(paneId);
376
+ }
377
+ const resized = resizePane(keeperPane.paneId, desiredHeight);
378
+ if (resized)
379
+ ensureHudResizeHook(keeperPane.paneId, currentPaneId, desiredHeight, cwd, deps);
380
+ return {
381
+ status: resized ? 'replaced_duplicates' : 'failed',
382
+ paneId: keeperPane.paneId,
383
+ desiredHeight,
384
+ duplicateCount,
385
+ };
386
+ }
387
+ }
388
+ const createFullWidth = hudPaneIds
389
+ .map((paneId) => panes.find((pane) => pane.paneId === paneId))
390
+ .some((pane) => Boolean(pane && needsHudTopologyRecreate(pane, leaderPane)))
391
+ && (!leaderPane || shouldCreateFullWidthHud(leaderPane));
392
+ if (!resolvedSessionId) {
285
393
  return {
286
- status: 'skipped_window_too_cramped',
394
+ status: 'skipped_no_session_id',
287
395
  paneId: null,
288
396
  desiredHeight,
289
397
  duplicateCount,
290
398
  };
291
399
  }
292
- }
293
- const unregisterHook = deps.unregisterHudResizeHook ?? unregisterHudResizeHook;
294
- unregisterHook(currentPaneId);
295
- const removedHudPaneIds = new Set();
296
- for (const paneId of hudPaneIds) {
297
- if (killPane(paneId))
298
- removedHudPaneIds.add(paneId);
299
- }
300
- const createOptions = {
301
- heightLines: desiredHeight,
302
- targetPaneId: currentPaneId,
303
- };
304
- if (createFullWidth)
305
- createOptions.fullWidth = true;
306
- const paneId = createPane(cwd, hudCmd, createOptions);
307
- if (!paneId) {
308
- return {
309
- status: 'failed',
310
- paneId: null,
311
- desiredHeight,
312
- duplicateCount,
400
+ // When there is no existing HUD pane to keep/recreate, this reconcile would
401
+ // create a fresh HUD split. Mirror the launch-time guard: if the current tmux
402
+ // window is too short, skip the split so the first prompt submit cannot
403
+ // recreate the cramped, unreadable 2-line HUD the launch path already
404
+ // declined to add. Default behavior is preserved for normal/unknown heights.
405
+ // (closes #2754)
406
+ if (hudPaneIds.length === 0 && (deps.readCurrentWindowSize || !deps.listCurrentWindowPanes)) {
407
+ const readWindowSize = deps.readCurrentWindowSize ?? ((paneId) => readCurrentWindowSize(undefined, paneId));
408
+ const windowHeight = readWindowSize(currentPaneId).height;
409
+ if (isTmuxWindowTooCrampedForHudSplit(windowHeight)) {
410
+ return {
411
+ status: 'skipped_window_too_cramped',
412
+ paneId: null,
413
+ desiredHeight,
414
+ duplicateCount,
415
+ };
416
+ }
417
+ }
418
+ const unregisterHook = deps.unregisterHudResizeHook ?? unregisterHudResizeHook;
419
+ unregisterHook(currentPaneId);
420
+ const removedHudPaneIds = new Set();
421
+ for (const paneId of hudPaneIds) {
422
+ if (killPane(paneId))
423
+ removedHudPaneIds.add(paneId);
424
+ }
425
+ const createOptions = {
426
+ heightLines: desiredHeight,
427
+ targetPaneId: currentPaneId,
313
428
  };
314
- }
315
- // A launch-path restore and prompt-submit reconciliation can both observe
316
- // "no HUD" before either split-window has materialized. Re-scan after create
317
- // and collapse same-owner panes so the second creator cleans up the race
318
- // instead of leaving a duplicate HUD in the user window.
319
- const postCreate = planOwnedHudPaneDedupe(listPanes(currentPaneId).filter((pane) => !removedHudPaneIds.has(pane.paneId)), currentPaneId, owner, paneId);
320
- for (const duplicatePaneId of postCreate.duplicatePaneIds) {
321
- killPane(duplicatePaneId);
322
- }
323
- const resized = resizePane(postCreate.paneId, desiredHeight);
324
- if (!resized) {
429
+ if (createFullWidth)
430
+ createOptions.fullWidth = true;
431
+ const paneId = createPane(cwd, hudCmd, createOptions);
432
+ if (!paneId) {
433
+ return {
434
+ status: 'failed',
435
+ paneId: null,
436
+ desiredHeight,
437
+ duplicateCount,
438
+ };
439
+ }
440
+ // A launch-path restore and prompt-submit reconciliation can both observe
441
+ // "no HUD" before either split-window has materialized. Re-scan after create
442
+ // and collapse same-owner panes so the second creator cleans up the race
443
+ // instead of leaving a duplicate HUD in the user window.
444
+ const postCreate = planOwnedHudPaneDedupe(listPanes(currentPaneId).filter((pane) => !removedHudPaneIds.has(pane.paneId)), currentPaneId, owner, paneId);
445
+ for (const duplicatePaneId of postCreate.duplicatePaneIds) {
446
+ killPane(duplicatePaneId);
447
+ }
448
+ const resized = resizePane(postCreate.paneId, desiredHeight);
449
+ if (!resized) {
450
+ return {
451
+ status: 'failed',
452
+ paneId: postCreate.paneId,
453
+ desiredHeight,
454
+ duplicateCount: postCreate.duplicatePaneIds.length,
455
+ };
456
+ }
457
+ ensureHudResizeHook(postCreate.paneId, currentPaneId, desiredHeight, cwd, deps);
325
458
  return {
326
- status: 'failed',
459
+ status: postCreate.duplicatePaneIds.length > 0 || hudPaneIds.length > 1 ? 'replaced_duplicates' : 'recreated',
327
460
  paneId: postCreate.paneId,
328
461
  desiredHeight,
329
462
  duplicateCount: postCreate.duplicatePaneIds.length,
330
463
  };
331
464
  }
332
- ensureHudResizeHook(postCreate.paneId, currentPaneId, desiredHeight, cwd, deps);
333
- return {
334
- status: postCreate.duplicatePaneIds.length > 0 || hudPaneIds.length > 1 ? 'replaced_duplicates' : 'recreated',
335
- paneId: postCreate.paneId,
336
- desiredHeight,
337
- duplicateCount: postCreate.duplicatePaneIds.length,
338
- };
465
+ finally {
466
+ if (lock)
467
+ await releaseHudReconcileLock(lock);
468
+ }
339
469
  }
340
470
  //# sourceMappingURL=reconcile.js.map