oh-my-codex 0.20.1 → 0.20.3
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 +7 -6
- package/Cargo.toml +1 -1
- package/README.md +36 -1
- package/crates/omx-runtime/Cargo.toml +1 -0
- package/crates/omx-runtime/src/main.rs +25 -2
- package/crates/omx-runtime/tests/execution.rs +219 -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__/hermes.test.js.map +1 -1
- package/dist/adapt/contracts.d.ts.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.d.ts +2 -0
- package/dist/auth/__tests__/hotswap.test.d.ts.map +1 -0
- package/dist/auth/__tests__/hotswap.test.js +183 -0
- package/dist/auth/__tests__/hotswap.test.js.map +1 -0
- package/dist/auth/hotswap.d.ts +6 -0
- package/dist/auth/hotswap.d.ts.map +1 -1
- package/dist/auth/hotswap.js +102 -19
- package/dist/auth/hotswap.js.map +1 -1
- package/dist/auth/paths.js.map +1 -1
- package/dist/auth/storage.js.map +1 -1
- package/dist/autopilot/__tests__/ralplan-gate.test.js +5 -5
- package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
- package/dist/autopilot/completion-gate.js.map +1 -1
- package/dist/autopilot/fsm.d.ts +1 -1
- package/dist/autopilot/fsm.d.ts.map +1 -1
- package/dist/autoresearch/goal.js.map +1 -1
- package/dist/autoresearch/runtime.js.map +1 -1
- package/dist/capabilities/lockfile.js.map +1 -1
- package/dist/catalog/reader.js.map +1 -1
- package/dist/catalog/skill-mirror.js.map +1 -1
- package/dist/cli/__tests__/adapt-help.test.js.map +1 -1
- package/dist/cli/__tests__/agents-init.test.js.map +1 -1
- package/dist/cli/__tests__/agents.test.js.map +1 -1
- package/dist/cli/__tests__/api.test.js.map +1 -1
- package/dist/cli/__tests__/ask.test.js.map +1 -1
- package/dist/cli/__tests__/auth.test.js +60 -6
- package/dist/cli/__tests__/auth.test.js.map +1 -1
- package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
- package/dist/cli/__tests__/autoresearch.test.js.map +1 -1
- package/dist/cli/__tests__/capabilities.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +80 -0
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-context-window-warning.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-invalid-config.test.js +47 -4
- package/dist/cli/__tests__/doctor-invalid-config.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +752 -15
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +136 -0
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/imagegen-continuation.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +473 -14
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +336 -4
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-parity.test.js +87 -12
- package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
- package/dist/cli/__tests__/native-hook-claim-journal.test.d.ts +2 -0
- package/dist/cli/__tests__/native-hook-claim-journal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/native-hook-claim-journal.test.js +206 -0
- package/dist/cli/__tests__/native-hook-claim-journal.test.js.map +1 -0
- package/dist/cli/__tests__/nested-help-routing.test.js.map +1 -1
- package/dist/cli/__tests__/question.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-deslop-contract.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +6 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-prd-smoke.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +8 -3
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.d.ts +2 -0
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js +72 -0
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js.map +1 -0
- package/dist/cli/__tests__/ralplan.test.d.ts +2 -0
- package/dist/cli/__tests__/ralplan.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ralplan.test.js +55 -0
- package/dist/cli/__tests__/ralplan.test.js.map +1 -0
- package/dist/cli/__tests__/resume.test.js +17 -11
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/session-scoped-runtime.test.js +25 -0
- 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__/session-search.test.js.map +1 -1
- package/dist/cli/__tests__/setup-agents-overwrite.test.js +79 -0
- package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-gh-star.test.js.map +1 -1
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +77 -3
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
- package/dist/cli/__tests__/setup-hooks-trust-e2e.test.d.ts +2 -0
- package/dist/cli/__tests__/setup-hooks-trust-e2e.test.d.ts.map +1 -0
- package/dist/cli/__tests__/setup-hooks-trust-e2e.test.js +285 -0
- package/dist/cli/__tests__/setup-hooks-trust-e2e.test.js.map +1 -0
- package/dist/cli/__tests__/setup-install-mode.test.js +2579 -294
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-preferences.test.d.ts +2 -0
- package/dist/cli/__tests__/setup-preferences.test.d.ts.map +1 -0
- package/dist/cli/__tests__/setup-preferences.test.js +79 -0
- package/dist/cli/__tests__/setup-preferences.test.js.map +1 -0
- package/dist/cli/__tests__/setup-refresh.test.js +33 -2
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +46 -3
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
- package/dist/cli/__tests__/state.test.js +37 -0
- package/dist/cli/__tests__/state.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +105 -7
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +61 -1
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +1817 -24
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/__tests__/update.test.js +58 -0
- package/dist/cli/__tests__/update.test.js.map +1 -1
- package/dist/cli/__tests__/url.test.js.map +1 -1
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js +2 -1
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -1
- package/dist/cli/adapt.js.map +1 -1
- package/dist/cli/agents-init.js.map +1 -1
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/api.js.map +1 -1
- package/dist/cli/ask.d.ts +1 -1
- package/dist/cli/ask.d.ts.map +1 -1
- package/dist/cli/ask.js.map +1 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/autoresearch-guided.js.map +1 -1
- package/dist/cli/autoresearch-intake.js.map +1 -1
- package/dist/cli/capabilities.js.map +1 -1
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/codex-feature-probe.js.map +1 -1
- package/dist/cli/codex-home.js.map +1 -1
- package/dist/cli/doctor.d.ts +21 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +607 -130
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +14 -3
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +245 -57
- 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/mcp-serve.js.map +1 -1
- package/dist/cli/mission.js.map +1 -1
- package/dist/cli/native-assets.js.map +1 -1
- package/dist/cli/native-hook-claim-journal.d.ts +29 -0
- package/dist/cli/native-hook-claim-journal.d.ts.map +1 -0
- package/dist/cli/native-hook-claim-journal.js +252 -0
- package/dist/cli/native-hook-claim-journal.js.map +1 -0
- package/dist/cli/omx.js.map +1 -1
- package/dist/cli/plugin-marketplace.js.map +1 -1
- package/dist/cli/project-runtime-codex-homes.js.map +1 -1
- package/dist/cli/question.js.map +1 -1
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +3 -2
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/ralplan.d.ts +10 -0
- package/dist/cli/ralplan.d.ts.map +1 -0
- package/dist/cli/ralplan.js +110 -0
- package/dist/cli/ralplan.js.map +1 -0
- 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 +11 -0
- package/dist/cli/setup-preferences.d.ts.map +1 -1
- package/dist/cli/setup-preferences.js +32 -0
- package/dist/cli/setup-preferences.js.map +1 -1
- package/dist/cli/setup.d.ts +58 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +1450 -398
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/sparkshell.js.map +1 -1
- package/dist/cli/star-prompt.js.map +1 -1
- package/dist/cli/state.d.ts.map +1 -1
- package/dist/cli/state.js +2 -1
- package/dist/cli/state.js.map +1 -1
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/ultragoal.d.ts +5 -1
- package/dist/cli/ultragoal.d.ts.map +1 -1
- package/dist/cli/ultragoal.js +34 -2
- package/dist/cli/ultragoal.js.map +1 -1
- package/dist/cli/uninstall.d.ts +17 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +986 -95
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +8 -1
- package/dist/cli/update.js.map +1 -1
- package/dist/cli/url.js.map +1 -1
- package/dist/compat/__tests__/doctor-contract.test.js +5 -1
- package/dist/compat/__tests__/doctor-contract.test.js.map +1 -1
- package/dist/compat/__tests__/rust-runtime-compat.test.js +1 -1
- package/dist/compat/__tests__/rust-runtime-compat.test.js.map +1 -1
- package/dist/config/__tests__/codex-hooks.test.js +1287 -11
- package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +1179 -32
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +6 -1
- 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/codex-feature-flags.d.ts.map +1 -1
- package/dist/config/codex-feature-flags.js.map +1 -1
- package/dist/config/codex-hooks.d.ts +124 -1
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +2142 -265
- package/dist/config/codex-hooks.js.map +1 -1
- package/dist/config/commit-lore-guard.js.map +1 -1
- package/dist/config/generator.d.ts +23 -34
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +1480 -246
- package/dist/config/generator.js.map +1 -1
- package/dist/config/mcp-registry.js.map +1 -1
- package/dist/config/models.d.ts +14 -4
- 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/config/omx-first-party-mcp.js.map +1 -1
- package/dist/config/team-mode.d.ts.map +1 -1
- package/dist/document-refresh/__tests__/enforcer.test.js.map +1 -1
- package/dist/document-refresh/enforcer.js.map +1 -1
- package/dist/exec/followup.js.map +1 -1
- package/dist/goal-workflows/artifacts.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +7 -4
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/analyze-routing-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/analyze-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js +9 -3
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/code-review-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/consensus-execution-handoff.test.js.map +1 -1
- package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/design-skill.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +1376 -6
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +252 -543
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +38 -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 +765 -10
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +2 -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 +142 -1
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js +48 -2
- package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +61 -44
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.js +3 -2
- package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js +243 -4
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +531 -12
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +163 -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-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-visual-verdict.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +43 -4
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/openclaw-setup-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -1
- package/dist/hooks/__tests__/prometheus-strict-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-fragments.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-test-helpers.js.map +1 -1
- package/dist/hooks/__tests__/prompt-session-provenance.test.d.ts +2 -0
- package/dist/hooks/__tests__/prompt-session-provenance.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/prompt-session-provenance.test.js +82 -0
- package/dist/hooks/__tests__/prompt-session-provenance.test.js.map +1 -0
- package/dist/hooks/__tests__/session.test.js +878 -11
- package/dist/hooks/__tests__/session.test.js.map +1 -1
- package/dist/hooks/__tests__/skill-catalog-hygiene.test.js.map +1 -1
- package/dist/hooks/__tests__/team-runtime-gating-docs-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-verdict-loop.test.js.map +1 -1
- package/dist/hooks/agents-overlay.js +5 -5
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/code-simplifier/index.js.map +1 -1
- package/dist/hooks/explore-routing.js.map +1 -1
- package/dist/hooks/extensibility/dispatcher.js.map +1 -1
- package/dist/hooks/extensibility/events.js.map +1 -1
- package/dist/hooks/extensibility/loader.js.map +1 -1
- package/dist/hooks/extensibility/plugin-runner-stdin.js.map +1 -1
- package/dist/hooks/extensibility/sdk/logging.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts +33 -7
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +2228 -119
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/keyword-registry.d.ts +12 -0
- package/dist/hooks/keyword-registry.d.ts.map +1 -1
- package/dist/hooks/keyword-registry.js +41 -0
- package/dist/hooks/keyword-registry.js.map +1 -1
- package/dist/hooks/prompt-session-provenance.d.ts +87 -0
- package/dist/hooks/prompt-session-provenance.d.ts.map +1 -0
- package/dist/hooks/prompt-session-provenance.js +180 -0
- package/dist/hooks/prompt-session-provenance.js.map +1 -0
- package/dist/hooks/session.d.ts +163 -34
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +1395 -317
- package/dist/hooks/session.js.map +1 -1
- package/dist/hooks/task-size-detector.js.map +1 -1
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/authority.js.map +1 -1
- package/dist/hud/constants.js.map +1 -1
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/render.js.map +1 -1
- package/dist/hud/state.js.map +1 -1
- package/dist/hud/tmux.js.map +1 -1
- package/dist/leader/__tests__/contract.test.js +153 -1
- package/dist/leader/__tests__/contract.test.js.map +1 -1
- package/dist/leader/contract.d.ts +42 -5
- package/dist/leader/contract.d.ts.map +1 -1
- package/dist/leader/contract.js +184 -3
- package/dist/leader/contract.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.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__/server-lifecycle.test.js +15 -2
- package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
- package/dist/mcp/__tests__/state-paths.test.js +98 -1
- package/dist/mcp/__tests__/state-paths.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/bootstrap.js.map +1 -1
- package/dist/mcp/code-intel-server.d.ts +58 -58
- 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.js.map +1 -1
- package/dist/mcp/hermes-server.d.ts +70 -70
- package/dist/mcp/hermes-server.d.ts.map +1 -1
- package/dist/mcp/lifecycle-telemetry.js.map +1 -1
- package/dist/mcp/memory-server.d.ts +34 -34
- package/dist/mcp/memory-server.d.ts.map +1 -1
- package/dist/mcp/memory-server.js.map +1 -1
- package/dist/mcp/state-paths.d.ts +14 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +96 -20
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/mcp/state-server.d.ts +47 -47
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/mcp/trace-server.d.ts +4 -4
- package/dist/mcp/trace-server.d.ts.map +1 -1
- package/dist/mcp/trace-server.js.map +1 -1
- package/dist/mcp/wiki-server.d.ts +34 -23
- 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-session-scope.test.js +53 -1
- 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.map +1 -1
- package/dist/modes/base.js +5 -5
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/lifecycle-dedupe.test.js.map +1 -1
- package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
- package/dist/notifications/__tests__/session-idle-tail-dedupe.test.js +177 -85
- package/dist/notifications/__tests__/session-idle-tail-dedupe.test.js.map +1 -1
- package/dist/notifications/__tests__/session-registry.test.js.map +1 -1
- package/dist/notifications/__tests__/template-engine.test.js.map +1 -1
- package/dist/notifications/__tests__/verbosity.test.js.map +1 -1
- package/dist/notifications/http-client.js.map +1 -1
- package/dist/notifications/index.d.ts +4 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +3 -9
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/lifecycle-dedupe.js.map +1 -1
- package/dist/notifications/reply-listener.d.ts.map +1 -1
- package/dist/notifications/reply-listener.js.map +1 -1
- package/dist/notifications/session-registry.js.map +1 -1
- package/dist/notifications/session-status.js.map +1 -1
- 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/notifications/tmux-detector.js.map +1 -1
- package/dist/notifications/tmux.js.map +1 -1
- package/dist/openclaw/config.js.map +1 -1
- package/dist/openclaw/dispatcher.js.map +1 -1
- package/dist/pipeline/__tests__/orchestrator.test.js +4 -4
- package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +16 -13
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/stages/code-review.js.map +1 -1
- package/dist/pipeline/stages/ralph-verify.js.map +1 -1
- package/dist/pipeline/stages/ralplan.js.map +1 -1
- package/dist/pipeline/stages/team-exec.js.map +1 -1
- package/dist/pipeline/stages/ultragoal.js.map +1 -1
- package/dist/pipeline/stages/ultraqa.js.map +1 -1
- package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js.map +1 -1
- package/dist/planning/artifact-names.js.map +1 -1
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/question/__tests__/state.test.js.map +1 -1
- package/dist/question/__tests__/ui.test.js.map +1 -1
- package/dist/question/autopilot-wait.js.map +1 -1
- package/dist/question/client.d.ts.map +1 -1
- package/dist/question/client.js.map +1 -1
- package/dist/question/deep-interview.js.map +1 -1
- package/dist/question/events.js.map +1 -1
- package/dist/question/renderer.js.map +1 -1
- package/dist/question/state.d.ts.map +1 -1
- package/dist/question/state.js.map +1 -1
- package/dist/question/ui.js.map +1 -1
- package/dist/ralph/contract.d.ts +1 -1
- package/dist/ralph/contract.d.ts.map +1 -1
- package/dist/ralplan/__tests__/consensus-gate.test.js +527 -8
- 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 +46 -0
- package/dist/ralplan/__tests__/documented-leader-preflight.test.js.map +1 -0
- package/dist/ralplan/__tests__/runtime.test.js +116 -14
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/consensus-gate.d.ts +3 -3
- package/dist/ralplan/consensus-gate.d.ts.map +1 -1
- package/dist/ralplan/consensus-gate.js +173 -70
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/ralplan/documented-leader-preflight.d.ts +34 -0
- package/dist/ralplan/documented-leader-preflight.d.ts.map +1 -0
- package/dist/ralplan/documented-leader-preflight.js +58 -0
- package/dist/ralplan/documented-leader-preflight.js.map +1 -0
- package/dist/ralplan/runtime.d.ts +3 -2
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +12 -9
- 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/process-tree.js.map +1 -1
- package/dist/runtime/run-loop.js.map +1 -1
- package/dist/runtime/run-outcome.d.ts +3 -3
- package/dist/runtime/run-outcome.d.ts.map +1 -1
- package/dist/runtime/run-outcome.js.map +1 -1
- package/dist/runtime/run-state.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +6657 -995
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/fixtures/issue-3138-installed-smoke.d.ts +2 -0
- package/dist/scripts/__tests__/fixtures/issue-3138-installed-smoke.d.ts.map +1 -0
- package/dist/scripts/__tests__/fixtures/issue-3138-installed-smoke.js +634 -0
- package/dist/scripts/__tests__/fixtures/issue-3138-installed-smoke.js.map +1 -0
- package/dist/scripts/__tests__/generate-release-body.test.js.map +1 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -1
- package/dist/scripts/__tests__/notify-dispatcher.test.js.map +1 -1
- package/dist/scripts/__tests__/notify-fallback-delivery.test.d.ts +2 -0
- package/dist/scripts/__tests__/notify-fallback-delivery.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/notify-fallback-delivery.test.js +174 -0
- package/dist/scripts/__tests__/notify-fallback-delivery.test.js.map +1 -0
- package/dist/scripts/__tests__/notify-state-io.test.js +57 -1
- package/dist/scripts/__tests__/notify-state-io.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.d.ts +2 -0
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js +78 -0
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js.map +1 -0
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.d.ts +2 -0
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js +55 -0
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js.map +1 -0
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/__tests__/smoke-packed-install.test.js +1100 -4
- package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
- package/dist/scripts/__tests__/test-reply-listener-live.test.js.map +1 -1
- package/dist/scripts/build-api.js.map +1 -1
- package/dist/scripts/build-explore-harness.js.map +1 -1
- package/dist/scripts/build-sparkshell.js.map +1 -1
- package/dist/scripts/cleanup-explore-harness.js.map +1 -1
- package/dist/scripts/codex-execution-surface.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts +4 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +11577 -1184
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/generate-native-release-manifest.js.map +1 -1
- package/dist/scripts/generate-release-body.js.map +1 -1
- package/dist/scripts/hook-payload-guard.d.ts.map +1 -1
- package/dist/scripts/hook-payload-guard.js.map +1 -1
- package/dist/scripts/notify-fallback-delivery.d.ts +48 -0
- package/dist/scripts/notify-fallback-delivery.d.ts.map +1 -0
- package/dist/scripts/notify-fallback-delivery.js +419 -0
- package/dist/scripts/notify-fallback-delivery.js.map +1 -0
- package/dist/scripts/notify-fallback-watcher.js +218 -138
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.d.ts +18 -9
- package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.js +112 -15
- package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.d.ts +23 -0
- package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.js +122 -12
- package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.d.ts +7 -7
- package/dist/scripts/notify-hook/orchestration-intent.d.ts.map +1 -1
- package/dist/scripts/notify-hook/ralph-session-resume.d.ts +5 -2
- package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -1
- package/dist/scripts/notify-hook/ralph-session-resume.js +33 -37
- package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -1
- package/dist/scripts/notify-hook/state-io.d.ts +17 -0
- package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
- package/dist/scripts/notify-hook/state-io.js +73 -11
- package/dist/scripts/notify-hook/state-io.js.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.d.ts +10 -1
- 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 +2 -2
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +39 -13
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts +16 -8
- 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-posttooluse.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.js +19 -18
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker.d.ts +5 -2
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +37 -28
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts +8 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.js +53 -18
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/notify-hook/visual-verdict.d.ts +1 -1
- package/dist/scripts/notify-hook/visual-verdict.d.ts.map +1 -1
- package/dist/scripts/notify-hook/visual-verdict.js +15 -13
- package/dist/scripts/notify-hook/visual-verdict.js.map +1 -1
- package/dist/scripts/notify-hook.d.ts +24 -1
- package/dist/scripts/notify-hook.d.ts.map +1 -1
- package/dist/scripts/notify-hook.js +267 -90
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/postinstall.js.map +1 -1
- package/dist/scripts/prompt-inventory.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +927 -5
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +4317 -13
- package/dist/scripts/smoke-packed-install.js.map +1 -1
- package/dist/scripts/sync-plugin-mirror.js.map +1 -1
- package/dist/scripts/test-reply-listener-live.js.map +1 -1
- package/dist/scripts/test-sparkshell.js.map +1 -1
- package/dist/scripts/verify-native-agents.js.map +1 -1
- package/dist/session-history/friction.js.map +1 -1
- package/dist/session-history/search.js.map +1 -1
- package/dist/sidecar/__tests__/boundary.test.js.map +1 -1
- package/dist/sidecar/collector.js.map +1 -1
- package/dist/sidecar/index.js.map +1 -1
- package/dist/sidecar/render.js.map +1 -1
- package/dist/sidecar/tmux.js.map +1 -1
- package/dist/state/__tests__/mode-state-context.test.js +54 -0
- package/dist/state/__tests__/mode-state-context.test.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +66 -15
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +19 -1
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/__tests__/workflow-transition.test.js +61 -0
- package/dist/state/__tests__/workflow-transition.test.js.map +1 -1
- package/dist/state/mode-state-context.d.ts +5 -0
- package/dist/state/mode-state-context.d.ts.map +1 -1
- package/dist/state/mode-state-context.js +59 -0
- package/dist/state/mode-state-context.js.map +1 -1
- package/dist/state/operations.d.ts +1 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +49 -55
- package/dist/state/operations.js.map +1 -1
- package/dist/state/paths.d.ts +1 -1
- package/dist/state/paths.d.ts.map +1 -1
- package/dist/state/paths.js +1 -1
- package/dist/state/paths.js.map +1 -1
- package/dist/state/skill-active.d.ts +13 -1
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +43 -4
- package/dist/state/skill-active.js.map +1 -1
- package/dist/state/terminal-normalization.js.map +1 -1
- package/dist/state/workflow-transition-reconcile.d.ts.map +1 -1
- package/dist/state/workflow-transition-reconcile.js +20 -4
- package/dist/state/workflow-transition-reconcile.js.map +1 -1
- package/dist/state/workflow-transition.d.ts +1 -1
- package/dist/state/workflow-transition.d.ts.map +1 -1
- package/dist/state/workflow-transition.js.map +1 -1
- package/dist/subagents/__tests__/leader-bootstrap-3181.test.d.ts +2 -0
- package/dist/subagents/__tests__/leader-bootstrap-3181.test.d.ts.map +1 -0
- package/dist/subagents/__tests__/leader-bootstrap-3181.test.js +52 -0
- package/dist/subagents/__tests__/leader-bootstrap-3181.test.js.map +1 -0
- package/dist/subagents/__tests__/tracker.test.js +1550 -10
- package/dist/subagents/__tests__/tracker.test.js.map +1 -1
- package/dist/subagents/role-routing-marker.d.ts +10 -0
- package/dist/subagents/role-routing-marker.d.ts.map +1 -0
- package/dist/subagents/role-routing-marker.js +136 -0
- package/dist/subagents/role-routing-marker.js.map +1 -0
- package/dist/subagents/tracker.d.ts +91 -0
- package/dist/subagents/tracker.d.ts.map +1 -1
- package/dist/subagents/tracker.js +806 -62
- 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__/approved-execution.test.js.map +1 -1
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +52 -10
- 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 +93 -27
- package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
- package/dist/team/__tests__/model-contract.test.js +341 -4
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/role-router.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 +3624 -355
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +2516 -118
- package/dist/team/__tests__/scaling.test.js.map +1 -1
- 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 +3664 -969
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.js.map +1 -1
- package/dist/team/__tests__/worker-runtime-identity.test.js +38 -2
- 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 +2 -2
- 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/commit-hygiene.js.map +1 -1
- package/dist/team/contracts.d.ts +5 -5
- package/dist/team/contracts.d.ts.map +1 -1
- package/dist/team/delivery-log.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/followup-planner.js.map +1 -1
- package/dist/team/goal-workflow.js.map +1 -1
- 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 +18 -2
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +314 -35
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/pane-status.js.map +1 -1
- package/dist/team/phase-controller.js.map +1 -1
- package/dist/team/reminder-intents.d.ts +1 -1
- package/dist/team/reminder-intents.d.ts.map +1 -1
- package/dist/team/reminder-intents.js.map +1 -1
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +1 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +1326 -231
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts +22 -8
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +1463 -376
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state/dispatch-lock.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/events.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/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-root.js.map +1 -1
- package/dist/team/state.d.ts +67 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +636 -129
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-identity.d.ts.map +1 -1
- package/dist/team/team-identity.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 +125 -23
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +1340 -333
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.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.map +1 -1
- package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
- package/dist/ultragoal/artifacts.d.ts.map +1 -1
- package/dist/ultragoal/artifacts.js +4 -1
- package/dist/ultragoal/artifacts.js.map +1 -1
- package/dist/url-reader/index.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 +57 -0
- package/dist/utils/__tests__/file-durability.test.js.map +1 -0
- package/dist/utils/agents-model-table.js.map +1 -1
- package/dist/utils/file-durability.d.ts +15 -0
- package/dist/utils/file-durability.d.ts.map +1 -0
- package/dist/utils/file-durability.js +37 -0
- package/dist/utils/file-durability.js.map +1 -0
- package/dist/utils/package.js.map +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/platform-command.js.map +1 -1
- package/dist/utils/repo-deps.js.map +1 -1
- package/dist/utils/version.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +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/verifier.js.map +1 -1
- package/dist/visual/constants.d.ts +1 -1
- package/dist/visual/constants.d.ts.map +1 -1
- package/dist/vscode/__tests__/index.test.js.map +1 -1
- package/dist/vscode/index.js.map +1 -1
- package/dist/wiki/__tests__/cjk-tokenize.test.js.map +1 -1
- package/dist/wiki/__tests__/lint.test.js.map +1 -1
- package/dist/wiki/__tests__/query.test.js.map +1 -1
- package/dist/wiki/__tests__/storage.test.js.map +1 -1
- package/dist/wiki/__tests__/test-helpers.d.ts.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/dist/wiki/query.js.map +1 -1
- package/dist/wiki/storage.js.map +1 -1
- package/package.json +2 -2
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +24 -0
- package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +10 -5
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +6 -2
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +6 -2
- package/plugins/oh-my-codex/skills/team/SKILL.md +13 -9
- package/skills/omx-setup/SKILL.md +10 -5
- package/skills/ralph/SKILL.md +6 -2
- package/skills/ralplan/SKILL.md +6 -2
- package/skills/team/SKILL.md +13 -9
- package/src/scripts/__tests__/codex-native-hook.test.ts +20048 -10827
- package/src/scripts/__tests__/fixtures/issue-3138-installed-smoke.ts +734 -0
- package/src/scripts/__tests__/notify-fallback-delivery.test.ts +177 -0
- package/src/scripts/__tests__/notify-state-io.test.ts +73 -0
- package/src/scripts/__tests__/reasoning-artifact-contract.test.ts +129 -0
- package/src/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.ts +78 -0
- package/src/scripts/__tests__/role-intent-durable-recovery-3181.test.ts +60 -0
- package/src/scripts/__tests__/smoke-packed-install.test.ts +1309 -4
- package/src/scripts/codex-native-hook.ts +11429 -1163
- package/src/scripts/notify-fallback-delivery.ts +416 -0
- package/src/scripts/notify-fallback-watcher.ts +216 -155
- package/src/scripts/notify-hook/auto-nudge.ts +113 -14
- package/src/scripts/notify-hook/managed-tmux.ts +149 -12
- package/src/scripts/notify-hook/ralph-session-resume.ts +37 -36
- package/src/scripts/notify-hook/state-io.ts +100 -13
- package/src/scripts/notify-hook/team-dispatch.ts +242 -75
- package/src/scripts/notify-hook/team-leader-nudge.ts +40 -18
- package/src/scripts/notify-hook/team-tmux-guard.ts +366 -39
- package/src/scripts/notify-hook/team-worker-stop.ts +20 -16
- package/src/scripts/notify-hook/team-worker.ts +39 -26
- package/src/scripts/notify-hook/tmux-injection.ts +66 -23
- package/src/scripts/notify-hook/visual-verdict.ts +22 -12
- package/src/scripts/notify-hook.ts +336 -90
- package/src/scripts/smoke-packed-install.ts +5154 -149
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { describe, it } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
-
import {
|
|
3
|
+
import { randomUUID } from 'node:crypto';
|
|
4
|
+
import { mkdir, mkdtemp, rm, symlink } from 'node:fs/promises';
|
|
5
|
+
import { tmpdir } from 'node:os';
|
|
6
|
+
import { join } from 'node:path';
|
|
7
|
+
import { LEADER_CONDUCTOR_BLOCK, LEADER_CONDUCTOR_DELEGATION_NOTE, LEADER_CONDUCTOR_GOLDEN_RULE, LEADER_CONDUCTOR_REUSE_AND_LEDGER_GUIDANCE, LEADER_CONDUCTOR_REUSE_AND_LEDGER_RULES, LEADER_CONDUCTOR_SILVER_RULE, actionKindForConductorArtifact, authorizeConductorAction, classifyConductorArtifactKind, LEADER_CONDUCTOR_ROLE_ROUTING_DEGRADE_BLOCK, LEADER_CONDUCTOR_UNSUPPORTED_NATIVE_DEGRADE_BLOCK, NATIVE_SUBAGENT_SUPPORT_BLOCKER_FILE, buildRoleRoutingUnavailableGuidance, buildUnsupportedNativeSubagentGuidance, isRoleRoutingUnavailableEvidence, isUnsupportedNativeSubagentEvidence, isUnsupportedNativeSubagentEvidenceForScope, resolveNativeSubagentSupportStatus, parseNativeSubagentResultDisposition, NATIVE_SPAWN_TASK_NAME_PATTERN, ROLE_INTENT_SPAWN_TASK_NAME_PREFIX, ROLE_INTENT_CORRELATION_TOKEN_PATTERN, canonicalizeOriginCwd, buildRoleIntentSpawnTaskName, isAppCompatibleSpawnTaskName, parseRoleIntentCorrelationToken, } from '../contract.js';
|
|
4
8
|
describe('leader conductor contract', () => {
|
|
5
9
|
it('exports the exact canonical Golden Rule string', () => {
|
|
6
10
|
assert.equal(LEADER_CONDUCTOR_GOLDEN_RULE, 'When the Main agent is acting in Conductor mode, NEVER make plan or code changes directly. ALWAYS delegate implementation to specialized agents. Your role is to guide, review, and orchestrate.');
|
|
@@ -87,6 +91,46 @@ describe('leader conductor contract', () => {
|
|
|
87
91
|
assert.equal(resolveNativeSubagentSupportStatus({ payload: {} }).status, 'unknown');
|
|
88
92
|
assert.equal(resolveNativeSubagentSupportStatus({ payload: { available_tools: ['Read', 'multi_agent_v1.spawn_agent'] } }).status, 'supported');
|
|
89
93
|
});
|
|
94
|
+
it('resolves role routing unavailability from explicit capability and scoped marker evidence', () => {
|
|
95
|
+
const capabilityEvidence = resolveNativeSubagentSupportStatus({
|
|
96
|
+
payload: { omx_runtime_capabilities: { native_subagents: true, multi_agent_v1: true, role_routing: false } },
|
|
97
|
+
});
|
|
98
|
+
assert.equal(capabilityEvidence.status, 'role_routing_unavailable');
|
|
99
|
+
assert.equal(capabilityEvidence.source, 'hook_payload_capability');
|
|
100
|
+
assert.equal(isRoleRoutingUnavailableEvidence(capabilityEvidence), true);
|
|
101
|
+
assert.equal(isUnsupportedNativeSubagentEvidence(capabilityEvidence), false);
|
|
102
|
+
const marker = {
|
|
103
|
+
schema_version: 1,
|
|
104
|
+
cwd: '/repo',
|
|
105
|
+
session_id: 'sess-1',
|
|
106
|
+
parent_thread_id: 'parent-1',
|
|
107
|
+
observed_at: '2026-07-09T00:00:00.000Z',
|
|
108
|
+
expires_at: '2026-07-10T00:00:00.000Z',
|
|
109
|
+
evidence: 'spawn tool accepted no native role routing',
|
|
110
|
+
};
|
|
111
|
+
const markerEvidence = resolveNativeSubagentSupportStatus({
|
|
112
|
+
cwd: '/repo',
|
|
113
|
+
sessionId: 'sess-1',
|
|
114
|
+
nowMs: Date.parse('2026-07-09T12:00:00.000Z'),
|
|
115
|
+
persistedRoleRoutingMarker: marker,
|
|
116
|
+
});
|
|
117
|
+
assert.equal(markerEvidence.status, 'role_routing_unavailable');
|
|
118
|
+
assert.equal(markerEvidence.source, 'persisted_role_routing_marker');
|
|
119
|
+
assert.equal(markerEvidence.evidenceSummary, marker.evidence);
|
|
120
|
+
});
|
|
121
|
+
it('renders role-routing guidance that fails closed without adapted authority', () => {
|
|
122
|
+
const guidance = buildRoleRoutingUnavailableGuidance({
|
|
123
|
+
status: 'role_routing_unavailable',
|
|
124
|
+
source: 'persisted_role_routing_marker',
|
|
125
|
+
evidenceSummary: 'spawn tool accepted no native role routing',
|
|
126
|
+
});
|
|
127
|
+
assert.match(guidance, /omx ralplan preflight --json/);
|
|
128
|
+
assert.match(guidance, /unsupported_documented_leader_proof/);
|
|
129
|
+
assert.match(guidance, /Do not fabricate agent_type/);
|
|
130
|
+
assert.doesNotMatch(guidance, /PROCEED|role-intent ledger/);
|
|
131
|
+
assert.match(guidance, /Evidence: spawn tool accepted no native role routing/);
|
|
132
|
+
assert.match(LEADER_CONDUCTOR_ROLE_ROUTING_DEGRADE_BLOCK, /reviewed alternative workflow/);
|
|
133
|
+
});
|
|
90
134
|
it('recognizes namespaced collaboration spawn tools and rejects near-miss names (#3119)', () => {
|
|
91
135
|
// Terminology drift: the current Codex App surface exposes delegation as
|
|
92
136
|
// `collaboration.spawn_agent`. Presence of any namespaced spawn tool (or the
|
|
@@ -122,6 +166,56 @@ describe('leader conductor contract', () => {
|
|
|
122
166
|
persistedCapacityBlocker: { reason: 'agent_thread_limit_reached', expires_at: '2026-07-12T00:00:00.000Z' },
|
|
123
167
|
}).reason, 'agent_thread_limit_reached');
|
|
124
168
|
});
|
|
169
|
+
it('parses structured collaboration dispositions without child-output prose poisoning', () => {
|
|
170
|
+
for (const toolName of [
|
|
171
|
+
'collaboration.spawn_agent',
|
|
172
|
+
'collaboration.list_agents',
|
|
173
|
+
'collaboration.followup_task',
|
|
174
|
+
'collaboration.wait_agent',
|
|
175
|
+
]) {
|
|
176
|
+
const disposition = parseNativeSubagentResultDisposition(toolName, {
|
|
177
|
+
success: true,
|
|
178
|
+
status: 'completed',
|
|
179
|
+
output: 'Child report: the optional plugin is unavailable, unsupported, and not found.',
|
|
180
|
+
});
|
|
181
|
+
assert.equal(disposition.kind, 'success', toolName);
|
|
182
|
+
}
|
|
183
|
+
assert.equal(parseNativeSubagentResultDisposition('collaboration.wait_agent', {
|
|
184
|
+
success: true,
|
|
185
|
+
status: 'completed',
|
|
186
|
+
error: null,
|
|
187
|
+
output: 'Child says optional support is unavailable.',
|
|
188
|
+
}).kind, 'success');
|
|
189
|
+
});
|
|
190
|
+
it('handles contradictory structured result fields deterministically', () => {
|
|
191
|
+
assert.equal(parseNativeSubagentResultDisposition('collaboration.wait_agent', {
|
|
192
|
+
success: true,
|
|
193
|
+
status: 'failed',
|
|
194
|
+
error: 'agent thread limit reached',
|
|
195
|
+
}).kind, 'capacity');
|
|
196
|
+
assert.equal(parseNativeSubagentResultDisposition('collaboration.followup_task', {
|
|
197
|
+
success: true,
|
|
198
|
+
status: 'failed',
|
|
199
|
+
error: 'unknown tool is unavailable',
|
|
200
|
+
}).kind, 'unsupported');
|
|
201
|
+
});
|
|
202
|
+
it('limits legacy prose classification to spawn results', () => {
|
|
203
|
+
assert.equal(parseNativeSubagentResultDisposition('multi_agent_v1.spawn_agent', 'unknown tool is unavailable').kind, 'unsupported');
|
|
204
|
+
for (const toolName of [
|
|
205
|
+
'collaboration.list_agents',
|
|
206
|
+
'collaboration.followup_task',
|
|
207
|
+
'collaboration.wait_agent',
|
|
208
|
+
]) {
|
|
209
|
+
assert.equal(parseNativeSubagentResultDisposition(toolName, 'successful child output says a dependency is unavailable').kind, 'unknown', toolName);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
it('ignores structured failure prose from provably unrelated tools', () => {
|
|
213
|
+
assert.equal(parseNativeSubagentResultDisposition('Bash', {
|
|
214
|
+
success: false,
|
|
215
|
+
status: 'failed',
|
|
216
|
+
error: 'optional plugin is unsupported and unavailable',
|
|
217
|
+
}).kind, 'unknown');
|
|
218
|
+
});
|
|
125
219
|
it('recognizes scoped unsupported native blocker evidence and renders blocker guidance', () => {
|
|
126
220
|
const evidence = resolveNativeSubagentSupportStatus({
|
|
127
221
|
cwd: '/repo',
|
|
@@ -220,5 +314,63 @@ describe('leader conductor contract', () => {
|
|
|
220
314
|
session_id: 'sess-1',
|
|
221
315
|
}, { sessionId: 'sess-1' }), true);
|
|
222
316
|
});
|
|
317
|
+
it('builds and parses App-compatible native role-intent task names', () => {
|
|
318
|
+
const taskName = buildRoleIntentSpawnTaskName('abc123');
|
|
319
|
+
assert.equal(taskName, 'omx_role_intent_abc123');
|
|
320
|
+
assert.equal(taskName, `${ROLE_INTENT_SPAWN_TASK_NAME_PREFIX}abc123`);
|
|
321
|
+
assert.match(taskName, NATIVE_SPAWN_TASK_NAME_PATTERN);
|
|
322
|
+
assert.equal(isAppCompatibleSpawnTaskName('omx-role-intent:9f8e'), false);
|
|
323
|
+
assert.equal(isAppCompatibleSpawnTaskName('omx_role_intent_DEADBEEF'), false);
|
|
324
|
+
assert.equal(isAppCompatibleSpawnTaskName('omx_role_intent_dead-beef'), false);
|
|
325
|
+
assert.equal(isAppCompatibleSpawnTaskName('omx_role_intent_dead:beef'), false);
|
|
326
|
+
assert.equal(isAppCompatibleSpawnTaskName('omx_role_intent_deadbeef'), true);
|
|
327
|
+
assert.equal(ROLE_INTENT_CORRELATION_TOKEN_PATTERN.test('abc123'), true);
|
|
328
|
+
assert.equal(ROLE_INTENT_CORRELATION_TOKEN_PATTERN.test('abc_def'), false);
|
|
329
|
+
assert.throws(() => buildRoleIntentSpawnTaskName('abc_def'), /Invalid role-intent correlation token/);
|
|
330
|
+
assert.equal(parseRoleIntentCorrelationToken('omx_role_intent_a3118'), 'a3118');
|
|
331
|
+
assert.equal(parseRoleIntentCorrelationToken(['omx_role_intent_a3118']), undefined);
|
|
332
|
+
assert.equal(parseRoleIntentCorrelationToken({ toString: () => 'omx_role_intent_a3118' }), undefined);
|
|
333
|
+
assert.equal(parseRoleIntentCorrelationToken(' omx_role_intent_a3118'), undefined);
|
|
334
|
+
assert.equal(parseRoleIntentCorrelationToken('omx_role_intent_a3118 '), undefined);
|
|
335
|
+
assert.equal(parseRoleIntentCorrelationToken('omx-role-intent:deadbeef'), undefined);
|
|
336
|
+
assert.equal(parseRoleIntentCorrelationToken('omx_role_intent_abc_def'), undefined);
|
|
337
|
+
assert.equal(parseRoleIntentCorrelationToken('omx_role_intent_DEADBEEF'), undefined);
|
|
338
|
+
assert.equal(parseRoleIntentCorrelationToken(''), undefined);
|
|
339
|
+
assert.equal(parseRoleIntentCorrelationToken(42), undefined);
|
|
340
|
+
assert.equal(parseRoleIntentCorrelationToken(null), undefined);
|
|
341
|
+
assert.equal(parseRoleIntentCorrelationToken(undefined), undefined);
|
|
342
|
+
const generatedTaskName = buildRoleIntentSpawnTaskName(randomUUID().replace(/-/g, ''));
|
|
343
|
+
assert.match(generatedTaskName, NATIVE_SPAWN_TASK_NAME_PATTERN);
|
|
344
|
+
assert.doesNotMatch(generatedTaskName, /[-:]/);
|
|
345
|
+
});
|
|
346
|
+
it('canonicalizes symlinked and nonexistent-leaf origins while rejecting ELOOP identities', async () => {
|
|
347
|
+
const root = await mkdtemp(join(tmpdir(), 'omx-contract-canonical-origin-'));
|
|
348
|
+
const realWorkspace = join(root, 'real-workspace');
|
|
349
|
+
const aliasWorkspace = join(root, 'alias-workspace');
|
|
350
|
+
const loopA = join(root, 'loop-a');
|
|
351
|
+
const loopB = join(root, 'loop-b');
|
|
352
|
+
try {
|
|
353
|
+
await mkdir(realWorkspace);
|
|
354
|
+
await symlink(realWorkspace, aliasWorkspace, 'dir');
|
|
355
|
+
await symlink('loop-a', loopA);
|
|
356
|
+
await symlink('loop-b', loopB);
|
|
357
|
+
assert.equal(canonicalizeOriginCwd(join(aliasWorkspace, 'missing', 'leaf')), canonicalizeOriginCwd(join(realWorkspace, 'missing', 'leaf')));
|
|
358
|
+
assert.equal(canonicalizeOriginCwd(loopA), null);
|
|
359
|
+
assert.equal(canonicalizeOriginCwd(loopB), null);
|
|
360
|
+
assert.equal(canonicalizeOriginCwd(undefined), null);
|
|
361
|
+
assert.equal(canonicalizeOriginCwd(''), null);
|
|
362
|
+
assert.equal(resolveNativeSubagentSupportStatus({
|
|
363
|
+
cwd: aliasWorkspace,
|
|
364
|
+
persistedSupportBlocker: {
|
|
365
|
+
status: 'unsupported',
|
|
366
|
+
reason: 'multi_agent_v1_unavailable',
|
|
367
|
+
cwd: realWorkspace,
|
|
368
|
+
},
|
|
369
|
+
}).status, 'unsupported');
|
|
370
|
+
}
|
|
371
|
+
finally {
|
|
372
|
+
await rm(root, { recursive: true, force: true });
|
|
373
|
+
}
|
|
374
|
+
});
|
|
223
375
|
});
|
|
224
376
|
//# sourceMappingURL=contract.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.test.js","sourceRoot":"","sources":["../../../src/leader/__tests__/contract.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract.test.js","sourceRoot":"","sources":["../../../src/leader/__tests__/contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,4BAA4B,EAC5B,0CAA0C,EAC1C,uCAAuC,EACvC,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,6BAA6B,EAC7B,2CAA2C,EAC3C,iDAAiD,EACjD,oCAAoC,EACpC,mCAAmC,EACnC,sCAAsC,EACtC,gCAAgC,EAChC,mCAAmC,EACnC,2CAA2C,EAE3C,kCAAkC,EAClC,oCAAoC,EACpC,8BAA8B,EAC9B,kCAAkC,EAClC,qCAAqC,EACrC,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AAExB,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,KAAK,CACV,4BAA4B,EAC5B,kMAAkM,CACnM,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,SAAS,CAAC,uCAAuC,EAAE;YACxD,wFAAwF;YACxF,yGAAyG;YACzG,iIAAiI;YACjI,mFAAmF;SACpF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CACV,sBAAsB,EACtB;YACE,0BAA0B;YAC1B,kBAAkB,4BAA4B,EAAE;YAChD,KAAK,gCAAgC,EAAE;SACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,sBAAsB,EAAE,4CAA4C,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,KAAK,CACV,0CAA0C,EAC1C;YACE,sCAAsC;YACtC,KAAK,4BAA4B,EAAE;YACnC,0FAA0F;YAC1F,2GAA2G;YAC3G,mIAAmI;YACnI,qFAAqF;SACtF,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;QAClG,MAAM,WAAW,GAAG,6BAA6B,CAAC,mDAAmD,CAAC,CAAC;QACvG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,mCAAmC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,4BAA4B,CAAC,EAAE,mCAAmC,CAAC,CAAC;QAC/G,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,wBAAwB,CAAC,EAAE,mCAAmC,CAAC,CAAC;QAC3G,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,mCAAmC,CAAC,EAAE,2CAA2C,CAAC,CAAC;QAC9H,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;YACpC,KAAK,EAAE,uBAAuB;YAC9B,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE,8BAA8B,CAAC,WAAW,CAAC;YACvD,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElB,MAAM,IAAI,GAAG,6BAA6B,CAAC,qDAAqD,CAAC,CAAC;QAClG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,2CAA2C,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;YACpC,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE,8BAA8B,CAAC,IAAI,CAAC;YAChD,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;YACpC,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE,8BAA8B,CAAC,IAAI,CAAC;YAChD,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElB,MAAM,MAAM,GAAG,6BAA6B,CAAC,kCAAkC,CAAC,CAAC;QACjF,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;YACpC,KAAK,EAAE,uBAAuB;YAC9B,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE,8BAA8B,CAAC,MAAM,CAAC;YAClD,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;YACpC,KAAK,EAAE,uBAAuB;YAC9B,QAAQ,EAAE,oBAAoB;YAC9B,UAAU,EAAE,8BAA8B,CAAC,MAAM,CAAC;YAClD,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,8BAA8B,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,OAAO,EAAE,EAAE,wBAAwB,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE;SAC1F,CAAC,CAAC,MAAM,EACT,aAAa,CACd,CAAC;QACF,0EAA0E;QAC1E,0EAA0E;QAC1E,0CAA0C;QAC1C,MAAM,mBAAmB,GAAG,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACnH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAC1D,SAAS,CACV,CAAC;QACF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,4BAA4B,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EACnH,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;QAClG,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;YAC5D,OAAO,EAAE,EAAE,wBAAwB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;SAC7G,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAiC;YAC3C,cAAc,EAAE,CAAC;YACjB,GAAG,EAAE,OAAO;YACZ,UAAU,EAAE,QAAQ;YACpB,gBAAgB,EAAE,UAAU;YAC5B,WAAW,EAAE,0BAA0B;YACvC,UAAU,EAAE,0BAA0B;YACtC,QAAQ,EAAE,4CAA4C;SACvD,CAAC;QACF,MAAM,cAAc,GAAG,kCAAkC,CAAC;YACxD,GAAG,EAAE,OAAO;YACZ,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,0BAA0B,EAAE,MAAM;SACnC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,QAAQ,GAAG,mCAAmC,CAAC;YACnD,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,+BAA+B;YACvC,eAAe,EAAE,4CAA4C;SAC9D,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,qCAAqC,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACtD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,sDAAsD,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,+BAA+B,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,yEAAyE;QACzE,6EAA6E;QAC7E,qDAAqD;QACrD,KAAK,MAAM,QAAQ,IAAI,CAAC,2BAA2B,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,CAAC,EAAE,CAAC;YAC1G,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAC/F,WAAW,EACX,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,uDAAuD;QACvD,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EACpH,WAAW,CACZ,CAAC;QACF,6EAA6E;QAC7E,mFAAmF;QACnF,MAAM,cAAc,GAAG,kCAAkC,CAAC;YACxD,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,6BAA6B,EAAE,0BAA0B,CAAC,EAAE;SAC1F,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,sDAAsD;QACtD,KAAK,MAAM,QAAQ,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACxF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAC/F,SAAS,EACT,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,2BAA2B,CAAC,EAAE;YAC3D,wBAAwB,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,0BAA0B,EAAE;SAC3G,CAAC,CAAC,MAAM,EACT,WAAW,CACZ,CAAC;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YAC9C,wBAAwB,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,0BAA0B,EAAE;SAC3G,CAAC,CAAC,MAAM,EACT,4BAA4B,CAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,KAAK,MAAM,QAAQ,IAAI;YACrB,2BAA2B;YAC3B,2BAA2B;YAC3B,6BAA6B;YAC7B,0BAA0B;SAC3B,EAAE,CAAC;YACF,MAAM,WAAW,GAAG,oCAAoC,CAAC,QAAQ,EAAE;gBACjE,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,+EAA+E;aACxF,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,0BAA0B,EAAE;YAC5E,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,6CAA6C;SACtD,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,0BAA0B,EAAE;YAC5E,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,4BAA4B;SACpC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,6BAA6B,EAAE;YAC/E,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,6BAA6B;SACrC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,KAAK,CACV,oCAAoC,CAAC,4BAA4B,EAAE,6BAA6B,CAAC,CAAC,IAAI,EACtG,aAAa,CACd,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI;YACrB,2BAA2B;YAC3B,6BAA6B;YAC7B,0BAA0B;SAC3B,EAAE,CAAC;YACF,MAAM,CAAC,KAAK,CACV,oCAAoC,CAAC,QAAQ,EAAE,0DAA0D,CAAC,CAAC,IAAI,EAC/G,SAAS,EACT,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,MAAM,EAAE;YACxD,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,gDAAgD;SACxD,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;QAC5F,MAAM,QAAQ,GAAG,kCAAkC,CAAC;YAClD,GAAG,EAAE,OAAO;YACZ,SAAS,EAAE,QAAQ;YACnB,uBAAuB,EAAE;gBACvB,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,4BAA4B;gBACpC,GAAG,EAAE,OAAO;gBACZ,UAAU,EAAE,QAAQ;gBACpB,aAAa,EAAE,wCAAwC;aACxD;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC7F,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,QAAQ,CAAC,EAAE,yCAAyC,CAAC,CAAC;QAC1G,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,qDAAqD,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,GAAG,EAAE,SAAS;YACd,SAAS,EAAE,QAAQ;YACnB,uBAAuB,EAAE;gBACvB,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,4BAA4B;gBACpC,GAAG,EAAE,SAAS;gBACd,UAAU,EAAE,QAAQ;aACrB;SACF,CAAC,CAAC,MAAM,EACT,SAAS,CACV,CAAC;QACF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,wBAAwB,EAAE;gBACxB,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,0BAA0B;aACvC;SACF,CAAC,CAAC,MAAM,EACT,SAAS,CACV,CAAC;QACF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,wBAAwB,EAAE;gBACxB,MAAM,EAAE,4BAA4B;aACrC;SACF,CAAC,CAAC,MAAM,EACT,SAAS,CACV,CAAC;QACF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,uBAAuB,EAAE;gBACvB,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,0BAA0B;aACvC;SACF,CAAC,CAAC,MAAM,EACT,SAAS,CACV,CAAC;QACF,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;YAC9D,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,wBAAwB,EAAE;gBACxB,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,0BAA0B;aACvC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;YAC7C,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,4BAA4B,CAAC,EAAE;YACpE,wBAAwB,EAAE;gBACxB,MAAM,EAAE,4BAA4B;gBACpC,UAAU,EAAE,0BAA0B;aACvC;SACF,CAAC,CAAC,MAAM,EACT,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,KAAK,CACV,mCAAmC,CAAC;YAClC,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,0BAA0B;SACvC,CAAC,EACF,KAAK,CACN,CAAC;QACF,MAAM,CAAC,KAAK,CACV,mCAAmC,CAAC;YAClC,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,4BAA4B;SACrC,CAAC,EACF,KAAK,CACN,CAAC;QACF,MAAM,CAAC,KAAK,CACV,2CAA2C,CAAC;YAC1C,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,QAAQ;SACrB,CAAC,EACF,KAAK,CACN,CAAC;QACF,MAAM,CAAC,KAAK,CACV,2CAA2C,CAAC;YAC1C,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,QAAQ;SACrB,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAC3B,KAAK,CACN,CAAC;QACF,MAAM,CAAC,KAAK,CACV,2CAA2C,CAAC;YAC1C,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,QAAQ;SACrB,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAC3B,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,kCAAkC,QAAQ,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QAEvD,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,SAAS,CAAC,EAAE,uCAAuC,CAAC,CAAC;QAEtG,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACtG,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,0BAA0B,CAAC,EAAE,SAAS,CAAC,CAAC;QACrF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAAC,CAAC;QACpF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,0BAA0B,CAAC,EAAE,SAAS,CAAC,CAAC;QACrF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAEpE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;QAChE,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gCAAgC,CAAC,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;YAC3B,MAAM,OAAO,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAE/B,MAAM,CAAC,KAAK,CACV,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,EAC9D,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAC9D,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAE9C,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC;gBACjC,GAAG,EAAE,cAAc;gBACnB,uBAAuB,EAAE;oBACvB,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,4BAA4B;oBACpC,GAAG,EAAE,aAAa;iBACnB;aACF,CAAC,CAAC,MAAM,EACT,aAAa,CACd,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
export declare const NATIVE_SPAWN_TASK_NAME_PATTERN: RegExp;
|
|
2
|
+
export declare const ROLE_INTENT_CORRELATION_TOKEN_PATTERN: RegExp;
|
|
3
|
+
export declare const ROLE_INTENT_SPAWN_TASK_NAME_PREFIX = "omx_role_intent_";
|
|
4
|
+
export declare function buildRoleIntentSpawnTaskName(correlationToken: string): string;
|
|
5
|
+
export declare function isAppCompatibleSpawnTaskName(taskName: string): boolean;
|
|
6
|
+
export declare function parseRoleIntentCorrelationToken(taskName: unknown): string | undefined;
|
|
7
|
+
export declare function canonicalizeOriginCwd(cwd: string | undefined): string | null;
|
|
1
8
|
export declare const LEADER_CONDUCTOR_PHILOSOPHY = "Conductor Philosophy: The core principle of OMX is: You are the conductor, not the performer.";
|
|
2
9
|
export declare const LEADER_CONDUCTOR_GOLDEN_RULE = "When the Main agent is acting in Conductor mode, NEVER make plan or code changes directly. ALWAYS delegate implementation to specialized agents. Your role is to guide, review, and orchestrate.";
|
|
3
10
|
export declare const LEADER_CONDUCTOR_SILVER_RULE = "Silver Rule: When follow-up work targets an existing role/lane, reuse or resume the assigned specialized agent whenever available before spawning a replacement.";
|
|
4
11
|
export declare const LEADER_CONDUCTOR_DELEGATION_NOTE = "Delegation note: assign bounded implementation, planning, review, and verification work to the appropriate specialized agents; Main owns orchestration, integration, and final judgment only.";
|
|
5
|
-
export declare const LEADER_CONDUCTOR_REUSE_AND_LEDGER_RULES: readonly [
|
|
12
|
+
export declare const LEADER_CONDUCTOR_REUSE_AND_LEDGER_RULES: readonly ['Conductor mode is a Main-root contract only; typed subagents never receive this block.', 'Use .omx/state/subagent-tracking.json as the source of truth for saved subagent ids and recovery order.', 'On SessionStart, eagerly attempt resume_agent(<subagent id>) for every saved subagent id before spawning any replacement agent.', 'ralplan consensus planning may activate Conductor; autopilot rework stays exempt.'];
|
|
6
13
|
export declare const LEADER_CONDUCTOR_BLOCK: string;
|
|
7
14
|
export declare const LEADER_CONDUCTOR_REUSE_AND_LEDGER_GUIDANCE: string;
|
|
8
|
-
export type NativeSubagentSupportStatus = 'supported' | 'unsupported' | 'unknown';
|
|
15
|
+
export type NativeSubagentSupportStatus = 'supported' | 'unsupported' | 'unknown' | 'role_routing_unavailable';
|
|
9
16
|
export type NativeSubagentUnsupportedReason = 'native_subagents_unsupported' | 'multi_agent_v1_unavailable' | 'agent_thread_limit_reached';
|
|
10
|
-
export type NativeSubagentSupportEvidenceSource = 'hook_payload_capability' | 'hook_payload_available_tools' | 'post_tool_failure' | 'persisted_support_blocker' | 'capacity_blocker' | 'default_unknown';
|
|
17
|
+
export type NativeSubagentSupportEvidenceSource = 'hook_payload_capability' | 'hook_payload_available_tools' | 'post_tool_failure' | 'persisted_support_blocker' | 'persisted_role_routing_marker' | 'capacity_blocker' | 'default_unknown';
|
|
11
18
|
export interface NativeSubagentSupportEvidence {
|
|
12
19
|
status: NativeSubagentSupportStatus;
|
|
13
20
|
reason?: NativeSubagentUnsupportedReason;
|
|
@@ -16,21 +23,51 @@ export interface NativeSubagentSupportEvidence {
|
|
|
16
23
|
observedAt?: string;
|
|
17
24
|
expiresAt?: string;
|
|
18
25
|
}
|
|
26
|
+
export type NativeSubagentResultDisposition = {
|
|
27
|
+
kind: 'success';
|
|
28
|
+
evidenceSummary: string;
|
|
29
|
+
} | {
|
|
30
|
+
kind: 'capacity';
|
|
31
|
+
evidenceSummary: string;
|
|
32
|
+
} | {
|
|
33
|
+
kind: 'unsupported';
|
|
34
|
+
reason: Exclude<NativeSubagentUnsupportedReason, 'agent_thread_limit_reached'>;
|
|
35
|
+
evidenceSummary: string;
|
|
36
|
+
} | {
|
|
37
|
+
kind: 'unknown';
|
|
38
|
+
evidenceSummary: string;
|
|
39
|
+
};
|
|
40
|
+
export interface RoleRoutingUnavailableMarker {
|
|
41
|
+
schema_version: 1;
|
|
42
|
+
cwd?: string;
|
|
43
|
+
session_id?: string;
|
|
44
|
+
parent_thread_id?: string;
|
|
45
|
+
observed_at: string;
|
|
46
|
+
expires_at: string;
|
|
47
|
+
evidence?: string;
|
|
48
|
+
}
|
|
19
49
|
export interface NativeSubagentCapabilityInput {
|
|
20
50
|
payload?: Record<string, unknown> | null;
|
|
21
51
|
persistedSupportBlocker?: Record<string, unknown> | null;
|
|
52
|
+
persistedRoleRoutingMarker?: unknown;
|
|
22
53
|
persistedCapacityBlocker?: Record<string, unknown> | null;
|
|
23
54
|
nowMs?: number;
|
|
24
55
|
cwd?: string;
|
|
25
56
|
sessionId?: string;
|
|
26
57
|
}
|
|
27
|
-
export declare const NATIVE_SUBAGENT_SUPPORT_BLOCKER_REASONS: readonly [
|
|
58
|
+
export declare const NATIVE_SUBAGENT_SUPPORT_BLOCKER_REASONS: readonly ['native_subagents_unsupported', 'multi_agent_v1_unavailable', 'agent_thread_limit_reached'];
|
|
28
59
|
export declare const NATIVE_SUBAGENT_SUPPORT_BLOCKER_FILE = "native-subagent-support.json";
|
|
29
60
|
export declare const LEADER_CONDUCTOR_UNSUPPORTED_NATIVE_DEGRADE_BLOCK: string;
|
|
61
|
+
export declare const LEADER_CONDUCTOR_ROLE_ROUTING_DEGRADE_BLOCK: string;
|
|
62
|
+
export declare function parseNativeSubagentResultDisposition(toolName: string, value: unknown): NativeSubagentResultDisposition;
|
|
63
|
+
export declare function isNativeSubagentSpawnToolName(name: string): boolean;
|
|
64
|
+
export declare function isNativeSubagentResultToolName(name: string): boolean;
|
|
30
65
|
export declare function resolveNativeSubagentSupportStatus(input: NativeSubagentCapabilityInput): NativeSubagentSupportEvidence;
|
|
31
66
|
export declare function isUnsupportedNativeSubagentEvidenceForScope(value: unknown, input?: Pick<NativeSubagentCapabilityInput, 'cwd' | 'sessionId' | 'nowMs'>): boolean;
|
|
32
67
|
export declare function isUnsupportedNativeSubagentEvidence(value: unknown): boolean;
|
|
68
|
+
export declare function isRoleRoutingUnavailableEvidence(value: unknown): boolean;
|
|
33
69
|
export declare function buildUnsupportedNativeSubagentGuidance(evidence: NativeSubagentSupportEvidence): string;
|
|
70
|
+
export declare function buildRoleRoutingUnavailableGuidance(evidence: NativeSubagentSupportEvidence): string;
|
|
34
71
|
export type ConductorPhase = 'deep-interview' | 'ralplan' | 'autopilot-supervision' | 'ultragoal' | 'team' | 'ralph';
|
|
35
72
|
export type ConductorLaneKind = 'main-conductor' | 'typed-subagent' | 'team-worker' | 'performer-carveout';
|
|
36
73
|
export type ConductorActionKind = 'read-only' | 'orchestration-metadata-write' | 'substantive-deliverable-write' | 'implementation-mutation' | 'unknown-write';
|
|
@@ -45,7 +82,7 @@ export interface ConductorAuthorizationDecision {
|
|
|
45
82
|
allowed: boolean;
|
|
46
83
|
reason: string;
|
|
47
84
|
}
|
|
48
|
-
export declare const CONDUCTOR_ORCHESTRATION_METADATA_PREFIXES: readonly [
|
|
85
|
+
export declare const CONDUCTOR_ORCHESTRATION_METADATA_PREFIXES: readonly ['.omx/state', '.omx/ultragoal', '.omx/ralph', '.omx/team', '.omx/mailbox', '.omx/handoff', '.omx/handoffs', '.omx/goals', '.omx/notepad', '.omx/wiki', '.beads'];
|
|
49
86
|
export declare function classifyConductorArtifactKind(relativePath: string): ConductorArtifactKind;
|
|
50
87
|
export declare function actionKindForConductorArtifact(artifactKind: ConductorArtifactKind): ConductorActionKind;
|
|
51
88
|
export declare function authorizeConductorAction(input: ConductorAuthorizationInput): ConductorAuthorizationDecision;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/leader/contract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/leader/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/leader/contract.js
CHANGED
|
@@ -1,3 +1,57 @@
|
|
|
1
|
+
import { realpathSync } from 'node:fs';
|
|
2
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
3
|
+
export const NATIVE_SPAWN_TASK_NAME_PATTERN = /^[a-z0-9_]+$/;
|
|
4
|
+
export const ROLE_INTENT_CORRELATION_TOKEN_PATTERN = /^[a-z0-9]+$/;
|
|
5
|
+
export const ROLE_INTENT_SPAWN_TASK_NAME_PREFIX = 'omx_role_intent_';
|
|
6
|
+
export function buildRoleIntentSpawnTaskName(correlationToken) {
|
|
7
|
+
const normalizedCorrelationToken = correlationToken.trim();
|
|
8
|
+
if (!ROLE_INTENT_CORRELATION_TOKEN_PATTERN.test(normalizedCorrelationToken)) {
|
|
9
|
+
throw new Error('Invalid role-intent correlation token.');
|
|
10
|
+
}
|
|
11
|
+
return `${ROLE_INTENT_SPAWN_TASK_NAME_PREFIX}${normalizedCorrelationToken}`;
|
|
12
|
+
}
|
|
13
|
+
export function isAppCompatibleSpawnTaskName(taskName) {
|
|
14
|
+
return NATIVE_SPAWN_TASK_NAME_PATTERN.test(taskName);
|
|
15
|
+
}
|
|
16
|
+
export function parseRoleIntentCorrelationToken(taskName) {
|
|
17
|
+
if (typeof taskName !== 'string')
|
|
18
|
+
return undefined;
|
|
19
|
+
if (!taskName.startsWith(ROLE_INTENT_SPAWN_TASK_NAME_PREFIX))
|
|
20
|
+
return undefined;
|
|
21
|
+
const correlationToken = taskName.slice(ROLE_INTENT_SPAWN_TASK_NAME_PREFIX.length);
|
|
22
|
+
return ROLE_INTENT_CORRELATION_TOKEN_PATTERN.test(correlationToken) ? correlationToken : undefined;
|
|
23
|
+
}
|
|
24
|
+
// Canonical origin-workspace identity for adapted role-intent journals. Existing paths
|
|
25
|
+
// resolve symlinks; nonexistent leaves retain their suffix beneath a canonical ancestor.
|
|
26
|
+
export function canonicalizeOriginCwd(cwd) {
|
|
27
|
+
const trimmed = typeof cwd === 'string' ? cwd.trim() : '';
|
|
28
|
+
if (!trimmed)
|
|
29
|
+
return null;
|
|
30
|
+
let resolved;
|
|
31
|
+
try {
|
|
32
|
+
resolved = resolve(trimmed);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
let prefix = resolved;
|
|
38
|
+
const suffix = [];
|
|
39
|
+
for (;;) {
|
|
40
|
+
try {
|
|
41
|
+
const real = realpathSync(prefix);
|
|
42
|
+
return suffix.length ? join(real, ...suffix) : real;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error.code !== 'ENOENT')
|
|
46
|
+
return null;
|
|
47
|
+
const parent = dirname(prefix);
|
|
48
|
+
if (parent === prefix)
|
|
49
|
+
return resolved;
|
|
50
|
+
suffix.unshift(basename(prefix));
|
|
51
|
+
prefix = parent;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
1
55
|
export const LEADER_CONDUCTOR_PHILOSOPHY = 'Conductor Philosophy: The core principle of OMX is: You are the conductor, not the performer.';
|
|
2
56
|
export const LEADER_CONDUCTOR_GOLDEN_RULE = 'When the Main agent is acting in Conductor mode, NEVER make plan or code changes directly. ALWAYS delegate implementation to specialized agents. Your role is to guide, review, and orchestrate.';
|
|
3
57
|
export const LEADER_CONDUCTOR_SILVER_RULE = 'Silver Rule: When follow-up work targets an existing role/lane, reuse or resume the assigned specialized agent whenever available before spawning a replacement.';
|
|
@@ -31,6 +85,12 @@ export const LEADER_CONDUCTOR_UNSUPPORTED_NATIVE_DEGRADE_BLOCK = [
|
|
|
31
85
|
'Do not treat this as clean ralplan consensus, clean ultragoal final review, or permission for Main-root source/package/git edits.',
|
|
32
86
|
'Do not call multi_agent_v1.close_agent after native subagent capacity/support failures; stale native handles can hang the turn.',
|
|
33
87
|
].join(' ');
|
|
88
|
+
export const LEADER_CONDUCTOR_ROLE_ROUTING_DEGRADE_BLOCK = [
|
|
89
|
+
'Native role routing is unavailable in this environment.',
|
|
90
|
+
'Do not fabricate agent_type or use adapted role intents, task-name carriers, markers, or prompt labels as authority.',
|
|
91
|
+
'Before Ralplan planner, reviewer, HUD, runtime, or delegation work, run `omx ralplan preflight --json` and stop on `unsupported_documented_leader_proof`.',
|
|
92
|
+
'Use a surface with installed typed agent_type routing or a reviewed alternative workflow.',
|
|
93
|
+
].join(' ');
|
|
34
94
|
function supportRecord(value) {
|
|
35
95
|
return value && typeof value === 'object' && !Array.isArray(value)
|
|
36
96
|
? value
|
|
@@ -45,13 +105,85 @@ function supportBoolean(value) {
|
|
|
45
105
|
function supportArray(value) {
|
|
46
106
|
return Array.isArray(value) ? value : null;
|
|
47
107
|
}
|
|
108
|
+
function stringifySupportValue(value) {
|
|
109
|
+
if (typeof value === 'string')
|
|
110
|
+
return value;
|
|
111
|
+
if (value === undefined || value === null)
|
|
112
|
+
return '';
|
|
113
|
+
try {
|
|
114
|
+
return JSON.stringify(value);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return String(value);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function parseSupportRecord(value) {
|
|
121
|
+
const direct = supportRecord(value);
|
|
122
|
+
if (direct)
|
|
123
|
+
return direct;
|
|
124
|
+
if (typeof value !== 'string')
|
|
125
|
+
return null;
|
|
126
|
+
try {
|
|
127
|
+
return supportRecord(JSON.parse(value));
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function nativeSubagentFailureDisposition(evidence) {
|
|
134
|
+
if (/\bagent thread limit reached\b/i.test(evidence)) {
|
|
135
|
+
return { kind: 'capacity', evidenceSummary: evidence };
|
|
136
|
+
}
|
|
137
|
+
if (/\bnative subagents? (?:unsupported|disabled|not enabled|unavailable|not found)\b/i.test(evidence)) {
|
|
138
|
+
return { kind: 'unsupported', reason: 'native_subagents_unsupported', evidenceSummary: evidence };
|
|
139
|
+
}
|
|
140
|
+
if (/\bmulti_agent_v1\b/i.test(evidence) && /\b(?:unavailable|unknown tool|disabled|not enabled|not found|unsupported)\b/i.test(evidence)) {
|
|
141
|
+
return { kind: 'unsupported', reason: 'multi_agent_v1_unavailable', evidenceSummary: evidence };
|
|
142
|
+
}
|
|
143
|
+
if (/\b(?:unknown tool|tool not found|not enabled|disabled|unavailable|unsupported)\b/i.test(evidence)) {
|
|
144
|
+
return { kind: 'unsupported', reason: 'multi_agent_v1_unavailable', evidenceSummary: evidence };
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
export function parseNativeSubagentResultDisposition(toolName, value) {
|
|
149
|
+
const evidenceSummary = stringifySupportValue(value).replace(/\s+/g, ' ').trim();
|
|
150
|
+
if (toolName && !isNativeSubagentResultToolName(toolName)) {
|
|
151
|
+
return { kind: 'unknown', evidenceSummary };
|
|
152
|
+
}
|
|
153
|
+
const record = parseSupportRecord(value);
|
|
154
|
+
if (record) {
|
|
155
|
+
const status = supportString(record.status).toLowerCase();
|
|
156
|
+
const explicitFailure = record.success === false
|
|
157
|
+
|| record.ok === false
|
|
158
|
+
|| record.is_error === true
|
|
159
|
+
|| record.isError === true
|
|
160
|
+
|| (record.error !== undefined && record.error !== null && record.error !== '')
|
|
161
|
+
|| ['error', 'failed', 'failure', 'unsupported', 'unavailable'].includes(status);
|
|
162
|
+
const explicitSuccess = record.success === true
|
|
163
|
+
|| record.ok === true
|
|
164
|
+
|| record.is_error === false
|
|
165
|
+
|| record.isError === false
|
|
166
|
+
|| ['ok', 'success', 'succeeded', 'completed', 'finished'].includes(status);
|
|
167
|
+
if (explicitFailure) {
|
|
168
|
+
return nativeSubagentFailureDisposition(evidenceSummary)
|
|
169
|
+
?? { kind: 'unknown', evidenceSummary };
|
|
170
|
+
}
|
|
171
|
+
if (explicitSuccess)
|
|
172
|
+
return { kind: 'success', evidenceSummary };
|
|
173
|
+
return { kind: 'unknown', evidenceSummary };
|
|
174
|
+
}
|
|
175
|
+
if (toolName && !isNativeSubagentSpawnToolName(toolName))
|
|
176
|
+
return { kind: 'unknown', evidenceSummary };
|
|
177
|
+
return nativeSubagentFailureDisposition(evidenceSummary)
|
|
178
|
+
?? { kind: 'unknown', evidenceSummary };
|
|
179
|
+
}
|
|
48
180
|
function isNativeSubagentUnsupportedReason(value) {
|
|
49
181
|
return typeof value === 'string'
|
|
50
182
|
&& NATIVE_SUBAGENT_SUPPORT_BLOCKER_REASONS.includes(value);
|
|
51
183
|
}
|
|
52
184
|
function isNativeSubagentSupportEvidenceSource(value) {
|
|
53
185
|
return typeof value === 'string'
|
|
54
|
-
&& ['hook_payload_capability', 'hook_payload_available_tools', 'post_tool_failure', 'persisted_support_blocker', 'capacity_blocker', 'default_unknown'].includes(value);
|
|
186
|
+
&& ['hook_payload_capability', 'hook_payload_available_tools', 'post_tool_failure', 'persisted_support_blocker', 'persisted_role_routing_marker', 'capacity_blocker', 'default_unknown'].includes(value);
|
|
55
187
|
}
|
|
56
188
|
function blockerMatchesScope(blocker, input) {
|
|
57
189
|
const expiresAt = supportString(blocker.expires_at ?? blocker.expiresAt);
|
|
@@ -61,7 +193,7 @@ function blockerMatchesScope(blocker, input) {
|
|
|
61
193
|
return false;
|
|
62
194
|
}
|
|
63
195
|
const blockerCwd = supportString(blocker.cwd);
|
|
64
|
-
if (blockerCwd && (!input.cwd || blockerCwd !== input.cwd))
|
|
196
|
+
if (blockerCwd && (!input.cwd || canonicalizeOriginCwd(blockerCwd) !== canonicalizeOriginCwd(input.cwd)))
|
|
65
197
|
return false;
|
|
66
198
|
const blockerSessionId = supportString(blocker.session_id ?? blocker.sessionId);
|
|
67
199
|
if (blockerSessionId && (!input.sessionId || blockerSessionId !== input.sessionId))
|
|
@@ -110,13 +242,39 @@ function supportEvidenceFromBlocker(blocker, source, input) {
|
|
|
110
242
|
...(supportString(blocker.expires_at ?? blocker.expiresAt) ? { expiresAt: supportString(blocker.expires_at ?? blocker.expiresAt) } : {}),
|
|
111
243
|
};
|
|
112
244
|
}
|
|
245
|
+
function roleRoutingUnavailableEvidenceFromMarker(marker, input) {
|
|
246
|
+
const record = supportRecord(marker);
|
|
247
|
+
if (!record || record.schema_version !== 1 || !blockerMatchesScope(record, input))
|
|
248
|
+
return null;
|
|
249
|
+
const markerCwd = supportString(record.cwd);
|
|
250
|
+
const markerSessionId = supportString(record.session_id ?? record.sessionId);
|
|
251
|
+
if (!markerCwd && !markerSessionId)
|
|
252
|
+
return null;
|
|
253
|
+
const observedAt = supportString(record.observed_at ?? record.observedAt);
|
|
254
|
+
if (!observedAt || !Number.isFinite(Date.parse(observedAt)))
|
|
255
|
+
return null;
|
|
256
|
+
const expiresAt = supportString(record.expires_at ?? record.expiresAt);
|
|
257
|
+
const expiresAtMs = Date.parse(expiresAt);
|
|
258
|
+
if (!expiresAt || !Number.isFinite(expiresAtMs) || expiresAtMs <= (input.nowMs ?? Date.now()))
|
|
259
|
+
return null;
|
|
260
|
+
return {
|
|
261
|
+
status: 'role_routing_unavailable',
|
|
262
|
+
source: 'persisted_role_routing_marker',
|
|
263
|
+
...(supportString(record.evidence ?? record.evidenceSummary) ? { evidenceSummary: supportString(record.evidence ?? record.evidenceSummary) } : {}),
|
|
264
|
+
observedAt,
|
|
265
|
+
expiresAt,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
113
268
|
function capabilityStatusFromRecord(record) {
|
|
114
269
|
if (!record)
|
|
115
270
|
return null;
|
|
116
271
|
const nativeSubagents = supportBoolean(record.native_subagents ?? record.nativeSubagents);
|
|
117
272
|
const multiAgent = supportBoolean(record.multi_agent_v1 ?? record.multiAgentV1);
|
|
273
|
+
const roleRouting = supportBoolean(record.role_routing ?? record.roleRouting);
|
|
118
274
|
if (nativeSubagents === false || multiAgent === false)
|
|
119
275
|
return 'unsupported';
|
|
276
|
+
if (roleRouting === false)
|
|
277
|
+
return 'role_routing_unavailable';
|
|
120
278
|
if (nativeSubagents === true || multiAgent === true)
|
|
121
279
|
return 'supported';
|
|
122
280
|
return null;
|
|
@@ -130,9 +288,13 @@ const NATIVE_SUBAGENT_SPAWN_TOOL_PATTERN = /(?:^|\.)spawn_agent$/;
|
|
|
130
288
|
// `spawn_agent`, and namespaced forms such as `multi_agent_v1.spawn_agent` and
|
|
131
289
|
// the current Codex App `collaboration.spawn_agent`, plus the legacy `task`
|
|
132
290
|
// alias. The suffix anchor keeps `respawn_agent`/`spawn_agentx` from matching.
|
|
133
|
-
function isNativeSubagentSpawnToolName(name) {
|
|
291
|
+
export function isNativeSubagentSpawnToolName(name) {
|
|
134
292
|
return NATIVE_SUBAGENT_SPAWN_TOOL_PATTERN.test(name) || name === 'task';
|
|
135
293
|
}
|
|
294
|
+
const NATIVE_SUBAGENT_RESULT_TOOL_PATTERN = /(?:^|\.)(?:spawn_agent|list_agents|followup_task|wait_agent)$/;
|
|
295
|
+
export function isNativeSubagentResultToolName(name) {
|
|
296
|
+
return NATIVE_SUBAGENT_RESULT_TOOL_PATTERN.test(name) || name === 'task';
|
|
297
|
+
}
|
|
136
298
|
function availableToolsEvidence(payload) {
|
|
137
299
|
const tools = supportArray(payload?.available_tools ?? payload?.availableTools ?? payload?.tools);
|
|
138
300
|
if (!tools)
|
|
@@ -173,6 +335,16 @@ export function resolveNativeSubagentSupportStatus(input) {
|
|
|
173
335
|
evidenceSummary: 'payload capability reports native subagent support',
|
|
174
336
|
};
|
|
175
337
|
}
|
|
338
|
+
if (explicitStatus === 'role_routing_unavailable') {
|
|
339
|
+
return {
|
|
340
|
+
status: 'role_routing_unavailable',
|
|
341
|
+
source: 'hook_payload_capability',
|
|
342
|
+
evidenceSummary: 'payload capability reports role routing unavailable',
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
const roleRoutingMarkerEvidence = roleRoutingUnavailableEvidenceFromMarker(input.persistedRoleRoutingMarker, input);
|
|
346
|
+
if (roleRoutingMarkerEvidence)
|
|
347
|
+
return roleRoutingMarkerEvidence;
|
|
176
348
|
const toolEvidence = availableToolsEvidence(payload);
|
|
177
349
|
if (toolEvidence?.status === 'supported')
|
|
178
350
|
return toolEvidence;
|
|
@@ -201,11 +373,20 @@ export function isUnsupportedNativeSubagentEvidenceForScope(value, input = {}) {
|
|
|
201
373
|
export function isUnsupportedNativeSubagentEvidence(value) {
|
|
202
374
|
return isUnsupportedNativeSubagentEvidenceForScope(value);
|
|
203
375
|
}
|
|
376
|
+
export function isRoleRoutingUnavailableEvidence(value) {
|
|
377
|
+
const record = supportRecord(value);
|
|
378
|
+
return record?.status === 'role_routing_unavailable';
|
|
379
|
+
}
|
|
204
380
|
export function buildUnsupportedNativeSubagentGuidance(evidence) {
|
|
205
381
|
const reason = evidence.reason ? ` Reason: ${evidence.reason}.` : '';
|
|
206
382
|
const summary = evidence.evidenceSummary ? ` Evidence: ${evidence.evidenceSummary}.` : '';
|
|
207
383
|
return `${LEADER_CONDUCTOR_UNSUPPORTED_NATIVE_DEGRADE_BLOCK}${reason}${summary}`;
|
|
208
384
|
}
|
|
385
|
+
export function buildRoleRoutingUnavailableGuidance(evidence) {
|
|
386
|
+
const reason = evidence.reason ? ` Reason: ${evidence.reason}.` : '';
|
|
387
|
+
const summary = evidence.evidenceSummary ? ` Evidence: ${evidence.evidenceSummary}.` : '';
|
|
388
|
+
return `${LEADER_CONDUCTOR_ROLE_ROUTING_DEGRADE_BLOCK}${reason}${summary}`;
|
|
389
|
+
}
|
|
209
390
|
export const CONDUCTOR_ORCHESTRATION_METADATA_PREFIXES = [
|
|
210
391
|
'.omx/state',
|
|
211
392
|
'.omx/ultragoal',
|