oh-my-codex 0.21.4 → 0.21.6
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 +6 -2
- package/crates/omx-runtime/src/lease_mutex.rs +379 -0
- package/crates/omx-runtime/src/main.rs +4 -0
- package/crates/omx-runtime/tests/execution.rs +152 -0
- package/dist/agents/native-config.d.ts +0 -1
- package/dist/agents/native-config.d.ts.map +1 -1
- package/dist/agents/native-config.js +0 -1
- package/dist/agents/native-config.js.map +1 -1
- package/dist/agents/policy.d.ts +0 -1
- package/dist/agents/policy.d.ts.map +1 -1
- package/dist/agents/policy.js +0 -5
- package/dist/agents/policy.js.map +1 -1
- package/dist/auth/__tests__/config-sessions.test.js +15 -1
- package/dist/auth/__tests__/config-sessions.test.js.map +1 -1
- package/dist/auth/__tests__/hotswap.test.js +80 -0
- package/dist/auth/__tests__/hotswap.test.js.map +1 -1
- package/dist/auth/__tests__/redact.test.js +94 -1
- package/dist/auth/__tests__/redact.test.js.map +1 -1
- package/dist/auth/__tests__/storage.test.js +168 -2
- package/dist/auth/__tests__/storage.test.js.map +1 -1
- package/dist/auth/hotswap.d.ts.map +1 -1
- package/dist/auth/hotswap.js +4 -3
- package/dist/auth/hotswap.js.map +1 -1
- package/dist/auth/paths.d.ts.map +1 -1
- package/dist/auth/paths.js +22 -0
- package/dist/auth/paths.js.map +1 -1
- package/dist/auth/redact.d.ts +5 -0
- package/dist/auth/redact.d.ts.map +1 -1
- package/dist/auth/redact.js +79 -0
- package/dist/auth/redact.js.map +1 -1
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/sessions.js +21 -10
- package/dist/auth/sessions.js.map +1 -1
- package/dist/auth/storage.d.ts.map +1 -1
- package/dist/auth/storage.js +75 -35
- package/dist/auth/storage.js.map +1 -1
- package/dist/autoresearch/runtime.d.ts +0 -1
- package/dist/autoresearch/runtime.d.ts.map +1 -1
- package/dist/autoresearch/runtime.js +0 -11
- package/dist/autoresearch/runtime.js.map +1 -1
- package/dist/catalog/reader.d.ts +0 -1
- package/dist/catalog/reader.d.ts.map +1 -1
- package/dist/catalog/reader.js +0 -4
- package/dist/catalog/reader.js.map +1 -1
- package/dist/cli/__tests__/doctor-process-identity-readiness.test.js +1 -1
- package/dist/cli/__tests__/doctor-process-identity-readiness.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-state-root-binding.test.js +36 -0
- package/dist/cli/__tests__/doctor-state-root-binding.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +100 -4
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +10 -5
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +130 -7
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +34 -0
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js +17 -13
- package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +11 -9
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +66 -0
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-reasoning-preserve.test.d.ts +2 -0
- package/dist/cli/__tests__/setup-reasoning-preserve.test.d.ts.map +1 -0
- package/dist/cli/__tests__/setup-reasoning-preserve.test.js +198 -0
- package/dist/cli/__tests__/setup-reasoning-preserve.test.js.map +1 -0
- package/dist/cli/__tests__/team.test.js +67 -1
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/update.test.js +47 -0
- package/dist/cli/__tests__/update.test.js.map +1 -1
- package/dist/cli/auth.d.ts +0 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +0 -4
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/codex-feature-probe.d.ts +2 -1
- package/dist/cli/codex-feature-probe.d.ts.map +1 -1
- package/dist/cli/codex-feature-probe.js +4 -2
- package/dist/cli/codex-feature-probe.js.map +1 -1
- package/dist/cli/codex-home.d.ts +14 -0
- package/dist/cli/codex-home.d.ts.map +1 -1
- package/dist/cli/codex-home.js +21 -0
- package/dist/cli/codex-home.js.map +1 -1
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +122 -9
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/hooks.d.ts +0 -2
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +0 -3
- package/dist/cli/hooks.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 +97 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/launch-credential-provenance.d.ts +49 -0
- package/dist/cli/launch-credential-provenance.d.ts.map +1 -0
- package/dist/cli/launch-credential-provenance.js +163 -0
- package/dist/cli/launch-credential-provenance.js.map +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +11 -3
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +23 -7
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/uninstall.js +1 -1
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +7 -0
- package/dist/cli/update.js.map +1 -1
- package/dist/compat/__tests__/doctor-contract.test.js +5 -1
- package/dist/compat/__tests__/doctor-contract.test.js.map +1 -1
- package/dist/config/__tests__/codex-feature-flags.test.js +10 -1
- package/dist/config/__tests__/codex-feature-flags.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +9 -0
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/codex-feature-flags.d.ts +4 -0
- package/dist/config/codex-feature-flags.d.ts.map +1 -1
- package/dist/config/codex-feature-flags.js +17 -1
- package/dist/config/codex-feature-flags.js.map +1 -1
- package/dist/config/generator.d.ts +8 -1
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +24 -84
- package/dist/config/generator.js.map +1 -1
- package/dist/evals/astra-defaults/__tests__/report.test.d.ts +2 -0
- package/dist/evals/astra-defaults/__tests__/report.test.d.ts.map +1 -0
- package/dist/evals/astra-defaults/__tests__/report.test.js +127 -0
- package/dist/evals/astra-defaults/__tests__/report.test.js.map +1 -0
- package/dist/evals/astra-defaults/__tests__/stage-transition.test.d.ts +2 -0
- package/dist/evals/astra-defaults/__tests__/stage-transition.test.d.ts.map +1 -0
- package/dist/evals/astra-defaults/__tests__/stage-transition.test.js +260 -0
- package/dist/evals/astra-defaults/__tests__/stage-transition.test.js.map +1 -0
- package/dist/evals/astra-defaults/__tests__/suite.test.d.ts +2 -0
- package/dist/evals/astra-defaults/__tests__/suite.test.d.ts.map +1 -0
- package/dist/evals/astra-defaults/__tests__/suite.test.js +132 -0
- package/dist/evals/astra-defaults/__tests__/suite.test.js.map +1 -0
- package/dist/evals/astra-defaults/index.d.ts +4 -0
- package/dist/evals/astra-defaults/index.d.ts.map +1 -0
- package/dist/evals/astra-defaults/index.js +4 -0
- package/dist/evals/astra-defaults/index.js.map +1 -0
- package/dist/evals/astra-defaults/report.d.ts +33 -0
- package/dist/evals/astra-defaults/report.d.ts.map +1 -0
- package/dist/evals/astra-defaults/report.js +224 -0
- package/dist/evals/astra-defaults/report.js.map +1 -0
- package/dist/evals/astra-defaults/suite.d.ts +13 -0
- package/dist/evals/astra-defaults/suite.d.ts.map +1 -0
- package/dist/evals/astra-defaults/suite.js +319 -0
- package/dist/evals/astra-defaults/suite.js.map +1 -0
- package/dist/evals/astra-defaults/types.d.ts +128 -0
- package/dist/evals/astra-defaults/types.d.ts.map +1 -0
- package/dist/evals/astra-defaults/types.js +9 -0
- package/dist/evals/astra-defaults/types.js.map +1 -0
- package/dist/evals/astra-defaults/usage.d.ts +16 -0
- package/dist/evals/astra-defaults/usage.d.ts.map +1 -0
- package/dist/evals/astra-defaults/usage.js +44 -0
- package/dist/evals/astra-defaults/usage.js.map +1 -0
- package/dist/hooks/__tests__/agents-overlay.test.js +13 -123
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/anti-slop-workflow.test.js +2 -2
- package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
- package/dist/hooks/__tests__/code-review-skill-contract.test.js +3 -3
- package/dist/hooks/__tests__/code-review-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/deep-interview-contract.test.js +6 -7
- package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +6 -4
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +16 -33
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +9 -29
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +9 -29
- package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
- package/dist/hooks/__tests__/ordinary-task-routing.test.d.ts +2 -0
- package/dist/hooks/__tests__/ordinary-task-routing.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/ordinary-task-routing.test.js +125 -0
- package/dist/hooks/__tests__/ordinary-task-routing.test.js.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-contract.test.js +10 -7
- package/dist/hooks/__tests__/prompt-guidance-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/session.test.js +41 -6
- package/dist/hooks/__tests__/session.test.js.map +1 -1
- package/dist/hooks/__tests__/sunset-routing-contract.test.js +23 -0
- package/dist/hooks/__tests__/sunset-routing-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-ralph-skill.test.js +3 -3
- package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts +10 -3
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +12 -68
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/keyword-detector.js +4 -4
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/keyword-registry.d.ts.map +1 -1
- package/dist/hooks/keyword-registry.js +0 -2
- package/dist/hooks/keyword-registry.js.map +1 -1
- package/dist/hooks/session.d.ts +1 -1
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +85 -29
- package/dist/hooks/session.js.map +1 -1
- package/dist/hooks/sunset-stub.d.ts +0 -2
- package/dist/hooks/sunset-stub.d.ts.map +1 -1
- package/dist/hooks/sunset-stub.js +8 -14
- package/dist/hooks/sunset-stub.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +130 -2
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +214 -0
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/render.test.js +155 -4
- package/dist/hud/__tests__/render.test.js.map +1 -1
- package/dist/hud/__tests__/roster-height-realtmux.test.d.ts +2 -0
- package/dist/hud/__tests__/roster-height-realtmux.test.d.ts.map +1 -0
- package/dist/hud/__tests__/roster-height-realtmux.test.js +70 -0
- package/dist/hud/__tests__/roster-height-realtmux.test.js.map +1 -0
- package/dist/hud/__tests__/state.test.js +92 -1
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +37 -2
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/__tests__/watch-owner.test.d.ts +2 -0
- package/dist/hud/__tests__/watch-owner.test.d.ts.map +1 -0
- package/dist/hud/__tests__/watch-owner.test.js +125 -0
- package/dist/hud/__tests__/watch-owner.test.js.map +1 -0
- package/dist/hud/__tests__/watch-realtmux.test.js +113 -2
- package/dist/hud/__tests__/watch-realtmux.test.js.map +1 -1
- package/dist/hud/index.d.ts +5 -0
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +61 -41
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/reconcile.d.ts +2 -1
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +28 -3
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/render.d.ts +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +81 -7
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +38 -3
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/tmux.d.ts +4 -0
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +67 -13
- package/dist/hud/tmux.js.map +1 -1
- package/dist/hud/types.d.ts +9 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js.map +1 -1
- package/dist/hud/watch-owner.d.ts +9 -0
- package/dist/hud/watch-owner.d.ts.map +1 -0
- package/dist/hud/watch-owner.js +54 -0
- package/dist/hud/watch-owner.js.map +1 -0
- package/dist/leader/__tests__/contract.test.js +9 -2
- package/dist/leader/__tests__/contract.test.js.map +1 -1
- package/dist/leader/contract.d.ts +2 -2
- package/dist/leader/contract.d.ts.map +1 -1
- package/dist/leader/contract.js +2 -2
- package/dist/leader/contract.js.map +1 -1
- package/dist/notifications/__tests__/formatter.test.js +10 -0
- package/dist/notifications/__tests__/formatter.test.js.map +1 -1
- package/dist/notifications/__tests__/tmux.test.js +10 -0
- package/dist/notifications/__tests__/tmux.test.js.map +1 -1
- package/dist/notifications/formatter.js +1 -1
- package/dist/notifications/formatter.js.map +1 -1
- package/dist/notifications/tmux.js +1 -1
- package/dist/notifications/tmux.js.map +1 -1
- package/dist/ralplan/__tests__/advisory-activation.test.js +3 -3
- package/dist/ralplan/__tests__/advisory-activation.test.js.map +1 -1
- package/dist/runtime/__tests__/bridge.test.js +91 -23
- package/dist/runtime/__tests__/bridge.test.js.map +1 -1
- package/dist/runtime/bridge.d.ts.map +1 -1
- package/dist/runtime/bridge.js +7 -1
- package/dist/runtime/bridge.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +44 -16
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.d.ts +2 -0
- package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.js +83 -0
- package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.js.map +1 -0
- package/dist/scripts/__tests__/prompt-inventory.test.js +83 -2
- package/dist/scripts/__tests__/prompt-inventory.test.js.map +1 -1
- package/dist/scripts/__tests__/smoke-packed-install.test.js +75 -23
- package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +6 -61
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/eval/eval-astra-defaults.d.ts +2 -0
- package/dist/scripts/eval/eval-astra-defaults.d.ts.map +1 -0
- package/dist/scripts/eval/eval-astra-defaults.js +52 -0
- package/dist/scripts/eval/eval-astra-defaults.js.map +1 -0
- package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.js +20 -1
- package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
- package/dist/scripts/prompt-inventory.d.ts +17 -0
- package/dist/scripts/prompt-inventory.d.ts.map +1 -1
- package/dist/scripts/prompt-inventory.js +64 -11
- package/dist/scripts/prompt-inventory.js.map +1 -1
- package/dist/scripts/run-test-files.js +1 -0
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +1 -1
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +46 -17
- package/dist/scripts/smoke-packed-install.js.map +1 -1
- package/dist/state/__tests__/mode-binding-lease.test.js +58 -2
- package/dist/state/__tests__/mode-binding-lease.test.js.map +1 -1
- package/dist/state/mode-binding-lease-helper.js +9 -41
- package/dist/state/mode-binding-lease-helper.js.map +1 -1
- package/dist/state/mode-binding-lease.d.ts.map +1 -1
- package/dist/state/mode-binding-lease.js +32 -10
- package/dist/state/mode-binding-lease.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +14 -1
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +5 -1
- package/dist/team/__tests__/scaling.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +124 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/tmux-source-authority-realtmux.test.js +2 -2
- package/dist/team/__tests__/tmux-source-authority-realtmux.test.js.map +1 -1
- package/dist/team/runtime-cli.js +4 -2
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +11 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +24 -3
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +11 -5
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state.d.ts +1 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +5 -3
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-identity.d.ts.map +1 -1
- package/dist/team/team-identity.js +8 -14
- package/dist/team/team-identity.js.map +1 -1
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +26 -13
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/ultragoal/__tests__/artifacts.test.js +43 -0
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
- package/dist/ultragoal/artifacts.d.ts +1 -0
- package/dist/ultragoal/artifacts.d.ts.map +1 -1
- package/dist/ultragoal/artifacts.js +9 -5
- package/dist/ultragoal/artifacts.js.map +1 -1
- package/dist/utils/__tests__/file-durability.test.js +20 -1
- package/dist/utils/__tests__/file-durability.test.js.map +1 -1
- package/dist/utils/__tests__/platform-command.test.js +39 -1
- package/dist/utils/__tests__/platform-command.test.js.map +1 -1
- package/dist/utils/__tests__/safe-json.test.d.ts +2 -0
- package/dist/utils/__tests__/safe-json.test.d.ts.map +1 -0
- package/dist/utils/__tests__/safe-json.test.js +19 -0
- package/dist/utils/__tests__/safe-json.test.js.map +1 -0
- package/dist/utils/__tests__/toml.test.d.ts +2 -0
- package/dist/utils/__tests__/toml.test.d.ts.map +1 -0
- package/dist/utils/__tests__/toml.test.js +36 -0
- package/dist/utils/__tests__/toml.test.js.map +1 -0
- package/dist/utils/file-durability.d.ts +8 -0
- package/dist/utils/file-durability.d.ts.map +1 -1
- package/dist/utils/file-durability.js +19 -1
- package/dist/utils/file-durability.js.map +1 -1
- package/dist/utils/platform-command.d.ts.map +1 -1
- package/dist/utils/platform-command.js +24 -7
- package/dist/utils/platform-command.js.map +1 -1
- package/dist/utils/safe-json.d.ts +0 -1
- package/dist/utils/safe-json.d.ts.map +1 -1
- package/dist/utils/safe-json.js +0 -10
- package/dist/utils/safe-json.js.map +1 -1
- package/dist/utils/toml-source.d.ts +13 -0
- package/dist/utils/toml-source.d.ts.map +1 -0
- package/dist/utils/toml-source.js +76 -0
- package/dist/utils/toml-source.js.map +1 -0
- package/dist/utils/toml.d.ts.map +1 -1
- package/dist/utils/toml.js +15 -6
- package/dist/utils/toml.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +11 -0
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/package.json +2 -2
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +2 -3
- package/plugins/oh-my-codex/skills/best-practice-research/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/code-review/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +13 -22
- package/plugins/oh-my-codex/skills/design/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/hud/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/plan/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +9 -74
- package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +7 -7
- package/skills/ai-slop-cleaner/SKILL.md +2 -3
- package/skills/best-practice-research/SKILL.md +1 -1
- package/skills/code-review/SKILL.md +1 -1
- package/skills/deep-interview/SKILL.md +13 -22
- package/skills/design/SKILL.md +1 -1
- package/skills/hud/SKILL.md +1 -1
- package/skills/plan/SKILL.md +1 -1
- package/skills/ralplan/SKILL.md +9 -74
- package/skills/visual-ralph/SKILL.md +7 -7
- package/src/scripts/__tests__/codex-native-hook.test.ts +43 -16
- package/src/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.ts +95 -0
- package/src/scripts/__tests__/prompt-inventory.test.ts +84 -1
- package/src/scripts/__tests__/smoke-packed-install.test.ts +75 -23
- package/src/scripts/codex-native-hook.ts +6 -61
- package/src/scripts/eval/eval-astra-defaults.ts +54 -0
- package/src/scripts/notify-hook/team-dispatch.ts +19 -1
- package/src/scripts/prompt-inventory.ts +71 -12
- package/src/scripts/run-test-files.ts +1 -0
- package/src/scripts/smoke-packed-install.ts +56 -17
- package/templates/AGENTS.md +4 -7
|
@@ -47,6 +47,14 @@ export const REMOVED_SKILLS = Object.freeze({
|
|
|
47
47
|
replacement: "$team",
|
|
48
48
|
message: 'Skill "$ultrawork" has been removed. Use "$team" instead.',
|
|
49
49
|
},
|
|
50
|
+
pipeline: {
|
|
51
|
+
replacement: "$plan",
|
|
52
|
+
message: 'Skill "$pipeline" has been removed. Use "$plan" for optional planning, "$team" for coordinated execution, or "$ultragoal" for durable goals instead.',
|
|
53
|
+
},
|
|
54
|
+
"autoresearch-goal": {
|
|
55
|
+
replacement: "$autoresearch",
|
|
56
|
+
message: 'Skill "$autoresearch-goal" has been removed. Use "$autoresearch" instead.',
|
|
57
|
+
},
|
|
50
58
|
"ralph-init": {
|
|
51
59
|
// Was "$ralph", which is a sunset stub in the catalog: another two-hop dead end.
|
|
52
60
|
replacement: "$ultragoal",
|
|
@@ -108,18 +116,4 @@ export const REMOVED_SKILLS = Object.freeze({
|
|
|
108
116
|
export function getRemovedSkillInfo(token) {
|
|
109
117
|
return REMOVED_SKILLS[token.toLowerCase()];
|
|
110
118
|
}
|
|
111
|
-
export function isRemovedSkill(token) {
|
|
112
|
-
return token.toLowerCase() in REMOVED_SKILLS;
|
|
113
|
-
}
|
|
114
|
-
export function formatRemovedSkillError(rawToken) {
|
|
115
|
-
const normalized = rawToken.replace(/^\$(?:oh-my-codex:)?/i, "").toLowerCase();
|
|
116
|
-
const info = getRemovedSkillInfo(normalized);
|
|
117
|
-
if (!info)
|
|
118
|
-
return `Skill "${rawToken}" has been removed.`;
|
|
119
|
-
return info.message.replace(/\$\S+/g, (m) => {
|
|
120
|
-
if (m.toLowerCase().includes(normalized))
|
|
121
|
-
return rawToken;
|
|
122
|
-
return m;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
119
|
//# sourceMappingURL=sunset-stub.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sunset-stub.js","sourceRoot":"","sources":["../../src/hooks/sunset-stub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,cAAc,GAA+C,MAAM,CAAC,MAAM,CAAC;IACtF,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wEAAwE;KAClF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wEAAwE;KAClF;IACD,WAAW,EAAE;QACX,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2FAA2F;KACrG;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,+DAA+D;KACzE;IACD,SAAS,EAAE;QACT,4FAA4F;QAC5F,kFAAkF;QAClF,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,yDAAyD;KACnE;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,uGAAuG;KACjH;IACD,MAAM,EAAE;QACN,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,2EAA2E;KACrF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,KAAK,EAAE;QACL,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,8HAA8H;KACxI;IACD,SAAS,EAAE;QACT,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,2DAA2D;KACrE;IACD,YAAY,EAAE;QACZ,iFAAiF;QACjF,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,iEAAiE;KAC3E;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,+DAA+D;KACzE;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,wJAAwJ;KAClK;IACD,OAAO,EAAE;QACP,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,uDAAuD;KACjE;IACD,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,8FAA8F;KACxG;IACD,OAAO,EAAE;QACP,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2EAA2E;KACrF;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,wEAAwE;KAClF;IACD,WAAW,EAAE;QACX,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,mEAAmE;KAC7E;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,gFAAgF;KAC1F;IACD,yBAAyB,EAAE;QACzB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,yBAAyB,EAAE;QACzB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,0BAA0B,EAAE;QAC1B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2EAA2E;KACrF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,kFAAkF;KAC5F;IACD,eAAe,EAAE;QACf,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0CAA0C;KACpD;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC
|
|
1
|
+
{"version":3,"file":"sunset-stub.js","sourceRoot":"","sources":["../../src/hooks/sunset-stub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,cAAc,GAA+C,MAAM,CAAC,MAAM,CAAC;IACtF,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wEAAwE;KAClF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wEAAwE;KAClF;IACD,WAAW,EAAE;QACX,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2FAA2F;KACrG;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,+DAA+D;KACzE;IACD,SAAS,EAAE;QACT,4FAA4F;QAC5F,kFAAkF;QAClF,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,yDAAyD;KACnE;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,uGAAuG;KACjH;IACD,MAAM,EAAE;QACN,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,2EAA2E;KACrF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,KAAK,EAAE;QACL,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,8HAA8H;KACxI;IACD,SAAS,EAAE;QACT,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,2DAA2D;KACrE;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,sJAAsJ;KAChK;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,2EAA2E;KACrF;IACD,YAAY,EAAE;QACZ,iFAAiF;QACjF,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,iEAAiE;KAC3E;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,+DAA+D;KACzE;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,wJAAwJ;KAClK;IACD,OAAO,EAAE;QACP,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,uDAAuD;KACjE;IACD,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,8FAA8F;KACxG;IACD,OAAO,EAAE;QACP,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2EAA2E;KACrF;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,wEAAwE;KAClF;IACD,WAAW,EAAE;QACX,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,mEAAmE;KAC7E;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,gFAAgF;KAC1F;IACD,yBAAyB,EAAE;QACzB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,yBAAyB,EAAE;QACzB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,0BAA0B,EAAE;QAC1B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2EAA2E;KACrF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,kFAAkF;KAC5F;IACD,eAAe,EAAE;QACf,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0CAA0C;KACpD;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -302,9 +302,9 @@ describe('runWatchMode', () => {
|
|
|
302
302
|
sigintHandler?.();
|
|
303
303
|
await promise;
|
|
304
304
|
const plain = writes.join('').replace(/\x1b\[[0-9;]*[A-Za-z]/g, '');
|
|
305
|
-
assert.equal((plain.match(/team:2 workers/g) ?? []).length, 1);
|
|
305
|
+
assert.equal((plain.match(/team:hud-fix \(2 workers\)/g) ?? []).length, 1);
|
|
306
306
|
assert.equal((plain.match(/ultragoal 1\/3/g) ?? []).length, 1);
|
|
307
|
-
assert.ok(plain.includes('ultragoal 1/3 + team:2 workers'));
|
|
307
|
+
assert.ok(plain.includes('ultragoal 1/3 + team:hud-fix (2 workers)'));
|
|
308
308
|
assert.ok(plain.includes('G002-team: Team HUD summary'));
|
|
309
309
|
assert.ok(!plain.includes('G003-next: Next team checkpoint (pending)'));
|
|
310
310
|
});
|
|
@@ -345,6 +345,60 @@ describe('runWatchMode', () => {
|
|
|
345
345
|
await promise;
|
|
346
346
|
assert.deepEqual(maxLines, [3]);
|
|
347
347
|
});
|
|
348
|
+
it('expands for each worker, refreshes reported status, and shrinks after team completion', async () => {
|
|
349
|
+
const frames = [];
|
|
350
|
+
const heights = [];
|
|
351
|
+
let tick;
|
|
352
|
+
let stop;
|
|
353
|
+
let frame = 0;
|
|
354
|
+
const workers = Array.from({ length: 15 }, (_, i) => ({ name: `worker-${i + 1}`, state: 'working' }));
|
|
355
|
+
const promise = runWatchMode('/tmp', WATCH_FLAGS, {
|
|
356
|
+
isTTY: true,
|
|
357
|
+
env: { TMUX: 'tmux', TMUX_PANE: '%hud', [OMX_TMUX_HUD_OWNER_ENV]: '1', [OMX_TMUX_HUD_LEADER_PANE_ENV]: '%leader' },
|
|
358
|
+
listCurrentWindowPanesFn: () => [
|
|
359
|
+
{ paneId: '%leader', currentCommand: 'codex', startCommand: 'codex', paneHeight: frame === 1 ? 14 : 50, windowHeight: frame === 1 ? 24 : 70 },
|
|
360
|
+
{ paneId: '%hud', currentCommand: 'node', startCommand: 'hud', paneHeight: frame === 1 ? 9 : 19 },
|
|
361
|
+
],
|
|
362
|
+
isSessionAttachedFn: () => true,
|
|
363
|
+
readAllStateFn: async () => ({ ...emptyCtx(), team: frame === 3 ? null : {
|
|
364
|
+
active: true, team_name: 'checkout', workers: workers.map(worker => ({ ...worker, state: frame === 0 ? 'working' : 'done' })),
|
|
365
|
+
} }),
|
|
366
|
+
readHudConfigFn: async () => ({ preset: 'focused', git: { display: 'repo-branch' }, statusLine: { preset: 'focused' } }),
|
|
367
|
+
renderHudFn: renderHud,
|
|
368
|
+
writeStdout: text => { frames.push(text); },
|
|
369
|
+
writeStderr: () => { },
|
|
370
|
+
registerSigint: handler => { stop = handler; },
|
|
371
|
+
setIntervalFn: handler => { tick = handler; return {}; },
|
|
372
|
+
clearIntervalFn: () => { },
|
|
373
|
+
resizeTmuxPaneFn: (_pane, height) => { heights.push(height); return true; },
|
|
374
|
+
clearTmuxPaneHistoryFn: () => true,
|
|
375
|
+
registerHudResizeHookFn: () => true,
|
|
376
|
+
reconcileTmuxHudFn: async () => { },
|
|
377
|
+
runAuthorityTickFn: async () => { },
|
|
378
|
+
});
|
|
379
|
+
try {
|
|
380
|
+
await flush();
|
|
381
|
+
assert.ok(frames.at(-1)?.includes('worker-15 working'), JSON.stringify({ frames, heights }));
|
|
382
|
+
frame = 1;
|
|
383
|
+
tick?.();
|
|
384
|
+
await flush();
|
|
385
|
+
assert.ok(frames.at(-1)?.includes('+6 workers'));
|
|
386
|
+
assert.ok(!frames.at(-1)?.includes('worker-15 done'));
|
|
387
|
+
frame = 2;
|
|
388
|
+
tick?.();
|
|
389
|
+
await flush();
|
|
390
|
+
assert.ok(frames.at(-1)?.includes('worker-15 done'));
|
|
391
|
+
frame = 3;
|
|
392
|
+
tick?.();
|
|
393
|
+
await flush();
|
|
394
|
+
assert.ok(!frames.at(-1)?.includes('worker-15'));
|
|
395
|
+
assert.deepEqual(heights, [17, 11, 17, 2]);
|
|
396
|
+
}
|
|
397
|
+
finally {
|
|
398
|
+
stop?.();
|
|
399
|
+
await promise;
|
|
400
|
+
}
|
|
401
|
+
});
|
|
348
402
|
it('passes compact no-ultragoal line budget to watch rendering', async () => {
|
|
349
403
|
const maxLines = [];
|
|
350
404
|
let sigintHandler;
|
|
@@ -570,6 +624,80 @@ describe('runWatchMode', () => {
|
|
|
570
624
|
});
|
|
571
625
|
});
|
|
572
626
|
describe('hudCommand --tmux', () => {
|
|
627
|
+
for (const keepValidPane of [true, false]) {
|
|
628
|
+
it(`selects a topology-valid HUD before cleanup and measures fresh geometry (keeper=${keepValidPane})`, async () => {
|
|
629
|
+
const tmp = await mkdtemp(join(tmpdir(), 'omx-hud-launch-keeper-'));
|
|
630
|
+
const logPath = join(tmp, 'tmux.log');
|
|
631
|
+
const panePath = join(tmp, 'panes.json');
|
|
632
|
+
const fakeBin = join(tmp, 'bin');
|
|
633
|
+
const root = join(tmp, '.omx', 'state');
|
|
634
|
+
const sessionDir = join(root, 'sessions', 'sess-a');
|
|
635
|
+
const teamDir = join(root, 'team', 'alpha');
|
|
636
|
+
await Promise.all([mkdir(fakeBin), mkdir(sessionDir, { recursive: true }), mkdir(teamDir, { recursive: true })]);
|
|
637
|
+
await writeFile(join(root, 'session.json'), JSON.stringify({ session_id: 'sess-a', cwd: tmp, state_root: root }));
|
|
638
|
+
await writeFile(join(sessionDir, 'team-state.json'), JSON.stringify({ active: true, team_name: 'alpha' }));
|
|
639
|
+
await writeFile(join(sessionDir, 'skill-active-state.json'), JSON.stringify({ active: true, skill: 'team', phase: 'team-exec', session_id: 'sess-a',
|
|
640
|
+
active_skills: [{ skill: 'team', phase: 'team-exec', active: true, session_id: 'sess-a' }] }));
|
|
641
|
+
await writeFile(join(teamDir, 'config.json'), JSON.stringify({ name: 'alpha', workers: Array.from({ length: 20 }, (_, i) => ({ name: `worker-${i + 1}` })) }));
|
|
642
|
+
const command = "env OMX_SESSION_ID='sess-a' OMX_TMUX_HUD_OWNER='1' OMX_TMUX_HUD_LEADER_PANE='%1' node omx hud --watch";
|
|
643
|
+
await writeFile(panePath, JSON.stringify([
|
|
644
|
+
['%1', 'codex', 0, 0, 80, 12, 11, 160, 50, 'codex', tmp, 0, 1001],
|
|
645
|
+
['%2', 'node', 81, 0, 79, 50, 49, 160, 50, command, tmp, 0, 1002],
|
|
646
|
+
...(keepValidPane ? [['%3', 'node', 0, 13, 80, 3, 15, 160, 50, command, tmp, 0, 1003]] : []),
|
|
647
|
+
]));
|
|
648
|
+
const shim = join(fakeBin, 'tmux');
|
|
649
|
+
await writeFile(shim, `#!${process.execPath}
|
|
650
|
+
const fs = require('node:fs');
|
|
651
|
+
const args = process.argv.slice(2);
|
|
652
|
+
fs.appendFileSync(${JSON.stringify(logPath)}, args.join(' ') + '\\n');
|
|
653
|
+
let panes = JSON.parse(fs.readFileSync(${JSON.stringify(panePath)}, 'utf8'));
|
|
654
|
+
if (args[0] === 'list-panes') {
|
|
655
|
+
console.log(panes.map(pane => args.at(-1) === '#{pane_id}' ? pane[0] : pane.join('\\x1f')).join('\\n'));
|
|
656
|
+
} else if (args[0] === 'kill-pane') {
|
|
657
|
+
panes = panes.filter(pane => pane[0] !== args[2]);
|
|
658
|
+
panes[0][5] = 8;
|
|
659
|
+
fs.writeFileSync(${JSON.stringify(panePath)}, JSON.stringify(panes));
|
|
660
|
+
} else if (args[0] === 'display-message') {
|
|
661
|
+
console.log('$7\\t@3');
|
|
662
|
+
}
|
|
663
|
+
`);
|
|
664
|
+
await chmod(shim, 0o755);
|
|
665
|
+
const keys = ['PATH', 'TMUX', 'TMUX_PANE', 'OMX_SESSION_ID', 'OMX_ROOT', 'OMX_STATE_ROOT', 'OMX_TEAM_STATE_ROOT'];
|
|
666
|
+
const previousEnv = Object.fromEntries(keys.map(key => [key, process.env[key]]));
|
|
667
|
+
const previousLog = console.log;
|
|
668
|
+
try {
|
|
669
|
+
process.env.PATH = `${fakeBin}${delimiter}${process.env.PATH ?? ''}`;
|
|
670
|
+
process.env.TMUX = 'private-test';
|
|
671
|
+
process.env.TMUX_PANE = '%1';
|
|
672
|
+
process.env.OMX_SESSION_ID = 'sess-a';
|
|
673
|
+
process.env.OMX_STATE_ROOT = tmp;
|
|
674
|
+
delete process.env.OMX_ROOT;
|
|
675
|
+
delete process.env.OMX_TEAM_STATE_ROOT;
|
|
676
|
+
console.log = () => { };
|
|
677
|
+
await hudCommand(['--tmux'], { cwd: tmp });
|
|
678
|
+
const log = await readFile(logPath, 'utf8');
|
|
679
|
+
assert.match(log, /kill-pane -t %2/);
|
|
680
|
+
assert.doesNotMatch(log, /kill-pane -t %3|resize-pane -t %2/);
|
|
681
|
+
if (keepValidPane) {
|
|
682
|
+
assert.match(log, /resize-pane -t %3 -y 5/);
|
|
683
|
+
assert.doesNotMatch(log, /split-window/);
|
|
684
|
+
}
|
|
685
|
+
else {
|
|
686
|
+
assert.match(log, /split-window -v -l 3 -t %1/);
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
finally {
|
|
690
|
+
console.log = previousLog;
|
|
691
|
+
for (const [key, value] of Object.entries(previousEnv)) {
|
|
692
|
+
if (value === undefined)
|
|
693
|
+
delete process.env[key];
|
|
694
|
+
else
|
|
695
|
+
process.env[key] = value;
|
|
696
|
+
}
|
|
697
|
+
await rm(tmp, { recursive: true, force: true });
|
|
698
|
+
}
|
|
699
|
+
});
|
|
700
|
+
}
|
|
573
701
|
it('does not reuse duplicate HUD snapshots without complete current authority', async () => {
|
|
574
702
|
const tmp = await mkdtemp(join(tmpdir(), 'omx-hud-tmux-duplicate-test-'));
|
|
575
703
|
const logPath = join(tmp, 'tmux.log');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,32 @@ async function readLockOwner(lockPath) {
|
|
|
21
21
|
return JSON.parse(await readFile(join(lockPath, 'owner.json'), 'utf-8'));
|
|
22
22
|
}
|
|
23
23
|
describe('reconcileHudForPromptSubmit', () => {
|
|
24
|
+
it('caps an existing 20-worker HUD in a 24-row window without recreating it', async () => {
|
|
25
|
+
const resized = [];
|
|
26
|
+
const hooks = [];
|
|
27
|
+
const result = await reconcileHudForPromptSubmit('/repo', {
|
|
28
|
+
env: { TMUX: '1', TMUX_PANE: '%1', OMX_SESSION_ID: 'sess-a', [OMX_TMUX_HUD_OWNER_ENV]: '1' },
|
|
29
|
+
listCurrentWindowPanes: () => [
|
|
30
|
+
{ paneId: '%1', currentCommand: 'codex', startCommand: 'codex', windowHeight: 24, paneHeight: 6 },
|
|
31
|
+
{ paneId: '%2', currentCommand: 'node', paneHeight: 17,
|
|
32
|
+
startCommand: `env OMX_SESSION_ID='sess-a' ${OMX_TMUX_HUD_LEADER_PANE_ENV}='%1' node omx hud --watch` },
|
|
33
|
+
],
|
|
34
|
+
readHudConfig: async () => ({ preset: 'focused', git: { display: 'branch' }, statusLine: { preset: 'focused' } }),
|
|
35
|
+
readAllState: async () => ({
|
|
36
|
+
version: null, gitBranch: null, ralph: null, ultragoal: null, ultrawork: null,
|
|
37
|
+
autopilot: null, ralplan: null, deepInterview: null, autoresearch: null, ultraqa: null,
|
|
38
|
+
team: { active: true, workers: Array.from({ length: 20 }, (_, i) => ({ name: `worker-${i + 1}`, state: 'working' })) },
|
|
39
|
+
metrics: null, hudNotify: null, session: null,
|
|
40
|
+
}),
|
|
41
|
+
resizeTmuxPane: (_pane, height) => { resized.push(height); return true; },
|
|
42
|
+
registerHudResizeHook: (_pane, _leader, height) => { hooks.push(height); return true; },
|
|
43
|
+
createHudWatchPane: () => { assert.fail('must reuse the existing HUD'); },
|
|
44
|
+
resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
|
|
45
|
+
});
|
|
46
|
+
assert.equal(result.desiredHeight, 11);
|
|
47
|
+
assert.deepEqual(resized, [11]);
|
|
48
|
+
assert.deepEqual(hooks, [11]);
|
|
49
|
+
});
|
|
24
50
|
it('skips reconciliation outside tmux', async () => {
|
|
25
51
|
const result = await reconcileHudForPromptSubmit('/tmp', {
|
|
26
52
|
env: {},
|
|
@@ -28,6 +54,194 @@ describe('reconcileHudForPromptSubmit', () => {
|
|
|
28
54
|
assert.equal(result.status, 'skipped_not_tmux');
|
|
29
55
|
assert.equal(result.paneId, null);
|
|
30
56
|
});
|
|
57
|
+
it('skips stale leader pane hooks without mutating tmux layout', async () => {
|
|
58
|
+
let created = false;
|
|
59
|
+
let resized = false;
|
|
60
|
+
let killed = false;
|
|
61
|
+
const result = await reconcileHudForPromptSubmit('/repo', {
|
|
62
|
+
env: {
|
|
63
|
+
TMUX: '1',
|
|
64
|
+
TMUX_PANE: '%271',
|
|
65
|
+
OMX_SESSION_ID: 'sess-a',
|
|
66
|
+
[OMX_TMUX_HUD_OWNER_ENV]: '1',
|
|
67
|
+
},
|
|
68
|
+
// The hook captured %271, but Team has already replaced that leader pane.
|
|
69
|
+
listCurrentWindowPanes: () => [
|
|
70
|
+
{ paneId: '%273', currentCommand: 'codex', startCommand: 'codex' },
|
|
71
|
+
],
|
|
72
|
+
// The scoped snapshot has no live pane matching the stale hook target.
|
|
73
|
+
createHudWatchPane: () => {
|
|
74
|
+
created = true;
|
|
75
|
+
return '%hud';
|
|
76
|
+
},
|
|
77
|
+
resizeTmuxPane: () => {
|
|
78
|
+
resized = true;
|
|
79
|
+
return true;
|
|
80
|
+
},
|
|
81
|
+
killTmuxPane: () => {
|
|
82
|
+
killed = true;
|
|
83
|
+
return true;
|
|
84
|
+
},
|
|
85
|
+
resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
|
|
86
|
+
});
|
|
87
|
+
assert.equal(result.status, 'skipped_stale_leader_pane');
|
|
88
|
+
assert.equal(result.paneId, null);
|
|
89
|
+
assert.equal(created, false);
|
|
90
|
+
assert.equal(resized, false);
|
|
91
|
+
assert.equal(killed, false);
|
|
92
|
+
});
|
|
93
|
+
it('skips an unusable empty pane snapshot without mutating tmux layout', async () => {
|
|
94
|
+
let created = false;
|
|
95
|
+
let resized = false;
|
|
96
|
+
let killed = false;
|
|
97
|
+
const result = await reconcileHudForPromptSubmit('/repo', {
|
|
98
|
+
env: {
|
|
99
|
+
TMUX: '1',
|
|
100
|
+
TMUX_PANE: '%271',
|
|
101
|
+
OMX_SESSION_ID: 'sess-a',
|
|
102
|
+
[OMX_TMUX_HUD_OWNER_ENV]: '1',
|
|
103
|
+
},
|
|
104
|
+
listCurrentWindowPanes: () => [],
|
|
105
|
+
createHudWatchPane: () => {
|
|
106
|
+
created = true;
|
|
107
|
+
return '%hud';
|
|
108
|
+
},
|
|
109
|
+
resizeTmuxPane: () => {
|
|
110
|
+
resized = true;
|
|
111
|
+
return true;
|
|
112
|
+
},
|
|
113
|
+
killTmuxPane: () => {
|
|
114
|
+
killed = true;
|
|
115
|
+
return true;
|
|
116
|
+
},
|
|
117
|
+
resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
|
|
118
|
+
});
|
|
119
|
+
assert.equal(result.status, 'skipped_stale_leader_pane');
|
|
120
|
+
assert.equal(result.paneId, null);
|
|
121
|
+
assert.equal(created, false);
|
|
122
|
+
assert.equal(resized, false);
|
|
123
|
+
assert.equal(killed, false);
|
|
124
|
+
});
|
|
125
|
+
it('skips a dead leader pane without mutating tmux layout', async () => {
|
|
126
|
+
let created = false;
|
|
127
|
+
let resized = false;
|
|
128
|
+
let killed = false;
|
|
129
|
+
const result = await reconcileHudForPromptSubmit('/repo', {
|
|
130
|
+
env: {
|
|
131
|
+
TMUX: '1',
|
|
132
|
+
TMUX_PANE: '%271',
|
|
133
|
+
OMX_SESSION_ID: 'sess-a',
|
|
134
|
+
[OMX_TMUX_HUD_OWNER_ENV]: '1',
|
|
135
|
+
},
|
|
136
|
+
listCurrentWindowPanes: () => [
|
|
137
|
+
{ paneId: '%271', currentCommand: 'zsh', startCommand: 'zsh', paneDead: true },
|
|
138
|
+
],
|
|
139
|
+
createHudWatchPane: () => {
|
|
140
|
+
created = true;
|
|
141
|
+
return '%hud';
|
|
142
|
+
},
|
|
143
|
+
resizeTmuxPane: () => {
|
|
144
|
+
resized = true;
|
|
145
|
+
return true;
|
|
146
|
+
},
|
|
147
|
+
killTmuxPane: () => {
|
|
148
|
+
killed = true;
|
|
149
|
+
return true;
|
|
150
|
+
},
|
|
151
|
+
resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
|
|
152
|
+
});
|
|
153
|
+
assert.equal(result.status, 'skipped_stale_leader_pane');
|
|
154
|
+
assert.equal(result.paneId, null);
|
|
155
|
+
assert.equal(created, false);
|
|
156
|
+
assert.equal(resized, false);
|
|
157
|
+
assert.equal(killed, false);
|
|
158
|
+
});
|
|
159
|
+
it('continues normal reconciliation when the scoped leader is live', async () => {
|
|
160
|
+
const resized = [];
|
|
161
|
+
const result = await reconcileHudForPromptSubmit('/repo', {
|
|
162
|
+
env: { TMUX: '1', TMUX_PANE: '%271', OMX_SESSION_ID: 'sess-a', [OMX_TMUX_HUD_OWNER_ENV]: '1' },
|
|
163
|
+
listCurrentWindowPanes: () => [
|
|
164
|
+
{ paneId: '%271', currentCommand: 'codex', startCommand: 'codex', paneDead: false, paneHeight: 20, windowHeight: 24 },
|
|
165
|
+
{
|
|
166
|
+
paneId: '%272',
|
|
167
|
+
currentCommand: 'node',
|
|
168
|
+
paneHeight: 2,
|
|
169
|
+
paneTop: 21,
|
|
170
|
+
paneBottom: 23,
|
|
171
|
+
paneLeft: 0,
|
|
172
|
+
paneWidth: 80,
|
|
173
|
+
windowWidth: 80,
|
|
174
|
+
windowHeight: 24,
|
|
175
|
+
startCommand: `env OMX_SESSION_ID='sess-a' ${OMX_TMUX_HUD_LEADER_PANE_ENV}='%271' node omx hud --watch`,
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
readHudConfig: async () => ({ preset: 'focused', git: { display: 'branch' }, statusLine: { preset: 'focused' } }),
|
|
179
|
+
readAllState: async () => ({
|
|
180
|
+
version: null, gitBranch: null, ralph: null, ultragoal: null, ultrawork: null,
|
|
181
|
+
autopilot: null, ralplan: null, deepInterview: null, autoresearch: null, ultraqa: null,
|
|
182
|
+
team: null, metrics: null, hudNotify: null, session: null,
|
|
183
|
+
}),
|
|
184
|
+
resizeTmuxPane: (_pane, height) => {
|
|
185
|
+
resized.push(height);
|
|
186
|
+
return true;
|
|
187
|
+
},
|
|
188
|
+
registerHudResizeHook: () => true,
|
|
189
|
+
resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
|
|
190
|
+
});
|
|
191
|
+
assert.equal(result.status, 'unchanged');
|
|
192
|
+
assert.equal(result.paneId, '%272');
|
|
193
|
+
assert.deepEqual(resized, []);
|
|
194
|
+
});
|
|
195
|
+
for (const scenario of ['keeper', 'single-invalid', 'duplicates-invalid']) {
|
|
196
|
+
it(`bounds a large roster against fresh target geometry after removing HUDs: ${scenario}`, async () => {
|
|
197
|
+
const killed = [];
|
|
198
|
+
const resized = [];
|
|
199
|
+
const created = [];
|
|
200
|
+
const hooks = [];
|
|
201
|
+
const command = `env OMX_SESSION_ID='sess-a' ${OMX_TMUX_HUD_LEADER_PANE_ENV}='%1' node omx hud --watch`;
|
|
202
|
+
const result = await reconcileHudForPromptSubmit('/repo', {
|
|
203
|
+
env: { TMUX: '1', TMUX_PANE: '%1', OMX_SESSION_ID: 'sess-a', [OMX_TMUX_HUD_OWNER_ENV]: '1' },
|
|
204
|
+
listCurrentWindowPanes: () => [
|
|
205
|
+
{ paneId: '%1', currentCommand: 'codex', startCommand: 'codex', paneLeft: 0, paneTop: 0,
|
|
206
|
+
paneWidth: 80, paneHeight: killed.length ? 8 : 12, paneBottom: 11, windowWidth: 160, windowHeight: 50 },
|
|
207
|
+
{ paneId: '%2', currentCommand: 'node', startCommand: command, paneLeft: 81, paneTop: 0,
|
|
208
|
+
paneWidth: 79, paneHeight: 50, paneBottom: 49, windowWidth: 160, windowHeight: 50 },
|
|
209
|
+
...(scenario === 'single-invalid' ? [] : [
|
|
210
|
+
{ paneId: '%3', currentCommand: 'node', startCommand: command, paneLeft: 0,
|
|
211
|
+
paneTop: scenario === 'keeper' ? 13 : 0, paneWidth: 80, paneHeight: 3,
|
|
212
|
+
paneBottom: 15, windowWidth: 160, windowHeight: 50 },
|
|
213
|
+
]),
|
|
214
|
+
].filter(pane => !killed.includes(pane.paneId)),
|
|
215
|
+
readHudConfig: async () => ({ preset: 'focused', git: { display: 'branch' }, statusLine: { preset: 'focused' } }),
|
|
216
|
+
readAllState: async () => ({
|
|
217
|
+
version: null, gitBranch: null, ralph: null, ultragoal: null, ultrawork: null,
|
|
218
|
+
autopilot: null, ralplan: null, deepInterview: null, autoresearch: null, ultraqa: null,
|
|
219
|
+
team: { active: true, workers: Array.from({ length: 20 }, (_, i) => ({ name: `worker-${i + 1}`, state: 'working' })) },
|
|
220
|
+
metrics: null, hudNotify: null, session: null,
|
|
221
|
+
}),
|
|
222
|
+
killTmuxPane: paneId => { killed.push(paneId); return true; },
|
|
223
|
+
resizeTmuxPane: (paneId, height) => { resized.push({ paneId, height }); return true; },
|
|
224
|
+
createHudWatchPane: (_cwd, _cmd, options) => { created.push(options?.heightLines ?? 0); return '%4'; },
|
|
225
|
+
registerHudResizeHook: (_pane, _leader, height) => { hooks.push(height); return true; },
|
|
226
|
+
unregisterHudResizeHook: noOpUnregisterHudResizeHook,
|
|
227
|
+
resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
|
|
228
|
+
});
|
|
229
|
+
const expectedHeight = scenario === 'keeper' ? 5 : 3;
|
|
230
|
+
assert.equal(result.desiredHeight, expectedHeight);
|
|
231
|
+
assert.deepEqual(hooks, [expectedHeight]);
|
|
232
|
+
if (scenario === 'keeper') {
|
|
233
|
+
assert.equal(result.paneId, '%3');
|
|
234
|
+
assert.deepEqual(killed, ['%2']);
|
|
235
|
+
assert.deepEqual(resized, [{ paneId: '%3', height: expectedHeight }]);
|
|
236
|
+
assert.deepEqual(created, []);
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
assert.equal(result.paneId, '%4');
|
|
240
|
+
assert.deepEqual(created, [expectedHeight]);
|
|
241
|
+
assert.deepEqual(killed, scenario === 'single-invalid' ? ['%2'] : ['%2', '%3']);
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}
|
|
31
245
|
it('skips reconciliation in non-OMX-owned tmux even when an entry exists', async () => {
|
|
32
246
|
let listed = false;
|
|
33
247
|
let created = false;
|