oh-my-codex 0.12.1 → 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.
- package/Cargo.lock +5 -5
- package/Cargo.toml +1 -1
- package/dist/cli/__tests__/index.test.js +88 -1
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +118 -17
- package/dist/cli/index.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +18 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +24 -1
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +25 -3
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts +3 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +29 -3
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hud/__tests__/render.test.js +6 -0
- package/dist/hud/__tests__/render.test.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +55 -1
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +8 -3
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +71 -9
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/types.d.ts +2 -2
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +82 -0
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/state-server.d.ts +4 -4
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/mcp/state-server.js +35 -0
- package/dist/mcp/state-server.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.d.ts +2 -0
- package/dist/state/__tests__/skill-active.test.d.ts.map +1 -0
- package/dist/state/__tests__/skill-active.test.js +84 -0
- package/dist/state/__tests__/skill-active.test.js.map +1 -0
- package/dist/state/skill-active.d.ts +55 -0
- package/dist/state/skill-active.d.ts.map +1 -0
- package/dist/state/skill-active.js +179 -0
- package/dist/state/skill-active.js.map +1 -0
- package/dist/team/__tests__/runtime-cli.test.js +85 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +117 -1
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +143 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/runtime-cli.d.ts +15 -0
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +37 -20
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +1 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +13 -6
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +32 -4
- package/dist/team/tmux-session.js.map +1 -1
- package/package.json +1 -1
|
@@ -140,6 +140,91 @@ describe('runtime-cli helpers', () => {
|
|
|
140
140
|
await rm(cwd, { recursive: true, force: true });
|
|
141
141
|
}
|
|
142
142
|
});
|
|
143
|
+
it('preserves team state when building terminal output for completed teams', async () => {
|
|
144
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-cli-preserve-complete-'));
|
|
145
|
+
try {
|
|
146
|
+
await initTeamState('runtime-cli-preserve-complete', 'task', 'executor', 1, cwd);
|
|
147
|
+
await createTask('runtime-cli-preserve-complete', {
|
|
148
|
+
subject: 'done task',
|
|
149
|
+
description: 'already complete',
|
|
150
|
+
status: 'completed',
|
|
151
|
+
owner: 'worker-1',
|
|
152
|
+
result: 'PASS: complete without shutdown',
|
|
153
|
+
}, cwd);
|
|
154
|
+
const teamRoot = join(cwd, '.omx', 'state', 'team', 'runtime-cli-preserve-complete');
|
|
155
|
+
assert.equal(existsSync(teamRoot), true);
|
|
156
|
+
const runtimeCli = await loadRuntimeCliModule();
|
|
157
|
+
const result = runtimeCli.buildTerminalCliResult(runtimeCli.resolveRuntimeCliStateRoot(cwd), 'runtime-cli-preserve-complete', 'complete', 1, Date.now() - 1_000);
|
|
158
|
+
assert.equal(existsSync(teamRoot), true);
|
|
159
|
+
assert.equal(result.exitCode, 0);
|
|
160
|
+
assert.equal(result.output.status, 'completed');
|
|
161
|
+
assert.equal(result.output.teamName, 'runtime-cli-preserve-complete');
|
|
162
|
+
assert.deepEqual(result.output.taskResults, [{
|
|
163
|
+
taskId: '1',
|
|
164
|
+
status: 'completed',
|
|
165
|
+
summary: 'PASS: complete without shutdown',
|
|
166
|
+
}]);
|
|
167
|
+
assert.match(result.notice, /preserving team state/i);
|
|
168
|
+
assert.match(result.notice, /omx team shutdown runtime-cli-preserve-complete/);
|
|
169
|
+
}
|
|
170
|
+
finally {
|
|
171
|
+
await rm(cwd, { recursive: true, force: true });
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
it('preserves team state when building terminal output for failed teams', async () => {
|
|
175
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-cli-preserve-failed-'));
|
|
176
|
+
try {
|
|
177
|
+
await initTeamState('runtime-cli-preserve-failed', 'task', 'executor', 1, cwd);
|
|
178
|
+
await createTask('runtime-cli-preserve-failed', {
|
|
179
|
+
subject: 'failed task',
|
|
180
|
+
description: 'needs postmortem',
|
|
181
|
+
status: 'failed',
|
|
182
|
+
owner: 'worker-1',
|
|
183
|
+
result: 'FAIL: worker crashed',
|
|
184
|
+
}, cwd);
|
|
185
|
+
const teamRoot = join(cwd, '.omx', 'state', 'team', 'runtime-cli-preserve-failed');
|
|
186
|
+
assert.equal(existsSync(teamRoot), true);
|
|
187
|
+
const runtimeCli = await loadRuntimeCliModule();
|
|
188
|
+
const result = runtimeCli.buildTerminalCliResult(runtimeCli.resolveRuntimeCliStateRoot(cwd), 'runtime-cli-preserve-failed', 'failed', 1, Date.now() - 1_000);
|
|
189
|
+
assert.equal(existsSync(teamRoot), true);
|
|
190
|
+
assert.equal(result.exitCode, 1);
|
|
191
|
+
assert.equal(result.output.status, 'failed');
|
|
192
|
+
assert.equal(result.output.teamName, 'runtime-cli-preserve-failed');
|
|
193
|
+
assert.deepEqual(result.output.taskResults, [{
|
|
194
|
+
taskId: '1',
|
|
195
|
+
status: 'failed',
|
|
196
|
+
summary: 'FAIL: worker crashed',
|
|
197
|
+
}]);
|
|
198
|
+
assert.match(result.notice, /preserving team state/i);
|
|
199
|
+
assert.match(result.notice, /omx team shutdown runtime-cli-preserve-failed/);
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
await rm(cwd, { recursive: true, force: true });
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
it('reports cancelled terminal phases without deleting team state', async () => {
|
|
206
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-cli-preserve-cancelled-'));
|
|
207
|
+
try {
|
|
208
|
+
await initTeamState('runtime-cli-preserve-cancelled', 'task', 'executor', 1, cwd);
|
|
209
|
+
await createTask('runtime-cli-preserve-cancelled', {
|
|
210
|
+
subject: 'cancelled task',
|
|
211
|
+
description: 'team stopped for inspection',
|
|
212
|
+
status: 'blocked',
|
|
213
|
+
}, cwd);
|
|
214
|
+
const teamRoot = join(cwd, '.omx', 'state', 'team', 'runtime-cli-preserve-cancelled');
|
|
215
|
+
assert.equal(existsSync(teamRoot), true);
|
|
216
|
+
const runtimeCli = await loadRuntimeCliModule();
|
|
217
|
+
const result = runtimeCli.buildTerminalCliResult(runtimeCli.resolveRuntimeCliStateRoot(cwd), 'runtime-cli-preserve-cancelled', 'cancelled', 1, Date.now() - 1_000);
|
|
218
|
+
assert.equal(existsSync(teamRoot), true);
|
|
219
|
+
assert.equal(result.exitCode, 1);
|
|
220
|
+
assert.equal(result.output.status, 'failed');
|
|
221
|
+
assert.match(result.notice, /phase=cancelled/);
|
|
222
|
+
assert.match(result.notice, /omx team shutdown runtime-cli-preserve-cancelled/);
|
|
223
|
+
}
|
|
224
|
+
finally {
|
|
225
|
+
await rm(cwd, { recursive: true, force: true });
|
|
226
|
+
}
|
|
227
|
+
});
|
|
143
228
|
});
|
|
144
229
|
it('does not treat leader pane as a worker pane for dead-worker detection', async () => {
|
|
145
230
|
const runtimeCli = await loadRuntimeCliModule();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-cli.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/runtime-cli.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-cli.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/runtime-cli.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { tmpdir } from 'os';
|
|
|
7
7
|
import { existsSync } from 'fs';
|
|
8
8
|
import { HUD_TMUX_TEAM_HEIGHT_LINES } from '../../hud/constants.js';
|
|
9
9
|
import { initTeamState, createTask, readTeamConfig, saveTeamConfig, listMailboxMessages, listDispatchRequests, transitionDispatchRequest, updateWorkerHeartbeat, writeAtomic, readTask, readMonitorSnapshot, claimTask, transitionTaskStatus, writeWorkerStatus, } from '../state.js';
|
|
10
|
-
import { monitorTeam, shutdownTeam, resumeTeam, startTeam, assignTask, sendWorkerMessage, applyCreatedInteractiveSessionToConfig, resolveWorkerLaunchArgsFromEnv, waitForWorkerStartupEvidence, waitForClaudeStartupEvidence, } from '../runtime.js';
|
|
10
|
+
import { monitorTeam, shutdownTeam, resumeTeam, startTeam, assignTask, sendWorkerMessage, applyCreatedInteractiveSessionToConfig, resolveWorkerLaunchArgsFromEnv, shouldPrekillInteractiveShutdownProcessTrees, waitForWorkerStartupEvidence, waitForClaudeStartupEvidence, } from '../runtime.js';
|
|
11
11
|
import { resolveTeamLowComplexityDefaultModel } from '../model-contract.js';
|
|
12
12
|
import { readTeamEvents } from '../state/events.js';
|
|
13
13
|
async function initRepo() {
|
|
@@ -147,6 +147,41 @@ async function withMockTmuxFixture(options, run) {
|
|
|
147
147
|
await rm(fakeBinDir, { recursive: true, force: true });
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
|
+
async function withNativeWindowsPlatform(run) {
|
|
151
|
+
const prevMsystem = process.env.MSYSTEM;
|
|
152
|
+
const prevOstype = process.env.OSTYPE;
|
|
153
|
+
const prevWsl = process.env.WSL_DISTRO_NAME;
|
|
154
|
+
const prevWslInterop = process.env.WSL_INTEROP;
|
|
155
|
+
const origPlatform = Object.getOwnPropertyDescriptor(process, 'platform');
|
|
156
|
+
try {
|
|
157
|
+
delete process.env.MSYSTEM;
|
|
158
|
+
delete process.env.OSTYPE;
|
|
159
|
+
delete process.env.WSL_DISTRO_NAME;
|
|
160
|
+
delete process.env.WSL_INTEROP;
|
|
161
|
+
Object.defineProperty(process, 'platform', { value: 'win32', configurable: true });
|
|
162
|
+
return await run();
|
|
163
|
+
}
|
|
164
|
+
finally {
|
|
165
|
+
if (origPlatform)
|
|
166
|
+
Object.defineProperty(process, 'platform', origPlatform);
|
|
167
|
+
if (typeof prevMsystem === 'string')
|
|
168
|
+
process.env.MSYSTEM = prevMsystem;
|
|
169
|
+
else
|
|
170
|
+
delete process.env.MSYSTEM;
|
|
171
|
+
if (typeof prevOstype === 'string')
|
|
172
|
+
process.env.OSTYPE = prevOstype;
|
|
173
|
+
else
|
|
174
|
+
delete process.env.OSTYPE;
|
|
175
|
+
if (typeof prevWsl === 'string')
|
|
176
|
+
process.env.WSL_DISTRO_NAME = prevWsl;
|
|
177
|
+
else
|
|
178
|
+
delete process.env.WSL_DISTRO_NAME;
|
|
179
|
+
if (typeof prevWslInterop === 'string')
|
|
180
|
+
process.env.WSL_INTEROP = prevWslInterop;
|
|
181
|
+
else
|
|
182
|
+
delete process.env.WSL_INTEROP;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
150
185
|
const ORIGINAL_OMX_TEAM_STATE_ROOT = process.env.OMX_TEAM_STATE_ROOT;
|
|
151
186
|
beforeEach(() => {
|
|
152
187
|
delete process.env.OMX_TEAM_STATE_ROOT;
|
|
@@ -496,6 +531,13 @@ sleep 5
|
|
|
496
531
|
await rm(cwd, { recursive: true, force: true });
|
|
497
532
|
}
|
|
498
533
|
});
|
|
534
|
+
it('skips interactive worker process-tree prekill on native Windows split-pane sessions', async () => {
|
|
535
|
+
await withNativeWindowsPlatform(async () => {
|
|
536
|
+
assert.equal(shouldPrekillInteractiveShutdownProcessTrees('leader:0'), false);
|
|
537
|
+
assert.equal(shouldPrekillInteractiveShutdownProcessTrees('omx-team-alpha'), true);
|
|
538
|
+
});
|
|
539
|
+
assert.equal(shouldPrekillInteractiveShutdownProcessTrees('leader:0'), true);
|
|
540
|
+
});
|
|
499
541
|
it('startTeam accepts native Windows tmux clients even when TMUX env vars are absent', async () => {
|
|
500
542
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-win32-no-env-'));
|
|
501
543
|
const prevTmux = process.env.TMUX;
|
|
@@ -2895,6 +2937,80 @@ esac
|
|
|
2895
2937
|
await rm(cwd, { recursive: true, force: true });
|
|
2896
2938
|
}
|
|
2897
2939
|
});
|
|
2940
|
+
it('shutdownTeam skips prekill and keeps the leader pane alive on native Windows split-pane shutdown', async () => {
|
|
2941
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-shutdown-win32-split-'));
|
|
2942
|
+
try {
|
|
2943
|
+
await withNativeWindowsPlatform(async () => {
|
|
2944
|
+
await withMockTmuxFixture({
|
|
2945
|
+
dirPrefix: 'omx-runtime-shutdown-win32-split-bin-',
|
|
2946
|
+
tmuxScript: (tmuxLogPath) => `#!/bin/sh
|
|
2947
|
+
set -eu
|
|
2948
|
+
printf '%s\\n' "$*" >> "${tmuxLogPath}"
|
|
2949
|
+
case "$1" in
|
|
2950
|
+
-V)
|
|
2951
|
+
echo "tmux 3.4"
|
|
2952
|
+
exit 0
|
|
2953
|
+
;;
|
|
2954
|
+
list-panes)
|
|
2955
|
+
case "$*" in
|
|
2956
|
+
*"-F #{pane_dead} #{pane_pid}"*)
|
|
2957
|
+
exit 1
|
|
2958
|
+
;;
|
|
2959
|
+
*"-t leader:0 -F #{pane_id}"*"#{pane_current_command}"*)
|
|
2960
|
+
printf "%%11\\tpwsh\\tpwsh\\n%%12\\tnode\\tnode /tmp/bin/omx.js hud --watch\\n%%13\\tcodex\\tcodex\\n%%14\\tcodex\\tcodex\\n"
|
|
2961
|
+
exit 0
|
|
2962
|
+
;;
|
|
2963
|
+
*)
|
|
2964
|
+
exit 1
|
|
2965
|
+
;;
|
|
2966
|
+
esac
|
|
2967
|
+
;;
|
|
2968
|
+
split-window)
|
|
2969
|
+
printf '%%44\\n'
|
|
2970
|
+
exit 0
|
|
2971
|
+
;;
|
|
2972
|
+
kill-pane|resize-pane|select-pane)
|
|
2973
|
+
exit 0
|
|
2974
|
+
;;
|
|
2975
|
+
*)
|
|
2976
|
+
exit 0
|
|
2977
|
+
;;
|
|
2978
|
+
esac
|
|
2979
|
+
`,
|
|
2980
|
+
}, async ({ tmuxLogPath }) => {
|
|
2981
|
+
await initTeamState('team-shutdown-win32-split', 'shutdown win32 split test', 'executor', 2, cwd);
|
|
2982
|
+
const config = await readTeamConfig('team-shutdown-win32-split', cwd);
|
|
2983
|
+
assert.ok(config);
|
|
2984
|
+
if (!config)
|
|
2985
|
+
return;
|
|
2986
|
+
config.tmux_session = 'leader:0';
|
|
2987
|
+
config.leader_pane_id = '%11';
|
|
2988
|
+
config.hud_pane_id = '%12';
|
|
2989
|
+
config.workers[0].pane_id = '%13';
|
|
2990
|
+
config.workers[1].pane_id = '%14';
|
|
2991
|
+
await saveTeamConfig(config, cwd);
|
|
2992
|
+
await shutdownTeam('team-shutdown-win32-split', cwd, { force: true });
|
|
2993
|
+
const teamRoot = join(cwd, '.omx', 'state', 'team', 'team-shutdown-win32-split');
|
|
2994
|
+
assert.equal(existsSync(teamRoot), false);
|
|
2995
|
+
assert.equal(await readMonitorSnapshot('team-shutdown-win32-split', cwd), null);
|
|
2996
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
2997
|
+
assert.doesNotMatch(tmuxLog, /list-panes -t %13 -F #\{pane_pid\}/);
|
|
2998
|
+
assert.doesNotMatch(tmuxLog, /list-panes -t %14 -F #\{pane_pid\}/);
|
|
2999
|
+
assert.doesNotMatch(tmuxLog, /kill-pane -t %11/);
|
|
3000
|
+
assert.doesNotMatch(tmuxLog, /kill-session -t leader:0/);
|
|
3001
|
+
assert.match(tmuxLog, /kill-pane -t %12/);
|
|
3002
|
+
assert.match(tmuxLog, /kill-pane -t %13/);
|
|
3003
|
+
assert.match(tmuxLog, /kill-pane -t %14/);
|
|
3004
|
+
assert.match(tmuxLog, new RegExp(`split-window -v -l ${HUD_TMUX_TEAM_HEIGHT_LINES} -t %11 -d -P -F #\\{pane_id\\}`));
|
|
3005
|
+
assert.match(tmuxLog, new RegExp(`resize-pane -t %44 -y ${HUD_TMUX_TEAM_HEIGHT_LINES}`));
|
|
3006
|
+
assert.match(tmuxLog, /select-pane -t %11/);
|
|
3007
|
+
});
|
|
3008
|
+
});
|
|
3009
|
+
}
|
|
3010
|
+
finally {
|
|
3011
|
+
await rm(cwd, { recursive: true, force: true });
|
|
3012
|
+
}
|
|
3013
|
+
});
|
|
2898
3014
|
it('shutdownTeam restores a standalone HUD pane after tearing down the team HUD', async () => {
|
|
2899
3015
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-shutdown-restore-hud-'));
|
|
2900
3016
|
try {
|