oh-my-codex 0.16.2 → 0.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/dist/cli/__tests__/doctor-warning-copy.test.js +36 -0
  4. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  5. package/dist/cli/__tests__/index.test.js +173 -3
  6. package/dist/cli/__tests__/index.test.js.map +1 -1
  7. package/dist/cli/__tests__/launch-fallback.test.js +58 -0
  8. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  9. package/dist/cli/__tests__/ralph.test.js +1 -0
  10. package/dist/cli/__tests__/ralph.test.js.map +1 -1
  11. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +8 -0
  12. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
  13. package/dist/cli/__tests__/setup-install-mode.test.js +79 -2
  14. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  15. package/dist/cli/__tests__/team.test.js +161 -0
  16. package/dist/cli/__tests__/team.test.js.map +1 -1
  17. package/dist/cli/__tests__/uninstall.test.js +39 -1
  18. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  19. package/dist/cli/__tests__/update.test.js +109 -19
  20. package/dist/cli/__tests__/update.test.js.map +1 -1
  21. package/dist/cli/doctor.d.ts.map +1 -1
  22. package/dist/cli/doctor.js +17 -0
  23. package/dist/cli/doctor.js.map +1 -1
  24. package/dist/cli/index.d.ts.map +1 -1
  25. package/dist/cli/index.js +34 -4
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/setup.d.ts.map +1 -1
  28. package/dist/cli/setup.js +68 -4
  29. package/dist/cli/setup.js.map +1 -1
  30. package/dist/cli/team.d.ts.map +1 -1
  31. package/dist/cli/team.js +54 -15
  32. package/dist/cli/team.js.map +1 -1
  33. package/dist/cli/uninstall.d.ts.map +1 -1
  34. package/dist/cli/uninstall.js +67 -5
  35. package/dist/cli/uninstall.js.map +1 -1
  36. package/dist/cli/update.d.ts +10 -2
  37. package/dist/cli/update.d.ts.map +1 -1
  38. package/dist/cli/update.js +99 -5
  39. package/dist/cli/update.js.map +1 -1
  40. package/dist/config/__tests__/codex-hooks.test.js +181 -4
  41. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  42. package/dist/config/__tests__/generator-idempotent.test.js +59 -1
  43. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  44. package/dist/config/__tests__/generator-notify.test.js +39 -3
  45. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  46. package/dist/config/codex-hooks.d.ts +38 -4
  47. package/dist/config/codex-hooks.d.ts.map +1 -1
  48. package/dist/config/codex-hooks.js +181 -17
  49. package/dist/config/codex-hooks.js.map +1 -1
  50. package/dist/config/generator.d.ts +9 -0
  51. package/dist/config/generator.d.ts.map +1 -1
  52. package/dist/config/generator.js +176 -38
  53. package/dist/config/generator.js.map +1 -1
  54. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +29 -1
  55. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  56. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +10 -0
  57. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  58. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +1 -0
  59. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
  60. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.d.ts +2 -0
  61. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.d.ts.map +1 -0
  62. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js +52 -0
  63. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js.map +1 -0
  64. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +148 -0
  65. package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -1
  66. package/dist/hooks/__tests__/notify-hook-session-scope.test.js +3 -0
  67. package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
  68. package/dist/hooks/__tests__/wiki-docs-contract.test.js +1 -2
  69. package/dist/hooks/__tests__/wiki-docs-contract.test.js.map +1 -1
  70. package/dist/planning/__tests__/artifacts.test.js +64 -0
  71. package/dist/planning/__tests__/artifacts.test.js.map +1 -1
  72. package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts +2 -0
  73. package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts.map +1 -0
  74. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js +90 -0
  75. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js.map +1 -0
  76. package/dist/planning/artifacts.d.ts +7 -2
  77. package/dist/planning/artifacts.d.ts.map +1 -1
  78. package/dist/planning/artifacts.js +62 -8
  79. package/dist/planning/artifacts.js.map +1 -1
  80. package/dist/planning/context-pack-status.d.ts +6 -0
  81. package/dist/planning/context-pack-status.d.ts.map +1 -1
  82. package/dist/planning/context-pack-status.js +25 -0
  83. package/dist/planning/context-pack-status.js.map +1 -1
  84. package/dist/ralph/persistence.d.ts +1 -1
  85. package/dist/ralph/persistence.d.ts.map +1 -1
  86. package/dist/ralph/persistence.js +8 -2
  87. package/dist/ralph/persistence.js.map +1 -1
  88. package/dist/scripts/__tests__/codex-native-hook.test.js +139 -11
  89. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  90. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  91. package/dist/scripts/codex-native-hook.js +9 -22
  92. package/dist/scripts/codex-native-hook.js.map +1 -1
  93. package/dist/scripts/notify-dispatcher.d.ts +7 -0
  94. package/dist/scripts/notify-dispatcher.d.ts.map +1 -0
  95. package/dist/scripts/notify-dispatcher.js +58 -0
  96. package/dist/scripts/notify-dispatcher.js.map +1 -0
  97. package/dist/scripts/notify-fallback-watcher.js +4 -0
  98. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  99. package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -1
  100. package/dist/scripts/notify-hook/ralph-session-resume.js +96 -8
  101. package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -1
  102. package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
  103. package/dist/scripts/notify-hook/state-io.js +6 -2
  104. package/dist/scripts/notify-hook/state-io.js.map +1 -1
  105. package/dist/scripts/notify-hook/visual-verdict.js +3 -3
  106. package/dist/scripts/notify-hook/visual-verdict.js.map +1 -1
  107. package/dist/scripts/notify-hook.js +124 -0
  108. package/dist/scripts/notify-hook.js.map +1 -1
  109. package/dist/team/__tests__/approved-execution.test.js +45 -1
  110. package/dist/team/__tests__/approved-execution.test.js.map +1 -1
  111. package/dist/team/__tests__/runtime.test.js +173 -19
  112. package/dist/team/__tests__/runtime.test.js.map +1 -1
  113. package/dist/team/__tests__/worker-bootstrap.test.js +37 -0
  114. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  115. package/dist/team/approved-execution.d.ts +1 -0
  116. package/dist/team/approved-execution.d.ts.map +1 -1
  117. package/dist/team/approved-execution.js +50 -0
  118. package/dist/team/approved-execution.js.map +1 -1
  119. package/dist/team/delivery-log.d.ts.map +1 -1
  120. package/dist/team/delivery-log.js +8 -1
  121. package/dist/team/delivery-log.js.map +1 -1
  122. package/dist/team/runtime.d.ts.map +1 -1
  123. package/dist/team/runtime.js +104 -18
  124. package/dist/team/runtime.js.map +1 -1
  125. package/dist/team/state/mailbox.d.ts +1 -0
  126. package/dist/team/state/mailbox.d.ts.map +1 -1
  127. package/dist/team/state/mailbox.js +10 -1
  128. package/dist/team/state/mailbox.js.map +1 -1
  129. package/dist/team/state-root.js +1 -1
  130. package/dist/team/state-root.js.map +1 -1
  131. package/dist/team/state.d.ts.map +1 -1
  132. package/dist/team/state.js +2 -2
  133. package/dist/team/state.js.map +1 -1
  134. package/dist/team/worker-bootstrap.d.ts +7 -2
  135. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  136. package/dist/team/worker-bootstrap.js +17 -4
  137. package/dist/team/worker-bootstrap.js.map +1 -1
  138. package/package.json +1 -1
  139. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  140. package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +1 -1
  141. package/skills/omx-setup/SKILL.md +1 -1
  142. package/src/scripts/__tests__/codex-native-hook.test.ts +158 -11
  143. package/src/scripts/codex-native-hook.ts +8 -21
  144. package/src/scripts/notify-dispatcher.ts +74 -0
  145. package/src/scripts/notify-fallback-watcher.ts +6 -2
  146. package/src/scripts/notify-hook/ralph-session-resume.ts +117 -8
  147. package/src/scripts/notify-hook/state-io.ts +4 -2
  148. package/src/scripts/notify-hook/visual-verdict.ts +3 -3
  149. package/src/scripts/notify-hook.ts +116 -0
