oh-my-codex 0.18.8 → 0.18.10
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 +12 -12
- package/Cargo.toml +1 -1
- package/README.md +4 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.d.ts +2 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.d.ts.map +1 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.js +215 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.js.map +1 -0
- package/dist/autopilot/__tests__/fsm.test.js +3 -0
- package/dist/autopilot/__tests__/fsm.test.js.map +1 -1
- package/dist/autopilot/__tests__/ralplan-gate.test.js +148 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
- package/dist/autopilot/deep-interview-gate.d.ts.map +1 -1
- package/dist/autopilot/deep-interview-gate.js +140 -0
- package/dist/autopilot/deep-interview-gate.js.map +1 -1
- package/dist/autopilot/fsm.js +2 -2
- package/dist/autopilot/fsm.js.map +1 -1
- package/dist/cli/__tests__/auth.test.js +37 -2
- package/dist/cli/__tests__/auth.test.js.map +1 -1
- package/dist/cli/__tests__/codex-feature-probe.test.d.ts +2 -0
- package/dist/cli/__tests__/codex-feature-probe.test.d.ts.map +1 -0
- package/dist/cli/__tests__/codex-feature-probe.test.js +46 -0
- package/dist/cli/__tests__/codex-feature-probe.test.js.map +1 -0
- package/dist/cli/__tests__/codex-plugin-layout.test.js +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +2 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +288 -6
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +19 -5
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +39 -10
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/question.test.js +26 -9
- package/dist/cli/__tests__/question.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +50 -1
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +6 -2
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-packaging.test.js +45 -2
- package/dist/cli/__tests__/sparkshell-packaging.test.js.map +1 -1
- package/dist/cli/__tests__/team-decompose.test.js +10 -5
- package/dist/cli/__tests__/team-decompose.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +45 -1
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +75 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/__tests__/update.test.js +214 -17
- package/dist/cli/__tests__/update.test.js.map +1 -1
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +25 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/codex-feature-probe.d.ts +5 -2
- package/dist/cli/codex-feature-probe.d.ts.map +1 -1
- package/dist/cli/codex-feature-probe.js +25 -9
- package/dist/cli/codex-feature-probe.js.map +1 -1
- package/dist/cli/index.d.ts +39 -5
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +184 -101
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +9 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts +4 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +43 -4
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/ultragoal.d.ts.map +1 -1
- package/dist/cli/ultragoal.js +29 -0
- package/dist/cli/ultragoal.js.map +1 -1
- package/dist/cli/update.d.ts +20 -3
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +265 -23
- package/dist/cli/update.js.map +1 -1
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +5 -9
- package/dist/cli/version.js.map +1 -1
- package/dist/compat/__tests__/doctor-contract.test.js +12 -1
- package/dist/compat/__tests__/doctor-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +1 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js +15 -0
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/code-review-skill-contract.test.js +7 -3
- package/dist/hooks/__tests__/code-review-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/deep-interview-contract.test.js +46 -1
- package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/skill-guidance-contract.test.js +14 -5
- package/dist/hooks/__tests__/skill-guidance-contract.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +2 -1
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/plugin-runner.test.js +112 -1
- package/dist/hooks/extensibility/__tests__/plugin-runner.test.js.map +1 -1
- package/dist/hooks/extensibility/plugin-runner-stdin.d.ts +2 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.d.ts.map +1 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.js +16 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.js.map +1 -0
- package/dist/hooks/extensibility/plugin-runner.js +2 -4
- package/dist/hooks/extensibility/plugin-runner.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +23 -2
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +387 -0
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +28 -0
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +118 -7
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/index.d.ts +6 -1
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +12 -3
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/reconcile.d.ts +6 -2
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +58 -28
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +4 -18
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/tmux.d.ts +14 -1
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +129 -15
- package/dist/hud/tmux.js.map +1 -1
- package/dist/question/__tests__/renderer.test.js +566 -1
- package/dist/question/__tests__/renderer.test.js.map +1 -1
- package/dist/question/renderer.d.ts +9 -1
- package/dist/question/renderer.d.ts.map +1 -1
- package/dist/question/renderer.js +246 -70
- package/dist/question/renderer.js.map +1 -1
- package/dist/ralplan/consensus-gate.js +9 -1
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +322 -15
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/run-test-files.test.js +115 -1
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +94 -20
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.js +54 -21
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
- package/dist/scripts/run-test-files.js +218 -160
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +463 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/team/__tests__/delivery-log.test.js +18 -0
- package/dist/team/__tests__/delivery-log.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +48 -0
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +107 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.d.ts.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.js +14 -2
- package/dist/team/__tests__/tmux-test-fixture.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.test.js +1 -0
- package/dist/team/__tests__/tmux-test-fixture.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +54 -1
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/delivery-log.d.ts +1 -1
- package/dist/team/delivery-log.d.ts.map +1 -1
- package/dist/team/delivery-log.js.map +1 -1
- package/dist/team/repo-aware-decomposition.d.ts +4 -0
- package/dist/team/repo-aware-decomposition.d.ts.map +1 -1
- package/dist/team/repo-aware-decomposition.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +78 -9
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/tmux-session.d.ts +1 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +16 -5
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/ultragoal-context.d.ts +12 -0
- package/dist/team/ultragoal-context.d.ts.map +1 -1
- package/dist/team/ultragoal-context.js +32 -8
- package/dist/team/ultragoal-context.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +23 -0
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/__tests__/platform-command.test.js +16 -1
- package/dist/utils/__tests__/platform-command.test.js.map +1 -1
- package/dist/utils/__tests__/version.test.d.ts +2 -0
- package/dist/utils/__tests__/version.test.d.ts.map +1 -0
- package/dist/utils/__tests__/version.test.js +51 -0
- package/dist/utils/__tests__/version.test.js.map +1 -0
- package/dist/utils/paths.d.ts +8 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +20 -6
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/platform-command.d.ts +9 -0
- package/dist/utils/platform-command.d.ts.map +1 -1
- package/dist/utils/platform-command.js +15 -0
- package/dist/utils/platform-command.js.map +1 -1
- package/dist/utils/toml.d.ts +4 -0
- package/dist/utils/toml.d.ts.map +1 -0
- package/dist/utils/toml.js +75 -0
- package/dist/utils/toml.js.map +1 -0
- package/dist/utils/version.d.ts +7 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +67 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/verification/__tests__/ci-rust-gates.test.js +8 -0
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +16 -2
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js.map +1 -1
- package/package.json +4 -3
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/autopilot/SKILL.md +3 -0
- package/plugins/oh-my-codex/skills/code-review/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +85 -11
- package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +32 -17
- package/skills/autopilot/SKILL.md +3 -0
- package/skills/code-review/SKILL.md +2 -2
- package/skills/deep-interview/SKILL.md +85 -11
- package/skills/ultrawork/SKILL.md +32 -17
- package/src/scripts/__tests__/codex-native-hook.test.ts +391 -26
- package/src/scripts/__tests__/run-test-files.test.ts +138 -2
- package/src/scripts/codex-native-hook.ts +99 -17
- package/src/scripts/notify-hook/team-worker-stop.ts +58 -18
- package/src/scripts/prepare-build.js +83 -0
- package/src/scripts/run-test-files.ts +229 -150
- package/templates/AGENTS.md +40 -199
- package/src/scripts/postinstall-bootstrap.js +0 -23
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { describe, it, mock } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
3
4
|
import { mkdtemp, readFile, rm } from 'node:fs/promises';
|
|
4
5
|
import { join } from 'node:path';
|
|
5
6
|
import { tmpdir } from 'node:os';
|
|
@@ -49,6 +50,80 @@ async function capture(run) {
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
describe('cli/ultragoal', () => {
|
|
53
|
+
it('refuses mutating ultragoal commands from Team worker environments', async () => {
|
|
54
|
+
const mutators = [
|
|
55
|
+
['create-goals', '--brief', 'worker must not create'],
|
|
56
|
+
['create', '--brief', 'worker must not create'],
|
|
57
|
+
['add-goal', '--title', 'Worker goal', '--objective', 'Do not add'],
|
|
58
|
+
['steer', '--kind', 'add_subgoal', '--title', 'Worker steer', '--objective', 'Do not steer', '--evidence', 'worker evidence', '--rationale', 'worker rationale'],
|
|
59
|
+
['record-review-blockers', '--goal-id', 'G001-first', '--title', 'Blocker', '--objective', 'Do not record', '--evidence', 'worker evidence', '--codex-goal-json', JSON.stringify({ goal: { objective: 'x', status: 'active' } })],
|
|
60
|
+
['complete-goals'],
|
|
61
|
+
['complete'],
|
|
62
|
+
['next'],
|
|
63
|
+
['start-next'],
|
|
64
|
+
['checkpoint', '--goal-id', 'G001-first', '--status', 'complete', '--evidence', 'worker evidence'],
|
|
65
|
+
];
|
|
66
|
+
const envCases = [
|
|
67
|
+
['OMX_TEAM_WORKER', 'display-team/worker-1'],
|
|
68
|
+
['OMX_TEAM_INTERNAL_WORKER', 'internal-team/worker-1'],
|
|
69
|
+
];
|
|
70
|
+
for (const [envName, envValue] of envCases) {
|
|
71
|
+
for (const args of mutators) {
|
|
72
|
+
await withCwd(async (cwd) => {
|
|
73
|
+
const previousPublic = process.env.OMX_TEAM_WORKER;
|
|
74
|
+
const previousInternal = process.env.OMX_TEAM_INTERNAL_WORKER;
|
|
75
|
+
delete process.env.OMX_TEAM_WORKER;
|
|
76
|
+
delete process.env.OMX_TEAM_INTERNAL_WORKER;
|
|
77
|
+
process.env[envName] = envValue;
|
|
78
|
+
try {
|
|
79
|
+
const result = await capture(() => ultragoalCommand(args));
|
|
80
|
+
assert.equal(result.exitCode, 1, `${envName} should block ${args[0]}`);
|
|
81
|
+
assert.match(result.stderr.join('\n'), /leader-owned/i);
|
|
82
|
+
assert.match(result.stderr.join('\n'), /report checkpoint evidence upward/i);
|
|
83
|
+
assert.equal(existsSync(join(cwd, '.omx/ultragoal/goals.json')), false);
|
|
84
|
+
assert.equal(existsSync(join(cwd, '.omx/ultragoal/ledger.jsonl')), false);
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
if (typeof previousPublic === 'string')
|
|
88
|
+
process.env.OMX_TEAM_WORKER = previousPublic;
|
|
89
|
+
else
|
|
90
|
+
delete process.env.OMX_TEAM_WORKER;
|
|
91
|
+
if (typeof previousInternal === 'string')
|
|
92
|
+
process.env.OMX_TEAM_INTERNAL_WORKER = previousInternal;
|
|
93
|
+
else
|
|
94
|
+
delete process.env.OMX_TEAM_INTERNAL_WORKER;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
it('allows ultragoal help and status from Team worker environments', async () => {
|
|
101
|
+
await withCwd(async () => {
|
|
102
|
+
await capture(() => ultragoalCommand(['create-goals', '--brief', '- First milestone']));
|
|
103
|
+
const previousPublic = process.env.OMX_TEAM_WORKER;
|
|
104
|
+
const previousInternal = process.env.OMX_TEAM_INTERNAL_WORKER;
|
|
105
|
+
process.env.OMX_TEAM_WORKER = 'display-team/worker-1';
|
|
106
|
+
process.env.OMX_TEAM_INTERNAL_WORKER = 'internal-team/worker-1';
|
|
107
|
+
try {
|
|
108
|
+
const help = await capture(() => ultragoalCommand(['help']));
|
|
109
|
+
assert.equal(help.exitCode, undefined);
|
|
110
|
+
assert.match(help.stdout.join('\n'), /omx ultragoal/);
|
|
111
|
+
const status = await capture(() => ultragoalCommand(['status']));
|
|
112
|
+
assert.equal(status.exitCode, undefined);
|
|
113
|
+
assert.match(status.stdout.join('\n'), /ultragoal:/);
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
if (typeof previousPublic === 'string')
|
|
117
|
+
process.env.OMX_TEAM_WORKER = previousPublic;
|
|
118
|
+
else
|
|
119
|
+
delete process.env.OMX_TEAM_WORKER;
|
|
120
|
+
if (typeof previousInternal === 'string')
|
|
121
|
+
process.env.OMX_TEAM_INTERNAL_WORKER = previousInternal;
|
|
122
|
+
else
|
|
123
|
+
delete process.env.OMX_TEAM_INTERNAL_WORKER;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
52
127
|
it('prints help with artifact and goal-mode constraints', async () => {
|
|
53
128
|
assert.match(ULTRAGOAL_HELP, /create-goals/);
|
|
54
129
|
assert.match(ULTRAGOAL_HELP, /complete-goals/);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ultragoal.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ultragoal.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ultragoal.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ultragoal.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { describe, it } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
+
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
3
4
|
import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
|
|
4
5
|
import { dirname, join } from 'node:path';
|
|
5
6
|
import { tmpdir } from 'node:os';
|
|
6
|
-
import { isInstallVersionBump, isNewerVersion, maybeCheckAndPromptUpdate, readUserInstallStamp, resolveAutoUpdateMode, resolveInstalledCliEntry, formatDeferredSetupCommand, resolveSetupRefreshArgs, runDeferredGlobalUpdate, runImmediateUpdate, shouldCheckForUpdates, spawnInstalledSetupRefresh, writeUserInstallStamp, } from '../update.js';
|
|
7
|
+
import { isInstallVersionBump, isNewerVersion, maybeCheckAndPromptUpdate, readUserInstallStamp, resolveAutoUpdateMode, resolveGlobalInstallRoot, resolveInstalledCliEntry, formatDeferredSetupCommand, resolveSetupRefreshArgs, runDeferredGlobalUpdate, runGlobalUpdate, runImmediateUpdate, shouldCheckForUpdates, spawnInstalledSetupRefresh, writeUserInstallStamp, } from '../update.js';
|
|
7
8
|
const PACKAGE_NAME = 'oh-my-codex';
|
|
8
9
|
describe('isNewerVersion', () => {
|
|
9
10
|
it('returns true when latest has higher major', () => {
|
|
@@ -151,6 +152,7 @@ describe('maybeCheckAndPromptUpdate', () => {
|
|
|
151
152
|
}
|
|
152
153
|
it('schedules a deferred update after a successful startup prompt', async () => {
|
|
153
154
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-'));
|
|
155
|
+
const originalMode = process.env.OMX_AUTO_UPDATE;
|
|
154
156
|
const originalLog = console.log;
|
|
155
157
|
const logs = [];
|
|
156
158
|
let inlineUpdateCalls = 0;
|
|
@@ -159,6 +161,7 @@ describe('maybeCheckAndPromptUpdate', () => {
|
|
|
159
161
|
console.log = (...args) => {
|
|
160
162
|
logs.push(args.map((arg) => String(arg)).join(' '));
|
|
161
163
|
};
|
|
164
|
+
delete process.env.OMX_AUTO_UPDATE;
|
|
162
165
|
try {
|
|
163
166
|
await withInteractiveTty(async () => {
|
|
164
167
|
await maybeCheckAndPromptUpdate(cwd, {
|
|
@@ -189,15 +192,23 @@ describe('maybeCheckAndPromptUpdate', () => {
|
|
|
189
192
|
assert.match(logs.join('\n'), /Log: .*update-test\.log/);
|
|
190
193
|
}
|
|
191
194
|
finally {
|
|
195
|
+
if (typeof originalMode === 'string') {
|
|
196
|
+
process.env.OMX_AUTO_UPDATE = originalMode;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
delete process.env.OMX_AUTO_UPDATE;
|
|
200
|
+
}
|
|
192
201
|
console.log = originalLog;
|
|
193
202
|
await rm(cwd, { recursive: true, force: true });
|
|
194
203
|
}
|
|
195
204
|
});
|
|
196
205
|
it('keeps startup update deferred so local setup is not refreshed inline', async () => {
|
|
197
206
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-'));
|
|
207
|
+
const originalMode = process.env.OMX_AUTO_UPDATE;
|
|
198
208
|
const originalLog = console.log;
|
|
199
209
|
const receivedCwds = [];
|
|
200
210
|
console.log = () => undefined;
|
|
211
|
+
delete process.env.OMX_AUTO_UPDATE;
|
|
201
212
|
try {
|
|
202
213
|
await withInteractiveTty(async () => {
|
|
203
214
|
await maybeCheckAndPromptUpdate(cwd, {
|
|
@@ -216,6 +227,12 @@ describe('maybeCheckAndPromptUpdate', () => {
|
|
|
216
227
|
assert.deepEqual(receivedCwds, [cwd]);
|
|
217
228
|
}
|
|
218
229
|
finally {
|
|
230
|
+
if (typeof originalMode === 'string') {
|
|
231
|
+
process.env.OMX_AUTO_UPDATE = originalMode;
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
delete process.env.OMX_AUTO_UPDATE;
|
|
235
|
+
}
|
|
219
236
|
console.log = originalLog;
|
|
220
237
|
await rm(cwd, { recursive: true, force: true });
|
|
221
238
|
}
|
|
@@ -296,12 +313,14 @@ describe('maybeCheckAndPromptUpdate', () => {
|
|
|
296
313
|
});
|
|
297
314
|
it('reports scheduler diagnostics when startup deferral cannot be launched', async () => {
|
|
298
315
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-'));
|
|
316
|
+
const originalMode = process.env.OMX_AUTO_UPDATE;
|
|
299
317
|
const originalLog = console.log;
|
|
300
318
|
const logs = [];
|
|
301
319
|
let setupRefreshCalls = 0;
|
|
302
320
|
console.log = (...args) => {
|
|
303
321
|
logs.push(args.map((arg) => String(arg)).join(' '));
|
|
304
322
|
};
|
|
323
|
+
delete process.env.OMX_AUTO_UPDATE;
|
|
305
324
|
try {
|
|
306
325
|
await withInteractiveTty(async () => {
|
|
307
326
|
await maybeCheckAndPromptUpdate(cwd, {
|
|
@@ -321,6 +340,12 @@ describe('maybeCheckAndPromptUpdate', () => {
|
|
|
321
340
|
assert.match(logs.join('\n'), /update-test\.log/);
|
|
322
341
|
}
|
|
323
342
|
finally {
|
|
343
|
+
if (typeof originalMode === 'string') {
|
|
344
|
+
process.env.OMX_AUTO_UPDATE = originalMode;
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
delete process.env.OMX_AUTO_UPDATE;
|
|
348
|
+
}
|
|
324
349
|
console.log = originalLog;
|
|
325
350
|
await rm(cwd, { recursive: true, force: true });
|
|
326
351
|
}
|
|
@@ -380,6 +405,89 @@ describe('maybeCheckAndPromptUpdate', () => {
|
|
|
380
405
|
}
|
|
381
406
|
});
|
|
382
407
|
});
|
|
408
|
+
describe('direct npm spawn fallback', () => {
|
|
409
|
+
function enoentResult() {
|
|
410
|
+
const error = Object.assign(new Error('spawnSync npm ENOENT'), { code: 'ENOENT' });
|
|
411
|
+
return { status: null, signal: null, error, stdout: '', stderr: '', output: [null, '', ''], pid: 0 };
|
|
412
|
+
}
|
|
413
|
+
function okResult(stdout = '') {
|
|
414
|
+
return { status: 0, signal: null, error: undefined, stdout, stderr: '', output: [null, stdout, ''], pid: 0 };
|
|
415
|
+
}
|
|
416
|
+
it('falls back to npm.cmd for win32 global installs when direct npm spawn returns ENOENT', () => {
|
|
417
|
+
const calls = [];
|
|
418
|
+
const result = runGlobalUpdate(((command, args) => {
|
|
419
|
+
calls.push({ command, args: args });
|
|
420
|
+
return command === 'npm' ? enoentResult() : okResult();
|
|
421
|
+
}), 'win32');
|
|
422
|
+
assert.equal(result.ok, true);
|
|
423
|
+
assert.deepEqual(calls.map((call) => call.command), ['npm', 'npm.cmd']);
|
|
424
|
+
assert.deepEqual(calls[0].args, ['install', '-g', 'oh-my-codex@latest']);
|
|
425
|
+
assert.deepEqual(calls[1].args, ['install', '-g', 'oh-my-codex@latest']);
|
|
426
|
+
});
|
|
427
|
+
it('does not fall back to npm.cmd for non-Windows ENOENT failures', () => {
|
|
428
|
+
const calls = [];
|
|
429
|
+
const result = runGlobalUpdate(((command) => {
|
|
430
|
+
calls.push(command);
|
|
431
|
+
return enoentResult();
|
|
432
|
+
}), 'linux');
|
|
433
|
+
assert.equal(result.ok, false);
|
|
434
|
+
assert.match(result.stderr, /ENOENT/);
|
|
435
|
+
assert.deepEqual(calls, ['npm']);
|
|
436
|
+
});
|
|
437
|
+
it('packs the dev branch from a local checkout instead of globally installing the git dependency spec', () => {
|
|
438
|
+
const originalNpmLocation = process.env.npm_config_location;
|
|
439
|
+
const calls = [];
|
|
440
|
+
process.env.npm_config_location = 'global';
|
|
441
|
+
try {
|
|
442
|
+
const result = runGlobalUpdate('github:Yeachan-Heo/oh-my-codex#dev', ((command, args, options) => {
|
|
443
|
+
calls.push({ command, args: args, cwd: options?.cwd, env: options?.env });
|
|
444
|
+
if (command === 'git' && args[0] === 'clone') {
|
|
445
|
+
mkdirSync(String(args[args.length - 1]), { recursive: true });
|
|
446
|
+
}
|
|
447
|
+
if (command === 'git' && args[0] === 'rev-parse') {
|
|
448
|
+
return okResult('1234567890abcdef\n');
|
|
449
|
+
}
|
|
450
|
+
if (command === 'npm' && args[0] === 'pack') {
|
|
451
|
+
writeFileSync(join(options?.cwd ?? process.cwd(), 'oh-my-codex-0.18.9.tgz'), 'packed');
|
|
452
|
+
return okResult(JSON.stringify([{ filename: 'oh-my-codex-0.18.9.tgz' }]));
|
|
453
|
+
}
|
|
454
|
+
return okResult();
|
|
455
|
+
}), 'linux');
|
|
456
|
+
assert.equal(result.ok, true);
|
|
457
|
+
assert.deepEqual(calls.map((call) => [call.command, ...call.args.slice(0, 3)]), [
|
|
458
|
+
['git', 'clone', '--depth', '1'],
|
|
459
|
+
['git', 'rev-parse', 'HEAD'],
|
|
460
|
+
['npm', 'install', '--global=false', '--location=project'],
|
|
461
|
+
['npm', 'run', 'prepack'],
|
|
462
|
+
['npm', 'pack', '--ignore-scripts', '--json'],
|
|
463
|
+
['npm', 'install', '-g', join(calls[2].cwd ?? '', 'oh-my-codex-0.18.9.tgz')],
|
|
464
|
+
]);
|
|
465
|
+
const dependencyInstall = calls.find((call) => call.command === 'npm' && call.args[0] === 'install' && call.args.includes('--include=dev'));
|
|
466
|
+
assert.equal(dependencyInstall?.env?.npm_config_global, 'false');
|
|
467
|
+
assert.equal(dependencyInstall?.env?.npm_config_location, 'project');
|
|
468
|
+
assert.equal(calls.some((call) => call.args.includes('github:Yeachan-Heo/oh-my-codex#dev')), false);
|
|
469
|
+
}
|
|
470
|
+
finally {
|
|
471
|
+
if (typeof originalNpmLocation === 'string') {
|
|
472
|
+
process.env.npm_config_location = originalNpmLocation;
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
delete process.env.npm_config_location;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
it('falls back to npm.cmd for win32 global-root lookup when direct npm spawn returns ENOENT', () => {
|
|
480
|
+
const calls = [];
|
|
481
|
+
const root = resolveGlobalInstallRoot(((command, args) => {
|
|
482
|
+
calls.push({ command, args: args });
|
|
483
|
+
return command === 'npm' ? enoentResult() : okResult('C:\\Users\\alice\\AppData\\Roaming\\npm\\node_modules\r\n');
|
|
484
|
+
}), 'win32');
|
|
485
|
+
assert.equal(root, 'C:\\Users\\alice\\AppData\\Roaming\\npm\\node_modules');
|
|
486
|
+
assert.deepEqual(calls.map((call) => call.command), ['npm', 'npm.cmd']);
|
|
487
|
+
assert.deepEqual(calls[0].args, ['root', '-g']);
|
|
488
|
+
assert.deepEqual(calls[1].args, ['root', '-g']);
|
|
489
|
+
});
|
|
490
|
+
});
|
|
383
491
|
describe('runImmediateUpdate', () => {
|
|
384
492
|
it('bypasses the passive cadence and updates immediately on explicit request', async () => {
|
|
385
493
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-now-'));
|
|
@@ -390,6 +498,7 @@ describe('runImmediateUpdate', () => {
|
|
|
390
498
|
const logs = [];
|
|
391
499
|
let setupCalls = 0;
|
|
392
500
|
const refreshCwds = [];
|
|
501
|
+
const installSources = [];
|
|
393
502
|
let updateCalls = 0;
|
|
394
503
|
let latestCalls = 0;
|
|
395
504
|
console.log = (...args) => {
|
|
@@ -408,8 +517,9 @@ describe('runImmediateUpdate', () => {
|
|
|
408
517
|
latestCalls += 1;
|
|
409
518
|
return '0.14.1';
|
|
410
519
|
},
|
|
411
|
-
runGlobalUpdate: () => {
|
|
520
|
+
runGlobalUpdate: (installSource) => {
|
|
412
521
|
updateCalls += 1;
|
|
522
|
+
installSources.push(installSource);
|
|
413
523
|
return { ok: true, stderr: '' };
|
|
414
524
|
},
|
|
415
525
|
runSetupRefresh: async (refreshCwd) => {
|
|
@@ -421,10 +531,13 @@ describe('runImmediateUpdate', () => {
|
|
|
421
531
|
assert.equal(result.status, 'updated');
|
|
422
532
|
assert.equal(latestCalls, 1);
|
|
423
533
|
assert.equal(updateCalls, 1);
|
|
534
|
+
assert.deepEqual(installSources, [`${PACKAGE_NAME}@latest`]);
|
|
424
535
|
assert.equal(setupCalls, 1);
|
|
425
536
|
assert.deepEqual(refreshCwds, [cwd]);
|
|
537
|
+
assert.match(logs.join('\n'), /Selected update channel: stable/);
|
|
538
|
+
assert.match(logs.join('\n'), /Install source: oh-my-codex@latest/);
|
|
426
539
|
assert.match(logs.join('\n'), /Running: npm install -g oh-my-codex@latest/);
|
|
427
|
-
assert.match(logs.join('\n'), /Updated to v0\.14\.1/);
|
|
540
|
+
assert.match(logs.join('\n'), /Updated stable channel to v0\.14\.1/);
|
|
428
541
|
const stamp = JSON.parse(await readFile(stampPath, 'utf-8'));
|
|
429
542
|
assert.equal(stamp.installed_version, '0.14.1');
|
|
430
543
|
assert.equal(stamp.setup_completed_version, '0.14.1');
|
|
@@ -440,12 +553,13 @@ describe('runImmediateUpdate', () => {
|
|
|
440
553
|
await rm(cwd, { recursive: true, force: true });
|
|
441
554
|
}
|
|
442
555
|
});
|
|
443
|
-
it('
|
|
556
|
+
it('force-installs stable for explicit update even when npm is already current', async () => {
|
|
444
557
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-now-'));
|
|
445
558
|
const stampPath = join(cwd, '.codex', '.omx', 'install-state.json');
|
|
446
559
|
const originalCodexHome = process.env.CODEX_HOME;
|
|
447
560
|
const originalLog = console.log;
|
|
448
561
|
const logs = [];
|
|
562
|
+
const installSources = [];
|
|
449
563
|
let updateCalls = 0;
|
|
450
564
|
let refreshCalls = 0;
|
|
451
565
|
console.log = (...args) => {
|
|
@@ -461,8 +575,9 @@ describe('runImmediateUpdate', () => {
|
|
|
461
575
|
const result = await runImmediateUpdate(cwd, {
|
|
462
576
|
getCurrentVersion: async () => '0.14.0',
|
|
463
577
|
fetchLatestVersion: async () => '0.14.0',
|
|
464
|
-
runGlobalUpdate: () => {
|
|
578
|
+
runGlobalUpdate: (installSource) => {
|
|
465
579
|
updateCalls += 1;
|
|
580
|
+
installSources.push(installSource);
|
|
466
581
|
return { ok: true, stderr: '' };
|
|
467
582
|
},
|
|
468
583
|
runSetupRefresh: async () => {
|
|
@@ -470,10 +585,12 @@ describe('runImmediateUpdate', () => {
|
|
|
470
585
|
return { ok: true, stderr: '' };
|
|
471
586
|
},
|
|
472
587
|
});
|
|
473
|
-
assert.equal(result.status, '
|
|
474
|
-
assert.equal(updateCalls,
|
|
475
|
-
assert.equal(refreshCalls,
|
|
476
|
-
assert.
|
|
588
|
+
assert.equal(result.status, 'updated');
|
|
589
|
+
assert.equal(updateCalls, 1);
|
|
590
|
+
assert.equal(refreshCalls, 1);
|
|
591
|
+
assert.deepEqual(installSources, [`${PACKAGE_NAME}@latest`]);
|
|
592
|
+
assert.match(logs.join('\n'), /Selected update channel: stable/);
|
|
593
|
+
assert.match(logs.join('\n'), /Running: npm install -g oh-my-codex@latest/);
|
|
477
594
|
}
|
|
478
595
|
finally {
|
|
479
596
|
console.log = originalLog;
|
|
@@ -486,12 +603,14 @@ describe('runImmediateUpdate', () => {
|
|
|
486
603
|
await rm(cwd, { recursive: true, force: true });
|
|
487
604
|
}
|
|
488
605
|
});
|
|
489
|
-
it('
|
|
606
|
+
it('uses stable as a rollback path while preserving persisted setup preferences', async () => {
|
|
490
607
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-now-'));
|
|
491
608
|
const stampPath = join(cwd, '.codex', '.omx', 'install-state.json');
|
|
492
609
|
const originalCodexHome = process.env.CODEX_HOME;
|
|
493
610
|
const originalLog = console.log;
|
|
494
611
|
const logs = [];
|
|
612
|
+
const installSources = [];
|
|
613
|
+
const setupArgs = resolveSetupRefreshArgs;
|
|
495
614
|
let refreshCalls = 0;
|
|
496
615
|
console.log = (...args) => {
|
|
497
616
|
logs.push(args.map((arg) => String(arg)).join(' '));
|
|
@@ -503,21 +622,34 @@ describe('runImmediateUpdate', () => {
|
|
|
503
622
|
setup_completed_version: '0.13.9',
|
|
504
623
|
updated_at: '2026-04-20T00:00:00.000Z',
|
|
505
624
|
}, stampPath);
|
|
625
|
+
await mkdir(join(cwd, '.omx'), { recursive: true });
|
|
626
|
+
await writeFile(join(cwd, '.omx', 'setup-scope.json'), JSON.stringify({ scope: 'user', installMode: 'plugin', mcpMode: 'none', teamMode: 'disabled' }, null, 2));
|
|
506
627
|
const result = await runImmediateUpdate(cwd, {
|
|
507
628
|
getCurrentVersion: async () => '0.14.0',
|
|
508
629
|
fetchLatestVersion: async () => '0.14.0',
|
|
509
|
-
runGlobalUpdate: () => {
|
|
510
|
-
|
|
630
|
+
runGlobalUpdate: (installSource) => {
|
|
631
|
+
installSources.push(installSource);
|
|
632
|
+
return { ok: true, stderr: '', revision: '1234567890ab' };
|
|
511
633
|
},
|
|
512
634
|
runSetupRefresh: async () => {
|
|
513
635
|
refreshCalls += 1;
|
|
636
|
+
assert.deepEqual(setupArgs(cwd), [
|
|
637
|
+
'setup',
|
|
638
|
+
'--scope',
|
|
639
|
+
'user',
|
|
640
|
+
'--plugin',
|
|
641
|
+
'--mcp',
|
|
642
|
+
'none',
|
|
643
|
+
'--disable-team',
|
|
644
|
+
]);
|
|
514
645
|
return { ok: true, stderr: '' };
|
|
515
646
|
},
|
|
516
|
-
});
|
|
517
|
-
assert.equal(result.status, '
|
|
647
|
+
}, { channel: 'stable' });
|
|
648
|
+
assert.equal(result.status, 'updated');
|
|
649
|
+
assert.deepEqual(installSources, [`${PACKAGE_NAME}@latest`]);
|
|
518
650
|
assert.equal(refreshCalls, 1);
|
|
519
|
-
assert.match(logs.join('\n'), /
|
|
520
|
-
assert.match(logs.join('\n'), /
|
|
651
|
+
assert.match(logs.join('\n'), /Selected update channel: stable/);
|
|
652
|
+
assert.match(logs.join('\n'), /Install source: oh-my-codex@latest/);
|
|
521
653
|
const stamp = JSON.parse(await readFile(stampPath, 'utf-8'));
|
|
522
654
|
assert.equal(stamp.installed_version, '0.14.0');
|
|
523
655
|
assert.equal(stamp.setup_completed_version, '0.14.0');
|
|
@@ -533,8 +665,66 @@ describe('runImmediateUpdate', () => {
|
|
|
533
665
|
await rm(cwd, { recursive: true, force: true });
|
|
534
666
|
}
|
|
535
667
|
});
|
|
668
|
+
it('installs the upstream dev branch without implying npm latest', async () => {
|
|
669
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-now-dev-'));
|
|
670
|
+
const stampPath = join(cwd, '.codex', '.omx', 'install-state.json');
|
|
671
|
+
const originalCodexHome = process.env.CODEX_HOME;
|
|
672
|
+
const originalLog = console.log;
|
|
673
|
+
const logs = [];
|
|
674
|
+
const installSources = [];
|
|
675
|
+
let latestCalls = 0;
|
|
676
|
+
let refreshCalls = 0;
|
|
677
|
+
console.log = (...args) => {
|
|
678
|
+
logs.push(args.map((arg) => String(arg)).join(' '));
|
|
679
|
+
};
|
|
680
|
+
process.env.CODEX_HOME = join(cwd, '.codex');
|
|
681
|
+
try {
|
|
682
|
+
const result = await runImmediateUpdate(cwd, {
|
|
683
|
+
getCurrentVersion: async () => '0.14.0',
|
|
684
|
+
fetchLatestVersion: async () => {
|
|
685
|
+
latestCalls += 1;
|
|
686
|
+
return '0.14.0';
|
|
687
|
+
},
|
|
688
|
+
runGlobalUpdate: (installSource) => {
|
|
689
|
+
installSources.push(installSource);
|
|
690
|
+
return { ok: true, stderr: '', revision: '1234567890ab' };
|
|
691
|
+
},
|
|
692
|
+
runSetupRefresh: async () => {
|
|
693
|
+
refreshCalls += 1;
|
|
694
|
+
return { ok: true, stderr: '' };
|
|
695
|
+
},
|
|
696
|
+
getInstalledVersionAfterUpdate: async () => '0.15.0',
|
|
697
|
+
getInstalledRevisionAfterUpdate: async () => null,
|
|
698
|
+
}, { channel: 'dev' });
|
|
699
|
+
assert.equal(result.status, 'updated');
|
|
700
|
+
assert.equal(latestCalls, 0);
|
|
701
|
+
assert.equal(refreshCalls, 1);
|
|
702
|
+
assert.deepEqual(installSources, ['github:Yeachan-Heo/oh-my-codex#dev']);
|
|
703
|
+
assert.match(logs.join('\n'), /Selected update channel: dev/);
|
|
704
|
+
assert.match(logs.join('\n'), /Install source: github:Yeachan-Heo\/oh-my-codex#dev/);
|
|
705
|
+
assert.match(logs.join('\n'), /Running: clone dev branch, run prepack, then npm install -g the packed tarball/);
|
|
706
|
+
assert.doesNotMatch(logs.join('\n'), /dev.*oh-my-codex@latest/i);
|
|
707
|
+
const stamp = JSON.parse(await readFile(stampPath, 'utf-8'));
|
|
708
|
+
assert.equal(stamp.installed_version, '0.15.0');
|
|
709
|
+
assert.equal(stamp.setup_completed_version, '0.15.0');
|
|
710
|
+
assert.equal(stamp.install_channel, 'dev');
|
|
711
|
+
assert.equal(stamp.install_source, 'github:Yeachan-Heo/oh-my-codex#dev');
|
|
712
|
+
assert.equal(stamp.install_revision, '1234567890ab');
|
|
713
|
+
}
|
|
714
|
+
finally {
|
|
715
|
+
console.log = originalLog;
|
|
716
|
+
if (typeof originalCodexHome === 'string') {
|
|
717
|
+
process.env.CODEX_HOME = originalCodexHome;
|
|
718
|
+
}
|
|
719
|
+
else {
|
|
720
|
+
delete process.env.CODEX_HOME;
|
|
721
|
+
}
|
|
722
|
+
await rm(cwd, { recursive: true, force: true });
|
|
723
|
+
}
|
|
724
|
+
});
|
|
536
725
|
it('continues explicit update when update-check state cannot be written', async () => {
|
|
537
726
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-update-now-'));
|
|
727
|
+
const originalCodexHome = process.env.CODEX_HOME;
|
|
538
728
|
const originalLog = console.log;
|
|
539
729
|
const logs = [];
|
|
540
730
|
let updateCalls = 0;
|
|
@@ -542,6 +732,7 @@ describe('runImmediateUpdate', () => {
|
|
|
542
732
|
console.log = (...args) => {
|
|
543
733
|
logs.push(args.map((arg) => String(arg)).join(' '));
|
|
544
734
|
};
|
|
735
|
+
process.env.CODEX_HOME = join(cwd, '.codex');
|
|
545
736
|
try {
|
|
546
737
|
const result = await runImmediateUpdate(cwd, {
|
|
547
738
|
getCurrentVersion: async () => '0.14.0',
|
|
@@ -561,10 +752,16 @@ describe('runImmediateUpdate', () => {
|
|
|
561
752
|
assert.equal(result.status, 'updated');
|
|
562
753
|
assert.equal(updateCalls, 1);
|
|
563
754
|
assert.equal(refreshCalls, 1);
|
|
564
|
-
assert.match(logs.join('\n'), /Updated to v0\.14\.1/);
|
|
755
|
+
assert.match(logs.join('\n'), /Updated stable channel to v0\.14\.1/);
|
|
565
756
|
}
|
|
566
757
|
finally {
|
|
567
758
|
console.log = originalLog;
|
|
759
|
+
if (typeof originalCodexHome === 'string') {
|
|
760
|
+
process.env.CODEX_HOME = originalCodexHome;
|
|
761
|
+
}
|
|
762
|
+
else {
|
|
763
|
+
delete process.env.CODEX_HOME;
|
|
764
|
+
}
|
|
568
765
|
await rm(cwd, { recursive: true, force: true });
|
|
569
766
|
}
|
|
570
767
|
});
|