oh-my-codex 0.11.13 → 0.12.0
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 +5 -5
- package/Cargo.toml +1 -1
- package/README.md +27 -17
- package/crates/omx-runtime/src/main.rs +6 -2
- package/dist/agents/native-config.js +1 -1
- package/dist/agents/native-config.js.map +1 -1
- package/dist/cli/__tests__/autoresearch-guided.test.js +74 -2
- package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
- package/dist/cli/__tests__/cleanup.test.js +22 -30
- package/dist/cli/__tests__/cleanup.test.js.map +1 -1
- package/dist/cli/__tests__/error-handling-warnings.test.js +3 -1
- package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +217 -4
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +49 -9
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +9 -0
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +136 -11
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +10 -0
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js +1 -0
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -1
- package/dist/cli/autoresearch-guided.d.ts.map +1 -1
- package/dist/cli/autoresearch-guided.js +2 -1
- package/dist/cli/autoresearch-guided.js.map +1 -1
- package/dist/cli/autoresearch.d.ts.map +1 -1
- package/dist/cli/autoresearch.js +2 -1
- package/dist/cli/autoresearch.js.map +1 -1
- package/dist/cli/cleanup.d.ts.map +1 -1
- package/dist/cli/cleanup.js +4 -2
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/index.d.ts +12 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +238 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/omx.js +2 -0
- package/dist/cli/omx.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +41 -7
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +16 -557
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +34 -9
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +79 -2
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +2 -0
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/codex-hooks.d.ts +11 -0
- package/dist/config/codex-hooks.d.ts.map +1 -0
- package/dist/config/codex-hooks.js +50 -0
- package/dist/config/codex-hooks.js.map +1 -0
- package/dist/config/generator.d.ts +5 -3
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +24 -14
- package/dist/config/generator.js.map +1 -1
- package/dist/hooks/__tests__/debugger-log-recency-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/debugger-log-recency-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/debugger-log-recency-contract.test.js +20 -0
- package/dist/hooks/__tests__/debugger-log-recency-contract.test.js.map +1 -0
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +236 -2
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +86 -0
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +40 -0
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.d.ts +2 -0
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +54 -0
- package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -0
- package/dist/hooks/__tests__/notify-hook-modules.test.js +31 -0
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +51 -0
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.d.ts +2 -0
- package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.js +136 -0
- package/dist/hooks/__tests__/notify-hook-session-idle-dedupe.test.js.map +1 -0
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +120 -0
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +145 -20
- 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 +116 -0
- package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +86 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/pre-context-gate-skills.test.js +1 -0
- package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/runtime.test.js +49 -0
- package/dist/hooks/extensibility/__tests__/runtime.test.js.map +1 -1
- package/dist/hooks/extensibility/runtime.d.ts.map +1 -1
- package/dist/hooks/extensibility/runtime.js +10 -0
- package/dist/hooks/extensibility/runtime.js.map +1 -1
- package/dist/hooks/extensibility/types.d.ts +1 -1
- package/dist/hooks/extensibility/types.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.js +12 -8
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hooks/session.d.ts +5 -1
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +10 -6
- package/dist/hooks/session.js.map +1 -1
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +6 -1
- package/dist/hud/index.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +0 -3
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/code-intel-server.test.js +27 -1
- package/dist/mcp/__tests__/code-intel-server.test.js.map +1 -1
- package/dist/mcp/__tests__/server-lifecycle.test.js +0 -5
- package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts +1 -1
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +0 -1
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/code-intel-server.d.ts +20 -0
- package/dist/mcp/code-intel-server.d.ts.map +1 -1
- package/dist/mcp/code-intel-server.js +6 -5
- package/dist/mcp/code-intel-server.js.map +1 -1
- package/dist/notifications/__tests__/idle-cooldown.test.js +24 -1
- package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -1
- package/dist/notifications/__tests__/reply-listener.test.js +20 -1
- package/dist/notifications/__tests__/reply-listener.test.js.map +1 -1
- package/dist/notifications/__tests__/tmux.test.js +41 -0
- package/dist/notifications/__tests__/tmux.test.js.map +1 -1
- package/dist/notifications/idle-cooldown.d.ts +13 -0
- package/dist/notifications/idle-cooldown.d.ts.map +1 -1
- package/dist/notifications/idle-cooldown.js +50 -16
- package/dist/notifications/idle-cooldown.js.map +1 -1
- package/dist/notifications/reply-listener.d.ts.map +1 -1
- package/dist/notifications/reply-listener.js +2 -0
- package/dist/notifications/reply-listener.js.map +1 -1
- package/dist/notifications/tmux.d.ts.map +1 -1
- package/dist/notifications/tmux.js +4 -0
- package/dist/notifications/tmux.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.d.ts +2 -0
- package/dist/scripts/__tests__/codex-native-hook.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/codex-native-hook.test.js +720 -0
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -0
- package/dist/scripts/codex-native-hook.d.ts +22 -0
- package/dist/scripts/codex-native-hook.d.ts.map +1 -0
- package/dist/scripts/codex-native-hook.js +594 -0
- package/dist/scripts/codex-native-hook.js.map +1 -0
- package/dist/scripts/codex-native-pre-post.d.ts +26 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -0
- package/dist/scripts/codex-native-pre-post.js +118 -0
- package/dist/scripts/codex-native-pre-post.js.map +1 -0
- package/dist/scripts/notify-fallback-watcher.js +262 -18
- 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 +5 -6
- package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/log.d.ts +2 -2
- package/dist/scripts/notify-hook/log.d.ts.map +1 -1
- package/dist/scripts/notify-hook/log.js +10 -2
- package/dist/scripts/notify-hook/log.js.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.js +2 -0
- package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.d.ts +18 -0
- package/dist/scripts/notify-hook/orchestration-intent.d.ts.map +1 -0
- package/dist/scripts/notify-hook/orchestration-intent.js +72 -0
- package/dist/scripts/notify-hook/orchestration-intent.js.map +1 -0
- package/dist/scripts/notify-hook/process-runner.js.map +1 -1
- package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -1
- package/dist/scripts/notify-hook/ralph-session-resume.js +7 -0
- package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.d.ts +15 -6
- package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.js +125 -6
- package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts +3 -2
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +165 -37
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts +4 -1
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.js +33 -44
- package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +68 -5
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook/utils.d.ts +1 -1
- package/dist/scripts/notify-hook/utils.d.ts.map +1 -1
- package/dist/scripts/notify-hook/utils.js.map +1 -1
- package/dist/scripts/notify-hook.js +55 -32
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +344 -18
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/delivery-e2e-smoke.test.d.ts +2 -0
- package/dist/team/__tests__/delivery-e2e-smoke.test.d.ts.map +1 -0
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +671 -0
- package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -0
- package/dist/team/__tests__/mcp-comm.test.js +5 -0
- package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +422 -12
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/state.test.js +126 -8
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/team-ops-contract.test.js +4 -0
- package/dist/team/__tests__/team-ops-contract.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +160 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +19 -1
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +95 -23
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/contracts.d.ts +11 -1
- package/dist/team/contracts.d.ts.map +1 -1
- package/dist/team/contracts.js +29 -0
- package/dist/team/contracts.js.map +1 -1
- package/dist/team/delivery-log.d.ts +14 -0
- package/dist/team/delivery-log.d.ts.map +1 -0
- package/dist/team/delivery-log.js +35 -0
- package/dist/team/delivery-log.js.map +1 -0
- package/dist/team/idle-nudge.d.ts +2 -2
- package/dist/team/idle-nudge.js +2 -2
- package/dist/team/mcp-comm.d.ts +4 -0
- package/dist/team/mcp-comm.d.ts.map +1 -1
- package/dist/team/mcp-comm.js +84 -1
- package/dist/team/mcp-comm.js.map +1 -1
- package/dist/team/pane-status.d.ts +149 -0
- package/dist/team/pane-status.d.ts.map +1 -0
- package/dist/team/pane-status.js +558 -0
- package/dist/team/pane-status.js.map +1 -0
- package/dist/team/reminder-intents.d.ts +11 -0
- package/dist/team/reminder-intents.d.ts.map +1 -0
- package/dist/team/reminder-intents.js +40 -0
- package/dist/team/reminder-intents.js.map +1 -0
- package/dist/team/runtime-cli.d.ts +1 -1
- package/dist/team/runtime-cli.js +2 -2
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +2 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +407 -190
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +6 -5
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state/dispatch.d.ts +4 -1
- package/dist/team/state/dispatch.d.ts.map +1 -1
- package/dist/team/state/dispatch.js +59 -18
- package/dist/team/state/dispatch.js.map +1 -1
- package/dist/team/state/mailbox.d.ts.map +1 -1
- package/dist/team/state/mailbox.js +39 -2
- package/dist/team/state/mailbox.js.map +1 -1
- package/dist/team/state/monitor.d.ts +2 -1
- package/dist/team/state/monitor.d.ts.map +1 -1
- package/dist/team/state/monitor.js +30 -1
- package/dist/team/state/monitor.js.map +1 -1
- package/dist/team/state/types.d.ts +5 -2
- package/dist/team/state/types.d.ts.map +1 -1
- package/dist/team/state/types.js.map +1 -1
- package/dist/team/state.d.ts +30 -3
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +170 -2
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-ops.d.ts +5 -1
- 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 +2 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +19 -3
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +4 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +33 -6
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +63 -1
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/__tests__/platform-command.test.js +50 -4
- package/dist/utils/__tests__/platform-command.test.js.map +1 -1
- package/dist/utils/paths.d.ts +12 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +44 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/platform-command.d.ts.map +1 -1
- package/dist/utils/platform-command.js +13 -5
- package/dist/utils/platform-command.js.map +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js +10 -1
- package/dist/utils/sleep.js.map +1 -1
- package/package.json +1 -1
- package/prompts/analyst.md +2 -2
- package/prompts/api-reviewer.md +2 -2
- package/prompts/architect.md +2 -2
- package/prompts/build-fixer.md +2 -2
- package/prompts/code-reviewer.md +2 -2
- package/prompts/code-simplifier.md +1 -1
- package/prompts/critic.md +2 -2
- package/prompts/debugger.md +3 -2
- package/prompts/dependency-expert.md +2 -2
- package/prompts/designer.md +2 -2
- package/prompts/executor.md +3 -2
- package/prompts/explore.md +2 -2
- package/prompts/git-master.md +2 -2
- package/prompts/information-architect.md +2 -2
- package/prompts/performance-reviewer.md +2 -2
- package/prompts/planner.md +3 -2
- package/prompts/product-analyst.md +2 -2
- package/prompts/product-manager.md +2 -2
- package/prompts/qa-tester.md +2 -2
- package/prompts/quality-reviewer.md +2 -2
- package/prompts/quality-strategist.md +2 -2
- package/prompts/researcher.md +2 -2
- package/prompts/security-reviewer.md +2 -2
- package/prompts/sisyphus-lite.md +2 -2
- package/prompts/style-reviewer.md +2 -2
- package/prompts/team-executor.md +2 -2
- package/prompts/test-engineer.md +2 -2
- package/prompts/ux-researcher.md +2 -2
- package/prompts/verifier.md +3 -2
- package/prompts/vision.md +2 -2
- package/prompts/writer.md +2 -2
- package/skills/team/SKILL.md +18 -33
- package/src/scripts/__tests__/codex-native-hook.test.ts +931 -0
- package/src/scripts/codex-native-hook.ts +721 -0
- package/src/scripts/codex-native-pre-post.ts +161 -0
- package/src/scripts/notify-fallback-watcher.ts +318 -26
- package/src/scripts/notify-hook/auto-nudge.ts +5 -10
- package/src/scripts/notify-hook/log.ts +18 -4
- package/src/scripts/notify-hook/managed-tmux.ts +1 -0
- package/src/scripts/notify-hook/orchestration-intent.ts +82 -0
- package/src/scripts/notify-hook/process-runner.ts +4 -4
- package/src/scripts/notify-hook/ralph-session-resume.ts +9 -0
- package/src/scripts/notify-hook/team-dispatch.ts +134 -6
- package/src/scripts/notify-hook/team-leader-nudge.ts +183 -37
- package/src/scripts/notify-hook/team-tmux-guard.ts +35 -43
- package/src/scripts/notify-hook/team-worker.ts +73 -4
- package/src/scripts/notify-hook/utils.ts +1 -1
- package/src/scripts/notify-hook.ts +64 -32
- package/templates/AGENTS.md +21 -11
- package/README.de.md +0 -263
- package/README.el.md +0 -223
- package/README.es.md +0 -263
- package/README.fr.md +0 -263
- package/README.it.md +0 -263
- package/README.ja.md +0 -264
- package/README.ko.md +0 -264
- package/README.pl.md +0 -216
- package/README.pt.md +0 -263
- package/README.ru.md +0 -263
- package/README.tr.md +0 -263
- package/README.vi.md +0 -223
- package/README.zh-TW.md +0 -293
- package/README.zh.md +0 -264
- package/dist/mcp/__tests__/team-server-cleanup.test.d.ts +0 -2
- package/dist/mcp/__tests__/team-server-cleanup.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/team-server-cleanup.test.js +0 -219
- package/dist/mcp/__tests__/team-server-cleanup.test.js.map +0 -1
- package/dist/mcp/__tests__/team-server-runtime-deps.test.d.ts +0 -2
- package/dist/mcp/__tests__/team-server-runtime-deps.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/team-server-runtime-deps.test.js +0 -13
- package/dist/mcp/__tests__/team-server-runtime-deps.test.js.map +0 -1
- package/dist/mcp/__tests__/team-server-wait.test.d.ts +0 -2
- package/dist/mcp/__tests__/team-server-wait.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/team-server-wait.test.js +0 -155
- package/dist/mcp/__tests__/team-server-wait.test.js.map +0 -1
- package/dist/mcp/team-server.d.ts +0 -24
- package/dist/mcp/team-server.d.ts.map +0 -1
- package/dist/mcp/team-server.js +0 -482
- package/dist/mcp/team-server.js.map +0 -1
|
@@ -0,0 +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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"}
|
|
@@ -27,6 +27,7 @@ describe('mcp-comm', () => {
|
|
|
27
27
|
workerIndex: 1,
|
|
28
28
|
inbox: '# hi',
|
|
29
29
|
triggerMessage: 'trigger',
|
|
30
|
+
intent: 'followup-relaunch',
|
|
30
31
|
cwd,
|
|
31
32
|
notify: async () => {
|
|
32
33
|
events.push('notify');
|
|
@@ -40,6 +41,8 @@ describe('mcp-comm', () => {
|
|
|
40
41
|
assert.equal(outcome.transport, 'tmux_send_keys');
|
|
41
42
|
assert.ok(outcome.request_id);
|
|
42
43
|
assert.deepEqual(events, ['notify']);
|
|
44
|
+
const requests = await listDispatchRequests('alpha', cwd, { kind: 'inbox' });
|
|
45
|
+
assert.equal(requests[0]?.intent, 'followup-relaunch');
|
|
43
46
|
}
|
|
44
47
|
finally {
|
|
45
48
|
await rm(cwd, { recursive: true, force: true });
|
|
@@ -56,6 +59,7 @@ describe('mcp-comm', () => {
|
|
|
56
59
|
toWorkerIndex: 2,
|
|
57
60
|
body: 'hello',
|
|
58
61
|
triggerMessage: 'check mailbox',
|
|
62
|
+
intent: 'pending-mailbox-review',
|
|
59
63
|
cwd,
|
|
60
64
|
notify: async () => ({ ok: true, transport: 'tmux_send_keys', reason: 'sent' }),
|
|
61
65
|
});
|
|
@@ -69,6 +73,7 @@ describe('mcp-comm', () => {
|
|
|
69
73
|
const requests = await listDispatchRequests('alpha', cwd, { kind: 'mailbox' });
|
|
70
74
|
assert.equal(requests.length, 1);
|
|
71
75
|
assert.equal(requests[0]?.message_id, mailbox[0]?.message_id);
|
|
76
|
+
assert.equal(requests[0]?.intent, 'pending-mailbox-review');
|
|
72
77
|
}
|
|
73
78
|
finally {
|
|
74
79
|
await rm(cwd, { recursive: true, force: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-comm.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/mcp-comm.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-comm.test.js","sourceRoot":"","sources":["../../../src/team/__tests__/mcp-comm.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ import { join } from 'path';
|
|
|
6
6
|
import { tmpdir } from 'os';
|
|
7
7
|
import { existsSync } from 'fs';
|
|
8
8
|
import { HUD_TMUX_TEAM_HEIGHT_LINES } from '../../hud/constants.js';
|
|
9
|
-
import { initTeamState, createTask, readTeamConfig, saveTeamConfig, listMailboxMessages, listDispatchRequests, updateWorkerHeartbeat, writeAtomic, readTask, readMonitorSnapshot, claimTask, transitionTaskStatus, writeWorkerStatus, } from '../state.js';
|
|
10
|
-
import { monitorTeam, shutdownTeam, resumeTeam, startTeam, assignTask, sendWorkerMessage, resolveWorkerLaunchArgsFromEnv, waitForWorkerStartupEvidence, waitForClaudeStartupEvidence, } from '../runtime.js';
|
|
9
|
+
import { initTeamState, createTask, readTeamConfig, saveTeamConfig, listMailboxMessages, listDispatchRequests, transitionDispatchRequest, updateWorkerHeartbeat, writeAtomic, readTask, readMonitorSnapshot, claimTask, transitionTaskStatus, writeWorkerStatus, } from '../state.js';
|
|
10
|
+
import { monitorTeam, shutdownTeam, resumeTeam, startTeam, assignTask, sendWorkerMessage, applyCreatedInteractiveSessionToConfig, resolveWorkerLaunchArgsFromEnv, waitForWorkerStartupEvidence, waitForClaudeStartupEvidence, } from '../runtime.js';
|
|
11
11
|
import { resolveTeamLowComplexityDefaultModel } from '../model-contract.js';
|
|
12
12
|
import { readTeamEvents } from '../state/events.js';
|
|
13
13
|
async function initRepo() {
|
|
@@ -28,6 +28,15 @@ async function addWorktree(repo, branchName, pathPrefix) {
|
|
|
28
28
|
function expectedLowComplexityModel(codexHomeOverride) {
|
|
29
29
|
return resolveTeamLowComplexityDefaultModel(codexHomeOverride);
|
|
30
30
|
}
|
|
31
|
+
async function readTeamDeliveryLog(cwd) {
|
|
32
|
+
const path = join(cwd, '.omx', 'logs', `team-delivery-${new Date().toISOString().slice(0, 10)}.jsonl`);
|
|
33
|
+
const raw = await readFile(path, 'utf-8').catch(() => '');
|
|
34
|
+
return raw
|
|
35
|
+
.split('\n')
|
|
36
|
+
.map((line) => line.trim())
|
|
37
|
+
.filter(Boolean)
|
|
38
|
+
.map((line) => JSON.parse(line));
|
|
39
|
+
}
|
|
31
40
|
function withEmptyPath(fn) {
|
|
32
41
|
const prev = process.env.PATH;
|
|
33
42
|
process.env.PATH = '';
|
|
@@ -437,8 +446,9 @@ sleep 5
|
|
|
437
446
|
runtime = null;
|
|
438
447
|
}
|
|
439
448
|
finally {
|
|
440
|
-
|
|
441
|
-
|
|
449
|
+
const activeRuntime = runtime;
|
|
450
|
+
if (activeRuntime) {
|
|
451
|
+
await shutdownTeam(activeRuntime.teamName, cwd, { force: true }).catch(() => { });
|
|
442
452
|
}
|
|
443
453
|
if (typeof prevPath === 'string')
|
|
444
454
|
process.env.PATH = prevPath;
|
|
@@ -486,6 +496,176 @@ sleep 5
|
|
|
486
496
|
await rm(cwd, { recursive: true, force: true });
|
|
487
497
|
}
|
|
488
498
|
});
|
|
499
|
+
it('startTeam accepts native Windows tmux clients even when TMUX env vars are absent', async () => {
|
|
500
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-win32-no-env-'));
|
|
501
|
+
const prevTmux = process.env.TMUX;
|
|
502
|
+
const prevTmuxPane = process.env.TMUX_PANE;
|
|
503
|
+
const prevLaunchMode = process.env.OMX_TEAM_WORKER_LAUNCH_MODE;
|
|
504
|
+
const prevWorkerCli = process.env.OMX_TEAM_WORKER_CLI;
|
|
505
|
+
const prevSkipReadyWait = process.env.OMX_TEAM_SKIP_READY_WAIT;
|
|
506
|
+
const prevMsystem = process.env.MSYSTEM;
|
|
507
|
+
const prevOstype = process.env.OSTYPE;
|
|
508
|
+
const prevWsl = process.env.WSL_DISTRO_NAME;
|
|
509
|
+
const prevWslInterop = process.env.WSL_INTEROP;
|
|
510
|
+
const origPlatform = Object.getOwnPropertyDescriptor(process, 'platform');
|
|
511
|
+
let runtime = null;
|
|
512
|
+
let teamNameForCleanup = null;
|
|
513
|
+
try {
|
|
514
|
+
await withMockTmuxFixture({
|
|
515
|
+
dirPrefix: 'omx-runtime-win32-no-env-',
|
|
516
|
+
tmuxScript: (tmuxLogPath) => `#!/bin/sh
|
|
517
|
+
set -eu
|
|
518
|
+
printf '%s\\n' "$*" >> "${tmuxLogPath}"
|
|
519
|
+
case "\${1:-}" in
|
|
520
|
+
-V)
|
|
521
|
+
echo "tmux 3.4"
|
|
522
|
+
exit 0
|
|
523
|
+
;;
|
|
524
|
+
display-message)
|
|
525
|
+
case "$*" in
|
|
526
|
+
*"#{window_width}"*)
|
|
527
|
+
echo "120"
|
|
528
|
+
;;
|
|
529
|
+
*)
|
|
530
|
+
echo "leader:0 %1"
|
|
531
|
+
;;
|
|
532
|
+
esac
|
|
533
|
+
exit 0
|
|
534
|
+
;;
|
|
535
|
+
list-panes)
|
|
536
|
+
printf "%%1\\tnode\\t'codex'\\n"
|
|
537
|
+
exit 0
|
|
538
|
+
;;
|
|
539
|
+
split-window)
|
|
540
|
+
case "$*" in
|
|
541
|
+
*" -h "*)
|
|
542
|
+
echo "%2"
|
|
543
|
+
;;
|
|
544
|
+
*)
|
|
545
|
+
echo "%3"
|
|
546
|
+
;;
|
|
547
|
+
esac
|
|
548
|
+
exit 0
|
|
549
|
+
;;
|
|
550
|
+
resize-pane|select-layout|set-window-option|select-pane|kill-pane|set-hook|run-shell)
|
|
551
|
+
exit 0
|
|
552
|
+
;;
|
|
553
|
+
*)
|
|
554
|
+
exit 0
|
|
555
|
+
;;
|
|
556
|
+
esac
|
|
557
|
+
`,
|
|
558
|
+
binaries: [{
|
|
559
|
+
name: 'gemini',
|
|
560
|
+
content: '#!/bin/sh\nexit 0\n',
|
|
561
|
+
}],
|
|
562
|
+
}, async ({ tmuxLogPath }) => {
|
|
563
|
+
delete process.env.TMUX;
|
|
564
|
+
delete process.env.TMUX_PANE;
|
|
565
|
+
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = 'interactive';
|
|
566
|
+
process.env.OMX_TEAM_WORKER_CLI = 'gemini';
|
|
567
|
+
process.env.OMX_TEAM_SKIP_READY_WAIT = '1';
|
|
568
|
+
delete process.env.MSYSTEM;
|
|
569
|
+
delete process.env.OSTYPE;
|
|
570
|
+
delete process.env.WSL_DISTRO_NAME;
|
|
571
|
+
delete process.env.WSL_INTEROP;
|
|
572
|
+
Object.defineProperty(process, 'platform', { value: 'win32', configurable: true });
|
|
573
|
+
runtime = await withoutTeamWorkerEnv(() => startTeam('team-win32-no-env', 'native windows current-client detection', 'executor', 1, [{ subject: 's', description: 'd', owner: 'worker-1' }], cwd));
|
|
574
|
+
teamNameForCleanup = runtime.teamName;
|
|
575
|
+
assert.equal(runtime.config.tmux_session, 'leader:0');
|
|
576
|
+
assert.equal(runtime.config.leader_pane_id, '%1');
|
|
577
|
+
assert.equal(runtime.config.hud_pane_id, '%3');
|
|
578
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
579
|
+
assert.match(tmuxLog, /display-message -p #S:#I #{pane_id}/);
|
|
580
|
+
assert.match(tmuxLog, new RegExp(`resize-pane -t %3 -y ${HUD_TMUX_TEAM_HEIGHT_LINES}`));
|
|
581
|
+
if (teamNameForCleanup) {
|
|
582
|
+
await shutdownTeam(teamNameForCleanup, cwd, { force: true });
|
|
583
|
+
}
|
|
584
|
+
runtime = null;
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
finally {
|
|
588
|
+
if (teamNameForCleanup) {
|
|
589
|
+
await shutdownTeam(teamNameForCleanup, cwd, { force: true }).catch(() => { });
|
|
590
|
+
}
|
|
591
|
+
if (origPlatform)
|
|
592
|
+
Object.defineProperty(process, 'platform', origPlatform);
|
|
593
|
+
if (typeof prevTmux === 'string')
|
|
594
|
+
process.env.TMUX = prevTmux;
|
|
595
|
+
else
|
|
596
|
+
delete process.env.TMUX;
|
|
597
|
+
if (typeof prevTmuxPane === 'string')
|
|
598
|
+
process.env.TMUX_PANE = prevTmuxPane;
|
|
599
|
+
else
|
|
600
|
+
delete process.env.TMUX_PANE;
|
|
601
|
+
if (typeof prevLaunchMode === 'string')
|
|
602
|
+
process.env.OMX_TEAM_WORKER_LAUNCH_MODE = prevLaunchMode;
|
|
603
|
+
else
|
|
604
|
+
delete process.env.OMX_TEAM_WORKER_LAUNCH_MODE;
|
|
605
|
+
if (typeof prevWorkerCli === 'string')
|
|
606
|
+
process.env.OMX_TEAM_WORKER_CLI = prevWorkerCli;
|
|
607
|
+
else
|
|
608
|
+
delete process.env.OMX_TEAM_WORKER_CLI;
|
|
609
|
+
if (typeof prevSkipReadyWait === 'string')
|
|
610
|
+
process.env.OMX_TEAM_SKIP_READY_WAIT = prevSkipReadyWait;
|
|
611
|
+
else
|
|
612
|
+
delete process.env.OMX_TEAM_SKIP_READY_WAIT;
|
|
613
|
+
if (typeof prevMsystem === 'string')
|
|
614
|
+
process.env.MSYSTEM = prevMsystem;
|
|
615
|
+
else
|
|
616
|
+
delete process.env.MSYSTEM;
|
|
617
|
+
if (typeof prevOstype === 'string')
|
|
618
|
+
process.env.OSTYPE = prevOstype;
|
|
619
|
+
else
|
|
620
|
+
delete process.env.OSTYPE;
|
|
621
|
+
if (typeof prevWsl === 'string')
|
|
622
|
+
process.env.WSL_DISTRO_NAME = prevWsl;
|
|
623
|
+
else
|
|
624
|
+
delete process.env.WSL_DISTRO_NAME;
|
|
625
|
+
if (typeof prevWslInterop === 'string')
|
|
626
|
+
process.env.WSL_INTEROP = prevWslInterop;
|
|
627
|
+
else
|
|
628
|
+
delete process.env.WSL_INTEROP;
|
|
629
|
+
await rm(cwd, { recursive: true, force: true });
|
|
630
|
+
}
|
|
631
|
+
});
|
|
632
|
+
it('applyCreatedInteractiveSessionToConfig persists worker pane ids before readiness waits', async () => {
|
|
633
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-pane-persist-race-'));
|
|
634
|
+
try {
|
|
635
|
+
const config = await initTeamState('team-pane-persist-race', 'persist pane ids before readiness wait', 'executor', 2, cwd);
|
|
636
|
+
const workerPaneIds = Array.from({ length: 2 }, () => undefined);
|
|
637
|
+
applyCreatedInteractiveSessionToConfig(config, {
|
|
638
|
+
name: 'leader:0',
|
|
639
|
+
workerCount: 2,
|
|
640
|
+
cwd,
|
|
641
|
+
workerPaneIds: ['%2', '%3'],
|
|
642
|
+
leaderPaneId: '%1',
|
|
643
|
+
hudPaneId: '%4',
|
|
644
|
+
resizeHookName: 'resize-hook',
|
|
645
|
+
resizeHookTarget: 'leader:0',
|
|
646
|
+
}, workerPaneIds);
|
|
647
|
+
assert.equal(config.tmux_session, 'leader:0');
|
|
648
|
+
assert.equal(config.leader_pane_id, '%1');
|
|
649
|
+
assert.equal(config.hud_pane_id, '%4');
|
|
650
|
+
assert.deepEqual(workerPaneIds, ['%2', '%3']);
|
|
651
|
+
assert.equal(config.workers[0]?.pane_id, '%2');
|
|
652
|
+
assert.equal(config.workers[1]?.pane_id, '%3');
|
|
653
|
+
}
|
|
654
|
+
finally {
|
|
655
|
+
await rm(cwd, { recursive: true, force: true });
|
|
656
|
+
}
|
|
657
|
+
});
|
|
658
|
+
it('startTeam saves interactive pane ids before readiness waits in source order', async () => {
|
|
659
|
+
const source = await readFile(join(process.cwd(), 'src', 'team', 'runtime.ts'), 'utf-8');
|
|
660
|
+
const applyIndex = source.indexOf('applyCreatedInteractiveSessionToConfig(config, createdSession, workerPaneIds);');
|
|
661
|
+
const saveIndex = source.indexOf('await saveTeamConfig(config, leaderCwd);', applyIndex);
|
|
662
|
+
const readyIndex = source.indexOf('const ready = waitForWorkerReady(sessionName, i, workerReadyTimeoutMs, paneId);', saveIndex);
|
|
663
|
+
assert.notEqual(applyIndex, -1);
|
|
664
|
+
assert.notEqual(saveIndex, -1);
|
|
665
|
+
assert.notEqual(readyIndex, -1);
|
|
666
|
+
assert.equal(applyIndex < saveIndex, true);
|
|
667
|
+
assert.equal(saveIndex < readyIndex, true);
|
|
668
|
+
});
|
|
489
669
|
it('startTeam rejects dirty leader workspace before provisioning worker worktrees', async () => {
|
|
490
670
|
const repo = await initRepo();
|
|
491
671
|
const prevLaunchMode = process.env.OMX_TEAM_WORKER_LAUNCH_MODE;
|
|
@@ -536,21 +716,25 @@ sleep 5
|
|
|
536
716
|
runtime = await withoutTeamWorkerEnv(() => startTeam('team-gemini-prompt', 'gemini prompt-mode team bootstrap', 'explore', 1, [{ subject: 's', description: 'd', owner: 'worker-1' }], cwd));
|
|
537
717
|
assert.equal(runtime.config.worker_launch_mode, 'prompt');
|
|
538
718
|
assert.equal((runtime.config.workers[0]?.pid ?? 0) > 0, true);
|
|
719
|
+
const expectedArgv = [
|
|
720
|
+
'--approval-mode',
|
|
721
|
+
'yolo',
|
|
722
|
+
'-i',
|
|
723
|
+
'Read .omx/state/team/team-gemini-prompt/workers/worker-1/inbox.md, start work now, report concrete progress, then continue assigned work or next feasible task.',
|
|
724
|
+
];
|
|
539
725
|
let argv = null;
|
|
540
726
|
for (let attempt = 0; attempt < 50; attempt += 1) {
|
|
541
727
|
if (existsSync(capturePath)) {
|
|
542
|
-
|
|
543
|
-
|
|
728
|
+
const captured = (await readFile(capturePath, 'utf-8')).trim().split('\n').filter(Boolean);
|
|
729
|
+
if (captured.length >= expectedArgv.length) {
|
|
730
|
+
argv = captured;
|
|
731
|
+
break;
|
|
732
|
+
}
|
|
544
733
|
}
|
|
545
734
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
546
735
|
}
|
|
547
736
|
assert.ok(argv, 'gemini argv capture file should be written');
|
|
548
|
-
assert.deepEqual(argv,
|
|
549
|
-
'--approval-mode',
|
|
550
|
-
'yolo',
|
|
551
|
-
'-i',
|
|
552
|
-
'Read .omx/state/team/team-gemini-prompt/workers/worker-1/inbox.md, start work now, report concrete progress, then continue assigned work or next feasible task.',
|
|
553
|
-
]);
|
|
737
|
+
assert.deepEqual(argv, expectedArgv);
|
|
554
738
|
await shutdownTeam(runtime.teamName, cwd, { force: true });
|
|
555
739
|
runtime = null;
|
|
556
740
|
}
|
|
@@ -1825,6 +2009,72 @@ process.on('SIGTERM', () => process.exit(0));
|
|
|
1825
2009
|
await rm(repo, { recursive: true, force: true });
|
|
1826
2010
|
}
|
|
1827
2011
|
});
|
|
2012
|
+
it('monitorTeam does not emit INTEGRATED when merge reports success but leader HEAD never advances', async () => {
|
|
2013
|
+
const repo = await initRepo();
|
|
2014
|
+
let workerPath = '';
|
|
2015
|
+
const fakeBinDir = await mkdtemp(join(tmpdir(), 'omx-runtime-fake-git-'));
|
|
2016
|
+
const previousPath = process.env.PATH;
|
|
2017
|
+
const previousFakeMode = process.env.OMX_FAKE_GIT_SUCCESS_NOOP;
|
|
2018
|
+
try {
|
|
2019
|
+
workerPath = await addWorktree(repo, 'wk1-merge-noadvance-branch', 'omx-runtime-wk1-merge-noadvance-');
|
|
2020
|
+
await writeFile(join(workerPath, 'feature.txt'), 'new feature\n', 'utf-8');
|
|
2021
|
+
execFileSync('git', ['add', 'feature.txt'], { cwd: workerPath, stdio: 'ignore' });
|
|
2022
|
+
execFileSync('git', ['commit', '-m', 'worker feature'], { cwd: workerPath, stdio: 'ignore' });
|
|
2023
|
+
await initTeamState('team-merge-noadvance', 'merge no advance test', 'executor', 1, repo);
|
|
2024
|
+
const cfg = await readTeamConfig('team-merge-noadvance', repo);
|
|
2025
|
+
assert.ok(cfg);
|
|
2026
|
+
if (!cfg)
|
|
2027
|
+
throw new Error('missing config');
|
|
2028
|
+
cfg.leader_pane_id = '';
|
|
2029
|
+
cfg.workers[0] = {
|
|
2030
|
+
...cfg.workers[0],
|
|
2031
|
+
assigned_tasks: ['1'],
|
|
2032
|
+
worktree_repo_root: repo,
|
|
2033
|
+
worktree_path: workerPath,
|
|
2034
|
+
worktree_branch: 'wk1-merge-noadvance-branch',
|
|
2035
|
+
worktree_detached: false,
|
|
2036
|
+
worktree_created: false,
|
|
2037
|
+
};
|
|
2038
|
+
await saveTeamConfig(cfg, repo);
|
|
2039
|
+
const realGit = execFileSync('bash', ['-lc', 'command -v git'], { encoding: 'utf-8' }).trim();
|
|
2040
|
+
await writeFile(join(fakeBinDir, 'git'), `#!/usr/bin/env bash
|
|
2041
|
+
set -euo pipefail
|
|
2042
|
+
if [[ "\${OMX_FAKE_GIT_SUCCESS_NOOP:-}" == "merge" && "\${1:-}" == "merge" ]]; then
|
|
2043
|
+
exit 0
|
|
2044
|
+
fi
|
|
2045
|
+
exec "${realGit}" "$@"
|
|
2046
|
+
`, { mode: 0o755 });
|
|
2047
|
+
process.env.PATH = `${fakeBinDir}:${previousPath ?? ''}`;
|
|
2048
|
+
process.env.OMX_FAKE_GIT_SUCCESS_NOOP = 'merge';
|
|
2049
|
+
const leaderHeadBefore = execFileSync('git', ['rev-parse', 'HEAD'], { cwd: repo, encoding: 'utf-8' }).trim();
|
|
2050
|
+
await monitorTeam('team-merge-noadvance', repo);
|
|
2051
|
+
const leaderHeadAfter = execFileSync(realGit, ['rev-parse', 'HEAD'], { cwd: repo, encoding: 'utf-8' }).trim();
|
|
2052
|
+
assert.equal(leaderHeadAfter, leaderHeadBefore, 'leader HEAD should stay unchanged in regression setup');
|
|
2053
|
+
const snapshot = await readMonitorSnapshot('team-merge-noadvance', repo);
|
|
2054
|
+
assert.equal(snapshot?.integrationByWorker?.['worker-1']?.status, 'integration_failed');
|
|
2055
|
+
assert.equal(snapshot?.integrationByWorker?.['worker-1']?.last_integrated_head, undefined);
|
|
2056
|
+
const leaderMailbox = await listMailboxMessages('team-merge-noadvance', 'leader-fixed', repo);
|
|
2057
|
+
assert.equal(leaderMailbox.some((message) => /INTEGRATED:/.test(message.body)), false);
|
|
2058
|
+
assert.equal(leaderMailbox.some((message) => /INTEGRATION FAILED:/.test(message.body)), true);
|
|
2059
|
+
const events = await readTeamEvents('team-merge-noadvance', repo, { wakeableOnly: false });
|
|
2060
|
+
assert.equal(events.some((event) => event.type === 'worker_integration_failed'), true);
|
|
2061
|
+
}
|
|
2062
|
+
finally {
|
|
2063
|
+
if (typeof previousPath === 'string')
|
|
2064
|
+
process.env.PATH = previousPath;
|
|
2065
|
+
else
|
|
2066
|
+
delete process.env.PATH;
|
|
2067
|
+
if (typeof previousFakeMode === 'string')
|
|
2068
|
+
process.env.OMX_FAKE_GIT_SUCCESS_NOOP = previousFakeMode;
|
|
2069
|
+
else
|
|
2070
|
+
delete process.env.OMX_FAKE_GIT_SUCCESS_NOOP;
|
|
2071
|
+
await rm(fakeBinDir, { recursive: true, force: true });
|
|
2072
|
+
if (workerPath) {
|
|
2073
|
+
await rm(workerPath, { recursive: true, force: true });
|
|
2074
|
+
}
|
|
2075
|
+
await rm(repo, { recursive: true, force: true });
|
|
2076
|
+
}
|
|
2077
|
+
});
|
|
1828
2078
|
it('monitorTeam uses cherry-pick for diverged worker (hybrid cherry-pick path)', async () => {
|
|
1829
2079
|
const repo = await initRepo();
|
|
1830
2080
|
let workerPath = '';
|
|
@@ -2443,6 +2693,92 @@ esac
|
|
|
2443
2693
|
await rm(cwd, { recursive: true, force: true });
|
|
2444
2694
|
}
|
|
2445
2695
|
});
|
|
2696
|
+
it('shutdownTeam reconciles persisted worker panes with live tmux panes before teardown', async () => {
|
|
2697
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-shutdown-pane-reconcile-'));
|
|
2698
|
+
try {
|
|
2699
|
+
await withMockTmuxFixture({
|
|
2700
|
+
dirPrefix: 'omx-runtime-shutdown-pane-reconcile-bin-',
|
|
2701
|
+
tmuxScript: (tmuxLogPath) => `#!/bin/sh
|
|
2702
|
+
set -eu
|
|
2703
|
+
printf '%s\\n' "$*" >> "${tmuxLogPath}"
|
|
2704
|
+
restored_marker="${tmuxLogPath}.restored"
|
|
2705
|
+
case "$1" in
|
|
2706
|
+
-V)
|
|
2707
|
+
echo "tmux 3.4"
|
|
2708
|
+
exit 0
|
|
2709
|
+
;;
|
|
2710
|
+
list-panes)
|
|
2711
|
+
case "$*" in
|
|
2712
|
+
*"-t leader:0 -F #{pane_dead} #{pane_pid}"*)
|
|
2713
|
+
exit 1
|
|
2714
|
+
;;
|
|
2715
|
+
*"-t %13 -F #{pane_pid}"*)
|
|
2716
|
+
echo "1013"
|
|
2717
|
+
exit 0
|
|
2718
|
+
;;
|
|
2719
|
+
*"-t %14 -F #{pane_pid}"*)
|
|
2720
|
+
echo "1014"
|
|
2721
|
+
exit 0
|
|
2722
|
+
;;
|
|
2723
|
+
*"-t leader:0 -F #{pane_id}"*"#{pane_current_command}"*)
|
|
2724
|
+
printf "%%11\\tzsh\\tzsh\\n%%12\\tnode\\tnode /tmp/bin/omx.js hud --watch\\n%%13\\tcodex\\tcodex\\n%%14\\tcodex\\tcodex\\n"
|
|
2725
|
+
if [ -f "$restored_marker" ]; then
|
|
2726
|
+
printf "%%44\\tnode\\tnode /tmp/bin/omx.js hud --watch\\n"
|
|
2727
|
+
fi
|
|
2728
|
+
exit 0
|
|
2729
|
+
;;
|
|
2730
|
+
*)
|
|
2731
|
+
exit 1
|
|
2732
|
+
;;
|
|
2733
|
+
esac
|
|
2734
|
+
;;
|
|
2735
|
+
split-window)
|
|
2736
|
+
: > "$restored_marker"
|
|
2737
|
+
printf '%%44\\n'
|
|
2738
|
+
exit 0
|
|
2739
|
+
;;
|
|
2740
|
+
kill-pane)
|
|
2741
|
+
if [ "\${3:-}" = "%999" ]; then
|
|
2742
|
+
echo "missing pane" >&2
|
|
2743
|
+
exit 1
|
|
2744
|
+
fi
|
|
2745
|
+
exit 0
|
|
2746
|
+
;;
|
|
2747
|
+
kill-session|select-pane|run-shell)
|
|
2748
|
+
exit 0
|
|
2749
|
+
;;
|
|
2750
|
+
*)
|
|
2751
|
+
exit 0
|
|
2752
|
+
;;
|
|
2753
|
+
esac
|
|
2754
|
+
`,
|
|
2755
|
+
}, async ({ tmuxLogPath }) => {
|
|
2756
|
+
await initTeamState('team-shutdown-pane-reconcile', 'shutdown pane reconcile test', 'executor', 2, cwd);
|
|
2757
|
+
const config = await readTeamConfig('team-shutdown-pane-reconcile', cwd);
|
|
2758
|
+
assert.ok(config);
|
|
2759
|
+
if (!config)
|
|
2760
|
+
return;
|
|
2761
|
+
config.tmux_session = 'leader:0';
|
|
2762
|
+
config.leader_pane_id = '%11';
|
|
2763
|
+
config.hud_pane_id = '%12';
|
|
2764
|
+
config.workers[0].pane_id = '';
|
|
2765
|
+
config.workers[1].pane_id = '%999';
|
|
2766
|
+
await saveTeamConfig(config, cwd);
|
|
2767
|
+
await shutdownTeam('team-shutdown-pane-reconcile', cwd, { force: true });
|
|
2768
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
2769
|
+
assert.doesNotMatch(tmuxLog, /kill-pane -t %11/);
|
|
2770
|
+
assert.match(tmuxLog, /kill-pane -t %12/);
|
|
2771
|
+
assert.match(tmuxLog, /kill-pane -t %13/);
|
|
2772
|
+
assert.match(tmuxLog, /kill-pane -t %14/);
|
|
2773
|
+
assert.match(tmuxLog, /kill-pane -t %999/);
|
|
2774
|
+
assert.match(tmuxLog, new RegExp(`split-window -v -l ${HUD_TMUX_TEAM_HEIGHT_LINES} -t %11 -d -P -F #\{pane_id\}`));
|
|
2775
|
+
assert.doesNotMatch(tmuxLog, /kill-pane -t %44/);
|
|
2776
|
+
});
|
|
2777
|
+
}
|
|
2778
|
+
finally {
|
|
2779
|
+
await rm(cwd, { recursive: true, force: true });
|
|
2780
|
+
}
|
|
2781
|
+
});
|
|
2446
2782
|
it('shutdownTeam restores a standalone HUD pane after tearing down the team HUD', async () => {
|
|
2447
2783
|
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-shutdown-restore-hud-'));
|
|
2448
2784
|
try {
|
|
@@ -2937,6 +3273,73 @@ esac
|
|
|
2937
3273
|
const latest = requests[requests.length - 1];
|
|
2938
3274
|
assert.equal(latest?.status, 'notified');
|
|
2939
3275
|
assert.equal(latest?.last_reason, 'fallback_confirmed:leader_mailbox_notified');
|
|
3276
|
+
const deliveryLog = await readTeamDeliveryLog(cwd);
|
|
3277
|
+
const runtimeEntries = deliveryLog.filter((entry) => entry.event === 'dispatch_result'
|
|
3278
|
+
&& entry.source === 'team.runtime'
|
|
3279
|
+
&& entry.to_worker === 'leader-fixed'
|
|
3280
|
+
&& entry.transport === 'mailbox'
|
|
3281
|
+
&& entry.result === 'confirmed'
|
|
3282
|
+
&& typeof entry.reason === 'string'
|
|
3283
|
+
&& String(entry.reason).includes('leader_mailbox_notified'));
|
|
3284
|
+
assert.equal(runtimeEntries.length, 1, 'leader hook-preferred confirmation should emit exactly one runtime dispatch_result entry');
|
|
3285
|
+
});
|
|
3286
|
+
}
|
|
3287
|
+
finally {
|
|
3288
|
+
await rm(cwd, { recursive: true, force: true });
|
|
3289
|
+
}
|
|
3290
|
+
});
|
|
3291
|
+
it('sendWorkerMessage keeps failed hook receipts failed when fallback mailbox persistence confirms delivery', async () => {
|
|
3292
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-runtime-leader-failed-receipt-'));
|
|
3293
|
+
try {
|
|
3294
|
+
await withMockTmuxFixture({
|
|
3295
|
+
dirPrefix: 'omx-runtime-leader-failed-receipt-bin-',
|
|
3296
|
+
tmuxScript: (tmuxLogPath) => `#!/bin/sh
|
|
3297
|
+
set -eu
|
|
3298
|
+
printf '%s\n' "$*" >> "${tmuxLogPath}"
|
|
3299
|
+
case "\${1:-}" in
|
|
3300
|
+
send-keys)
|
|
3301
|
+
exit 0
|
|
3302
|
+
;;
|
|
3303
|
+
*)
|
|
3304
|
+
exit 0
|
|
3305
|
+
;;
|
|
3306
|
+
esac
|
|
3307
|
+
`,
|
|
3308
|
+
}, async () => {
|
|
3309
|
+
await initTeamState('team-leader-failed-receipt', 'leader failed receipt fallback test', 'executor', 1, cwd);
|
|
3310
|
+
const cfg = await readTeamConfig('team-leader-failed-receipt', cwd);
|
|
3311
|
+
assert.ok(cfg);
|
|
3312
|
+
if (!cfg)
|
|
3313
|
+
throw new Error('missing team config');
|
|
3314
|
+
cfg.leader_pane_id = '%55';
|
|
3315
|
+
await saveTeamConfig(cfg, cwd);
|
|
3316
|
+
const manifestPath = teamStateTestPath(cwd, 'team', 'team-leader-failed-receipt', 'manifest.v2.json');
|
|
3317
|
+
const manifest = JSON.parse(await readFile(manifestPath, 'utf-8'));
|
|
3318
|
+
manifest.policy = { ...(manifest.policy || {}), dispatch_ack_timeout_ms: 250 };
|
|
3319
|
+
await writeFile(manifestPath, JSON.stringify(manifest, null, 2));
|
|
3320
|
+
const sendPromise = sendWorkerMessage('team-leader-failed-receipt', 'worker-1', 'leader-fixed', 'hello failed receipt', cwd);
|
|
3321
|
+
const deadline = Date.now() + 2_000;
|
|
3322
|
+
let requestId = null;
|
|
3323
|
+
while (Date.now() < deadline && !requestId) {
|
|
3324
|
+
const requests = await listDispatchRequests('team-leader-failed-receipt', cwd, { kind: 'mailbox', to_worker: 'leader-fixed' });
|
|
3325
|
+
requestId = requests[requests.length - 1]?.request_id ?? null;
|
|
3326
|
+
if (!requestId)
|
|
3327
|
+
await new Promise((resolve) => setTimeout(resolve, 20));
|
|
3328
|
+
}
|
|
3329
|
+
assert.ok(requestId, 'expected mailbox dispatch request to be queued');
|
|
3330
|
+
if (!requestId)
|
|
3331
|
+
throw new Error('missing request id');
|
|
3332
|
+
await transitionDispatchRequest('team-leader-failed-receipt', requestId, 'pending', 'failed', { last_reason: 'hook_failed:test_receipt' }, cwd);
|
|
3333
|
+
const outcome = await sendPromise;
|
|
3334
|
+
assert.equal(outcome.ok, true);
|
|
3335
|
+
assert.equal(outcome.reason, 'fallback_confirmed_after_failed_receipt:leader_mailbox_notified');
|
|
3336
|
+
const requests = await listDispatchRequests('team-leader-failed-receipt', cwd, { kind: 'mailbox', to_worker: 'leader-fixed' });
|
|
3337
|
+
const latest = requests[requests.length - 1];
|
|
3338
|
+
assert.equal(latest?.request_id, requestId);
|
|
3339
|
+
assert.equal(latest?.status, 'failed');
|
|
3340
|
+
assert.equal(latest?.last_reason, 'fallback_confirmed_after_failed_receipt:leader_mailbox_notified');
|
|
3341
|
+
const mailbox = await listMailboxMessages('team-leader-failed-receipt', 'leader-fixed', cwd);
|
|
3342
|
+
assert.ok(mailbox[0]?.notified_at, 'fallback mailbox persistence should still mark notified_at');
|
|
2940
3343
|
});
|
|
2941
3344
|
}
|
|
2942
3345
|
finally {
|
|
@@ -2963,6 +3366,13 @@ esac
|
|
|
2963
3366
|
const pending = requests.find((r) => r.status === 'pending' && r.to_worker === 'leader-fixed');
|
|
2964
3367
|
assert.ok(pending, 'expected a pending leader-fixed dispatch request');
|
|
2965
3368
|
assert.equal(pending?.last_reason, 'leader_pane_missing_deferred');
|
|
3369
|
+
const deliveryLog = await readTeamDeliveryLog(cwd);
|
|
3370
|
+
const runtimeEntries = deliveryLog.filter((entry) => entry.event === 'dispatch_result'
|
|
3371
|
+
&& entry.source === 'team.runtime'
|
|
3372
|
+
&& entry.to_worker === 'leader-fixed'
|
|
3373
|
+
&& entry.transport === 'mailbox'
|
|
3374
|
+
&& entry.reason === 'leader_pane_missing_mailbox_persisted');
|
|
3375
|
+
assert.equal(runtimeEntries.length, 1, 'leader missing-pane fallback should emit exactly one runtime dispatch_result entry');
|
|
2966
3376
|
}
|
|
2967
3377
|
finally {
|
|
2968
3378
|
await rm(cwd, { recursive: true, force: true });
|