oh-my-codex 0.20.3 → 0.20.5
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 +35 -18
- package/Cargo.toml +1 -1
- package/README.md +2 -2
- package/crates/omx-runtime/Cargo.toml +3 -0
- package/crates/omx-runtime/src/main.rs +390 -0
- package/crates/omx-runtime/tests/execution.rs +264 -0
- package/dist/adapt/__tests__/herdr-target.test.d.ts +2 -0
- package/dist/adapt/__tests__/herdr-target.test.d.ts.map +1 -0
- package/dist/adapt/__tests__/herdr-target.test.js +72 -0
- package/dist/adapt/__tests__/herdr-target.test.js.map +1 -0
- package/dist/adapt/contracts.d.ts +1 -1
- package/dist/adapt/contracts.d.ts.map +1 -1
- package/dist/adapt/contracts.js +1 -1
- package/dist/adapt/contracts.js.map +1 -1
- package/dist/adapt/herdr/__tests__/authority.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/authority.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/authority.test.js +49 -0
- package/dist/adapt/herdr/__tests__/authority.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/bridge.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/bridge.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/bridge.test.js +176 -0
- package/dist/adapt/herdr/__tests__/bridge.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/sanitize.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/sanitize.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/sanitize.test.js +45 -0
- package/dist/adapt/herdr/__tests__/sanitize.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/semantic.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/semantic.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/semantic.test.js +130 -0
- package/dist/adapt/herdr/__tests__/semantic.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/seq-store.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/seq-store.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/seq-store.test.js +54 -0
- package/dist/adapt/herdr/__tests__/seq-store.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/socket-live.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/socket-live.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/socket-live.test.js +104 -0
- package/dist/adapt/herdr/__tests__/socket-live.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/team-map.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/team-map.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/team-map.test.js +46 -0
- package/dist/adapt/herdr/__tests__/team-map.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/transport.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/transport.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/transport.test.js +160 -0
- package/dist/adapt/herdr/__tests__/transport.test.js.map +1 -0
- package/dist/adapt/herdr/__tests__/wiring.test.d.ts +2 -0
- package/dist/adapt/herdr/__tests__/wiring.test.d.ts.map +1 -0
- package/dist/adapt/herdr/__tests__/wiring.test.js +118 -0
- package/dist/adapt/herdr/__tests__/wiring.test.js.map +1 -0
- package/dist/adapt/herdr/authority.d.ts +34 -0
- package/dist/adapt/herdr/authority.d.ts.map +1 -0
- package/dist/adapt/herdr/authority.js +71 -0
- package/dist/adapt/herdr/authority.js.map +1 -0
- package/dist/adapt/herdr/bridge.d.ts +84 -0
- package/dist/adapt/herdr/bridge.d.ts.map +1 -0
- package/dist/adapt/herdr/bridge.js +222 -0
- package/dist/adapt/herdr/bridge.js.map +1 -0
- package/dist/adapt/herdr/sanitize.d.ts +20 -0
- package/dist/adapt/herdr/sanitize.d.ts.map +1 -0
- package/dist/adapt/herdr/sanitize.js +70 -0
- package/dist/adapt/herdr/sanitize.js.map +1 -0
- package/dist/adapt/herdr/semantic.d.ts +67 -0
- package/dist/adapt/herdr/semantic.d.ts.map +1 -0
- package/dist/adapt/herdr/semantic.js +170 -0
- package/dist/adapt/herdr/semantic.js.map +1 -0
- package/dist/adapt/herdr/seq-store.d.ts +32 -0
- package/dist/adapt/herdr/seq-store.d.ts.map +1 -0
- package/dist/adapt/herdr/seq-store.js +126 -0
- package/dist/adapt/herdr/seq-store.js.map +1 -0
- package/dist/adapt/herdr/team-map.d.ts +30 -0
- package/dist/adapt/herdr/team-map.d.ts.map +1 -0
- package/dist/adapt/herdr/team-map.js +37 -0
- package/dist/adapt/herdr/team-map.js.map +1 -0
- package/dist/adapt/herdr/transport.d.ts +115 -0
- package/dist/adapt/herdr/transport.d.ts.map +1 -0
- package/dist/adapt/herdr/transport.js +260 -0
- package/dist/adapt/herdr/transport.js.map +1 -0
- package/dist/adapt/herdr/wiring.d.ts +24 -0
- package/dist/adapt/herdr/wiring.d.ts.map +1 -0
- package/dist/adapt/herdr/wiring.js +62 -0
- package/dist/adapt/herdr/wiring.js.map +1 -0
- package/dist/adapt/herdr.d.ts +19 -0
- package/dist/adapt/herdr.d.ts.map +1 -0
- package/dist/adapt/herdr.js +115 -0
- package/dist/adapt/herdr.js.map +1 -0
- package/dist/adapt/index.d.ts +4 -0
- package/dist/adapt/index.d.ts.map +1 -1
- package/dist/adapt/index.js +48 -0
- package/dist/adapt/index.js.map +1 -1
- package/dist/adapt/registry.d.ts.map +1 -1
- package/dist/adapt/registry.js +11 -0
- package/dist/adapt/registry.js.map +1 -1
- package/dist/auth/__tests__/hotswap.test.js +60 -1
- package/dist/auth/__tests__/hotswap.test.js.map +1 -1
- package/dist/auth/__tests__/storage.test.js +33 -1
- package/dist/auth/__tests__/storage.test.js.map +1 -1
- package/dist/auth/hotswap.d.ts +16 -2
- package/dist/auth/hotswap.d.ts.map +1 -1
- package/dist/auth/hotswap.js +22 -7
- package/dist/auth/hotswap.js.map +1 -1
- package/dist/auth/storage.js +1 -1
- package/dist/auth/storage.js.map +1 -1
- package/dist/autopilot/__tests__/ralplan-gate.test.js +86 -1333
- package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
- package/dist/autopilot/ralplan-gate.d.ts.map +1 -1
- package/dist/autopilot/ralplan-gate.js +7 -6
- package/dist/autopilot/ralplan-gate.js.map +1 -1
- package/dist/cli/__tests__/agents-init.test.js +4 -23
- package/dist/cli/__tests__/agents-init.test.js.map +1 -1
- package/dist/cli/__tests__/api.test.js +61 -24
- package/dist/cli/__tests__/api.test.js.map +1 -1
- package/dist/cli/__tests__/auth.test.js +3 -1
- package/dist/cli/__tests__/auth.test.js.map +1 -1
- package/dist/cli/__tests__/codex-feature-probe.test.js +66 -1
- package/dist/cli/__tests__/codex-feature-probe.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +70 -2
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/detached-leader-teardown.test.d.ts +2 -0
- package/dist/cli/__tests__/detached-leader-teardown.test.d.ts.map +1 -0
- package/dist/cli/__tests__/detached-leader-teardown.test.js +473 -0
- package/dist/cli/__tests__/detached-leader-teardown.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-process-identity-readiness.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-process-identity-readiness.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-process-identity-readiness.test.js +103 -0
- package/dist/cli/__tests__/doctor-process-identity-readiness.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-state-root-binding.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-state-root-binding.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-state-root-binding.test.js +139 -0
- package/dist/cli/__tests__/doctor-state-root-binding.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js +35 -3
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +75 -0
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +621 -460
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +1020 -143
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-parity.test.js +4 -3
- package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
- package/dist/cli/__tests__/native-assets.test.js +398 -16
- package/dist/cli/__tests__/native-assets.test.js.map +1 -1
- package/dist/cli/__tests__/native-hook-claim-journal.test.js +53 -5
- package/dist/cli/__tests__/native-hook-claim-journal.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +2 -2
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js +57 -57
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js.map +1 -1
- package/dist/cli/__tests__/ralplan-child-binding-3212.test.d.ts +2 -0
- package/dist/cli/__tests__/ralplan-child-binding-3212.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ralplan-child-binding-3212.test.js +56 -0
- package/dist/cli/__tests__/ralplan-child-binding-3212.test.js.map +1 -0
- package/dist/cli/__tests__/ralplan.test.js +84 -12
- package/dist/cli/__tests__/ralplan.test.js.map +1 -1
- package/dist/cli/__tests__/session-scoped-runtime.test.js +1118 -43
- package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +8 -55
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +183 -4
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-cli.test.js +93 -41
- package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +45 -1
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +117 -2
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +50 -5
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/__tests__/update.test.js +669 -177
- package/dist/cli/__tests__/update.test.js.map +1 -1
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js +32 -2
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -1
- package/dist/cli/api.d.ts.map +1 -1
- package/dist/cli/api.js +9 -10
- package/dist/cli/api.js.map +1 -1
- package/dist/cli/codex-feature-probe.d.ts +16 -0
- package/dist/cli/codex-feature-probe.d.ts.map +1 -1
- package/dist/cli/codex-feature-probe.js +44 -0
- package/dist/cli/codex-feature-probe.js.map +1 -1
- package/dist/cli/codex-home.d.ts.map +1 -1
- package/dist/cli/codex-home.js +7 -4
- package/dist/cli/codex-home.js.map +1 -1
- package/dist/cli/doctor.d.ts +17 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +277 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +231 -12
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2298 -735
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/native-assets.d.ts +25 -0
- package/dist/cli/native-assets.d.ts.map +1 -1
- package/dist/cli/native-assets.js +448 -51
- package/dist/cli/native-assets.js.map +1 -1
- package/dist/cli/native-hook-claim-journal.d.ts +8 -4
- package/dist/cli/native-hook-claim-journal.d.ts.map +1 -1
- package/dist/cli/native-hook-claim-journal.js +30 -8
- package/dist/cli/native-hook-claim-journal.js.map +1 -1
- package/dist/cli/package-manager-ownership.d.ts +63 -0
- package/dist/cli/package-manager-ownership.d.ts.map +1 -0
- package/dist/cli/package-manager-ownership.js +323 -0
- package/dist/cli/package-manager-ownership.js.map +1 -0
- package/dist/cli/ralph.js +2 -2
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/ralplan.d.ts +4 -2
- package/dist/cli/ralplan.d.ts.map +1 -1
- package/dist/cli/ralplan.js +76 -34
- package/dist/cli/ralplan.js.map +1 -1
- package/dist/cli/setup-preferences.d.ts +15 -0
- package/dist/cli/setup-preferences.d.ts.map +1 -1
- package/dist/cli/setup-preferences.js +27 -1
- package/dist/cli/setup-preferences.js.map +1 -1
- package/dist/cli/setup.d.ts +3 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +55 -32
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/sparkshell.d.ts.map +1 -1
- package/dist/cli/sparkshell.js +52 -9
- package/dist/cli/sparkshell.js.map +1 -1
- package/dist/cli/ultragoal.d.ts.map +1 -1
- package/dist/cli/ultragoal.js +2 -2
- package/dist/cli/ultragoal.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +27 -28
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/cli/update-worker.d.ts +2 -0
- package/dist/cli/update-worker.d.ts.map +1 -0
- package/dist/cli/update-worker.js +142 -0
- package/dist/cli/update-worker.js.map +1 -0
- package/dist/cli/update.d.ts +14 -22
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +192 -241
- package/dist/cli/update.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +173 -29
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +3 -1
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/generator.d.ts +25 -3
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +113 -35
- package/dist/config/generator.js.map +1 -1
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js +25 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js.map +1 -1
- package/dist/goal-workflows/codex-goal-snapshot.d.ts +1 -1
- package/dist/goal-workflows/codex-goal-snapshot.d.ts.map +1 -1
- package/dist/goal-workflows/codex-goal-snapshot.js +2 -0
- package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +3 -1
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js +27 -4
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/issue-3293-autopilot-handoff.test.d.ts +2 -0
- package/dist/hooks/__tests__/issue-3293-autopilot-handoff.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/issue-3293-autopilot-handoff.test.js +172 -0
- package/dist/hooks/__tests__/issue-3293-autopilot-handoff.test.js.map +1 -0
- package/dist/hooks/__tests__/keyword-detector.test.js +172 -33
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +173 -11
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +1 -0
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +65 -17
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +27 -0
- package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +10 -118
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js +7 -0
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +2 -2
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +4 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js +2 -1
- package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +1 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-contract.test.js +9 -0
- package/dist/hooks/__tests__/prompt-guidance-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/session.test.js +2976 -557
- package/dist/hooks/__tests__/session.test.js.map +1 -1
- package/dist/hooks/agents-overlay.js +1 -1
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js +108 -2
- package/dist/hooks/extensibility/__tests__/dispatcher.test.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/sdk.test.js +151 -1
- package/dist/hooks/extensibility/__tests__/sdk.test.js.map +1 -1
- package/dist/hooks/extensibility/dispatcher.d.ts.map +1 -1
- package/dist/hooks/extensibility/dispatcher.js +20 -3
- package/dist/hooks/extensibility/dispatcher.js.map +1 -1
- package/dist/hooks/extensibility/plugin-runner.js +1 -0
- package/dist/hooks/extensibility/plugin-runner.js.map +1 -1
- package/dist/hooks/extensibility/runtime.d.ts.map +1 -1
- package/dist/hooks/extensibility/runtime.js.map +1 -1
- package/dist/hooks/extensibility/sdk/paths.d.ts +1 -1
- package/dist/hooks/extensibility/sdk/paths.d.ts.map +1 -1
- package/dist/hooks/extensibility/sdk/paths.js +2 -2
- package/dist/hooks/extensibility/sdk/paths.js.map +1 -1
- package/dist/hooks/extensibility/sdk/runtime-state.d.ts +1 -1
- package/dist/hooks/extensibility/sdk/runtime-state.d.ts.map +1 -1
- package/dist/hooks/extensibility/sdk/runtime-state.js +55 -15
- package/dist/hooks/extensibility/sdk/runtime-state.js.map +1 -1
- package/dist/hooks/extensibility/sdk.d.ts +1 -0
- package/dist/hooks/extensibility/sdk.d.ts.map +1 -1
- package/dist/hooks/extensibility/sdk.js +1 -1
- package/dist/hooks/extensibility/sdk.js.map +1 -1
- package/dist/hooks/extensibility/types.d.ts +7 -0
- package/dist/hooks/extensibility/types.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.d.ts +10 -3
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +116 -20
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/session.d.ts +180 -14
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +1402 -281
- package/dist/hooks/session.js.map +1 -1
- package/dist/hud/__tests__/hud-tmux-injection.test.js +6 -6
- package/dist/hud/__tests__/hud-tmux-injection.test.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +26 -16
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +83 -78
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +36 -31
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +155 -198
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/tmux.d.ts +42 -4
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +1017 -139
- package/dist/hud/tmux.js.map +1 -1
- package/dist/leader/__tests__/contract.test.js +71 -34
- package/dist/leader/__tests__/contract.test.js.map +1 -1
- package/dist/leader/contract.d.ts +1 -6
- package/dist/leader/contract.d.ts.map +1 -1
- package/dist/leader/contract.js +25 -24
- package/dist/leader/contract.js.map +1 -1
- package/dist/mcp/__tests__/hermes-bridge.test.js +17 -0
- package/dist/mcp/__tests__/hermes-bridge.test.js.map +1 -1
- package/dist/mcp/__tests__/server-lifecycle.test.js +4 -4
- package/dist/mcp/__tests__/state-paths.test.js +735 -4
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +1 -1
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/__tests__/trace-server.test.js +2 -2
- package/dist/mcp/__tests__/trace-server.test.js.map +1 -1
- package/dist/mcp/hermes-bridge.d.ts.map +1 -1
- package/dist/mcp/hermes-bridge.js +2 -2
- package/dist/mcp/hermes-bridge.js.map +1 -1
- package/dist/mcp/state-paths.d.ts +78 -4
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +543 -40
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/mcp/state-server.d.ts +4 -4
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/modes/__tests__/base-autopilot-gates.test.js +36 -7
- package/dist/modes/__tests__/base-autopilot-gates.test.js.map +1 -1
- package/dist/modes/__tests__/base-multi-state-compat.test.js +1 -1
- package/dist/modes/__tests__/base-multi-state-compat.test.js.map +1 -1
- package/dist/modes/__tests__/base-session-scope.test.js +17 -8
- package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
- package/dist/modes/base.d.ts +5 -5
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +76 -21
- package/dist/modes/base.js.map +1 -1
- package/dist/native-assets/archive.d.ts +17 -0
- package/dist/native-assets/archive.d.ts.map +1 -0
- package/dist/native-assets/archive.js +238 -0
- package/dist/native-assets/archive.js.map +1 -0
- package/dist/native-assets/policy.d.ts +42 -0
- package/dist/native-assets/policy.d.ts.map +1 -0
- package/dist/native-assets/policy.js +155 -0
- package/dist/native-assets/policy.js.map +1 -0
- package/dist/pipeline/__tests__/orchestrator.test.js +162 -40
- package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +66 -149
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/orchestrator.d.ts.map +1 -1
- package/dist/pipeline/orchestrator.js +124 -18
- package/dist/pipeline/orchestrator.js.map +1 -1
- package/dist/pipeline/stages/ralplan.d.ts.map +1 -1
- package/dist/pipeline/stages/ralplan.js +36 -8
- package/dist/pipeline/stages/ralplan.js.map +1 -1
- package/dist/ralplan/__tests__/consensus-gate.test.js +70 -1437
- package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
- package/dist/ralplan/__tests__/documented-leader-preflight.test.js +328 -39
- package/dist/ralplan/__tests__/documented-leader-preflight.test.js.map +1 -1
- package/dist/ralplan/__tests__/runtime.test.js +82 -102
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/consensus-gate.d.ts +9 -1
- package/dist/ralplan/consensus-gate.d.ts.map +1 -1
- package/dist/ralplan/consensus-gate.js +40 -304
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/ralplan/documented-leader-preflight.d.ts +15 -8
- package/dist/ralplan/documented-leader-preflight.d.ts.map +1 -1
- package/dist/ralplan/documented-leader-preflight.js +356 -54
- package/dist/ralplan/documented-leader-preflight.js.map +1 -1
- package/dist/ralplan/runtime.d.ts +1 -1
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +68 -173
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/runtime/run-state.d.ts +5 -1
- package/dist/runtime/run-state.d.ts.map +1 -1
- package/dist/runtime/run-state.js +15 -8
- package/dist/runtime/run-state.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +14071 -8859
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/issue-3293-callsite-parity.test.d.ts +2 -0
- package/dist/scripts/__tests__/issue-3293-callsite-parity.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/issue-3293-callsite-parity.test.js +225 -0
- package/dist/scripts/__tests__/issue-3293-callsite-parity.test.js.map +1 -0
- package/dist/scripts/__tests__/issue-3293-cancel-transaction.test.d.ts +2 -0
- package/dist/scripts/__tests__/issue-3293-cancel-transaction.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/issue-3293-cancel-transaction.test.js +188 -0
- package/dist/scripts/__tests__/issue-3293-cancel-transaction.test.js.map +1 -0
- package/dist/scripts/__tests__/issue-3293-hook-owned-cancel.test.d.ts +2 -0
- package/dist/scripts/__tests__/issue-3293-hook-owned-cancel.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/issue-3293-hook-owned-cancel.test.js +259 -0
- package/dist/scripts/__tests__/issue-3293-hook-owned-cancel.test.js.map +1 -0
- package/dist/scripts/__tests__/issue-3311-ultragoal-native-outside-tmux.test.d.ts +2 -0
- package/dist/scripts/__tests__/issue-3311-ultragoal-native-outside-tmux.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/issue-3311-ultragoal-native-outside-tmux.test.js +491 -0
- package/dist/scripts/__tests__/issue-3311-ultragoal-native-outside-tmux.test.js.map +1 -0
- package/dist/scripts/__tests__/issue-3358-ultragoal-cancel-lifecycle.test.d.ts +2 -0
- package/dist/scripts/__tests__/issue-3358-ultragoal-cancel-lifecycle.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/issue-3358-ultragoal-cancel-lifecycle.test.js +708 -0
- package/dist/scripts/__tests__/issue-3358-ultragoal-cancel-lifecycle.test.js.map +1 -0
- package/dist/scripts/__tests__/issue-3369-autopilot-ralplan-state-machine.test.d.ts +2 -0
- package/dist/scripts/__tests__/issue-3369-autopilot-ralplan-state-machine.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/issue-3369-autopilot-ralplan-state-machine.test.js +208 -0
- package/dist/scripts/__tests__/issue-3369-autopilot-ralplan-state-machine.test.js.map +1 -0
- package/dist/scripts/__tests__/notify-state-io.test.js +26 -0
- package/dist/scripts/__tests__/notify-state-io.test.js.map +1 -1
- package/dist/scripts/__tests__/notify-tmux-injection.test.js +23 -1
- package/dist/scripts/__tests__/notify-tmux-injection.test.js.map +1 -1
- package/dist/scripts/__tests__/postinstall.test.js +19 -1
- package/dist/scripts/__tests__/postinstall.test.js.map +1 -1
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js +25 -8
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js.map +1 -1
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js +60 -25
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js.map +1 -1
- package/dist/scripts/__tests__/smoke-packed-install.test.js +155 -16
- package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
- package/dist/scripts/__tests__/verify-native-release-assets.test.d.ts +2 -0
- package/dist/scripts/__tests__/verify-native-release-assets.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/verify-native-release-assets.test.js +235 -0
- package/dist/scripts/__tests__/verify-native-release-assets.test.js.map +1 -0
- package/dist/scripts/codex-native-hook.d.ts +50 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +3559 -451
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts +9 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +35 -12
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/scripts/generate-native-release-manifest.js +80 -51
- package/dist/scripts/generate-native-release-manifest.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +28 -39
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
- package/dist/scripts/notify-hook/state-io.js +5 -0
- package/dist/scripts/notify-hook/state-io.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +32 -3
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.js +23 -3
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +45 -5
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts +1 -0
- package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.js +4 -1
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/notify-hook.js +78 -82
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/postinstall-advisory.d.ts +14 -0
- package/dist/scripts/postinstall-advisory.d.ts.map +1 -0
- package/dist/scripts/postinstall-advisory.js +49 -0
- package/dist/scripts/postinstall-advisory.js.map +1 -0
- package/dist/scripts/postinstall.d.ts +1 -1
- package/dist/scripts/postinstall.d.ts.map +1 -1
- package/dist/scripts/postinstall.js +1 -1
- package/dist/scripts/postinstall.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +32 -1
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +413 -60
- package/dist/scripts/smoke-packed-install.js.map +1 -1
- package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -1
- package/dist/scripts/sync-plugin-mirror.js +16 -1
- package/dist/scripts/sync-plugin-mirror.js.map +1 -1
- package/dist/scripts/verify-native-release-assets.js +37 -23
- package/dist/scripts/verify-native-release-assets.js.map +1 -1
- package/dist/state/__tests__/mode-state-context.test.js +12 -5
- package/dist/state/__tests__/mode-state-context.test.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +460 -850
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +400 -2
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/mode-state-context.d.ts +3 -0
- package/dist/state/mode-state-context.d.ts.map +1 -1
- package/dist/state/mode-state-context.js +27 -13
- package/dist/state/mode-state-context.js.map +1 -1
- package/dist/state/operations.d.ts +3 -0
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +144 -40
- package/dist/state/operations.js.map +1 -1
- 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 +420 -23
- package/dist/state/skill-active.js.map +1 -1
- package/dist/state/workflow-transition-reconcile.d.ts +3 -0
- package/dist/state/workflow-transition-reconcile.d.ts.map +1 -1
- package/dist/state/workflow-transition-reconcile.js +10 -4
- package/dist/state/workflow-transition-reconcile.js.map +1 -1
- package/dist/state/workflow-transition.d.ts.map +1 -1
- package/dist/state/workflow-transition.js +3 -1
- package/dist/state/workflow-transition.js.map +1 -1
- package/dist/subagents/__tests__/leader-bootstrap-3181.test.js +27 -0
- package/dist/subagents/__tests__/leader-bootstrap-3181.test.js.map +1 -1
- package/dist/subagents/__tests__/tracker.test.js +837 -1048
- package/dist/subagents/__tests__/tracker.test.js.map +1 -1
- package/dist/subagents/tracker.d.ts +64 -60
- package/dist/subagents/tracker.d.ts.map +1 -1
- package/dist/subagents/tracker.js +809 -358
- package/dist/subagents/tracker.js.map +1 -1
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +6 -7
- package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
- package/dist/team/__tests__/mcp-comm.test.js +104 -3
- package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
- package/dist/team/__tests__/notice-ledger.test.d.ts +2 -0
- package/dist/team/__tests__/notice-ledger.test.d.ts.map +1 -0
- package/dist/team/__tests__/notice-ledger.test.js +131 -0
- package/dist/team/__tests__/notice-ledger.test.js.map +1 -0
- package/dist/team/__tests__/pane-teardown-residue-e2e.test.d.ts +2 -0
- package/dist/team/__tests__/pane-teardown-residue-e2e.test.d.ts.map +1 -0
- package/dist/team/__tests__/pane-teardown-residue-e2e.test.js +410 -0
- package/dist/team/__tests__/pane-teardown-residue-e2e.test.js.map +1 -0
- package/dist/team/__tests__/phase-controller.test.js +20 -0
- package/dist/team/__tests__/phase-controller.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +725 -59
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +222 -237
- package/dist/team/__tests__/scaling.test.js.map +1 -1
- package/dist/team/__tests__/state-root.test.js +117 -2
- package/dist/team/__tests__/state-root.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +887 -92
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/tmux-source-authority-realtmux.test.d.ts +2 -0
- package/dist/team/__tests__/tmux-source-authority-realtmux.test.d.ts.map +1 -0
- package/dist/team/__tests__/tmux-source-authority-realtmux.test.js +149 -0
- package/dist/team/__tests__/tmux-source-authority-realtmux.test.js.map +1 -0
- package/dist/team/__tests__/tmux-test-fixture.d.ts +69 -0
- package/dist/team/__tests__/tmux-test-fixture.d.ts.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.js +242 -15
- package/dist/team/__tests__/tmux-test-fixture.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.test.js +177 -1
- package/dist/team/__tests__/tmux-test-fixture.test.js.map +1 -1
- package/dist/team/__tests__/worker-runtime-identity.test.js +45 -72
- package/dist/team/__tests__/worker-runtime-identity.test.js.map +1 -1
- package/dist/team/notice-ledger.d.ts +54 -0
- package/dist/team/notice-ledger.d.ts.map +1 -0
- package/dist/team/notice-ledger.js +259 -0
- package/dist/team/notice-ledger.js.map +1 -0
- package/dist/team/phase-controller.d.ts.map +1 -1
- package/dist/team/phase-controller.js +2 -0
- package/dist/team/phase-controller.js.map +1 -1
- package/dist/team/runtime.d.ts +3 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +314 -142
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +161 -91
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state/monitor.d.ts +10 -0
- package/dist/team/state/monitor.d.ts.map +1 -1
- package/dist/team/state/monitor.js +13 -0
- package/dist/team/state/monitor.js.map +1 -1
- package/dist/team/state/types.d.ts +15 -0
- package/dist/team/state/types.d.ts.map +1 -1
- package/dist/team/state/types.js.map +1 -1
- package/dist/team/state-root.d.ts +12 -0
- package/dist/team/state-root.d.ts.map +1 -1
- package/dist/team/state-root.js +177 -0
- package/dist/team/state-root.js.map +1 -1
- package/dist/team/state.d.ts +18 -0
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +36 -0
- package/dist/team/state.js.map +1 -1
- package/dist/team/tmux-session.d.ts +40 -4
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +513 -166
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/ultragoal/__tests__/artifacts.test.js +950 -2
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
- package/dist/ultragoal/__tests__/docs-contract.test.js +1 -0
- package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
- package/dist/ultragoal/artifacts.d.ts +35 -1
- package/dist/ultragoal/artifacts.d.ts.map +1 -1
- package/dist/ultragoal/artifacts.js +232 -46
- package/dist/ultragoal/artifacts.js.map +1 -1
- package/dist/utils/__tests__/file-durability.test.js +58 -1
- package/dist/utils/__tests__/file-durability.test.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +21 -1
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/file-durability.d.ts +10 -0
- package/dist/utils/file-durability.d.ts.map +1 -1
- package/dist/utils/file-durability.js +34 -4
- package/dist/utils/file-durability.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +14 -6
- package/dist/utils/paths.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +49 -4
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/dist/verification/__tests__/explore-harness-release-workflow.test.js +60 -0
- package/dist/verification/__tests__/explore-harness-release-workflow.test.js.map +1 -1
- package/dist/verification/__tests__/native-release-manifest.test.js +157 -4
- package/dist/verification/__tests__/native-release-manifest.test.js.map +1 -1
- package/package.json +13 -5
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +81 -17
- package/plugins/oh-my-codex/skills/autopilot/SKILL.md +13 -5
- package/plugins/oh-my-codex/skills/cancel/SKILL.md +30 -85
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +5 -5
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +15 -17
- package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +3 -2
- package/skills/autopilot/SKILL.md +13 -5
- package/skills/cancel/SKILL.md +30 -85
- package/skills/ralph/SKILL.md +5 -5
- package/skills/ralplan/SKILL.md +15 -17
- package/skills/ultragoal/SKILL.md +3 -2
- package/src/scripts/__tests__/codex-native-hook.test.ts +6091 -540
- package/src/scripts/__tests__/issue-3293-callsite-parity.test.ts +187 -0
- package/src/scripts/__tests__/issue-3293-cancel-transaction.test.ts +189 -0
- package/src/scripts/__tests__/issue-3293-hook-owned-cancel.test.ts +187 -0
- package/src/scripts/__tests__/issue-3311-ultragoal-native-outside-tmux.test.ts +591 -0
- package/src/scripts/__tests__/issue-3358-ultragoal-cancel-lifecycle.test.ts +701 -0
- package/src/scripts/__tests__/issue-3369-autopilot-ralplan-state-machine.test.ts +211 -0
- package/src/scripts/__tests__/notify-state-io.test.ts +29 -0
- package/src/scripts/__tests__/notify-tmux-injection.test.ts +26 -1
- package/src/scripts/__tests__/postinstall.test.ts +23 -1
- package/src/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.ts +27 -8
- package/src/scripts/__tests__/role-intent-durable-recovery-3181.test.ts +61 -27
- package/src/scripts/__tests__/smoke-packed-install.test.ts +209 -18
- package/src/scripts/__tests__/verify-native-release-assets.test.ts +240 -0
- package/src/scripts/codex-native-hook.ts +3638 -475
- package/src/scripts/codex-native-pre-post.ts +43 -12
- package/src/scripts/generate-native-release-manifest.ts +83 -79
- package/src/scripts/notify-fallback-watcher.ts +38 -38
- package/src/scripts/notify-hook/state-io.ts +11 -0
- package/src/scripts/notify-hook/team-leader-nudge.ts +32 -4
- package/src/scripts/notify-hook/team-worker-stop.ts +23 -4
- package/src/scripts/notify-hook/team-worker.ts +43 -5
- package/src/scripts/notify-hook/tmux-injection.ts +5 -1
- package/src/scripts/notify-hook.ts +83 -82
- package/src/scripts/postinstall-advisory.ts +67 -0
- package/src/scripts/postinstall.ts +1 -1
- package/src/scripts/smoke-packed-install.ts +446 -59
- package/src/scripts/sync-plugin-mirror.ts +17 -1
- package/src/scripts/verify-native-release-assets.ts +39 -31
- package/templates/AGENTS.md +1 -0
|
@@ -252,8 +252,12 @@ if [[ "$cmd" == "display-message" ]]; then
|
|
|
252
252
|
dirname "${tmuxLogPath}"
|
|
253
253
|
exit 0
|
|
254
254
|
fi
|
|
255
|
+
if [[ "$fmt" == *"#{pane_id}"* && "$fmt" == *"#{session_id}"* && "$fmt" == *"#{window_id}"* ]]; then
|
|
256
|
+
printf '%s\\037%s\\037%s\\037%s\\037%s\\037%s\\037%s\\037%s\n' '${options.ralphPane?.paneId ?? '%42'}' '${options.ralphPane?.panePid ?? options.panePid ?? 4242}' '${options.paneSession ?? 'session-test'}' '${options.paneSessionId ?? '$7'}' '${options.paneWindowId ?? '@9'}' '${options.ralphPane?.paneOwner ?? options.paneOwner ?? 'ralph:owner'}' '${options.paneCurrentCommand ?? 'codex'}' '${options.paneStartCommand ?? 'codex'}'
|
|
257
|
+
exit 0
|
|
258
|
+
fi
|
|
255
259
|
if [[ "$fmt" == "#{pane_current_command}" ]]; then
|
|
256
|
-
echo "codex"
|
|
260
|
+
echo "${options.paneCurrentCommand ?? 'codex'}"
|
|
257
261
|
exit 0
|
|
258
262
|
fi
|
|
259
263
|
if [[ "$fmt" == "#S" ]]; then
|
|
@@ -287,6 +291,66 @@ if [[ "$cmd" == "delete-buffer" ]]; then
|
|
|
287
291
|
rm -f "${tmuxLogPath}.buffer"
|
|
288
292
|
exit 0
|
|
289
293
|
fi
|
|
294
|
+
if [[ "$cmd" == "if-shell" ]]; then
|
|
295
|
+
forceFormat=0
|
|
296
|
+
target=""
|
|
297
|
+
while [[ "\$#" -gt 0 ]]; do
|
|
298
|
+
case "\$1" in
|
|
299
|
+
-F)
|
|
300
|
+
forceFormat=1
|
|
301
|
+
shift
|
|
302
|
+
;;
|
|
303
|
+
-t)
|
|
304
|
+
target="\$2"
|
|
305
|
+
shift 2
|
|
306
|
+
;;
|
|
307
|
+
*)
|
|
308
|
+
break
|
|
309
|
+
;;
|
|
310
|
+
esac
|
|
311
|
+
done
|
|
312
|
+
condition="\${1:-}"
|
|
313
|
+
success="\${2:-}"
|
|
314
|
+
denied="\${3:-}"
|
|
315
|
+
currentCommand="${options.paneCurrentCommand ?? 'codex'}"
|
|
316
|
+
startCommand="${options.paneStartCommand ?? 'codex'}"
|
|
317
|
+
sessionName="${options.paneSession ?? 'session-test'}"
|
|
318
|
+
sessionId='${options.paneSessionId ?? '$7'}'
|
|
319
|
+
windowId='${options.paneWindowId ?? '@9'}'
|
|
320
|
+
paneId="${options.ralphPane?.paneId ?? '%42'}"
|
|
321
|
+
panePid="${options.ralphPane?.panePid ?? options.panePid ?? 4242}"
|
|
322
|
+
paneOwner="${options.ralphPane?.paneOwner ?? options.paneOwner ?? 'ralph:owner'}"
|
|
323
|
+
if [[ "$forceFormat" != "1" || "$target" != "$paneId" || "$condition" != *"#{pane_id},$paneId"* || "$condition" != *"#{pane_dead},0"* || "$condition" != *"#{pane_pid},$panePid"* || "$condition" != *"#{session_name},$sessionName"* || "$condition" != *"#{session_id},$sessionId"* || "$condition" != *"#{window_id},$windowId"* || "$condition" != *"#{@omx_ralph_pane_owner_id},$paneOwner"* || "$condition" != *"#{pane_current_command},$currentCommand"* || "$condition" != *"#{pane_start_command},$startCommand"* ]]; then
|
|
324
|
+
if [[ "\$denied" == "display-message -p __omx_ralph_input_denied__" ]]; then
|
|
325
|
+
printf '__omx_ralph_input_denied__\n'
|
|
326
|
+
fi
|
|
327
|
+
exit 0
|
|
328
|
+
fi
|
|
329
|
+
receiptSeparator=' \\; display-message -p '
|
|
330
|
+
if [[ "\$success" != *"\$receiptSeparator"* ]]; then
|
|
331
|
+
printf '__omx_ralph_input_denied__\n'
|
|
332
|
+
exit 0
|
|
333
|
+
fi
|
|
334
|
+
sendCommand="\${success%%"\$receiptSeparator"*}"
|
|
335
|
+
receipt="\${success#*"\$receiptSeparator"}"
|
|
336
|
+
if [[ -z "\$sendCommand" || ! "\$receipt" =~ ^__omx_ralph_input_[a-z0-9]+__$ ]]; then
|
|
337
|
+
printf '__omx_ralph_input_denied__\n'
|
|
338
|
+
exit 0
|
|
339
|
+
fi
|
|
340
|
+
eval "set -- \$sendCommand"
|
|
341
|
+
if [[ "\$#" -lt 4 || "\$1" != "send-keys" || "\$2" != "-t" || "\$3" != "\$paneId" || ( "\$4" != "-l" && "\$4" != "C-m" ) || ( "\$4" == "-l" && "\$#" -ne 5 ) || ( "\$4" == "C-m" && "\$#" -ne 4 ) ]]; then
|
|
342
|
+
printf '__omx_ralph_input_denied__\n'
|
|
343
|
+
exit 0
|
|
344
|
+
fi
|
|
345
|
+
sendKeysArgs="\${*:2}"
|
|
346
|
+
if [[ "${options.failSendKeys === true ? '1' : '0'}" == "1" || ( -n "${options.failSendKeysMatch ?? ''}" && "\$sendKeysArgs" == *"${options.failSendKeysMatch ?? ''}"* ) ]]; then
|
|
347
|
+
echo 'send failed' >&2
|
|
348
|
+
exit 1
|
|
349
|
+
fi
|
|
350
|
+
echo "send-keys \$sendKeysArgs" >> "${tmuxLogPath}"
|
|
351
|
+
printf '%s\n' "\$receipt"
|
|
352
|
+
exit 0
|
|
353
|
+
fi
|
|
290
354
|
if [[ "$cmd" == "send-keys" ]]; then
|
|
291
355
|
sendKeysArgs="$*"
|
|
292
356
|
if [[ "${options.failSendKeys === true ? '1' : '0'}" == "1" ]]; then
|
|
@@ -321,9 +385,10 @@ exit 0
|
|
|
321
385
|
`;
|
|
322
386
|
}
|
|
323
387
|
function buildCleanNotifyEnv(overrides = {}) {
|
|
324
|
-
|
|
388
|
+
const env = {
|
|
325
389
|
...process.env,
|
|
326
390
|
OMX_TEAM_WORKER: '',
|
|
391
|
+
OMX_TEAM_INTERNAL_WORKER: '',
|
|
327
392
|
OMX_TEAM_STATE_ROOT: '',
|
|
328
393
|
OMX_TEAM_LEADER_CWD: '',
|
|
329
394
|
OMX_MODEL_INSTRUCTIONS_FILE: '',
|
|
@@ -335,6 +400,10 @@ function buildCleanNotifyEnv(overrides = {}) {
|
|
|
335
400
|
TMUX_PANE: '',
|
|
336
401
|
...overrides,
|
|
337
402
|
};
|
|
403
|
+
if (overrides.OMX_TEAM_WORKER && overrides.OMX_TEAM_INTERNAL_WORKER === undefined) {
|
|
404
|
+
env.OMX_TEAM_INTERNAL_WORKER = overrides.OMX_TEAM_WORKER;
|
|
405
|
+
}
|
|
406
|
+
return env;
|
|
338
407
|
}
|
|
339
408
|
describe('notify-fallback watcher', () => {
|
|
340
409
|
it('uses offset-bounded rollout reads instead of re-reading whole tracked files', async () => {
|
|
@@ -928,7 +997,11 @@ describe('notify-fallback watcher', () => {
|
|
|
928
997
|
tmux_pane_id: '%42',
|
|
929
998
|
tmux_pane_pid: 4242,
|
|
930
999
|
tmux_session_name: 'session-test',
|
|
1000
|
+
tmux_session_id: '$7',
|
|
1001
|
+
tmux_window_id: '@9',
|
|
931
1002
|
tmux_pane_owner_id: 'ralph:owner',
|
|
1003
|
+
tmux_pane_current_command: 'codex',
|
|
1004
|
+
tmux_pane_start_command: 'codex',
|
|
932
1005
|
}, null, 2));
|
|
933
1006
|
await writeFile(join(wd, '.omx', 'state', 'team-state.json'), JSON.stringify({
|
|
934
1007
|
active: true,
|
|
@@ -994,7 +1067,11 @@ describe('notify-fallback watcher', () => {
|
|
|
994
1067
|
tmux_pane_id: '%42',
|
|
995
1068
|
tmux_pane_pid: 4242,
|
|
996
1069
|
tmux_session_name: 'session-test',
|
|
1070
|
+
tmux_session_id: '$7',
|
|
1071
|
+
tmux_window_id: '@9',
|
|
997
1072
|
tmux_pane_owner_id: 'ralph:owner',
|
|
1073
|
+
tmux_pane_current_command: 'codex',
|
|
1074
|
+
tmux_pane_start_command: 'codex',
|
|
998
1075
|
}, null, 2));
|
|
999
1076
|
await writeFile(join(wd, '.omx', 'state', 'team-state.json'), JSON.stringify({
|
|
1000
1077
|
active: true,
|
|
@@ -1881,7 +1958,11 @@ exit 0
|
|
|
1881
1958
|
tmux_pane_id: '%42',
|
|
1882
1959
|
tmux_pane_pid: 4242,
|
|
1883
1960
|
tmux_session_name: 'session-test',
|
|
1961
|
+
tmux_session_id: '$7',
|
|
1962
|
+
tmux_window_id: '@9',
|
|
1884
1963
|
tmux_pane_owner_id: 'ralph:owner',
|
|
1964
|
+
tmux_pane_current_command: 'codex',
|
|
1965
|
+
tmux_pane_start_command: 'codex',
|
|
1885
1966
|
}, null, 2));
|
|
1886
1967
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
1887
1968
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -1923,16 +2004,19 @@ exit 0
|
|
|
1923
2004
|
await rm(wd, { recursive: true, force: true });
|
|
1924
2005
|
}
|
|
1925
2006
|
});
|
|
1926
|
-
it('fails closed for recycled, incomplete, HUD,
|
|
2007
|
+
it('fails closed for recycled, incomplete, HUD, taken-over, and command-drift Ralph pane bindings', async () => {
|
|
1927
2008
|
const cases = [
|
|
1928
|
-
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner', panePid: 4243 }],
|
|
2009
|
+
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner', panePid: 4243 }],
|
|
1929
2010
|
[{}, { paneOwner: 'ralph:owner' }],
|
|
1930
|
-
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_pane_owner_id: 'team:dispatch-team' }, { paneOwner: 'team:dispatch-team' }],
|
|
1931
|
-
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner', paneSession: 'other-session' }],
|
|
1932
|
-
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:
|
|
1933
|
-
[{ tmux_pane_pid: 4242
|
|
1934
|
-
[{ tmux_pane_pid:
|
|
1935
|
-
[{ tmux_pane_pid:
|
|
2011
|
+
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'team:dispatch-team' }, { paneOwner: 'team:dispatch-team' }],
|
|
2012
|
+
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner', paneSession: 'other-session' }],
|
|
2013
|
+
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner', paneSessionId: '$8' }],
|
|
2014
|
+
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner', paneWindowId: '@10' }],
|
|
2015
|
+
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:other' }],
|
|
2016
|
+
[{ tmux_pane_pid: 4242.9, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner' }],
|
|
2017
|
+
[{ tmux_pane_pid: '4.242e3', tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner' }],
|
|
2018
|
+
[{ tmux_pane_pid: '9007199254740992', tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner' }, { paneOwner: 'ralph:owner' }],
|
|
2019
|
+
[{ tmux_pane_pid: 4242, tmux_session_name: 'session-test', tmux_session_id: '$7', tmux_window_id: '@9', tmux_pane_owner_id: 'ralph:owner', tmux_pane_current_command: 'codex', tmux_pane_start_command: 'codex' }, { paneOwner: 'ralph:owner', paneCurrentCommand: 'node' }],
|
|
1936
2020
|
];
|
|
1937
2021
|
const watcherScript = new URL('../../../dist/scripts/notify-fallback-watcher.js', import.meta.url).pathname;
|
|
1938
2022
|
const notifyHook = new URL('../../../dist/scripts/notify-hook.js', import.meta.url).pathname;
|
|
@@ -1952,6 +2036,8 @@ exit 0
|
|
|
1952
2036
|
const result = spawnSync(process.execPath, [watcherScript, '--once', '--cwd', wd, '--notify-script', notifyHook], { encoding: 'utf-8', env: { ...buildCleanNotifyEnv(), PATH: `${fakeBinDir}:${process.env.PATH || ''}` } });
|
|
1953
2037
|
assert.equal(result.status, 0, result.stderr || result.stdout);
|
|
1954
2038
|
assert.doesNotMatch(await readFile(tmuxLogPath, 'utf-8').catch(() => ''), /send-keys -t %42/);
|
|
2039
|
+
if ('paneCurrentCommand' in tmux)
|
|
2040
|
+
assert.match(await readFile(tmuxLogPath, 'utf-8'), /if-shell -F -t %42/);
|
|
1955
2041
|
}
|
|
1956
2042
|
finally {
|
|
1957
2043
|
await rm(wd, { recursive: true, force: true });
|
|
@@ -1975,7 +2061,11 @@ exit 0
|
|
|
1975
2061
|
tmux_pane_id: '%42',
|
|
1976
2062
|
tmux_pane_pid: 4242,
|
|
1977
2063
|
tmux_session_name: 'session-test',
|
|
2064
|
+
tmux_session_id: '$7',
|
|
2065
|
+
tmux_window_id: '@9',
|
|
1978
2066
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2067
|
+
tmux_pane_current_command: 'codex',
|
|
2068
|
+
tmux_pane_start_command: 'codex',
|
|
1979
2069
|
}, null, 2));
|
|
1980
2070
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
1981
2071
|
last_progress_at: new Date(Date.now() - 5_000).toISOString(),
|
|
@@ -2020,7 +2110,11 @@ exit 0
|
|
|
2020
2110
|
tmux_pane_id: '%42',
|
|
2021
2111
|
tmux_pane_pid: 4242,
|
|
2022
2112
|
tmux_session_name: 'session-test',
|
|
2113
|
+
tmux_session_id: '$7',
|
|
2114
|
+
tmux_window_id: '@9',
|
|
2023
2115
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2116
|
+
tmux_pane_current_command: 'codex',
|
|
2117
|
+
tmux_pane_start_command: 'codex',
|
|
2024
2118
|
}, null, 2));
|
|
2025
2119
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2026
2120
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -2069,7 +2163,11 @@ exit 0
|
|
|
2069
2163
|
tmux_pane_id: '%42',
|
|
2070
2164
|
tmux_pane_pid: 4242,
|
|
2071
2165
|
tmux_session_name: 'session-test',
|
|
2166
|
+
tmux_session_id: '$7',
|
|
2167
|
+
tmux_window_id: '@9',
|
|
2072
2168
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2169
|
+
tmux_pane_current_command: 'codex',
|
|
2170
|
+
tmux_pane_start_command: 'codex',
|
|
2073
2171
|
}, null, 2));
|
|
2074
2172
|
await writeFile(join(sessionStateDir, 'hud-state.json'), JSON.stringify({
|
|
2075
2173
|
last_progress_at: new Date(Date.now() - 180_000).toISOString(),
|
|
@@ -2118,7 +2216,11 @@ exit 0
|
|
|
2118
2216
|
tmux_pane_id: '%42',
|
|
2119
2217
|
tmux_pane_pid: 4242,
|
|
2120
2218
|
tmux_session_name: 'session-test',
|
|
2219
|
+
tmux_session_id: '$7',
|
|
2220
|
+
tmux_window_id: '@9',
|
|
2121
2221
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2222
|
+
tmux_pane_current_command: 'codex',
|
|
2223
|
+
tmux_pane_start_command: 'codex',
|
|
2122
2224
|
owner_omx_session_id: omxSessionId,
|
|
2123
2225
|
owner_codex_session_id: codexSessionId,
|
|
2124
2226
|
}, null, 2));
|
|
@@ -2195,7 +2297,11 @@ exit 0
|
|
|
2195
2297
|
tmux_pane_id: '%42',
|
|
2196
2298
|
tmux_pane_pid: 4242,
|
|
2197
2299
|
tmux_session_name: 'session-test',
|
|
2300
|
+
tmux_session_id: '$7',
|
|
2301
|
+
tmux_window_id: '@9',
|
|
2198
2302
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2303
|
+
tmux_pane_current_command: 'codex',
|
|
2304
|
+
tmux_pane_start_command: 'codex',
|
|
2199
2305
|
}, null, 2));
|
|
2200
2306
|
await writeFile(statePath, JSON.stringify({
|
|
2201
2307
|
ralph_continue_steer: {
|
|
@@ -2293,7 +2399,11 @@ exit 0
|
|
|
2293
2399
|
tmux_pane_id: '%99',
|
|
2294
2400
|
tmux_pane_pid: 4242,
|
|
2295
2401
|
tmux_session_name: 'session-test',
|
|
2402
|
+
tmux_session_id: '$7',
|
|
2403
|
+
tmux_window_id: '@9',
|
|
2296
2404
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2405
|
+
tmux_pane_current_command: 'codex',
|
|
2406
|
+
tmux_pane_start_command: 'codex',
|
|
2297
2407
|
scenario,
|
|
2298
2408
|
}, null, 2));
|
|
2299
2409
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({ last_progress_at: new Date(Date.now() - 61_000).toISOString() }));
|
|
@@ -2306,7 +2416,7 @@ exit 0
|
|
|
2306
2416
|
const persistedRalph = JSON.parse(await readFile(ralphStatePath, 'utf-8'));
|
|
2307
2417
|
assert.equal(persistedRalph.tmux_pane_id, '%99', `${scenario} must retain its stored pane identity`);
|
|
2308
2418
|
const watcherState = JSON.parse(await readFile(join(stateDir, 'notify-fallback-state.json'), 'utf-8'));
|
|
2309
|
-
assert.equal(watcherState.ralph_continue_steer?.last_reason, '
|
|
2419
|
+
assert.equal(watcherState.ralph_continue_steer?.last_reason, 'send_failed');
|
|
2310
2420
|
const tmuxLog = await readFile(tmuxLogPath, 'utf8');
|
|
2311
2421
|
assert.doesNotMatch(tmuxLog, /send-keys -t %(42|99) -l Ralph loop active continue/);
|
|
2312
2422
|
assert.doesNotMatch(tmuxLog, /list-panes -s -t/, 'watcher must not discover a replacement pane');
|
|
@@ -2333,7 +2443,11 @@ exit 0
|
|
|
2333
2443
|
tmux_pane_id: '%42',
|
|
2334
2444
|
tmux_pane_pid: 4242,
|
|
2335
2445
|
tmux_session_name: 'session-test',
|
|
2446
|
+
tmux_session_id: '$7',
|
|
2447
|
+
tmux_window_id: '@9',
|
|
2336
2448
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2449
|
+
tmux_pane_current_command: 'codex',
|
|
2450
|
+
tmux_pane_start_command: 'codex',
|
|
2337
2451
|
}, null, 2));
|
|
2338
2452
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2339
2453
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -2380,7 +2494,11 @@ exit 0
|
|
|
2380
2494
|
tmux_pane_id: '%42',
|
|
2381
2495
|
tmux_pane_pid: 4242,
|
|
2382
2496
|
tmux_session_name: 'session-test',
|
|
2497
|
+
tmux_session_id: '$7',
|
|
2498
|
+
tmux_window_id: '@9',
|
|
2383
2499
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2500
|
+
tmux_pane_current_command: 'codex',
|
|
2501
|
+
tmux_pane_start_command: 'codex',
|
|
2384
2502
|
}, null, 2));
|
|
2385
2503
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2386
2504
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -2428,7 +2546,11 @@ exit 0
|
|
|
2428
2546
|
tmux_pane_id: '%42',
|
|
2429
2547
|
tmux_pane_pid: 4242,
|
|
2430
2548
|
tmux_session_name: 'session-test',
|
|
2549
|
+
tmux_session_id: '$7',
|
|
2550
|
+
tmux_window_id: '@9',
|
|
2431
2551
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2552
|
+
tmux_pane_current_command: 'codex',
|
|
2553
|
+
tmux_pane_start_command: 'codex',
|
|
2432
2554
|
}, null, 2));
|
|
2433
2555
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2434
2556
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -2476,7 +2598,11 @@ exit 0
|
|
|
2476
2598
|
tmux_pane_id: '%42',
|
|
2477
2599
|
tmux_pane_pid: 4242,
|
|
2478
2600
|
tmux_session_name: 'session-test',
|
|
2601
|
+
tmux_session_id: '$7',
|
|
2602
|
+
tmux_window_id: '@9',
|
|
2479
2603
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2604
|
+
tmux_pane_current_command: 'codex',
|
|
2605
|
+
tmux_pane_start_command: 'codex',
|
|
2480
2606
|
}, null, 2));
|
|
2481
2607
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2482
2608
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -2507,7 +2633,11 @@ exit 0
|
|
|
2507
2633
|
tmux_pane_id: '%42',
|
|
2508
2634
|
tmux_pane_pid: 4242,
|
|
2509
2635
|
tmux_session_name: 'session-test',
|
|
2636
|
+
tmux_session_id: '$7',
|
|
2637
|
+
tmux_window_id: '@9',
|
|
2510
2638
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2639
|
+
tmux_pane_current_command: 'codex',
|
|
2640
|
+
tmux_pane_start_command: 'codex',
|
|
2511
2641
|
}, null, 2));
|
|
2512
2642
|
const terminalRun = spawnSync(process.execPath, [watcherScript, '--once', '--cwd', wd, '--notify-script', notifyHook, '--poll-ms', '50'], { encoding: 'utf-8', env });
|
|
2513
2643
|
assert.equal(terminalRun.status, 0, terminalRun.stderr || terminalRun.stdout);
|
|
@@ -2541,7 +2671,11 @@ exit 0
|
|
|
2541
2671
|
tmux_pane_id: '%42',
|
|
2542
2672
|
tmux_pane_pid: 4242,
|
|
2543
2673
|
tmux_session_name: 'session-test',
|
|
2674
|
+
tmux_session_id: '$7',
|
|
2675
|
+
tmux_window_id: '@9',
|
|
2544
2676
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2677
|
+
tmux_pane_current_command: 'codex',
|
|
2678
|
+
tmux_pane_start_command: 'codex',
|
|
2545
2679
|
}, null, 2));
|
|
2546
2680
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2547
2681
|
last_progress_at: new Date(Date.now() - 5 * 60_000).toISOString(),
|
|
@@ -2589,7 +2723,11 @@ exit 0
|
|
|
2589
2723
|
tmux_pane_id: '%42',
|
|
2590
2724
|
tmux_pane_pid: 4242,
|
|
2591
2725
|
tmux_session_name: 'session-test',
|
|
2726
|
+
tmux_session_id: '$7',
|
|
2727
|
+
tmux_window_id: '@9',
|
|
2592
2728
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2729
|
+
tmux_pane_current_command: 'codex',
|
|
2730
|
+
tmux_pane_start_command: 'codex',
|
|
2593
2731
|
}, null, 2));
|
|
2594
2732
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2595
2733
|
last_progress_at: new Date(Date.now() - 5 * 60_000).toISOString(),
|
|
@@ -2636,7 +2774,11 @@ exit 0
|
|
|
2636
2774
|
tmux_pane_id: '%42',
|
|
2637
2775
|
tmux_pane_pid: 4242,
|
|
2638
2776
|
tmux_session_name: 'session-test',
|
|
2777
|
+
tmux_session_id: '$7',
|
|
2778
|
+
tmux_window_id: '@9',
|
|
2639
2779
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2780
|
+
tmux_pane_current_command: 'codex',
|
|
2781
|
+
tmux_pane_start_command: 'codex',
|
|
2640
2782
|
}, null, 2));
|
|
2641
2783
|
await writeFile(join(stateDir, 'hud-state.json'), JSON.stringify({
|
|
2642
2784
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -2699,7 +2841,11 @@ exit 0
|
|
|
2699
2841
|
tmux_pane_id: '%43',
|
|
2700
2842
|
tmux_pane_pid: 4343,
|
|
2701
2843
|
tmux_session_name: 'session-test',
|
|
2844
|
+
tmux_session_id: '$7',
|
|
2845
|
+
tmux_window_id: '@9',
|
|
2702
2846
|
tmux_pane_owner_id: 'ralph:owner',
|
|
2847
|
+
tmux_pane_current_command: 'codex',
|
|
2848
|
+
tmux_pane_start_command: 'codex',
|
|
2703
2849
|
}, null, 2));
|
|
2704
2850
|
await writeFile(join(wd, '.omx', 'state', 'hud-state.json'), JSON.stringify({
|
|
2705
2851
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -2934,7 +3080,11 @@ exit 0
|
|
|
2934
3080
|
tmux_pane_id: '%42',
|
|
2935
3081
|
tmux_pane_pid: 4242,
|
|
2936
3082
|
tmux_session_name: 'session-test',
|
|
3083
|
+
tmux_session_id: '$7',
|
|
3084
|
+
tmux_window_id: '@9',
|
|
2937
3085
|
tmux_pane_owner_id: 'ralph:owner',
|
|
3086
|
+
tmux_pane_current_command: 'codex',
|
|
3087
|
+
tmux_pane_start_command: 'codex',
|
|
2938
3088
|
}, null, 2));
|
|
2939
3089
|
await writeFile(watcherStatePath, JSON.stringify({
|
|
2940
3090
|
ralph_continue_steer: {
|
|
@@ -2980,7 +3130,11 @@ exit 0
|
|
|
2980
3130
|
tmux_pane_id: '%42',
|
|
2981
3131
|
tmux_pane_pid: 4242,
|
|
2982
3132
|
tmux_session_name: 'session-test',
|
|
3133
|
+
tmux_session_id: '$7',
|
|
3134
|
+
tmux_window_id: '@9',
|
|
2983
3135
|
tmux_pane_owner_id: 'ralph:owner',
|
|
3136
|
+
tmux_pane_current_command: 'codex',
|
|
3137
|
+
tmux_pane_start_command: 'codex',
|
|
2984
3138
|
}, null, 2));
|
|
2985
3139
|
await writeFile(watcherStatePath, JSON.stringify({
|
|
2986
3140
|
ralph_continue_steer: {
|
|
@@ -3030,7 +3184,11 @@ exit 0
|
|
|
3030
3184
|
tmux_pane_id: '%42',
|
|
3031
3185
|
tmux_pane_pid: 4242,
|
|
3032
3186
|
tmux_session_name: 'session-test',
|
|
3187
|
+
tmux_session_id: '$7',
|
|
3188
|
+
tmux_window_id: '@9',
|
|
3033
3189
|
tmux_pane_owner_id: 'ralph:owner',
|
|
3190
|
+
tmux_pane_current_command: 'codex',
|
|
3191
|
+
tmux_pane_start_command: 'codex',
|
|
3034
3192
|
}, null, 2));
|
|
3035
3193
|
await writeFile(join(sessionStateDir, 'hud-state.json'), JSON.stringify({
|
|
3036
3194
|
last_progress_at: new Date(Date.now() - 61_000).toISOString(),
|
|
@@ -3077,7 +3235,11 @@ exit 0
|
|
|
3077
3235
|
tmux_pane_id: '%42',
|
|
3078
3236
|
tmux_pane_pid: 4242,
|
|
3079
3237
|
tmux_session_name: 'session-test',
|
|
3238
|
+
tmux_session_id: '$7',
|
|
3239
|
+
tmux_window_id: '@9',
|
|
3080
3240
|
tmux_pane_owner_id: 'ralph:owner',
|
|
3241
|
+
tmux_pane_current_command: 'codex',
|
|
3242
|
+
tmux_pane_start_command: 'codex',
|
|
3081
3243
|
}, null, 2));
|
|
3082
3244
|
await waitForExit(child, 4000);
|
|
3083
3245
|
assert.equal(child.exitCode, 0);
|