oh-my-codex 0.11.11 → 0.11.13
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.de.md +12 -6
- package/README.el.md +223 -0
- package/README.es.md +12 -6
- package/README.fr.md +11 -5
- package/README.it.md +12 -6
- package/README.ja.md +12 -6
- package/README.ko.md +12 -6
- package/README.md +56 -28
- package/README.pl.md +216 -0
- package/README.pt.md +12 -6
- package/README.ru.md +12 -6
- package/README.tr.md +12 -6
- package/README.vi.md +148 -183
- package/README.zh-TW.md +14 -17
- package/README.zh.md +12 -6
- package/crates/omx-runtime-core/src/engine.rs +122 -4
- package/crates/omx-runtime-core/src/lib.rs +17 -0
- package/dist/autoresearch/contracts.d.ts.map +1 -1
- package/dist/autoresearch/contracts.js +1 -0
- package/dist/autoresearch/contracts.js.map +1 -1
- package/dist/autoresearch/runtime.d.ts.map +1 -1
- package/dist/autoresearch/runtime.js +7 -1
- package/dist/autoresearch/runtime.js.map +1 -1
- package/dist/cli/__tests__/agents.test.js +24 -1
- package/dist/cli/__tests__/agents.test.js.map +1 -1
- package/dist/cli/__tests__/autoresearch.test.js +11 -0
- package/dist/cli/__tests__/autoresearch.test.js.map +1 -1
- package/dist/cli/__tests__/cleanup.test.js +117 -4
- package/dist/cli/__tests__/cleanup.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +33 -3
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/error-handling-warnings.test.js +13 -0
- package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +6 -0
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +101 -1
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +3 -0
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +10 -0
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/packaged-script-resolution.test.js +4 -3
- package/dist/cli/__tests__/packaged-script-resolution.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +6 -0
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +29 -12
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +1 -1
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/star-prompt.test.js +16 -0
- package/dist/cli/__tests__/star-prompt.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +112 -1
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts +2 -0
- package/dist/cli/__tests__/windows-popup-loop-contract.test.d.ts.map +1 -0
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js +30 -0
- package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -0
- package/dist/cli/agents.d.ts.map +1 -1
- package/dist/cli/agents.js +9 -3
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/autoresearch-guided.d.ts.map +1 -1
- package/dist/cli/autoresearch-guided.js +9 -3
- package/dist/cli/autoresearch-guided.js.map +1 -1
- package/dist/cli/autoresearch.d.ts.map +1 -1
- package/dist/cli/autoresearch.js +8 -2
- package/dist/cli/autoresearch.js.map +1 -1
- package/dist/cli/cleanup.d.ts +2 -0
- package/dist/cli/cleanup.d.ts.map +1 -1
- package/dist/cli/cleanup.js +27 -1
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/doctor.js +7 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +9 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +171 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +18 -15
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/star-prompt.d.ts.map +1 -1
- package/dist/cli/star-prompt.js +2 -0
- package/dist/cli/star-prompt.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +5 -1
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/tmux-hook.d.ts.map +1 -1
- package/dist/cli/tmux-hook.js +4 -1
- package/dist/cli/tmux-hook.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +26 -0
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +1 -0
- package/dist/cli/update.js.map +1 -1
- package/dist/compat/__tests__/rust-runtime-compat.test.js +84 -1
- package/dist/compat/__tests__/rust-runtime-compat.test.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +4 -4
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/mcp-registry.test.js +13 -16
- package/dist/config/__tests__/mcp-registry.test.js.map +1 -1
- package/dist/config/mcp-registry.d.ts +1 -0
- package/dist/config/mcp-registry.d.ts.map +1 -1
- package/dist/config/mcp-registry.js +4 -4
- package/dist/config/mcp-registry.js.map +1 -1
- package/dist/config/models.d.ts +1 -0
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +39 -1
- package/dist/config/models.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +12 -1
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +554 -18
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +347 -16
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js +5 -0
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts +2 -0
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js +597 -0
- package/dist/hooks/__tests__/notify-hook-ralph-resume.test.js.map +1 -0
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js +19 -1
- package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js +73 -53
- package/dist/hooks/__tests__/notify-hook-session-scope.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +193 -2
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +183 -0
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +255 -97
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +0 -0
- package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +46 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-team-routing.test.js +34 -0
- package/dist/hooks/__tests__/prompt-team-routing.test.js.map +1 -1
- package/dist/hooks/__tests__/tmux-hook-engine.test.js +32 -1
- package/dist/hooks/__tests__/tmux-hook-engine.test.js.map +1 -1
- package/dist/hooks/code-simplifier/index.d.ts.map +1 -1
- package/dist/hooks/code-simplifier/index.js +1 -0
- package/dist/hooks/code-simplifier/index.js.map +1 -1
- package/dist/hooks/codebase-map.d.ts.map +1 -1
- package/dist/hooks/codebase-map.js +1 -0
- package/dist/hooks/codebase-map.js.map +1 -1
- package/dist/hooks/extensibility/sdk/tmux.d.ts.map +1 -1
- package/dist/hooks/extensibility/sdk/tmux.js +3 -1
- package/dist/hooks/extensibility/sdk/tmux.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts +1 -0
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +48 -0
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.js +6 -0
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +1 -0
- package/dist/hooks/session.js.map +1 -1
- package/dist/hud/__tests__/state.test.js +70 -1
- package/dist/hud/__tests__/state.test.js.map +1 -1
- package/dist/hud/authority.d.ts.map +1 -1
- package/dist/hud/authority.js +1 -0
- package/dist/hud/authority.js.map +1 -1
- package/dist/hud/state.d.ts.map +1 -1
- package/dist/hud/state.js +52 -0
- package/dist/hud/state.js.map +1 -1
- package/dist/mcp/state-server.d.ts.map +1 -1
- package/dist/mcp/state-server.js +5 -0
- package/dist/mcp/state-server.js.map +1 -1
- package/dist/modes/__tests__/base-session-scope.test.js +46 -0
- 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 +4 -0
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts +2 -0
- package/dist/notifications/__tests__/custom-alias-enablement.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/custom-alias-enablement.test.js +84 -0
- package/dist/notifications/__tests__/custom-alias-enablement.test.js.map +1 -0
- package/dist/notifications/__tests__/idle-cooldown.test.js +55 -0
- package/dist/notifications/__tests__/idle-cooldown.test.js.map +1 -1
- package/dist/notifications/idle-cooldown.d.ts +8 -6
- package/dist/notifications/idle-cooldown.d.ts.map +1 -1
- package/dist/notifications/idle-cooldown.js +53 -22
- package/dist/notifications/idle-cooldown.js.map +1 -1
- package/dist/notifications/notifier.js +1 -1
- package/dist/notifications/notifier.js.map +1 -1
- package/dist/notifications/reply-listener.d.ts.map +1 -1
- package/dist/notifications/reply-listener.js +1 -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/openclaw/config.js +2 -2
- package/dist/openclaw/config.js.map +1 -1
- package/dist/runtime/bridge.d.ts +2 -0
- package/dist/runtime/bridge.d.ts.map +1 -1
- package/dist/runtime/bridge.js +8 -0
- package/dist/runtime/bridge.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +103 -53
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.d.ts +2 -1
- package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.js +90 -104
- package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/managed-tmux.d.ts +19 -0
- package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -0
- package/dist/scripts/notify-hook/managed-tmux.js +320 -0
- package/dist/scripts/notify-hook/managed-tmux.js.map +1 -0
- package/dist/scripts/notify-hook/operational-events.d.ts.map +1 -1
- package/dist/scripts/notify-hook/operational-events.js +2 -0
- package/dist/scripts/notify-hook/operational-events.js.map +1 -1
- package/dist/scripts/notify-hook/ralph-session-resume.d.ts +22 -0
- package/dist/scripts/notify-hook/ralph-session-resume.d.ts.map +1 -0
- package/dist/scripts/notify-hook/ralph-session-resume.js +277 -0
- package/dist/scripts/notify-hook/ralph-session-resume.js.map +1 -0
- package/dist/scripts/notify-hook/state-io.d.ts +1 -1
- package/dist/scripts/notify-hook/state-io.d.ts.map +1 -1
- package/dist/scripts/notify-hook/state-io.js +2 -10
- 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.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-dispatch.js +123 -72
- package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts +2 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +13 -5
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-tmux-guard.js +1 -19
- package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +4 -4
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.js +102 -35
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/notify-hook.js +144 -20
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/run-provider-advisor.js +2 -0
- package/dist/scripts/run-provider-advisor.js.map +1 -1
- package/dist/scripts/run-test-files.d.ts +2 -0
- package/dist/scripts/run-test-files.d.ts.map +1 -0
- package/dist/scripts/run-test-files.js +41 -0
- package/dist/scripts/run-test-files.js.map +1 -0
- package/dist/scripts/tmux-hook-engine.d.ts +2 -0
- package/dist/scripts/tmux-hook-engine.d.ts.map +1 -1
- package/dist/scripts/tmux-hook-engine.js +15 -0
- package/dist/scripts/tmux-hook-engine.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +136 -4
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/leader-activity.test.js +107 -2
- package/dist/team/__tests__/leader-activity.test.js.map +1 -1
- package/dist/team/__tests__/runtime-cli.test.js +32 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +148 -0
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/shutdown-fallback.test.js +13 -0
- package/dist/team/__tests__/shutdown-fallback.test.js.map +1 -1
- package/dist/team/__tests__/state-root.test.js +11 -1
- package/dist/team/__tests__/state-root.test.js.map +1 -1
- package/dist/team/__tests__/state.test.js +237 -0
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +521 -2
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +41 -31
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/commit-hygiene.d.ts +60 -0
- package/dist/team/commit-hygiene.d.ts.map +1 -0
- package/dist/team/commit-hygiene.js +232 -0
- package/dist/team/commit-hygiene.js.map +1 -0
- package/dist/team/leader-activity.d.ts.map +1 -1
- package/dist/team/leader-activity.js +56 -4
- package/dist/team/leader-activity.js.map +1 -1
- package/dist/team/runtime-cli.d.ts +9 -1
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +15 -6
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +7 -2
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +392 -171
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +6 -2
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state/dispatch.d.ts +2 -0
- package/dist/team/state/dispatch.d.ts.map +1 -1
- package/dist/team/state/dispatch.js +86 -40
- package/dist/team/state/dispatch.js.map +1 -1
- package/dist/team/state/mailbox.d.ts +3 -0
- package/dist/team/state/mailbox.d.ts.map +1 -1
- package/dist/team/state/mailbox.js +93 -19
- package/dist/team/state/mailbox.js.map +1 -1
- package/dist/team/state-root.d.ts +1 -1
- package/dist/team/state-root.d.ts.map +1 -1
- package/dist/team/state-root.js +8 -3
- package/dist/team/state-root.js.map +1 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +96 -2
- package/dist/team/state.js.map +1 -1
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +81 -29
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +4 -0
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/team/worktree.d.ts.map +1 -1
- package/dist/team/worktree.js +9 -0
- package/dist/team/worktree.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +98 -11
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/__tests__/platform-command.test.js +101 -2
- package/dist/utils/__tests__/platform-command.test.js.map +1 -1
- package/dist/utils/git-layout.d.ts +8 -0
- package/dist/utils/git-layout.d.ts.map +1 -0
- package/dist/utils/git-layout.js +58 -0
- package/dist/utils/git-layout.js.map +1 -0
- package/dist/utils/paths.d.ts +3 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +14 -4
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/platform-command.d.ts.map +1 -1
- package/dist/utils/platform-command.js +35 -3
- package/dist/utils/platform-command.js.map +1 -1
- package/package.json +9 -5
- package/src/scripts/notify-fallback-watcher.ts +103 -53
- package/src/scripts/notify-hook/auto-nudge.ts +97 -103
- package/src/scripts/notify-hook/managed-tmux.ts +324 -0
- package/src/scripts/notify-hook/operational-events.ts +2 -0
- package/src/scripts/notify-hook/ralph-session-resume.ts +337 -0
- package/src/scripts/notify-hook/state-io.ts +2 -10
- package/src/scripts/notify-hook/team-dispatch.ts +131 -66
- package/src/scripts/notify-hook/team-leader-nudge.ts +19 -5
- package/src/scripts/notify-hook/team-tmux-guard.ts +0 -20
- package/src/scripts/notify-hook/team-worker.ts +4 -4
- package/src/scripts/notify-hook/tmux-injection.ts +103 -33
- package/src/scripts/notify-hook.ts +150 -21
- package/src/scripts/run-provider-advisor.ts +4 -2
- package/src/scripts/run-test-files.ts +48 -0
- package/src/scripts/tmux-hook-engine.ts +16 -0
- package/templates/AGENTS.md +51 -43
package/dist/cli/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import { hudCommand } from "../hud/index.js";
|
|
|
15
15
|
import { teamCommand } from "./team.js";
|
|
16
16
|
import { ralphCommand } from "./ralph.js";
|
|
17
17
|
import { askCommand } from "./ask.js";
|
|
18
|
-
import { cleanupCommand } from "./cleanup.js";
|
|
18
|
+
import { cleanupCommand, cleanupOmxMcpProcesses, findLaunchSafeCleanupCandidates, } from "./cleanup.js";
|
|
19
19
|
import { exploreCommand } from "./explore.js";
|
|
20
20
|
import { sparkshellCommand } from "./sparkshell.js";
|
|
21
21
|
import { agentsInitCommand } from "./agents-init.js";
|
|
@@ -28,7 +28,7 @@ import { maybeCheckAndPromptUpdate } from "./update.js";
|
|
|
28
28
|
import { maybePromptGithubStar } from "./star-prompt.js";
|
|
29
29
|
import { generateOverlay, removeSessionModelInstructionsFile, resolveSessionOrchestrationMode, sessionModelInstructionsPath, writeSessionModelInstructionsFile, } from "../hooks/agents-overlay.js";
|
|
30
30
|
import { readSessionState, writeSessionStart, writeSessionEnd, resetSessionMetrics, } from "../hooks/session.js";
|
|
31
|
-
import { buildClientAttachedReconcileHookName, buildReconcileHudResizeArgs, buildRegisterClientAttachedReconcileArgs, buildRegisterResizeHookArgs, buildResizeHookName, buildResizeHookTarget, buildScheduleDelayedHudResizeArgs, buildUnregisterClientAttachedReconcileArgs, buildUnregisterResizeHookArgs, enableMouseScrolling, isNativeWindows, isTmuxAvailable, } from "../team/tmux-session.js";
|
|
31
|
+
import { buildClientAttachedReconcileHookName, buildReconcileHudResizeArgs, buildRegisterClientAttachedReconcileArgs, buildRegisterResizeHookArgs, buildResizeHookName, buildResizeHookTarget, buildScheduleDelayedHudResizeArgs, buildUnregisterClientAttachedReconcileArgs, buildUnregisterResizeHookArgs, enableMouseScrolling, isMsysOrGitBash, isNativeWindows, isTmuxAvailable, } from "../team/tmux-session.js";
|
|
32
32
|
import { getPackageRoot } from "../utils/package.js";
|
|
33
33
|
import { codexConfigPath } from "../utils/paths.js";
|
|
34
34
|
import { repairConfigIfNeeded } from "../config/generator.js";
|
|
@@ -40,13 +40,16 @@ import { collectInheritableTeamWorkerArgs as collectInheritableTeamWorkerArgsSha
|
|
|
40
40
|
import { parseWorktreeMode, planWorktreeTarget, ensureWorktree, } from "../team/worktree.js";
|
|
41
41
|
import { OMX_NOTIFY_TEMP_CONTRACT_ENV, parseNotifyTempContractFromArgs, serializeNotifyTempContract, } from "../notifications/temp-contract.js";
|
|
42
42
|
export function resolveNotifyFallbackWatcherScript(pkgRoot = getPackageRoot()) {
|
|
43
|
-
return
|
|
43
|
+
return resolveDistScript(pkgRoot, "notify-fallback-watcher.js");
|
|
44
44
|
}
|
|
45
45
|
export function resolveHookDerivedWatcherScript(pkgRoot = getPackageRoot()) {
|
|
46
|
-
return
|
|
46
|
+
return resolveDistScript(pkgRoot, "hook-derived-watcher.js");
|
|
47
47
|
}
|
|
48
48
|
export function resolveNotifyHookScript(pkgRoot = getPackageRoot()) {
|
|
49
|
-
return
|
|
49
|
+
return resolveDistScript(pkgRoot, "notify-hook.js");
|
|
50
|
+
}
|
|
51
|
+
function resolveDistScript(pkgRoot, scriptName) {
|
|
52
|
+
return join(pkgRoot, "dist", "scripts", scriptName);
|
|
50
53
|
}
|
|
51
54
|
const HELP = `
|
|
52
55
|
oh-my-codex (omx) - Multi-agent orchestration for Codex CLI
|
|
@@ -1023,6 +1026,9 @@ export function buildTmuxSessionName(cwd, sessionId) {
|
|
|
1023
1026
|
const name = `omx-${dirToken}-${branchToken}-${sessionToken}`;
|
|
1024
1027
|
return name.length > 120 ? name.slice(0, 120) : name;
|
|
1025
1028
|
}
|
|
1029
|
+
export function buildDetachedTmuxSessionName(cwd, sessionId) {
|
|
1030
|
+
return buildTmuxSessionName(cwd, sessionId);
|
|
1031
|
+
}
|
|
1026
1032
|
function parsePaneIdFromTmuxOutput(rawOutput) {
|
|
1027
1033
|
const paneId = rawOutput.split("\n")[0]?.trim() || "";
|
|
1028
1034
|
return paneId.startsWith("%") ? paneId : null;
|
|
@@ -1054,7 +1060,7 @@ function buildDetachedSessionLeaderCommand(sessionName, codexCmd) {
|
|
|
1054
1060
|
const wrapped = [`trap '${cleanupTrap}' 0 INT TERM HUP;`, codexCmd].join(" ");
|
|
1055
1061
|
return `/bin/sh -lc ${quoteShellArg(wrapped)}`;
|
|
1056
1062
|
}
|
|
1057
|
-
export function buildDetachedSessionBootstrapSteps(sessionName, cwd, codexCmd, hudCmd, workerLaunchArgs, codexHomeOverride, notifyTempContractRaw, nativeWindows = false) {
|
|
1063
|
+
export function buildDetachedSessionBootstrapSteps(sessionName, cwd, codexCmd, hudCmd, workerLaunchArgs, codexHomeOverride, notifyTempContractRaw, nativeWindows = false, sessionId) {
|
|
1058
1064
|
const detachedLeaderCmd = nativeWindows
|
|
1059
1065
|
? "powershell.exe"
|
|
1060
1066
|
: buildDetachedSessionLeaderCommand(sessionName, codexCmd);
|
|
@@ -1071,6 +1077,7 @@ export function buildDetachedSessionBootstrapSteps(sessionName, cwd, codexCmd, h
|
|
|
1071
1077
|
...(workerLaunchArgs
|
|
1072
1078
|
? ["-e", `${TEAM_WORKER_LAUNCH_ARGS_ENV}=${workerLaunchArgs}`]
|
|
1073
1079
|
: []),
|
|
1080
|
+
...(sessionId ? ["-e", `OMX_SESSION_ID=${sessionId}`] : []),
|
|
1074
1081
|
...(codexHomeOverride ? ["-e", `CODEX_HOME=${codexHomeOverride}`] : []),
|
|
1075
1082
|
...(notifyTempContractRaw
|
|
1076
1083
|
? ["-e", `${OMX_NOTIFY_TEMP_CONTRACT_ENV}=${notifyTempContractRaw}`]
|
|
@@ -1186,20 +1193,43 @@ export function buildNotifyFallbackWatcherEnv(env = process.env, options = {}) {
|
|
|
1186
1193
|
return {
|
|
1187
1194
|
...nextEnv,
|
|
1188
1195
|
...(options.codexHomeOverride ? { CODEX_HOME: options.codexHomeOverride } : {}),
|
|
1196
|
+
...(options.sessionId ? { OMX_SESSION_ID: options.sessionId } : {}),
|
|
1189
1197
|
OMX_HUD_AUTHORITY: options.enableAuthority ? "1" : "0",
|
|
1190
1198
|
};
|
|
1191
1199
|
}
|
|
1200
|
+
export async function cleanupLaunchOrphanedMcpProcesses(dependencies = {}) {
|
|
1201
|
+
return cleanupOmxMcpProcesses([], {
|
|
1202
|
+
...dependencies,
|
|
1203
|
+
selectCandidates: dependencies.selectCandidates ?? findLaunchSafeCleanupCandidates,
|
|
1204
|
+
writeLine: dependencies.writeLine ?? (() => { }),
|
|
1205
|
+
});
|
|
1206
|
+
}
|
|
1192
1207
|
/**
|
|
1193
1208
|
* preLaunch: Prepare environment before Codex starts.
|
|
1194
|
-
* 1.
|
|
1195
|
-
* 2.
|
|
1209
|
+
* 1. Best-effort launch-safe orphan cleanup for detached OMX MCP processes
|
|
1210
|
+
* 2. Generate runtime overlay + write session-scoped model instructions file
|
|
1211
|
+
* 3. Write session.json
|
|
1196
1212
|
*
|
|
1197
|
-
* Automatic stale-session cleanup
|
|
1198
|
-
*
|
|
1199
|
-
*
|
|
1213
|
+
* Automatic broad stale-session cleanup remains disabled here. Only detached
|
|
1214
|
+
* OMX MCP processes without a live Codex ancestor are reaped so new launches
|
|
1215
|
+
* do not accumulate stale processes from prior crashed/closed sessions.
|
|
1200
1216
|
*/
|
|
1201
1217
|
async function preLaunch(cwd, sessionId, notifyTempContract, codexHomeOverride, enableNotifyFallbackAuthority = false) {
|
|
1202
|
-
// 1.
|
|
1218
|
+
// 1. Best-effort launch-safe orphan cleanup
|
|
1219
|
+
try {
|
|
1220
|
+
const cleanup = await cleanupLaunchOrphanedMcpProcesses();
|
|
1221
|
+
if (cleanup.terminatedCount > 0) {
|
|
1222
|
+
console.log(`[omx] Reaped ${cleanup.terminatedCount} orphaned OMX MCP process(es) before launch.`);
|
|
1223
|
+
}
|
|
1224
|
+
if (cleanup.failedPids.length > 0) {
|
|
1225
|
+
console.warn(`[omx] Failed to reap ${cleanup.failedPids.length} orphaned OMX MCP process(es); continuing launch.`);
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
catch (err) {
|
|
1229
|
+
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
1230
|
+
// Non-fatal
|
|
1231
|
+
}
|
|
1232
|
+
// 2. Generate runtime overlay + write session-scoped model instructions file
|
|
1203
1233
|
const orchestrationMode = await resolveSessionOrchestrationMode(cwd, sessionId);
|
|
1204
1234
|
const overlay = await generateOverlay(cwd, sessionId, { orchestrationMode });
|
|
1205
1235
|
const launchAppendix = await readLaunchAppendInstructions();
|
|
@@ -1209,18 +1239,18 @@ async function preLaunch(cwd, sessionId, notifyTempContract, codexHomeOverride,
|
|
|
1209
1239
|
${launchAppendix}`
|
|
1210
1240
|
: overlay;
|
|
1211
1241
|
await writeSessionModelInstructionsFile(cwd, sessionId, sessionInstructions);
|
|
1212
|
-
//
|
|
1242
|
+
// 3. Write session state
|
|
1213
1243
|
await resetSessionMetrics(cwd);
|
|
1214
1244
|
await writeSessionStart(cwd, sessionId);
|
|
1215
|
-
//
|
|
1245
|
+
// 4. Start notify fallback watcher (best effort)
|
|
1216
1246
|
try {
|
|
1217
|
-
await startNotifyFallbackWatcher(cwd, { codexHomeOverride, enableAuthority: enableNotifyFallbackAuthority });
|
|
1247
|
+
await startNotifyFallbackWatcher(cwd, { codexHomeOverride, enableAuthority: enableNotifyFallbackAuthority, sessionId });
|
|
1218
1248
|
}
|
|
1219
1249
|
catch (err) {
|
|
1220
1250
|
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
1221
1251
|
// Non-fatal
|
|
1222
1252
|
}
|
|
1223
|
-
//
|
|
1253
|
+
// 5. Start derived watcher (best effort, opt-in)
|
|
1224
1254
|
try {
|
|
1225
1255
|
await startHookDerivedWatcher(cwd);
|
|
1226
1256
|
}
|
|
@@ -1228,7 +1258,7 @@ ${launchAppendix}`
|
|
|
1228
1258
|
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
1229
1259
|
// Non-fatal
|
|
1230
1260
|
}
|
|
1231
|
-
//
|
|
1261
|
+
// 6. Emit temp notification startup summary + warnings, then send session-start lifecycle notification (best effort)
|
|
1232
1262
|
try {
|
|
1233
1263
|
if (notifyTempContract?.active) {
|
|
1234
1264
|
process.env[OMX_NOTIFY_TEMP_CONTRACT_ENV] =
|
|
@@ -1257,7 +1287,7 @@ ${launchAppendix}`
|
|
|
1257
1287
|
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
1258
1288
|
// Non-fatal: notification failures must never block launch
|
|
1259
1289
|
}
|
|
1260
|
-
//
|
|
1290
|
+
// 7. Dispatch native hook event (best effort)
|
|
1261
1291
|
try {
|
|
1262
1292
|
await emitNativeHookEvent(cwd, "session-start", {
|
|
1263
1293
|
session_id: sessionId,
|
|
@@ -1289,9 +1319,10 @@ function runCodex(cwd, args, sessionId, workerDefaultModel, codexHomeOverride, n
|
|
|
1289
1319
|
const codexBaseEnv = codexHomeOverride
|
|
1290
1320
|
? { ...process.env, CODEX_HOME: codexHomeOverride }
|
|
1291
1321
|
: process.env;
|
|
1322
|
+
const codexEnvWithSession = { ...codexBaseEnv, OMX_SESSION_ID: sessionId };
|
|
1292
1323
|
const codexEnv = workerLaunchArgs
|
|
1293
|
-
? { ...
|
|
1294
|
-
:
|
|
1324
|
+
? { ...codexEnvWithSession, [TEAM_WORKER_LAUNCH_ARGS_ENV]: workerLaunchArgs }
|
|
1325
|
+
: codexEnvWithSession;
|
|
1295
1326
|
const codexEnvWithNotify = notifyTempContractRaw
|
|
1296
1327
|
? { ...codexEnv, [OMX_NOTIFY_TEMP_CONTRACT_ENV]: notifyTempContractRaw }
|
|
1297
1328
|
: codexEnv;
|
|
@@ -1365,14 +1396,13 @@ function runCodex(cwd, args, sessionId, workerDefaultModel, codexHomeOverride, n
|
|
|
1365
1396
|
const detachedWindowsCodexCmd = nativeWindows
|
|
1366
1397
|
? buildWindowsPromptCommand("codex", launchArgs)
|
|
1367
1398
|
: null;
|
|
1368
|
-
const
|
|
1369
|
-
const sessionName = buildTmuxSessionName(cwd, tmuxSessionId);
|
|
1399
|
+
const sessionName = buildDetachedTmuxSessionName(cwd, sessionId);
|
|
1370
1400
|
let createdDetachedSession = false;
|
|
1371
1401
|
let registeredHookTarget = null;
|
|
1372
1402
|
let registeredHookName = null;
|
|
1373
1403
|
let registeredClientAttachedHookName = null;
|
|
1374
1404
|
try {
|
|
1375
|
-
const bootstrapSteps = buildDetachedSessionBootstrapSteps(sessionName, cwd, codexCmd, hudCmd, workerLaunchArgs, codexHomeOverride, notifyTempContractRaw, nativeWindows);
|
|
1405
|
+
const bootstrapSteps = buildDetachedSessionBootstrapSteps(sessionName, cwd, codexCmd, hudCmd, workerLaunchArgs, codexHomeOverride, notifyTempContractRaw, nativeWindows, sessionId);
|
|
1376
1406
|
for (const step of bootstrapSteps) {
|
|
1377
1407
|
const output = execFileSync("tmux", step.args, {
|
|
1378
1408
|
stdio: "pipe",
|
|
@@ -1570,7 +1600,7 @@ async function postLaunch(cwd, sessionId, codexHomeOverride, enableNotifyFallbac
|
|
|
1570
1600
|
}
|
|
1571
1601
|
// 0. Flush fallback watcher once to reduce race with fast codex exit.
|
|
1572
1602
|
try {
|
|
1573
|
-
await flushNotifyFallbackOnce(cwd, { codexHomeOverride, enableAuthority: enableNotifyFallbackAuthority });
|
|
1603
|
+
await flushNotifyFallbackOnce(cwd, { codexHomeOverride, enableAuthority: enableNotifyFallbackAuthority, sessionId });
|
|
1574
1604
|
}
|
|
1575
1605
|
catch (err) {
|
|
1576
1606
|
process.stderr.write(`[cli/index] operation failed: ${err}\n`);
|
|
@@ -1704,6 +1734,66 @@ function notifyFallbackPidPath(cwd) {
|
|
|
1704
1734
|
function hookDerivedWatcherPidPath(cwd) {
|
|
1705
1735
|
return join(cwd, ".omx", "state", "hook-derived-watcher.pid");
|
|
1706
1736
|
}
|
|
1737
|
+
export function shouldDetachBackgroundHelper(env = process.env, platform = process.platform) {
|
|
1738
|
+
// The long-running watcher/helper itself must stay detached so it can
|
|
1739
|
+
// survive parent loss. Windows Git Bash/MSYS uses a short hidden bootstrap
|
|
1740
|
+
// process so the detached helper is created without stealing focus.
|
|
1741
|
+
void env;
|
|
1742
|
+
void platform;
|
|
1743
|
+
return true;
|
|
1744
|
+
}
|
|
1745
|
+
export function resolveBackgroundHelperLaunchMode(env = process.env, platform = process.platform) {
|
|
1746
|
+
return platform === "win32" && isMsysOrGitBash(env, platform)
|
|
1747
|
+
? "windows-msys-bootstrap"
|
|
1748
|
+
: "direct-detached";
|
|
1749
|
+
}
|
|
1750
|
+
export function buildWindowsMsysBackgroundHelperBootstrapScript(helperArgs, cwd) {
|
|
1751
|
+
const helperArgsLiteral = JSON.stringify(helperArgs);
|
|
1752
|
+
const cwdLiteral = JSON.stringify(cwd);
|
|
1753
|
+
return [
|
|
1754
|
+
"const { spawn } = require('child_process');",
|
|
1755
|
+
`const child = spawn(process.execPath, ${helperArgsLiteral}, { cwd: ${cwdLiteral}, detached: true, stdio: 'ignore', windowsHide: true, env: process.env });`,
|
|
1756
|
+
"if (!child.pid) process.exit(1);",
|
|
1757
|
+
"process.stdout.write(String(child.pid));",
|
|
1758
|
+
"child.unref();",
|
|
1759
|
+
].join("");
|
|
1760
|
+
}
|
|
1761
|
+
async function launchBackgroundHelper(helperArgs, options) {
|
|
1762
|
+
const launchMode = resolveBackgroundHelperLaunchMode(options.env, process.platform);
|
|
1763
|
+
if (launchMode === "windows-msys-bootstrap") {
|
|
1764
|
+
const { spawnSync } = await import("child_process");
|
|
1765
|
+
const bootstrap = spawnSync(process.execPath, [
|
|
1766
|
+
"-e",
|
|
1767
|
+
buildWindowsMsysBackgroundHelperBootstrapScript(helperArgs, options.cwd),
|
|
1768
|
+
], {
|
|
1769
|
+
cwd: options.cwd,
|
|
1770
|
+
encoding: "utf-8",
|
|
1771
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
1772
|
+
windowsHide: true,
|
|
1773
|
+
env: options.env,
|
|
1774
|
+
});
|
|
1775
|
+
if (bootstrap.error) {
|
|
1776
|
+
throw bootstrap.error;
|
|
1777
|
+
}
|
|
1778
|
+
if (bootstrap.status !== 0) {
|
|
1779
|
+
const detail = (bootstrap.stderr || bootstrap.stdout || "").trim();
|
|
1780
|
+
throw new Error(detail || `background helper bootstrap exited ${bootstrap.status}`);
|
|
1781
|
+
}
|
|
1782
|
+
const helperPid = Number.parseInt((bootstrap.stdout || "").trim(), 10);
|
|
1783
|
+
return Number.isFinite(helperPid) && helperPid > 0
|
|
1784
|
+
? helperPid
|
|
1785
|
+
: undefined;
|
|
1786
|
+
}
|
|
1787
|
+
const child = spawn(process.execPath, helperArgs, {
|
|
1788
|
+
cwd: options.cwd,
|
|
1789
|
+
detached: shouldDetachBackgroundHelper(options.env, process.platform),
|
|
1790
|
+
stdio: "ignore",
|
|
1791
|
+
windowsHide: true,
|
|
1792
|
+
env: options.env,
|
|
1793
|
+
});
|
|
1794
|
+
child.unref();
|
|
1795
|
+
return child.pid;
|
|
1796
|
+
}
|
|
1707
1797
|
function parseWatcherPidFile(content) {
|
|
1708
1798
|
const trimmed = content.trim();
|
|
1709
1799
|
if (!trimmed)
|
|
@@ -1766,30 +1856,44 @@ async function startNotifyFallbackWatcher(cwd, options = {}) {
|
|
|
1766
1856
|
error: error instanceof Error ? error.message : String(error),
|
|
1767
1857
|
});
|
|
1768
1858
|
});
|
|
1769
|
-
const
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
"--notify-script",
|
|
1774
|
-
notifyScript,
|
|
1775
|
-
"--pid-file",
|
|
1776
|
-
pidPath,
|
|
1777
|
-
"--parent-pid",
|
|
1778
|
-
String(process.pid),
|
|
1779
|
-
...(process.env.OMX_NOTIFY_FALLBACK_MAX_LIFETIME_MS
|
|
1780
|
-
? ["--max-lifetime-ms", process.env.OMX_NOTIFY_FALLBACK_MAX_LIFETIME_MS]
|
|
1781
|
-
: []),
|
|
1782
|
-
], {
|
|
1783
|
-
cwd,
|
|
1784
|
-
detached: true,
|
|
1785
|
-
stdio: "ignore",
|
|
1786
|
-
env: buildNotifyFallbackWatcherEnv(process.env, {
|
|
1787
|
-
codexHomeOverride: options.codexHomeOverride,
|
|
1788
|
-
enableAuthority: options.enableAuthority === true,
|
|
1789
|
-
}),
|
|
1859
|
+
const watcherEnv = buildNotifyFallbackWatcherEnv(process.env, {
|
|
1860
|
+
codexHomeOverride: options.codexHomeOverride,
|
|
1861
|
+
enableAuthority: options.enableAuthority === true,
|
|
1862
|
+
sessionId: options.sessionId,
|
|
1790
1863
|
});
|
|
1791
|
-
|
|
1792
|
-
|
|
1864
|
+
let watcherPid;
|
|
1865
|
+
try {
|
|
1866
|
+
watcherPid = await launchBackgroundHelper([
|
|
1867
|
+
watcherScript,
|
|
1868
|
+
"--cwd",
|
|
1869
|
+
cwd,
|
|
1870
|
+
"--notify-script",
|
|
1871
|
+
notifyScript,
|
|
1872
|
+
"--pid-file",
|
|
1873
|
+
pidPath,
|
|
1874
|
+
"--parent-pid",
|
|
1875
|
+
String(process.pid),
|
|
1876
|
+
...(process.env.OMX_NOTIFY_FALLBACK_MAX_LIFETIME_MS
|
|
1877
|
+
? [
|
|
1878
|
+
"--max-lifetime-ms",
|
|
1879
|
+
process.env.OMX_NOTIFY_FALLBACK_MAX_LIFETIME_MS,
|
|
1880
|
+
]
|
|
1881
|
+
: []),
|
|
1882
|
+
], {
|
|
1883
|
+
cwd,
|
|
1884
|
+
env: watcherEnv,
|
|
1885
|
+
});
|
|
1886
|
+
}
|
|
1887
|
+
catch (error) {
|
|
1888
|
+
console.warn("[omx] warning: failed to launch notify fallback watcher", {
|
|
1889
|
+
cwd,
|
|
1890
|
+
error: error instanceof Error ? error.message : String(error),
|
|
1891
|
+
});
|
|
1892
|
+
return;
|
|
1893
|
+
}
|
|
1894
|
+
if (!watcherPid)
|
|
1895
|
+
return;
|
|
1896
|
+
await writeFile(pidPath, JSON.stringify({ pid: watcherPid, started_at: new Date().toISOString() }, null, 2)).catch((error) => {
|
|
1793
1897
|
console.warn("[omx] warning: failed to write notify fallback watcher pid file", {
|
|
1794
1898
|
path: pidPath,
|
|
1795
1899
|
error: error instanceof Error ? error.message : String(error),
|
|
@@ -1825,14 +1929,23 @@ async function startHookDerivedWatcher(cwd) {
|
|
|
1825
1929
|
error: error instanceof Error ? error.message : String(error),
|
|
1826
1930
|
});
|
|
1827
1931
|
});
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1932
|
+
let watcherPid;
|
|
1933
|
+
try {
|
|
1934
|
+
watcherPid = await launchBackgroundHelper([watcherScript, "--cwd", cwd], {
|
|
1935
|
+
cwd,
|
|
1936
|
+
env: process.env,
|
|
1937
|
+
});
|
|
1938
|
+
}
|
|
1939
|
+
catch (error) {
|
|
1940
|
+
console.warn("[omx] warning: failed to launch hook-derived watcher", {
|
|
1941
|
+
cwd,
|
|
1942
|
+
error: error instanceof Error ? error.message : String(error),
|
|
1943
|
+
});
|
|
1944
|
+
return;
|
|
1945
|
+
}
|
|
1946
|
+
if (!watcherPid)
|
|
1947
|
+
return;
|
|
1948
|
+
await writeFile(pidPath, JSON.stringify({ pid: watcherPid, started_at: new Date().toISOString() }, null, 2)).catch((error) => {
|
|
1836
1949
|
console.warn("[omx] warning: failed to write hook-derived watcher pid file", {
|
|
1837
1950
|
path: pidPath,
|
|
1838
1951
|
error: error instanceof Error ? error.message : String(error),
|
|
@@ -1900,9 +2013,11 @@ async function flushNotifyFallbackOnce(cwd, options = {}) {
|
|
|
1900
2013
|
cwd,
|
|
1901
2014
|
stdio: "ignore",
|
|
1902
2015
|
timeout: 3000,
|
|
2016
|
+
windowsHide: true,
|
|
1903
2017
|
env: buildNotifyFallbackWatcherEnv(process.env, {
|
|
1904
2018
|
codexHomeOverride: options.codexHomeOverride,
|
|
1905
2019
|
enableAuthority: options.enableAuthority === true,
|
|
2020
|
+
sessionId: options.sessionId,
|
|
1906
2021
|
}),
|
|
1907
2022
|
});
|
|
1908
2023
|
}
|
|
@@ -1918,6 +2033,7 @@ async function flushHookDerivedWatcherOnce(cwd) {
|
|
|
1918
2033
|
cwd,
|
|
1919
2034
|
stdio: "ignore",
|
|
1920
2035
|
timeout: 3000,
|
|
2036
|
+
windowsHide: true,
|
|
1921
2037
|
env: {
|
|
1922
2038
|
...process.env,
|
|
1923
2039
|
OMX_HOOK_DERIVED_SIGNALS: "1",
|