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
|
@@ -1,58 +1,360 @@
|
|
|
1
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
2
|
+
import { constants as fsConstants, lstatSync, readFileSync, realpathSync } from 'node:fs';
|
|
3
|
+
import { lstat, open, readdir } from 'node:fs/promises';
|
|
4
|
+
import { spawn } from 'node:child_process';
|
|
5
|
+
import { basename, join } from 'node:path';
|
|
6
|
+
import { getBaseStateDir, normalizeSessionId, resolveWritableStateScope } from '../mcp/state-paths.js';
|
|
7
|
+
import { getExplicitSkillDefinition } from '../hooks/keyword-registry.js';
|
|
1
8
|
import { resolveInstalledRoleName } from '../subagents/tracker.js';
|
|
2
9
|
export const UNSUPPORTED_DOCUMENTED_LEADER_PROOF = 'unsupported_documented_leader_proof';
|
|
3
|
-
export const UNSUPPORTED_DOCUMENTED_LEADER_PRE_TOOL_USE = Object.freeze({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
*/
|
|
37
|
-
export function parseCodex01445AdaptedRoleIntentCommand(command, platform = process.platform) {
|
|
38
|
-
const parentPlaceholder = platform === 'win32'
|
|
39
|
-
? '"%CODEX_THREAD_ID%"'
|
|
40
|
-
: '"$CODEX_THREAD_ID"';
|
|
41
|
-
const escapedPlaceholder = parentPlaceholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
42
|
-
const pattern = new RegExp(`^omx ralplan role-intent write --role ([A-Za-z0-9_-]{1,64}) --parent-thread ${escapedPlaceholder} --json$`);
|
|
43
|
-
const match = command.match(pattern);
|
|
44
|
-
return match?.[1] ? { role: match[1] } : null;
|
|
45
|
-
}
|
|
46
|
-
export function evaluateCodex01445PreToolUse(payload, overrides = {}) {
|
|
47
|
-
const command = readCommand(payload);
|
|
48
|
-
if (!command)
|
|
49
|
-
return undefined;
|
|
50
|
-
const dependencies = { ...defaultDependencies, ...overrides };
|
|
51
|
-
const parsed = parseCodex01445AdaptedRoleIntentCommand(command, dependencies.platform);
|
|
52
|
-
if (!parsed)
|
|
53
|
-
return undefined;
|
|
54
|
-
return dependencies.resolveInstalledRoleName(parsed.role)
|
|
55
|
-
? UNSUPPORTED_DOCUMENTED_LEADER_PRE_TOOL_USE
|
|
56
|
-
: UNKNOWN_RALPLAN_ROLE_PRE_TOOL_USE;
|
|
10
|
+
export const UNSUPPORTED_DOCUMENTED_LEADER_PRE_TOOL_USE = Object.freeze({ hookSpecificOutput: Object.freeze({ hookEventName: 'PreToolUse', permissionDecision: 'deny', permissionDecisionReason: 'unsupported_documented_leader_proof: Codex hooks do not expose a documented, non-user-mintable root identity required for adapted Ralplan.' }) });
|
|
11
|
+
export const UNKNOWN_RALPLAN_ROLE_PRE_TOOL_USE = Object.freeze({ hookSpecificOutput: Object.freeze({ hookEventName: 'PreToolUse', permissionDecision: 'deny', permissionDecisionReason: 'Ralplan role-intent denied: unknown_role.' }) });
|
|
12
|
+
const defaultDependencies = { resolveInstalledRoleName, platform: process.platform };
|
|
13
|
+
function readCommand(payload) { if (payload.tool_name !== 'Bash' || !payload.tool_input || typeof payload.tool_input !== 'object' || Array.isArray(payload.tool_input))
|
|
14
|
+
return undefined; const command = payload.tool_input.command; return typeof command === 'string' ? command : undefined; }
|
|
15
|
+
export function parseCodex01445AdaptedRoleIntentCommand(command, platform = process.platform) { const placeholder = platform === 'win32' ? '"%CODEX_THREAD_ID%"' : '"$CODEX_THREAD_ID"'; const escaped = placeholder.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); const match = command.match(new RegExp(`^omx ralplan role-intent write --role ([A-Za-z0-9_-]{1,64}) --parent-thread ${escaped} --json$`)); return match?.[1] ? { role: match[1] } : null; }
|
|
16
|
+
export function evaluateCodex01445PreToolUse(payload, overrides = {}) { const command = readCommand(payload); if (!command)
|
|
17
|
+
return undefined; const dependencies = { ...defaultDependencies, ...overrides }; const parsed = parseCodex01445AdaptedRoleIntentCommand(command, dependencies.platform); if (!parsed)
|
|
18
|
+
return undefined; return dependencies.resolveInstalledRoleName(parsed.role) ? UNSUPPORTED_DOCUMENTED_LEADER_PRE_TOOL_USE : UNKNOWN_RALPLAN_ROLE_PRE_TOOL_USE; }
|
|
19
|
+
const MAX_BYTES = 128 * 1024;
|
|
20
|
+
const MAX_GENERATION_BYTES = 64 * 1024;
|
|
21
|
+
const MAX_GENERATIONS = 32;
|
|
22
|
+
const GENERATION_PREFIX = '.ralplan-neutralization-';
|
|
23
|
+
const COMMIT_SUFFIX = '.commit.json';
|
|
24
|
+
const GENERATION_VERSION = 1;
|
|
25
|
+
/** @internal Test-only hooks; no CLI argument reaches these hooks. */
|
|
26
|
+
export const RALPLAN_NEUTRALIZE_TEST_SEAM = {};
|
|
27
|
+
function regularSingleLink(stat, max = MAX_BYTES) { return stat.isFile() && !stat.isSymbolicLink() && stat.nlink === 1 && stat.size <= max; }
|
|
28
|
+
function validName(name) { return /^[A-Za-z0-9.][A-Za-z0-9._-]{0,255}$/.test(name) && name !== '.' && name !== '..'; }
|
|
29
|
+
async function readPinnedPath(path, max = MAX_BYTES) { try {
|
|
30
|
+
const before = await lstat(path);
|
|
31
|
+
if (!regularSingleLink(before, max))
|
|
32
|
+
return null;
|
|
33
|
+
const handle = await open(path, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW);
|
|
34
|
+
try {
|
|
35
|
+
const opened = await handle.stat();
|
|
36
|
+
const bytes = await handle.readFile();
|
|
37
|
+
const after = await lstat(path);
|
|
38
|
+
return regularSingleLink(after, max) && opened.dev === before.dev && opened.ino === before.ino && after.dev === before.dev && after.ino === before.ino && before.size === after.size && bytes.length === before.size ? bytes : null;
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
await handle.close();
|
|
42
|
+
}
|
|
57
43
|
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
} }
|
|
47
|
+
const DARWIN_HELPER = String.raw `const fs=require('fs/promises'),c=require('fs').constants,rl=require('readline');const max=131072,ok=n=>/^[A-Za-z0-9.][A-Za-z0-9._-]{0,255}$/.test(n)&&n!=='.'&&n!=='..';const out=x=>process.stdout.write(JSON.stringify(x)+'\n');const fail=()=>out({ok:false});(async()=>{const [dev,ino,mode]=process.argv.slice(1);if(mode==='failure')process.exit(1);const a=await fs.lstat('.'),b=await fs.stat('.');if(!a.isDirectory()||a.isSymbolicLink()||String(a.dev)!==dev||String(a.ino)!==ino||a.dev!==b.dev||a.ino!==b.ino)process.exit(1);if(mode==='malformed'){process.stdout.write('{\n');return}const read=async(n,max)=>{if(!ok(n)||!Number.isInteger(max)||max<0||max>131072)return null;try{const a=await fs.lstat(n);if(!a.isFile()||a.isSymbolicLink()||a.nlink!==1||a.size>max)return null;const h=await fs.open(n,c.O_RDONLY|c.O_NOFOLLOW);try{const b=await h.stat(),v=await h.readFile(),z=await fs.lstat(n);return b.dev===a.dev&&b.ino===a.ino&&z.dev===a.dev&&z.ino===a.ino&&z.size===a.size&&v.length===a.size?v:null}finally{await h.close()}}catch{return null}};const q=rl.createInterface({input:process.stdin,crlfDelay:Infinity});for await(const line of q){try{const x=JSON.parse(line);if(!x||typeof x!=='object')return fail();if(x.op==='read'){const v=await read(x.name,x.max);out({ok:true,data:v&&v.toString('base64')})}else if(x.op==='list'){const v=await fs.readdir('.');out({ok:true,names:v.length<=256?v:null})}else if(x.op==='write'&&ok(x.name)&&typeof x.data==='string'&&x.data.length<=174764){const v=Buffer.from(x.data,'base64');if(v.length>max)return fail();const h=await fs.open(x.name,c.O_WRONLY|c.O_CREAT|c.O_EXCL|c.O_NOFOLLOW,0o600);try{await h.writeFile(v);await h.sync()}finally{await h.close()}out({ok:true})}else if(x.op==='sync'){const h=await fs.open('.',c.O_RDONLY|c.O_DIRECTORY);try{await h.sync()}finally{await h.close()}out({ok:true})}else fail()}catch{fail()}}})().catch(()=>process.exit(1));`;
|
|
48
|
+
function linuxPinned(path, handle) { return { read: (name, max = MAX_BYTES) => validName(name) ? readPinnedPath(join(path, name), max) : Promise.resolve(null), list: () => readdir(path).catch(() => []), async writeExclusive(name, bytes) { if (!validName(name) || bytes.length > MAX_GENERATION_BYTES)
|
|
49
|
+
throw new Error('invalid pinned write'); const file = await open(join(path, name), fsConstants.O_WRONLY | fsConstants.O_CREAT | fsConstants.O_EXCL | fsConstants.O_NOFOLLOW, 0o600); try {
|
|
50
|
+
await file.writeFile(bytes);
|
|
51
|
+
await file.sync();
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
await file.close();
|
|
55
|
+
} }, async sync() { await handle.sync(); }, close: () => handle.close() }; }
|
|
56
|
+
function darwinPinned(directory, expected) {
|
|
57
|
+
return new Promise((resolve) => {
|
|
58
|
+
const mode = RALPLAN_NEUTRALIZE_TEST_SEAM.darwinHelperMode ?? '';
|
|
59
|
+
const child = spawn(process.execPath, ['-e', DARWIN_HELPER, String(expected.dev), String(expected.ino), mode], { cwd: directory, stdio: ['pipe', 'pipe', 'ignore'], windowsHide: true });
|
|
60
|
+
const stdin = child.stdin;
|
|
61
|
+
const stdout = child.stdout;
|
|
62
|
+
if (!stdin || !stdout) {
|
|
63
|
+
child.kill();
|
|
64
|
+
resolve(null);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
let buffer = '';
|
|
68
|
+
let resolved = false;
|
|
69
|
+
let closed = false;
|
|
70
|
+
let chain = Promise.resolve();
|
|
71
|
+
const responses = [];
|
|
72
|
+
const finish = (value) => { if (!resolved) {
|
|
73
|
+
resolved = true;
|
|
74
|
+
if (value === null && !closed) {
|
|
75
|
+
closed = true;
|
|
76
|
+
child.kill();
|
|
77
|
+
}
|
|
78
|
+
resolve(value);
|
|
79
|
+
} };
|
|
80
|
+
const request = (value) => new Promise((done) => {
|
|
81
|
+
chain = chain.then(() => {
|
|
82
|
+
if (closed || !stdin.writable)
|
|
83
|
+
return done(null);
|
|
84
|
+
const line = JSON.stringify(value);
|
|
85
|
+
if (Buffer.byteLength(line) > MAX_BYTES * 2)
|
|
86
|
+
return done(null);
|
|
87
|
+
const timer = setTimeout(() => done(null), 2000);
|
|
88
|
+
responses.push((response) => { clearTimeout(timer); done(response); });
|
|
89
|
+
stdin.write(`${line}\n`);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
stdout.on('data', (chunk) => {
|
|
93
|
+
buffer += chunk.toString('utf8');
|
|
94
|
+
if (Buffer.byteLength(buffer) > MAX_BYTES * 2) {
|
|
95
|
+
child.kill();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
let newline;
|
|
99
|
+
while ((newline = buffer.indexOf('\n')) >= 0) {
|
|
100
|
+
const line = buffer.slice(0, newline);
|
|
101
|
+
buffer = buffer.slice(newline + 1);
|
|
102
|
+
const response = responses.shift();
|
|
103
|
+
if (!response)
|
|
104
|
+
continue;
|
|
105
|
+
try {
|
|
106
|
+
const parsed = JSON.parse(line);
|
|
107
|
+
response(parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
response(null);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
child.once('error', () => finish(null));
|
|
115
|
+
child.once('exit', () => { closed = true; while (responses.length)
|
|
116
|
+
responses.shift()(null); finish(null); });
|
|
117
|
+
setTimeout(async () => {
|
|
118
|
+
const probe = await request({ op: 'list' });
|
|
119
|
+
if (!probe?.ok || !Array.isArray(probe.names) || !probe.names.every((name) => typeof name === 'string'))
|
|
120
|
+
return finish(null);
|
|
121
|
+
finish({
|
|
122
|
+
async read(name, max = MAX_BYTES) { if (!validName(name))
|
|
123
|
+
return null; const response = await request({ op: 'read', name, max }); if (!response?.ok || (response.data !== null && typeof response.data !== 'string'))
|
|
124
|
+
return null; const bytes = response.data === null ? null : Buffer.from(response.data, 'base64'); return bytes && bytes.length <= max ? bytes : null; },
|
|
125
|
+
async list() { const response = await request({ op: 'list' }); return response?.ok && Array.isArray(response.names) && response.names.every((name) => typeof name === 'string') ? response.names : []; },
|
|
126
|
+
async writeExclusive(name, bytes) { if (!validName(name) || bytes.length > MAX_GENERATION_BYTES)
|
|
127
|
+
throw new Error('invalid pinned write'); const response = await request({ op: 'write', name, data: bytes.toString('base64') }); if (!response?.ok) {
|
|
128
|
+
const error = new Error('pinned write failed');
|
|
129
|
+
error.code = 'EEXIST';
|
|
130
|
+
throw error;
|
|
131
|
+
} },
|
|
132
|
+
async sync() { const response = await request({ op: 'sync' }); if (!response?.ok)
|
|
133
|
+
throw new Error('pinned directory sync failed'); },
|
|
134
|
+
async close() { if (!closed) {
|
|
135
|
+
closed = true;
|
|
136
|
+
stdin.end();
|
|
137
|
+
child.kill();
|
|
138
|
+
} },
|
|
139
|
+
});
|
|
140
|
+
}, 0);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
async function pinDirectory(directory) { const platform = RALPLAN_NEUTRALIZE_TEST_SEAM.platform ?? process.platform; if (platform !== 'linux' && platform !== 'darwin')
|
|
144
|
+
return null; try {
|
|
145
|
+
const before = await lstat(directory);
|
|
146
|
+
if (before.isSymbolicLink() || !before.isDirectory())
|
|
147
|
+
return null;
|
|
148
|
+
if (platform === 'darwin')
|
|
149
|
+
return await darwinPinned(directory, before);
|
|
150
|
+
const handle = await open(directory, fsConstants.O_RDONLY | fsConstants.O_DIRECTORY | fsConstants.O_NOFOLLOW);
|
|
151
|
+
const [opened, current] = await Promise.all([handle.stat(), lstat(directory)]);
|
|
152
|
+
if (!current.isDirectory() || current.isSymbolicLink() || opened.dev !== before.dev || opened.ino !== before.ino || current.dev !== before.dev || current.ino !== before.ino) {
|
|
153
|
+
await handle.close();
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return linuxPinned(`/proc/self/fd/${handle.fd}`, handle);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return null;
|
|
160
|
+
} }
|
|
161
|
+
function object(bytes) { try {
|
|
162
|
+
const parsed = JSON.parse(bytes.toString('utf8'));
|
|
163
|
+
return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return null;
|
|
167
|
+
} }
|
|
168
|
+
function digest(ralplan, skill) { return createHash('sha256').update('ralplan-state.json\0').update(ralplan).update('\0skill-active-state.json\0').update(skill).digest('hex'); }
|
|
169
|
+
function isNonEmptyString(value) { return typeof value === 'string' && value.trim().length > 0; }
|
|
170
|
+
function hasOnlyKeys(state, allowed) { return Object.keys(state).every((key) => allowed.has(key)); }
|
|
171
|
+
function isRalplanProducerKeyword(value) {
|
|
172
|
+
if (!isNonEmptyString(value))
|
|
173
|
+
return false;
|
|
174
|
+
const keyword = value.trim();
|
|
175
|
+
if (/^consensus plan$/iu.test(keyword))
|
|
176
|
+
return true;
|
|
177
|
+
const match = /^\$(?:oh-my-codex:)?([a-z0-9_-]+)$/iu.exec(keyword);
|
|
178
|
+
return match?.[1] !== undefined && getExplicitSkillDefinition(match[1])?.skill === 'ralplan';
|
|
179
|
+
}
|
|
180
|
+
const RALPLAN_KEYS = new Set(['active', 'mode', 'current_phase', 'started_at', 'updated_at', 'session_id', 'owner_omx_session_id', 'owner_codex_session_id', 'thread_id', 'turn_id', 'tmux_pane_id', 'tmux_pane_set_at', 'tmux_window_id']);
|
|
181
|
+
const SKILL_KEYS = new Set(['version', 'active', 'skill', 'keyword', 'phase', 'activated_at', 'updated_at', 'source', 'session_id', 'owner_omx_session_id', 'owner_codex_session_id', 'thread_id', 'turn_id', 'active_skills', 'initialized_mode', 'initialized_state_path']);
|
|
182
|
+
const ENTRY_KEYS = new Set(['skill', 'phase', 'active', 'activated_at', 'updated_at', 'session_id', 'owner_omx_session_id', 'owner_codex_session_id', 'thread_id', 'turn_id']);
|
|
183
|
+
function exactSession(value, sessionId) { return typeof value === 'string' && value === sessionId; }
|
|
184
|
+
function correlatedOptional(states, key) { const values = states.map((state) => state[key]); if (values.every((value) => value === undefined))
|
|
185
|
+
return true; return values.every(isNonEmptyString) && values.every((value) => value === values[0]); }
|
|
186
|
+
function isProducerTimestamp(value) {
|
|
187
|
+
if (!isNonEmptyString(value))
|
|
188
|
+
return false;
|
|
189
|
+
const date = new Date(value);
|
|
190
|
+
return Number.isFinite(date.getTime()) && date.toISOString() === value;
|
|
191
|
+
}
|
|
192
|
+
function routingOnlyRalplan(state, sessionId) { return state.active === true && state.mode === 'ralplan' && state.current_phase === 'planning' && isProducerTimestamp(state.started_at) && isProducerTimestamp(state.updated_at) && exactSession(state.session_id, sessionId) && (!('owner_omx_session_id' in state) || exactSession(state.owner_omx_session_id, sessionId)) && ['owner_codex_session_id', 'thread_id', 'turn_id', 'tmux_pane_id', 'tmux_pane_set_at', 'tmux_window_id'].every((key) => !(key in state) || isNonEmptyString(state[key])) && hasOnlyKeys(state, RALPLAN_KEYS); }
|
|
193
|
+
function routingOnlySkill(state, sessionId) {
|
|
194
|
+
const expectedPath = `.omx/state/sessions/${sessionId}/ralplan-state.json`;
|
|
195
|
+
const entries = Array.isArray(state.active_skills) ? state.active_skills : null;
|
|
196
|
+
const topLevelValid = state.version === 1
|
|
197
|
+
&& state.active === true
|
|
198
|
+
&& state.skill === 'ralplan'
|
|
199
|
+
&& state.phase === 'planning'
|
|
200
|
+
&& isRalplanProducerKeyword(state.keyword)
|
|
201
|
+
&& state.source === 'keyword-detector'
|
|
202
|
+
&& state.initialized_mode === 'ralplan'
|
|
203
|
+
&& state.initialized_state_path === expectedPath
|
|
204
|
+
&& isProducerTimestamp(state.activated_at)
|
|
205
|
+
&& isProducerTimestamp(state.updated_at)
|
|
206
|
+
&& exactSession(state.session_id, sessionId)
|
|
207
|
+
&& (!('owner_omx_session_id' in state) || exactSession(state.owner_omx_session_id, sessionId))
|
|
208
|
+
&& ['owner_codex_session_id', 'thread_id', 'turn_id'].every((key) => !(key in state) || isNonEmptyString(state[key]))
|
|
209
|
+
&& entries !== null
|
|
210
|
+
&& entries.length === 1
|
|
211
|
+
&& hasOnlyKeys(state, SKILL_KEYS);
|
|
212
|
+
if (!topLevelValid)
|
|
213
|
+
return null;
|
|
214
|
+
const entry = entries[0];
|
|
215
|
+
if (!entry || typeof entry !== 'object' || Array.isArray(entry))
|
|
216
|
+
return null;
|
|
217
|
+
const item = entry;
|
|
218
|
+
const entryValid = item.skill === 'ralplan'
|
|
219
|
+
&& item.active === true
|
|
220
|
+
&& item.phase === 'planning'
|
|
221
|
+
&& isProducerTimestamp(item.activated_at)
|
|
222
|
+
&& isProducerTimestamp(item.updated_at)
|
|
223
|
+
&& exactSession(item.session_id, sessionId)
|
|
224
|
+
&& (!('owner_omx_session_id' in item) || exactSession(item.owner_omx_session_id, sessionId))
|
|
225
|
+
&& ['owner_codex_session_id', 'thread_id', 'turn_id'].every((key) => !(key in item) || isNonEmptyString(item[key]))
|
|
226
|
+
&& hasOnlyKeys(item, ENTRY_KEYS);
|
|
227
|
+
return entryValid ? item : null;
|
|
228
|
+
}
|
|
229
|
+
function routingOnlyPair(ralplan, skill, sessionId) {
|
|
230
|
+
const entry = routingOnlySkill(skill, sessionId);
|
|
231
|
+
const modeValid = routingOnlyRalplan(ralplan, sessionId);
|
|
232
|
+
const correlationValid = entry !== null
|
|
233
|
+
&& ['owner_codex_session_id', 'thread_id', 'turn_id'].every((key) => correlatedOptional([ralplan, skill, entry], key))
|
|
234
|
+
&& ralplan.started_at === skill.activated_at
|
|
235
|
+
&& skill.activated_at === entry.activated_at
|
|
236
|
+
&& ralplan.updated_at === skill.updated_at
|
|
237
|
+
&& skill.updated_at === entry.updated_at;
|
|
238
|
+
if (!modeValid || !entry || !correlationValid) {
|
|
239
|
+
RALPLAN_NEUTRALIZE_TEST_SEAM.onError?.(new Error(`pair validation failed: mode=${modeValid} skill=${entry !== null} correlation=${correlationValid}`));
|
|
240
|
+
}
|
|
241
|
+
return modeValid && entry !== null && correlationValid;
|
|
242
|
+
}
|
|
243
|
+
function neutralized(state, kind) { const next = { ...state, active: false, phase: 'cancelled', current_phase: 'cancelled' }; if (kind === 'skill' && Array.isArray(state.active_skills))
|
|
244
|
+
next.active_skills = state.active_skills.map((entry) => entry && typeof entry === 'object' && !Array.isArray(entry) ? { ...entry, active: false, phase: 'cancelled', current_phase: 'cancelled' } : entry); return next; }
|
|
245
|
+
function collectOwners(baseStateDir, sessionId) { const owners = new Set([sessionId]); try {
|
|
246
|
+
const pointerPath = join(baseStateDir, 'session.json');
|
|
247
|
+
if (realpathSync(pointerPath) !== pointerPath || !lstatSync(pointerPath).isFile())
|
|
248
|
+
return owners;
|
|
249
|
+
const pointer = JSON.parse(readFileSync(pointerPath, 'utf8'));
|
|
250
|
+
for (const key of ['session_id', 'native_session_id', 'codex_session_id', 'owner_omx_session_id', 'owner_codex_session_id']) {
|
|
251
|
+
const value = normalizeSessionId(pointer[key]);
|
|
252
|
+
if (value)
|
|
253
|
+
owners.add(value);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch { } return owners; }
|
|
257
|
+
function validGeneration(candidate, expectedDigest, ralplan, skill) { if (!candidate || typeof candidate !== 'object' || Array.isArray(candidate))
|
|
258
|
+
return false; const item = candidate; const hash = (bytes) => createHash('sha256').update(bytes).digest('hex'); return item.version === GENERATION_VERSION && item.digest === expectedDigest && item.canonical?.ralplan?.sha256 === hash(ralplan) && item.canonical.ralplan.size === ralplan.length && item.canonical?.skill?.sha256 === hash(skill) && item.canonical.skill.size === skill.length; }
|
|
259
|
+
function validCommit(candidate, expectedDigest, dataFile) { if (!candidate || typeof candidate !== 'object' || Array.isArray(candidate))
|
|
260
|
+
return false; const item = candidate; return item.version === GENERATION_VERSION && item.digest === expectedDigest && item.dataFile === dataFile && item.committed === true; }
|
|
261
|
+
async function readGeneration(directory, expectedDigest, ralplan, skill) { const names = await directory.list(); const prefix = `${GENERATION_PREFIX}${expectedDigest}-`; for (const commitName of names.filter((name) => name.startsWith(prefix) && name.endsWith(COMMIT_SUFFIX)).sort().slice(0, MAX_GENERATIONS)) {
|
|
262
|
+
const token = commitName.slice(prefix.length, -COMMIT_SUFFIX.length);
|
|
263
|
+
if (!/^[0-9a-f]{48}$/.test(token))
|
|
264
|
+
continue;
|
|
265
|
+
const dataFile = `${prefix}${token}.json`;
|
|
266
|
+
const commitBytes = await directory.read(commitName, MAX_GENERATION_BYTES);
|
|
267
|
+
if (!commitBytes || !validCommit(object(commitBytes), expectedDigest, dataFile))
|
|
268
|
+
continue;
|
|
269
|
+
const dataBytes = await directory.read(dataFile, MAX_GENERATION_BYTES);
|
|
270
|
+
if (!dataBytes)
|
|
271
|
+
continue;
|
|
272
|
+
const parsed = object(dataBytes);
|
|
273
|
+
if (validGeneration(parsed, expectedDigest, ralplan, skill))
|
|
274
|
+
return parsed;
|
|
275
|
+
} return null; }
|
|
276
|
+
export async function readNeutralizedRoutingOverlay(path, kind) { const directory = join(path, '..'); const rawSessionId = basename(directory); const sessionId = normalizeSessionId(rawSessionId); if (!sessionId || sessionId !== rawSessionId || basename(join(directory, '..')) !== 'sessions')
|
|
277
|
+
return null; const pinned = await pinDirectory(directory); if (!pinned)
|
|
278
|
+
return null; try {
|
|
279
|
+
const [ralplan, skill] = await Promise.all([pinned.read('ralplan-state.json'), pinned.read('skill-active-state.json')]);
|
|
280
|
+
if (!ralplan || !skill)
|
|
281
|
+
return null;
|
|
282
|
+
const canonicalRalplan = object(ralplan);
|
|
283
|
+
const canonicalSkill = object(skill);
|
|
284
|
+
if (!canonicalRalplan || !canonicalSkill || !routingOnlyPair(canonicalRalplan, canonicalSkill, sessionId))
|
|
285
|
+
return null;
|
|
286
|
+
const generation = await readGeneration(pinned, digest(ralplan, skill), ralplan, skill);
|
|
287
|
+
return generation ? neutralized(kind === 'ralplan' ? canonicalRalplan : canonicalSkill, kind) : null;
|
|
288
|
+
}
|
|
289
|
+
finally {
|
|
290
|
+
await pinned.close();
|
|
291
|
+
} }
|
|
292
|
+
async function syncDirectory(directory) { await RALPLAN_NEUTRALIZE_TEST_SEAM.directorySync?.(); await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('directory-sync'); await directory.sync(); }
|
|
293
|
+
export async function neutralizeOwnedRoutingRalplan(cwd) { try {
|
|
294
|
+
const ownerSessionId = normalizeSessionId(process.env.OMX_SESSION_ID);
|
|
295
|
+
if (!ownerSessionId)
|
|
296
|
+
return false;
|
|
297
|
+
const scope = await resolveWritableStateScope(cwd);
|
|
298
|
+
if (scope.source !== 'session' || !scope.sessionId)
|
|
299
|
+
return false;
|
|
300
|
+
const sessionId = scope.sessionId;
|
|
301
|
+
const base = getBaseStateDir(cwd);
|
|
302
|
+
const pinned = await pinDirectory(scope.stateDir);
|
|
303
|
+
if (!pinned)
|
|
304
|
+
return false;
|
|
305
|
+
try {
|
|
306
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.afterPin?.(scope.stateDir);
|
|
307
|
+
const owners = collectOwners(base, sessionId);
|
|
308
|
+
if (!owners.has(ownerSessionId))
|
|
309
|
+
return false;
|
|
310
|
+
const [ralplanBytes, skillBytes] = await Promise.all([pinned.read('ralplan-state.json'), pinned.read('skill-active-state.json')]);
|
|
311
|
+
if (!ralplanBytes || !skillBytes)
|
|
312
|
+
return false;
|
|
313
|
+
const ralplan = object(ralplanBytes);
|
|
314
|
+
const skill = object(skillBytes);
|
|
315
|
+
if (!ralplan || !skill || !routingOnlyPair(ralplan, skill, sessionId))
|
|
316
|
+
return false;
|
|
317
|
+
const pairDigest = digest(ralplanBytes, skillBytes);
|
|
318
|
+
const record = { version: GENERATION_VERSION, digest: pairDigest, canonical: { ralplan: { sha256: createHash('sha256').update(ralplanBytes).digest('hex'), size: ralplanBytes.length }, skill: { sha256: createHash('sha256').update(skillBytes).digest('hex'), size: skillBytes.length } } };
|
|
319
|
+
const data = Buffer.from(`${JSON.stringify(record)}\n`);
|
|
320
|
+
const random = RALPLAN_NEUTRALIZE_TEST_SEAM.random ?? (() => randomBytes(24));
|
|
321
|
+
for (let attempt = 0; attempt < 4; attempt += 1) {
|
|
322
|
+
const token = random().toString('hex');
|
|
323
|
+
if (!/^[0-9a-f]{48}$/.test(token))
|
|
324
|
+
return false;
|
|
325
|
+
const dataFile = `${GENERATION_PREFIX}${pairDigest}-${token}.json`;
|
|
326
|
+
const commitFile = `${GENERATION_PREFIX}${pairDigest}-${token}${COMMIT_SUFFIX}`;
|
|
327
|
+
try {
|
|
328
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('data-create');
|
|
329
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('data-write');
|
|
330
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('data-sync');
|
|
331
|
+
await pinned.writeExclusive(dataFile, data);
|
|
332
|
+
await syncDirectory(pinned);
|
|
333
|
+
const committed = Buffer.from(`${JSON.stringify({ version: GENERATION_VERSION, digest: pairDigest, dataFile, committed: true })}\n`);
|
|
334
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('commit-create');
|
|
335
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('commit-write');
|
|
336
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('commit-sync');
|
|
337
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('commit-final-write');
|
|
338
|
+
await RALPLAN_NEUTRALIZE_TEST_SEAM.fail?.('commit-final-sync');
|
|
339
|
+
await pinned.writeExclusive(commitFile, committed);
|
|
340
|
+
await pinned.sync();
|
|
341
|
+
return true;
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
RALPLAN_NEUTRALIZE_TEST_SEAM.onError?.(error);
|
|
345
|
+
if (error.code === 'EEXIST')
|
|
346
|
+
continue;
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return false;
|
|
351
|
+
}
|
|
352
|
+
finally {
|
|
353
|
+
await pinned.close();
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
RALPLAN_NEUTRALIZE_TEST_SEAM.onError?.(error);
|
|
358
|
+
return false;
|
|
359
|
+
} }
|
|
58
360
|
//# sourceMappingURL=documented-leader-preflight.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documented-leader-preflight.js","sourceRoot":"","sources":["../../src/ralplan/documented-leader-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,CAAC,MAAM,mCAAmC,GAAG,qCAA8C,CAAC;AAElG,MAAM,CAAC,MAAM,0CAA0C,GAAG,MAAM,CAAC,MAAM,CAAC;IACtE,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC;QAChC,aAAa,EAAE,YAAY;QAC3B,kBAAkB,EAAE,MAAM;QAC1B,wBAAwB,EAAE,+HAA+H;KAC1J,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7D,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC;QAChC,aAAa,EAAE,YAAY;QAC3B,kBAAkB,EAAE,MAAM;QAC1B,wBAAwB,EAAE,2CAA2C;KACtE,CAAC;CACH,CAAC,CAAC;AAUH,MAAM,mBAAmB,GAAqC;IAC5D,wBAAwB;IACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;CAC3B,CAAC;AAEF,SAAS,WAAW,CAAC,OAAgC;IACnD,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IACrC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9F,MAAM,OAAO,GAAI,SAAqC,CAAC,OAAO,CAAC;IAC/D,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uCAAuC,CACrD,OAAe,EACf,QAAQ,GAAoB,OAAO,CAAC,QAAQ;IAE5C,MAAM,iBAAiB,GAAG,QAAQ,KAAK,OAAO;QAC5C,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,oBAAoB,CAAC;IACzB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,+EAA+E,kBAAkB,UAAU,CAC5G,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAgC,EAChC,SAAS,GAA8C,EAAE;IAEzD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,YAAY,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,SAAS,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAG,uCAAuC,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,YAAY,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;QACvD,CAAC,CAAC,0CAA0C;QAC5C,CAAC,CAAC,iCAAiC,CAAC;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"documented-leader-preflight.js","sourceRoot":"","sources":["../../src/ralplan/documented-leader-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export interface RalplanReviewResult {
|
|
|
26
26
|
verdict: RalplanReviewVerdict;
|
|
27
27
|
summary?: string;
|
|
28
28
|
artifacts?: Record<string, unknown>;
|
|
29
|
-
provenance_kind?: 'native_subagent'
|
|
29
|
+
provenance_kind?: 'native_subagent';
|
|
30
30
|
session_id?: string;
|
|
31
31
|
thread_id?: string;
|
|
32
32
|
native_session_id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ralplan/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ralplan/runtime.ts"],"names":[],"mappings":"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"}
|