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
|
@@ -5,26 +5,29 @@ import { execFileSync } from 'child_process';
|
|
|
5
5
|
import { dirname, join, resolve } from 'path';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
7
|
import { safeString } from './utils.js';
|
|
8
|
-
import { resolveRuntimeBinaryPath } from '../../runtime/bridge.js';
|
|
8
|
+
import { resolveBridgeStateDir, resolveRuntimeBinaryPath } from '../../runtime/bridge.js';
|
|
9
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
10
|
const __dirname = dirname(__filename);
|
|
11
11
|
import { runProcess } from './process-runner.js';
|
|
12
|
-
import { resolvePaneTarget } from './tmux-injection.js';
|
|
12
|
+
import { resolvePaneTarget, resolveSessionToPane } from './tmux-injection.js';
|
|
13
13
|
import { evaluatePaneInjectionReadiness, sendPaneInput } from './team-tmux-guard.js';
|
|
14
14
|
import { buildCapturePaneArgv, normalizeTmuxCapture, paneHasActiveTask, paneLooksReady, } from '../tmux-hook-engine.js';
|
|
15
15
|
/**
|
|
16
16
|
* Route dispatch state transitions through the Rust runtime binary.
|
|
17
|
-
* Non-fatal: if the binary is missing or fails, the
|
|
17
|
+
* Non-fatal: if the binary is missing or fails, the legacy JSON fallback lane
|
|
18
|
+
* remains available when the caller is already operating outside the bridge-
|
|
19
|
+
* owned path.
|
|
18
20
|
* Disable entirely with OMX_RUNTIME_BRIDGE=0.
|
|
19
21
|
*/
|
|
20
|
-
function runtimeExec(command) {
|
|
22
|
+
function runtimeExec(command, stateDir) {
|
|
21
23
|
if (process.env.OMX_RUNTIME_BRIDGE === '0')
|
|
22
24
|
return;
|
|
23
25
|
try {
|
|
24
26
|
const binaryPath = resolveRuntimeBinaryPath();
|
|
25
|
-
execFileSync(binaryPath, ['exec', JSON.stringify(command)], {
|
|
27
|
+
execFileSync(binaryPath, ['exec', JSON.stringify(command), `--state-dir=${stateDir}`], {
|
|
26
28
|
timeout: 5000,
|
|
27
29
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
30
|
+
windowsHide: true,
|
|
28
31
|
});
|
|
29
32
|
}
|
|
30
33
|
catch {
|
|
@@ -36,6 +39,49 @@ function readJson(path, fallback) {
|
|
|
36
39
|
.then((raw) => JSON.parse(raw))
|
|
37
40
|
.catch(() => fallback);
|
|
38
41
|
}
|
|
42
|
+
async function readBridgeDispatchRequests(stateDir, teamName) {
|
|
43
|
+
const candidate = join(stateDir, 'dispatch.json');
|
|
44
|
+
if (!existsSync(candidate))
|
|
45
|
+
return null;
|
|
46
|
+
const parsed = await readJson(candidate, null);
|
|
47
|
+
if (!parsed || !Array.isArray(parsed.records))
|
|
48
|
+
return null;
|
|
49
|
+
return parsed.records
|
|
50
|
+
.map((record) => {
|
|
51
|
+
if (!record || typeof record !== 'object')
|
|
52
|
+
return null;
|
|
53
|
+
const metadata = record.metadata && typeof record.metadata === 'object' ? record.metadata : {};
|
|
54
|
+
const metadataTeam = safeString(metadata.team_name).trim();
|
|
55
|
+
if (metadataTeam && metadataTeam !== teamName)
|
|
56
|
+
return null;
|
|
57
|
+
return {
|
|
58
|
+
request_id: safeString(record.request_id).trim(),
|
|
59
|
+
kind: safeString(metadata.kind).trim() || 'inbox',
|
|
60
|
+
team_name: teamName,
|
|
61
|
+
to_worker: safeString(record.target).trim(),
|
|
62
|
+
worker_index: typeof metadata.worker_index === 'number' ? metadata.worker_index : undefined,
|
|
63
|
+
pane_id: safeString(metadata.pane_id).trim() || undefined,
|
|
64
|
+
trigger_message: safeString(metadata.trigger_message).trim() || safeString(record.reason).trim() || safeString(record.request_id).trim(),
|
|
65
|
+
message_id: safeString(metadata.message_id).trim() || undefined,
|
|
66
|
+
inbox_correlation_key: safeString(metadata.inbox_correlation_key).trim() || undefined,
|
|
67
|
+
transport_preference: safeString(metadata.transport_preference).trim() || 'hook_preferred_with_fallback',
|
|
68
|
+
fallback_allowed: typeof metadata.fallback_allowed === 'boolean' ? metadata.fallback_allowed : true,
|
|
69
|
+
status: safeString(record.status).trim() || 'pending',
|
|
70
|
+
attempt_count: Number.isFinite(metadata.attempt_count) ? Number(metadata.attempt_count) : 0,
|
|
71
|
+
created_at: safeString(record.created_at).trim() || new Date().toISOString(),
|
|
72
|
+
updated_at: safeString(record.delivered_at).trim()
|
|
73
|
+
|| safeString(record.failed_at).trim()
|
|
74
|
+
|| safeString(record.notified_at).trim()
|
|
75
|
+
|| safeString(record.created_at).trim()
|
|
76
|
+
|| new Date().toISOString(),
|
|
77
|
+
notified_at: safeString(record.notified_at).trim() || undefined,
|
|
78
|
+
delivered_at: safeString(record.delivered_at).trim() || undefined,
|
|
79
|
+
failed_at: safeString(record.failed_at).trim() || undefined,
|
|
80
|
+
last_reason: safeString(record.reason).trim() || undefined,
|
|
81
|
+
};
|
|
82
|
+
})
|
|
83
|
+
.filter((record) => record && record.request_id && record.to_worker && record.trigger_message);
|
|
84
|
+
}
|
|
39
85
|
async function writeJsonAtomic(path, value) {
|
|
40
86
|
await mkdir(dirname(path), { recursive: true });
|
|
41
87
|
const tmp = `${path}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
@@ -124,8 +170,7 @@ function parseTriggerCooldownEntry(entry) {
|
|
|
124
170
|
lastRequestId: safeString(entry.last_request_id).trim(),
|
|
125
171
|
};
|
|
126
172
|
}
|
|
127
|
-
async function
|
|
128
|
-
const lockDir = join(teamDirPath, 'dispatch', '.lock');
|
|
173
|
+
async function withLockDirectory(lockDir, timeoutError, fn) {
|
|
129
174
|
const ownerPath = join(lockDir, 'owner');
|
|
130
175
|
const ownerToken = `${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}`;
|
|
131
176
|
const deadline = Date.now() + 5_000;
|
|
@@ -156,7 +201,7 @@ async function withDispatchLock(teamDirPath, fn) {
|
|
|
156
201
|
// best effort
|
|
157
202
|
}
|
|
158
203
|
if (Date.now() > deadline)
|
|
159
|
-
throw new Error(
|
|
204
|
+
throw new Error(timeoutError);
|
|
160
205
|
await new Promise((resolveDelay) => setTimeout(resolveDelay, 25));
|
|
161
206
|
}
|
|
162
207
|
}
|
|
@@ -175,60 +220,50 @@ async function withDispatchLock(teamDirPath, fn) {
|
|
|
175
220
|
}
|
|
176
221
|
}
|
|
177
222
|
}
|
|
223
|
+
async function withDispatchLock(teamDirPath, fn) {
|
|
224
|
+
return await withLockDirectory(join(teamDirPath, 'dispatch', '.lock'), `Timed out acquiring dispatch lock for ${teamDirPath}`, fn);
|
|
225
|
+
}
|
|
178
226
|
async function withMailboxLock(teamDirPath, workerName, fn) {
|
|
179
|
-
|
|
180
|
-
const ownerPath = join(lockDir, 'owner');
|
|
181
|
-
const ownerToken = `${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}`;
|
|
182
|
-
const deadline = Date.now() + 5_000;
|
|
183
|
-
await mkdir(dirname(lockDir), { recursive: true });
|
|
184
|
-
while (true) {
|
|
185
|
-
try {
|
|
186
|
-
await mkdir(lockDir, { recursive: false });
|
|
187
|
-
try {
|
|
188
|
-
await writeFile(ownerPath, ownerToken, 'utf8');
|
|
189
|
-
}
|
|
190
|
-
catch (error) {
|
|
191
|
-
await rm(lockDir, { recursive: true, force: true });
|
|
192
|
-
throw error;
|
|
193
|
-
}
|
|
194
|
-
break;
|
|
195
|
-
}
|
|
196
|
-
catch (error) {
|
|
197
|
-
if (error?.code !== 'EEXIST')
|
|
198
|
-
throw error;
|
|
199
|
-
try {
|
|
200
|
-
const info = await stat(lockDir);
|
|
201
|
-
if (Date.now() - info.mtimeMs > DISPATCH_LOCK_STALE_MS) {
|
|
202
|
-
await rm(lockDir, { recursive: true, force: true });
|
|
203
|
-
continue;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
catch {
|
|
207
|
-
// best effort
|
|
208
|
-
}
|
|
209
|
-
if (Date.now() > deadline)
|
|
210
|
-
throw new Error(`Timed out acquiring mailbox lock for ${teamDirPath}/${workerName}`);
|
|
211
|
-
await new Promise((resolveDelay) => setTimeout(resolveDelay, 25));
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
try {
|
|
215
|
-
return await fn();
|
|
216
|
-
}
|
|
217
|
-
finally {
|
|
218
|
-
try {
|
|
219
|
-
const currentOwner = await readFile(ownerPath, 'utf8');
|
|
220
|
-
if (currentOwner.trim() === ownerToken) {
|
|
221
|
-
await rm(lockDir, { recursive: true, force: true });
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
catch {
|
|
225
|
-
// best effort
|
|
226
|
-
}
|
|
227
|
-
}
|
|
227
|
+
return await withLockDirectory(join(teamDirPath, 'mailbox', `.lock-${workerName}`), `Timed out acquiring mailbox lock for ${teamDirPath}/${workerName}`, fn);
|
|
228
228
|
}
|
|
229
229
|
function resolveLeaderPaneId(config) {
|
|
230
230
|
return safeString(config?.leader_pane_id).trim();
|
|
231
231
|
}
|
|
232
|
+
function serializeDispatchRequestRecord(request) {
|
|
233
|
+
return {
|
|
234
|
+
request_id: safeString(request.request_id).trim(),
|
|
235
|
+
target: safeString(request.to_worker).trim(),
|
|
236
|
+
status: safeString(request.status).trim() || 'pending',
|
|
237
|
+
created_at: safeString(request.created_at).trim() || new Date().toISOString(),
|
|
238
|
+
notified_at: safeString(request.notified_at).trim() || null,
|
|
239
|
+
delivered_at: safeString(request.delivered_at).trim() || null,
|
|
240
|
+
failed_at: safeString(request.failed_at).trim() || null,
|
|
241
|
+
reason: safeString(request.last_reason).trim() || null,
|
|
242
|
+
metadata: {
|
|
243
|
+
kind: safeString(request.kind).trim() || 'inbox',
|
|
244
|
+
team_name: safeString(request.team_name).trim(),
|
|
245
|
+
worker_index: Number.isFinite(request.worker_index) ? Number(request.worker_index) : undefined,
|
|
246
|
+
pane_id: safeString(request.pane_id).trim() || undefined,
|
|
247
|
+
trigger_message: safeString(request.trigger_message).trim(),
|
|
248
|
+
message_id: safeString(request.message_id).trim() || undefined,
|
|
249
|
+
inbox_correlation_key: safeString(request.inbox_correlation_key).trim() || undefined,
|
|
250
|
+
transport_preference: safeString(request.transport_preference).trim() || 'hook_preferred_with_fallback',
|
|
251
|
+
fallback_allowed: typeof request.fallback_allowed === 'boolean' ? request.fallback_allowed : true,
|
|
252
|
+
attempt_count: Number.isFinite(request.attempt_count) ? Number(request.attempt_count) : 0,
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
async function writeBridgeDispatchCompat(stateDir, teamName, requests) {
|
|
257
|
+
const compatPath = join(stateDir, 'dispatch.json');
|
|
258
|
+
const current = await readJson(compatPath, { records: [] });
|
|
259
|
+
const existing = Array.isArray(current?.records) ? current.records : [];
|
|
260
|
+
const otherTeams = existing.filter((record) => {
|
|
261
|
+
const metadata = record?.metadata && typeof record.metadata === 'object' ? record.metadata : {};
|
|
262
|
+
return safeString(metadata.team_name).trim() !== teamName;
|
|
263
|
+
});
|
|
264
|
+
const records = [...otherTeams, ...requests.map(serializeDispatchRequestRecord)];
|
|
265
|
+
await writeJsonAtomic(compatPath, { records });
|
|
266
|
+
}
|
|
232
267
|
function defaultInjectTarget(request, config) {
|
|
233
268
|
if (request.to_worker === 'leader-fixed') {
|
|
234
269
|
const leaderPaneId = resolveLeaderPaneId(config);
|
|
@@ -304,12 +339,21 @@ function capturedPaneContainsTriggerNearTail(captured, trigger, nonEmptyTailLine
|
|
|
304
339
|
}
|
|
305
340
|
const INJECT_VERIFY_DELAY_MS = 250;
|
|
306
341
|
const INJECT_VERIFY_ROUNDS = 3;
|
|
307
|
-
async function injectDispatchRequest(request, config, cwd) {
|
|
342
|
+
async function injectDispatchRequest(request, config, cwd, stateDir) {
|
|
308
343
|
const target = defaultInjectTarget(request, config);
|
|
309
344
|
if (!target) {
|
|
310
345
|
return { ok: false, reason: 'missing_tmux_target' };
|
|
311
346
|
}
|
|
312
|
-
|
|
347
|
+
let resolution;
|
|
348
|
+
if (target.type === 'session') {
|
|
349
|
+
const paneId = await resolveSessionToPane(target.value).catch(() => null);
|
|
350
|
+
resolution = paneId
|
|
351
|
+
? { paneTarget: paneId, reason: 'session_target_resolved' }
|
|
352
|
+
: { paneTarget: null, reason: 'target_not_found' };
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
resolution = await resolvePaneTarget(target, '', '', '', {});
|
|
356
|
+
}
|
|
313
357
|
if (!resolution.paneTarget) {
|
|
314
358
|
return { ok: false, reason: `target_resolution_failed:${resolution.reason}` };
|
|
315
359
|
}
|
|
@@ -373,7 +417,7 @@ async function injectDispatchRequest(request, config, cwd) {
|
|
|
373
417
|
const wideCap = await runProcess('tmux', verifyWideArgv, 2000);
|
|
374
418
|
// Worker is actively processing (mirrors sync path tmux-session.ts:1292-1294)
|
|
375
419
|
if (paneHasActiveTask(wideCap.stdout)) {
|
|
376
|
-
runtimeExec({ command: 'MarkDelivered', request_id: request.request_id });
|
|
420
|
+
runtimeExec({ command: 'MarkDelivered', request_id: request.request_id }, stateDir);
|
|
377
421
|
return { ok: true, reason: 'tmux_send_keys_confirmed_active_task', pane: resolution.paneTarget };
|
|
378
422
|
}
|
|
379
423
|
// Do not declare success while a *worker* pane is still bootstrapping / not
|
|
@@ -386,7 +430,7 @@ async function injectDispatchRequest(request, config, cwd) {
|
|
|
386
430
|
const triggerInNarrow = capturedPaneContainsTrigger(narrowCap.stdout, request.trigger_message);
|
|
387
431
|
const triggerNearTail = capturedPaneContainsTriggerNearTail(wideCap.stdout, request.trigger_message);
|
|
388
432
|
if (!triggerInNarrow && !triggerNearTail) {
|
|
389
|
-
runtimeExec({ command: 'MarkDelivered', request_id: request.request_id });
|
|
433
|
+
runtimeExec({ command: 'MarkDelivered', request_id: request.request_id }, stateDir);
|
|
390
434
|
return { ok: true, reason: 'tmux_send_keys_confirmed', pane: resolution.paneTarget };
|
|
391
435
|
}
|
|
392
436
|
}
|
|
@@ -431,7 +475,7 @@ async function appendDispatchLog(logsDir, event) {
|
|
|
431
475
|
await mkdir(logsDir, { recursive: true }).catch(() => { });
|
|
432
476
|
await appendFile(path, `${JSON.stringify({ timestamp: new Date().toISOString(), ...event })}\n`).catch(() => { });
|
|
433
477
|
}
|
|
434
|
-
export async function drainPendingTeamDispatch({ cwd, stateDir =
|
|
478
|
+
export async function drainPendingTeamDispatch({ cwd, stateDir = resolveBridgeStateDir(cwd), logsDir = join(cwd, '.omx', 'logs'), maxPerTick = 5, injector = injectDispatchRequest, } = {}) {
|
|
435
479
|
if (safeString(process.env.OMX_TEAM_WORKER)) {
|
|
436
480
|
return { processed: 0, skipped: 0, failed: 0, reason: 'worker_context' };
|
|
437
481
|
}
|
|
@@ -451,11 +495,11 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
|
|
|
451
495
|
const manifestPath = join(teamDirPath, 'manifest.v2.json');
|
|
452
496
|
const configPath = join(teamDirPath, 'config.json');
|
|
453
497
|
const requestsPath = join(teamDirPath, 'dispatch', 'requests.json');
|
|
454
|
-
if (!existsSync(requestsPath))
|
|
455
|
-
continue;
|
|
456
498
|
const config = await readJson(existsSync(manifestPath) ? manifestPath : configPath, {});
|
|
457
499
|
await withDispatchLock(teamDirPath, async () => {
|
|
458
|
-
const
|
|
500
|
+
const bridgeRequests = await readBridgeDispatchRequests(stateDir, teamName);
|
|
501
|
+
const usingLegacyRequests = bridgeRequests === null;
|
|
502
|
+
const requests = usingLegacyRequests ? await readJson(requestsPath, []) : bridgeRequests;
|
|
459
503
|
if (!Array.isArray(requests))
|
|
460
504
|
return;
|
|
461
505
|
const issueCooldownState = await readIssueCooldownState(teamDirPath);
|
|
@@ -495,8 +539,9 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
|
|
|
495
539
|
leader_pane_id: safeString(config?.leader_pane_id).trim() || null,
|
|
496
540
|
tmux_injection_attempted: false,
|
|
497
541
|
});
|
|
498
|
-
//
|
|
499
|
-
// for
|
|
542
|
+
// On the legacy fallback lane, requests.json still carries the queue
|
|
543
|
+
// state for this deferred request; this event stays a progress
|
|
544
|
+
// artifact for hook/watcher readers.
|
|
500
545
|
await appendLeaderNotificationDeferredEvent({
|
|
501
546
|
stateDir,
|
|
502
547
|
teamName,
|
|
@@ -528,7 +573,7 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
|
|
|
528
573
|
continue;
|
|
529
574
|
}
|
|
530
575
|
}
|
|
531
|
-
const result = await injector(request, config, resolve(cwd));
|
|
576
|
+
const result = await injector(request, config, resolve(cwd), stateDir);
|
|
532
577
|
if (issueKey && issueCooldownMs > 0) {
|
|
533
578
|
issueCooldownByIssue[issueKey] = Date.now();
|
|
534
579
|
mutated = true;
|
|
@@ -575,7 +620,7 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
|
|
|
575
620
|
request.status = 'failed';
|
|
576
621
|
request.failed_at = nowIso;
|
|
577
622
|
request.last_reason = 'unconfirmed_after_max_retries';
|
|
578
|
-
runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: 'unconfirmed_after_max_retries' });
|
|
623
|
+
runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: 'unconfirmed_after_max_retries' }, stateDir);
|
|
579
624
|
processed += 1;
|
|
580
625
|
failed += 1;
|
|
581
626
|
mutated = true;
|
|
@@ -602,9 +647,12 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
|
|
|
602
647
|
request.status = 'notified';
|
|
603
648
|
request.notified_at = nowIso;
|
|
604
649
|
request.last_reason = result.reason;
|
|
605
|
-
runtimeExec({ command: 'MarkNotified', request_id: request.request_id, channel: 'tmux' });
|
|
650
|
+
runtimeExec({ command: 'MarkNotified', request_id: request.request_id, channel: 'tmux' }, stateDir);
|
|
606
651
|
if (request.kind === 'mailbox' && request.message_id) {
|
|
607
|
-
|
|
652
|
+
runtimeExec({ command: 'MarkMailboxNotified', message_id: request.message_id }, stateDir);
|
|
653
|
+
if (usingLegacyRequests) {
|
|
654
|
+
await updateMailboxNotified(stateDir, teamName, request.to_worker, request.message_id).catch(() => { });
|
|
655
|
+
}
|
|
608
656
|
}
|
|
609
657
|
processed += 1;
|
|
610
658
|
mutated = true;
|
|
@@ -621,7 +669,7 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
|
|
|
621
669
|
request.status = 'failed';
|
|
622
670
|
request.failed_at = nowIso;
|
|
623
671
|
request.last_reason = result.reason;
|
|
624
|
-
runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: result.reason });
|
|
672
|
+
runtimeExec({ command: 'MarkFailed', request_id: request.request_id, reason: result.reason }, stateDir);
|
|
625
673
|
processed += 1;
|
|
626
674
|
failed += 1;
|
|
627
675
|
mutated = true;
|
|
@@ -652,6 +700,9 @@ export async function drainPendingTeamDispatch({ cwd, stateDir = join(cwd, '.omx
|
|
|
652
700
|
triggerCooldownState.by_trigger = triggerCooldownByKey;
|
|
653
701
|
await writeJsonAtomic(triggerCooldownStatePath(teamDirPath), triggerCooldownState);
|
|
654
702
|
await writeJsonAtomic(requestsPath, requests);
|
|
703
|
+
if (!usingLegacyRequests) {
|
|
704
|
+
await writeBridgeDispatchCompat(stateDir, teamName, requests);
|
|
705
|
+
}
|
|
655
706
|
}
|
|
656
707
|
});
|
|
657
708
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-dispatch.js","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-dispatch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"team-dispatch.js","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-dispatch.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,OAAO,EAAE,QAAQ;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAAE,OAAO;IACnD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;QAC9C,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,eAAe,QAAQ,EAAE,CAAC,EAAE;YACrF,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAC9B,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;SAC1B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC9B,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,QAAQ,EAAE,QAAQ;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,MAAM,CAAC,OAAO;SAClB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,YAAY,IAAI,YAAY,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3D,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;YAChD,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO;YACjD,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAC3C,YAAY,EAAE,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC3F,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YACzD,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;YACxI,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YAC/D,qBAAqB,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YACrF,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,8BAA8B;YACxG,gBAAgB,EAAE,OAAO,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;YACnG,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YACrD,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5E,UAAU,EACR,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;mBACnC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;mBACnC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;mBACrC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;mBACpC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC7B,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YAC/D,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YACjE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YAC3D,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;SAC3D,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;AACnG,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAI,EAAE,KAAK;IACxC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,6EAA6E;AAC7E,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1D,MAAM,2BAA2B,GAAG,qCAAqC,CAAC;AAC1E,MAAM,oCAAoC,GAAG,EAAE,GAAG,IAAI,CAAC;AACvD,MAAM,6BAA6B,GAAG,uCAAuC,CAAC;AAC9E,MAAM,mCAAmC,GAAG,8BAA8B,CAAC;AAC3E,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAEzE,KAAK,UAAU,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO;IAC7D,IAAI,CAAC;QACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACrF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE;YAC5C,gBAAgB,EAAE,SAAS;YAC3B,KAAK,EAAE,eAAe;YACtB,GAAG,OAAO;SACX,CAAC,CAAC;QACH,MAAM,iBAAiB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,mBAAmB;IACrB,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;IACvD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,kCAAkC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,kCAAkC,CAAC;IACtF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;IACzD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,oCAAoC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,oCAAoC,CAAC;IACxF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,cAAc;IACrC,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC5E,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAW;IACzC,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,wBAAwB,CAAC,WAAW;IAC3C,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,WAAW;IAC/C,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7G,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,WAAW;IACjD,MAAM,QAAQ,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACjH,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAK;IAChC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAK;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnD,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,sBAAsB,EAAE,CAAC;oBACvD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;gBACvC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,WAAW,EAAE,EAAE;IAC7C,OAAO,MAAM,iBAAiB,CAC5B,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,EACtC,yCAAyC,WAAW,EAAE,EACtD,EAAE,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;IACxD,OAAO,MAAM,iBAAiB,CAC5B,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,EACnD,wCAAwC,WAAW,IAAI,UAAU,EAAE,EACnE,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAM;IACjC,OAAO,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,8BAA8B,CAAC,OAAO;IAC7C,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;QACjD,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;QAC5C,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;QACtD,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC7E,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;QAC3D,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;QAC7D,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;QACvD,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;QACtD,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO;YAChD,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;YAC/C,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9F,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YACxD,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;YAC3D,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YAC9D,qBAAqB,EAAE,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;YACpF,oBAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,8BAA8B;YACvG,gBAAgB,EAAE,OAAO,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;YACjG,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1F;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACjF,MAAM,eAAe,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACjD,CAAC;AAGD,SAAS,mBAAmB,CAAC,OAAO,EAAE,MAAM;IAC1C,IAAI,OAAO,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,YAAY;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACrE,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;QACrG,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;IAChF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,qCAAqC,CAAC,EACnD,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,WAAW,GAAG,EAAE,EAChB,YAAY,GAAG,EAAE,EACjB,UAAU,GAAG,eAAe,GAC7B;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QACnF,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,OAAO,CAAC,SAAS;QACzB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM;QACN,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,YAAY,EAAE,WAAW,IAAI,IAAI;QACjC,cAAc,EAAE,YAAY,IAAI,IAAI;QACpC,wBAAwB,EAAE,KAAK;QAC/B,WAAW,EAAE,UAAU;KACxB,CAAC;IACF,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAO,EAAE,MAAM;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtE,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAQ,EAAE,OAAO;IACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,mCAAmC,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAG,EAAE;IACpF,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC/B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,KAAK,UAAU,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;IACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,UAAU,CAAC;IACf,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1E,UAAU,GAAG,MAAM;YACjB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE;YAC3D,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,8BAA8B,CAAC,UAAU,CAAC,UAAU,EAAE;QAC5E,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;QAChE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,+EAA+E;YAC/E,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClG,oBAAoB,GAAG,2BAA2B,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACjG,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,gGAAgG;IAChG,MAAM,gBAAgB,GAAG,mBAAmB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC5E,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;YAC7B,4FAA4F;YAC5F,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;QACrC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,MAAM,EAAE,OAAO,CAAC,eAAe;QAC/B,gBAAgB;QAChB,UAAU,EAAE,gBAAgB;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IACtE,CAAC;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,oBAAoB,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,wDAAwD;YACxD,2EAA2E;YAC3E,0EAA0E;YAC1E,2EAA2E;YAC3E,mCAAmC;YACnC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAC/D,8EAA8E;YAC9E,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACpF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;YACnG,CAAC;YACD,4EAA4E;YAC5E,8EAA8E;YAC9E,+DAA+D;YAC/D,qFAAqF;YACrF,IAAI,OAAO,CAAC,SAAS,KAAK,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5E,SAAS;YACX,CAAC;YACD,MAAM,eAAe,GAAG,2BAA2B,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAC/F,MAAM,eAAe,GAAG,mCAAmC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACrG,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzC,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACpF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;YACvF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;QACD,qDAAqD;QACrD,MAAM,aAAa,CAAC;YAClB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,MAAM,EAAE,OAAO,CAAC,eAAe;YAC/B,gBAAgB;YAChB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,wDAAwD;IACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAO;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,8BAA8B,CAAC;AAC5E,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;IAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IACvE,OAAO,MAAM,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,WAAW;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAO,EAAE,KAAK;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC3F,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,GAAG,EACH,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,EACrC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EACnC,UAAU,GAAG,CAAC,EACd,QAAQ,GAAG,qBAAqB,GACjC,GAAG,EAAE;IACJ,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAE1E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,eAAe,GAAG,8BAA8B,EAAE,CAAC;IACzD,MAAM,iBAAiB,GAAG,gCAAgC,EAAE,CAAC;IAE7D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,SAAS,IAAI,UAAU;YAAE,MAAM;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,gBAAgB,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,cAAc,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5E,MAAM,mBAAmB,GAAG,cAAc,KAAK,IAAI,CAAC;YACpD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACzF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACrC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC/D,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,UAAU,IAAI,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEzB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,SAAS,IAAI,UAAU;oBAAE,MAAM;gBACnC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAAE,SAAS;gBACtD,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC,CAAC;oBACb,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,SAAS,KAAK,cAAc,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzE,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACxC,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,mCAAmC,CAAC;oBACvG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;oBAC5B,OAAO,CAAC,WAAW,GAAG,mCAAmC,CAAC;oBAC1D,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;oBAC3B,OAAO,IAAI,CAAC,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,MAAM,iBAAiB,CAAC,OAAO,EAAE;4BAC/B,IAAI,EAAE,mBAAmB;4BACzB,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,MAAM,EAAE,OAAO,CAAC,SAAS;4BACzB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;4BACtC,MAAM,EAAE,mCAAmC;4BAC3C,MAAM,EAAE,SAAS;4BACjB,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;4BAC7D,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI;4BACjE,wBAAwB,EAAE,KAAK;yBAChC,CAAC,CAAC;wBACH,qEAAqE;wBACrE,+DAA+D;wBAC/D,qCAAqC;wBACrC,MAAM,qCAAqC,CAAC;4BAC1C,QAAQ;4BACR,QAAQ;4BACR,OAAO;4BACP,MAAM,EAAE,mCAAmC;4BAC3C,MAAM;4BACN,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE;4BACpD,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE;4BACvD,UAAU,EAAE,eAAe;yBAC5B,CAAC,CAAC;oBACL,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC1D,IAAI,eAAe,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACpC,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG,cAAc,GAAG,eAAe,EAAE,CAAC;wBACtG,OAAO,IAAI,CAAC,CAAC;wBACb,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAChE,IAAI,iBAAiB,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC3E,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC;oBAC5G,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,KAAK,EAAE,IAAI,MAAM,CAAC,aAAa,KAAK,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBACvH,IAAI,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACxC,OAAO,IAAI,CAAC,CAAC;wBACb,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACvE,IAAI,QAAQ,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACpC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC5C,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,IAAI,UAAU,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBACxC,oBAAoB,CAAC,UAAU,CAAC,GAAG;wBACjC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;wBACd,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;qBACvD,CAAC;oBACF,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACxC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;gBAE5B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;oBACd,gEAAgE;oBAChE,+DAA+D;oBAC/D,4DAA4D;oBAC5D,MAAM,wBAAwB,GAAG,CAAC,CAAC;oBACnC,IAAI,MAAM,CAAC,MAAM,KAAK,4BAA4B,IAAI,OAAO,CAAC,aAAa,GAAG,wBAAwB,EAAE,CAAC;wBACvG,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;wBACpC,OAAO,GAAG,IAAI,CAAC;wBACf,OAAO,IAAI,CAAC,CAAC;wBACb,MAAM,iBAAiB,CAAC,OAAO,EAAE;4BAC/B,IAAI,EAAE,4BAA4B;4BAClC,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,MAAM,EAAE,OAAO,CAAC,SAAS;4BACzB,OAAO,EAAE,OAAO,CAAC,aAAa;4BAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,MAAM,wBAAwB,CAAC,GAAG,EAAE,cAAc,EAAE;4BAClD,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,OAAO,CAAC,SAAS;4BACzB,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,OAAO,EAAE,OAAO,CAAC,aAAa;4BAC9B,OAAO,EAAE,OAAO,CAAC,eAAe;4BAChC,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,cAAc;yBACvB,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,KAAK,4BAA4B,EAAE,CAAC;wBACnD,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;wBAC1B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;wBAC3B,OAAO,CAAC,WAAW,GAAG,+BAA+B,CAAC;wBACtD,WAAW,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,EAAE,QAAQ,CAAC,CAAC;wBAC1H,SAAS,IAAI,CAAC,CAAC;wBACf,MAAM,IAAI,CAAC,CAAC;wBACZ,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM,iBAAiB,CAAC,OAAO,EAAE;4BAC/B,IAAI,EAAE,iBAAiB;4BACvB,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,MAAM,EAAE,OAAO,CAAC,SAAS;4BACzB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;4BACtC,MAAM,EAAE,OAAO,CAAC,WAAW;yBAC5B,CAAC,CAAC;wBACH,MAAM,wBAAwB,CAAC,GAAG,EAAE,QAAQ,EAAE;4BAC5C,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,OAAO,CAAC,SAAS;4BACzB,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;4BACtC,OAAO,EAAE,OAAO,CAAC,eAAe;4BAChC,MAAM,EAAE,OAAO,CAAC,WAAW;4BAC3B,aAAa,EAAE,OAAO,CAAC,WAAW;4BAClC,MAAM,EAAE,QAAQ;yBACjB,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;oBACD,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;oBAC5B,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;oBAC7B,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;oBACpC,WAAW,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACpG,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBACrD,WAAW,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;wBAC1F,IAAI,mBAAmB,EAAE,CAAC;4BACxB,MAAM,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACzG,CAAC;oBACH,CAAC;oBACD,SAAS,IAAI,CAAC,CAAC;oBACf,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,iBAAiB,CAAC,OAAO,EAAE;wBAC/B,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,MAAM,EAAE,OAAO,CAAC,SAAS;wBACzB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;wBACtC,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAC1B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;oBAC3B,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;oBACpC,WAAW,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACxG,SAAS,IAAI,CAAC,CAAC;oBACf,MAAM,IAAI,CAAC,CAAC;oBACZ,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,iBAAiB,CAAC,OAAO,EAAE;wBAC/B,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,MAAM,EAAE,OAAO,CAAC,SAAS;wBACzB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;wBACtC,MAAM,EAAE,MAAM,CAAC,MAAM;qBACtB,CAAC,CAAC;oBACH,MAAM,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,KAAK,mCAAmC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE;wBACvH,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,OAAO,CAAC,SAAS;wBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;wBACtC,OAAO,EAAE,OAAO,CAAC,eAAe;wBAChC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,mCAAmC;4BACvD,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE;4BAC9B,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,kBAAkB,CAAC,QAAQ,GAAG,oBAAoB,CAAC;gBACnD,MAAM,eAAe,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAC/E,oBAAoB,CAAC,UAAU,GAAG,oBAAoB,CAAC;gBACvD,MAAM,eAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBACnF,MAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,MAAM,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -12,10 +12,11 @@ export declare function checkWorkerPanesAlive(tmuxTarget: any, workerPaneIds?: n
|
|
|
12
12
|
}>;
|
|
13
13
|
export declare function isLeaderStale(stateDir: any, thresholdMs: any, nowMs: any): Promise<boolean>;
|
|
14
14
|
export declare function emitTeamNudgeEvent(cwd: any, teamName: any, reason: any, nowIso: any): Promise<void>;
|
|
15
|
-
export declare function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale }: {
|
|
15
|
+
export declare function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale, allowFreshMailboxNudges, }: {
|
|
16
16
|
cwd: any;
|
|
17
17
|
stateDir: any;
|
|
18
18
|
logsDir: any;
|
|
19
19
|
preComputedLeaderStale: any;
|
|
20
|
+
allowFreshMailboxNudges?: boolean | undefined;
|
|
20
21
|
}): Promise<void>;
|
|
21
22
|
//# sourceMappingURL=team-leader-nudge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-leader-nudge.d.ts","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-leader-nudge.ts"],"names":[],"mappings":"AACA;;GAEG;AAsBH,wBAAgB,4BAA4B,WAM3C;AAED,wBAAgB,mCAAmC,WAMlD;AAED,wBAAgB,iCAAiC,WAMhD;AAED,wBAAgB,uCAAuC,WAOtD;AAED,wBAAgB,iCAAiC,WAMhD;AA4DD,wBAAsB,qBAAqB,CAAC,UAAU,KAAA,EAAE,aAAa,UAAK;;;GAoBzE;AAED,wBAAsB,aAAa,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,EAAE,KAAK,KAAA,oBAE/D;AAgUD,wBAAsB,kBAAkB,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,MAAM,KAAA,EAAE,MAAM,KAAA,iBAiBrE;AA2BD,wBAAsB,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"team-leader-nudge.d.ts","sourceRoot":"","sources":["../../../src/scripts/notify-hook/team-leader-nudge.ts"],"names":[],"mappings":"AACA;;GAEG;AAsBH,wBAAgB,4BAA4B,WAM3C;AAED,wBAAgB,mCAAmC,WAMlD;AAED,wBAAgB,iCAAiC,WAMhD;AAED,wBAAgB,uCAAuC,WAOtD;AAED,wBAAgB,iCAAiC,WAMhD;AA4DD,wBAAsB,qBAAqB,CAAC,UAAU,KAAA,EAAE,aAAa,UAAK;;;GAoBzE;AAED,wBAAsB,aAAa,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,EAAE,KAAK,KAAA,oBAE/D;AAgUD,wBAAsB,kBAAkB,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,MAAM,KAAA,EAAE,MAAM,KAAA,iBAiBrE;AA2BD,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,QAAQ,EACR,OAAO,EACP,sBAAsB,EACtB,uBAA8B,GAC/B;;;;;;CAAA,iBAqVA"}
|
|
@@ -491,7 +491,7 @@ async function emitLeaderNudgeDeferredEvent(cwd, teamName, reason, nowIso, { tmu
|
|
|
491
491
|
// Best effort
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
|
-
export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale }) {
|
|
494
|
+
export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputedLeaderStale, allowFreshMailboxNudges = true, }) {
|
|
495
495
|
const intervalMs = resolveLeaderNudgeIntervalMs();
|
|
496
496
|
const idleCooldownMs = resolveLeaderAllIdleNudgeCooldownMs();
|
|
497
497
|
const fallbackProgressStallThresholdMs = resolveFallbackProgressStallThresholdMs();
|
|
@@ -661,7 +661,8 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
|
|
|
661
661
|
const previousStalledTeamNudge = prevReason === 'stuck_waiting_on_leader';
|
|
662
662
|
const stalledTeamNudge = teamProgressStalled && (dueByTime || !previousStalledTeamNudge);
|
|
663
663
|
const staleFollowupDue = stalePanesNudge && dueByTime;
|
|
664
|
-
|
|
664
|
+
const hasActionableNewMessage = hasNewMessage && (allowFreshMailboxNudges || leaderStale);
|
|
665
|
+
if (!shouldSendAllIdleNudge && !hasActionableNewMessage && !stalledTeamNudge && !staleFollowupDue)
|
|
665
666
|
continue;
|
|
666
667
|
let nudgeReason = '';
|
|
667
668
|
let text = '';
|
|
@@ -698,7 +699,7 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
|
|
|
698
699
|
+ `${leaderActionGuidance} `
|
|
699
700
|
+ `(p:${pending} ip:${in_progress} b:${blocked}${missingSignals})`;
|
|
700
701
|
}
|
|
701
|
-
else if (stalePanesNudge &&
|
|
702
|
+
else if (stalePanesNudge && hasActionableNewMessage) {
|
|
702
703
|
nudgeReason = 'stale_leader_with_messages';
|
|
703
704
|
text =
|
|
704
705
|
`Team ${teamName}: leader stale, ${paneStatus.paneCount} pane(s) active, ${messages.length} msg(s) pending. `
|
|
@@ -710,7 +711,7 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
|
|
|
710
711
|
`Team ${teamName}: leader stale, ${paneStatus.paneCount} worker pane(s) still active. `
|
|
711
712
|
+ leaderActionGuidance;
|
|
712
713
|
}
|
|
713
|
-
else if (
|
|
714
|
+
else if (hasActionableNewMessage) {
|
|
714
715
|
nudgeReason = 'new_mailbox_message';
|
|
715
716
|
text = `Team ${teamName}: ${messages.length} msg(s) for leader. ${buildMailboxCheckReminder(teamName)}`;
|
|
716
717
|
}
|
|
@@ -746,7 +747,14 @@ export async function maybeNudgeTeamLeader({ cwd, stateDir, logsDir, preComputed
|
|
|
746
747
|
catch { /* ignore */ }
|
|
747
748
|
continue;
|
|
748
749
|
}
|
|
749
|
-
const paneGuard = await evaluatePaneInjectionReadiness(tmuxTarget, {
|
|
750
|
+
const paneGuard = await evaluatePaneInjectionReadiness(tmuxTarget, {
|
|
751
|
+
skipIfScrolling: true,
|
|
752
|
+
// Leader nudges should still queue into a live Codex pane even while the
|
|
753
|
+
// agent is busy; shell/copy-mode guards stay enforced.
|
|
754
|
+
requireRunningAgent: true,
|
|
755
|
+
requireReady: false,
|
|
756
|
+
requireIdle: false,
|
|
757
|
+
});
|
|
750
758
|
if (!paneGuard.ok) {
|
|
751
759
|
const deferredReason = paneGuard.reason === 'pane_running_shell'
|
|
752
760
|
? LEADER_PANE_SHELL_NO_INJECTION_REASON
|