oh-my-codex 0.20.2 → 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 +36 -18
- package/Cargo.toml +1 -1
- package/README.md +28 -2
- package/crates/omx-runtime/Cargo.toml +4 -0
- package/crates/omx-runtime/src/main.rs +415 -2
- package/crates/omx-runtime/tests/execution.rs +483 -0
- package/crates/omx-runtime-core/src/dispatch.rs +96 -10
- package/crates/omx-runtime-core/src/engine.rs +839 -29
- package/crates/omx-runtime-core/src/lib.rs +8 -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/agents/__tests__/definitions.test.js +81 -0
- package/dist/agents/__tests__/definitions.test.js.map +1 -1
- package/dist/agents/__tests__/native-config.test.js +25 -0
- package/dist/agents/__tests__/native-config.test.js.map +1 -1
- package/dist/agents/native-config.d.ts +2 -1
- package/dist/agents/native-config.d.ts.map +1 -1
- package/dist/agents/native-config.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 +22 -2
- package/dist/auth/hotswap.d.ts.map +1 -1
- package/dist/auth/hotswap.js +107 -22
- 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 +63 -7
- 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 +150 -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 +135 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +211 -0
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +878 -463
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +1290 -127
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-parity.test.js +8 -4
- 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 +132 -6
- package/dist/cli/__tests__/native-hook-claim-journal.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +3 -3
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +3 -3
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js +49 -164
- 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 +107 -109
- package/dist/cli/__tests__/ralplan.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +11 -10
- package/dist/cli/__tests__/resume.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__/session-search-help.test.js +25 -1
- package/dist/cli/__tests__/session-search-help.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 +224 -7
- 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 +150 -8
- 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 +95 -4
- 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 +33 -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 +20 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +290 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +234 -12
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2409 -746
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-parity.js +2 -2
- package/dist/cli/mcp-parity.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 +20 -5
- package/dist/cli/native-hook-claim-journal.d.ts.map +1 -1
- package/dist/cli/native-hook-claim-journal.js +67 -32
- 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 +5 -7
- package/dist/cli/ralplan.d.ts.map +1 -1
- package/dist/cli/ralplan.js +83 -134
- package/dist/cli/ralplan.js.map +1 -1
- package/dist/cli/session-search.d.ts +5 -0
- package/dist/cli/session-search.d.ts.map +1 -1
- package/dist/cli/session-search.js +87 -0
- package/dist/cli/session-search.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 +8 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +119 -47
- 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 +9 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +71 -30
- 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/compat/__tests__/rust-runtime-compat.test.js +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +503 -30
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +5 -3
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/__tests__/models.test.js +67 -3
- package/dist/config/__tests__/models.test.js.map +1 -1
- package/dist/config/generator.d.ts +27 -21
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +610 -152
- package/dist/config/generator.js.map +1 -1
- package/dist/config/models.d.ts +12 -2
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +15 -1
- package/dist/config/models.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 +5 -3
- 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 +176 -37
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +402 -545
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +39 -4
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +161 -26
- 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 +533 -14
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +159 -24
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +482 -32
- package/dist/hooks/__tests__/notify-hook-team-tmux-guard.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-tmux-heal.test.js +68 -1
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +7 -1
- package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +44 -4
- 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 +3130 -365
- 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 +204 -14
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +1500 -223
- 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 +124 -37
- package/dist/leader/__tests__/contract.test.js.map +1 -1
- package/dist/leader/contract.d.ts +17 -6
- package/dist/leader/contract.d.ts.map +1 -1
- package/dist/leader/contract.js +102 -26
- package/dist/leader/contract.js.map +1 -1
- package/dist/mcp/__tests__/code-intel-server.test.js +31 -3
- package/dist/mcp/__tests__/code-intel-server.test.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/__tests__/wiki-server.test.js +18 -0
- package/dist/mcp/__tests__/wiki-server.test.js.map +1 -1
- package/dist/mcp/code-intel-server.d.ts.map +1 -1
- package/dist/mcp/code-intel-server.js +13 -3
- package/dist/mcp/code-intel-server.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/mcp/wiki-server.d.ts +11 -0
- package/dist/mcp/wiki-server.d.ts.map +1 -1
- package/dist/mcp/wiki-server.js +9 -2
- package/dist/mcp/wiki-server.js.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/__tests__/base-tmux-pane.test.js +4 -4
- package/dist/modes/__tests__/base-tmux-pane.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/notifications/temp-contract.d.ts.map +1 -1
- package/dist/notifications/temp-contract.js +4 -0
- package/dist/notifications/temp-contract.js.map +1 -1
- package/dist/pipeline/__tests__/orchestrator.test.js +164 -42
- package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +72 -155
- 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 +73 -1316
- package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
- package/dist/ralplan/__tests__/documented-leader-preflight.test.d.ts +2 -0
- package/dist/ralplan/__tests__/documented-leader-preflight.test.d.ts.map +1 -0
- package/dist/ralplan/__tests__/documented-leader-preflight.test.js +335 -0
- package/dist/ralplan/__tests__/documented-leader-preflight.test.js.map +1 -0
- package/dist/ralplan/__tests__/runtime.test.js +85 -101
- 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 +82 -338
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/ralplan/documented-leader-preflight.d.ts +41 -0
- package/dist/ralplan/documented-leader-preflight.d.ts.map +1 -0
- package/dist/ralplan/documented-leader-preflight.js +360 -0
- package/dist/ralplan/documented-leader-preflight.js.map +1 -0
- package/dist/ralplan/runtime.d.ts +2 -1
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +67 -168
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/runtime/__tests__/bridge.test.js +42 -1
- package/dist/runtime/__tests__/bridge.test.js.map +1 -1
- package/dist/runtime/bridge.d.ts +12 -0
- package/dist/runtime/bridge.d.ts.map +1 -1
- package/dist/runtime/bridge.js +52 -1
- package/dist/runtime/bridge.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 +16323 -8978
- 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__/reasoning-artifact-contract.test.d.ts +2 -0
- package/dist/scripts/__tests__/reasoning-artifact-contract.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/reasoning-artifact-contract.test.js +108 -0
- package/dist/scripts/__tests__/reasoning-artifact-contract.test.js.map +1 -0
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js +63 -173
- 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 +74 -159
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js.map +1 -1
- package/dist/scripts/__tests__/smoke-packed-install.test.js +404 -13
- 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 +53 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +14448 -1480
- 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 +78 -115
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.js +74 -3
- package/dist/scripts/notify-hook/auto-nudge.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-dispatch.d.ts +9 -0
- package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.js +234 -79
- package/dist/scripts/notify-hook/team-dispatch.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 +71 -16
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts +12 -4
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.js +365 -44
- package/dist/scripts/notify-hook/team-tmux-guard.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 +42 -21
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker.d.ts +3 -0
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +82 -33
- 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 +32 -3
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/notify-hook.js +79 -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 +80 -4
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +3162 -26
- 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 +61 -0
- package/dist/state/__tests__/mode-state-context.test.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +462 -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 +8 -0
- package/dist/state/mode-state-context.d.ts.map +1 -1
- package/dist/state/mode-state-context.js +73 -0
- 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 +53 -247
- 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 +58 -135
- package/dist/subagents/tracker.d.ts.map +1 -1
- package/dist/subagents/tracker.js +811 -632
- package/dist/subagents/tracker.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +91 -1
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +58 -17
- package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
- package/dist/team/__tests__/idle-nudge.test.js +45 -15
- package/dist/team/__tests__/idle-nudge.test.js.map +1 -1
- package/dist/team/__tests__/mcp-comm.test.js +197 -30
- package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
- package/dist/team/__tests__/model-contract.test.js +110 -3
- package/dist/team/__tests__/model-contract.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-cli.test.js +9 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +3963 -428
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +2405 -203
- 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__/state.test.js +804 -36
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/team-ops-contract.test.js +6 -0
- package/dist/team/__tests__/team-ops-contract.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +4099 -1039
- 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 +53 -44
- package/dist/team/__tests__/worker-runtime-identity.test.js.map +1 -1
- package/dist/team/__tests__/worktree.test.js +6 -0
- package/dist/team/__tests__/worktree.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +15 -9
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/exact-pane.d.ts +23 -0
- package/dist/team/exact-pane.d.ts.map +1 -0
- package/dist/team/exact-pane.js +133 -0
- package/dist/team/exact-pane.js.map +1 -0
- package/dist/team/idle-nudge.d.ts +12 -1
- package/dist/team/idle-nudge.d.ts.map +1 -1
- package/dist/team/idle-nudge.js +41 -14
- package/dist/team/idle-nudge.js.map +1 -1
- package/dist/team/model-contract.d.ts +2 -5
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +59 -17
- package/dist/team/model-contract.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 +4 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +1527 -291
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts +13 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +1503 -387
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state/dispatch.d.ts.map +1 -1
- package/dist/team/state/dispatch.js +26 -8
- package/dist/team/state/dispatch.js.map +1 -1
- package/dist/team/state/locks.d.ts.map +1 -1
- package/dist/team/state/locks.js +61 -13
- package/dist/team/state/locks.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/tasks.d.ts.map +1 -1
- package/dist/team/state/tasks.js +4 -3
- package/dist/team/state/tasks.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 +85 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +672 -129
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-ops.d.ts +5 -0
- package/dist/team/team-ops.d.ts.map +1 -1
- package/dist/team/team-ops.js +4 -0
- package/dist/team/team-ops.js.map +1 -1
- package/dist/team/tmux-session.d.ts +163 -27
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +1682 -376
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worktree.d.ts.map +1 -1
- package/dist/team/worktree.js +4 -0
- package/dist/team/worktree.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.d.ts +2 -0
- package/dist/utils/__tests__/file-durability.test.d.ts.map +1 -0
- package/dist/utils/__tests__/file-durability.test.js +114 -0
- package/dist/utils/__tests__/file-durability.test.js.map +1 -0
- 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 +25 -0
- package/dist/utils/file-durability.d.ts.map +1 -0
- package/dist/utils/file-durability.js +67 -0
- package/dist/utils/file-durability.js.map +1 -0
- 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__/dev-merge-issue-close-workflow.test.js +3 -0
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.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/dist/wiki/lint.d.ts +4 -1
- package/dist/wiki/lint.d.ts.map +1 -1
- package/dist/wiki/lint.js +3 -2
- package/dist/wiki/lint.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 +105 -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 +6 -4
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +16 -17
- package/plugins/oh-my-codex/skills/team/SKILL.md +13 -9
- 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 +6 -4
- package/skills/ralplan/SKILL.md +16 -17
- package/skills/team/SKILL.md +13 -9
- package/skills/ultragoal/SKILL.md +3 -2
- package/src/scripts/__tests__/codex-native-hook.test.ts +8831 -951
- 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__/reasoning-artifact-contract.test.ts +129 -0
- package/src/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.ts +67 -185
- package/src/scripts/__tests__/role-intent-durable-recovery-3181.test.ts +79 -178
- package/src/scripts/__tests__/smoke-packed-install.test.ts +525 -16
- package/src/scripts/__tests__/verify-native-release-assets.test.ts +240 -0
- package/src/scripts/codex-native-hook.ts +14238 -1429
- 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 +91 -122
- package/src/scripts/notify-hook/auto-nudge.ts +71 -3
- package/src/scripts/notify-hook/state-io.ts +11 -0
- package/src/scripts/notify-hook/team-dispatch.ts +242 -75
- package/src/scripts/notify-hook/team-leader-nudge.ts +72 -22
- package/src/scripts/notify-hook/team-tmux-guard.ts +366 -39
- package/src/scripts/notify-hook/team-worker-stop.ts +43 -20
- package/src/scripts/notify-hook/team-worker.ts +82 -31
- package/src/scripts/notify-hook/tmux-injection.ts +33 -3
- package/src/scripts/notify-hook.ts +84 -82
- package/src/scripts/postinstall-advisory.ts +67 -0
- package/src/scripts/postinstall.ts +1 -1
- package/src/scripts/smoke-packed-install.ts +3608 -39
- 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
- package/dist/subagents/__tests__/adapted-role-binding.test.d.ts +0 -2
- package/dist/subagents/__tests__/adapted-role-binding.test.d.ts.map +0 -1
- package/dist/subagents/__tests__/adapted-role-binding.test.js +0 -988
- package/dist/subagents/__tests__/adapted-role-binding.test.js.map +0 -1
- package/dist/subagents/adapted-role-binding.d.ts +0 -17
- package/dist/subagents/adapted-role-binding.d.ts.map +0 -1
- package/dist/subagents/adapted-role-binding.js +0 -75
- package/dist/subagents/adapted-role-binding.js.map +0 -1
|
@@ -1,11 +1,24 @@
|
|
|
1
|
+
import { randomBytes } from 'crypto';
|
|
1
2
|
import { existsSync } from 'fs';
|
|
2
|
-
import { mkdir, readFile, readdir, unlink, writeFile } from 'fs/promises';
|
|
3
|
-
import { dirname, join } from 'path';
|
|
3
|
+
import { mkdir, readFile, readdir, rename, rm, rmdir, stat, unlink, writeFile } from 'fs/promises';
|
|
4
|
+
import { basename, dirname, join } from 'path';
|
|
4
5
|
import { getBaseStateDir } from '../mcp/state-paths.js';
|
|
5
6
|
import { isTerminalRunOutcome, normalizeRunOutcome, normalizeTerminalLifecycleOutcome } from '../runtime/run-outcome.js';
|
|
6
7
|
import { assertWorkflowTransitionAllowed, isTrackedWorkflowMode, pickPrimaryWorkflowMode, } from './workflow-transition.js';
|
|
8
|
+
import { readNeutralizedRoutingOverlay } from '../ralplan/documented-leader-preflight.js';
|
|
7
9
|
export const SKILL_ACTIVE_STATE_MODE = 'skill-active';
|
|
8
10
|
export const SKILL_ACTIVE_STATE_FILE = `${SKILL_ACTIVE_STATE_MODE}-state.json`;
|
|
11
|
+
const ROOT_SKILL_ACTIVE_LOCK_TIMEOUT_MS = 2_000;
|
|
12
|
+
const ROOT_SKILL_ACTIVE_LOCK_RETRY_MS = 10;
|
|
13
|
+
const ROOT_SKILL_ACTIVE_LOCK_STALE_MS = 10_000;
|
|
14
|
+
export class SkillActiveStateWriteError extends Error {
|
|
15
|
+
code;
|
|
16
|
+
constructor(code, message, options) {
|
|
17
|
+
super(message, options);
|
|
18
|
+
this.name = 'SkillActiveStateWriteError';
|
|
19
|
+
this.code = code;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
9
22
|
export const CANONICAL_WORKFLOW_SKILLS = [
|
|
10
23
|
'autopilot',
|
|
11
24
|
'autoresearch',
|
|
@@ -186,6 +199,20 @@ export function listTransitionActiveSkills(raw, sessionId) {
|
|
|
186
199
|
}
|
|
187
200
|
return entries.filter((entry) => safeString(entry.session_id).trim().length === 0);
|
|
188
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Matches an active-skill entry to a normalized session id for
|
|
204
|
+
* deactivation/clear purposes. An entry matches when:
|
|
205
|
+
* - its `session_id` equals the normalized session id (normal path), OR
|
|
206
|
+
* - its `session_id` is empty AND its `owner_codex_session_id` equals the
|
|
207
|
+
* normalized session id (unscoped root entry owned by the session).
|
|
208
|
+
* This prevents stale root-scoped entries from surviving a mode clear (#3451-A).
|
|
209
|
+
*/
|
|
210
|
+
function entryMatchesSessionOrOwner(entry, normalizedSessionId) {
|
|
211
|
+
if (safeString(entry.session_id).trim() === normalizedSessionId)
|
|
212
|
+
return true;
|
|
213
|
+
return safeString(entry.session_id).trim().length === 0
|
|
214
|
+
&& safeString(entry.owner_codex_session_id).trim() === normalizedSessionId;
|
|
215
|
+
}
|
|
189
216
|
/** Owner metadata for read-only provenance preflight; never infers ownership from storage. */
|
|
190
217
|
export function listSkillActiveOwnerCodexSessionIds(raw) {
|
|
191
218
|
if (!raw || typeof raw !== 'object')
|
|
@@ -238,34 +265,391 @@ export function getSkillActiveStatePathsForStateDir(stateDir, sessionId) {
|
|
|
238
265
|
}
|
|
239
266
|
export async function readSkillActiveState(path) {
|
|
240
267
|
try {
|
|
241
|
-
|
|
268
|
+
const canonical = JSON.parse(await readFile(path, 'utf-8'));
|
|
269
|
+
const overlay = await readNeutralizedRoutingOverlay(path, 'skill');
|
|
270
|
+
return normalizeSkillActiveState(overlay ?? canonical);
|
|
242
271
|
}
|
|
243
272
|
catch {
|
|
244
273
|
return null;
|
|
245
274
|
}
|
|
246
275
|
}
|
|
276
|
+
async function readRootStateForWrite(rootPath) {
|
|
277
|
+
let raw;
|
|
278
|
+
try {
|
|
279
|
+
raw = await readFile(rootPath, 'utf-8');
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
if (error.code === 'ENOENT')
|
|
283
|
+
return null;
|
|
284
|
+
throw new SkillActiveStateWriteError('malformed-root', `unreadable root skill-active state: ${rootPath}`, { cause: error });
|
|
285
|
+
}
|
|
286
|
+
let parsed;
|
|
287
|
+
try {
|
|
288
|
+
parsed = JSON.parse(raw);
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
throw new SkillActiveStateWriteError('malformed-root', `malformed root skill-active state: ${rootPath}`, { cause: error });
|
|
292
|
+
}
|
|
293
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
294
|
+
throw new SkillActiveStateWriteError('malformed-root', `malformed root skill-active state: ${rootPath}`);
|
|
295
|
+
}
|
|
296
|
+
return normalizeSkillActiveState(parsed) ?? parsed;
|
|
297
|
+
}
|
|
298
|
+
function lockOwnerPath(lockPath, token) {
|
|
299
|
+
return join(lockPath, token ? `owner-${token}` : 'owner');
|
|
300
|
+
}
|
|
301
|
+
async function inspectLockOwner(lockPath) {
|
|
302
|
+
try {
|
|
303
|
+
const entries = await readdir(lockPath);
|
|
304
|
+
const ownerEntries = entries.filter((entry) => entry === 'owner' || entry.startsWith('owner-'));
|
|
305
|
+
const knownOwnerlessEntries = entries.filter((entry) => entry.startsWith('pending-') || entry.startsWith('released-'));
|
|
306
|
+
if (ownerEntries.length === 0) {
|
|
307
|
+
if (entries.length === 0)
|
|
308
|
+
return { kind: 'ownerless' };
|
|
309
|
+
if (entries.length === 1 && knownOwnerlessEntries.length === 1) {
|
|
310
|
+
const entry = knownOwnerlessEntries[0];
|
|
311
|
+
const expectedToken = entry.slice(entry.indexOf('-') + 1);
|
|
312
|
+
const content = (await readFile(join(lockPath, entry), 'utf-8')).trim();
|
|
313
|
+
return content === expectedToken ? { kind: 'ownerless' } : { kind: 'ambiguous' };
|
|
314
|
+
}
|
|
315
|
+
return { kind: 'ambiguous' };
|
|
316
|
+
}
|
|
317
|
+
if (ownerEntries.length !== 1 || entries.length !== 1)
|
|
318
|
+
return { kind: 'ambiguous' };
|
|
319
|
+
const ownerName = ownerEntries[0];
|
|
320
|
+
const owner = (await readFile(join(lockPath, ownerName), 'utf-8')).trim();
|
|
321
|
+
if (!owner)
|
|
322
|
+
return { kind: 'ambiguous' };
|
|
323
|
+
if (ownerName === 'owner' || ownerName.slice('owner-'.length) === owner) {
|
|
324
|
+
return { kind: 'valid', token: owner };
|
|
325
|
+
}
|
|
326
|
+
return { kind: 'ambiguous' };
|
|
327
|
+
}
|
|
328
|
+
catch {
|
|
329
|
+
return { kind: 'ambiguous' };
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
async function readLockOwner(lockPath) {
|
|
333
|
+
const metadata = await inspectLockOwner(lockPath);
|
|
334
|
+
return metadata.kind === 'valid' ? metadata.token : null;
|
|
335
|
+
}
|
|
336
|
+
async function assertRootSkillActiveLockOwner(lock) {
|
|
337
|
+
if (await readLockOwner(lock.path) !== lock.token) {
|
|
338
|
+
throw new SkillActiveStateWriteError('lock-lost', `root skill-active lock ownership was lost: ${lock.path}`);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
function ownerProcessIsDead(token) {
|
|
342
|
+
const pid = Number.parseInt(token.split('-', 1)[0] ?? '', 10);
|
|
343
|
+
if (!Number.isInteger(pid) || pid <= 0)
|
|
344
|
+
return false;
|
|
345
|
+
try {
|
|
346
|
+
process.kill(pid, 0);
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
return error.code === 'ESRCH';
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
function lockPendingPath(lockPath, token) {
|
|
354
|
+
return join(lockPath, `pending-${token}`);
|
|
355
|
+
}
|
|
356
|
+
function lockReleasedPath(lockPath, token) {
|
|
357
|
+
return `${lockPath}.released-${token}`;
|
|
358
|
+
}
|
|
359
|
+
async function reclaimOwnerlessStaleLock(lockPath) {
|
|
360
|
+
const firstStat = await stat(lockPath);
|
|
361
|
+
const firstMetadata = await inspectLockOwner(lockPath);
|
|
362
|
+
if (firstMetadata.kind !== 'ownerless')
|
|
363
|
+
return false;
|
|
364
|
+
const firstEntries = await readdir(lockPath);
|
|
365
|
+
const pendingEntry = firstEntries.length === 1 && firstEntries[0].startsWith('pending-');
|
|
366
|
+
const markerPrefix = `${basename(lockPath)}.released-`;
|
|
367
|
+
const markerEntries = (await readdir(dirname(lockPath))).filter((entry) => entry.startsWith(markerPrefix));
|
|
368
|
+
if (markerEntries.length > 1)
|
|
369
|
+
return false;
|
|
370
|
+
let releaseMarkerPath;
|
|
371
|
+
if (markerEntries.length === 1) {
|
|
372
|
+
const markerName = markerEntries[0];
|
|
373
|
+
const markerToken = markerName.slice(markerPrefix.length);
|
|
374
|
+
if ((await readFile(join(dirname(lockPath), markerName), 'utf-8')).trim() !== markerToken)
|
|
375
|
+
return false;
|
|
376
|
+
releaseMarkerPath = join(dirname(lockPath), markerName);
|
|
377
|
+
}
|
|
378
|
+
if (!releaseMarkerPath && !pendingEntry && Date.now() - firstStat.mtimeMs <= ROOT_SKILL_ACTIVE_LOCK_STALE_MS)
|
|
379
|
+
return false;
|
|
380
|
+
const confirmedStat = await stat(lockPath);
|
|
381
|
+
const confirmedMetadata = await inspectLockOwner(lockPath);
|
|
382
|
+
const confirmedEntries = await readdir(lockPath);
|
|
383
|
+
if (confirmedMetadata.kind !== 'ownerless'
|
|
384
|
+
|| confirmedStat.mtimeMs !== firstStat.mtimeMs
|
|
385
|
+
|| confirmedStat.ctimeMs !== firstStat.ctimeMs
|
|
386
|
+
|| confirmedEntries.length !== firstEntries.length
|
|
387
|
+
|| confirmedEntries[0] !== firstEntries[0])
|
|
388
|
+
return false;
|
|
389
|
+
const stalePath = `${lockPath}.stale-${process.pid}-${randomBytes(6).toString('hex')}`;
|
|
390
|
+
try {
|
|
391
|
+
await rename(lockPath, stalePath);
|
|
392
|
+
}
|
|
393
|
+
catch {
|
|
394
|
+
return false;
|
|
395
|
+
}
|
|
396
|
+
try {
|
|
397
|
+
if ((await inspectLockOwner(stalePath)).kind === 'ownerless') {
|
|
398
|
+
await rm(stalePath, { recursive: true, force: true });
|
|
399
|
+
if (releaseMarkerPath)
|
|
400
|
+
await unlink(releaseMarkerPath).catch(() => undefined);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
catch {
|
|
404
|
+
// The path was replaced or removed; leave any successor untouched.
|
|
405
|
+
}
|
|
406
|
+
return true;
|
|
407
|
+
}
|
|
408
|
+
async function sleepForRootLock() {
|
|
409
|
+
await new Promise((resolve) => setTimeout(resolve, ROOT_SKILL_ACTIVE_LOCK_RETRY_MS));
|
|
410
|
+
}
|
|
411
|
+
async function acquireRootSkillActiveStateLock(rootPath) {
|
|
412
|
+
const lockPath = `${rootPath}.lock`;
|
|
413
|
+
const token = `${process.pid}-${Date.now()}-${randomBytes(12).toString('hex')}`;
|
|
414
|
+
const deadline = Date.now() + ROOT_SKILL_ACTIVE_LOCK_TIMEOUT_MS;
|
|
415
|
+
await mkdir(dirname(rootPath), { recursive: true });
|
|
416
|
+
for (;;) {
|
|
417
|
+
let createdLockDirectory = false;
|
|
418
|
+
let createdLockStat;
|
|
419
|
+
try {
|
|
420
|
+
await mkdir(lockPath);
|
|
421
|
+
createdLockDirectory = true;
|
|
422
|
+
createdLockStat = await stat(lockPath);
|
|
423
|
+
await writeFile(lockPendingPath(lockPath, token), token, { flag: 'wx' });
|
|
424
|
+
await rename(lockPendingPath(lockPath, token), lockOwnerPath(lockPath, token));
|
|
425
|
+
return { path: lockPath, token };
|
|
426
|
+
}
|
|
427
|
+
catch {
|
|
428
|
+
if (createdLockDirectory) {
|
|
429
|
+
try {
|
|
430
|
+
const currentStat = await stat(lockPath);
|
|
431
|
+
if ((await inspectLockOwner(lockPath)).kind === 'ownerless'
|
|
432
|
+
&& (await readdir(lockPath)).length === 0
|
|
433
|
+
&& createdLockStat
|
|
434
|
+
&& currentStat.mtimeMs === createdLockStat.mtimeMs
|
|
435
|
+
&& currentStat.ctimeMs === createdLockStat.ctimeMs) {
|
|
436
|
+
await rmdir(lockPath);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
catch {
|
|
440
|
+
// The path may have been atomically taken over or removed; retry without cleanup.
|
|
441
|
+
}
|
|
442
|
+
continue;
|
|
443
|
+
}
|
|
444
|
+
try {
|
|
445
|
+
const observedToken = await readLockOwner(lockPath);
|
|
446
|
+
if (!observedToken) {
|
|
447
|
+
await reclaimOwnerlessStaleLock(lockPath);
|
|
448
|
+
}
|
|
449
|
+
else if (ownerProcessIsDead(observedToken)) {
|
|
450
|
+
const firstStat = await stat(lockPath);
|
|
451
|
+
if (Date.now() - firstStat.mtimeMs > ROOT_SKILL_ACTIVE_LOCK_STALE_MS) {
|
|
452
|
+
const confirmedToken = await readLockOwner(lockPath);
|
|
453
|
+
const confirmedStat = await stat(lockPath);
|
|
454
|
+
if (confirmedToken === observedToken && confirmedStat.mtimeMs === firstStat.mtimeMs) {
|
|
455
|
+
const stalePath = `${lockPath}.stale-${process.pid}-${randomBytes(6).toString('hex')}`;
|
|
456
|
+
try {
|
|
457
|
+
await rename(lockPath, stalePath);
|
|
458
|
+
if (await readLockOwner(stalePath) === observedToken) {
|
|
459
|
+
await rm(stalePath, { recursive: true, force: true });
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
catch {
|
|
463
|
+
// Another process won the stale-lock takeover race; retry.
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
catch {
|
|
470
|
+
// The lock may have been released between observations; retry.
|
|
471
|
+
}
|
|
472
|
+
if (Date.now() >= deadline) {
|
|
473
|
+
throw new SkillActiveStateWriteError('lock-timeout', `timed out waiting for root skill-active lock: ${lockPath}`);
|
|
474
|
+
}
|
|
475
|
+
await sleepForRootLock();
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
async function releaseRootSkillActiveStateLock(lock) {
|
|
480
|
+
if (await readLockOwner(lock.path) !== lock.token)
|
|
481
|
+
return;
|
|
482
|
+
const releasedPath = lockReleasedPath(lock.path, lock.token);
|
|
483
|
+
try {
|
|
484
|
+
await writeFile(releasedPath, lock.token, { flag: 'wx' });
|
|
485
|
+
await unlink(lockOwnerPath(lock.path, lock.token));
|
|
486
|
+
}
|
|
487
|
+
catch {
|
|
488
|
+
await unlink(releasedPath).catch(() => undefined);
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
async function withRootSkillActiveStateLock(rootPath, operation) {
|
|
493
|
+
const lock = await acquireRootSkillActiveStateLock(rootPath);
|
|
494
|
+
try {
|
|
495
|
+
await assertRootSkillActiveLockOwner(lock);
|
|
496
|
+
return await operation(lock);
|
|
497
|
+
}
|
|
498
|
+
finally {
|
|
499
|
+
await releaseRootSkillActiveStateLock(lock);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
function stateWithActiveEntries(base, entries, fallbackMode) {
|
|
503
|
+
const inherited = entries.length > 0 ? clearTerminalSkillActiveMarkers({ ...(base ?? {}) }) : { ...(base ?? {}) };
|
|
504
|
+
const primarySkill = pickPrimaryWorkflowMode(safeString(inherited.skill).trim(), entries.map((entry) => entry.skill), fallbackMode);
|
|
505
|
+
const primaryEntry = entries.find((entry) => entry.skill === primarySkill) ?? entries[0];
|
|
506
|
+
return {
|
|
507
|
+
...inherited,
|
|
508
|
+
version: 1,
|
|
509
|
+
active: entries.length > 0,
|
|
510
|
+
skill: primaryEntry?.skill || primarySkill || fallbackMode,
|
|
511
|
+
phase: primaryEntry?.phase || safeString(inherited.phase).trim(),
|
|
512
|
+
activated_at: primaryEntry?.activated_at || safeString(inherited.activated_at).trim(),
|
|
513
|
+
active_skills: entries,
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
function mergeRootStateForSession(currentRoot, sessionState, sessionId) {
|
|
517
|
+
const normalizedSessionId = safeString(sessionId).trim();
|
|
518
|
+
const currentEntries = listActiveSkills(currentRoot ?? {});
|
|
519
|
+
const hasCurrentSessionEntry = currentEntries.some((entry) => entryMatchesSessionOrOwner(entry, normalizedSessionId));
|
|
520
|
+
const incomingEntries = hasCurrentSessionEntry
|
|
521
|
+
? listActiveSkills(sessionState).filter((entry) => entryMatchesSessionOrOwner(entry, normalizedSessionId))
|
|
522
|
+
: [];
|
|
523
|
+
const mergedEntries = [
|
|
524
|
+
...currentEntries.filter((entry) => !entryMatchesSessionOrOwner(entry, normalizedSessionId)),
|
|
525
|
+
...incomingEntries,
|
|
526
|
+
];
|
|
527
|
+
return stateWithActiveEntries(currentRoot ?? sessionState, mergedEntries, sessionState.skill || 'skill-active');
|
|
528
|
+
}
|
|
529
|
+
async function writeRootSkillActiveStateAtomically(rootPath, rootState, beforeCommit, lock) {
|
|
530
|
+
const tempPath = `${rootPath}.tmp-${process.pid}-${Date.now()}-${randomBytes(4).toString('hex')}`;
|
|
531
|
+
const payload = `${JSON.stringify({ version: 1, ...rootState }, null, 2)}\n`;
|
|
532
|
+
await beforeCommit?.({ site: 'skill-active.root-copy', kind: 'write', path: rootPath });
|
|
533
|
+
try {
|
|
534
|
+
if (lock)
|
|
535
|
+
await assertRootSkillActiveLockOwner(lock);
|
|
536
|
+
await writeFile(tempPath, payload);
|
|
537
|
+
if (lock)
|
|
538
|
+
await assertRootSkillActiveLockOwner(lock);
|
|
539
|
+
await rename(tempPath, rootPath);
|
|
540
|
+
}
|
|
541
|
+
catch (error) {
|
|
542
|
+
await rm(tempPath, { force: true }).catch(() => undefined);
|
|
543
|
+
if (error instanceof SkillActiveStateWriteError)
|
|
544
|
+
throw error;
|
|
545
|
+
throw new SkillActiveStateWriteError('atomic-replace-failed', `failed to atomically replace root skill-active state: ${rootPath}`, { cause: error });
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
async function restoreRootSkillActiveStateBytesIfOwned(rootPath, previousRoot, lock) {
|
|
549
|
+
await assertRootSkillActiveLockOwner(lock);
|
|
550
|
+
if (previousRoot === null) {
|
|
551
|
+
await unlink(rootPath).catch((error) => {
|
|
552
|
+
if (error.code !== 'ENOENT')
|
|
553
|
+
throw error;
|
|
554
|
+
});
|
|
555
|
+
return;
|
|
556
|
+
}
|
|
557
|
+
const tempPath = `${rootPath}.rollback-${process.pid}-${Date.now()}-${randomBytes(4).toString('hex')}`;
|
|
558
|
+
try {
|
|
559
|
+
await writeFile(tempPath, previousRoot);
|
|
560
|
+
await assertRootSkillActiveLockOwner(lock);
|
|
561
|
+
await rename(tempPath, rootPath);
|
|
562
|
+
}
|
|
563
|
+
finally {
|
|
564
|
+
await rm(tempPath, { force: true }).catch(() => undefined);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
247
567
|
export async function writeSkillActiveStateCopies(cwd, state, sessionId, rootState) {
|
|
248
568
|
const { rootPath, sessionPath } = getSkillActiveStatePaths(cwd, sessionId);
|
|
249
569
|
await writeSkillActiveStateCopiesToPaths(rootPath, sessionPath, state, rootState);
|
|
250
570
|
}
|
|
251
|
-
export async function writeSkillActiveStateCopiesForStateDir(stateDir, state, sessionId, rootState) {
|
|
571
|
+
export async function writeSkillActiveStateCopiesForStateDir(stateDir, state, sessionId, rootState, options = {}) {
|
|
252
572
|
const { rootPath, sessionPath } = getSkillActiveStatePathsForStateDir(stateDir, sessionId);
|
|
253
|
-
await writeSkillActiveStateCopiesToPaths(rootPath, sessionPath, state, rootState);
|
|
573
|
+
await writeSkillActiveStateCopiesToPaths(rootPath, sessionPath, state, rootState, options.beforeCommit, undefined, options.sessionOnlyWhenRootMissing);
|
|
254
574
|
}
|
|
255
|
-
async function
|
|
575
|
+
export async function updateRootSkillActiveStateForStateDir(stateDir, update, options = {}) {
|
|
576
|
+
const { rootPath } = getSkillActiveStatePathsForStateDir(stateDir);
|
|
577
|
+
await withRootSkillActiveStateLock(rootPath, async (lock) => {
|
|
578
|
+
const currentRoot = await readRootStateForWrite(rootPath);
|
|
579
|
+
const nextRoot = update(currentRoot);
|
|
580
|
+
if (nextRoot === null)
|
|
581
|
+
return;
|
|
582
|
+
await writeRootSkillActiveStateAtomically(rootPath, nextRoot, options.beforeCommit, lock);
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
export async function writeSkillActiveStateWithPrimaryTransactionForStateDir(stateDir, state, sessionId, primaryPath, primaryWrite, options = {}) {
|
|
586
|
+
const { rootPath, sessionPath } = getSkillActiveStatePathsForStateDir(stateDir, sessionId);
|
|
587
|
+
if (sessionPath !== primaryPath)
|
|
588
|
+
throw new Error('skill-active primary path is not session-scoped');
|
|
256
589
|
const normalized = { version: 1, ...state };
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
const
|
|
262
|
-
await
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
590
|
+
const sessionPayload = `${JSON.stringify(normalized, null, 2)}\n`;
|
|
591
|
+
await withRootSkillActiveStateLock(rootPath, async (lock) => {
|
|
592
|
+
const currentRoot = await readRootStateForWrite(rootPath);
|
|
593
|
+
const nextRoot = mergeRootStateForSession(currentRoot, normalized, safeString(normalized.session_id).trim());
|
|
594
|
+
const previousPrimary = existsSync(primaryPath) ? await readFile(primaryPath) : null;
|
|
595
|
+
const previousRoot = existsSync(rootPath) ? await readFile(rootPath) : null;
|
|
596
|
+
let primaryCommitted = false;
|
|
597
|
+
try {
|
|
598
|
+
await primaryWrite();
|
|
599
|
+
primaryCommitted = true;
|
|
600
|
+
await writeRootSkillActiveStateAtomically(rootPath, nextRoot, options.beforeCommit, lock);
|
|
601
|
+
await options.beforeCommit?.({ site: 'skill-active.session-copy', kind: 'write', path: sessionPath });
|
|
602
|
+
await assertRootSkillActiveLockOwner(lock);
|
|
603
|
+
await writeFile(sessionPath, sessionPayload);
|
|
604
|
+
}
|
|
605
|
+
catch (error) {
|
|
606
|
+
let rollbackError;
|
|
607
|
+
if (primaryCommitted) {
|
|
608
|
+
if (previousPrimary === null)
|
|
609
|
+
await unlink(primaryPath).catch(() => undefined);
|
|
610
|
+
else
|
|
611
|
+
await writeFile(primaryPath, previousPrimary);
|
|
612
|
+
}
|
|
613
|
+
try {
|
|
614
|
+
await restoreRootSkillActiveStateBytesIfOwned(rootPath, previousRoot, lock);
|
|
615
|
+
}
|
|
616
|
+
catch (ownershipOrRestoreError) {
|
|
617
|
+
rollbackError = ownershipOrRestoreError;
|
|
618
|
+
}
|
|
619
|
+
throw rollbackError ?? error;
|
|
620
|
+
}
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
async function writeSkillActiveStateCopiesToPaths(rootPath, sessionPath, state, rootState, beforeCommit, lock, sessionOnlyWhenRootMissing = false) {
|
|
624
|
+
const normalized = { version: 1, ...state };
|
|
625
|
+
const writeSessionCopy = async () => {
|
|
626
|
+
if (!sessionPath)
|
|
627
|
+
return;
|
|
628
|
+
const sessionPayload = `${JSON.stringify(normalized, null, 2)}\n`;
|
|
267
629
|
await mkdir(dirname(sessionPath), { recursive: true });
|
|
630
|
+
await beforeCommit?.({ site: 'skill-active.session-copy', kind: 'write', path: sessionPath });
|
|
268
631
|
await writeFile(sessionPath, sessionPayload);
|
|
632
|
+
};
|
|
633
|
+
const writeRootTransaction = async (ownedLock) => {
|
|
634
|
+
const currentRoot = await readRootStateForWrite(rootPath);
|
|
635
|
+
if (sessionPath && sessionOnlyWhenRootMissing && currentRoot === null) {
|
|
636
|
+
await writeSessionCopy();
|
|
637
|
+
return;
|
|
638
|
+
}
|
|
639
|
+
const nextRoot = sessionPath
|
|
640
|
+
? mergeRootStateForSession(currentRoot, normalized, safeString(normalized.session_id).trim())
|
|
641
|
+
: { version: 1, ...(rootState ?? normalized) };
|
|
642
|
+
await writeRootSkillActiveStateAtomically(rootPath, nextRoot, beforeCommit, ownedLock);
|
|
643
|
+
await writeSessionCopy();
|
|
644
|
+
};
|
|
645
|
+
if (rootState !== null && lock) {
|
|
646
|
+
await writeRootTransaction(lock);
|
|
647
|
+
}
|
|
648
|
+
else if (rootState !== null) {
|
|
649
|
+
await withRootSkillActiveStateLock(rootPath, writeRootTransaction);
|
|
650
|
+
}
|
|
651
|
+
else {
|
|
652
|
+
await writeSessionCopy();
|
|
269
653
|
}
|
|
270
654
|
}
|
|
271
655
|
export async function readVisibleSkillActiveState(cwd, sessionId) {
|
|
@@ -288,11 +672,18 @@ export function tracksCanonicalWorkflowSkill(mode) {
|
|
|
288
672
|
return CANONICAL_WORKFLOW_SKILLS.includes(mode);
|
|
289
673
|
}
|
|
290
674
|
export async function syncCanonicalSkillStateForMode(options) {
|
|
675
|
+
const baseStateDir = options.baseStateDir ?? getBaseStateDir(options.cwd);
|
|
676
|
+
const { rootPath } = getSkillActiveStatePathsForStateDir(baseStateDir);
|
|
677
|
+
await withRootSkillActiveStateLock(rootPath, async (lock) => {
|
|
678
|
+
await syncCanonicalSkillStateForModeUnlocked({ ...options, baseStateDir }, lock);
|
|
679
|
+
});
|
|
680
|
+
}
|
|
681
|
+
async function syncCanonicalSkillStateForModeUnlocked(options, lock) {
|
|
291
682
|
const { cwd, baseStateDir = getBaseStateDir(cwd), mode, active, currentPhase, sessionId, threadId, turnId, ownerCodexSessionId, nowIso = new Date().toISOString(), source = 'state-server', allSessions = false, } = options;
|
|
292
683
|
if (!tracksCanonicalWorkflowSkill(mode))
|
|
293
684
|
return;
|
|
294
685
|
const { rootPath, sessionPath } = getSkillActiveStatePathsForStateDir(baseStateDir, sessionId);
|
|
295
|
-
const existingRoot = await
|
|
686
|
+
const existingRoot = await readRootStateForWrite(rootPath);
|
|
296
687
|
const existingSession = sessionPath ? await readSkillActiveState(sessionPath) : null;
|
|
297
688
|
if (!existingRoot && !existingSession && !active && !options.allSessions)
|
|
298
689
|
return;
|
|
@@ -355,14 +746,16 @@ export async function syncCanonicalSkillStateForMode(options) {
|
|
|
355
746
|
});
|
|
356
747
|
}
|
|
357
748
|
const nextSessionRootEntries = rootEntries.filter((entry) => !(entry.skill === mode
|
|
358
|
-
&&
|
|
749
|
+
&& entryMatchesSessionOrOwner(entry, normalizedSessionId)));
|
|
359
750
|
const nextRootEntries = allRootEntries.filter((entry) => !(entry.skill === mode
|
|
360
|
-
&&
|
|
751
|
+
&& entryMatchesSessionOrOwner(entry, normalizedSessionId)));
|
|
361
752
|
const nextSessionState = applyEntriesToState(existingSession ?? existingRoot, [...nextSessionRootEntries, ...nextSessionEntries], mode, normalizedSessionId);
|
|
753
|
+
nextSessionState.session_id = normalizedSessionId;
|
|
362
754
|
const nextRootState = nextRootEntries.length > 0
|
|
363
755
|
? applyEntriesToState(existingRoot, nextRootEntries, mode)
|
|
364
756
|
: applyEntriesToState(existingSession ?? existingRoot, active ? nextSessionEntries : [], mode, normalizedSessionId);
|
|
365
|
-
|
|
757
|
+
const sessionPaths = getSkillActiveStatePathsForStateDir(baseStateDir, sessionId);
|
|
758
|
+
await writeSkillActiveStateCopiesToPaths(sessionPaths.rootPath, sessionPaths.sessionPath, nextSessionState, nextRootState, options.beforeCommit, lock);
|
|
366
759
|
return;
|
|
367
760
|
}
|
|
368
761
|
const rootScopedEntries = rootEntries.filter((entry) => safeString(entry.session_id).trim().length === 0);
|
|
@@ -387,7 +780,7 @@ export async function syncCanonicalSkillStateForMode(options) {
|
|
|
387
780
|
? rootEntries.filter((entry) => entry.skill !== mode)
|
|
388
781
|
: [...sessionScopedRootMirrorEntries, ...nextRootScopedEntries];
|
|
389
782
|
const nextRootState = applyEntriesToState(existingRoot, nextRootEntries, mode);
|
|
390
|
-
await
|
|
783
|
+
await writeSkillActiveStateCopiesToPaths(rootPath, undefined, nextRootState, nextRootState, options.beforeCommit, lock);
|
|
391
784
|
const sessionsDir = join(baseStateDir, 'sessions');
|
|
392
785
|
if (!existsSync(sessionsDir))
|
|
393
786
|
return;
|
|
@@ -406,11 +799,15 @@ export async function syncCanonicalSkillStateForMode(options) {
|
|
|
406
799
|
.filter((entry) => safeString(entry.session_id).trim() === sessionId);
|
|
407
800
|
const nextSessionEntries = [...nextVisibleRootEntries, ...sessionOnlyEntries];
|
|
408
801
|
if (nextSessionEntries.length === 0) {
|
|
409
|
-
await
|
|
802
|
+
await options.beforeCommit?.({ site: 'skill-active.session-unlink', kind: 'unlink', path: sessionPath });
|
|
803
|
+
await unlink(sessionPath).catch((error) => {
|
|
804
|
+
if (error.code !== 'ENOENT')
|
|
805
|
+
throw error;
|
|
806
|
+
});
|
|
410
807
|
continue;
|
|
411
808
|
}
|
|
412
809
|
const nextSessionState = applyEntriesToState(existingSessionState ?? existingRoot, nextSessionEntries, nextSessionEntries[0]?.skill || mode, sessionId);
|
|
413
|
-
await
|
|
810
|
+
await writeSkillActiveStateCopiesToPaths(rootPath, sessionPath, nextSessionState, nextRootState, options.beforeCommit, lock);
|
|
414
811
|
}
|
|
415
812
|
}
|
|
416
813
|
//# sourceMappingURL=skill-active.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-active.js","sourceRoot":"","sources":["../../src/state/skill-active.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill-active.js","sourceRoot":"","sources":["../../src/state/skill-active.ts"],"names":[],"mappings":"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"}
|