oh-my-codex 0.12.0 → 0.12.2

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 (89) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +7 -0
  4. package/dist/cli/__tests__/cleanup.test.js +15 -0
  5. package/dist/cli/__tests__/cleanup.test.js.map +1 -1
  6. package/dist/cli/__tests__/index.test.js +147 -2
  7. package/dist/cli/__tests__/index.test.js.map +1 -1
  8. package/dist/cli/__tests__/launch-fallback.test.js +95 -1
  9. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  10. package/dist/cli/cleanup.d.ts.map +1 -1
  11. package/dist/cli/cleanup.js +6 -3
  12. package/dist/cli/cleanup.js.map +1 -1
  13. package/dist/cli/index.d.ts +18 -1
  14. package/dist/cli/index.d.ts.map +1 -1
  15. package/dist/cli/index.js +178 -23
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/hooks/__tests__/agents-overlay.test.js +18 -0
  18. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
  19. package/dist/hooks/__tests__/keyword-detector.test.js +156 -1
  20. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  21. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +56 -2
  22. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  23. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  24. package/dist/hooks/agents-overlay.js +25 -3
  25. package/dist/hooks/agents-overlay.js.map +1 -1
  26. package/dist/hooks/keyword-detector.d.ts +5 -1
  27. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  28. package/dist/hooks/keyword-detector.js +104 -6
  29. package/dist/hooks/keyword-detector.js.map +1 -1
  30. package/dist/hud/__tests__/render.test.js +6 -0
  31. package/dist/hud/__tests__/render.test.js.map +1 -1
  32. package/dist/hud/__tests__/state.test.js +55 -1
  33. package/dist/hud/__tests__/state.test.js.map +1 -1
  34. package/dist/hud/render.d.ts.map +1 -1
  35. package/dist/hud/render.js +8 -3
  36. package/dist/hud/render.js.map +1 -1
  37. package/dist/hud/state.d.ts.map +1 -1
  38. package/dist/hud/state.js +71 -9
  39. package/dist/hud/state.js.map +1 -1
  40. package/dist/hud/types.d.ts +2 -2
  41. package/dist/hud/types.d.ts.map +1 -1
  42. package/dist/mcp/__tests__/state-server.test.js +82 -0
  43. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  44. package/dist/mcp/state-server.d.ts +4 -4
  45. package/dist/mcp/state-server.d.ts.map +1 -1
  46. package/dist/mcp/state-server.js +35 -0
  47. package/dist/mcp/state-server.js.map +1 -1
  48. package/dist/scripts/__tests__/codex-native-hook.test.js +336 -6
  49. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  50. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  51. package/dist/scripts/codex-native-hook.js +221 -23
  52. package/dist/scripts/codex-native-hook.js.map +1 -1
  53. package/dist/scripts/notify-fallback-watcher.js +60 -3
  54. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  55. package/dist/state/__tests__/skill-active.test.d.ts +2 -0
  56. package/dist/state/__tests__/skill-active.test.d.ts.map +1 -0
  57. package/dist/state/__tests__/skill-active.test.js +84 -0
  58. package/dist/state/__tests__/skill-active.test.js.map +1 -0
  59. package/dist/state/skill-active.d.ts +55 -0
  60. package/dist/state/skill-active.d.ts.map +1 -0
  61. package/dist/state/skill-active.js +179 -0
  62. package/dist/state/skill-active.js.map +1 -0
  63. package/dist/team/__tests__/runtime-cli.test.js +85 -0
  64. package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
  65. package/dist/team/__tests__/runtime.test.js +241 -7
  66. package/dist/team/__tests__/runtime.test.js.map +1 -1
  67. package/dist/team/__tests__/state.test.js +7 -0
  68. package/dist/team/__tests__/state.test.js.map +1 -1
  69. package/dist/team/__tests__/tmux-session.test.js +143 -0
  70. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  71. package/dist/team/runtime-cli.d.ts +15 -0
  72. package/dist/team/runtime-cli.d.ts.map +1 -1
  73. package/dist/team/runtime-cli.js +37 -20
  74. package/dist/team/runtime-cli.js.map +1 -1
  75. package/dist/team/runtime.d.ts +1 -0
  76. package/dist/team/runtime.d.ts.map +1 -1
  77. package/dist/team/runtime.js +16 -8
  78. package/dist/team/runtime.js.map +1 -1
  79. package/dist/team/state/mailbox.d.ts.map +1 -1
  80. package/dist/team/state/mailbox.js +6 -0
  81. package/dist/team/state/mailbox.js.map +1 -1
  82. package/dist/team/tmux-session.d.ts.map +1 -1
  83. package/dist/team/tmux-session.js +32 -4
  84. package/dist/team/tmux-session.js.map +1 -1
  85. package/package.json +1 -1
  86. package/prompts/information-architect.md +15 -102
  87. package/src/scripts/__tests__/codex-native-hook.test.ts +421 -6
  88. package/src/scripts/codex-native-hook.ts +287 -25
  89. package/src/scripts/notify-fallback-watcher.ts +62 -5