package/Cargo.lock CHANGED
@@ -32,14 +32,14 @@ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
32
32
 
33
33
  [[package]]
34
34
  name = "omx-explore-harness"
35
- version = "0.16.2"
35
+ version = "0.16.3"
36
36
  dependencies = [
37
37
  "libc",
38
38
  ]
39
39
 
40
40
  [[package]]
41
41
  name = "omx-mux"
42
- version = "0.16.2"
42
+ version = "0.16.3"
43
43
  dependencies = [
44
44
  "serde",
45
45
  "serde_json",
@@ -47,7 +47,7 @@ dependencies = [
47
47
 
48
48
  [[package]]
49
49
  name = "omx-runtime"
50
- version = "0.16.2"
50
+ version = "0.16.3"
51
51
  dependencies = [
52
52
  "omx-mux",
53
53
  "omx-runtime-core",
@@ -56,7 +56,7 @@ dependencies = [
56
56
 
57
57
  [[package]]
58
58
  name = "omx-runtime-core"
59
- version = "0.16.2"
59
+ version = "0.16.3"
60
60
  dependencies = [
61
61
  "fs2",
62
62
  "serde",
@@ -65,7 +65,7 @@ dependencies = [
65
65
 
66
66
  [[package]]
67
67
  name = "omx-sparkshell"
68
- version = "0.16.2"
68
+ version = "0.16.3"
69
69
  dependencies = [
70
70
  "omx-mux",
71
71
  ]
package/Cargo.toml CHANGED
@@ -10,7 +10,7 @@ resolver = "2"
10
10
 
11
11
  [workspace.package]
12
12
 
13
- version = "0.16.2"
13
+ version = "0.16.3"
14
14
 
15
15
  edition = "2021"
16
16
  rust-version = "1.73"
@@ -387,6 +387,42 @@ OMX_LORE_COMMIT_GUARD = "off"
387
387
  await rm(wd, { recursive: true, force: true });
388
388
  }
389
389
  });
390
+ it("warns when runtime codex-home hooks.json symlinks back to project hooks", async () => {
391
+ const wd = await mkdtemp(join(tmpdir(), "omx-doctor-hooks-runtime-mirror-"));
392
+ try {
393
+ const codexDir = join(wd, ".codex");
394
+ const runtimeSessionDir = join(wd, ".omx", "runtime", "codex-home", "session-1");
395
+ await mkdir(codexDir, { recursive: true });
396
+ await mkdir(runtimeSessionDir, { recursive: true });
397
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "project" }));
398
+ const managedEntry = {
399
+ hooks: [
400
+ {
401
+ type: "command",
402
+ command: 'node "/repo/dist/scripts/codex-native-hook.js"',
403
+ },
404
+ ],
405
+ };
406
+ await writeFile(join(codexDir, "hooks.json"), JSON.stringify({
407
+ hooks: {
408
+ SessionStart: [managedEntry],
409
+ PreToolUse: [managedEntry],
410
+ PostToolUse: [managedEntry],
411
+ UserPromptSubmit: [managedEntry],
412
+ Stop: [managedEntry],
413
+ },
414
+ }, null, 2) + "\n");
415
+ await symlink(join(codexDir, "hooks.json"), join(runtimeSessionDir, "hooks.json"));
416
+ const res = runOmx(wd, ["doctor"]);
417
+ if (shouldSkipForSpawnPermissions(res.error))
418
+ return;
419
+ assert.equal(res.status, 0, res.stderr || res.stdout);
420
+ assert.match(res.stdout, /Native hook runtime mirrors: \.omx\/runtime\/codex-home contains 1 hooks\.json runtime mirror skipped by hook discovery/);
421
+ }
422
+ finally {
423
+ await rm(wd, { recursive: true, force: true });
424
+ }
425
+ });
390
426
  it("warns when hooks.json is missing after OMX config was already installed", async () => {
391
427
  const wd = await mkdtemp(join(tmpdir(), "omx-doctor-hooks-missing-"));
392
428
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-warning-copy.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/doctor-warning-copy.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACN,KAAK,EACL,OAAO,EAEP,EAAE,EACF,OAAO,EACP,SAAS,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACN,gCAAgC,EAChC,8BAA8B,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,SAAS,MAAM,CACd,GAAW,EACX,IAAc,EACd,eAAuC,EAAE;IAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IACtD,IACC,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ;QACrC,OAAO,YAAY,CAAC,WAAW,KAAK,QAAQ,EAC3C,CAAC;QACF,SAAS,CAAC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAC3C,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE;QACxD,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,SAAS;KACd,CAAC,CAAC;IACH,OAAO;QACN,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO;KACvB,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAY;IAClD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QAC1E,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAuB,CAAC,CAAC;QAEpE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CACd,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC7B;;;CAGH,CAAC,SAAS,EAAE,CACT,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,kHAAkH,CAClH,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,6GAA6G,CAC7G,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,MAAM,QAAQ,GAAG,MAAM,CACtB,EAAE,EACF,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EACnD;gBACC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CACD,CAAC;YACF,IAAI,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC1D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;YAErE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,iHAAiH,CACjH,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,qFAAqF,CACrF,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,gHAAgH,CAChH,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;YACxE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;YACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;YACpE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,MAAM,QAAQ,GAAG,MAAM,CACtB,EAAE,EACF,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,EACtD;gBACC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CACD,CAAC;YACF,IAAI,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC1D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;YAErE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,iEAAiE,CACjE,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,uEAAuE,CACvE,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,qFAAqF,CACrF,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,iHAAiH,CACjH,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,gHAAgH,CAChH,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;YACxE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;YACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CACd,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB,CAAC,EACpC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,IAAI,CACL,CAAC;YACF,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAEvE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,2HAA2H,CAC3H,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;YACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CACd,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC7B;;;;;CAKH,CAAC,SAAS,EAAE,CACT,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,iHAAiH,CACjH,CAAC;YACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,6IAA6I,CAC7I,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;YACxE,MAAM,CAAC,YAAY,CAClB,GAAG,CAAC,MAAM,EACV,6GAA6G,CAC7G,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC;YACJ,MAAM,gCAAgC,CAAC,KAAK,IAAI,EAAE;gBACjD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM,SAAS,CACd,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EACtB,gCAAgC,CAChC,CAAC;gBACF,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE;oBAClD,QAAQ,EAAE,OAAO;iBACjB,CAAC,CAAC;gBAEH,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;oBAClC,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;oBAChC,IAAI,EAAE,OAAO;iBACb,CAAC,CAAC;gBACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,OAAO;gBACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,4OAA4O,CAC5O,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACzG,MAAM,8BAA8B,CAAC,KAAK,IAAI,EAAE;YAC/C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM,cAAc,GAAG,IAAI,CAC1B,aAAa,EACb,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAC3B,CAAC,CAAC,yBAAyB;oBAC3B,CAAC,CAAC,qBAAqB,CACxB,CAAC;gBACF,MAAM,YAAY,GAAG,IAAI,CACxB,aAAa,EACb,+BAA+B,CAC/B,CAAC;gBACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;gBACrD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;gBAEjD,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM,SAAS,CACd,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EACtB,gCAAgC,CAChC,CAAC;gBACF,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE;oBAClD,QAAQ,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACpD,MAAM,cAAc,GAAG,iBAAiB;oBACvC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC3C,CAAC,CAAC,IAAI,CAAC;gBACR,MAAM,YAAY,GAAG,eAAe;oBACnC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;oBAClD,CAAC,CAAC,IAAI,CAAC;gBACR,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,SAAS,CAAC,cAAc,EAAE,kCAAkC,CAAC,CAAC;gBACpE,MAAM,SAAS,CACd,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC;oBACd,UAAU,EACT,OAAO,CAAC,QAAQ,KAAK,OAAO;wBAC3B,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,qBAAqB;oBACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;iBAClB,CAAC,CACF,CAAC;gBACF,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBAElE,IAAI,CAAC;oBACJ,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;wBAClC,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;wBAChC,IAAI,EAAE,OAAO;qBACb,CAAC,CAAC;oBACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;wBAAE,OAAO;oBACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,kDAAkD,CAClD,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACV,IAAI,cAAc,EAAE,CAAC;wBACpB,MAAM,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;wBAChD,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACP,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3C,CAAC;oBACD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;wBAC3B,MAAM,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACP,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,CAAC;gBACF,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CACd,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC7B;;;CAGH,CAAC,SAAS,EAAE,CACT,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,2JAA2J,CAC3J,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CACd,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC7B;;;CAGH,CAAC,SAAS,EAAE,CACT,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;aAChC,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,iKAAiK,CACjK,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACvE,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACvE,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAEjE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,iOAAiO,CACjO,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CACd,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAC5B,IAAI,CAAC,SAAS,CACb;gBACC,KAAK,EAAE;oBACN,YAAY,EAAE;wBACb;4BACC,KAAK,EAAE;gCACN;oCACC,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,gDAAgD;iCACzD;6BACD;yBACD;qBACD;iBACD;aACD,EACD,IAAI,EACJ,CAAC,CACD,GAAG,IAAI,CACR,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,yLAAyL,CACzL,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CACd,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC7B;;;;CAIH,CAAC,SAAS,EAAE,CACT,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,uIAAuI,CACvI,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAEjE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,iHAAiH,CACjH,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACvE,MAAM,OAAO,CACZ,mBAAmB,EACnB,UAAU,EACV,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CACjD,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAClC,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YACrD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,EACV,gIAAgI,CAChI,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAC/D,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"doctor-warning-copy.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/doctor-warning-copy.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { afterEach, describe, it, mock } from "node:test";
2
2
  import assert from "node:assert/strict";
3
3
  import { existsSync, mkdirSync, utimesSync } from "node:fs";
4
- import { chmod, mkdir, mkdtemp, readFile, rm, stat, writeFile } from "node:fs/promises";
4
+ import { chmod, lstat, mkdir, mkdtemp, readFile, rm, stat, writeFile } from "node:fs/promises";
5
5
  import { dirname, join } from "node:path";
6
6
  import { tmpdir } from "node:os";
7
7
  import { fileURLToPath } from "node:url";
@@ -450,6 +450,32 @@ describe("cleanupPostLaunchModeStateFiles", () => {
450
450
  }
451
451
  assert.deepEqual(warnings, []);
452
452
  });
453
+ it("marks active Ralph state cancelled with interrupted metadata during postLaunch cleanup", async () => {
454
+ const wd = await mkdtemp(join(tmpdir(), "omx-postlaunch-ralph-interrupted-"));
455
+ const sessionId = "sess-postlaunch-ralph-interrupted";
456
+ const sessionStateDir = join(wd, ".omx", "state", "sessions", sessionId);
457
+ await mkdir(sessionStateDir, { recursive: true });
458
+ await writeFile(join(sessionStateDir, "ralph-state.json"), JSON.stringify({
459
+ active: true,
460
+ mode: "ralph",
461
+ current_phase: "executing",
462
+ owner_omx_session_id: sessionId,
463
+ }, null, 2), "utf-8");
464
+ try {
465
+ await cleanupPostLaunchModeStateFiles(wd, sessionId, {
466
+ now: () => new Date("2026-05-09T08:00:00.000Z"),
467
+ });
468
+ const ralph = JSON.parse(await readFile(join(sessionStateDir, "ralph-state.json"), "utf-8"));
469
+ assert.equal(ralph.active, false);
470
+ assert.equal(ralph.current_phase, "cancelled");
471
+ assert.equal(ralph.completed_at, "2026-05-09T08:00:00.000Z");
472
+ assert.equal(ralph.interrupted_at, "2026-05-09T08:00:00.000Z");
473
+ assert.equal(ralph.stop_reason, "session_exit");
474
+ }
475
+ finally {
476
+ await rm(wd, { recursive: true, force: true });
477
+ }
478
+ });
453
479
  it("does not cancel root mode state during session-scoped postLaunch cleanup", async () => {
454
480
  const wd = await mkdtemp(join(tmpdir(), "omx-postlaunch-root-preserve-"));
455
481
  const sessionId = "sess-postlaunch-root-preserve";
@@ -1089,6 +1115,7 @@ describe("project launch scope helpers", () => {
1089
1115
  ].join("\n");
1090
1116
  await writeFile(configPath, originalConfig);
1091
1117
  await writeFile(join(projectCodexHome, "agents", "planner.toml"), 'name = "planner"\n');
1118
+ await writeFile(join(projectCodexHome, "hooks.json"), '{"hooks":{}}\n');
1092
1119
  await writeFile(join(projectCodexHome, "state_5.sqlite"), "state db placeholder");
1093
1120
  await writeFile(join(projectCodexHome, "state_5.sqlite-wal"), "state db wal placeholder");
1094
1121
  await writeFile(join(projectCodexHome, "logs_2.sqlite-shm"), "logs db shm placeholder");
@@ -1101,6 +1128,8 @@ describe("project launch scope helpers", () => {
1101
1128
  assert.equal(prepared.runtimeCodexHomeForCleanup, runtimeCodexHome);
1102
1129
  assert.equal(await readFile(join(runtimeCodexHome, "config.toml"), "utf-8"), originalConfig);
1103
1130
  assert.equal(await readFile(join(runtimeCodexHome, "agents", "planner.toml"), "utf-8"), 'name = "planner"\n');
1131
+ assert.equal(await readFile(join(runtimeCodexHome, "hooks.json"), "utf-8"), '{"hooks":{}}\n');
1132
+ assert.equal((await lstat(join(runtimeCodexHome, "hooks.json"))).isSymbolicLink(), false);
1104
1133
  assert.equal(existsSync(join(runtimeCodexHome, "state_5.sqlite")), false);
1105
1134
  assert.equal(existsSync(join(runtimeCodexHome, "state_5.sqlite-wal")), false);
1106
1135
  assert.equal(existsSync(join(runtimeCodexHome, "logs_2.sqlite-shm")), false);
@@ -1116,6 +1145,36 @@ describe("project launch scope helpers", () => {
1116
1145
  await rm(wd, { recursive: true, force: true });
1117
1146
  }
1118
1147
  });
1148
+ it("rewrites setup-owned hook trust state for the runtime CODEX_HOME mirror", async () => {
1149
+ const wd = await mkdtemp(join(tmpdir(), "omx-launch-runtime-hook-trust-"));
1150
+ try {
1151
+ const projectCodexHome = join(wd, ".codex");
1152
+ await mkdir(join(wd, ".omx"), { recursive: true });
1153
+ await mkdir(projectCodexHome, { recursive: true });
1154
+ await writeFile(join(wd, ".omx", "setup-scope.json"), JSON.stringify({ scope: "project" }));
1155
+ await writeFile(join(projectCodexHome, "hooks.json"), '{"hooks":{}}\n');
1156
+ await writeFile(join(projectCodexHome, "config.toml"), [
1157
+ "[features]",
1158
+ "codex_hooks = true",
1159
+ "",
1160
+ "# OMX-owned Codex hook trust state",
1161
+ "# Trusts only setup-managed codex-native-hook.js wrappers.",
1162
+ `[hooks.state."${join(projectCodexHome, "hooks.json")}:pre_tool_use:0:0"]`,
1163
+ 'trusted_hash = "stale"',
1164
+ "# End OMX-owned Codex hook trust state",
1165
+ "",
1166
+ ].join("\n"));
1167
+ await prepareCodexHomeForLaunch(wd, "session-trust", {});
1168
+ const runtimeCodexHome = runtimeCodexHomePath(wd, "session-trust");
1169
+ const runtimeConfig = await readFile(join(runtimeCodexHome, "config.toml"), "utf-8");
1170
+ assert.match(runtimeConfig, new RegExp(`\\[hooks\\.state\\."${join(runtimeCodexHome, "hooks.json").replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}:pre_tool_use:0:0"\\]`));
1171
+ assert.doesNotMatch(runtimeConfig, /trusted_hash = "stale"/);
1172
+ assert.doesNotMatch(runtimeConfig, new RegExp(join(projectCodexHome, "hooks.json").replace(/[.*+?^${}()|[\]\\]/g, "\\$&")));
1173
+ }
1174
+ finally {
1175
+ await rm(wd, { recursive: true, force: true });
1176
+ }
1177
+ });
1119
1178
  it("uses boxed runtime root for project-scope CODEX_HOME mirrors", async () => {
1120
1179
  const source = await mkdtemp(join(tmpdir(), "omx-launch-boxed-source-"));
1121
1180
  const boxedRoot = await mkdtemp(join(tmpdir(), "omx-launch-boxed-root-"));
@@ -1499,9 +1558,12 @@ describe("detached tmux new-session sequencing", () => {
1499
1558
  assert.match(leaderCmd, /wait "\$omx_codex_pid";/);
1500
1559
  assert.match(leaderCmd, /kill -TERM "\$omx_codex_pid"/);
1501
1560
  assert.match(leaderCmd, /releaseTmuxExtendedKeysLease/);
1502
- assert.match(leaderCmd, /if \[ "\$status" -lt 128 \]; then/);
1561
+ assert.match(leaderCmd, /if \[ "\$status" -eq 0 \]; then/);
1503
1562
  assert.match(leaderCmd, /tmux kill-session -t/);
1504
1563
  assert.match(leaderCmd, /"omx-demo"/);
1564
+ assert.match(leaderCmd, /codex exited immediately with code 0/);
1565
+ assert.match(leaderCmd, /codex exited with code/);
1566
+ assert.match(leaderCmd, /detached tmux session is being kept open/);
1505
1567
  assert.match(leaderCmd, /exit \$status/);
1506
1568
  });
1507
1569
  it("buildDetachedSessionBootstrapSteps finalizes postLaunch inside the detached leader when a session id is available", () => {
@@ -1514,7 +1576,7 @@ describe("detached tmux new-session sequencing", () => {
1514
1576
  assert.match(leaderCmd, /\/tmp\/project\/\.codex-project/);
1515
1577
  assert.match(leaderCmd, /\/tmp\/project\/\.omx\/runtime\/codex-home\/omx-session-123/);
1516
1578
  const helperIndex = leaderCmd.indexOf("runDetachedSessionPostLaunch");
1517
- const signalGateIndex = leaderCmd.indexOf('if [ "$status" -lt 128 ]');
1579
+ const signalGateIndex = leaderCmd.indexOf('if [ "$status" -eq 0 ]');
1518
1580
  assert.ok(helperIndex >= 0);
1519
1581
  assert.ok(signalGateIndex >= 0);
1520
1582
  assert.ok(helperIndex < signalGateIndex, "detached postLaunch helper must run before the signal-derived tmux kill-session gate");
@@ -1684,6 +1746,114 @@ exit 0
1684
1746
  await rm(cwd, { recursive: true, force: true });
1685
1747
  }
1686
1748
  });
1749
+ it("detached leader command keeps child startup errors visible instead of killing the session", async () => {
1750
+ const cwd = await mkdtemp(join(tmpdir(), "omx-detached-leader-error-"));
1751
+ const fakeBin = join(cwd, "bin");
1752
+ const logPath = join(cwd, "leader.log");
1753
+ try {
1754
+ await mkdir(fakeBin, { recursive: true });
1755
+ await writeFile(join(fakeBin, "codex"), `#!/bin/sh
1756
+ printf 'codex-stderr: unsupported startup flag\\n' >&2
1757
+ exit 42
1758
+ `);
1759
+ await chmod(join(fakeBin, "codex"), 0o755);
1760
+ await writeFile(join(fakeBin, "tmux"), `#!/bin/sh
1761
+ printf 'tmux:%s\\n' "$*" >> "${logPath}"
1762
+ case "$1" in
1763
+ display-message)
1764
+ if [ "$3" = '#{socket_path}' ] || [ "$4" = '#{socket_path}' ]; then
1765
+ printf '/tmp/tmux-test.sock\\n'
1766
+ else
1767
+ printf '0\\n'
1768
+ fi
1769
+ ;;
1770
+ show-options)
1771
+ printf 'off\\n'
1772
+ ;;
1773
+ set-option|kill-session)
1774
+ ;;
1775
+ esac
1776
+ exit 0
1777
+ `);
1778
+ await chmod(join(fakeBin, "tmux"), 0o755);
1779
+ const steps = buildDetachedSessionBootstrapSteps("omx-demo", cwd, buildTmuxPaneCommand("codex", ["--bad-startup-flag"], "/bin/sh"), "'node' '/tmp/omx.js' 'hud' '--watch'", null);
1780
+ const leaderCmd = steps[0]?.args.at(-1);
1781
+ assert.equal(typeof leaderCmd, "string");
1782
+ const result = (await import("node:child_process")).spawnSync("/bin/sh", ["-c", leaderCmd], {
1783
+ cwd,
1784
+ env: {
1785
+ ...process.env,
1786
+ PATH: `${fakeBin}:/usr/bin:/bin`,
1787
+ HOME: cwd,
1788
+ },
1789
+ input: "\n",
1790
+ encoding: "utf-8",
1791
+ });
1792
+ assert.equal(result.status, 42);
1793
+ assert.match(result.stderr, /codex-stderr: unsupported startup flag/);
1794
+ assert.match(result.stderr, /codex exited with code 42 during startup/);
1795
+ assert.match(result.stderr, /detached tmux session is being kept open/);
1796
+ const log = await readFile(logPath, "utf-8");
1797
+ assert.doesNotMatch(log, /tmux:kill-session -t omx-demo/);
1798
+ }
1799
+ finally {
1800
+ await rm(cwd, { recursive: true, force: true });
1801
+ }
1802
+ });
1803
+ it("detached leader command keeps immediate zero-code exits visible instead of silently closing", async () => {
1804
+ const cwd = await mkdtemp(join(tmpdir(), "omx-detached-leader-zero-"));
1805
+ const fakeBin = join(cwd, "bin");
1806
+ const logPath = join(cwd, "leader.log");
1807
+ try {
1808
+ await mkdir(fakeBin, { recursive: true });
1809
+ await writeFile(join(fakeBin, "codex"), `#!/bin/sh
1810
+ printf 'codex-started-then-quit\\n' >&2
1811
+ exit 0
1812
+ `);
1813
+ await chmod(join(fakeBin, "codex"), 0o755);
1814
+ await writeFile(join(fakeBin, "tmux"), `#!/bin/sh
1815
+ printf 'tmux:%s\\n' "$*" >> "${logPath}"
1816
+ case "$1" in
1817
+ display-message)
1818
+ if [ "$3" = '#{socket_path}' ] || [ "$4" = '#{socket_path}' ]; then
1819
+ printf '/tmp/tmux-test.sock\\n'
1820
+ else
1821
+ printf '0\\n'
1822
+ fi
1823
+ ;;
1824
+ show-options)
1825
+ printf 'off\\n'
1826
+ ;;
1827
+ set-option|kill-session)
1828
+ ;;
1829
+ esac
1830
+ exit 0
1831
+ `);
1832
+ await chmod(join(fakeBin, "tmux"), 0o755);
1833
+ const steps = buildDetachedSessionBootstrapSteps("omx-demo", cwd, buildTmuxPaneCommand("codex", [], "/bin/sh"), "'node' '/tmp/omx.js' 'hud' '--watch'", null);
1834
+ const leaderCmd = steps[0]?.args.at(-1);
1835
+ assert.equal(typeof leaderCmd, "string");
1836
+ const result = (await import("node:child_process")).spawnSync("/bin/sh", ["-c", leaderCmd], {
1837
+ cwd,
1838
+ env: {
1839
+ ...process.env,
1840
+ PATH: `${fakeBin}:/usr/bin:/bin`,
1841
+ HOME: cwd,
1842
+ },
1843
+ input: "\n",
1844
+ encoding: "utf-8",
1845
+ });
1846
+ assert.equal(result.status, 0, result.stderr || result.stdout);
1847
+ assert.match(result.stderr, /codex-started-then-quit/);
1848
+ assert.match(result.stderr, /codex exited immediately with code 0 during startup/);
1849
+ assert.match(result.stderr, /detached tmux session is being kept open/);
1850
+ const log = await readFile(logPath, "utf-8");
1851
+ assert.match(log, /tmux:kill-session -t omx-demo/);
1852
+ }
1853
+ finally {
1854
+ await rm(cwd, { recursive: true, force: true });
1855
+ }
1856
+ });
1687
1857
  it("detached leader command terminates codex child on external SIGHUP", async () => {
1688
1858
  const cwd = await mkdtemp(join(tmpdir(), "omx-detached-leader-hup-"));
1689
1859
  const fakeBin = join(cwd, "bin");