oh-my-codex 0.18.11 → 0.18.13
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 +9 -1
- package/dist/autopilot/__tests__/ralplan-gate.test.js +668 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
- package/dist/autopilot/completion-gate.d.ts +10 -0
- package/dist/autopilot/completion-gate.d.ts.map +1 -0
- package/dist/autopilot/completion-gate.js +154 -0
- package/dist/autopilot/completion-gate.js.map +1 -0
- package/dist/autopilot/ralplan-gate.d.ts.map +1 -1
- package/dist/autopilot/ralplan-gate.js +42 -21
- package/dist/autopilot/ralplan-gate.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +46 -3
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-invalid-config.test.js +35 -0
- package/dist/cli/__tests__/doctor-invalid-config.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +317 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +120 -2
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +217 -1
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/session-scoped-runtime.test.js +101 -0
- package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
- package/dist/cli/__tests__/session-search-help.test.js +3 -2
- package/dist/cli/__tests__/session-search-help.test.js.map +1 -1
- package/dist/cli/__tests__/session-search.test.js +64 -2
- package/dist/cli/__tests__/session-search.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +289 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +290 -17
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js +74 -0
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +45 -0
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/state.test.js +93 -0
- package/dist/cli/__tests__/state.test.js.map +1 -1
- package/dist/cli/__tests__/update.test.js +157 -3
- package/dist/cli/__tests__/update.test.js.map +1 -1
- package/dist/cli/__tests__/version-sync-contract.test.js +2 -0
- package/dist/cli/__tests__/version-sync-contract.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +90 -12
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +13 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +439 -46
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-runtime-codex-homes.d.ts +6 -0
- package/dist/cli/project-runtime-codex-homes.d.ts.map +1 -0
- package/dist/cli/project-runtime-codex-homes.js +27 -0
- package/dist/cli/project-runtime-codex-homes.js.map +1 -0
- package/dist/cli/session-search.d.ts.map +1 -1
- package/dist/cli/session-search.js +8 -1
- package/dist/cli/session-search.js.map +1 -1
- package/dist/cli/setup.d.ts +2 -2
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +482 -126
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/state.d.ts.map +1 -1
- package/dist/cli/state.js +79 -8
- package/dist/cli/state.js.map +1 -1
- package/dist/cli/update.d.ts +1 -0
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +42 -10
- package/dist/cli/update.js.map +1 -1
- package/dist/config/__tests__/codex-hooks.test.js +73 -29
- package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
- package/dist/config/codex-hooks.d.ts +14 -0
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +54 -51
- package/dist/config/codex-hooks.js.map +1 -1
- package/dist/config/generator.d.ts +1 -1
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +1 -1
- package/dist/config/generator.js.map +1 -1
- package/dist/hooks/__tests__/best-practice-research-skill.test.js +12 -0
- package/dist/hooks/__tests__/best-practice-research-skill.test.js.map +1 -1
- package/dist/hud/__tests__/authority.test.js +45 -12
- package/dist/hud/__tests__/authority.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +95 -0
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/render.test.js +6 -6
- package/dist/hud/__tests__/render.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +2 -2
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/authority.d.ts.map +1 -1
- package/dist/hud/authority.js +17 -2
- package/dist/hud/authority.js.map +1 -1
- package/dist/hud/index.js +1 -4
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +42 -0
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +6 -0
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +5 -4
- package/dist/hud/tmux.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +31 -1
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts +1 -0
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +32 -0
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/modes/__tests__/base-autopilot-gates.test.d.ts +2 -0
- package/dist/modes/__tests__/base-autopilot-gates.test.d.ts.map +1 -0
- package/dist/modes/__tests__/base-autopilot-gates.test.js +154 -0
- package/dist/modes/__tests__/base-autopilot-gates.test.js.map +1 -0
- package/dist/modes/base.d.ts +4 -1
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +71 -1
- package/dist/modes/base.js.map +1 -1
- package/dist/pipeline/__tests__/orchestrator.test.js +144 -3
- package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +109 -0
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/orchestrator.d.ts.map +1 -1
- package/dist/pipeline/orchestrator.js +11 -4
- package/dist/pipeline/orchestrator.js.map +1 -1
- package/dist/pipeline/stages/code-review.d.ts +2 -0
- package/dist/pipeline/stages/code-review.d.ts.map +1 -1
- package/dist/pipeline/stages/code-review.js +2 -0
- package/dist/pipeline/stages/code-review.js.map +1 -1
- package/dist/pipeline/stages/ultraqa.d.ts +3 -0
- package/dist/pipeline/stages/ultraqa.d.ts.map +1 -1
- package/dist/pipeline/stages/ultraqa.js +3 -0
- package/dist/pipeline/stages/ultraqa.js.map +1 -1
- package/dist/ralplan/__tests__/consensus-gate.test.d.ts +2 -0
- package/dist/ralplan/__tests__/consensus-gate.test.d.ts.map +1 -0
- package/dist/ralplan/__tests__/consensus-gate.test.js +631 -0
- package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -0
- package/dist/ralplan/consensus-gate.d.ts +9 -1
- package/dist/ralplan/consensus-gate.d.ts.map +1 -1
- package/dist/ralplan/consensus-gate.js +287 -65
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +481 -0
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +145 -25
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts +1 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +130 -0
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/session-history/__tests__/search.test.js +166 -0
- package/dist/session-history/__tests__/search.test.js.map +1 -1
- package/dist/session-history/search.d.ts +7 -0
- package/dist/session-history/search.d.ts.map +1 -1
- package/dist/session-history/search.js +83 -24
- package/dist/session-history/search.js.map +1 -1
- package/dist/sidecar/__tests__/collector.test.js +60 -0
- package/dist/sidecar/__tests__/collector.test.js.map +1 -1
- package/dist/sidecar/collector.d.ts.map +1 -1
- package/dist/sidecar/collector.js +3 -6
- package/dist/sidecar/collector.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +622 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +82 -0
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +31 -9
- package/dist/state/operations.js.map +1 -1
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +41 -1
- package/dist/state/skill-active.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +81 -57
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/runtime.js +4 -4
- package/dist/team/runtime.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__/version.test.js +27 -0
- package/dist/utils/__tests__/version.test.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +4 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +7 -2
- package/dist/utils/version.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +4 -2
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +71 -3
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.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 +53 -2
- package/plugins/oh-my-codex/skills/best-practice-research/SKILL.md +6 -1
- package/skills/best-practice-research/SKILL.md +6 -1
- package/src/scripts/__tests__/codex-native-hook.test.ts +615 -0
- package/src/scripts/codex-native-hook.ts +162 -32
- package/src/scripts/codex-native-pre-post.ts +137 -0
|
@@ -769,11 +769,11 @@ case "$1" in
|
|
|
769
769
|
exit 0
|
|
770
770
|
;;
|
|
771
771
|
*"#{pane_pid}"*)
|
|
772
|
-
echo "
|
|
772
|
+
echo "2000004321"
|
|
773
773
|
exit 0
|
|
774
774
|
;;
|
|
775
775
|
*"#{pane_dead} #{pane_pid}"*)
|
|
776
|
-
echo "0
|
|
776
|
+
echo "0 2000004321"
|
|
777
777
|
exit 0
|
|
778
778
|
;;
|
|
779
779
|
*)
|
|
@@ -924,11 +924,11 @@ case "$1" in
|
|
|
924
924
|
exit 0
|
|
925
925
|
;;
|
|
926
926
|
*"#{pane_pid}"*)
|
|
927
|
-
echo "
|
|
927
|
+
echo "2000004321"
|
|
928
928
|
exit 0
|
|
929
929
|
;;
|
|
930
930
|
*"#{pane_dead} #{pane_pid}"*)
|
|
931
|
-
echo "0
|
|
931
|
+
echo "0 2000004321"
|
|
932
932
|
exit 0
|
|
933
933
|
;;
|
|
934
934
|
*)
|
|
@@ -971,7 +971,7 @@ esac
|
|
|
971
971
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
972
972
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
973
973
|
process.env.OMX_TEAM_SKIP_READY_WAIT = '1';
|
|
974
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
974
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
975
975
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
976
976
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
977
977
|
const expectedTeamName = buildInternalTeamName('team-startup-no-evidence', resolveTeamIdentityScope(process.env));
|
|
@@ -1436,9 +1436,9 @@ case "\${1:-}" in
|
|
|
1436
1436
|
list-panes)
|
|
1437
1437
|
case "$*" in
|
|
1438
1438
|
*"pane_current_command"*) printf "%%1\tnode\t'codex'\n" ;;
|
|
1439
|
-
*"#{pane_dead} #{pane_pid}"*) echo "1
|
|
1440
|
-
*"-t %2"*"#{pane_pid}"*) echo "
|
|
1441
|
-
*"#{pane_pid}"*) echo "
|
|
1439
|
+
*"#{pane_dead} #{pane_pid}"*) echo "1 2000999999" ;;
|
|
1440
|
+
*"-t %2"*"#{pane_pid}"*) echo "2000002222" ;;
|
|
1441
|
+
*"#{pane_pid}"*) echo "2000001111" ;;
|
|
1442
1442
|
*) exit 0 ;;
|
|
1443
1443
|
esac
|
|
1444
1444
|
exit 0
|
|
@@ -1553,16 +1553,16 @@ case "\${1:-}" in
|
|
|
1553
1553
|
printf "%%1\tnode\t'codex'\n"
|
|
1554
1554
|
;;
|
|
1555
1555
|
*"#{pane_dead} #{pane_pid}"*)
|
|
1556
|
-
echo "1
|
|
1556
|
+
echo "1 2000999999"
|
|
1557
1557
|
;;
|
|
1558
1558
|
*"-t %2"*"#{pane_pid}"*)
|
|
1559
|
-
echo "
|
|
1559
|
+
echo "2000002222"
|
|
1560
1560
|
;;
|
|
1561
1561
|
*"-t %3"*"#{pane_pid}"*)
|
|
1562
|
-
echo "
|
|
1562
|
+
echo "2000003333"
|
|
1563
1563
|
;;
|
|
1564
1564
|
*"#{pane_pid}"*)
|
|
1565
|
-
echo "
|
|
1565
|
+
echo "2000001111"
|
|
1566
1566
|
;;
|
|
1567
1567
|
*)
|
|
1568
1568
|
exit 0
|
|
@@ -1607,11 +1607,11 @@ esac
|
|
|
1607
1607
|
process.env.OMX_TEAM_SKIP_READY_WAIT = '1';
|
|
1608
1608
|
runtime = await withoutTeamWorkerEnv(() => startTeam('team-pane-pid', 'interactive pane pid capture', 'executor', 1, [{ subject: 's', description: 'd', owner: 'worker-1' }], cwd));
|
|
1609
1609
|
assert.equal(runtime.config.workers[0]?.pane_id, '%2');
|
|
1610
|
-
assert.equal(runtime.config.workers[0]?.pid,
|
|
1610
|
+
assert.equal(runtime.config.workers[0]?.pid, 2000002222);
|
|
1611
1611
|
const identityPath = join(cwd, '.omx', 'state', 'team', runtime.teamName, 'workers', 'worker-1', 'identity.json');
|
|
1612
1612
|
const identity = JSON.parse(await readFile(identityPath, 'utf-8'));
|
|
1613
1613
|
assert.equal(identity.pane_id, '%2');
|
|
1614
|
-
assert.equal(identity.pid,
|
|
1614
|
+
assert.equal(identity.pid, 2000002222);
|
|
1615
1615
|
});
|
|
1616
1616
|
}
|
|
1617
1617
|
finally {
|
|
@@ -1665,6 +1665,7 @@ esac
|
|
|
1665
1665
|
const previousReadyTimeout = process.env.OMX_TEAM_READY_TIMEOUT_MS;
|
|
1666
1666
|
const previousStartupEvidenceTimeout = process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS;
|
|
1667
1667
|
const previousStartupDispatchRetries = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
1668
|
+
const previousStartupDispatchRetryDelay = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
1668
1669
|
const teamName = `tsd-${process.pid}-${Date.now().toString(36)}`;
|
|
1669
1670
|
try {
|
|
1670
1671
|
await withMockTmuxFixture({
|
|
@@ -1688,9 +1689,9 @@ case "$1" in
|
|
|
1688
1689
|
list-panes)
|
|
1689
1690
|
case "$*" in
|
|
1690
1691
|
*"pane_current_command"*) printf "%%1\tnode\t'codex'\n" ;;
|
|
1691
|
-
*"#{pane_dead} #{pane_pid}"*) echo "0
|
|
1692
|
+
*"#{pane_dead} #{pane_pid}"*) echo "0 2000004242" ;;
|
|
1692
1693
|
*"#{pane_dead}"*) echo "0" ;;
|
|
1693
|
-
*"#{pane_pid}"*) echo "
|
|
1694
|
+
*"#{pane_pid}"*) echo "2000004242" ;;
|
|
1694
1695
|
*) exit 0 ;;
|
|
1695
1696
|
esac
|
|
1696
1697
|
exit 0
|
|
@@ -1730,9 +1731,10 @@ esac
|
|
|
1730
1731
|
process.env.TMUX_PANE = '%1';
|
|
1731
1732
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
1732
1733
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
1733
|
-
process.env.OMX_TEAM_READY_TIMEOUT_MS = '
|
|
1734
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
1734
|
+
process.env.OMX_TEAM_READY_TIMEOUT_MS = '500';
|
|
1735
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
1735
1736
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
1737
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
1736
1738
|
await assert.rejects(withoutTeamWorkerEnv(() => startTeam(teamName, 'startup direct trigger falls back to evidence-gated dispatch', 'executor', 1, [{ subject: 'w1', description: 'worker one', owner: 'worker-1' }], cwd)), /worker_notify_failed:worker-1:codex_startup_no_evidence_after_fallback/);
|
|
1737
1739
|
const order = (await readFile(join(cwd, 'startup-order.log'), 'utf-8')).trim().split('\n');
|
|
1738
1740
|
assert.ok(order.includes('send-keys'), `expected direct send-keys, got ${order.join(',')}`);
|
|
@@ -1768,6 +1770,10 @@ esac
|
|
|
1768
1770
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = previousStartupDispatchRetries;
|
|
1769
1771
|
else
|
|
1770
1772
|
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
1773
|
+
if (typeof previousStartupDispatchRetryDelay === 'string')
|
|
1774
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = previousStartupDispatchRetryDelay;
|
|
1775
|
+
else
|
|
1776
|
+
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
1771
1777
|
await rm(cwd, { recursive: true, force: true });
|
|
1772
1778
|
}
|
|
1773
1779
|
});
|
|
@@ -1803,10 +1809,10 @@ case "$1" in
|
|
|
1803
1809
|
list-panes)
|
|
1804
1810
|
case "$*" in
|
|
1805
1811
|
*"pane_current_command"*) printf "%%1\tnode\t'codex'\n" ;;
|
|
1806
|
-
*"#{pane_dead} #{pane_pid}"*) echo "0
|
|
1807
|
-
*"-t %2"*"#{pane_pid}"*) echo "
|
|
1812
|
+
*"#{pane_dead} #{pane_pid}"*) echo "0 2000004242" ;;
|
|
1813
|
+
*"-t %2"*"#{pane_pid}"*) echo "2000004242" ;;
|
|
1808
1814
|
*"#{pane_dead}"*) echo "0" ;;
|
|
1809
|
-
*"#{pane_pid}"*) echo "
|
|
1815
|
+
*"#{pane_pid}"*) echo "2000004242" ;;
|
|
1810
1816
|
*) exit 0 ;;
|
|
1811
1817
|
esac
|
|
1812
1818
|
exit 0
|
|
@@ -1841,8 +1847,8 @@ esac
|
|
|
1841
1847
|
process.env.TMUX_PANE = '%1';
|
|
1842
1848
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
1843
1849
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
1844
|
-
process.env.OMX_TEAM_READY_TIMEOUT_MS = '
|
|
1845
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
1850
|
+
process.env.OMX_TEAM_READY_TIMEOUT_MS = '500';
|
|
1851
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
1846
1852
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
1847
1853
|
receiptNotifier = setInterval(() => {
|
|
1848
1854
|
void markPendingInboxDispatchesNotified('team-ready-prompt-evidence', cwd);
|
|
@@ -1914,6 +1920,7 @@ esac
|
|
|
1914
1920
|
const previousReadyTimeout = process.env.OMX_TEAM_READY_TIMEOUT_MS;
|
|
1915
1921
|
const previousStartupEvidenceTimeout = process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS;
|
|
1916
1922
|
const previousStartupDispatchRetries = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
1923
|
+
const previousStartupDispatchRetryDelay = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
1917
1924
|
const teamName = `trt-${process.pid}-${Date.now().toString(36)}`;
|
|
1918
1925
|
let receiptNotifier = null;
|
|
1919
1926
|
let runtimeTeamName = null;
|
|
@@ -1938,9 +1945,9 @@ case "$1" in
|
|
|
1938
1945
|
list-panes)
|
|
1939
1946
|
case "$*" in
|
|
1940
1947
|
*"pane_current_command"*) printf "%%1\\tnode\\t'codex'\\n" ;;
|
|
1941
|
-
*"#{pane_dead} #{pane_pid}"*) echo "0
|
|
1948
|
+
*"#{pane_dead} #{pane_pid}"*) echo "0 2000004242" ;;
|
|
1942
1949
|
*"#{pane_dead}"*) echo "0" ;;
|
|
1943
|
-
*"#{pane_pid}"*) echo "
|
|
1950
|
+
*"#{pane_pid}"*) echo "2000004242" ;;
|
|
1944
1951
|
*) exit 0 ;;
|
|
1945
1952
|
esac
|
|
1946
1953
|
exit 0
|
|
@@ -1967,9 +1974,10 @@ esac
|
|
|
1967
1974
|
process.env.TMUX_PANE = '%1';
|
|
1968
1975
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
1969
1976
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
1970
|
-
process.env.OMX_TEAM_READY_TIMEOUT_MS = '
|
|
1971
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
1977
|
+
process.env.OMX_TEAM_READY_TIMEOUT_MS = '500';
|
|
1978
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
1972
1979
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
1980
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
1973
1981
|
receiptNotifier = setInterval(() => {
|
|
1974
1982
|
void markPendingInboxDispatchesNotified(teamName, cwd);
|
|
1975
1983
|
}, 20);
|
|
@@ -2012,6 +2020,10 @@ esac
|
|
|
2012
2020
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = previousStartupDispatchRetries;
|
|
2013
2021
|
else
|
|
2014
2022
|
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
2023
|
+
if (typeof previousStartupDispatchRetryDelay === 'string')
|
|
2024
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = previousStartupDispatchRetryDelay;
|
|
2025
|
+
else
|
|
2026
|
+
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
2015
2027
|
await rm(cwd, { recursive: true, force: true });
|
|
2016
2028
|
}
|
|
2017
2029
|
});
|
|
@@ -2024,6 +2036,7 @@ esac
|
|
|
2024
2036
|
const previousReadyTimeout = process.env.OMX_TEAM_READY_TIMEOUT_MS;
|
|
2025
2037
|
const previousStartupEvidenceTimeout = process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS;
|
|
2026
2038
|
const previousStartupDispatchRetries = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
2039
|
+
const previousStartupDispatchRetryDelay = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
2027
2040
|
let receiptDeliverer = null;
|
|
2028
2041
|
let runtimeTeamName = null;
|
|
2029
2042
|
try {
|
|
@@ -2047,11 +2060,11 @@ case "$1" in
|
|
|
2047
2060
|
list-panes)
|
|
2048
2061
|
case "$*" in
|
|
2049
2062
|
*"pane_current_command"*) printf "%%1\tnode\t'codex'\n" ;;
|
|
2050
|
-
*"#{pane_dead} #{pane_pid}"*) echo "0
|
|
2063
|
+
*"#{pane_dead} #{pane_pid}"*) echo "0 2000004242" ;;
|
|
2051
2064
|
*"#{pane_dead}"*) echo "0" ;;
|
|
2052
|
-
*"-t %2"*"#{pane_pid}"*) echo "
|
|
2053
|
-
*"-t %3"*"#{pane_pid}"*) echo "
|
|
2054
|
-
*"#{pane_pid}"*) echo "
|
|
2065
|
+
*"-t %2"*"#{pane_pid}"*) echo "2000004242" ;;
|
|
2066
|
+
*"-t %3"*"#{pane_pid}"*) echo "2000004343" ;;
|
|
2067
|
+
*"#{pane_pid}"*) echo "2000004141" ;;
|
|
2055
2068
|
*) exit 0 ;;
|
|
2056
2069
|
esac
|
|
2057
2070
|
exit 0
|
|
@@ -2101,9 +2114,10 @@ esac
|
|
|
2101
2114
|
process.env.TMUX_PANE = '%1';
|
|
2102
2115
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
2103
2116
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
2104
|
-
process.env.OMX_TEAM_READY_TIMEOUT_MS = '
|
|
2117
|
+
process.env.OMX_TEAM_READY_TIMEOUT_MS = '500';
|
|
2105
2118
|
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '50';
|
|
2106
2119
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
2120
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
2107
2121
|
receiptDeliverer = setInterval(() => {
|
|
2108
2122
|
void (async () => {
|
|
2109
2123
|
await markPendingInboxDispatchesDelivered('team-parallel-ready', cwd);
|
|
@@ -2154,6 +2168,10 @@ esac
|
|
|
2154
2168
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = previousStartupDispatchRetries;
|
|
2155
2169
|
else
|
|
2156
2170
|
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
2171
|
+
if (typeof previousStartupDispatchRetryDelay === 'string')
|
|
2172
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = previousStartupDispatchRetryDelay;
|
|
2173
|
+
else
|
|
2174
|
+
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
2157
2175
|
await rm(cwd, { recursive: true, force: true });
|
|
2158
2176
|
}
|
|
2159
2177
|
});
|
|
@@ -2199,13 +2217,13 @@ case "$1" in
|
|
|
2199
2217
|
echo "0"
|
|
2200
2218
|
;;
|
|
2201
2219
|
*"#{pane_dead} #{pane_pid}"*)
|
|
2202
|
-
echo "0
|
|
2220
|
+
echo "0 2000004242"
|
|
2203
2221
|
;;
|
|
2204
2222
|
*"pane_current_command"*)
|
|
2205
2223
|
printf "%%1\\tnode\\t'codex'\\n"
|
|
2206
2224
|
;;
|
|
2207
2225
|
*"#{pane_pid}"*)
|
|
2208
|
-
echo "
|
|
2226
|
+
echo "2000004242"
|
|
2209
2227
|
;;
|
|
2210
2228
|
*)
|
|
2211
2229
|
exit 0
|
|
@@ -2250,7 +2268,7 @@ process.on('SIGTERM', () => process.exit(0));
|
|
|
2250
2268
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
2251
2269
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
2252
2270
|
process.env.OMX_TEAM_SKIP_READY_WAIT = '1';
|
|
2253
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
2271
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
2254
2272
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
2255
2273
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
2256
2274
|
receiptFailer = setInterval(() => {
|
|
@@ -2328,6 +2346,7 @@ process.on('SIGTERM', () => process.exit(0));
|
|
|
2328
2346
|
const previousReadyTimeout = process.env.OMX_TEAM_READY_TIMEOUT_MS;
|
|
2329
2347
|
const previousStartupEvidenceTimeout = process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS;
|
|
2330
2348
|
const previousStartupDispatchRetries = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
2349
|
+
const previousStartupDispatchRetryDelay = process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
2331
2350
|
let receiptFailer = null;
|
|
2332
2351
|
try {
|
|
2333
2352
|
await withMockTmuxFixture({
|
|
@@ -2350,12 +2369,12 @@ case "$1" in
|
|
|
2350
2369
|
list-panes)
|
|
2351
2370
|
case "$*" in
|
|
2352
2371
|
*"pane_current_command"*) printf "%%1\tnode\t'codex'\n" ;;
|
|
2353
|
-
*"-t %2"*"#{pane_dead} #{pane_pid}"*) echo "1
|
|
2354
|
-
*"-t %3"*"#{pane_dead} #{pane_pid}"*) echo "0
|
|
2355
|
-
*"#{pane_dead} #{pane_pid}"*) echo "0
|
|
2356
|
-
*"-t %2"*"#{pane_pid}"*) echo "
|
|
2357
|
-
*"-t %3"*"#{pane_pid}"*) echo "
|
|
2358
|
-
*"#{pane_pid}"*) echo "
|
|
2372
|
+
*"-t %2"*"#{pane_dead} #{pane_pid}"*) echo "1 2000004242" ;;
|
|
2373
|
+
*"-t %3"*"#{pane_dead} #{pane_pid}"*) echo "0 2000004343" ;;
|
|
2374
|
+
*"#{pane_dead} #{pane_pid}"*) echo "0 2000004141" ;;
|
|
2375
|
+
*"-t %2"*"#{pane_pid}"*) echo "2000004242" ;;
|
|
2376
|
+
*"-t %3"*"#{pane_pid}"*) echo "2000004343" ;;
|
|
2377
|
+
*"#{pane_pid}"*) echo "2000004141" ;;
|
|
2359
2378
|
*) exit 0 ;;
|
|
2360
2379
|
esac
|
|
2361
2380
|
exit 0
|
|
@@ -2395,9 +2414,10 @@ esac
|
|
|
2395
2414
|
process.env.TMUX_PANE = '%1';
|
|
2396
2415
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
2397
2416
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
2398
|
-
process.env.OMX_TEAM_READY_TIMEOUT_MS = '
|
|
2399
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
2417
|
+
process.env.OMX_TEAM_READY_TIMEOUT_MS = '500';
|
|
2418
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
2400
2419
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
2420
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
2401
2421
|
receiptFailer = setInterval(() => {
|
|
2402
2422
|
void (async () => {
|
|
2403
2423
|
const requests = await listDispatchRequests('team-parallel-dead-pane', cwd, { kind: 'inbox' }).catch(() => []);
|
|
@@ -2448,6 +2468,10 @@ esac
|
|
|
2448
2468
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = previousStartupDispatchRetries;
|
|
2449
2469
|
else
|
|
2450
2470
|
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES;
|
|
2471
|
+
if (typeof previousStartupDispatchRetryDelay === 'string')
|
|
2472
|
+
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = previousStartupDispatchRetryDelay;
|
|
2473
|
+
else
|
|
2474
|
+
delete process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS;
|
|
2451
2475
|
await rm(cwd, { recursive: true, force: true });
|
|
2452
2476
|
}
|
|
2453
2477
|
});
|
|
@@ -2510,10 +2534,10 @@ case "$1" in
|
|
|
2510
2534
|
printf "%%1\\tnode\\t'codex'\\n"
|
|
2511
2535
|
;;
|
|
2512
2536
|
*"#{pane_dead} #{pane_pid}"*)
|
|
2513
|
-
echo "1
|
|
2537
|
+
echo "1 2000004242"
|
|
2514
2538
|
;;
|
|
2515
2539
|
*"#{pane_pid}"*)
|
|
2516
|
-
echo "
|
|
2540
|
+
echo "2000004242"
|
|
2517
2541
|
;;
|
|
2518
2542
|
*)
|
|
2519
2543
|
exit 0
|
|
@@ -2545,8 +2569,8 @@ esac
|
|
|
2545
2569
|
process.env.TMUX_PANE = '%1';
|
|
2546
2570
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
2547
2571
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
2548
|
-
process.env.OMX_TEAM_READY_TIMEOUT_MS = '
|
|
2549
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
2572
|
+
process.env.OMX_TEAM_READY_TIMEOUT_MS = '500';
|
|
2573
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
2550
2574
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
2551
2575
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
2552
2576
|
await assert.rejects(() => withoutTeamWorkerEnv(() => startTeam('team-dead-startup-pane', 'dead pane should still fail startup', 'executor', 1, [{ subject: 's', description: 'd', owner: 'worker-1' }], cwd)), /Worker worker-1 did not become ready/);
|
|
@@ -2632,22 +2656,22 @@ case "$1" in
|
|
|
2632
2656
|
list-panes)
|
|
2633
2657
|
case "$*" in
|
|
2634
2658
|
*"#{pane_dead} #{pane_pid}"*)
|
|
2635
|
-
echo "0
|
|
2659
|
+
echo "0 2000004242"
|
|
2636
2660
|
;;
|
|
2637
2661
|
*"pane_current_command"*)
|
|
2638
2662
|
printf "%%1\\tnode\\t'codex'\\n"
|
|
2639
2663
|
;;
|
|
2640
2664
|
*"-t %2"*"#{pane_pid}"*)
|
|
2641
|
-
echo "
|
|
2665
|
+
echo "2000004242"
|
|
2642
2666
|
;;
|
|
2643
2667
|
*"-t %3"*"#{pane_pid}"*)
|
|
2644
|
-
echo "
|
|
2668
|
+
echo "2000004343"
|
|
2645
2669
|
;;
|
|
2646
2670
|
*"-t %4"*"#{pane_pid}"*)
|
|
2647
|
-
echo "
|
|
2671
|
+
echo "2000004444"
|
|
2648
2672
|
;;
|
|
2649
2673
|
*"#{pane_pid}"*)
|
|
2650
|
-
echo "
|
|
2674
|
+
echo "2000004141"
|
|
2651
2675
|
;;
|
|
2652
2676
|
*)
|
|
2653
2677
|
exit 0
|
|
@@ -2698,7 +2722,7 @@ process.on('SIGTERM', () => process.exit(0));
|
|
|
2698
2722
|
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
2699
2723
|
process.env.OMX_TEAM_WORKER_CLI = 'codex';
|
|
2700
2724
|
process.env.OMX_TEAM_SKIP_READY_WAIT = '1';
|
|
2701
|
-
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '
|
|
2725
|
+
process.env.OMX_TEAM_STARTUP_EVIDENCE_TIMEOUT_MS = '100';
|
|
2702
2726
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRIES = '1';
|
|
2703
2727
|
process.env.OMX_TEAM_STARTUP_DISPATCH_RETRY_DELAY_MS = '50';
|
|
2704
2728
|
receiptFailer = setInterval(() => {
|
|
@@ -3313,10 +3337,10 @@ case "\${1:-}" in
|
|
|
3313
3337
|
printf "%%1\\tnode\\t'codex'\\n"
|
|
3314
3338
|
;;
|
|
3315
3339
|
*"#{pane_dead} #{pane_pid}"*)
|
|
3316
|
-
echo "1
|
|
3340
|
+
echo "1 2000999999"
|
|
3317
3341
|
;;
|
|
3318
3342
|
*"#{pane_pid}"*)
|
|
3319
|
-
echo "
|
|
3343
|
+
echo "2000999999"
|
|
3320
3344
|
;;
|
|
3321
3345
|
*)
|
|
3322
3346
|
exit 0
|
|
@@ -4890,11 +4914,11 @@ case "$1" in
|
|
|
4890
4914
|
exit 1
|
|
4891
4915
|
;;
|
|
4892
4916
|
*"-t %13 -F #{pane_pid}"*)
|
|
4893
|
-
echo "
|
|
4917
|
+
echo "2000001013"
|
|
4894
4918
|
exit 0
|
|
4895
4919
|
;;
|
|
4896
4920
|
*"-t %14 -F #{pane_pid}"*)
|
|
4897
|
-
echo "
|
|
4921
|
+
echo "2000001014"
|
|
4898
4922
|
exit 0
|
|
4899
4923
|
;;
|
|
4900
4924
|
*"-t leader:0 -F #{pane_id}"*"#{pane_current_command}"*)
|