oh-my-codex 0.21.13 → 0.21.15
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 +6 -6
- package/Cargo.toml +1 -1
- package/README.md +17 -0
- package/dist/adapt/herdr/__tests__/wiring.test.js +21 -0
- package/dist/adapt/herdr/__tests__/wiring.test.js.map +1 -1
- package/dist/adapt/herdr/wiring.d.ts.map +1 -1
- package/dist/adapt/herdr/wiring.js +5 -0
- package/dist/adapt/herdr/wiring.js.map +1 -1
- package/dist/auth/__tests__/hotswap.test.js +28 -0
- package/dist/auth/__tests__/hotswap.test.js.map +1 -1
- package/dist/auth/hotswap.d.ts +1 -0
- package/dist/auth/hotswap.d.ts.map +1 -1
- package/dist/auth/hotswap.js +4 -1
- package/dist/auth/hotswap.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +196 -0
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +2 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +14 -1
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/session-timeline.test.d.ts +2 -0
- package/dist/cli/__tests__/session-timeline.test.d.ts.map +1 -0
- package/dist/cli/__tests__/session-timeline.test.js +155 -0
- package/dist/cli/__tests__/session-timeline.test.js.map +1 -0
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +1 -0
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +1 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +11 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/session-search.d.ts.map +1 -1
- package/dist/cli/session-search.js +7 -0
- package/dist/cli/session-search.js.map +1 -1
- package/dist/cli/session-timeline.d.ts +9 -0
- package/dist/cli/session-timeline.d.ts.map +1 -0
- package/dist/cli/session-timeline.js +174 -0
- package/dist/cli/session-timeline.js.map +1 -0
- package/dist/config/__tests__/codex-hooks.test.js +3 -1
- package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +1 -0
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/codex-hooks.d.ts +1 -1
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +5 -0
- package/dist/config/codex-hooks.js.map +1 -1
- package/dist/evals/astra-defaults/__tests__/collector.test.js +51 -23
- package/dist/evals/astra-defaults/__tests__/collector.test.js.map +1 -1
- package/dist/evals/astra-defaults/collector.d.ts +2 -0
- package/dist/evals/astra-defaults/collector.d.ts.map +1 -1
- package/dist/evals/astra-defaults/collector.js +19 -8
- package/dist/evals/astra-defaults/collector.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js +143 -0
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js.map +1 -1
- package/dist/hooks/extensibility/dispatcher.d.ts.map +1 -1
- package/dist/hooks/extensibility/dispatcher.js +120 -28
- package/dist/hooks/extensibility/dispatcher.js.map +1 -1
- package/dist/hooks/extensibility/runtime.d.ts.map +1 -1
- package/dist/hooks/extensibility/runtime.js +1 -0
- package/dist/hooks/extensibility/runtime.js.map +1 -1
- package/dist/hooks/extensibility/types.d.ts +2 -0
- package/dist/hooks/extensibility/types.d.ts.map +1 -1
- package/dist/hooks/native/types.d.ts +1 -1
- package/dist/hooks/native/types.d.ts.map +1 -1
- package/dist/hooks/native/types.js.map +1 -1
- package/dist/notifications/__tests__/lifecycle-dedupe.test.js +200 -2
- package/dist/notifications/__tests__/lifecycle-dedupe.test.js.map +1 -1
- package/dist/notifications/lifecycle-dedupe.d.ts +10 -0
- package/dist/notifications/lifecycle-dedupe.d.ts.map +1 -1
- package/dist/notifications/lifecycle-dedupe.js +175 -19
- package/dist/notifications/lifecycle-dedupe.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +278 -6
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/native-hook-protocol.test.d.ts +2 -0
- package/dist/scripts/__tests__/native-hook-protocol.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/native-hook-protocol.test.js +329 -0
- package/dist/scripts/__tests__/native-hook-protocol.test.js.map +1 -0
- package/dist/scripts/__tests__/smoke-packed-install.test.js +7 -6
- package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
- package/dist/scripts/codex-execution-surface.d.ts +1 -1
- package/dist/scripts/codex-execution-surface.d.ts.map +1 -1
- package/dist/scripts/codex-execution-surface.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +124 -13
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/hook-payload-guard.d.ts +1 -1
- package/dist/scripts/hook-payload-guard.d.ts.map +1 -1
- package/dist/scripts/hook-payload-guard.js +1 -0
- package/dist/scripts/hook-payload-guard.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +2 -2
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +12 -1
- package/dist/scripts/smoke-packed-install.js.map +1 -1
- package/dist/session-history/__tests__/timeline.test.d.ts +2 -0
- package/dist/session-history/__tests__/timeline.test.d.ts.map +1 -0
- package/dist/session-history/__tests__/timeline.test.js +459 -0
- package/dist/session-history/__tests__/timeline.test.js.map +1 -0
- package/dist/session-history/export.d.ts +2 -3
- package/dist/session-history/export.d.ts.map +1 -1
- package/dist/session-history/export.js +5 -66
- package/dist/session-history/export.js.map +1 -1
- package/dist/session-history/timeline.d.ts +97 -0
- package/dist/session-history/timeline.d.ts.map +1 -0
- package/dist/session-history/timeline.js +325 -0
- package/dist/session-history/timeline.js.map +1 -0
- package/dist/session-history/transcript.d.ts +16 -0
- package/dist/session-history/transcript.d.ts.map +1 -0
- package/dist/session-history/transcript.js +111 -0
- package/dist/session-history/transcript.js.map +1 -0
- package/dist/subagents/tracker.d.ts +6 -0
- package/dist/subagents/tracker.d.ts.map +1 -1
- package/dist/subagents/tracker.js +32 -0
- package/dist/subagents/tracker.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +12 -3
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +25 -0
- package/dist/team/__tests__/scaling.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +30 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +9 -1
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/wiki/__tests__/session-hooks.test.js +26 -0
- package/dist/wiki/__tests__/session-hooks.test.js.map +1 -1
- package/dist/wiki/lifecycle.d.ts.map +1 -1
- package/dist/wiki/lifecycle.js +6 -1
- package/dist/wiki/lifecycle.js.map +1 -1
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +85 -18
- package/plugins/oh-my-codex/hooks/hooks.json +10 -0
- package/src/scripts/__tests__/codex-native-hook.test.ts +273 -5
- package/src/scripts/__tests__/native-hook-protocol.test.ts +362 -0
- package/src/scripts/__tests__/smoke-packed-install.test.ts +7 -6
- package/src/scripts/codex-execution-surface.ts +1 -0
- package/src/scripts/codex-native-hook.ts +130 -11
- package/src/scripts/hook-payload-guard.ts +1 -0
- package/src/scripts/smoke-packed-install.ts +12 -1
|
@@ -786,20 +786,28 @@ exit 0
|
|
|
786
786
|
const fakeBinDir = await mkdtemp(join(tmpdir(), 'omx-scale-up-policy-matrix-bin-'));
|
|
787
787
|
const tmuxLogPath = join(fakeBinDir, 'tmux.log');
|
|
788
788
|
const capturePath = join(cwd, 'worker-argv.txt');
|
|
789
|
+
const routingCapturePath = join(cwd, 'worker-routing-context.txt');
|
|
789
790
|
const emptyCodexHome = await mkdtemp(join(tmpdir(), 'omx-scale-up-policy-matrix-codex-home-'));
|
|
790
791
|
const previousPath = process.env.PATH;
|
|
791
792
|
const previousArgv = process.argv;
|
|
792
793
|
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
794
|
+
const previousLaunchId = process.env.OMX_CODEX_LAUNCH_ID;
|
|
795
|
+
const previousEntryPath = process.env.OMX_ENTRY_PATH;
|
|
796
|
+
const observedLaunchIds = new Set();
|
|
793
797
|
try {
|
|
794
798
|
await writeSuccessfulScaleUpTmuxStub(fakeBinDir, tmuxLogPath);
|
|
795
799
|
await writeFile(join(fakeBinDir, 'codex'), `#!/bin/sh
|
|
796
800
|
printf '%s\\n' "$@" > '${capturePath}'
|
|
801
|
+
printf '%s\\n' "$OMX_CODEX_LAUNCH_ID" "$OMX_ENTRY_PATH" > '${routingCapturePath}'
|
|
797
802
|
`);
|
|
798
803
|
await chmod(join(fakeBinDir, 'codex'), 0o755);
|
|
799
804
|
process.env.PATH = `${fakeBinDir}:${previousPath ?? ''}`;
|
|
800
805
|
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
806
|
+
delete process.env.OMX_CODEX_LAUNCH_ID;
|
|
807
|
+
delete process.env.OMX_ENTRY_PATH;
|
|
801
808
|
const runScaleUpCase = async (params) => {
|
|
802
809
|
await writeFile(capturePath, '');
|
|
810
|
+
await writeFile(routingCapturePath, '');
|
|
803
811
|
await initTeamState(params.teamName, 'task', 'executor', 1, cwd);
|
|
804
812
|
await configureScaleUpTeamForDirectDispatch(params.teamName, cwd);
|
|
805
813
|
const result = await scaleUp(params.teamName, 1, 'executor', [{
|
|
@@ -811,6 +819,8 @@ printf '%s\\n' "$@" > '${capturePath}'
|
|
|
811
819
|
OMX_TEAM_SCALING_ENABLED: '1',
|
|
812
820
|
OMX_TEAM_SKIP_READY_WAIT: '1',
|
|
813
821
|
CODEX_HOME: emptyCodexHome,
|
|
822
|
+
OMX_CODEX_LAUNCH_ID: 'leader-inherited-launch-id',
|
|
823
|
+
OMX_ENTRY_PATH: '/leader/omx.js',
|
|
814
824
|
OMX_TEAM_WORKER_LAUNCH_ARGS: params.launchArgs,
|
|
815
825
|
...(params.inheritedModel ? { [TEAM_WORKER_INHERITED_MODEL_ENV]: params.inheritedModel } : {}),
|
|
816
826
|
});
|
|
@@ -819,6 +829,13 @@ printf '%s\\n' "$@" > '${capturePath}'
|
|
|
819
829
|
const startupScriptPath = workerStartupScriptPath(cwd, params.teamName, 'worker-2');
|
|
820
830
|
const scriptResult = execFileSync('/bin/sh', [startupScriptPath], { encoding: 'utf-8' });
|
|
821
831
|
assert.equal(scriptResult, '');
|
|
832
|
+
const [launchId, entryPath] = (await readFile(routingCapturePath, 'utf-8')).trim().split('\n');
|
|
833
|
+
assert.ok(launchId);
|
|
834
|
+
assert.notEqual(launchId, 'leader-inherited-launch-id');
|
|
835
|
+
assert.equal(observedLaunchIds.has(launchId), false, 'each scaled Codex worker must have its own launch token');
|
|
836
|
+
observedLaunchIds.add(launchId);
|
|
837
|
+
assert.ok(entryPath && existsSync(entryPath));
|
|
838
|
+
assert.notEqual(entryPath, '/leader/omx.js');
|
|
822
839
|
return (await readFile(capturePath, 'utf-8')).trim().split('\n');
|
|
823
840
|
};
|
|
824
841
|
process.argv = [
|
|
@@ -867,6 +884,14 @@ printf '%s\\n' "$@" > '${capturePath}'
|
|
|
867
884
|
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
868
885
|
else
|
|
869
886
|
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
887
|
+
if (typeof previousLaunchId === 'string')
|
|
888
|
+
process.env.OMX_CODEX_LAUNCH_ID = previousLaunchId;
|
|
889
|
+
else
|
|
890
|
+
delete process.env.OMX_CODEX_LAUNCH_ID;
|
|
891
|
+
if (typeof previousEntryPath === 'string')
|
|
892
|
+
process.env.OMX_ENTRY_PATH = previousEntryPath;
|
|
893
|
+
else
|
|
894
|
+
delete process.env.OMX_ENTRY_PATH;
|
|
870
895
|
await rm(emptyCodexHome, { recursive: true, force: true });
|
|
871
896
|
await rm(cwd, { recursive: true, force: true });
|
|
872
897
|
await rm(fakeBinDir, { recursive: true, force: true });
|