oh-my-codex 0.20.2 → 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 +26 -0
- 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/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/hotswap.d.ts +6 -0
- package/dist/auth/hotswap.d.ts.map +1 -1
- package/dist/auth/hotswap.js +85 -15
- package/dist/auth/hotswap.js.map +1 -1
- package/dist/autopilot/__tests__/ralplan-gate.test.js +1 -1
- package/dist/autopilot/__tests__/ralplan-gate.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__/codex-plugin-layout.test.js +80 -0
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +103 -1
- 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__/index.test.js +258 -4
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +287 -1
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-parity.test.js +4 -1
- package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
- package/dist/cli/__tests__/native-hook-claim-journal.test.js +84 -6
- package/dist/cli/__tests__/native-hook-claim-journal.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +3 -3
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +3 -3
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js +56 -171
- package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js.map +1 -1
- package/dist/cli/__tests__/ralplan.test.js +37 -111
- package/dist/cli/__tests__/ralplan.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +11 -10
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/session-search-help.test.js +25 -1
- package/dist/cli/__tests__/session-search-help.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +42 -4
- package/dist/cli/__tests__/setup-install-mode.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__/uninstall.test.js +46 -0
- package/dist/cli/__tests__/uninstall.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/doctor.d.ts +3 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +15 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +4 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +138 -38
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-parity.js +2 -2
- package/dist/cli/mcp-parity.js.map +1 -1
- package/dist/cli/native-hook-claim-journal.d.ts +16 -5
- package/dist/cli/native-hook-claim-journal.d.ts.map +1 -1
- package/dist/cli/native-hook-claim-journal.js +42 -29
- package/dist/cli/native-hook-claim-journal.js.map +1 -1
- package/dist/cli/ralph.js +2 -2
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/ralplan.d.ts +4 -8
- package/dist/cli/ralplan.d.ts.map +1 -1
- package/dist/cli/ralplan.js +19 -112
- package/dist/cli/ralplan.js.map +1 -1
- package/dist/cli/session-search.d.ts +5 -0
- package/dist/cli/session-search.d.ts.map +1 -1
- package/dist/cli/session-search.js +87 -0
- package/dist/cli/session-search.js.map +1 -1
- package/dist/cli/setup.d.ts +5 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +80 -31
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/uninstall.d.ts +9 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +61 -19
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/compat/__tests__/rust-runtime-compat.test.js +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +330 -1
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +2 -2
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/__tests__/models.test.js +67 -3
- package/dist/config/__tests__/models.test.js.map +1 -1
- package/dist/config/generator.d.ts +4 -20
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +499 -119
- package/dist/config/generator.js.map +1 -1
- package/dist/config/models.d.ts +12 -2
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +15 -1
- package/dist/config/models.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +2 -2
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +4 -4
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +238 -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 +96 -9
- package/dist/hooks/__tests__/notify-hook-auto-nudge.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 +155 -23
- 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-worker-idle.test.js +43 -4
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/session.test.js +348 -2
- package/dist/hooks/__tests__/session.test.js.map +1 -1
- package/dist/hooks/agents-overlay.js +1 -1
- package/dist/hooks/session.d.ts +26 -2
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +169 -13
- package/dist/hooks/session.js.map +1 -1
- package/dist/leader/__tests__/contract.test.js +57 -7
- package/dist/leader/__tests__/contract.test.js.map +1 -1
- package/dist/leader/contract.d.ts +16 -0
- package/dist/leader/contract.d.ts.map +1 -1
- package/dist/leader/contract.js +79 -4
- package/dist/leader/contract.js.map +1 -1
- package/dist/mcp/__tests__/code-intel-server.test.js +31 -3
- package/dist/mcp/__tests__/code-intel-server.test.js.map +1 -1
- package/dist/mcp/__tests__/wiki-server.test.js +18 -0
- package/dist/mcp/__tests__/wiki-server.test.js.map +1 -1
- package/dist/mcp/code-intel-server.d.ts.map +1 -1
- package/dist/mcp/code-intel-server.js +13 -3
- package/dist/mcp/code-intel-server.js.map +1 -1
- package/dist/mcp/wiki-server.d.ts +11 -0
- package/dist/mcp/wiki-server.d.ts.map +1 -1
- package/dist/mcp/wiki-server.js +9 -2
- package/dist/mcp/wiki-server.js.map +1 -1
- package/dist/modes/__tests__/base-tmux-pane.test.js +4 -4
- package/dist/modes/__tests__/base-tmux-pane.test.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/pipeline/__tests__/orchestrator.test.js +4 -4
- package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +8 -8
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/ralplan/__tests__/consensus-gate.test.js +134 -10
- 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 +8 -4
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/consensus-gate.d.ts.map +1 -1
- package/dist/ralplan/consensus-gate.js +58 -50
- 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 +1 -0
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +11 -7
- 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/scripts/__tests__/codex-native-hook.test.js +2620 -487
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/reasoning-artifact-contract.test.d.ts +2 -0
- package/dist/scripts/__tests__/reasoning-artifact-contract.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/reasoning-artifact-contract.test.js +108 -0
- package/dist/scripts/__tests__/reasoning-artifact-contract.test.js.map +1 -0
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js +46 -173
- package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js.map +1 -1
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js +39 -159
- package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js.map +1 -1
- package/dist/scripts/__tests__/smoke-packed-install.test.js +254 -2
- package/dist/scripts/__tests__/smoke-packed-install.test.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 +11013 -1153
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +82 -108
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.js +74 -3
- package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.d.ts +9 -0
- package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.js +234 -79
- package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +39 -13
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts +12 -4
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.js +365 -44
- package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.js +19 -18
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker.d.ts +3 -0
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +37 -28
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.js +28 -2
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/notify-hook.js +1 -0
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/smoke-packed-install.d.ts +48 -3
- package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
- package/dist/scripts/smoke-packed-install.js +2796 -13
- package/dist/scripts/smoke-packed-install.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 +2 -0
- package/dist/state/__tests__/operations.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/subagents/__tests__/leader-bootstrap-3181.test.js +24 -245
- package/dist/subagents/__tests__/leader-bootstrap-3181.test.js.map +1 -1
- package/dist/subagents/tracker.d.ts +1 -82
- package/dist/subagents/tracker.d.ts.map +1 -1
- package/dist/subagents/tracker.js +3 -275
- package/dist/subagents/tracker.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +91 -1
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +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 +110 -3
- package/dist/team/__tests__/model-contract.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 +3204 -335
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +2359 -142
- package/dist/team/__tests__/scaling.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 +3049 -784
- package/dist/team/__tests__/tmux-session.test.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.map +1 -1
- package/dist/team/api-interop.js +15 -9
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/exact-pane.d.ts +23 -0
- package/dist/team/exact-pane.d.ts.map +1 -0
- package/dist/team/exact-pane.js +133 -0
- package/dist/team/exact-pane.js.map +1 -0
- package/dist/team/idle-nudge.d.ts +12 -1
- package/dist/team/idle-nudge.d.ts.map +1 -1
- package/dist/team/idle-nudge.js +41 -14
- package/dist/team/idle-nudge.js.map +1 -1
- package/dist/team/model-contract.d.ts +2 -5
- package/dist/team/model-contract.d.ts.map +1 -1
- package/dist/team/model-contract.js +59 -17
- package/dist/team/model-contract.js.map +1 -1
- package/dist/team/runtime.d.ts +1 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +1244 -180
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts +13 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +1430 -384
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state/dispatch.d.ts.map +1 -1
- package/dist/team/state/dispatch.js +26 -8
- package/dist/team/state/dispatch.js.map +1 -1
- package/dist/team/state/locks.d.ts.map +1 -1
- package/dist/team/state/locks.js +61 -13
- package/dist/team/state/locks.js.map +1 -1
- package/dist/team/state/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.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-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 +123 -23
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +1250 -291
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worktree.d.ts.map +1 -1
- package/dist/team/worktree.js +4 -0
- package/dist/team/worktree.js.map +1 -1
- package/dist/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/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/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/wiki/lint.d.ts +4 -1
- package/dist/wiki/lint.d.ts.map +1 -1
- package/dist/wiki/lint.js +3 -2
- package/dist/wiki/lint.js.map +1 -1
- package/package.json +1 -1
- 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/ralph/SKILL.md +6 -4
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +3 -2
- package/plugins/oh-my-codex/skills/team/SKILL.md +13 -9
- package/skills/ralph/SKILL.md +6 -4
- package/skills/ralplan/SKILL.md +3 -2
- package/skills/team/SKILL.md +13 -9
- package/src/scripts/__tests__/codex-native-hook.test.ts +2826 -497
- package/src/scripts/__tests__/reasoning-artifact-contract.test.ts +129 -0
- package/src/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.ts +48 -185
- package/src/scripts/__tests__/role-intent-durable-recovery-3181.test.ts +44 -177
- package/src/scripts/__tests__/smoke-packed-install.test.ts +320 -2
- package/src/scripts/codex-native-hook.ts +10715 -1069
- package/src/scripts/notify-fallback-watcher.ts +84 -115
- package/src/scripts/notify-hook/auto-nudge.ts +71 -3
- 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 +28 -2
- package/src/scripts/notify-hook.ts +1 -0
- package/src/scripts/smoke-packed-install.ts +3196 -14
- package/dist/subagents/__tests__/adapted-role-binding.test.d.ts +0 -2
- package/dist/subagents/__tests__/adapted-role-binding.test.d.ts.map +0 -1
- package/dist/subagents/__tests__/adapted-role-binding.test.js +0 -988
- package/dist/subagents/__tests__/adapted-role-binding.test.js.map +0 -1
- package/dist/subagents/adapted-role-binding.d.ts +0 -17
- package/dist/subagents/adapted-role-binding.d.ts.map +0 -1
- package/dist/subagents/adapted-role-binding.js +0 -75
- package/dist/subagents/adapted-role-binding.js.map +0 -1
|
@@ -10,6 +10,13 @@ import { executeTeamApiOperation } from '../api-interop.js';
|
|
|
10
10
|
import { sendWorkerMessage, broadcastWorkerMessage } from '../runtime.js';
|
|
11
11
|
import { drainPendingTeamDispatch } from '../../scripts/notify-hook/team-dispatch.js';
|
|
12
12
|
import { teamCommand } from '../../cli/team.js';
|
|
13
|
+
const EXACT_GLOBAL_PANE_PROOF_COMMAND = 'list-panes -a -F #{pane_id}\t#{pane_dead}\t#{pane_pid}';
|
|
14
|
+
function assertExactPaneProofBeforeTargetEffect(tmuxLog, paneId) {
|
|
15
|
+
const commands = tmuxLog.trim().split('\n').filter(Boolean);
|
|
16
|
+
const effectIndex = commands.findIndex((command) => command.startsWith(`send-keys -t ${paneId} `));
|
|
17
|
+
assert.ok(effectIndex >= 0, `expected send-keys target effect for ${paneId}`);
|
|
18
|
+
assert.ok(commands.slice(0, effectIndex).includes(EXACT_GLOBAL_PANE_PROOF_COMMAND), `expected exact global pane proof before send-keys for ${paneId}`);
|
|
19
|
+
}
|
|
13
20
|
function buildFakeTmux(tmuxLogPath) {
|
|
14
21
|
const bufferPath = `${tmuxLogPath}.buffer`;
|
|
15
22
|
return `#!/usr/bin/env bash
|
|
@@ -38,6 +45,13 @@ fi
|
|
|
38
45
|
if [[ "$cmd" == "paste-buffer" ]]; then
|
|
39
46
|
exit 0
|
|
40
47
|
fi
|
|
48
|
+
if [[ "$cmd" == "show-option" ]]; then
|
|
49
|
+
if [[ "$*" == *"@omx_team_pane_owner_id" ]]; then
|
|
50
|
+
echo "delivery-smoke-owner"
|
|
51
|
+
exit 0
|
|
52
|
+
fi
|
|
53
|
+
exit 1
|
|
54
|
+
fi
|
|
41
55
|
if [[ "$cmd" == "display-message" ]]; then
|
|
42
56
|
target=""
|
|
43
57
|
fmt=""
|
|
@@ -83,7 +97,11 @@ if [[ "$cmd" == "send-keys" ]]; then
|
|
|
83
97
|
exit 0
|
|
84
98
|
fi
|
|
85
99
|
if [[ "$cmd" == "list-panes" ]]; then
|
|
86
|
-
|
|
100
|
+
if [[ "$#" -eq 3 && "$1" == "-a" && "$2" == "-F" && "$3" == "#{pane_id}\t#{pane_dead}\t#{pane_pid}" ]]; then
|
|
101
|
+
printf '%%10\t0\t111\n%%11\t0\t112\n%%12\t0\t113\n%%95\t0\t195\n%%96\t0\t196\n'
|
|
102
|
+
else
|
|
103
|
+
printf '%%10\t111\n%%11\t112\n%%12\t113\n%%95\t195\n%%96\t196\n'
|
|
104
|
+
fi
|
|
87
105
|
exit 0
|
|
88
106
|
fi
|
|
89
107
|
exit 0
|
|
@@ -121,6 +139,11 @@ const mailboxPath = path.join(dir, 'mailbox.json');
|
|
|
121
139
|
const dispatch = readJson(dispatchPath, { records: [] });
|
|
122
140
|
const mailbox = readJson(mailboxPath, { records: [] });
|
|
123
141
|
const timestamp = nowIso();
|
|
142
|
+
if (command.command === 'CaptureSnapshot') {
|
|
143
|
+
writeJson(dispatchPath, dispatch);
|
|
144
|
+
process.stdout.write(JSON.stringify({ event: 'SnapshotCaptured' }) + '\\n');
|
|
145
|
+
process.exit(0);
|
|
146
|
+
}
|
|
124
147
|
switch (command.command) {
|
|
125
148
|
case 'QueueDispatch':
|
|
126
149
|
dispatch.records.push({ request_id: command.request_id, target: command.target, status: 'pending', created_at: timestamp, notified_at: null, delivered_at: null, failed_at: null, reason: null, metadata: command.metadata ?? null });
|
|
@@ -242,15 +265,30 @@ async function withBridgeFixture(cwd, fn) {
|
|
|
242
265
|
}
|
|
243
266
|
}
|
|
244
267
|
async function configurePaneIds(teamName, cwd, leaderPaneId, workerPaneIds) {
|
|
268
|
+
const panePids = {
|
|
269
|
+
'%10': 111,
|
|
270
|
+
'%11': 112,
|
|
271
|
+
'%12': 113,
|
|
272
|
+
'%95': 195,
|
|
273
|
+
'%96': 196,
|
|
274
|
+
};
|
|
245
275
|
const config = await readTeamConfig(teamName, cwd);
|
|
246
276
|
assert.ok(config, 'missing team config');
|
|
247
277
|
if (!config)
|
|
248
278
|
throw new Error('missing team config');
|
|
249
279
|
config.leader_pane_id = leaderPaneId;
|
|
250
|
-
config.
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
280
|
+
config.leader_pane_pid = panePids[leaderPaneId];
|
|
281
|
+
config.hud_pane_id = '%96';
|
|
282
|
+
config.hud_pane_pid = 196;
|
|
283
|
+
config.tmux_pane_owner_id = 'delivery-smoke-owner';
|
|
284
|
+
config.workers = config.workers.map((worker) => {
|
|
285
|
+
const paneId = workerPaneIds[worker.name] ?? worker.pane_id;
|
|
286
|
+
return {
|
|
287
|
+
...worker,
|
|
288
|
+
pane_id: paneId,
|
|
289
|
+
pid: panePids[paneId],
|
|
290
|
+
};
|
|
291
|
+
});
|
|
254
292
|
await saveTeamConfig(config, cwd);
|
|
255
293
|
}
|
|
256
294
|
function parseJsonLines(raw) {
|
|
@@ -354,10 +392,8 @@ describe('team message delivery end-to-end smoke tests', () => {
|
|
|
354
392
|
assert.equal(new Set(workerMessages.map((message) => message.message_id)).size, 3);
|
|
355
393
|
assert.equal(workerMessages.filter((message) => message.notified_at).length, 3);
|
|
356
394
|
const requests = await listDispatchRequests('worker-leader-concurrent', cwd, { kind: 'mailbox', to_worker: 'leader-fixed' });
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
assert.equal(workerRequests.length, 3);
|
|
360
|
-
assert.equal(workerRequests.filter((request) => request.status === 'notified').length, 3);
|
|
395
|
+
assert.equal(requests.length, 1);
|
|
396
|
+
assert.equal(requests[0]?.status, 'notified');
|
|
361
397
|
});
|
|
362
398
|
}
|
|
363
399
|
finally {
|
|
@@ -379,6 +415,7 @@ describe('team message delivery end-to-end smoke tests', () => {
|
|
|
379
415
|
assert.equal(requests[0]?.status, 'notified');
|
|
380
416
|
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
381
417
|
assert.match(tmuxLog, /send-keys -t %10/);
|
|
418
|
+
assertExactPaneProofBeforeTargetEffect(tmuxLog, '%10');
|
|
382
419
|
});
|
|
383
420
|
}
|
|
384
421
|
finally {
|
|
@@ -388,7 +425,7 @@ describe('team message delivery end-to-end smoke tests', () => {
|
|
|
388
425
|
it('leader -> worker: broadcast fans out to every worker mailbox and notification path', async () => {
|
|
389
426
|
const { cwd, cleanup } = await setupTeam('leader-broadcast', 3);
|
|
390
427
|
try {
|
|
391
|
-
await withFakeTmux(cwd, async () => {
|
|
428
|
+
await withFakeTmux(cwd, async (tmuxLogPath) => {
|
|
392
429
|
await configurePaneIds('leader-broadcast', cwd, '%95', {
|
|
393
430
|
'worker-1': '%10',
|
|
394
431
|
'worker-2': '%11',
|
|
@@ -404,6 +441,10 @@ describe('team message delivery end-to-end smoke tests', () => {
|
|
|
404
441
|
const requests = await listDispatchRequests('leader-broadcast', cwd, { kind: 'mailbox' });
|
|
405
442
|
assert.equal(requests.length, 3);
|
|
406
443
|
assert.equal(requests.filter((request) => request.status === 'notified').length, 3);
|
|
444
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
445
|
+
for (const paneId of ['%10', '%11', '%12']) {
|
|
446
|
+
assertExactPaneProofBeforeTargetEffect(tmuxLog, paneId);
|
|
447
|
+
}
|
|
407
448
|
});
|
|
408
449
|
}
|
|
409
450
|
finally {
|
|
@@ -683,6 +724,7 @@ describe('team message delivery end-to-end smoke tests', () => {
|
|
|
683
724
|
assert.equal(requests[0]?.status, 'notified');
|
|
684
725
|
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
685
726
|
assert.match(tmuxLog, /send-keys -t %10/);
|
|
727
|
+
assertExactPaneProofBeforeTargetEffect(tmuxLog, '%10');
|
|
686
728
|
assert.equal(existsSync(join(cwd, '.omx', 'state', 'mailbox.json')), false, 'bridge compat mailbox should not be created when bridge is disabled');
|
|
687
729
|
});
|
|
688
730
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-e2e-smoke.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/delivery-e2e-smoke.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery-e2e-smoke.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/delivery-e2e-smoke.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { existsSync } from 'node:fs';
|
|
|
5
5
|
import { tmpdir } from 'node:os';
|
|
6
6
|
import { join } from 'node:path';
|
|
7
7
|
import { DEFAULT_NUDGE_CONFIG, NudgeTracker, capturePane, isPaneIdle } from '../idle-nudge.js';
|
|
8
|
+
const WORKER_TARGET = '';
|
|
8
9
|
function buildFakeTmux(tmuxLogPath) {
|
|
9
10
|
return `#!/usr/bin/env bash
|
|
10
11
|
set -eu
|
|
@@ -50,6 +51,11 @@ if [[ "\$cmd" == "capture-pane" ]]; then
|
|
|
50
51
|
exit 0
|
|
51
52
|
fi
|
|
52
53
|
|
|
54
|
+
if [[ "$cmd" == "show-option" ]]; then
|
|
55
|
+
printf '%s\n' "\${OMX_TEAM_OWNER:-omx-team-a-owner}"
|
|
56
|
+
exit 0
|
|
57
|
+
fi
|
|
58
|
+
|
|
53
59
|
if [[ "\$cmd" == "send-keys" ]]; then
|
|
54
60
|
if [[ "\${OMX_FAIL_SEND_KEYS:-0}" == "1" ]]; then
|
|
55
61
|
exit 1
|
|
@@ -58,7 +64,11 @@ if [[ "\$cmd" == "send-keys" ]]; then
|
|
|
58
64
|
fi
|
|
59
65
|
|
|
60
66
|
if [[ "\$cmd" == "list-panes" ]]; then
|
|
61
|
-
|
|
67
|
+
if [[ "$#" -eq 3 && "$1" == "-a" && "$2" == "-F" && "$3" == "#{pane_id}\t#{pane_dead}\t#{pane_pid}" ]]; then
|
|
68
|
+
printf '%%2\t0\t12345\n'
|
|
69
|
+
else
|
|
70
|
+
printf '0 12345\\n'
|
|
71
|
+
fi
|
|
62
72
|
exit 0
|
|
63
73
|
fi
|
|
64
74
|
|
|
@@ -139,11 +149,14 @@ describe('idle-nudge', () => {
|
|
|
139
149
|
await withFakeTmux(async ({ tmuxLogPath }) => {
|
|
140
150
|
await withMockedNow(10_000, async (setNow) => {
|
|
141
151
|
const tracker = new NudgeTracker({ delayMs: 0, maxCount: 3, message: 'nudge' });
|
|
142
|
-
const first = await tracker.checkAndNudge([
|
|
143
|
-
assert.deepEqual(first, [
|
|
152
|
+
const first = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
153
|
+
assert.deepEqual(first, [WORKER_TARGET]);
|
|
144
154
|
const firstLog = await readFile(tmuxLogPath, 'utf-8');
|
|
155
|
+
const firstCommands = firstLog.trim().split('\n').filter(Boolean);
|
|
156
|
+
const nudgeEffectIndex = firstCommands.findIndex((command) => command.startsWith('send-keys -t omx-team-a:0 '));
|
|
157
|
+
assert.ok(nudgeEffectIndex >= 0, 'expected nudge send-keys target effect');
|
|
145
158
|
setNow(11_000); // < 5000ms scan interval
|
|
146
|
-
const second = await tracker.checkAndNudge([
|
|
159
|
+
const second = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
147
160
|
assert.deepEqual(second, []);
|
|
148
161
|
const secondLog = await readFile(tmuxLogPath, 'utf-8');
|
|
149
162
|
assert.equal(secondLog, firstLog);
|
|
@@ -164,17 +177,17 @@ describe('idle-nudge', () => {
|
|
|
164
177
|
await withFakeTmux(async ({ tmuxLogPath }) => {
|
|
165
178
|
await withMockedNow(10_000, async (setNow) => {
|
|
166
179
|
const tracker = new NudgeTracker({ delayMs: 0, maxCount: 1, message: 'nudge' });
|
|
167
|
-
const first = await tracker.checkAndNudge([
|
|
168
|
-
assert.deepEqual(first, [
|
|
180
|
+
const first = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
181
|
+
assert.deepEqual(first, [WORKER_TARGET]);
|
|
169
182
|
const firstLog = await readFile(tmuxLogPath, 'utf-8');
|
|
170
183
|
setNow(16_000); // > 5000ms scan interval
|
|
171
|
-
const second = await tracker.checkAndNudge([
|
|
184
|
+
const second = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
172
185
|
assert.deepEqual(second, []);
|
|
173
186
|
const secondLog = await readFile(tmuxLogPath, 'utf-8');
|
|
174
187
|
assert.equal(secondLog, firstLog);
|
|
175
188
|
assert.equal(tracker.totalNudges, 1);
|
|
176
189
|
assert.deepEqual(tracker.getSummary(), {
|
|
177
|
-
|
|
190
|
+
[WORKER_TARGET]: {
|
|
178
191
|
nudgeCount: 1,
|
|
179
192
|
lastNudgeAt: 10_000,
|
|
180
193
|
},
|
|
@@ -187,20 +200,20 @@ describe('idle-nudge', () => {
|
|
|
187
200
|
await setCaptureSequence(['IDLE', 'IDLE', 'ACTIVE', 'IDLE', 'IDLE']);
|
|
188
201
|
await withMockedNow(10_000, async (setNow) => {
|
|
189
202
|
const tracker = new NudgeTracker({ delayMs: 10_000, maxCount: 3, message: 'nudge' });
|
|
190
|
-
const r1 = await tracker.checkAndNudge([
|
|
203
|
+
const r1 = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
191
204
|
assert.deepEqual(r1, []);
|
|
192
205
|
setNow(16_000);
|
|
193
|
-
const r2 = await tracker.checkAndNudge([
|
|
206
|
+
const r2 = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
194
207
|
assert.deepEqual(r2, []);
|
|
195
208
|
setNow(22_000);
|
|
196
|
-
const r3 = await tracker.checkAndNudge([
|
|
209
|
+
const r3 = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
197
210
|
assert.deepEqual(r3, []);
|
|
198
211
|
setNow(28_000);
|
|
199
|
-
const r4 = await tracker.checkAndNudge([
|
|
212
|
+
const r4 = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
200
213
|
assert.deepEqual(r4, []);
|
|
201
214
|
setNow(39_000);
|
|
202
|
-
const r5 = await tracker.checkAndNudge([
|
|
203
|
-
assert.deepEqual(r5, [
|
|
215
|
+
const r5 = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
216
|
+
assert.deepEqual(r5, [WORKER_TARGET]);
|
|
204
217
|
assert.equal(tracker.totalNudges, 1);
|
|
205
218
|
});
|
|
206
219
|
});
|
|
@@ -210,7 +223,7 @@ describe('idle-nudge', () => {
|
|
|
210
223
|
process.env.OMX_FAIL_SEND_KEYS = '1';
|
|
211
224
|
await withMockedNow(10_000, async () => {
|
|
212
225
|
const tracker = new NudgeTracker({ delayMs: 0, maxCount: 3, message: 'nudge' });
|
|
213
|
-
const nudged = await tracker.checkAndNudge([
|
|
226
|
+
const nudged = await tracker.checkAndNudge([WORKER_TARGET], undefined, 'omx-team-a');
|
|
214
227
|
assert.deepEqual(nudged, []);
|
|
215
228
|
assert.equal(tracker.totalNudges, 0);
|
|
216
229
|
assert.deepEqual(tracker.getSummary(), {});
|
|
@@ -226,5 +239,22 @@ describe('idle-nudge', () => {
|
|
|
226
239
|
assert.equal(idle, false);
|
|
227
240
|
});
|
|
228
241
|
});
|
|
242
|
+
it('fails closed for replacement, owner drift, and HUD nudge targets', async () => {
|
|
243
|
+
await withFakeTmux(async ({ tmuxLogPath }) => {
|
|
244
|
+
await withMockedNow(10_000, async () => {
|
|
245
|
+
const targets = [
|
|
246
|
+
{ paneId: '%2', workerIndex: 1, panePid: 999, teamOwnerId: 'omx-team-a-owner' },
|
|
247
|
+
{ paneId: '%2', workerIndex: 1, panePid: 12345, teamOwnerId: 'foreign-owner' },
|
|
248
|
+
{ paneId: '%2', workerIndex: 1, panePid: 12345, teamOwnerId: 'omx-team-a-owner', hudPaneId: '%2' },
|
|
249
|
+
];
|
|
250
|
+
for (const target of targets) {
|
|
251
|
+
const tracker = new NudgeTracker({ delayMs: 0, maxCount: 1, message: 'nudge' });
|
|
252
|
+
assert.deepEqual(await tracker.checkAndNudge([target], undefined, 'omx-team-a'), []);
|
|
253
|
+
}
|
|
254
|
+
const log = existsSync(tmuxLogPath) ? await readFile(tmuxLogPath, 'utf-8') : '';
|
|
255
|
+
assert.doesNotMatch(log, /send-keys/);
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
});
|
|
229
259
|
});
|
|
230
260
|
//# sourceMappingURL=idle-nudge.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-nudge.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/idle-nudge.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/F,SAAS,aAAa,CAAC,WAAmB;IACxC,OAAO;;0BAEiB,WAAW
|
|
1
|
+
{"version":3,"file":"idle-nudge.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/idle-nudge.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -150,6 +150,52 @@ describe('mcp-comm', () => {
|
|
|
150
150
|
await rm(cwd, { recursive: true, force: true });
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
|
+
it('preserves direct and broadcast mailbox messages behind one notified wake', async () => {
|
|
154
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-mcp-comm-'));
|
|
155
|
+
try {
|
|
156
|
+
await initTeamState('alpha-coalesced', 't', 'executor', 2, cwd);
|
|
157
|
+
let notifications = 0;
|
|
158
|
+
const direct = await queueDirectMailboxMessage({
|
|
159
|
+
teamName: 'alpha-coalesced',
|
|
160
|
+
fromWorker: 'worker-1',
|
|
161
|
+
toWorker: 'worker-2',
|
|
162
|
+
toWorkerIndex: 2,
|
|
163
|
+
body: 'direct message',
|
|
164
|
+
triggerMessage: 'check mailbox',
|
|
165
|
+
intent: 'pending-mailbox-review',
|
|
166
|
+
cwd,
|
|
167
|
+
notify: async () => {
|
|
168
|
+
notifications += 1;
|
|
169
|
+
return { ok: true, transport: 'tmux_send_keys', reason: 'sent' };
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
const broadcast = await queueBroadcastMailboxMessage({
|
|
173
|
+
teamName: 'alpha-coalesced',
|
|
174
|
+
fromWorker: 'worker-1',
|
|
175
|
+
recipients: [{ workerName: 'worker-2', workerIndex: 2 }],
|
|
176
|
+
body: 'broadcast message',
|
|
177
|
+
cwd,
|
|
178
|
+
triggerFor: () => 'check mailbox',
|
|
179
|
+
intentFor: () => 'pending-mailbox-review',
|
|
180
|
+
notify: async () => {
|
|
181
|
+
notifications += 1;
|
|
182
|
+
return { ok: true, transport: 'tmux_send_keys', reason: 'sent' };
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
assert.equal(direct.ok, true);
|
|
186
|
+
assert.equal(broadcast.length, 1);
|
|
187
|
+
assert.equal(broadcast[0]?.reason, 'duplicate_pending_dispatch_request');
|
|
188
|
+
assert.equal(notifications, 1);
|
|
189
|
+
const mailbox = await listMailboxMessages('alpha-coalesced', 'worker-2', cwd);
|
|
190
|
+
assert.equal(mailbox.length, 2);
|
|
191
|
+
const requests = await listDispatchRequests('alpha-coalesced', cwd, { kind: 'mailbox', to_worker: 'worker-2' });
|
|
192
|
+
assert.equal(requests.length, 1);
|
|
193
|
+
assert.equal(requests[0]?.status, 'notified');
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
await rm(cwd, { recursive: true, force: true });
|
|
197
|
+
}
|
|
198
|
+
});
|
|
153
199
|
it('queueBroadcastMailboxMessage notifies and marks notified per recipient', async () => {
|
|
154
200
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-mcp-comm-'));
|
|
155
201
|
try {
|
|
@@ -183,38 +229,42 @@ describe('mcp-comm', () => {
|
|
|
183
229
|
await rm(cwd, { recursive: true, force: true });
|
|
184
230
|
}
|
|
185
231
|
});
|
|
186
|
-
it('
|
|
232
|
+
it('preserves direct and broadcast mailbox messages while coalescing their outstanding wake', async () => {
|
|
187
233
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-mcp-comm-'));
|
|
188
234
|
try {
|
|
189
235
|
await initTeamState('alpha', 't', 'executor', 2, cwd);
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
cwd,
|
|
198
|
-
notify: async () => ({ ok: false, transport: 'hook', reason: 'queued_pending' }),
|
|
236
|
+
let notifications = 0;
|
|
237
|
+
const notify = async () => {
|
|
238
|
+
notifications += 1;
|
|
239
|
+
return { ok: false, transport: 'hook', reason: 'queued_pending' };
|
|
240
|
+
};
|
|
241
|
+
await queueDirectMailboxMessage({
|
|
242
|
+
teamName: 'alpha', fromWorker: 'worker-1', toWorker: 'worker-2', toWorkerIndex: 2,
|
|
243
|
+
body: 'direct-first', triggerMessage: 'check mailbox', cwd, notify,
|
|
199
244
|
});
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
assert.equal(requests.length, 1);
|
|
204
|
-
const second = await queueDirectMailboxMessage({
|
|
205
|
-
teamName: 'alpha',
|
|
206
|
-
fromWorker: 'worker-1',
|
|
207
|
-
toWorker: 'worker-2',
|
|
208
|
-
toWorkerIndex: 2,
|
|
209
|
-
body: 'hello-2',
|
|
210
|
-
triggerMessage: 'check mailbox',
|
|
211
|
-
cwd,
|
|
212
|
-
notify: async () => ({ ok: false, transport: 'hook', reason: 'queued_pending' }),
|
|
245
|
+
await queueDirectMailboxMessage({
|
|
246
|
+
teamName: 'alpha', fromWorker: 'worker-1', toWorker: 'worker-2', toWorkerIndex: 2,
|
|
247
|
+
body: 'direct-second', triggerMessage: 'check mailbox', cwd, notify,
|
|
213
248
|
});
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
249
|
+
for (const body of ['broadcast-first', 'broadcast-second']) {
|
|
250
|
+
await queueBroadcastMailboxMessage({
|
|
251
|
+
teamName: 'alpha',
|
|
252
|
+
fromWorker: 'worker-1',
|
|
253
|
+
recipients: [{ workerName: 'worker-2', workerIndex: 2 }],
|
|
254
|
+
body,
|
|
255
|
+
cwd,
|
|
256
|
+
triggerFor: () => 'check mailbox',
|
|
257
|
+
notify,
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
const mailbox = await listMailboxMessages('alpha', 'worker-2', cwd);
|
|
261
|
+
const requests = await listDispatchRequests('alpha', cwd, { kind: 'mailbox', to_worker: 'worker-2' });
|
|
262
|
+
assert.equal(mailbox.length, 4);
|
|
263
|
+
assert.deepEqual(mailbox.map((message) => message.body), [
|
|
264
|
+
'direct-first', 'direct-second', 'broadcast-first', 'broadcast-second',
|
|
265
|
+
]);
|
|
266
|
+
assert.equal(notifications, 1);
|
|
267
|
+
assert.equal(requests.length, 1);
|
|
218
268
|
}
|
|
219
269
|
finally {
|
|
220
270
|
await rm(cwd, { recursive: true, force: true });
|
|
@@ -280,6 +330,22 @@ describe('mcp-comm', () => {
|
|
|
280
330
|
const request = await readDispatchRequest('alpha', outcome.request_id, cwd);
|
|
281
331
|
assert.equal(request?.status, 'failed');
|
|
282
332
|
assert.match(request?.last_reason ?? '', /^notify_exception:/);
|
|
333
|
+
const retry = await queueDirectMailboxMessage({
|
|
334
|
+
teamName: 'alpha',
|
|
335
|
+
fromWorker: 'worker-1',
|
|
336
|
+
toWorker: 'worker-2',
|
|
337
|
+
toWorkerIndex: 2,
|
|
338
|
+
body: 'hello after crash',
|
|
339
|
+
triggerMessage: 'check mailbox',
|
|
340
|
+
cwd,
|
|
341
|
+
transportPreference: 'prompt_stdin',
|
|
342
|
+
fallbackAllowed: false,
|
|
343
|
+
notify: async () => ({ ok: true, transport: 'prompt_stdin', reason: 'retry_sent' }),
|
|
344
|
+
});
|
|
345
|
+
assert.equal(retry.ok, true);
|
|
346
|
+
assert.notEqual(retry.request_id, outcome.request_id);
|
|
347
|
+
const retriedRequest = await readDispatchRequest('alpha', retry.request_id, cwd);
|
|
348
|
+
assert.equal(retriedRequest?.status, 'notified');
|
|
283
349
|
}
|
|
284
350
|
finally {
|
|
285
351
|
await rm(cwd, { recursive: true, force: true });
|