oh-my-codex 0.21.0 → 0.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.toml +1 -1
- package/README.md +4 -2
- package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.d.ts +2 -0
- package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.d.ts.map +1 -0
- package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.js +592 -0
- package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.js.map +1 -0
- package/dist/cli/__tests__/detached-leader-teardown.test.js +270 -33
- package/dist/cli/__tests__/detached-leader-teardown.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +133 -5
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +543 -2
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/issue-windows-cancel-identity.test.d.ts +2 -0
- package/dist/cli/__tests__/issue-windows-cancel-identity.test.d.ts.map +1 -0
- package/dist/cli/__tests__/issue-windows-cancel-identity.test.js +17 -0
- package/dist/cli/__tests__/issue-windows-cancel-identity.test.js.map +1 -0
- package/dist/cli/__tests__/launch-fallback.test.js +15 -3
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +20 -0
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/plugin-cache-stale-lock.test.d.ts +2 -0
- package/dist/cli/__tests__/plugin-cache-stale-lock.test.d.ts.map +1 -0
- package/dist/cli/__tests__/plugin-cache-stale-lock.test.js +76 -0
- package/dist/cli/__tests__/plugin-cache-stale-lock.test.js.map +1 -0
- package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.d.ts +2 -0
- package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.d.ts.map +1 -0
- package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js +1662 -0
- package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js.map +1 -0
- package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.d.ts +2 -0
- package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.d.ts.map +1 -0
- package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js +522 -0
- package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js.map +1 -0
- package/dist/cli/__tests__/ralplan-advisory.test.d.ts +2 -0
- package/dist/cli/__tests__/ralplan-advisory.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ralplan-advisory.test.js +301 -0
- package/dist/cli/__tests__/ralplan-advisory.test.js.map +1 -0
- package/dist/cli/__tests__/ralplan.test.js +39 -0
- package/dist/cli/__tests__/ralplan.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +81 -6
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/session-scoped-runtime.test.js +423 -4
- package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +60 -3
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +9 -0
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-cli.test.js +4 -0
- package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +71 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js +30 -4
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +57 -8
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +113 -7
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1850 -185
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/native-assets.d.ts +2 -1
- package/dist/cli/native-assets.d.ts.map +1 -1
- package/dist/cli/native-assets.js +7 -7
- package/dist/cli/native-assets.js.map +1 -1
- package/dist/cli/plugin-marketplace.d.ts +89 -4
- package/dist/cli/plugin-marketplace.d.ts.map +1 -1
- package/dist/cli/plugin-marketplace.js +2135 -118
- package/dist/cli/plugin-marketplace.js.map +1 -1
- package/dist/cli/ralplan.d.ts +2 -1
- package/dist/cli/ralplan.d.ts.map +1 -1
- package/dist/cli/ralplan.js +149 -9
- package/dist/cli/ralplan.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +7 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/sparkshell.d.ts.map +1 -1
- package/dist/cli/sparkshell.js +9 -10
- package/dist/cli/sparkshell.js.map +1 -1
- package/dist/cli/update-worker.js +9 -0
- package/dist/cli/update-worker.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 +9 -0
- package/dist/cli/update.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +118 -0
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +74 -4
- package/dist/config/generator.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +74 -0
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/ralplan-advisory-keyword.test.d.ts +2 -0
- package/dist/hooks/__tests__/ralplan-advisory-keyword.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/ralplan-advisory-keyword.test.js +250 -0
- package/dist/hooks/__tests__/ralplan-advisory-keyword.test.js.map +1 -0
- package/dist/hooks/__tests__/session.test.js +10 -1
- package/dist/hooks/__tests__/session.test.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts +8 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +130 -9
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/session.d.ts +5 -0
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +17 -3
- package/dist/hooks/session.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +16 -1
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +134 -7
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/render.test.js +57 -0
- package/dist/hud/__tests__/render.test.js.map +1 -1
- package/dist/hud/__tests__/session-attached.test.d.ts +2 -0
- package/dist/hud/__tests__/session-attached.test.d.ts.map +1 -0
- package/dist/hud/__tests__/session-attached.test.js +82 -0
- package/dist/hud/__tests__/session-attached.test.js.map +1 -0
- package/dist/hud/__tests__/state.test.js +94 -2
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/__tests__/tmux-split-realtmux.test.js +169 -2
- package/dist/hud/__tests__/tmux-split-realtmux.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +104 -22
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/__tests__/types.test.js +9 -0
- package/dist/hud/__tests__/types.test.js.map +1 -1
- package/dist/hud/__tests__/watch-detached.test.d.ts +2 -0
- package/dist/hud/__tests__/watch-detached.test.d.ts.map +1 -0
- package/dist/hud/__tests__/watch-detached.test.js +383 -0
- package/dist/hud/__tests__/watch-detached.test.js.map +1 -0
- package/dist/hud/__tests__/watch-realtmux.test.d.ts +2 -0
- package/dist/hud/__tests__/watch-realtmux.test.d.ts.map +1 -0
- package/dist/hud/__tests__/watch-realtmux.test.js +322 -0
- package/dist/hud/__tests__/watch-realtmux.test.js.map +1 -0
- package/dist/hud/index.d.ts +3 -0
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +98 -20
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +68 -24
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/render.d.ts.map +1 -1
- package/dist/hud/render.js +20 -0
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/session-attached.d.ts +15 -0
- package/dist/hud/session-attached.d.ts.map +1 -0
- package/dist/hud/session-attached.js +47 -0
- package/dist/hud/session-attached.js.map +1 -0
- package/dist/hud/state.d.ts +9 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +140 -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 +86 -23
- package/dist/hud/tmux.js.map +1 -1
- package/dist/hud/types.d.ts +20 -0
- package/dist/hud/types.d.ts.map +1 -1
- package/dist/hud/types.js +3 -0
- package/dist/hud/types.js.map +1 -1
- package/dist/modes/base.d.ts +15 -2
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +105 -16
- package/dist/modes/base.js.map +1 -1
- package/dist/question/autopilot-wait.js +2 -2
- package/dist/question/autopilot-wait.js.map +1 -1
- package/dist/question/deep-interview.js +2 -2
- package/dist/question/deep-interview.js.map +1 -1
- package/dist/ralplan/__tests__/advisory-activation.test.d.ts +2 -0
- package/dist/ralplan/__tests__/advisory-activation.test.d.ts.map +1 -0
- package/dist/ralplan/__tests__/advisory-activation.test.js +700 -0
- package/dist/ralplan/__tests__/advisory-activation.test.js.map +1 -0
- package/dist/ralplan/__tests__/advisory-detached-transition.test.d.ts +2 -0
- package/dist/ralplan/__tests__/advisory-detached-transition.test.d.ts.map +1 -0
- package/dist/ralplan/__tests__/advisory-detached-transition.test.js +88 -0
- package/dist/ralplan/__tests__/advisory-detached-transition.test.js.map +1 -0
- package/dist/ralplan/__tests__/advisory.test.d.ts +2 -0
- package/dist/ralplan/__tests__/advisory.test.d.ts.map +1 -0
- package/dist/ralplan/__tests__/advisory.test.js +1087 -0
- package/dist/ralplan/__tests__/advisory.test.js.map +1 -0
- package/dist/ralplan/__tests__/runtime.test.js +416 -7
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/advisory-activation-verifier.d.ts +19 -0
- package/dist/ralplan/advisory-activation-verifier.d.ts.map +1 -0
- package/dist/ralplan/advisory-activation-verifier.js +77 -0
- package/dist/ralplan/advisory-activation-verifier.js.map +1 -0
- package/dist/ralplan/advisory-activation.d.ts +34 -0
- package/dist/ralplan/advisory-activation.d.ts.map +1 -0
- package/dist/ralplan/advisory-activation.js +205 -0
- package/dist/ralplan/advisory-activation.js.map +1 -0
- package/dist/ralplan/advisory-contract.d.ts +103 -0
- package/dist/ralplan/advisory-contract.d.ts.map +1 -0
- package/dist/ralplan/advisory-contract.js +83 -0
- package/dist/ralplan/advisory-contract.js.map +1 -0
- package/dist/ralplan/advisory-detached-transition.d.ts +11 -0
- package/dist/ralplan/advisory-detached-transition.d.ts.map +1 -0
- package/dist/ralplan/advisory-detached-transition.js +21 -0
- package/dist/ralplan/advisory-detached-transition.js.map +1 -0
- package/dist/ralplan/advisory-evidence.d.ts +91 -0
- package/dist/ralplan/advisory-evidence.d.ts.map +1 -0
- package/dist/ralplan/advisory-evidence.js +393 -0
- package/dist/ralplan/advisory-evidence.js.map +1 -0
- package/dist/ralplan/advisory-lifecycle-validation.d.ts +11 -0
- package/dist/ralplan/advisory-lifecycle-validation.d.ts.map +1 -0
- package/dist/ralplan/advisory-lifecycle-validation.js +72 -0
- package/dist/ralplan/advisory-lifecycle-validation.js.map +1 -0
- package/dist/ralplan/advisory-postconditions.d.ts +3 -0
- package/dist/ralplan/advisory-postconditions.d.ts.map +1 -0
- package/dist/ralplan/advisory-postconditions.js +33 -0
- package/dist/ralplan/advisory-postconditions.js.map +1 -0
- package/dist/ralplan/advisory-recovery-journal.d.ts +56 -0
- package/dist/ralplan/advisory-recovery-journal.d.ts.map +1 -0
- package/dist/ralplan/advisory-recovery-journal.js +136 -0
- package/dist/ralplan/advisory-recovery-journal.js.map +1 -0
- package/dist/ralplan/advisory-storage.d.ts +24 -0
- package/dist/ralplan/advisory-storage.d.ts.map +1 -0
- package/dist/ralplan/advisory-storage.js +106 -0
- package/dist/ralplan/advisory-storage.js.map +1 -0
- package/dist/ralplan/advisory.d.ts +99 -0
- package/dist/ralplan/advisory.d.ts.map +1 -0
- package/dist/ralplan/advisory.js +914 -0
- package/dist/ralplan/advisory.js.map +1 -0
- package/dist/ralplan/documented-leader-preflight.d.ts +8 -0
- package/dist/ralplan/documented-leader-preflight.d.ts.map +1 -1
- package/dist/ralplan/documented-leader-preflight.js +60 -2
- package/dist/ralplan/documented-leader-preflight.js.map +1 -1
- package/dist/ralplan/runtime-advisory-lifecycle.d.ts +74 -0
- package/dist/ralplan/runtime-advisory-lifecycle.d.ts.map +1 -0
- package/dist/ralplan/runtime-advisory-lifecycle.js +352 -0
- package/dist/ralplan/runtime-advisory-lifecycle.js.map +1 -0
- package/dist/ralplan/runtime-contract.d.ts +126 -0
- package/dist/ralplan/runtime-contract.d.ts.map +1 -0
- package/dist/ralplan/runtime-contract.js +2 -0
- package/dist/ralplan/runtime-contract.js.map +1 -0
- package/dist/ralplan/runtime.d.ts +6 -109
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +174 -56
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/scripts/__tests__/postinstall.test.js +26 -0
- package/dist/scripts/__tests__/postinstall.test.js.map +1 -1
- package/dist/scripts/__tests__/ralplan-advisory-hook.test.d.ts +2 -0
- package/dist/scripts/__tests__/ralplan-advisory-hook.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/ralplan-advisory-hook.test.js +299 -0
- package/dist/scripts/__tests__/ralplan-advisory-hook.test.js.map +1 -0
- package/dist/scripts/__tests__/smoke-packed-install.test.js +102 -8
- package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts +20 -0
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +226 -15
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/postinstall.d.ts +7 -0
- package/dist/scripts/postinstall.d.ts.map +1 -1
- package/dist/scripts/postinstall.js +40 -0
- package/dist/scripts/postinstall.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +21 -5
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +157 -57
- package/dist/scripts/smoke-packed-install.js.map +1 -1
- package/dist/state/__tests__/mode-binding-lease.test.d.ts +2 -0
- package/dist/state/__tests__/mode-binding-lease.test.d.ts.map +1 -0
- package/dist/state/__tests__/mode-binding-lease.test.js +498 -0
- package/dist/state/__tests__/mode-binding-lease.test.js.map +1 -0
- package/dist/state/__tests__/operations.test.js +1 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/pinned-atomic-file.test.d.ts +2 -0
- package/dist/state/__tests__/pinned-atomic-file.test.d.ts.map +1 -0
- package/dist/state/__tests__/pinned-atomic-file.test.js +438 -0
- package/dist/state/__tests__/pinned-atomic-file.test.js.map +1 -0
- package/dist/state/__tests__/skill-active-exact-session-transaction.test.d.ts +2 -0
- package/dist/state/__tests__/skill-active-exact-session-transaction.test.d.ts.map +1 -0
- package/dist/state/__tests__/skill-active-exact-session-transaction.test.js +179 -0
- package/dist/state/__tests__/skill-active-exact-session-transaction.test.js.map +1 -0
- package/dist/state/__tests__/skill-active.test.js +29 -1
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/mode-binding-lease-helper.d.ts +2 -0
- package/dist/state/mode-binding-lease-helper.d.ts.map +1 -0
- package/dist/state/mode-binding-lease-helper.js +623 -0
- package/dist/state/mode-binding-lease-helper.js.map +1 -0
- package/dist/state/mode-binding-lease.d.ts +25 -0
- package/dist/state/mode-binding-lease.d.ts.map +1 -0
- package/dist/state/mode-binding-lease.js +380 -0
- package/dist/state/mode-binding-lease.js.map +1 -0
- package/dist/state/operations.d.ts +29 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +203 -122
- package/dist/state/operations.js.map +1 -1
- package/dist/state/pinned-atomic-file-darwin-client.d.ts +34 -0
- package/dist/state/pinned-atomic-file-darwin-client.d.ts.map +1 -0
- package/dist/state/pinned-atomic-file-darwin-client.js +174 -0
- package/dist/state/pinned-atomic-file-darwin-client.js.map +1 -0
- package/dist/state/pinned-atomic-file-darwin-helper.d.ts +2 -0
- package/dist/state/pinned-atomic-file-darwin-helper.d.ts.map +1 -0
- package/dist/state/pinned-atomic-file-darwin-helper.js +275 -0
- package/dist/state/pinned-atomic-file-darwin-helper.js.map +1 -0
- package/dist/state/pinned-atomic-file-darwin-janitor.d.ts +2 -0
- package/dist/state/pinned-atomic-file-darwin-janitor.d.ts.map +1 -0
- package/dist/state/pinned-atomic-file-darwin-janitor.js +272 -0
- package/dist/state/pinned-atomic-file-darwin-janitor.js.map +1 -0
- package/dist/state/pinned-atomic-file.d.ts +29 -0
- package/dist/state/pinned-atomic-file.d.ts.map +1 -0
- package/dist/state/pinned-atomic-file.js +536 -0
- package/dist/state/pinned-atomic-file.js.map +1 -0
- package/dist/state/process-identity.d.ts +30 -0
- package/dist/state/process-identity.d.ts.map +1 -0
- package/dist/state/process-identity.js +99 -0
- package/dist/state/process-identity.js.map +1 -0
- package/dist/state/skill-active.d.ts +18 -1
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +82 -5
- package/dist/state/skill-active.js.map +1 -1
- package/dist/state/workflow-transition-reconcile.js +1 -1
- package/dist/state/workflow-transition-reconcile.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +109 -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 +10 -1
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/utils/__tests__/file-durability.test.js +20 -0
- package/dist/utils/__tests__/file-durability.test.js.map +1 -1
- package/dist/utils/file-durability.d.ts +1 -1
- package/dist/utils/file-durability.d.ts.map +1 -1
- package/dist/utils/file-durability.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +12 -4
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/dist/verification/__tests__/ci-trusted-publish.test.d.ts +2 -0
- package/dist/verification/__tests__/ci-trusted-publish.test.d.ts.map +1 -0
- package/dist/verification/__tests__/ci-trusted-publish.test.js +205 -0
- package/dist/verification/__tests__/ci-trusted-publish.test.js.map +1 -0
- package/dist/verification/__tests__/explore-harness-release-workflow.test.js +10 -5
- package/dist/verification/__tests__/explore-harness-release-workflow.test.js.map +1 -1
- package/dist/verification/__tests__/publish-npm-manual-retired.test.d.ts +2 -0
- package/dist/verification/__tests__/publish-npm-manual-retired.test.d.ts.map +1 -0
- package/dist/verification/__tests__/publish-npm-manual-retired.test.js +22 -0
- package/dist/verification/__tests__/publish-npm-manual-retired.test.js.map +1 -0
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/doctor/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +10 -1
- package/plugins/oh-my-codex/skills/team/SKILL.md +2 -0
- package/skills/doctor/SKILL.md +1 -1
- package/skills/omx-setup/SKILL.md +1 -1
- package/skills/ralplan/SKILL.md +10 -1
- package/skills/team/SKILL.md +2 -0
- package/src/scripts/__tests__/postinstall.test.ts +28 -0
- package/src/scripts/__tests__/ralplan-advisory-hook.test.ts +320 -0
- package/src/scripts/__tests__/smoke-packed-install.test.ts +120 -7
- package/src/scripts/codex-native-hook.ts +220 -10
- package/src/scripts/postinstall.ts +46 -0
- package/src/scripts/smoke-packed-install.ts +175 -70
package/dist/hud/state.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Reads .omx/state/ files to build HUD render context.
|
|
5
5
|
*/
|
|
6
|
-
import { readFile } from 'fs/promises';
|
|
6
|
+
import { open, readFile, readdir, stat } from 'fs/promises';
|
|
7
7
|
import { execFileSync } from 'child_process';
|
|
8
8
|
import { join, basename } from 'path';
|
|
9
9
|
import { findGitLayout, readGitLayoutFile } from '../utils/git-layout.js';
|
|
@@ -42,6 +42,134 @@ function sanitizeOptionalString(value) {
|
|
|
42
42
|
const trimmed = value.trim();
|
|
43
43
|
return trimmed ? trimmed : undefined;
|
|
44
44
|
}
|
|
45
|
+
const GUARDEX_FINISH_TAIL_BYTES = 64 * 1024;
|
|
46
|
+
const GUARDEX_FINISH_MAX_CANDIDATES = 32;
|
|
47
|
+
const GUARDEX_FINISH_MAX_AGE_MS = 24 * 60 * 60 * 1_000;
|
|
48
|
+
const GUARDEX_FINISH_RUN_ID_RE = /^finish-[^-]+-(\d+)-/;
|
|
49
|
+
const GUARDEX_FINISH_FILE_RE = /^finish-([0-9a-z]+)-\d+-[^/]+\.jsonl$/;
|
|
50
|
+
const GUARDEX_TERMINAL_STATES = new Set(['failed', 'finished']);
|
|
51
|
+
function isProcessAlive(pid) {
|
|
52
|
+
try {
|
|
53
|
+
process.kill(pid, 0);
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
return error.code === 'EPERM';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async function readFileTail(path) {
|
|
61
|
+
const handle = await open(path, 'r');
|
|
62
|
+
try {
|
|
63
|
+
const fileStat = await handle.stat();
|
|
64
|
+
const length = Math.min(fileStat.size, GUARDEX_FINISH_TAIL_BYTES);
|
|
65
|
+
if (length <= 0)
|
|
66
|
+
return '';
|
|
67
|
+
const buffer = Buffer.alloc(length);
|
|
68
|
+
await handle.read(buffer, 0, length, fileStat.size - length);
|
|
69
|
+
return buffer.toString('utf8');
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
await handle.close();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function normalizeGuardexFinishEvent(raw) {
|
|
76
|
+
if (raw.schemaVersion !== 1)
|
|
77
|
+
return null;
|
|
78
|
+
const runId = sanitizeOptionalString(raw.runId);
|
|
79
|
+
const timestamp = sanitizeOptionalString(raw.timestamp);
|
|
80
|
+
const stage = sanitizeOptionalString(raw.stage);
|
|
81
|
+
const state = sanitizeOptionalString(raw.state);
|
|
82
|
+
const label = sanitizeOptionalString(raw.label);
|
|
83
|
+
const index = Number(raw.index);
|
|
84
|
+
const total = Number(raw.total);
|
|
85
|
+
const pidMatch = runId?.match(GUARDEX_FINISH_RUN_ID_RE);
|
|
86
|
+
const pid = Number(pidMatch?.[1]);
|
|
87
|
+
const updatedAt = timestamp ? Date.parse(timestamp) : Number.NaN;
|
|
88
|
+
if (!runId || !timestamp || !stage || stage === 'finish' || !state || state === 'pending' || !label)
|
|
89
|
+
return null;
|
|
90
|
+
if (!Number.isSafeInteger(index) || index <= 0 || !Number.isSafeInteger(total) || total <= 0 || index > total)
|
|
91
|
+
return null;
|
|
92
|
+
if (!Number.isSafeInteger(pid) || pid <= 0 || !isProcessAlive(pid))
|
|
93
|
+
return null;
|
|
94
|
+
if (!Number.isFinite(updatedAt) || Date.now() - updatedAt > GUARDEX_FINISH_MAX_AGE_MS)
|
|
95
|
+
return null;
|
|
96
|
+
if (GUARDEX_TERMINAL_STATES.has(state))
|
|
97
|
+
return null;
|
|
98
|
+
return {
|
|
99
|
+
active: true,
|
|
100
|
+
stage: stage.slice(0, 40),
|
|
101
|
+
state: state.slice(0, 40),
|
|
102
|
+
index,
|
|
103
|
+
total,
|
|
104
|
+
label: label.slice(0, 80),
|
|
105
|
+
updatedAt: timestamp,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
async function readGuardexFinishFile(path) {
|
|
109
|
+
try {
|
|
110
|
+
const lines = (await readFileTail(path)).split('\n');
|
|
111
|
+
for (let index = lines.length - 1; index >= 0; index -= 1) {
|
|
112
|
+
const line = lines[index]?.trim();
|
|
113
|
+
if (!line)
|
|
114
|
+
continue;
|
|
115
|
+
try {
|
|
116
|
+
const event = JSON.parse(line);
|
|
117
|
+
const state = normalizeGuardexFinishEvent(event);
|
|
118
|
+
if (state)
|
|
119
|
+
return state;
|
|
120
|
+
if (event.schemaVersion === 1 && GUARDEX_TERMINAL_STATES.has(String(event.state || '')))
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// The writer may be appending the trailing JSON line while the HUD reads it.
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// Optional observability must remain fail-open for missing or unreadable files.
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
/** Read the newest active GitGuardex branch-finish event stream. */
|
|
134
|
+
export async function readGuardexFinishState(cwd, dependencies = {}) {
|
|
135
|
+
// Guardex writes to the repository-local state directory, independent of
|
|
136
|
+
// OMX session/team state-root overrides inherited by the HUD process.
|
|
137
|
+
const repoRoot = findGitLayout(cwd)?.worktreeRoot ?? cwd;
|
|
138
|
+
const directory = join(repoRoot, '.omx', 'state', 'finish-runs');
|
|
139
|
+
try {
|
|
140
|
+
const entries = await readdir(directory, { withFileTypes: true });
|
|
141
|
+
// Guardex encodes the run start time as base36 in each filename. Bound the
|
|
142
|
+
// newest run IDs before metadata reads so one HUD tick stays O(1).
|
|
143
|
+
const recentEntries = entries
|
|
144
|
+
.flatMap(entry => {
|
|
145
|
+
if (!entry.isFile())
|
|
146
|
+
return [];
|
|
147
|
+
const match = entry.name.match(GUARDEX_FINISH_FILE_RE);
|
|
148
|
+
if (!match)
|
|
149
|
+
return [];
|
|
150
|
+
const startedAt = Number.parseInt(match[1], 36);
|
|
151
|
+
return Number.isSafeInteger(startedAt) ? [{ name: entry.name, startedAt }] : [];
|
|
152
|
+
})
|
|
153
|
+
.sort((left, right) => right.startedAt - left.startedAt || right.name.localeCompare(left.name))
|
|
154
|
+
.slice(0, GUARDEX_FINISH_MAX_CANDIDATES);
|
|
155
|
+
const statFile = dependencies.statFile ?? stat;
|
|
156
|
+
const candidates = await Promise.all(recentEntries
|
|
157
|
+
.map(async (entry) => ({
|
|
158
|
+
path: join(directory, entry.name),
|
|
159
|
+
modifiedAt: (await statFile(join(directory, entry.name))).mtimeMs,
|
|
160
|
+
})));
|
|
161
|
+
candidates.sort((left, right) => right.modifiedAt - left.modifiedAt);
|
|
162
|
+
for (const candidate of candidates) {
|
|
163
|
+
const state = await readGuardexFinishFile(candidate.path);
|
|
164
|
+
if (state)
|
|
165
|
+
return state;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
// GitGuardex is optional; repos without its state directory render normally.
|
|
170
|
+
}
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
45
173
|
export function normalizeHudConfig(raw) {
|
|
46
174
|
const normalized = {
|
|
47
175
|
preset: DEFAULT_HUD_CONFIG.preset,
|
|
@@ -51,6 +179,9 @@ export function normalizeHudConfig(raw) {
|
|
|
51
179
|
statusLine: {
|
|
52
180
|
preset: DEFAULT_HUD_CONFIG.statusLine.preset,
|
|
53
181
|
},
|
|
182
|
+
guardex: {
|
|
183
|
+
enabled: DEFAULT_HUD_CONFIG.guardex?.enabled === true,
|
|
184
|
+
},
|
|
54
185
|
};
|
|
55
186
|
if (!raw || typeof raw !== 'object')
|
|
56
187
|
return normalized;
|
|
@@ -73,6 +204,9 @@ export function normalizeHudConfig(raw) {
|
|
|
73
204
|
normalized.statusLine.preset = raw.statusLine.preset;
|
|
74
205
|
}
|
|
75
206
|
}
|
|
207
|
+
if (raw.guardex && typeof raw.guardex === 'object' && typeof raw.guardex.enabled === 'boolean') {
|
|
208
|
+
normalized.guardex = { enabled: raw.guardex.enabled };
|
|
209
|
+
}
|
|
76
210
|
return normalized;
|
|
77
211
|
}
|
|
78
212
|
const ULTRAGOAL_ACTIVE_STATUSES = new Set(['in_progress', 'review_blocked', 'needs_user_decision']);
|
|
@@ -232,7 +366,8 @@ export async function readSessionState(cwd) {
|
|
|
232
366
|
} : null;
|
|
233
367
|
}
|
|
234
368
|
export async function readHudConfig(cwd) {
|
|
235
|
-
const
|
|
369
|
+
const repoRoot = findGitLayout(cwd)?.worktreeRoot ?? cwd;
|
|
370
|
+
const config = await readJsonFile(join(repoRoot, '.omx', 'hud-config.json'));
|
|
236
371
|
return normalizeHudConfig(config);
|
|
237
372
|
}
|
|
238
373
|
export function readVersion() {
|
|
@@ -485,12 +620,13 @@ function codeReviewFromSubagentEvidence(canonicalSkills, tracking, sessionId, au
|
|
|
485
620
|
export async function readAllState(cwd, config = DEFAULT_HUD_CONFIG) {
|
|
486
621
|
const version = readVersion();
|
|
487
622
|
const gitBranch = buildGitBranchLabel(cwd, config);
|
|
488
|
-
const [metrics, hudNotify, session, currentSessionId, subagentTracking] = await Promise.all([
|
|
623
|
+
const [metrics, hudNotify, session, currentSessionId, subagentTracking, guardexFinish] = await Promise.all([
|
|
489
624
|
readMetrics(cwd),
|
|
490
625
|
readHudNotifyState(cwd),
|
|
491
626
|
readSessionState(cwd),
|
|
492
627
|
readCurrentSessionId(cwd),
|
|
493
628
|
readSubagentTrackingState(cwd),
|
|
629
|
+
config.guardex?.enabled === true ? readGuardexFinishState(cwd) : Promise.resolve(null),
|
|
494
630
|
]);
|
|
495
631
|
const stateDir = getBaseStateDir(cwd);
|
|
496
632
|
const canonicalSkillState = await readVisibleSkillActiveStateForStateDir(stateDir, currentSessionId);
|
|
@@ -572,6 +708,7 @@ export async function readAllState(cwd, config = DEFAULT_HUD_CONFIG) {
|
|
|
572
708
|
codeReview,
|
|
573
709
|
ultraqa,
|
|
574
710
|
team,
|
|
711
|
+
guardexFinish,
|
|
575
712
|
metrics,
|
|
576
713
|
hudNotify,
|
|
577
714
|
session,
|
package/dist/hud/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/hud/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/hud/state.ts"],"names":[],"mappings":"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"}
|
package/dist/hud/tmux.d.ts
CHANGED
|
@@ -66,6 +66,7 @@ export declare function shellEscapeSingle(value: string): string;
|
|
|
66
66
|
export declare function buildHudResizeHookName(sessionId: string, windowId: string, leaderPaneId: string): string;
|
|
67
67
|
export declare function buildHudResizeHookSlot(hookName: string): string;
|
|
68
68
|
export declare function buildHudLayoutHookSlot(hookName: string): string;
|
|
69
|
+
export declare function buildHudSplitHookSlot(hookName: string): string;
|
|
69
70
|
export interface HudResizeHookContext {
|
|
70
71
|
sessionId: string;
|
|
71
72
|
windowId: string;
|
|
@@ -76,6 +77,7 @@ export interface HudResizeHookContext {
|
|
|
76
77
|
hookName: string;
|
|
77
78
|
hookSlot: string;
|
|
78
79
|
layoutHookSlot: string;
|
|
80
|
+
splitHookSlot: string;
|
|
79
81
|
}
|
|
80
82
|
export declare function parseHudResizeHookContext(output: string, leaderPaneId: string, hudPaneId?: string, incarnations?: {
|
|
81
83
|
leaderPanePid: string;
|
|
@@ -120,6 +122,8 @@ export declare function killTmuxPaneIfCurrent(paneId: string, expectedPanePid: s
|
|
|
120
122
|
export declare function resizeTmuxPaneIfCurrent(paneId: string, expectedPanePid: string, heightLines: number, execTmuxSync?: TmuxExecSync): boolean;
|
|
121
123
|
export declare function killTmuxPane(paneId: string, execTmuxSync?: TmuxExecSync): boolean;
|
|
122
124
|
export declare function resizeTmuxPane(paneId: string, heightLines: number, execTmuxSync?: TmuxExecSync): boolean;
|
|
125
|
+
/** Clears scrollback for an OMX-owned HUD pane after a height reflow. */
|
|
126
|
+
export declare function clearTmuxPaneHistory(paneId: string, execTmuxSync?: TmuxExecSync): boolean;
|
|
123
127
|
export declare function registerHudResizeHook(hudPaneId: string, leaderPaneId: string | undefined, heightLines: number, optionsOrExecTmuxSync?: RegisterHudResizeHookOptions | TmuxExecSync, maybeExecTmuxSync?: TmuxExecSync): boolean;
|
|
124
128
|
export declare function unregisterHudResizeHook(leaderPaneId: string | undefined, execTmuxSync?: TmuxExecSync): boolean;
|
|
125
129
|
export {};
|
package/dist/hud/tmux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/hud/tmux.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AAEvE,eAAO,MAAM,yBAAyB,WAAS,CAAC;AAChD,eAAO,MAAM,sCAAsC,UAAU,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,cAAc,GAAG,oBAAoB,GAAG,aAAa,CAAC;AAEtG,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;AAO/C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CASxF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAO5E;AAED,wDAAwD;AACxD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3E;AAgCD,MAAM,WAAW,4BAA4B;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AA4BD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACzC,gBAAgB,EAAE,CA4EpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAO9D;
|
|
1
|
+
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../../src/hud/tmux.ts"],"names":[],"mappings":"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"}
|
package/dist/hud/tmux.js
CHANGED
|
@@ -254,10 +254,33 @@ function lexPosixWords(command) {
|
|
|
254
254
|
}
|
|
255
255
|
return words;
|
|
256
256
|
}
|
|
257
|
+
function normalizeTmuxPaneStartCommand(command) {
|
|
258
|
+
const trimmed = command.trim();
|
|
259
|
+
if (trimmed.length < 2 || trimmed[0] !== '"')
|
|
260
|
+
return command;
|
|
261
|
+
let escaped = false;
|
|
262
|
+
for (let index = 1; index < trimmed.length; index += 1) {
|
|
263
|
+
const char = trimmed[index];
|
|
264
|
+
if (escaped) {
|
|
265
|
+
escaped = false;
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
if (char === '\\') {
|
|
269
|
+
escaped = true;
|
|
270
|
+
continue;
|
|
271
|
+
}
|
|
272
|
+
if (char === '"') {
|
|
273
|
+
const body = trimmed.slice(1, index).replace(/\\(["\\])/g, '$1');
|
|
274
|
+
return `${body}${trimmed.slice(index + 1)}`.trim();
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return command;
|
|
278
|
+
}
|
|
257
279
|
function parsePosixHudEnvAssignments(command) {
|
|
258
280
|
const values = new Map();
|
|
259
|
-
const
|
|
260
|
-
const
|
|
281
|
+
const normalizedCommand = normalizeTmuxPaneStartCommand(command);
|
|
282
|
+
const attempted = HUD_OWNER_ENV_KEYS.some((key) => normalizedCommand.includes(key));
|
|
283
|
+
const words = lexPosixWords(normalizedCommand);
|
|
261
284
|
if (!words)
|
|
262
285
|
return { attempted, valid: false, values };
|
|
263
286
|
const inspect = (tokens) => {
|
|
@@ -273,6 +296,8 @@ function parsePosixHudEnvAssignments(command) {
|
|
|
273
296
|
values.set(key, existing);
|
|
274
297
|
continue;
|
|
275
298
|
}
|
|
299
|
+
if (assignment && (!commandStarted || acceptsEnvAssignments))
|
|
300
|
+
continue;
|
|
276
301
|
if (token === '-c' && index + 1 < tokens.length) {
|
|
277
302
|
const nested = lexPosixWords(tokens[index + 1]);
|
|
278
303
|
if (!nested || !inspect(nested))
|
|
@@ -394,7 +419,8 @@ function hasHudOwnerMetadataAttempt(command) {
|
|
|
394
419
|
return parsePowerShellHudEnvPrefix(command).present || parsePosixHudEnvAssignments(command).attempted;
|
|
395
420
|
}
|
|
396
421
|
function isInvalidHudOwnerValue(key, value) {
|
|
397
|
-
return
|
|
422
|
+
return (key === OMX_TMUX_HUD_OWNER_ENV && value !== '1')
|
|
423
|
+
|| (key !== OMX_TMUX_HUD_LEADER_PANE_ENV && value === '');
|
|
398
424
|
}
|
|
399
425
|
function parseHudEnvAssignment(command, key) {
|
|
400
426
|
const posix = parsePosixHudEnvAssignments(command);
|
|
@@ -627,8 +653,15 @@ export function buildHudLayoutHookSlot(hookName) {
|
|
|
627
653
|
}
|
|
628
654
|
return `window-layout-changed[${Math.abs(hash) % TMUX_HOOK_INDEX_MAX}]`;
|
|
629
655
|
}
|
|
656
|
+
export function buildHudSplitHookSlot(hookName) {
|
|
657
|
+
let hash = 0;
|
|
658
|
+
for (let i = 0; i < hookName.length; i++) {
|
|
659
|
+
hash = (hash * 31 + hookName.charCodeAt(i)) | 0;
|
|
660
|
+
}
|
|
661
|
+
return `after-split-window[${Math.abs(hash) % TMUX_HOOK_INDEX_MAX}]`;
|
|
662
|
+
}
|
|
630
663
|
function hudHookIdentityOption(hookSlot) {
|
|
631
|
-
const match = /^(client-resized|window-layout-changed)\[([0-9]+)\]$/.exec(hookSlot);
|
|
664
|
+
const match = /^(client-resized|window-layout-changed|after-split-window)\[([0-9]+)\]$/.exec(hookSlot);
|
|
632
665
|
if (!match)
|
|
633
666
|
throw new Error('invalid_tmux_hook_slot');
|
|
634
667
|
return `@omx_hook_identity_${match[1].replaceAll('-', '_')}_${match[2]}`;
|
|
@@ -641,16 +674,21 @@ function hudHookIdentityToken(hookName, hookSlot) {
|
|
|
641
674
|
}
|
|
642
675
|
function buildHudHookRegistrationSuffix(context, hookSlot) {
|
|
643
676
|
return [
|
|
644
|
-
'
|
|
677
|
+
';', 'set-option', '-t', context.sessionId,
|
|
645
678
|
hudHookIdentityOption(hookSlot), hudHookIdentityToken(context.hookName, hookSlot),
|
|
646
679
|
];
|
|
647
680
|
}
|
|
681
|
+
function buildHudHookUnsetCommand(context, hookSlot) {
|
|
682
|
+
return hookSlot.startsWith('window-layout-changed[')
|
|
683
|
+
? `set-hook -u -w -t ${context.windowId} ${hookSlot}`
|
|
684
|
+
: `set-hook -u -t ${context.sessionId} ${hookSlot}`;
|
|
685
|
+
}
|
|
648
686
|
function buildGuardedHudHookUnregisterArgs(context, hookSlot) {
|
|
649
687
|
const identityOption = hudHookIdentityOption(hookSlot);
|
|
650
688
|
return [
|
|
651
689
|
'if-shell', '-F', '-t', context.sessionId,
|
|
652
690
|
`#{==:${identityOption},${hudHookIdentityToken(context.hookName, hookSlot)}}`,
|
|
653
|
-
|
|
691
|
+
`${buildHudHookUnsetCommand(context, hookSlot)} ; set-option -u -t ${context.sessionId} ${identityOption}`,
|
|
654
692
|
'',
|
|
655
693
|
];
|
|
656
694
|
}
|
|
@@ -704,6 +742,7 @@ export function parseHudResizeHookContext(output, leaderPaneId, hudPaneId = lead
|
|
|
704
742
|
hookName,
|
|
705
743
|
hookSlot: buildHudResizeHookSlot(hookName),
|
|
706
744
|
layoutHookSlot: buildHudLayoutHookSlot(hookName),
|
|
745
|
+
splitHookSlot: buildHudSplitHookSlot(hookName),
|
|
707
746
|
};
|
|
708
747
|
}
|
|
709
748
|
export function readHudResizeHookContext(hudPaneId, leaderPaneId, execTmuxSync = defaultExecTmuxSync) {
|
|
@@ -739,9 +778,12 @@ function quoteHudHookShellArgument(value) {
|
|
|
739
778
|
function buildHudHookIncarnationCondition(paneId, panePid) {
|
|
740
779
|
return `#{&&:#{==:#{pane_id},${paneId}},#{&&:#{==:#{pane_dead},0},#{==:#{pane_pid},${panePid}}}}`;
|
|
741
780
|
}
|
|
781
|
+
function deferTmuxHookFormatExpansion(command) {
|
|
782
|
+
return command.replaceAll('#{', '##{');
|
|
783
|
+
}
|
|
742
784
|
function buildHudHookSelfUnregister(context) {
|
|
743
785
|
const identityOption = hudHookIdentityOption(context.hookSlot);
|
|
744
|
-
return `if-shell -F -t ${context.sessionId} ${quoteHudHookShellArgument(`#{==:${identityOption},${hudHookIdentityToken(context.hookName, context.hookSlot)}}`)} ${quoteHudHookShellArgument(
|
|
786
|
+
return `if-shell -F -t ${context.sessionId} ${quoteHudHookShellArgument(`#{==:${identityOption},${hudHookIdentityToken(context.hookName, context.hookSlot)}}`)} ${quoteHudHookShellArgument(`${buildHudHookUnsetCommand(context, context.hookSlot)} ; set-option -u -t ${context.sessionId} ${identityOption}`)} ''`;
|
|
745
787
|
}
|
|
746
788
|
function buildAtomicHudHookCommand(tmuxBin, context, success, tmuxEnv) {
|
|
747
789
|
const unregister = buildHudHookSelfUnregister(context);
|
|
@@ -760,12 +802,13 @@ function buildAtomicHudHookCommand(tmuxBin, context, success, tmuxEnv) {
|
|
|
760
802
|
if (process.platform === 'win32') {
|
|
761
803
|
const quotePowerShell = (value) => `'${value.replace(/'/g, "''")}'`;
|
|
762
804
|
const invoke = `& ${quotePowerShell(tmuxBin)} ${args.map(quotePowerShell).join(' ')}`;
|
|
763
|
-
|
|
805
|
+
const command = tmuxEnv
|
|
764
806
|
? `& { $env:TMUX = ${quotePowerShell(tmuxEnv)}; ${invoke} } | Out-Null`
|
|
765
807
|
: `${invoke} | Out-Null`;
|
|
808
|
+
return deferTmuxHookFormatExpansion(command);
|
|
766
809
|
}
|
|
767
810
|
const command = buildNestedTmuxCommand(tmuxBin, args, tmuxEnv);
|
|
768
|
-
return `${command} >/dev/null 2>&1 || true`;
|
|
811
|
+
return `${deferTmuxHookFormatExpansion(command)} >/dev/null 2>&1 || true`;
|
|
769
812
|
}
|
|
770
813
|
function buildAtomicHudResizeCommand(tmuxBin, hudPaneId, height, context, tmuxEnv) {
|
|
771
814
|
return buildAtomicHudHookCommand(tmuxBin, context, `resize-pane -t ${hudPaneId} -y ${height}`, tmuxEnv);
|
|
@@ -776,7 +819,7 @@ function buildHudResizeHookCommand(tmuxBin, hudPaneId, height, context, tmuxEnv)
|
|
|
776
819
|
? `${atomicResize}; Start-Sleep -Seconds ${HUD_RESIZE_RECONCILE_DELAY_SECONDS}; ${atomicResize}`
|
|
777
820
|
: `${atomicResize}; sleep ${HUD_RESIZE_RECONCILE_DELAY_SECONDS}; ${atomicResize}`;
|
|
778
821
|
}
|
|
779
|
-
function buildHudLayoutReconcileHookCommand(tmuxBin, omxBin, leaderPaneId, context, options = {}) {
|
|
822
|
+
function buildHudLayoutReconcileHookCommand(tmuxBin, omxBin, leaderPaneId, context, hookSlot, options = {}) {
|
|
780
823
|
const env = options.env ?? process.env;
|
|
781
824
|
const cwd = options.cwd?.trim() || process.cwd();
|
|
782
825
|
const reconcileEnv = buildEnvPrefix({
|
|
@@ -797,13 +840,13 @@ function buildHudLayoutReconcileHookCommand(tmuxBin, omxBin, leaderPaneId, conte
|
|
|
797
840
|
'hud',
|
|
798
841
|
'--reconcile-tmux',
|
|
799
842
|
].join(' ');
|
|
800
|
-
const layoutContext = { ...context, hookSlot
|
|
843
|
+
const layoutContext = { ...context, hookSlot };
|
|
801
844
|
if (process.platform === 'win32') {
|
|
802
845
|
const nativeReconcile = `Set-Location -LiteralPath '${cwd.replace(/'/g, "''")}'; & '${process.execPath.replace(/'/g, "''")}' '${omxBin.replace(/'/g, "''")}' hud --reconcile-tmux | Out-Null`;
|
|
803
|
-
const success = `${buildHudHookSelfUnregister(layoutContext)}
|
|
846
|
+
const success = `${buildHudHookSelfUnregister(layoutContext)} ; run-shell -b ${quoteHudHookShellArgument(nativeReconcile)}`;
|
|
804
847
|
return buildAtomicHudHookCommand(tmuxBin, layoutContext, success, env.TMUX);
|
|
805
848
|
}
|
|
806
|
-
const success = `${buildHudHookSelfUnregister(layoutContext)}
|
|
849
|
+
const success = `${buildHudHookSelfUnregister(layoutContext)} ; run-shell -b ${quoteHudHookShellArgument(`${reconcile} >/dev/null 2>&1`)}`;
|
|
807
850
|
return buildAtomicHudHookCommand(tmuxBin, layoutContext, success, env.TMUX);
|
|
808
851
|
}
|
|
809
852
|
function unregisterLegacyHudResizeHook(context, execTmuxSync) {
|
|
@@ -1185,7 +1228,7 @@ function rollbackRecoveredHudSplitPane(paneId, proofOption, proofValue, operatio
|
|
|
1185
1228
|
return parseExactTmuxAuthorityScalar(execTmuxSync([
|
|
1186
1229
|
'if-shell', '-F', '-t', paneId,
|
|
1187
1230
|
condition,
|
|
1188
|
-
`kill-pane -t ${paneId}
|
|
1231
|
+
`kill-pane -t ${paneId} ; display-message -p ${receipt}`,
|
|
1189
1232
|
`display-message -p __omx_hud_rollback_rejected_${receipt}`,
|
|
1190
1233
|
])) === receipt;
|
|
1191
1234
|
}
|
|
@@ -1314,7 +1357,7 @@ export function mutateHudWatchPaneIfCurrent(paneId, expectedPanePid, mutation, e
|
|
|
1314
1357
|
const output = execTmuxSync([
|
|
1315
1358
|
'if-shell', '-F', '-t', canonicalPaneId,
|
|
1316
1359
|
condition,
|
|
1317
|
-
`${mutation}
|
|
1360
|
+
`${mutation} ; display-message -p ${marker}`,
|
|
1318
1361
|
`display-message -p __omx_hud_mutation_failed_${marker}`,
|
|
1319
1362
|
]);
|
|
1320
1363
|
return parseExactTmuxAuthorityScalar(output) === marker;
|
|
@@ -1333,7 +1376,7 @@ function mutateTmuxPaneIfCurrent(paneId, expectedPanePid, mutation, execTmuxSync
|
|
|
1333
1376
|
const output = execTmuxSync([
|
|
1334
1377
|
'if-shell', '-F', '-t', canonicalPaneId,
|
|
1335
1378
|
buildHudHookIncarnationCondition(canonicalPaneId, expectedPanePid),
|
|
1336
|
-
`${mutation}
|
|
1379
|
+
`${mutation} ; display-message -p ${marker}`,
|
|
1337
1380
|
`display-message -p __omx_hud_mutation_failed_${marker}`,
|
|
1338
1381
|
]);
|
|
1339
1382
|
return parseExactTmuxAuthorityScalar(output) === marker;
|
|
@@ -1386,6 +1429,19 @@ export function resizeTmuxPane(paneId, heightLines, execTmuxSync = defaultExecTm
|
|
|
1386
1429
|
return false;
|
|
1387
1430
|
}
|
|
1388
1431
|
}
|
|
1432
|
+
/** Clears scrollback for an OMX-owned HUD pane after a height reflow. */
|
|
1433
|
+
export function clearTmuxPaneHistory(paneId, execTmuxSync = defaultExecTmuxSync) {
|
|
1434
|
+
const canonicalPaneId = parseCanonicalTmuxPaneId(paneId);
|
|
1435
|
+
if (!canonicalPaneId)
|
|
1436
|
+
return false;
|
|
1437
|
+
try {
|
|
1438
|
+
execTmuxSync(['clear-history', '-t', canonicalPaneId]);
|
|
1439
|
+
return true;
|
|
1440
|
+
}
|
|
1441
|
+
catch {
|
|
1442
|
+
return false;
|
|
1443
|
+
}
|
|
1444
|
+
}
|
|
1389
1445
|
export function registerHudResizeHook(hudPaneId, leaderPaneId, heightLines, optionsOrExecTmuxSync = {}, maybeExecTmuxSync) {
|
|
1390
1446
|
const options = typeof optionsOrExecTmuxSync === 'function' ? {} : optionsOrExecTmuxSync;
|
|
1391
1447
|
const execTmuxSync = typeof optionsOrExecTmuxSync === 'function'
|
|
@@ -1411,8 +1467,13 @@ export function registerHudResizeHook(hudPaneId, leaderPaneId, heightLines, opti
|
|
|
1411
1467
|
}
|
|
1412
1468
|
if (omxBin) {
|
|
1413
1469
|
try {
|
|
1414
|
-
|
|
1415
|
-
|
|
1470
|
+
for (const hookSlot of [context.splitHookSlot, context.layoutHookSlot]) {
|
|
1471
|
+
const reconcileCmd = shellEscapeSingle(buildHudLayoutReconcileHookCommand(tmuxBin, omxBin, canonicalLeaderPaneId, context, hookSlot, options));
|
|
1472
|
+
const targetArgs = hookSlot === context.layoutHookSlot
|
|
1473
|
+
? ['-w', '-t', context.windowId]
|
|
1474
|
+
: ['-t', context.sessionId];
|
|
1475
|
+
execTmuxSync(['set-hook', ...targetArgs, hookSlot, `run-shell -b ${reconcileCmd}`, ...buildHudHookRegistrationSuffix(context, hookSlot)]);
|
|
1476
|
+
}
|
|
1416
1477
|
}
|
|
1417
1478
|
catch {
|
|
1418
1479
|
// Keep the resize hook installed so older tmux builds still recover on
|
|
@@ -1444,11 +1505,13 @@ export function unregisterHudResizeHook(leaderPaneId, execTmuxSync = defaultExec
|
|
|
1444
1505
|
catch {
|
|
1445
1506
|
ok = false;
|
|
1446
1507
|
}
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1508
|
+
for (const hookSlot of [context.splitHookSlot, context.layoutHookSlot]) {
|
|
1509
|
+
try {
|
|
1510
|
+
execTmuxSync(buildGuardedHudHookUnregisterArgs(context, hookSlot));
|
|
1511
|
+
}
|
|
1512
|
+
catch {
|
|
1513
|
+
ok = false;
|
|
1514
|
+
}
|
|
1452
1515
|
}
|
|
1453
1516
|
return ok;
|
|
1454
1517
|
}
|