oh-my-codex 0.20.1 → 0.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +6 -6
- package/Cargo.toml +1 -1
- package/README.md +10 -1
- package/dist/adapt/__tests__/hermes.test.js.map +1 -1
- package/dist/adapt/contracts.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.map +1 -1
- package/dist/auth/hotswap.js +17 -4
- 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 +4 -4
- 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.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.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 +650 -15
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- 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 +216 -11
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +49 -3
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-parity.test.js +84 -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 +128 -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 +187 -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 +129 -0
- package/dist/cli/__tests__/ralplan.test.js.map +1 -0
- package/dist/cli/__tests__/resume.test.js +6 -1
- 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.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 +2261 -14
- 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.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 +1771 -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.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 +18 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +594 -130
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +11 -3
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +108 -20
- package/dist/cli/index.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 +18 -0
- package/dist/cli/native-hook-claim-journal.d.ts.map +1 -0
- package/dist/cli/native-hook-claim-journal.js +239 -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 +14 -0
- package/dist/cli/ralplan.d.ts.map +1 -0
- package/dist/cli/ralplan.js +203 -0
- package/dist/cli/ralplan.js.map +1 -0
- 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 +53 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +1401 -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 +8 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +944 -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.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 +850 -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/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 +21 -16
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +991 -137
- package/dist/config/generator.js.map +1 -1
- package/dist/config/mcp-registry.js.map +1 -1
- package/dist/config/models.d.ts +2 -2
- package/dist/config/models.d.ts.map +1 -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 +1372 -2
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +14 -0
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +669 -1
- 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.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +8 -1
- 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.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -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.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 +532 -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 +139 -34
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +1239 -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 +103 -1
- package/dist/leader/__tests__/contract.test.js.map +1 -1
- package/dist/leader/contract.d.ts +26 -5
- package/dist/leader/contract.d.ts.map +1 -1
- package/dist/leader/contract.js +109 -3
- package/dist/leader/contract.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.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/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.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 +23 -23
- package/dist/mcp/wiki-server.d.ts.map +1 -1
- 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/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.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.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +8 -5
- 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 +403 -8
- package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
- package/dist/ralplan/__tests__/runtime.test.js +112 -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 +155 -60
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/ralplan/runtime.d.ts +2 -2
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +1 -2
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/runtime/bridge.d.ts.map +1 -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 +4121 -592
- 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__/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 +205 -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 +175 -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 +848 -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.map +1 -1
- package/dist/scripts/codex-native-hook.js +689 -156
- 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 +136 -30
- 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 +39 -13
- 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 +1 -1
- 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-tmux-guard.d.ts +4 -4
- 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.d.ts +2 -2
- 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 +25 -16
- 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 +266 -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 +879 -2
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +1528 -7
- 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__/operations.test.js +64 -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.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__/adapted-role-binding.test.d.ts +2 -0
- package/dist/subagents/__tests__/adapted-role-binding.test.d.ts.map +1 -0
- package/dist/subagents/__tests__/adapted-role-binding.test.js +988 -0
- package/dist/subagents/__tests__/adapted-role-binding.test.js.map +1 -0
- 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 +273 -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/adapted-role-binding.d.ts +17 -0
- package/dist/subagents/adapted-role-binding.d.ts.map +1 -0
- package/dist/subagents/adapted-role-binding.js +75 -0
- package/dist/subagents/adapted-role-binding.js.map +1 -0
- 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 +172 -0
- package/dist/subagents/tracker.d.ts.map +1 -1
- package/dist/subagents/tracker.js +1077 -61
- package/dist/subagents/tracker.js.map +1 -1
- package/dist/team/__tests__/approved-execution.test.js.map +1 -1
- package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
- package/dist/team/__tests__/model-contract.test.js +231 -1
- 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.test.js +401 -1
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +181 -0
- 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__/tmux-session.test.js +434 -4
- 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/api-interop.d.ts +2 -2
- package/dist/team/api-interop.d.ts.map +1 -1
- 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/followup-planner.js.map +1 -1
- package/dist/team/goal-workflow.js.map +1 -1
- package/dist/team/idle-nudge.d.ts.map +1 -1
- package/dist/team/model-contract.d.ts +20 -1
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +267 -30
- 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.map +1 -1
- package/dist/team/runtime.js +83 -52
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts +9 -7
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +69 -28
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state/dispatch-lock.js.map +1 -1
- package/dist/team/state/dispatch.js.map +1 -1
- package/dist/team/state/events.js.map +1 -1
- package/dist/team/state/tasks.js.map +1 -1
- package/dist/team/state-root.js.map +1 -1
- 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/tmux-session.d.ts +2 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +90 -42
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.js.map +1 -1
- 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/agents-model-table.js.map +1 -1
- 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.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.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/skills/omx-setup/SKILL.md +10 -5
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +4 -2
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +5 -2
- package/skills/omx-setup/SKILL.md +10 -5
- package/skills/ralph/SKILL.md +4 -2
- package/skills/ralplan/SKILL.md +5 -2
- package/src/scripts/__tests__/codex-native-hook.test.ts +17522 -10630
- 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__/role-intent-bootstrap-e2e-3181.test.ts +215 -0
- package/src/scripts/__tests__/role-intent-durable-recovery-3181.test.ts +193 -0
- package/src/scripts/__tests__/smoke-packed-install.test.ts +991 -4
- package/src/scripts/codex-native-hook.ts +779 -159
- package/src/scripts/notify-fallback-delivery.ts +416 -0
- package/src/scripts/notify-fallback-watcher.ts +132 -40
- package/src/scripts/notify-hook/auto-nudge.ts +43 -12
- 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/tmux-injection.ts +38 -21
- package/src/scripts/notify-hook/visual-verdict.ts +22 -12
- package/src/scripts/notify-hook.ts +335 -90
- package/src/scripts/smoke-packed-install.ts +1829 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-root.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/state-root.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state-root.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/state-root.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,oCAAoC,EACpC,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAExF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,KAAK,CACV,6BAA6B,CAAC,mBAAmB,EAAE,EAAE,CAAC,EACtD,8BAA8B,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,KAAK,CACV,6BAA6B,CAAC,mBAAmB,EAAE;YACjD,mBAAmB,EAAE,wBAAwB;SAC9C,CAAC,EACF,wBAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,KAAK,CACV,6BAA6B,CAAC,mBAAmB,EAAE;YACjD,mBAAmB,EAAE,iBAAiB;SACvC,CAAC,EACF,wBAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAIH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,cAAc,CAAC;YACtC,MAAM,CAAC,KAAK,CACV,6BAA6B,CAAC,mBAAmB,CAAC,EAClD,yBAAyB,CAC1B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,eAAe,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,eAAe,CAAC;;gBAC3E,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,iBAAiB,CAC9B,SAAiB,EACjB,QAAgB,EAChB,QAA4C,EAC5C,OAAgC,EAChC,KAAK,GAA4B,EAAE;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YACtD,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,GAAG,KAAK;SACT,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,SAAiB,EACjB,QAAgB,EAChB,UAAkB,EAClB,YAAoB,EACpB,aAAa,GAAW,SAAS;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC/D,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,CAAC,GAAG,CAAC;YACrB,aAAa,EAAE,YAAY;YAC3B,eAAe,EAAE,aAAa;SAC/B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IAED,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/D,MAAM,CAAC,KAAK,CACV,MAAM,8BAA8B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YAC7F,mBAAmB,EAAE,SAAS;SAC/B,CAAC,EACF,SAAS,CACV,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YAC9G,mBAAmB,EAAE,SAAS;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YAC1G,mBAAmB,EAAE,MAAM;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAChH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAIH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACxF,MAAM,aAAa,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,MAAM,gCAAgC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YAChH,mBAAmB,EAAE,MAAM;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAIH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gCAAgC,CAAC,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3C,MAAM,iBAAiB,GAAG,MAAM,gCAAgC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YACzH,mBAAmB,EAAE,SAAS;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAE3D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,iBAAiB,CAAC,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1F,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YACtH,mBAAmB,EAAE,eAAe;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAEvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACvD,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,gBAAgB,GAAG,MAAM,gCAAgC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YACxH,mBAAmB,EAAE,iBAAiB;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,uCAAuC,CAAC,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CACV,MAAM,oCAAoC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YACnG,mBAAmB,EAAE,SAAS;SAC/B,CAAC,EACF,IAAI,CACL,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAChH,MAAM,CAAC,KAAK,CACV,MAAM,oCAAoC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YACnG,mBAAmB,EAAE,aAAa;SACnC,CAAC,EACF,IAAI,CACL,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACvD,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,CAAC,KAAK,CACV,MAAM,oCAAoC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YACnG,mBAAmB,EAAE,iBAAiB;SACvC,CAAC,EACF,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAG,MAAM,oCAAoC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAChI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEnC,MAAM,mBAAmB,GAAG,MAAM,8BAA8B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/H,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAIH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC1D,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC1D,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAE/D,MAAM,CAAC,KAAK,CACV,MAAM,4BAA4B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAC5F,IAAI,CACL,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,iBAAiB,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;;gBAC1F,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5C,IAAI,OAAO,iBAAiB,KAAK,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;;gBAC1F,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,CAAC,KAAK,CACV,MAAM,8BAA8B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YAC7F,mBAAmB,EAAE,SAAS;SAC/B,CAAC,EACF,IAAI,CACL,CAAC;QAEF,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;YAC1G,mBAAmB,EAAE,SAAS;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { describe, it } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
3
|
import fs from 'node:fs';
|
|
4
|
+
import { spawnSync } from 'node:child_process';
|
|
4
5
|
import { syncBuiltinESMExports } from 'node:module';
|
|
5
6
|
import { PassThrough } from 'node:stream';
|
|
6
7
|
import { chmod, mkdir, mkdtemp, readFile, rm, writeFile } from 'fs/promises';
|
|
7
|
-
import { join } from 'path';
|
|
8
|
+
import { dirname, join } from 'path';
|
|
8
9
|
import { tmpdir } from 'os';
|
|
9
10
|
import { buildClientAttachedReconcileHookName, assertTeamWorkerCliBinaryAvailable, buildWorkerProcessLaunchSpec, buildReconcileHudResizeArgs, buildRegisterClientAttachedReconcileArgs, buildRegisterResizeHookArgs, buildResizeHookName, buildResizeHookTarget, buildScheduleDelayedHudResizeArgs, buildUnregisterClientAttachedReconcileArgs, buildUnregisterResizeHookArgs, buildWorkerStartupCommand, trustWorkerMiseConfigIfAvailable, writeWorkerStartupScriptCommand, shouldSourceTeamWorkerShellRc, buildHudPaneTarget, chooseTeamLeaderPaneId, createTeamSession, enableMouseScrolling, isMsysOrGitBash, isNativeWindows, isTmuxAvailable, isWorkerPaneOpen, restoreStandaloneHudPane, translatePathForMsys, isWsl2, isWorkerAlive, killWorker, killWorkerByPaneId, teardownWorkerPanes, listTeamSessions, resolveTeamWorkerCli, resolveTeamWorkerLaunchMode, resolveWorkerCliForSend, resolveTeamWorkerCliPlan, buildWorkerSubmitPlan, sanitizeTeamName, shouldAttemptAdaptiveRetry, sendToWorker, sendToWorkerStdin, sleepFractionalSeconds, translateWorkerLaunchArgsForCli, waitForWorkerReady, waitForWorkerReadyAsync, paneIsBootstrapping, classifyWorkerStartupInjectSafety, checkWorkerStartupInjectSafety, dismissTrustPromptIfPresent, evaluateStartupDirectTriggerSafetyCapture, mitigateCopyModeUnderlineArtifacts, } from '../tmux-session.js';
|
|
10
11
|
import { HUD_RESIZE_RECONCILE_DELAY_SECONDS, HUD_TMUX_TEAM_HEIGHT_LINES } from '../../hud/constants.js';
|
|
@@ -883,7 +884,7 @@ describe('buildWorkerStartupCommand', () => {
|
|
|
883
884
|
process.env.SHELL = '/bin/bash';
|
|
884
885
|
process.env.OMX_TEAM_WORKER_CLI = 'claude';
|
|
885
886
|
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
886
|
-
process.argv = [
|
|
887
|
+
process.argv = ['node', 'omx', '--madmax'];
|
|
887
888
|
try {
|
|
888
889
|
const cmd = buildWorkerStartupCommand('alpha', 1);
|
|
889
890
|
assert.match(cmd, /exec .*claude/);
|
|
@@ -1396,7 +1397,7 @@ describe('buildWorkerStartupCommand', () => {
|
|
|
1396
1397
|
process.env.SHELL = '/bin/bash';
|
|
1397
1398
|
const prevBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1398
1399
|
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
1399
|
-
process.argv = [
|
|
1400
|
+
process.argv = ['node', 'omx', '--dangerously-bypass-approvals-and-sandbox'];
|
|
1400
1401
|
try {
|
|
1401
1402
|
const cmd = buildWorkerStartupCommand('alpha', 1, ['--dangerously-bypass-approvals-and-sandbox']);
|
|
1402
1403
|
const matches = cmd.match(/--dangerously-bypass-approvals-and-sandbox/g) || [];
|
|
@@ -1420,7 +1421,7 @@ describe('buildWorkerStartupCommand', () => {
|
|
|
1420
1421
|
process.env.SHELL = '/bin/bash';
|
|
1421
1422
|
const prevBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1422
1423
|
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
1423
|
-
process.argv = [
|
|
1424
|
+
process.argv = ['node', 'omx', '--madmax'];
|
|
1424
1425
|
try {
|
|
1425
1426
|
const cmd = buildWorkerStartupCommand('alpha', 1);
|
|
1426
1427
|
const matches = cmd.match(/--dangerously-bypass-approvals-and-sandbox/g) || [];
|
|
@@ -1565,6 +1566,37 @@ describe('buildWorkerStartupCommand', () => {
|
|
|
1565
1566
|
delete process.env.OMX_MODEL_INSTRUCTIONS_FILE;
|
|
1566
1567
|
}
|
|
1567
1568
|
});
|
|
1569
|
+
it('recognizes every model-instructions config spelling before -- and ignores positional suffixes', () => {
|
|
1570
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1571
|
+
const customOverride = 'model_instructions_file="/tmp/custom.md"';
|
|
1572
|
+
const configForms = [
|
|
1573
|
+
['-c', customOverride],
|
|
1574
|
+
['--config', customOverride],
|
|
1575
|
+
[`-c=${customOverride}`],
|
|
1576
|
+
[`--config=${customOverride}`],
|
|
1577
|
+
];
|
|
1578
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1579
|
+
try {
|
|
1580
|
+
for (const launchArgs of configForms) {
|
|
1581
|
+
const spec = buildWorkerProcessLaunchSpec('alpha', 1, launchArgs, '/tmp/project', {}, 'codex', undefined, 'explore');
|
|
1582
|
+
assert.equal(spec.args.filter((arg) => arg.includes('model_instructions_file=')).length, 1);
|
|
1583
|
+
assert.ok(spec.args.some((arg) => arg.includes(customOverride)));
|
|
1584
|
+
}
|
|
1585
|
+
for (const launchArgs of configForms) {
|
|
1586
|
+
const spec = buildWorkerProcessLaunchSpec('alpha', 1, ['--', ...launchArgs], '/tmp/project', {}, 'codex', undefined, 'explore');
|
|
1587
|
+
const marker = spec.args.indexOf('--');
|
|
1588
|
+
assert.ok(marker > 0);
|
|
1589
|
+
assert.ok(spec.args.slice(0, marker).some((arg) => arg.includes('model_instructions_file="/tmp/project/AGENTS.md"')));
|
|
1590
|
+
assert.deepEqual(spec.args.slice(marker + 1), launchArgs);
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1593
|
+
finally {
|
|
1594
|
+
if (typeof previousBypass === 'string')
|
|
1595
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
1596
|
+
else
|
|
1597
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1598
|
+
}
|
|
1599
|
+
});
|
|
1568
1600
|
it('does not synthesize absent first-party OMX MCP server tables for Codex team workers', async () => {
|
|
1569
1601
|
const prevBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1570
1602
|
const prevCompat = process.env.OMX_TEAM_WORKER_MCP_COMPAT;
|
|
@@ -1629,6 +1661,52 @@ describe('buildWorkerStartupCommand', () => {
|
|
|
1629
1661
|
delete process.env.CODEX_HOME;
|
|
1630
1662
|
}
|
|
1631
1663
|
});
|
|
1664
|
+
it('recognizes every MCP config spelling before -- and inserts generated overrides before positional suffixes', async () => {
|
|
1665
|
+
const stateRoot = await mkdtemp(join(tmpdir(), 'omx-team-mcp-config-forms-'));
|
|
1666
|
+
const codexHome = await mkdtemp(join(tmpdir(), 'omx-team-mcp-home-'));
|
|
1667
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1668
|
+
const previousCompat = process.env.OMX_TEAM_WORKER_MCP_COMPAT;
|
|
1669
|
+
const enabledOverride = 'mcp_servers.omx_state.enabled=true';
|
|
1670
|
+
const configForms = [
|
|
1671
|
+
['-c', enabledOverride],
|
|
1672
|
+
['--config', enabledOverride],
|
|
1673
|
+
[`-c=${enabledOverride}`],
|
|
1674
|
+
[`--config=${enabledOverride}`],
|
|
1675
|
+
];
|
|
1676
|
+
try {
|
|
1677
|
+
await writeFile(join(codexHome, 'config.toml'), '[mcp_servers.omx_state]\ncommand = "omx"\n');
|
|
1678
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
1679
|
+
delete process.env.OMX_TEAM_WORKER_MCP_COMPAT;
|
|
1680
|
+
const startupEnv = { OMX_TEAM_STATE_ROOT: stateRoot, CODEX_HOME: codexHome };
|
|
1681
|
+
for (const [index, launchArgs] of configForms.entries()) {
|
|
1682
|
+
writeWorkerStartupScriptCommand('alpha', index + 1, launchArgs, '/tmp/project', startupEnv, 'codex', undefined, 'explore');
|
|
1683
|
+
const script = await readFile(join(stateRoot, 'team', 'alpha', 'runtime', `worker-${index + 1}-startup.sh`), 'utf-8');
|
|
1684
|
+
assert.equal((script.match(/mcp_servers\.omx_state\.enabled=/g) ?? []).length, 1);
|
|
1685
|
+
assert.match(script, /mcp_servers\.omx_state\.enabled=true/);
|
|
1686
|
+
assert.doesNotMatch(script, /mcp_servers\.omx_state\.enabled=false/);
|
|
1687
|
+
}
|
|
1688
|
+
for (const [index, launchArgs] of configForms.entries()) {
|
|
1689
|
+
const workerIndex = index + 10;
|
|
1690
|
+
writeWorkerStartupScriptCommand('alpha', workerIndex, ['--', ...launchArgs], '/tmp/project', startupEnv, 'codex', undefined, 'explore');
|
|
1691
|
+
const script = await readFile(join(stateRoot, 'team', 'alpha', 'runtime', `worker-${workerIndex}-startup.sh`), 'utf-8');
|
|
1692
|
+
const generatedIndex = script.indexOf('mcp_servers.omx_state.enabled=false');
|
|
1693
|
+
const positionalIndex = script.indexOf('mcp_servers.omx_state.enabled=true');
|
|
1694
|
+
assert.ok(generatedIndex >= 0 && generatedIndex < positionalIndex);
|
|
1695
|
+
}
|
|
1696
|
+
}
|
|
1697
|
+
finally {
|
|
1698
|
+
if (typeof previousBypass === 'string')
|
|
1699
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
1700
|
+
else
|
|
1701
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1702
|
+
if (typeof previousCompat === 'string')
|
|
1703
|
+
process.env.OMX_TEAM_WORKER_MCP_COMPAT = previousCompat;
|
|
1704
|
+
else
|
|
1705
|
+
delete process.env.OMX_TEAM_WORKER_MCP_COMPAT;
|
|
1706
|
+
await rm(stateRoot, { recursive: true, force: true });
|
|
1707
|
+
await rm(codexHome, { recursive: true, force: true });
|
|
1708
|
+
}
|
|
1709
|
+
});
|
|
1632
1710
|
it('preserves explicit team-worker MCP compatibility opt-in', async () => {
|
|
1633
1711
|
const prevBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
1634
1712
|
const prevCompat = process.env.OMX_TEAM_WORKER_MCP_COMPAT;
|
|
@@ -2181,6 +2259,8 @@ describe('team worker CLI helpers', () => {
|
|
|
2181
2259
|
assert.equal(resolveTeamWorkerCli(['--model', 'gemini-2.0-pro'], {}), 'gemini');
|
|
2182
2260
|
assert.equal(resolveTeamWorkerCli(['--model', 'gpt-5'], {}), 'codex');
|
|
2183
2261
|
assert.equal(resolveTeamWorkerCli([], {}), 'codex');
|
|
2262
|
+
assert.equal(resolveTeamWorkerCli(['--', '--model', 'claude-3-7-sonnet'], {}), 'codex');
|
|
2263
|
+
assert.equal(resolveTeamWorkerCli(['--', '--model=gemini-2.0-pro'], {}), 'codex');
|
|
2184
2264
|
});
|
|
2185
2265
|
it('resolveTeamWorkerCli accepts explicit gemini override', () => {
|
|
2186
2266
|
assert.equal(resolveTeamWorkerCli([], { OMX_TEAM_WORKER_CLI: 'gemini' }), 'gemini');
|
|
@@ -2327,6 +2407,251 @@ describe('team worker launch mode helpers', () => {
|
|
|
2327
2407
|
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2328
2408
|
}
|
|
2329
2409
|
});
|
|
2410
|
+
it('suppresses ambient madmax and role-default bypass for direct Codex policy', () => {
|
|
2411
|
+
const previousArgv = process.argv;
|
|
2412
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2413
|
+
process.argv = ['node', 'omx', '--madmax'];
|
|
2414
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2415
|
+
try {
|
|
2416
|
+
const spec = buildWorkerProcessLaunchSpec('policy-team', 1, ['--ask-for-approval', 'on-request'], '/tmp/workspace', {}, 'codex', undefined, 'executor');
|
|
2417
|
+
assert.deepEqual(spec.args, ['--ask-for-approval', 'on-request']);
|
|
2418
|
+
}
|
|
2419
|
+
finally {
|
|
2420
|
+
process.argv = previousArgv;
|
|
2421
|
+
if (typeof previousBypass === 'string')
|
|
2422
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2423
|
+
else
|
|
2424
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2425
|
+
}
|
|
2426
|
+
});
|
|
2427
|
+
it('preserves no-policy Codex bypass defaults exactly once for execution, absent, and unknown roles', () => {
|
|
2428
|
+
const previousArgv = process.argv;
|
|
2429
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2430
|
+
process.argv = ['node', 'omx'];
|
|
2431
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2432
|
+
try {
|
|
2433
|
+
for (const role of ['executor', undefined, 'unknown-role']) {
|
|
2434
|
+
const spec = buildWorkerProcessLaunchSpec('policy-team', 1, [], '/tmp/workspace', {}, 'codex', undefined, role);
|
|
2435
|
+
assert.equal(spec.args.filter((arg) => arg === '--dangerously-bypass-approvals-and-sandbox').length, 1, String(role));
|
|
2436
|
+
}
|
|
2437
|
+
const readOnlySpec = buildWorkerProcessLaunchSpec('policy-team', 1, [], '/tmp/workspace', {}, 'codex', undefined, 'explore');
|
|
2438
|
+
assert.equal(readOnlySpec.args.includes('--dangerously-bypass-approvals-and-sandbox'), false);
|
|
2439
|
+
const bypassOnlySpec = buildWorkerProcessLaunchSpec('policy-team', 1, ['--madmax'], '/tmp/workspace', {}, 'codex', undefined, 'executor');
|
|
2440
|
+
assert.deepEqual(bypassOnlySpec.args, ['--dangerously-bypass-approvals-and-sandbox']);
|
|
2441
|
+
}
|
|
2442
|
+
finally {
|
|
2443
|
+
process.argv = previousArgv;
|
|
2444
|
+
if (typeof previousBypass === 'string')
|
|
2445
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2446
|
+
else
|
|
2447
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2448
|
+
}
|
|
2449
|
+
});
|
|
2450
|
+
it('keeps ambient and role-default bypasses before end-of-options while suffix lookalikes remain positional', () => {
|
|
2451
|
+
const previousArgv = process.argv;
|
|
2452
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2453
|
+
const positionalSuffix = ['--', '--madmax', '--sandbox', 'workspace-write', 'C:\\workspace\\tail\\'];
|
|
2454
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2455
|
+
try {
|
|
2456
|
+
process.argv = ['node', 'omx', '--', '--madmax'];
|
|
2457
|
+
assert.deepEqual(buildWorkerProcessLaunchSpec('policy-team', 1, positionalSuffix, '/tmp/workspace', {}, 'codex', undefined, 'explore').args, positionalSuffix);
|
|
2458
|
+
assert.deepEqual(buildWorkerProcessLaunchSpec('policy-team', 1, positionalSuffix, '/tmp/workspace', {}, 'codex', undefined, 'executor').args, ['--dangerously-bypass-approvals-and-sandbox', ...positionalSuffix]);
|
|
2459
|
+
process.argv = ['node', 'omx', '--madmax', '--', '--sandbox', 'workspace-write'];
|
|
2460
|
+
assert.deepEqual(buildWorkerProcessLaunchSpec('policy-team', 1, positionalSuffix, '/tmp/workspace', {}, 'codex', undefined, 'explore').args, ['--dangerously-bypass-approvals-and-sandbox', ...positionalSuffix]);
|
|
2461
|
+
}
|
|
2462
|
+
finally {
|
|
2463
|
+
process.argv = previousArgv;
|
|
2464
|
+
if (typeof previousBypass === 'string')
|
|
2465
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2466
|
+
else
|
|
2467
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2468
|
+
}
|
|
2469
|
+
});
|
|
2470
|
+
it('fails closed when a mixed final Codex policy reaches the platform boundary', () => {
|
|
2471
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2472
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2473
|
+
try {
|
|
2474
|
+
assert.throws(() => buildWorkerProcessLaunchSpec('policy-team', 1, ['--dangerously-bypass-approvals-and-sandbox', '--sandbox', 'workspace-write'], '/tmp/workspace', {}, 'codex', undefined, 'executor'), /internal_mixed_codex_worker_policy_argv/);
|
|
2475
|
+
}
|
|
2476
|
+
finally {
|
|
2477
|
+
if (typeof previousBypass === 'string')
|
|
2478
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2479
|
+
else
|
|
2480
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2481
|
+
}
|
|
2482
|
+
});
|
|
2483
|
+
it('executes the generated POSIX startup script with canonical config policy and exact positional argv', async () => {
|
|
2484
|
+
const stateRoot = await mkdtemp(join(tmpdir(), 'omx-worker-policy-script-'));
|
|
2485
|
+
const codexHome = await mkdtemp(join(tmpdir(), 'omx-worker-policy-codex-home-'));
|
|
2486
|
+
const fakeBin = join(stateRoot, 'bin');
|
|
2487
|
+
const capturePath = join(stateRoot, 'worker-argv.json');
|
|
2488
|
+
const injectionMarkerPath = join(stateRoot, 'injected');
|
|
2489
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2490
|
+
const previousPath = process.env.PATH;
|
|
2491
|
+
const previousCapture = process.env.OMX_POLICY_ARGV_CAPTURE;
|
|
2492
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2493
|
+
process.env.OMX_POLICY_ARGV_CAPTURE = capturePath;
|
|
2494
|
+
try {
|
|
2495
|
+
await mkdir(fakeBin, { recursive: true });
|
|
2496
|
+
await writeFile(join(fakeBin, 'codex'), `#!/usr/bin/env node
|
|
2497
|
+
require('fs').writeFileSync(process.env.OMX_POLICY_ARGV_CAPTURE, JSON.stringify(process.argv.slice(2)));
|
|
2498
|
+
`);
|
|
2499
|
+
await chmod(join(fakeBin, 'codex'), 0o755);
|
|
2500
|
+
process.env.PATH = `${fakeBin}:${previousPath ?? ''}`;
|
|
2501
|
+
const positionalSuffix = [
|
|
2502
|
+
'C:\\workspace\\nested\\',
|
|
2503
|
+
'',
|
|
2504
|
+
'--sandbox=read-only',
|
|
2505
|
+
'--madmax',
|
|
2506
|
+
`$(touch ${injectionMarkerPath})`,
|
|
2507
|
+
];
|
|
2508
|
+
const launchArgs = ['--config', 'sandbox_mode="workspace-write"', '--', ...positionalSuffix];
|
|
2509
|
+
const expectedArgs = ['--sandbox', 'workspace-write', '--', ...positionalSuffix];
|
|
2510
|
+
const workerEnv = { OMX_TEAM_STATE_ROOT: stateRoot, CODEX_HOME: codexHome };
|
|
2511
|
+
const spec = buildWorkerProcessLaunchSpec('policy-team', 1, launchArgs, stateRoot, workerEnv, 'codex', undefined, 'executor');
|
|
2512
|
+
const scriptCommand = writeWorkerStartupScriptCommand('policy-team', 1, launchArgs, stateRoot, workerEnv, 'codex', undefined, 'executor');
|
|
2513
|
+
const scriptPath = join(stateRoot, 'team', 'policy-team', 'runtime', 'worker-1-startup.sh');
|
|
2514
|
+
const script = await readFile(scriptPath, 'utf-8');
|
|
2515
|
+
const execution = spawnSync('/bin/sh', [scriptPath], { encoding: 'utf-8' });
|
|
2516
|
+
assert.deepEqual(spec.args, expectedArgs);
|
|
2517
|
+
assert.equal(spec.env.CODEX_HOME, codexHome);
|
|
2518
|
+
assert.match(script, new RegExp(escapeRegExp(`export CODEX_HOME='${codexHome}'`)));
|
|
2519
|
+
assert.match(scriptCommand ?? '', /worker-1-startup\.sh/);
|
|
2520
|
+
assert.equal(execution.status, 0, execution.stderr);
|
|
2521
|
+
assert.deepEqual(JSON.parse(await readFile(capturePath, 'utf-8')), expectedArgs);
|
|
2522
|
+
assert.equal(fs.existsSync(injectionMarkerPath), false);
|
|
2523
|
+
assert.doesNotMatch(script, /dangerously-bypass-approvals-and-sandbox/);
|
|
2524
|
+
}
|
|
2525
|
+
finally {
|
|
2526
|
+
if (typeof previousBypass === 'string')
|
|
2527
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2528
|
+
else
|
|
2529
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2530
|
+
if (typeof previousPath === 'string')
|
|
2531
|
+
process.env.PATH = previousPath;
|
|
2532
|
+
else
|
|
2533
|
+
delete process.env.PATH;
|
|
2534
|
+
if (typeof previousCapture === 'string')
|
|
2535
|
+
process.env.OMX_POLICY_ARGV_CAPTURE = previousCapture;
|
|
2536
|
+
else
|
|
2537
|
+
delete process.env.OMX_POLICY_ARGV_CAPTURE;
|
|
2538
|
+
await rm(stateRoot, { recursive: true, force: true });
|
|
2539
|
+
await rm(codexHome, { recursive: true, force: true });
|
|
2540
|
+
}
|
|
2541
|
+
});
|
|
2542
|
+
it('captures exact native-Windows harness PowerShell wrapper argv for canonical policy and positional suffixes', async () => {
|
|
2543
|
+
const fakeBin = await mkdtemp(join(tmpdir(), 'omx-worker-policy-win32-'));
|
|
2544
|
+
const capturePath = join(fakeBin, 'powershell-argv.json');
|
|
2545
|
+
const previousPath = process.env.PATH;
|
|
2546
|
+
const previousPathext = process.env.PATHEXT;
|
|
2547
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2548
|
+
const previousMsystem = process.env.MSYSTEM;
|
|
2549
|
+
const previousOstype = process.env.OSTYPE;
|
|
2550
|
+
const previousWsl = process.env.WSL_DISTRO_NAME;
|
|
2551
|
+
const previousWslInterop = process.env.WSL_INTEROP;
|
|
2552
|
+
const originalPlatform = Object.getOwnPropertyDescriptor(process, 'platform');
|
|
2553
|
+
try {
|
|
2554
|
+
const codexPs1Path = join(fakeBin, 'codex.ps1');
|
|
2555
|
+
const powershellExePath = join(fakeBin, 'powershell.exe');
|
|
2556
|
+
await writeFile(codexPs1Path, '');
|
|
2557
|
+
await writeFile(powershellExePath, `#!${process.execPath}
|
|
2558
|
+
require('fs').writeFileSync(process.env.OMX_POLICY_ARGV_CAPTURE, JSON.stringify(process.argv.slice(2)));
|
|
2559
|
+
`);
|
|
2560
|
+
await chmod(powershellExePath, 0o755);
|
|
2561
|
+
process.env.PATH = fakeBin;
|
|
2562
|
+
process.env.PATHEXT = '.EXE;.PS1';
|
|
2563
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2564
|
+
delete process.env.MSYSTEM;
|
|
2565
|
+
delete process.env.OSTYPE;
|
|
2566
|
+
delete process.env.WSL_DISTRO_NAME;
|
|
2567
|
+
delete process.env.WSL_INTEROP;
|
|
2568
|
+
Object.defineProperty(process, 'platform', { value: 'win32', configurable: true });
|
|
2569
|
+
const positionalSuffix = ['C:\\workspace\\nested\\', '', '--sandbox=read-only', '--madmax'];
|
|
2570
|
+
const expectedWorkerArgs = ['--sandbox', 'workspace-write', '--', ...positionalSuffix];
|
|
2571
|
+
const windowsSpec = buildWorkerProcessLaunchSpec('policy-team', 1, ['--config', 'sandbox_mode="workspace-write"', '--', ...positionalSuffix], 'C:\\workspace', {}, 'codex', undefined, 'executor');
|
|
2572
|
+
const execution = spawnSync(windowsSpec.command, windowsSpec.args, {
|
|
2573
|
+
encoding: 'utf-8',
|
|
2574
|
+
env: { ...process.env, ...windowsSpec.env, OMX_POLICY_ARGV_CAPTURE: capturePath },
|
|
2575
|
+
});
|
|
2576
|
+
assert.equal(windowsSpec.command, powershellExePath);
|
|
2577
|
+
assert.equal(execution.status, 0, execution.stderr);
|
|
2578
|
+
assert.deepEqual(JSON.parse(await readFile(capturePath, 'utf-8')), [
|
|
2579
|
+
'-NoLogo', '-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', codexPs1Path, ...expectedWorkerArgs,
|
|
2580
|
+
]);
|
|
2581
|
+
}
|
|
2582
|
+
finally {
|
|
2583
|
+
if (originalPlatform)
|
|
2584
|
+
Object.defineProperty(process, 'platform', originalPlatform);
|
|
2585
|
+
if (typeof previousPath === 'string')
|
|
2586
|
+
process.env.PATH = previousPath;
|
|
2587
|
+
else
|
|
2588
|
+
delete process.env.PATH;
|
|
2589
|
+
if (typeof previousPathext === 'string')
|
|
2590
|
+
process.env.PATHEXT = previousPathext;
|
|
2591
|
+
else
|
|
2592
|
+
delete process.env.PATHEXT;
|
|
2593
|
+
if (typeof previousBypass === 'string')
|
|
2594
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2595
|
+
else
|
|
2596
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2597
|
+
if (typeof previousMsystem === 'string')
|
|
2598
|
+
process.env.MSYSTEM = previousMsystem;
|
|
2599
|
+
else
|
|
2600
|
+
delete process.env.MSYSTEM;
|
|
2601
|
+
if (typeof previousOstype === 'string')
|
|
2602
|
+
process.env.OSTYPE = previousOstype;
|
|
2603
|
+
else
|
|
2604
|
+
delete process.env.OSTYPE;
|
|
2605
|
+
if (typeof previousWsl === 'string')
|
|
2606
|
+
process.env.WSL_DISTRO_NAME = previousWsl;
|
|
2607
|
+
else
|
|
2608
|
+
delete process.env.WSL_DISTRO_NAME;
|
|
2609
|
+
if (typeof previousWslInterop === 'string')
|
|
2610
|
+
process.env.WSL_INTEROP = previousWslInterop;
|
|
2611
|
+
else
|
|
2612
|
+
delete process.env.WSL_INTEROP;
|
|
2613
|
+
await rm(fakeBin, { recursive: true, force: true });
|
|
2614
|
+
}
|
|
2615
|
+
});
|
|
2616
|
+
it('rejects Claude and Gemini restrictive policies before permission translation', () => {
|
|
2617
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2618
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2619
|
+
try {
|
|
2620
|
+
for (const workerCli of ['claude', 'gemini']) {
|
|
2621
|
+
const incompatibility = new RegExp(`Selected team worker CLI "${workerCli}" is incompatible with an explicit approval or sandbox policy\\.`);
|
|
2622
|
+
assert.throws(() => buildWorkerProcessLaunchSpec('policy-team', 1, ['--sandbox', 'workspace-write'], '/tmp/workspace', {}, workerCli, 'Read worker inbox', 'executor'), incompatibility);
|
|
2623
|
+
assert.throws(() => buildWorkerProcessLaunchSpec('policy-team', 1, ['--config', 'sandbox_mode="workspace-write"'], '/tmp/workspace', {}, workerCli, 'Read worker inbox', 'executor'), incompatibility);
|
|
2624
|
+
const positionalModel = `${workerCli}-positional-model`;
|
|
2625
|
+
const positionalSpec = buildWorkerProcessLaunchSpec('policy-team', 1, ['--config', 'sandbox_mode="workspace-write"', '--', '--model', positionalModel], '/tmp/workspace', {}, undefined, undefined, 'executor');
|
|
2626
|
+
assert.equal(positionalSpec.workerCli, 'codex');
|
|
2627
|
+
assert.deepEqual(positionalSpec.args, [
|
|
2628
|
+
'--sandbox', 'workspace-write', '--', '--model', positionalModel,
|
|
2629
|
+
]);
|
|
2630
|
+
}
|
|
2631
|
+
}
|
|
2632
|
+
finally {
|
|
2633
|
+
if (typeof previousBypass === 'string')
|
|
2634
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2635
|
+
else
|
|
2636
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2637
|
+
}
|
|
2638
|
+
});
|
|
2639
|
+
it('preserves Claude and Gemini no-policy and bypass-only permission defaults', () => {
|
|
2640
|
+
const previousBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2641
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
2642
|
+
try {
|
|
2643
|
+
assert.deepEqual(buildWorkerProcessLaunchSpec('policy-team', 1, [], '/tmp/workspace', {}, 'claude', undefined, 'executor').args, ['--dangerously-skip-permissions']);
|
|
2644
|
+
assert.deepEqual(buildWorkerProcessLaunchSpec('policy-team', 1, ['--madmax'], '/tmp/workspace', {}, 'claude', undefined, 'executor').args, ['--dangerously-skip-permissions']);
|
|
2645
|
+
assert.deepEqual(buildWorkerProcessLaunchSpec('policy-team', 1, [], '/tmp/workspace', {}, 'gemini', 'Read worker inbox', 'executor').args, ['--approval-mode', 'yolo', '-i', 'Read worker inbox']);
|
|
2646
|
+
assert.deepEqual(buildWorkerProcessLaunchSpec('policy-team', 1, ['--madmax'], '/tmp/workspace', {}, 'gemini', 'Read worker inbox', 'executor').args, ['--approval-mode', 'yolo', '-i', 'Read worker inbox']);
|
|
2647
|
+
}
|
|
2648
|
+
finally {
|
|
2649
|
+
if (typeof previousBypass === 'string')
|
|
2650
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypass;
|
|
2651
|
+
else
|
|
2652
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2653
|
+
}
|
|
2654
|
+
});
|
|
2330
2655
|
it('buildWorkerProcessLaunchSpec includes leader node and CLI path env vars', () => {
|
|
2331
2656
|
const prevBypass = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
2332
2657
|
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
@@ -3190,6 +3515,111 @@ esac
|
|
|
3190
3515
|
});
|
|
3191
3516
|
});
|
|
3192
3517
|
describe('createTeamSession tmux instance tagging', () => {
|
|
3518
|
+
it('rejects incompatible non-Codex and mixed Codex plans before any direct tmux mutation', async () => {
|
|
3519
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-team-direct-policy-preflight-'));
|
|
3520
|
+
const previousTmux = process.env.TMUX;
|
|
3521
|
+
const previousTmuxPane = process.env.TMUX_PANE;
|
|
3522
|
+
const previousBypassInstructions = process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
3523
|
+
try {
|
|
3524
|
+
await withMockTmuxFixture('omx-tmux-direct-policy-preflight-', (logPath) => `#!/bin/sh
|
|
3525
|
+
set -eu
|
|
3526
|
+
printf '%s\n' "$*" >> "${logPath}"
|
|
3527
|
+
case "\${1:-}" in
|
|
3528
|
+
-V)
|
|
3529
|
+
echo "tmux 3.4"
|
|
3530
|
+
;;
|
|
3531
|
+
display-message)
|
|
3532
|
+
echo "leader:0 %1"
|
|
3533
|
+
;;
|
|
3534
|
+
list-panes)
|
|
3535
|
+
printf "%%1\\tnode\\t'codex'\\n"
|
|
3536
|
+
;;
|
|
3537
|
+
split-window)
|
|
3538
|
+
echo "%2"
|
|
3539
|
+
;;
|
|
3540
|
+
*)
|
|
3541
|
+
;;
|
|
3542
|
+
esac
|
|
3543
|
+
exit 0
|
|
3544
|
+
`, async ({ logPath }) => {
|
|
3545
|
+
const fakeBinDir = dirname(logPath);
|
|
3546
|
+
for (const workerCli of ['codex', 'claude', 'gemini']) {
|
|
3547
|
+
const binaryPath = join(fakeBinDir, workerCli);
|
|
3548
|
+
await writeFile(binaryPath, '#!/bin/sh\nexit 0\n');
|
|
3549
|
+
await chmod(binaryPath, 0o755);
|
|
3550
|
+
}
|
|
3551
|
+
process.env.TMUX = 'leader-session,stub,0';
|
|
3552
|
+
process.env.TMUX_PANE = '%1';
|
|
3553
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = '0';
|
|
3554
|
+
const restrictiveArgs = ['--config', 'sandbox_mode="workspace-write"'];
|
|
3555
|
+
const readOnlyPreflightCommands = [
|
|
3556
|
+
'-V',
|
|
3557
|
+
'display-message -p -t %1 #{session_name}:#{window_index} #{pane_id}',
|
|
3558
|
+
];
|
|
3559
|
+
for (const workerCli of ['claude', 'gemini']) {
|
|
3560
|
+
for (const scenario of [
|
|
3561
|
+
{
|
|
3562
|
+
name: `direct-${workerCli}-first`,
|
|
3563
|
+
workerCount: 1,
|
|
3564
|
+
workerStartups: [{ workerCli, launchArgs: restrictiveArgs }],
|
|
3565
|
+
},
|
|
3566
|
+
{
|
|
3567
|
+
name: `direct-${workerCli}-later`,
|
|
3568
|
+
workerCount: 2,
|
|
3569
|
+
workerStartups: [
|
|
3570
|
+
{ workerCli: 'codex', launchArgs: restrictiveArgs },
|
|
3571
|
+
{ workerCli, launchArgs: restrictiveArgs },
|
|
3572
|
+
],
|
|
3573
|
+
},
|
|
3574
|
+
]) {
|
|
3575
|
+
await writeFile(logPath, '');
|
|
3576
|
+
assert.throws(() => createTeamSession(scenario.name, scenario.workerCount, cwd, [], scenario.workerStartups), new RegExp(`Selected team worker CLI "${workerCli}" is incompatible with an explicit approval or sandbox policy\\.`));
|
|
3577
|
+
const tmuxCommands = (await readFile(logPath, 'utf-8')).trim().split('\n');
|
|
3578
|
+
assert.deepEqual(tmuxCommands, readOnlyPreflightCommands, `${scenario.name} must reject after read-only availability/context probes and before tagging, HUD cleanup, splits, or process launch`);
|
|
3579
|
+
}
|
|
3580
|
+
}
|
|
3581
|
+
const mixedCodexArgs = [
|
|
3582
|
+
'--dangerously-bypass-approvals-and-sandbox',
|
|
3583
|
+
'--sandbox',
|
|
3584
|
+
'workspace-write',
|
|
3585
|
+
];
|
|
3586
|
+
for (const scenario of [
|
|
3587
|
+
{
|
|
3588
|
+
name: 'direct-codex-mixed-first',
|
|
3589
|
+
workerCount: 1,
|
|
3590
|
+
workerStartups: [{ workerCli: 'codex', launchArgs: mixedCodexArgs }],
|
|
3591
|
+
},
|
|
3592
|
+
{
|
|
3593
|
+
name: 'direct-codex-mixed-later',
|
|
3594
|
+
workerCount: 2,
|
|
3595
|
+
workerStartups: [
|
|
3596
|
+
{ workerCli: 'codex', launchArgs: restrictiveArgs },
|
|
3597
|
+
{ workerCli: 'codex', launchArgs: mixedCodexArgs },
|
|
3598
|
+
],
|
|
3599
|
+
},
|
|
3600
|
+
]) {
|
|
3601
|
+
await writeFile(logPath, '');
|
|
3602
|
+
assert.throws(() => createTeamSession(scenario.name, scenario.workerCount, cwd, [], scenario.workerStartups), /internal_mixed_codex_worker_policy_argv/);
|
|
3603
|
+
assert.deepEqual((await readFile(logPath, 'utf-8')).trim().split('\n'), readOnlyPreflightCommands, `${scenario.name} must reject before tagging, HUD cleanup, splits, or process launch`);
|
|
3604
|
+
}
|
|
3605
|
+
});
|
|
3606
|
+
}
|
|
3607
|
+
finally {
|
|
3608
|
+
if (typeof previousTmux === 'string')
|
|
3609
|
+
process.env.TMUX = previousTmux;
|
|
3610
|
+
else
|
|
3611
|
+
delete process.env.TMUX;
|
|
3612
|
+
if (typeof previousTmuxPane === 'string')
|
|
3613
|
+
process.env.TMUX_PANE = previousTmuxPane;
|
|
3614
|
+
else
|
|
3615
|
+
delete process.env.TMUX_PANE;
|
|
3616
|
+
if (typeof previousBypassInstructions === 'string')
|
|
3617
|
+
process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT = previousBypassInstructions;
|
|
3618
|
+
else
|
|
3619
|
+
delete process.env.OMX_BYPASS_DEFAULT_SYSTEM_PROMPT;
|
|
3620
|
+
await rm(cwd, { recursive: true, force: true });
|
|
3621
|
+
}
|
|
3622
|
+
});
|
|
3193
3623
|
it('redraws the leader pane after team layout changes so wrapped diff hunks repaint with gutters', async () => {
|
|
3194
3624
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-team-redraw-leader-'));
|
|
3195
3625
|
const prevTmux = process.env.TMUX;
|