@@ -1,6 +1,6 @@
1
1
  import { describe, it } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
- import { chmod, mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
+ import { chmod, mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
4
4
  import { spawnSync } from 'node:child_process';
5
5
  import { tmpdir } from 'node:os';
6
6
  import { dirname, join } from 'node:path';
@@ -24,6 +24,29 @@ function runOmx(cwd, argv, envOverrides = {}) {
24
24
  error: result.error?.message || '',
25
25
  };
26
26
  }
27
+ function shellEscape(arg) {
28
+ return `'${arg.replace(/'/g, `'\"'\"'`)}'`;
29
+ }
30
+ function runOmxWithTty(cwd, argv, envOverrides = {}) {
31
+ const testDir = dirname(fileURLToPath(import.meta.url));
32
+ const repoRoot = join(testDir, '..', '..', '..');
33
+ const omxBin = join(repoRoot, 'dist', 'cli', 'omx.js');
34
+ const command = [process.execPath, omxBin, ...argv].map(shellEscape).join(' ');
35
+ const result = spawnSync('script', ['-qfec', command, '/dev/null'], {
36
+ cwd,
37
+ encoding: 'utf-8',
38
+ env: {
39
+ ...process.env,
40
+ ...envOverrides,
41
+ },
42
+ });
43
+ return {
44
+ status: result.status,
45
+ stdout: result.stdout || '',
46
+ stderr: result.stderr || '',
47
+ error: result.error?.message || '',
48
+ };
49
+ }
27
50
  function shouldSkipForSpawnPermissions(err) {
28
51
  return typeof err === 'string' && /(EPERM|EACCES)/i.test(err);
29
52
  }
@@ -60,4 +83,75 @@ describe('omx launch fallback when tmux is unavailable', () => {
60
83
  }
61
84
  });
62
85
  });
86
+ describe('omx launcher when tmux is available', () => {
87
+ it('launches --madmax through detached tmux so HUD bootstrap can run', async () => {
88
+ const wd = await mkdtemp(join(tmpdir(), 'omx-launch-tmux-'));
89
+ try {
90
+ const home = join(wd, 'home');
91
+ const fakeBin = join(wd, 'bin');
92
+ const fakeCodexPath = join(fakeBin, 'codex');
93
+ const fakePsPath = join(fakeBin, 'ps');
94
+ const fakeTmuxPath = join(fakeBin, 'tmux');
95
+ const tmuxLogPath = join(wd, 'tmux.log');
96
+ await mkdir(home, { recursive: true });
97
+ await mkdir(fakeBin, { recursive: true });
98
+ await writeFile(fakeCodexPath, '#!/bin/sh\nprintf \'fake-codex:%s\\n\' \"$*\"\n');
99
+ await chmod(fakeCodexPath, 0o755);
100
+ await writeFile(fakePsPath, '#!/bin/sh\nexit 0\n');
101
+ await chmod(fakePsPath, 0o755);
102
+ await writeFile(fakeTmuxPath, `#!/bin/sh
103
+ printf 'tmux:%s\n' "$*" >> "${tmuxLogPath}"
104
+ case "$1" in
105
+ -V)
106
+ printf 'tmux 3.4\\n'
107
+ exit 0
108
+ ;;
109
+ new-session)
110
+ printf 'leader-pane\\n'
111
+ exit 0
112
+ ;;
113
+ split-window)
114
+ printf 'hud-pane\\n'
115
+ exit 0
116
+ ;;
117
+ display-message)
118
+ if [ "$2" = '-p' ] && [ "$3" = '#{socket_path}' ]; then
119
+ printf '/tmp/tmux-test.sock\\n'
120
+ else
121
+ printf '0\\n'
122
+ fi
123
+ exit 0
124
+ ;;
125
+ show-options)
126
+ printf 'off\\n'
127
+ exit 0
128
+ ;;
129
+ set-option|set-hook|attach-session|kill-session|run-shell|resize-pane)
130
+ exit 0
131
+ ;;
132
+ esac
133
+ exit 0
134
+ `);
135
+ await chmod(fakeTmuxPath, 0o755);
136
+ const result = runOmxWithTty(wd, ['--madmax'], {
137
+ HOME: home,
138
+ PATH: `${fakeBin}:/usr/bin:/bin`,
139
+ OMX_AUTO_UPDATE: '0',
140
+ OMX_NOTIFY_FALLBACK: '0',
141
+ OMX_HOOK_DERIVED_SIGNALS: '0',
142
+ TMUX: '',
143
+ TMUX_PANE: '',
144
+ });
145
+ if (shouldSkipForSpawnPermissions(result.error))
146
+ return;
147
+ const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
148
+ assert.equal(result.status, 0, result.error || result.stderr || result.stdout);
149
+ assert.match(tmuxLog, /tmux:new-session .* -s /);
150
+ assert.match(tmuxLog, /tmux:split-window -v -l 2 .* -t /);
151
+ }
152
+ finally {
153
+ await rm(wd, { recursive: true, force: true });
154
+ }
155
+ });
156
+ });
63
157
  //# sourceMappingURL=launch-fallback.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"launch-fallback.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/launch-fallback.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch-fallback.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/launch-fallback.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/cli/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/cli/cleanup.ts"],"names":[],"mappings":"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"}
@@ -134,9 +134,12 @@ export function findCleanupCandidates(processes, currentPid) {
134
134
  }
135
135
  export function findLaunchSafeCleanupCandidates(processes, currentPid) {
136
136
  const processByPid = new Map(processes.map((processEntry) => [processEntry.pid, processEntry]));
137
- return findCleanupCandidates(processes, currentPid)
138
- .filter((candidate) => !hasAncestorMatching(processByPid, candidate.pid, isCodexSessionProcess))
139
- .filter((candidate) => !hasAncestorMatching(processByPid, candidate.pid, isOmxLaunchProcess));
137
+ return findCleanupCandidates(processes, currentPid).filter((candidate) => {
138
+ if (candidate.ppid <= 1)
139
+ return true;
140
+ return (!hasAncestorMatching(processByPid, candidate.pid, isCodexSessionProcess) &&
141
+ !hasAncestorMatching(processByPid, candidate.pid, isOmxLaunchProcess));
142
+ });
140
143
  }
141
144
  function defaultIsPidAlive(pid) {
142
145
  if (!Number.isFinite(pid) || pid <= 0)
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/cli/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/cli/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,IAAI,GAAG;IACX,gCAAgC;IAChC,EAAE;IACF,0HAA0H;IAC1H,EAAE;IACF,UAAU;IACV,gGAAgG;IAChG,qCAAqC;CACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5C,MAAM,sBAAsB,GAAG,yFAAyF,CAAC;AACzH,MAAM,qBAAqB,GAAG,wDAAwD,CAAC;AACvF,MAAM,0BAA0B,GAAG,iIAAiI,CAAC;AACrK,MAAM,yBAAyB,GAAG,yBAAyB,CAAC;AAqD5D,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAM,GAAG,GAAG,QAAQ,GAAG;IAC5E,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,MAAM;SACV,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAyB,CAAC;IACvD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE;QACvE,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAA+C,EAC/C,GAAW,EACX,SAAuC;IAEvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAE7C,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,SAAkC,EAClC,UAAkB;IAElB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,KAAK,MAAM,YAAY,IAAI,SAAS,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACrD,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,GAAG,GAAuB,UAAU,CAAC;IACzC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,KAAK,GAAG;YAAE,MAAM;QAChF,GAAG,GAAG,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,SAAkC,EAClC,UAAkB;IAElB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAElD,KAAK,MAAM,YAAY,IAAI,SAAS,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEvC,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAG,CAAC;QAC/B,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACrC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAkC,EAClC,UAAkB;IAElB,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAElE,OAAO,SAAS;SACb,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,KAAK,UAAU,CAAC;SACzD,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC/D,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAC9D,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;SAC3C,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG,YAAY;QACf,MAAM,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB;KACtE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,SAAkC,EAClC,UAAkB;IAElB,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,SAAS,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAU,CAAC,CAC3E,CAAC;IAEF,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACvE,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,CACL,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,EAAE,qBAAqB,CAAC;YACxE,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAC,CACtE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAuB,EACvB,SAAiB,EACjB,UAAoC,EACpC,KAAoC,EACpC,GAAiB;IAEjB,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CACzE,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAChD,OAAO,GAAG,EAAE,GAAG,QAAQ,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,SAA2B;IAClD,OAAO,OAAO,SAAS,CAAC,GAAG,UAAU,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAuB,EACvB,eAAoC,EAAE;IAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAC1D,MAAM,iBAAiB,GAAG,YAAY,CAAC,aAAa,IAAI,gBAAgB,CAAC;IACzE,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,IAAI,qBAAqB,CAAC;IAChF,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,iBAAiB,CAAC;IAChE,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,GAAW,EAAE,MAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACnH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAEzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,UAAU,CAAC,CAAC;IACrE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM;YACd,CAAC,CAAC,sDAAsD;YACxD,CAAC,CAAC,6CAA6C,CAAC,CAAC;QACnD,OAAO;YACL,MAAM;YACN,UAAU;YACV,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,SAAS,CAAC,4BAA4B,UAAU,CAAC,MAAM,uCAAuC,CAAC,CAAC;QAChG,KAAK,MAAM,SAAS,IAAI,UAAU;YAAE,SAAS,CAAC,KAAK,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,UAAU;YACV,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,SAAS,UAAU,CAAC,MAAM,0DAA0D,CAAC,CAAC;IAChG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAChD,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC5C,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,GAAG,CACJ,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACnD,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CACtC,CAAC;IACF,IAAI,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAE9D,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,6BAA6B,YAAY,CAAC,MAAM,kCAAkC,gBAAgB,GAAG,IAAI,IAAI,CAAC,CAAC;QACzH,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAK,GAA6B,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACpD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAChD,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC9C,oBAAoB,EACpB,UAAU,EACV,KAAK,EACL,GAAG,CACJ,CAAC;QACF,gBAAgB,GAAG,YAAY,CAAC,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACjE,eAAe,IAAI,gBAAgB,CAAC;QACpC,UAAU,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,UAAU,eAAe,uCAAuC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpJ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,YAAY,UAAU,CAAC,MAAM,oCAAoC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK;QACb,UAAU;QACV,eAAe;QACf,gBAAgB;QAChB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAuB,EACvB,eAAuC,EAAE;IAEzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjH,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC/C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7G,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAElF,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAElF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,SAA8B,CAAC;QACnC,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAC/D,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,IAAI,oBAAoB;YAAE,SAAS;QAChE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAElE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM;YACd,CAAC,CAAC,+CAA+C;YACjD,CAAC,CAAC,sCAAsC,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAChC,gBAAgB,CAAC,MAAM,EACvB,0BAA0B,EAC1B,4BAA4B,CAC7B,CAAC;IACF,IAAI,MAAM,EAAE,CAAC;QACX,SAAS,CAAC,yBAAyB,aAAa,GAAG,CAAC,CAAC;QACrD,KAAK,MAAM,aAAa,IAAI,gBAAgB,EAAE,CAAC;YAC7C,SAAS,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,aAAa,IAAI,gBAAgB,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;YAChC,YAAY,IAAI,CAAC,CAAC;YAClB,SAAS,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAC/D,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,SAAS,CACP,WAAW,YAAY,CACrB,YAAY,EACZ,0BAA0B,EAC1B,4BAA4B,CAC7B,GAAG,CACL,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAc,EACd,eAA2C,EAAE;IAE7C,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;IACjF,MAAM,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,IAAI,0BAA0B,CAAC;IAE/F,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO;IAC3D,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
@@ -23,7 +23,8 @@ export declare function resolveCliInvocation(args: string[]): ResolvedCliInvocat
23
23
  export declare function resolveNotifyTempContract(args: string[], env?: NodeJS.ProcessEnv): ParseNotifyTempContractResult;
24
24
  export declare function commandOwnsLocalHelp(command: CliCommand): boolean;
25
25
  export type CodexLaunchPolicy = "inside-tmux" | "detached-tmux" | "direct";
26
- export declare function resolveCodexLaunchPolicy(env?: NodeJS.ProcessEnv, _platform?: NodeJS.Platform, tmuxAvailable?: boolean, nativeWindows?: boolean, stdinIsTTY?: boolean, stdoutIsTTY?: boolean): CodexLaunchPolicy;
26
+ export declare function resolveLeaderLaunchPolicyOverride(args: string[]): CodexLaunchPolicy | undefined;
27
+ export declare function resolveCodexLaunchPolicy(env?: NodeJS.ProcessEnv, _platform?: NodeJS.Platform, tmuxAvailable?: boolean, nativeWindows?: boolean, stdinIsTTY?: boolean, stdoutIsTTY?: boolean, explicitPolicy?: CodexLaunchPolicy): CodexLaunchPolicy;
27
28
  export interface CodexExecFailureClassification {
28
29
  kind: "exit" | "launch-error";
29
30
  code?: string;
@@ -81,6 +82,22 @@ export declare function buildNotifyFallbackWatcherEnv(env?: NodeJS.ProcessEnv, o
81
82
  }): NodeJS.ProcessEnv;
82
83
  export declare function shouldEnableNotifyFallbackWatcher(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): boolean;
83
84
  export declare function cleanupLaunchOrphanedMcpProcesses(dependencies?: CleanupDependencies): Promise<CleanupResult>;
85
+ interface PostLaunchCleanupDependencies {
86
+ cleanup?: () => Promise<CleanupResult>;
87
+ writeInfo?: (line: string) => void;
88
+ writeWarn?: (line: string) => void;
89
+ writeError?: (line: string) => void;
90
+ }
91
+ interface PostLaunchModeCleanupDependencies {
92
+ readdir?: typeof import("fs/promises").readdir;
93
+ readFile?: typeof import("fs/promises").readFile;
94
+ writeFile?: typeof import("fs/promises").writeFile;
95
+ sleep?: (ms: number) => Promise<void>;
96
+ writeWarn?: (line: string) => void;
97
+ now?: () => Date;
98
+ }
99
+ export declare function cleanupPostLaunchModeStateFiles(cwd: string, sessionId: string, dependencies?: PostLaunchModeCleanupDependencies): Promise<void>;
100
+ export declare function reapPostLaunchOrphanedMcpProcesses(dependencies?: PostLaunchCleanupDependencies): Promise<void>;
84
101
  export declare function buildTmuxShellCommand(command: string, args: string[]): string;
85
102
  export declare function buildWindowsPromptCommand(command: string, args: string[]): string;
86
103
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -101,6 +101,7 @@ Options:
101
101
  --madmax-spark spark model for workers + bypass approvals for leader and workers
102
102
  (shorthand for: --spark --madmax)
103
103
  --notify-temp Enable temporary notification routing for this run/session only
104
+ --tmux Launch the interactive leader session in detached tmux
104
105
  --discord Select Discord provider for temporary notification mode
105
106
  --slack Select Slack provider for temporary notification mode
106
107
  --telegram Select Telegram provider for temporary notification mode
@@ -264,9 +265,40 @@ export function resolveNotifyTempContract(args, env = process.env) {
264
265
  export function commandOwnsLocalHelp(command) {
265
266
  return NESTED_HELP_COMMANDS.has(command);
266
267
  }
267
- export function resolveCodexLaunchPolicy(env = process.env, _platform = process.platform, tmuxAvailable = isTmuxAvailable(), nativeWindows = isNativeWindows(), stdinIsTTY = Boolean(process.stdin.isTTY), stdoutIsTTY = Boolean(process.stdout.isTTY)) {
268
+ function splitLeaderLaunchPolicyArgs(args) {
269
+ const remainingArgs = [];
270
+ let explicitPolicy;
271
+ let passthroughOnly = false;
272
+ for (const arg of args) {
273
+ if (passthroughOnly) {
274
+ remainingArgs.push(arg);
275
+ continue;
276
+ }
277
+ if (arg === "--") {
278
+ passthroughOnly = true;
279
+ remainingArgs.push(arg);
280
+ continue;
281
+ }
282
+ if (arg === "--tmux") {
283
+ explicitPolicy = "detached-tmux";
284
+ continue;
285
+ }
286
+ remainingArgs.push(arg);
287
+ }
288
+ return { explicitPolicy, remainingArgs };
289
+ }
290
+ export function resolveLeaderLaunchPolicyOverride(args) {
291
+ return splitLeaderLaunchPolicyArgs(args).explicitPolicy;
292
+ }
293
+ export function resolveCodexLaunchPolicy(env = process.env, _platform = process.platform, tmuxAvailable = isTmuxAvailable(), nativeWindows = isNativeWindows(), stdinIsTTY = Boolean(process.stdin.isTTY), stdoutIsTTY = Boolean(process.stdout.isTTY), explicitPolicy) {
268
294
  if (env.TMUX)
269
295
  return "inside-tmux";
296
+ if (explicitPolicy === "detached-tmux")
297
+ return tmuxAvailable ? "detached-tmux" : "direct";
298
+ if (explicitPolicy === "direct")
299
+ return "direct";
300
+ if (_platform === "win32")
301
+ return "direct";
270
302
  if (nativeWindows)
271
303
  return "direct";
272
304
  if (!stdinIsTTY || !stdoutIsTTY)
@@ -628,8 +660,9 @@ export async function launchWithHud(args) {
628
660
  const launchCwd = process.cwd();
629
661
  const parsedWorktree = parseWorktreeMode(args);
630
662
  const notifyTempResult = resolveNotifyTempContract(parsedWorktree.remainingArgs, process.env);
663
+ const explicitLaunchPolicy = resolveLeaderLaunchPolicyOverride(notifyTempResult.passthroughArgs);
631
664
  const codexHomeOverride = resolveCodexHomeForLaunch(launchCwd, process.env);
632
- const launchPolicy = resolveCodexLaunchPolicy(process.env, process.platform, undefined, isNativeWindows());
665
+ const launchPolicy = resolveCodexLaunchPolicy(process.env, process.platform, undefined, isNativeWindows(), undefined, undefined, explicitLaunchPolicy);
633
666
  const enableNotifyFallbackAuthority = launchPolicy === "direct";
634
667
  const workerSparkModel = resolveWorkerSparkModel(notifyTempResult.passthroughArgs, codexHomeOverride);
635
668
  const normalizedArgs = normalizeCodexLaunchArgs(notifyTempResult.passthroughArgs);
@@ -686,7 +719,7 @@ export async function launchWithHud(args) {
686
719
  const notifyTempContractRaw = notifyTempResult.contract.active
687
720
  ? serializeNotifyTempContract(notifyTempResult.contract)
688
721
  : null;
689
- runCodex(cwd, normalizedArgs, sessionId, workerSparkModel, codexHomeOverride, notifyTempContractRaw);
722
+ runCodex(cwd, normalizedArgs, sessionId, workerSparkModel, codexHomeOverride, notifyTempContractRaw, explicitLaunchPolicy);
690
723
  }
691
724
  finally {
692
725
  // ── Phase 3: postLaunch ─────────────────────────────────────────────
@@ -761,11 +794,12 @@ export async function execWithOverlay(args) {
761
794
  }
762
795
  export function normalizeCodexLaunchArgs(args) {
763
796
  const parsed = parseWorktreeMode(args);
797
+ const launchPolicyParsed = splitLeaderLaunchPolicyArgs(parsed.remainingArgs);
764
798
  const normalized = [];
765
799
  let wantsBypass = false;
766
800
  let hasBypass = false;
767
801
  let reasoningMode = null;
768
- for (const arg of parsed.remainingArgs) {
802
+ for (const arg of launchPolicyParsed.remainingArgs) {
769
803
  if (arg === MADMAX_FLAG) {
770
804
  wantsBypass = true;
771
805
  continue;
@@ -1388,6 +1422,141 @@ export async function cleanupLaunchOrphanedMcpProcesses(dependencies = {}) {
1388
1422
  writeLine: dependencies.writeLine ?? (() => { }),
1389
1423
  });
1390
1424
  }
1425
+ const POST_LAUNCH_MODE_STATE_RETRY_DELAY_MS = 10;
1426
+ const POST_LAUNCH_MODE_STATE_MAX_READ_ATTEMPTS = 2;
1427
+ function isLikelyTransientModeStateParseFailure(raw, err) {
1428
+ const trimmed = raw.trim();
1429
+ if (trimmed.length === 0)
1430
+ return true;
1431
+ if (!(err instanceof SyntaxError))
1432
+ return false;
1433
+ if (!trimmed.startsWith("{") || trimmed.endsWith("}"))
1434
+ return false;
1435
+ return (/Unexpected end of JSON input/.test(err.message) ||
1436
+ /Unterminated string in JSON/.test(err.message) ||
1437
+ /Expected double-quoted property name in JSON/.test(err.message) ||
1438
+ /Expected property name or '}' in JSON/.test(err.message) ||
1439
+ /Expected ':' after property name in JSON/.test(err.message) ||
1440
+ /Expected ',' or '}' after property value in JSON/.test(err.message));
1441
+ }
1442
+ async function readPostLaunchModeStateFile(path, dependencies = {}) {
1443
+ const readFile = dependencies.readFile ?? (await import("fs/promises")).readFile;
1444
+ const sleep = dependencies.sleep
1445
+ ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
1446
+ for (let attempt = 1; attempt <= POST_LAUNCH_MODE_STATE_MAX_READ_ATTEMPTS; attempt += 1) {
1447
+ try {
1448
+ const raw = await readFile(path, "utf-8");
1449
+ const trimmed = raw.trim();
1450
+ if (trimmed.length === 0) {
1451
+ if (attempt < POST_LAUNCH_MODE_STATE_MAX_READ_ATTEMPTS) {
1452
+ await sleep(POST_LAUNCH_MODE_STATE_RETRY_DELAY_MS);
1453
+ continue;
1454
+ }
1455
+ return { kind: "recoverable" };
1456
+ }
1457
+ let parsed;
1458
+ try {
1459
+ parsed = JSON.parse(raw);
1460
+ }
1461
+ catch (err) {
1462
+ if (isLikelyTransientModeStateParseFailure(raw, err)) {
1463
+ if (attempt < POST_LAUNCH_MODE_STATE_MAX_READ_ATTEMPTS) {
1464
+ await sleep(POST_LAUNCH_MODE_STATE_RETRY_DELAY_MS);
1465
+ continue;
1466
+ }
1467
+ return { kind: "recoverable" };
1468
+ }
1469
+ return {
1470
+ kind: "malformed",
1471
+ message: err instanceof Error ? err.message : String(err),
1472
+ };
1473
+ }
1474
+ if (!parsed || Array.isArray(parsed) || typeof parsed !== "object") {
1475
+ return { kind: "malformed", message: "mode state must be a JSON object" };
1476
+ }
1477
+ return { kind: "ok", state: parsed };
1478
+ }
1479
+ catch (err) {
1480
+ const error = err;
1481
+ if (error?.code === "ENOENT")
1482
+ return { kind: "missing" };
1483
+ return {
1484
+ kind: "malformed",
1485
+ message: err instanceof Error ? err.message : String(err),
1486
+ };
1487
+ }
1488
+ }
1489
+ return { kind: "recoverable" };
1490
+ }
1491
+ function buildRecoveredPostLaunchModeState(mode, completedAt) {
1492
+ return {
1493
+ active: false,
1494
+ mode,
1495
+ current_phase: "cancelled",
1496
+ completed_at: completedAt,
1497
+ last_turn_at: completedAt,
1498
+ };
1499
+ }
1500
+ export async function cleanupPostLaunchModeStateFiles(cwd, sessionId, dependencies = {}) {
1501
+ const readdir = dependencies.readdir ?? (await import("fs/promises")).readdir;
1502
+ const writeFile = dependencies.writeFile ?? (await import("fs/promises")).writeFile;
1503
+ const writeWarn = dependencies.writeWarn ?? console.warn;
1504
+ const now = dependencies.now ?? (() => new Date());
1505
+ const scopedDirs = [getBaseStateDir(cwd), getStateDir(cwd, sessionId)];
1506
+ for (const stateDir of scopedDirs) {
1507
+ const files = await readdir(stateDir).catch(() => []);
1508
+ for (const file of files) {
1509
+ if (!file.endsWith("-state.json") || file === "session.json")
1510
+ continue;
1511
+ const path = join(stateDir, file);
1512
+ const mode = file.slice(0, -"-state.json".length);
1513
+ const result = await readPostLaunchModeStateFile(path, dependencies);
1514
+ if (result.kind !== "ok") {
1515
+ if (result.kind === "recoverable") {
1516
+ try {
1517
+ const completedAt = now().toISOString();
1518
+ await writeFile(path, JSON.stringify(buildRecoveredPostLaunchModeState(mode, completedAt), null, 2));
1519
+ }
1520
+ catch (err) {
1521
+ writeWarn(`[omx] postLaunch: failed to recover mode state ${path}: ${err instanceof Error ? err.message : err}`);
1522
+ }
1523
+ }
1524
+ else if (result.kind === "malformed") {
1525
+ writeWarn(`[omx] postLaunch: skipped malformed mode state ${path}: ${result.message}`);
1526
+ }
1527
+ continue;
1528
+ }
1529
+ if (result.state.active !== true)
1530
+ continue;
1531
+ try {
1532
+ result.state.active = false;
1533
+ result.state.completed_at = now().toISOString();
1534
+ await writeFile(path, JSON.stringify(result.state, null, 2));
1535
+ }
1536
+ catch (err) {
1537
+ writeWarn(`[omx] postLaunch: failed to update mode state ${path}: ${err instanceof Error ? err.message : err}`);
1538
+ }
1539
+ }
1540
+ }
1541
+ }
1542
+ export async function reapPostLaunchOrphanedMcpProcesses(dependencies = {}) {
1543
+ const cleanup = dependencies.cleanup ?? cleanupLaunchOrphanedMcpProcesses;
1544
+ const writeInfo = dependencies.writeInfo ?? console.log;
1545
+ const writeWarn = dependencies.writeWarn ?? console.warn;
1546
+ const writeError = dependencies.writeError ?? ((line) => process.stderr.write(line));
1547
+ try {
1548
+ const result = await cleanup();
1549
+ if (result.terminatedCount > 0) {
1550
+ writeInfo(`[omx] postLaunch: reaped ${result.terminatedCount} orphaned OMX MCP process(es).`);
1551
+ }
1552
+ if (result.failedPids.length > 0) {
1553
+ writeWarn(`[omx] postLaunch: failed to reap ${result.failedPids.length} orphaned OMX MCP process(es); continuing cleanup.`);
1554
+ }
1555
+ }
1556
+ catch (err) {
1557
+ writeError(`[cli/index] postLaunch MCP cleanup failed: ${err}\n`);
1558
+ }
1559
+ }
1391
1560
  /**
1392
1561
  * preLaunch: Prepare environment before Codex starts.
1393
1562
  * 1. Best-effort launch-safe orphan cleanup for detached OMX MCP processes
@@ -1491,7 +1660,7 @@ ${launchAppendix}`
1491
1660
  * runCodex: Launch Codex CLI (blocks until exit).
1492
1661
  * All 3 paths (new tmux, existing tmux, no tmux) block via execSync/execFileSync.
1493
1662
  */
1494
- function runCodex(cwd, args, sessionId, workerDefaultModel, codexHomeOverride, notifyTempContractRaw) {
1663
+ function runCodex(cwd, args, sessionId, workerDefaultModel, codexHomeOverride, notifyTempContractRaw, explicitLaunchPolicy) {
1495
1664
  const launchArgs = injectModelInstructionsBypassArgs(cwd, args, process.env, sessionModelInstructionsPath(cwd, sessionId));
1496
1665
  const nativeWindows = isNativeWindows();
1497
1666
  const omxBin = resolveOmxEntryPath();
@@ -1513,7 +1682,7 @@ function runCodex(cwd, args, sessionId, workerDefaultModel, codexHomeOverride, n
1513
1682
  const codexEnvWithNotify = notifyTempContractRaw
1514
1683
  ? { ...codexEnv, [OMX_NOTIFY_TEMP_CONTRACT_ENV]: notifyTempContractRaw }
1515
1684
  : codexEnv;
1516
- const launchPolicy = resolveCodexLaunchPolicy(process.env, process.platform, undefined, nativeWindows);
1685
+ const launchPolicy = resolveCodexLaunchPolicy(process.env, process.platform, undefined, nativeWindows, undefined, undefined, explicitLaunchPolicy);
1517
1686
  if (isCodexVersionRequest(launchArgs)) {
1518
1687
  runCodexBlocking(cwd, launchArgs, codexEnvWithNotify);
1519
1688
  return;
@@ -1787,6 +1956,8 @@ async function postLaunch(cwd, sessionId, codexHomeOverride, enableNotifyFallbac
1787
1956
  process.stderr.write(`[cli/index] operation failed: ${err}\n`);
1788
1957
  // Non-fatal
1789
1958
  }
1959
+ // 0. Reap MCP orphans left behind by the session that just exited.
1960
+ await reapPostLaunchOrphanedMcpProcesses();
1790
1961
  // 0. Flush fallback watcher once to reduce race with fast codex exit.
1791
1962
  try {
1792
1963
  await flushNotifyFallbackOnce(cwd, { codexHomeOverride, enableAuthority: enableNotifyFallbackAuthority, sessionId });
@@ -1835,23 +2006,7 @@ async function postLaunch(cwd, sessionId, codexHomeOverride, enableNotifyFallbac
1835
2006
  }
1836
2007
  // 3. Cancel any still-active modes
1837
2008
  try {
1838
- const { readdir, writeFile, readFile } = await import("fs/promises");
1839
- const scopedDirs = [getBaseStateDir(cwd), getStateDir(cwd, sessionId)];
1840
- for (const stateDir of scopedDirs) {
1841
- const files = await readdir(stateDir).catch(() => []);
1842
- for (const file of files) {
1843
- if (!file.endsWith("-state.json") || file === "session.json")
1844
- continue;
1845
- const path = join(stateDir, file);
1846
- const content = await readFile(path, "utf-8");
1847
- const state = JSON.parse(content);
1848
- if (state.active) {
1849
- state.active = false;
1850
- state.completed_at = new Date().toISOString();
1851
- await writeFile(path, JSON.stringify(state, null, 2));
1852
- }
1853
- }
1854
- }
2009
+ await cleanupPostLaunchModeStateFiles(cwd, sessionId);
1855
2010
  }
1856
2011
  catch (err) {
1857
2012
  console.error(`[omx] postLaunch: mode cleanup failed: ${err instanceof Error ? err.message : err}`);