@cotal-ai/manager 0.9.0 → 0.9.1
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/dist/attach-client.d.ts +14 -1
- package/dist/attach-client.d.ts.map +1 -1
- package/dist/attach-client.js +65 -19
- package/dist/attach-client.js.map +1 -1
- package/dist/manager.d.ts +52 -1
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +213 -9
- package/dist/manager.js.map +1 -1
- package/package.json +6 -4
package/dist/attach-client.d.ts
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The detach key — Ctrl-] (0x1d) by default, as in telnet/ssh escape conventions. `COTAL_DETACH_KEY`
|
|
3
|
+
* rebinds it to another control key when Ctrl-] clashes with a keybinding inside the agent's TUI;
|
|
4
|
+
* accepts `ctrl-<char>` or `^<char>` (e.g. `ctrl-b`, `^_`). Read at point of use, per the repo's
|
|
5
|
+
* `COTAL_*` convention. An unparseable value — including a set-but-empty or whitespace-only one —
|
|
6
|
+
* throws (named), never silently falling back; the caller turns that into a loud exit. Only an
|
|
7
|
+
* unset var = the Ctrl-] default.
|
|
8
|
+
*/
|
|
9
|
+
export declare function detachKey(): {
|
|
10
|
+
byte: number;
|
|
11
|
+
label: string;
|
|
12
|
+
overridden: boolean;
|
|
13
|
+
};
|
|
1
14
|
/**
|
|
2
15
|
* Drive a manager's attach endpoint from the terminal: raw-mode stdin streams to
|
|
3
16
|
* the PTY, PTY output streams to stdout, and SIGWINCH-style resizes are forwarded.
|
|
4
|
-
* Ctrl-] detaches without killing the agent.
|
|
17
|
+
* The detach key (Ctrl-] by default, {@link detachKey}) detaches without killing the agent.
|
|
5
18
|
*/
|
|
6
19
|
export declare function attachClient(url: string): Promise<void>;
|
|
7
20
|
//# sourceMappingURL=attach-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-client.d.ts","sourceRoot":"","sources":["../src/attach-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attach-client.d.ts","sourceRoot":"","sources":["../src/attach-client.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAYhF;AAwDD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmIvD"}
|
package/dist/attach-client.js
CHANGED
|
@@ -1,13 +1,34 @@
|
|
|
1
1
|
import WebSocket from "ws";
|
|
2
|
-
|
|
3
|
-
const DETACH = 0x1d;
|
|
2
|
+
import { c } from "./ui.js";
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* The detach key — Ctrl-] (0x1d) by default, as in telnet/ssh escape conventions. `COTAL_DETACH_KEY`
|
|
5
|
+
* rebinds it to another control key when Ctrl-] clashes with a keybinding inside the agent's TUI;
|
|
6
|
+
* accepts `ctrl-<char>` or `^<char>` (e.g. `ctrl-b`, `^_`). Read at point of use, per the repo's
|
|
7
|
+
* `COTAL_*` convention. An unparseable value — including a set-but-empty or whitespace-only one —
|
|
8
|
+
* throws (named), never silently falling back; the caller turns that into a loud exit. Only an
|
|
9
|
+
* unset var = the Ctrl-] default.
|
|
10
|
+
*/
|
|
11
|
+
export function detachKey() {
|
|
12
|
+
const spec = process.env.COTAL_DETACH_KEY;
|
|
13
|
+
if (spec === undefined)
|
|
14
|
+
return { byte: 0x1d, label: "Ctrl-]", overridden: false };
|
|
15
|
+
const m = /^(?:ctrl-|\^)([a-z@[\\\]^_])$/i.exec(spec.trim());
|
|
16
|
+
if (!m) {
|
|
17
|
+
throw new Error(`invalid COTAL_DETACH_KEY "${spec}" — expected ctrl-<char> or ^<char> for a control key ` +
|
|
18
|
+
`(a-z, or one of @ [ \\ ] ^ _), e.g. ctrl-b`);
|
|
19
|
+
}
|
|
20
|
+
const ch = m[1].toUpperCase();
|
|
21
|
+
return { byte: ch.charCodeAt(0) & 0x1f, label: `Ctrl-${ch}`, overridden: true };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Terminal modes a full-screen child (a fullscreen TUI: OpenCode, or Claude under `/tui fullscreen`)
|
|
25
|
+
* commonly turns on but that we must undo locally on detach/exit: the agent keeps running after
|
|
26
|
+
* Ctrl-], so it never restores OUR terminal. Without this, detaching from a mouse-tracking TUI leaves
|
|
27
|
+
* the terminal reporting every cursor move as input (a stream of `ESC[<…M` escape codes), or its
|
|
28
|
+
* focus in/out as `ESC[I`/`ESC[O`. Disables all mouse-report modes + focus reporting + bracketed
|
|
29
|
+
* paste, resets the keypad/cursor-key modes, shows the cursor, and resets attributes. Leaving the
|
|
30
|
+
* alternate screen is handled separately (ALT_LEAVE_SEQ), only when we actually entered it — see
|
|
31
|
+
* cleanup().
|
|
11
32
|
*/
|
|
12
33
|
const MOUSE_OFF = "\x1b[?1000l\x1b[?1002l\x1b[?1003l\x1b[?1005l\x1b[?1006l\x1b[?1015l"; // all mouse tracking off
|
|
13
34
|
const RESTORE = MOUSE_OFF +
|
|
@@ -17,14 +38,23 @@ const RESTORE = MOUSE_OFF +
|
|
|
17
38
|
"\x1b>" + // keypad → numeric (DECKPNM)
|
|
18
39
|
"\x1b[?25h" + // show cursor
|
|
19
40
|
"\x1b[0m"; // reset attributes
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
41
|
+
// Leave the alternate screen on detach, but ONLY if the child put us there (altScreen). The attach
|
|
42
|
+
// snapshot faithfully re-enters the child's alt-screen (`?1049h`) on our terminal; without a matching
|
|
43
|
+
// leave we strand it in the alt buffer, which has no scrollback and — with xterm alt-scroll — turns
|
|
44
|
+
// the wheel into ↑/↓ that walk shell history. Leaving the alt buffer IS the whole fix: alt-scroll
|
|
45
|
+
// (`?1007`) only acts inside the alt buffer, so `?1049l` alone makes it inert. We deliberately don't
|
|
46
|
+
// send `?1007l` — nothing on this path ever enabled it (unlike console.ts, which sets `?1007h` on
|
|
47
|
+
// entry), so disabling it would clobber the operator's own alternate-scroll preference for later apps.
|
|
48
|
+
const ALT_LEAVE_SEQ = "\x1b[?1049l"; // leave alt-screen — alt-scroll is inert once back in the main buffer
|
|
49
|
+
// Wheel-scroll for full-screen children. A fullscreen TUI (OpenCode, or Claude under `/tui
|
|
50
|
+
// fullscreen`) runs in the alternate screen — where the terminal's native scrollback is dead — and
|
|
51
|
+
// scrolls its content itself off mouse reports. But it enables that mouse capture on ITS pty, and the
|
|
52
|
+
// enable doesn't reliably survive the attach hop (backlog eviction / nested pty), so our terminal
|
|
53
|
+
// never reports the wheel and scrolling dies. So while the child is in the alternate screen we enable
|
|
54
|
+
// SGR mouse reporting on OUR terminal and translate each wheel tick into PageUp/PageDown — the
|
|
55
|
+
// keystrokes a fullscreen TUI treats as "scroll the view" (OpenCode: `messages_page_up`/`_down`;
|
|
56
|
+
// Claude's fullscreen binds PageUp/PageDown too). A child in the normal screen (inline Claude) keeps
|
|
57
|
+
// altScreen=false, so this stays off and its native terminal-scrollback wheel is untouched.
|
|
28
58
|
const MOUSE_ON = "\x1b[?1002h\x1b[?1006h"; // button+drag tracking, SGR encoding
|
|
29
59
|
const PAGE_UP = "\x1b[5~";
|
|
30
60
|
const PAGE_DOWN = "\x1b[6~";
|
|
@@ -43,9 +73,19 @@ const lastIndexOfRe = (re, s) => {
|
|
|
43
73
|
/**
|
|
44
74
|
* Drive a manager's attach endpoint from the terminal: raw-mode stdin streams to
|
|
45
75
|
* the PTY, PTY output streams to stdout, and SIGWINCH-style resizes are forwarded.
|
|
46
|
-
* Ctrl-] detaches without killing the agent.
|
|
76
|
+
* The detach key (Ctrl-] by default, {@link detachKey}) detaches without killing the agent.
|
|
47
77
|
*/
|
|
48
78
|
export function attachClient(url) {
|
|
79
|
+
// Resolve the detach key before connecting so a bad COTAL_DETACH_KEY fails loudly up front
|
|
80
|
+
// (matching the manager's other fail-fast exits) instead of after an attach we'd only tear down.
|
|
81
|
+
let detach;
|
|
82
|
+
try {
|
|
83
|
+
detach = detachKey();
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
console.error(c.red(`✗ ${e.message}`));
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
49
89
|
return new Promise((resolve, reject) => {
|
|
50
90
|
const ws = new WebSocket(url);
|
|
51
91
|
const stdin = process.stdin;
|
|
@@ -89,7 +129,7 @@ export function attachClient(url) {
|
|
|
89
129
|
};
|
|
90
130
|
const sendResize = () => ws.send(`r:${process.stdout.columns ?? 80},${process.stdout.rows ?? 24}`);
|
|
91
131
|
const onInput = (d) => {
|
|
92
|
-
if (d.length === 1 && d[0] ===
|
|
132
|
+
if (d.length === 1 && d[0] === detach.byte) {
|
|
93
133
|
ws.close();
|
|
94
134
|
return;
|
|
95
135
|
}
|
|
@@ -141,13 +181,19 @@ export function attachClient(url) {
|
|
|
141
181
|
stdin.off("data", onInput);
|
|
142
182
|
process.stdout.off("resize", sendResize);
|
|
143
183
|
// Undo terminal modes the (still-running) agent's TUI enabled — it won't restore us on detach.
|
|
184
|
+
// If the child put us in its alternate screen (altScreen), leave it too so the terminal isn't
|
|
185
|
+
// stranded in the alt buffer; an inline child (altScreen=false) keeps its scrollback.
|
|
144
186
|
if (process.stdout.isTTY)
|
|
145
|
-
process.stdout.write(RESTORE);
|
|
187
|
+
process.stdout.write(RESTORE + (altScreen ? ALT_LEAVE_SEQ : ""));
|
|
146
188
|
if (stdin.isTTY)
|
|
147
189
|
stdin.setRawMode(wasRaw);
|
|
148
190
|
stdin.pause();
|
|
149
191
|
};
|
|
150
192
|
ws.on("open", () => {
|
|
193
|
+
// Make an override visible (the CLI's "attached to X — Ctrl-] to detach" hint still prints the
|
|
194
|
+
// default label). Only on override, so the default case stays free of duplicate noise.
|
|
195
|
+
if (detach.overridden)
|
|
196
|
+
console.error(c.dim(`detach key: ${detach.label} (via COTAL_DETACH_KEY)`));
|
|
151
197
|
if (stdin.isTTY)
|
|
152
198
|
stdin.setRawMode(true);
|
|
153
199
|
stdin.resume();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-client.js","sourceRoot":"","sources":["../src/attach-client.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"attach-client.js","sourceRoot":"","sources":["../src/attach-client.ts"],"names":[],"mappings":"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"}
|
package/dist/manager.d.ts
CHANGED
|
@@ -66,6 +66,10 @@ export declare class Manager {
|
|
|
66
66
|
/** Space trust material when the mesh runs in auth mode (`.cotal/auth` present);
|
|
67
67
|
* the manager mints per-agent creds from it at spawn. Undefined when the mesh is open. */
|
|
68
68
|
private auth?;
|
|
69
|
+
/** Readiness-race backstop (#159 B1) — the {@link READINESS_TIMEOUT_MS} constant, held as an instance
|
|
70
|
+
* field so a test can shorten it (the join/exit signals are event-driven; only the backstop is timed).
|
|
71
|
+
* Production leaves it at the constant. */
|
|
72
|
+
private readinessTimeoutMs;
|
|
69
73
|
private leaseInfo?;
|
|
70
74
|
private leaseRevision?;
|
|
71
75
|
private leaseTimer?;
|
|
@@ -74,6 +78,16 @@ export declare class Manager {
|
|
|
74
78
|
/** The console page URL (manager-hosted, loopback). */
|
|
75
79
|
get consoleUrl(): string;
|
|
76
80
|
start(): Promise<void>;
|
|
81
|
+
/** Tear down every managed agent's footprint — the shared teardown for EVERY manager-exit path (#159
|
|
82
|
+
* B2): graceful {@link stop} AND the fail-closed lease-loss exit ({@link renewLease}). A manager exit is
|
|
83
|
+
* a mass agent-exit, and without this its agents' footprints (creds files + `dm_`/`dlv_` durables + ACL
|
|
84
|
+
* rows) would orphan exactly as the per-agent exit path prevents. Hard-stop each child (an exit has no
|
|
85
|
+
* time for the graceful grace window) and AWAIT its deprovision — bounded per agent (`withTimeout`) and
|
|
86
|
+
* best-effort (`allSettled` + a loud log), so one slow/failed teardown can neither hang nor abort exit.
|
|
87
|
+
* The creds file is dropped even if the broker teardown fails (see {@link deprovision}). Deliberately
|
|
88
|
+
* touches NEITHER the lease NOR the endpoints — the caller owns those (and lease loss must NOT release
|
|
89
|
+
* the key, which may now belong to a replacement holder). */
|
|
90
|
+
private teardownManagedAgents;
|
|
77
91
|
stop(): Promise<void>;
|
|
78
92
|
/** Refresh the singleton lease before the bucket TTL expires it. On loss (missed the TTL, or another
|
|
79
93
|
* manager took over after a gap) FAIL CLOSED: stop serving control at once so we can't double-process
|
|
@@ -98,7 +112,13 @@ export declare class Manager {
|
|
|
98
112
|
* exit handlers / leaves the mesh), so first send a cooperative `{op:"shutdown"}` over its authed
|
|
99
113
|
* control endpoint; the agent exits cleanly and the runtime hard-kills as a fallback after its
|
|
100
114
|
* grace window. POSIX delivers SIGTERM→SIGKILL natively, so it keeps the signal path. A hard stop
|
|
101
|
-
* (`graceful:false`, e.g. emergency reap) skips the cooperative step on every platform.
|
|
115
|
+
* (`graceful:false`, e.g. emergency reap) skips the cooperative step on every platform.
|
|
116
|
+
*
|
|
117
|
+
* BEST-EFFORT / never throws (#159 B2): a runtime hard-stop CAN throw (tmux `closeWindow` / cmux
|
|
118
|
+
* `closeWorkspace` are direct calls), and every caller (despawn / self-stop / reap / shutdown) frees the
|
|
119
|
+
* slot + deprovisions RIGHT AFTER — so a throwing stop must not abort that cleanup and leak the agent's
|
|
120
|
+
* footprint, nor (in `reapChildrenOf`) abort the reap of later siblings. The failure is logged loudly,
|
|
121
|
+
* never swallowed silently. Being the single stop chokepoint, guarding here covers all callers at once. */
|
|
102
122
|
private stopHandle;
|
|
103
123
|
/** Drop a live agent's slot. When `floor` is set and the agent died young (lived less than
|
|
104
124
|
* MIN_LIFETIME), push a cooling stamp so the freed slot still counts toward the ceiling until it
|
|
@@ -106,6 +126,19 @@ export declare class Manager {
|
|
|
106
126
|
* covered (P4c). Floor self + own-child despawn and natural exit; NEVER admin despawn (operator
|
|
107
127
|
* emergency-kill stays unthrottled) and NEVER the reserved-rollback path (no cold-start paid). */
|
|
108
128
|
private freeSlot;
|
|
129
|
+
/** Tear down a departed agent's minted footprint (#159 B2, auth mode): its id-keyed durables
|
|
130
|
+
* (`dm_<id>`, `dlv_<id>`), its read-ACL row, and its creds file — everything the spawn's
|
|
131
|
+
* `provisionAgent` + creds-write left behind. Mints an EPHEMERAL, TARGET-PINNED `deprovisioner` cred
|
|
132
|
+
* (mirrors the ephemeral `provisioner`/`purger`): it can delete only THIS agent's id-keyed footprint,
|
|
133
|
+
* never a peer's and never the role-shared `svc_<role>` (which its siblings still bind). Open mesh →
|
|
134
|
+
* no-op (nothing was minted). Idempotent at the broker (missing consumer / ACL row = no-op) and on
|
|
135
|
+
* disk (`force` tolerates an absent creds file, e.g. a ledgered deploy that wrote none).
|
|
136
|
+
*
|
|
137
|
+
* Removing the creds file is footprint REDUCTION, not revocation: a JWT copied off disk before exit
|
|
138
|
+
* keeps its inline publish/live-sub/control grants until key rotation or JWT expiry — cred revocation
|
|
139
|
+
* is the separate per-user-auth work, not this. Tearing down the durables + ACL row still shrinks the
|
|
140
|
+
* delivery surface a stale copy could use. */
|
|
141
|
+
private deprovision;
|
|
109
142
|
/** Reap a parent's children on its exit (P4b): stop + free every agent whose `spawner` is the
|
|
110
143
|
* exited agent's id, so orphans don't ratchet the ceiling shut. Recursive — a reaped child's
|
|
111
144
|
* own children are reaped too. Exit-driven, so each freed slot is rate-floored like a despawn. */
|
|
@@ -149,6 +182,24 @@ export declare class Manager {
|
|
|
149
182
|
* defaulting to the manager's own id for roster/pre-spawn — recorded for the spawner
|
|
150
183
|
* ledger (own-children despawn + reap-on-parent-exit). */
|
|
151
184
|
startAgent(opts: StartAgentOpts, spawner?: string): Promise<ControlReply>;
|
|
185
|
+
/** #159 B1: wait for a detached launch to reach a REAL outcome before replying — never a liveness-
|
|
186
|
+
* inferring timer. Races three:
|
|
187
|
+
* • the assigned id joins presence (live) → **started** — the honest signal (the manager owns mesh
|
|
188
|
+
* lifecycle, not app health, so `ok:true` means "it joined the mesh", not "fully healthy");
|
|
189
|
+
* • the child process exits → **failed** — surface its last output and reap the slot;
|
|
190
|
+
* • neither within {@link readinessTimeoutMs} → **uncertain** — a non-success diagnostic that does NOT
|
|
191
|
+
* deprovision (it may still be booting; the caller keeps {@link watchExit} wired so a later death is
|
|
192
|
+
* still reaped).
|
|
193
|
+
* Presence is keyed on the EXACT freshly-minted id, never the name — a fresh id has no prior record, so
|
|
194
|
+
* any live presence for it is from THIS launch (stale/same-name records can't false-start it). The
|
|
195
|
+
* `"presence"` event is only a wake; the roster is re-read as the source of truth (subscribe-then-check
|
|
196
|
+
* catches a join/exit that landed before we subscribed). Runtimes that stream no exit signal (tmux/cmux,
|
|
197
|
+
* whose `attach()` throws) race presence-vs-backstop only — better than the old "assume up". */
|
|
198
|
+
private awaitReadiness;
|
|
199
|
+
/** Last non-empty line of terminal output as a single trimmed, control-char-stripped snippet
|
|
200
|
+
* (≤160 chars) — a readable one-line cause for an early-exit diagnostic, never the raw ANSI
|
|
201
|
+
* scrollback. */
|
|
202
|
+
private tail;
|
|
152
203
|
/** Subscribe to a managed agent's process-exit so a self-driven exit frees its slot and reaps
|
|
153
204
|
* its children (P4b/P4c). Only pty streams exit (via the attach session's `onExit`); tmux/cmux
|
|
154
205
|
* attach() throws, so this is a no-op there — a self-EXITED agent under those runtimes is reaped
|
package/dist/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/manager.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { existsSync } from "node:fs";
|
|
1
|
+
import { existsSync, rmSync } from "node:fs";
|
|
2
2
|
import { join, dirname, resolve } from "node:path";
|
|
3
|
-
import { CotalEndpoint, DEFAULT_SERVER, MANAGER_LEASE_TTL_MS, agentFilePath, clearSpaceHistory, connectorServers, firstFreeName, loadAgentFile, loadCotalConfig, mintCreds, mkSecretDir, newIdentity, provisionAgent, registry, saveAgentFile, writeSecretFile, subjectMatches, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, CONTROL_ADMIN, } from "@cotal-ai/core";
|
|
3
|
+
import { CotalEndpoint, DEFAULT_SERVER, MANAGER_LEASE_TTL_MS, agentFilePath, clearSpaceHistory, connectorServers, deprovisionAgent, firstFreeName, loadAgentFile, loadCotalConfig, mintCreds, mkSecretDir, newIdentity, provisionAgent, registry, saveAgentFile, writeSecretFile, subjectMatches, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, CONTROL_ADMIN, } from "@cotal-ai/core";
|
|
4
4
|
import { authDir, findCotalRoot, loadSpaceAuth, resolveOnPath } from "@cotal-ai/workspace";
|
|
5
5
|
import { createRuntime, } from "./runtime/index.js";
|
|
6
6
|
import { AttachEndpoint } from "./attach-endpoint.js";
|
|
@@ -13,6 +13,27 @@ const MAX_AGENTS = 50;
|
|
|
13
13
|
* before living this long leaves a cooling stamp that still counts toward the ceiling until it
|
|
14
14
|
* expires — so churn (spawn↔despawn or spawn↔fast-exit) can't outrun the concurrency bound. */
|
|
15
15
|
const MIN_LIFETIME = 10_000;
|
|
16
|
+
/** Backstop for the detached-launch readiness race (#159 B1). `startAgent` waits on two REAL outcomes —
|
|
17
|
+
* the assigned id joining the mesh (presence) = started, the child process exiting = failed — NOT a
|
|
18
|
+
* liveness-inferring timer. This is only the last-resort bound for "neither happened in time": the launch
|
|
19
|
+
* is then reported UNCERTAIN (a non-success reply that does NOT deprovision — it may still be booting, or
|
|
20
|
+
* stuck before connector startup). Generous, since a real cold agent join can take several seconds. Held
|
|
21
|
+
* as an instance field ({@link Manager.readinessTimeoutMs}) so a test can shorten it. */
|
|
22
|
+
const READINESS_TIMEOUT_MS = 30_000;
|
|
23
|
+
/** Upper bound on a detached agent-exit deprovision (#159 B2). A wedged broker must not leave the
|
|
24
|
+
* fire-and-forget teardown pending forever with no log — past this it rejects into freeSlot's fail-loud
|
|
25
|
+
* `.catch`. Generous over the helper's 5s connect timeout to allow the two consumer-deletes + ACL purge
|
|
26
|
+
* + drain on a healthy-but-slow broker. */
|
|
27
|
+
const DEPROVISION_TIMEOUT_MS = 15_000;
|
|
28
|
+
/** Reject `p` with `Error(msg)` if it hasn't settled within `ms`; clears the timer when `p` settles so it
|
|
29
|
+
* never keeps the loop alive. Used to bound the detached deprovision so its fail-loud log is guaranteed. */
|
|
30
|
+
function withTimeout(p, ms, msg) {
|
|
31
|
+
let timer;
|
|
32
|
+
const timeout = new Promise((_, reject) => {
|
|
33
|
+
timer = setTimeout(() => reject(new Error(msg)), ms);
|
|
34
|
+
});
|
|
35
|
+
return Promise.race([p.finally(() => clearTimeout(timer)), timeout]);
|
|
36
|
+
}
|
|
16
37
|
/**
|
|
17
38
|
* The agent supervisor: a long-lived mesh node that owns agent process lifecycle.
|
|
18
39
|
* It serves control requests on the "manager" service and spawns/kills agents
|
|
@@ -37,6 +58,10 @@ export class Manager {
|
|
|
37
58
|
/** Space trust material when the mesh runs in auth mode (`.cotal/auth` present);
|
|
38
59
|
* the manager mints per-agent creds from it at spawn. Undefined when the mesh is open. */
|
|
39
60
|
auth;
|
|
61
|
+
/** Readiness-race backstop (#159 B1) — the {@link READINESS_TIMEOUT_MS} constant, held as an instance
|
|
62
|
+
* field so a test can shorten it (the join/exit signals are event-driven; only the backstop is timed).
|
|
63
|
+
* Production leaves it at the constant. */
|
|
64
|
+
readinessTimeoutMs = READINESS_TIMEOUT_MS;
|
|
40
65
|
leaseInfo;
|
|
41
66
|
leaseRevision;
|
|
42
67
|
leaseTimer;
|
|
@@ -132,9 +157,30 @@ export class Manager {
|
|
|
132
157
|
// manager records each agent's read ACL at spawn (`commitAcl`, in provisionAgent) so the daemon can
|
|
133
158
|
// re-authorize it; that is the only Plane-3 state the manager touches, and it rides minting.
|
|
134
159
|
}
|
|
160
|
+
/** Tear down every managed agent's footprint — the shared teardown for EVERY manager-exit path (#159
|
|
161
|
+
* B2): graceful {@link stop} AND the fail-closed lease-loss exit ({@link renewLease}). A manager exit is
|
|
162
|
+
* a mass agent-exit, and without this its agents' footprints (creds files + `dm_`/`dlv_` durables + ACL
|
|
163
|
+
* rows) would orphan exactly as the per-agent exit path prevents. Hard-stop each child (an exit has no
|
|
164
|
+
* time for the graceful grace window) and AWAIT its deprovision — bounded per agent (`withTimeout`) and
|
|
165
|
+
* best-effort (`allSettled` + a loud log), so one slow/failed teardown can neither hang nor abort exit.
|
|
166
|
+
* The creds file is dropped even if the broker teardown fails (see {@link deprovision}). Deliberately
|
|
167
|
+
* touches NEITHER the lease NOR the endpoints — the caller owns those (and lease loss must NOT release
|
|
168
|
+
* the key, which may now belong to a replacement holder). */
|
|
169
|
+
async teardownManagedAgents() {
|
|
170
|
+
const managed = [...this.agents.values()];
|
|
171
|
+
for (const a of managed) {
|
|
172
|
+
// Free the slot + hard-stop each; `stopHandle` is best-effort (never throws — see it), so one bad
|
|
173
|
+
// stop can't strand the rest, and every snapshot entry is deprovisioned below regardless.
|
|
174
|
+
this.agents.delete(a.name);
|
|
175
|
+
this.stopHandle(a, false);
|
|
176
|
+
}
|
|
177
|
+
// Deprovision EVERY snapshot entry regardless of whether its stop failed (allSettled + a loud log).
|
|
178
|
+
await Promise.allSettled(managed.map((a) => this.deprovision(a).catch((e) => console.error(`deprovision ${a.name} (${a.id}) on shutdown: ${e.message}`))));
|
|
179
|
+
}
|
|
135
180
|
async stop() {
|
|
136
181
|
if (this.leaseTimer)
|
|
137
182
|
clearInterval(this.leaseTimer);
|
|
183
|
+
await this.teardownManagedAgents(); // reap agents BEFORE releasing the lease/endpoints (#159 B2)
|
|
138
184
|
await this.ep.releaseManagerLease(this.leaseRevision);
|
|
139
185
|
await this.ep.stop();
|
|
140
186
|
await this.attach.stop();
|
|
@@ -153,6 +199,12 @@ export class Manager {
|
|
|
153
199
|
console.error(`! manager lost its singleton lease for space "${this.space}" (${e.message}) — shutting down to avoid two managers serving it`);
|
|
154
200
|
if (this.leaseTimer)
|
|
155
201
|
clearInterval(this.leaseTimer);
|
|
202
|
+
// Tear down our managed agents' footprints too (#159 B2) — this exit path leaks them otherwise. Do
|
|
203
|
+
// NOT release the lease key (it may belong to the replacement holder). Best-effort, like ep/attach.
|
|
204
|
+
try {
|
|
205
|
+
await this.teardownManagedAgents();
|
|
206
|
+
}
|
|
207
|
+
catch { /* best effort */ }
|
|
156
208
|
try {
|
|
157
209
|
await this.ep.stop();
|
|
158
210
|
}
|
|
@@ -261,11 +313,22 @@ export class Manager {
|
|
|
261
313
|
* exit handlers / leaves the mesh), so first send a cooperative `{op:"shutdown"}` over its authed
|
|
262
314
|
* control endpoint; the agent exits cleanly and the runtime hard-kills as a fallback after its
|
|
263
315
|
* grace window. POSIX delivers SIGTERM→SIGKILL natively, so it keeps the signal path. A hard stop
|
|
264
|
-
* (`graceful:false`, e.g. emergency reap) skips the cooperative step on every platform.
|
|
316
|
+
* (`graceful:false`, e.g. emergency reap) skips the cooperative step on every platform.
|
|
317
|
+
*
|
|
318
|
+
* BEST-EFFORT / never throws (#159 B2): a runtime hard-stop CAN throw (tmux `closeWindow` / cmux
|
|
319
|
+
* `closeWorkspace` are direct calls), and every caller (despawn / self-stop / reap / shutdown) frees the
|
|
320
|
+
* slot + deprovisions RIGHT AFTER — so a throwing stop must not abort that cleanup and leak the agent's
|
|
321
|
+
* footprint, nor (in `reapChildrenOf`) abort the reap of later siblings. The failure is logged loudly,
|
|
322
|
+
* never swallowed silently. Being the single stop chokepoint, guarding here covers all callers at once. */
|
|
265
323
|
stopHandle(a, graceful) {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
324
|
+
try {
|
|
325
|
+
if (graceful && process.platform === "win32" && a.control)
|
|
326
|
+
controlShutdown(a.control);
|
|
327
|
+
a.handle.stop({ graceful });
|
|
328
|
+
}
|
|
329
|
+
catch (e) {
|
|
330
|
+
console.error(`stop ${a.name} (${a.id}): ${e.message}`);
|
|
331
|
+
}
|
|
269
332
|
}
|
|
270
333
|
/** Drop a live agent's slot. When `floor` is set and the agent died young (lived less than
|
|
271
334
|
* MIN_LIFETIME), push a cooling stamp so the freed slot still counts toward the ceiling until it
|
|
@@ -278,6 +341,36 @@ export class Manager {
|
|
|
278
341
|
this.agents.delete(a.name);
|
|
279
342
|
if (floor && Date.now() - a.startedAt < MIN_LIFETIME)
|
|
280
343
|
this.cooling.push(a.startedAt + MIN_LIFETIME);
|
|
344
|
+
// Auth mode: tear down the departed agent's minted broker footprint + creds file (#159 B2). The
|
|
345
|
+
// process is already gone, so this must never block the slot free or throw into the caller — it runs
|
|
346
|
+
// detached, and a failure is logged loudly (never swallowed), not retried. The `agents` guard above
|
|
347
|
+
// makes this fire exactly once per agent across every free path (despawn / self-stop / reap / exit).
|
|
348
|
+
void this.deprovision(a).catch((e) => console.error(`deprovision ${a.name} (${a.id}): ${e.message}`));
|
|
349
|
+
}
|
|
350
|
+
/** Tear down a departed agent's minted footprint (#159 B2, auth mode): its id-keyed durables
|
|
351
|
+
* (`dm_<id>`, `dlv_<id>`), its read-ACL row, and its creds file — everything the spawn's
|
|
352
|
+
* `provisionAgent` + creds-write left behind. Mints an EPHEMERAL, TARGET-PINNED `deprovisioner` cred
|
|
353
|
+
* (mirrors the ephemeral `provisioner`/`purger`): it can delete only THIS agent's id-keyed footprint,
|
|
354
|
+
* never a peer's and never the role-shared `svc_<role>` (which its siblings still bind). Open mesh →
|
|
355
|
+
* no-op (nothing was minted). Idempotent at the broker (missing consumer / ACL row = no-op) and on
|
|
356
|
+
* disk (`force` tolerates an absent creds file, e.g. a ledgered deploy that wrote none).
|
|
357
|
+
*
|
|
358
|
+
* Removing the creds file is footprint REDUCTION, not revocation: a JWT copied off disk before exit
|
|
359
|
+
* keeps its inline publish/live-sub/control grants until key rotation or JWT expiry — cred revocation
|
|
360
|
+
* is the separate per-user-auth work, not this. Tearing down the durables + ACL row still shrinks the
|
|
361
|
+
* delivery surface a stale copy could use. */
|
|
362
|
+
async deprovision(a) {
|
|
363
|
+
if (!this.auth)
|
|
364
|
+
return; // open mesh mints no creds/durables — nothing to tear down
|
|
365
|
+
// Drop the local creds file FIRST + unconditionally — it is a usable identity on disk, useless for a
|
|
366
|
+
// departed agent, so it must not survive even if the broker teardown below fails or times out. The
|
|
367
|
+
// teardown mints its OWN deprovisioner cred (not this file), so removing it early is independent.
|
|
368
|
+
rmSync(join(authDir(this.workspaceRoot), "creds", `${a.name}.creds`), { force: true });
|
|
369
|
+
const creds = await mintCreds(this.auth, newIdentity(), "deprovisioner", { deprovisionTarget: a.id });
|
|
370
|
+
// Bound the detached broker teardown so a wedged broker can't leave the deprovision promise pending
|
|
371
|
+
// forever with no log — the timeout rejects into freeSlot's fail-loud `.catch` (paired with the
|
|
372
|
+
// helper's own fail-fast connect). The durables/ACL row still fall to space teardown as a backstop.
|
|
373
|
+
await withTimeout(deprovisionAgent({ servers: this.servers ?? DEFAULT_SERVER, space: this.space, targetId: a.id, creds }), DEPROVISION_TIMEOUT_MS, `deprovision ${a.name} (${a.id}): broker teardown timed out`);
|
|
281
374
|
}
|
|
282
375
|
/** Reap a parent's children on its exit (P4b): stop + free every agent whose `spawner` is the
|
|
283
376
|
* exited agent's id, so orphans don't ratchet the ceiling shut. Recursive — a reaped child's
|
|
@@ -508,6 +601,10 @@ export class Manager {
|
|
|
508
601
|
}
|
|
509
602
|
allowPublish = [...(allowPublish ?? []), connector.transcriptChannel(name)];
|
|
510
603
|
}
|
|
604
|
+
// Set once the agent's creds + durables are minted; cleared the moment a live slot takes ownership
|
|
605
|
+
// (`agents.set`, after which freeSlot deprovisions on exit). If it survives to `finally`, the spawn
|
|
606
|
+
// threw AFTER minting (buildLaunch / runtime.spawn) — tear the orphan down so no footprint leaks (#159 B).
|
|
607
|
+
let provisioned;
|
|
511
608
|
try {
|
|
512
609
|
// A stable nkey identity assigned at spawn: the public key is the agent's card.id (threaded via
|
|
513
610
|
// COTAL_ID); the seed is retained to mint matching creds later.
|
|
@@ -531,6 +628,7 @@ export class Manager {
|
|
|
531
628
|
credsPath = join(authDir(this.workspaceRoot), "creds", `${name}.creds`);
|
|
532
629
|
mkSecretDir(dirname(credsPath)); // harden the creds dir before the cred lands
|
|
533
630
|
writeSecretFile(credsPath, creds);
|
|
631
|
+
provisioned = { id: identity.id, name }; // footprint now exists — the finally rolls it back if the spawn throws
|
|
534
632
|
}
|
|
535
633
|
// Personal MCP servers the operator opted to share with manager-spawned agents of this type
|
|
536
634
|
// (cotal config; default none → isolated, the memory-safe default this guards).
|
|
@@ -579,9 +677,21 @@ export class Manager {
|
|
|
579
677
|
control: spec.control,
|
|
580
678
|
};
|
|
581
679
|
this.agents.set(name, managed);
|
|
582
|
-
//
|
|
583
|
-
//
|
|
680
|
+
// The live slot now owns teardown — freeSlot deprovisions this identity on exit — so the
|
|
681
|
+
// orphan-rollback in `finally` no longer applies to it.
|
|
682
|
+
provisioned = undefined;
|
|
683
|
+
// #159 B1: reply on a REAL outcome, not a timer. Wait for the agent to actually join the mesh
|
|
684
|
+
// (presence) → started, the child to exit → failed (with its last output; already reaped), or
|
|
685
|
+
// neither in time → uncertain. `✓ started` therefore means "it joined", never just "a process
|
|
686
|
+
// launched".
|
|
687
|
+
const readiness = await this.awaitReadiness(managed);
|
|
688
|
+
if (!readiness.ok && !readiness.uncertain)
|
|
689
|
+
return { ok: false, error: readiness.detail }; // failed → already reaped
|
|
690
|
+
// Started OR uncertain: the agent stays managed, so wire the ongoing exit reaper (it reaps a later
|
|
691
|
+
// death — including one that follows an `uncertain` verdict, which deliberately does NOT deprovision).
|
|
584
692
|
this.watchExit(managed);
|
|
693
|
+
if (!readiness.ok)
|
|
694
|
+
return { ok: false, error: readiness.detail }; // uncertain — non-success, but kept
|
|
585
695
|
return { ok: true, data: { name, role, agent, id: identity.id, mode: handle.kind } };
|
|
586
696
|
}
|
|
587
697
|
catch (e) {
|
|
@@ -591,7 +701,94 @@ export class Manager {
|
|
|
591
701
|
}
|
|
592
702
|
finally {
|
|
593
703
|
this.reserved.delete(name);
|
|
704
|
+
// Minted but never handed to a live slot (buildLaunch / runtime.spawn threw after mint) → tear the
|
|
705
|
+
// orphan down (detached, fail-loud) so a failed spawn leaves no creds/durables behind (#159 B).
|
|
706
|
+
if (provisioned) {
|
|
707
|
+
const orphan = provisioned;
|
|
708
|
+
void this.deprovision(orphan).catch((e) => console.error(`deprovision (orphaned spawn) ${orphan.name}: ${e.message}`));
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
/** #159 B1: wait for a detached launch to reach a REAL outcome before replying — never a liveness-
|
|
713
|
+
* inferring timer. Races three:
|
|
714
|
+
* • the assigned id joins presence (live) → **started** — the honest signal (the manager owns mesh
|
|
715
|
+
* lifecycle, not app health, so `ok:true` means "it joined the mesh", not "fully healthy");
|
|
716
|
+
* • the child process exits → **failed** — surface its last output and reap the slot;
|
|
717
|
+
* • neither within {@link readinessTimeoutMs} → **uncertain** — a non-success diagnostic that does NOT
|
|
718
|
+
* deprovision (it may still be booting; the caller keeps {@link watchExit} wired so a later death is
|
|
719
|
+
* still reaped).
|
|
720
|
+
* Presence is keyed on the EXACT freshly-minted id, never the name — a fresh id has no prior record, so
|
|
721
|
+
* any live presence for it is from THIS launch (stale/same-name records can't false-start it). The
|
|
722
|
+
* `"presence"` event is only a wake; the roster is re-read as the source of truth (subscribe-then-check
|
|
723
|
+
* catches a join/exit that landed before we subscribed). Runtimes that stream no exit signal (tmux/cmux,
|
|
724
|
+
* whose `attach()` throws) race presence-vs-backstop only — better than the old "assume up". */
|
|
725
|
+
async awaitReadiness(a) {
|
|
726
|
+
let session;
|
|
727
|
+
try {
|
|
728
|
+
session = a.handle.attach();
|
|
594
729
|
}
|
|
730
|
+
catch {
|
|
731
|
+
/* tmux/cmux stream no exit — presence-or-backstop only */
|
|
732
|
+
}
|
|
733
|
+
const s = session;
|
|
734
|
+
const joined = () => this.ep.getRoster().some((p) => p.card.id === a.id && p.status !== "offline");
|
|
735
|
+
return await new Promise((resolve) => {
|
|
736
|
+
let done = false;
|
|
737
|
+
let timer;
|
|
738
|
+
let unsubExit = () => { };
|
|
739
|
+
const finish = (r) => {
|
|
740
|
+
if (done)
|
|
741
|
+
return;
|
|
742
|
+
done = true;
|
|
743
|
+
clearTimeout(timer);
|
|
744
|
+
this.ep.off("presence", onPresence);
|
|
745
|
+
unsubExit();
|
|
746
|
+
resolve(r);
|
|
747
|
+
};
|
|
748
|
+
const onPresence = () => {
|
|
749
|
+
if (joined())
|
|
750
|
+
finish({ ok: true });
|
|
751
|
+
};
|
|
752
|
+
// Process exit → failed. Clear the backstop FIRST (synchronously) so it can't resolve UNCERTAIN while
|
|
753
|
+
// the backlog reads async — the process is known dead, that's a failure, not an unknown. Reap through
|
|
754
|
+
// onAgentExit so a child the launcher spawned in the window is reaped too.
|
|
755
|
+
const onExit = () => {
|
|
756
|
+
if (done || !s)
|
|
757
|
+
return;
|
|
758
|
+
clearTimeout(timer);
|
|
759
|
+
void (async () => {
|
|
760
|
+
const tail = this.tail(await s.backlog());
|
|
761
|
+
this.onAgentExit(a);
|
|
762
|
+
finish({ ok: false, detail: `${a.name} exited on launch${tail ? ` — last output: ${tail}` : ""}` });
|
|
763
|
+
})();
|
|
764
|
+
};
|
|
765
|
+
timer = setTimeout(() => finish({
|
|
766
|
+
ok: false,
|
|
767
|
+
uncertain: true,
|
|
768
|
+
detail: `${a.name} (${a.id}): launch status uncertain — no process exit and no mesh presence within ${Math.round(this.readinessTimeoutMs / 1000)}s; it may still be booting or stuck before connector startup. Inspect with \`cotal attach ${a.name}\` / \`cotal ps\`, or stop it to clean up.`,
|
|
769
|
+
}), this.readinessTimeoutMs);
|
|
770
|
+
unsubExit = s ? s.onExit(onExit) : () => { };
|
|
771
|
+
this.ep.on("presence", onPresence);
|
|
772
|
+
// Subscribe-then-check (TOCTOU): a join or an exit that already landed before we subscribed.
|
|
773
|
+
if (s && a.handle.status() === "exited")
|
|
774
|
+
onExit();
|
|
775
|
+
else
|
|
776
|
+
onPresence();
|
|
777
|
+
});
|
|
778
|
+
}
|
|
779
|
+
/** Last non-empty line of terminal output as a single trimmed, control-char-stripped snippet
|
|
780
|
+
* (≤160 chars) — a readable one-line cause for an early-exit diagnostic, never the raw ANSI
|
|
781
|
+
* scrollback. */
|
|
782
|
+
tail(buf) {
|
|
783
|
+
const text = buf
|
|
784
|
+
.toString("utf8")
|
|
785
|
+
.replace(/\x1b\[[0-9;?]*[A-Za-z]/g, "") // strip CSI escape sequences
|
|
786
|
+
.replace(/[^\x20-\x7e\n]/g, "") // drop other control / non-printable bytes
|
|
787
|
+
.split("\n")
|
|
788
|
+
.map((l) => l.trim())
|
|
789
|
+
.filter(Boolean)
|
|
790
|
+
.pop() ?? "";
|
|
791
|
+
return text.length > 160 ? `…${text.slice(-160)}` : text;
|
|
595
792
|
}
|
|
596
793
|
/** Subscribe to a managed agent's process-exit so a self-driven exit frees its slot and reaps
|
|
597
794
|
* its children (P4b/P4c). Only pty streams exit (via the attach session's `onExit`); tmux/cmux
|
|
@@ -601,7 +798,14 @@ export class Manager {
|
|
|
601
798
|
* per-runtime `status()` → exited-sweep at the availability gate) is a tracked follow-up. */
|
|
602
799
|
watchExit(a) {
|
|
603
800
|
try {
|
|
604
|
-
a.handle.attach()
|
|
801
|
+
const session = a.handle.attach();
|
|
802
|
+
session.onExit(() => this.onAgentExit(a));
|
|
803
|
+
// Close the TOCTOU between the early-exit probe's unsubscribe and this subscribe: if the child
|
|
804
|
+
// exited in that gap, the `onExit` above never fires (a late subscriber can't hear a past event),
|
|
805
|
+
// so the agent would leak (never reaped, never deprovisioned). Re-check status right after
|
|
806
|
+
// subscribing and reap it now if it already went. onAgentExit is idempotent (freeSlot's guard).
|
|
807
|
+
if (a.handle.status() === "exited")
|
|
808
|
+
this.onAgentExit(a);
|
|
605
809
|
}
|
|
606
810
|
catch {
|
|
607
811
|
/* runtime doesn't stream an exit signal (tmux/cmux) — nothing to wire */
|
package/dist/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EACL,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EACL,aAAa,GAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;+FAC+F;AAC/F,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB;;gGAEgG;AAChG,MAAM,YAAY,GAAG,MAAM,CAAC;AAmE5B;;;;;GAKG;AACH,MAAM,OAAO,OAAO;IACD,KAAK,CAAS;IACd,OAAO,CAAqB;IAC5B,IAAI,CAAS;IACb,aAAa,CAAS;IACtB,OAAO,CAAU;IACjB,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC1D;gGAC4F;IAC3E,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C;gGAC4F;IACpF,OAAO,GAAa,EAAE,CAAC;IACd,MAAM,CAAiB;IAChC,EAAE,CAAiB;IAC3B;+FAC2F;IACnF,IAAI,CAAa;IACjB,SAAS,CAAmC;IAC5C,aAAa,CAAU;IACvB,UAAU,CAAkC;IAEpD,YAAY,IAAoB;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,EAAE,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EACvC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;QACjB,0EAA0E;QAC1E,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAC7D,IAAI,CAAC,WAAW,IAAI,CAAC,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,uDAAuD;IACvD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,kFAAkF;QAClF,2EAA2E;QAC3E,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,IAAI,KAAyB,CAAC;QAC9B,IAAI,EAAsB,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACjB,qGAAqG;YACrG,oGAAoG;YACpG,qGAAqG;YACrG,kGAAkG;YAClG,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,EAAE;YACZ,KAAK;YACL,mFAAmF;YACnF,oFAAoF;YACpF,sFAAsF;YACtF,4FAA4F;YAC5F,OAAO,EAAE,KAAK;YACd,uFAAuF;YACvF,4FAA4F;YAC5F,0EAA0E;YAC1E,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;SACjE,CAAC,CAAC;QACH,kFAAkF;QAClF,8CAA8C;QAC9C,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/D,mGAAmG;QACnG,oGAAoG;QACpG,+FAA+F;QAC/F,IAAI,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/H,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,6FAA6F;YAC7F,8FAA8F;YAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,IAAI;gBACF,CAAC,CAAC,mCAAmC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,GAAG,UAAU,IAAI,CAAC,IAAI,0CAA0C;gBAClK,CAAC,CAAC,kDAAkD,IAAI,CAAC,KAAK,MAAO,CAAW,CAAC,OAAO,EAAE,CAC7F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1B,4FAA4F;QAC5F,8FAA8F;QAC9F,gGAAgG;QAChG,4FAA4F;QAC5F,gGAAgG;QAChG,iDAAiD;QACjD,sFAAsF;QACtF,kGAAkG;QAClG,qGAAqG;QACrG,wGAAwG;QACxG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9G,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAClH,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,kGAAkG;QAClG,8FAA8F;QAC9F,mGAAmG;QACnG,oGAAoG;QACpG,6FAA6F;IAC/F,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;wGAGoG;IAC5F,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO;QAChE,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,iDAAiD,IAAI,CAAC,KAAK,MAAO,CAAW,CAAC,OAAO,oDAAoD,CAAC,CAAC;YACzJ,IAAI,IAAI,CAAC,UAAU;gBAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACzD,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,GAAmB,EAAE,IAAiB;QACzD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,8FAA8F;QAC9F,gGAAgG;QAChG,yFAAyF;QACzF,8FAA8F;QAC9F,6DAA6D;QAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,0FAA0F;QAC1F,6FAA6F;QAC7F,4FAA4F;QAC5F,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAClC,kGAAkG;YAClG,gGAAgG;YAChG,8FAA8F;YAC9F,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,+CAA+C,EAAE,CAAC;YACjH,IAAI,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mFAAmF,EAAE,CAAC;YAC3H,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,aAAa,CAAC;QACrC,iGAAiG;QACjG,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC;YACf,KAAK,OAAO;gBACV,4FAA4F;gBAC5F,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,KAAK,QAAQ;gBACX,2FAA2F;gBAC3F,4FAA4F;gBAC5F,0FAA0F;gBAC1F,0FAA0F;gBAC1F,yFAAyF;gBACzF,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC;gBACvG,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kFAAkF,EAAE,CAAC;gBAC3H,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACnD,KAAK,OAAO;gBACV,0FAA0F;gBAC1F,6EAA6E;gBAC7E,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4DAA4D,EAAE,CAAC;gBACtG,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5C,KAAK,IAAI;gBACP,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBACnD,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,IAAI,GAAG,EAAE,CAAC;YAChF,CAAC;YACD;gBACE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;yEAIqE;IAC7D,cAAc,CAAC,MAAoB,EAAE,MAAc,EAAE,KAAc;QACzE,IAAI,KAAK;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAChD,OAAO,mBAAmB,MAAM,CAAC,IAAI,uBAAuB,MAAM,wBAAwB,CAAC;IAC7F,CAAC;IAED;;;;6DAIyD;IACjD,UAAU,CAAC,QAAgB,EAAE,IAA6B;QAChE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,QAAQ,yBAAyB,EAAE,CAAC;QACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,+CAA+C;QAC5E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,mGAAmG;IACnG,gGAAgG;IAChG,mGAAmG;IACnG,gGAAgG;IAEhG;;;;;gGAK4F;IACpF,UAAU,CAAC,CAAe,EAAE,QAAiB;QACnD,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO;YAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtF,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;uGAImG;IAC3F,QAAQ,CAAC,CAAe,EAAE,KAAc;QAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,2CAA2C;QACtF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,YAAY;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC;IACtG,CAAC;IAED;;uGAEmG;IAC3F,cAAc,CAAC,QAAgB;QACrC,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAAE,SAAS;YACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;oGAEgG;IACxF,WAAW,CAAC,CAAe;QACjC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;iGAC6F;IACrF,SAAS,CAAC,IAAY;QAC5B,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kCAAkC,CAAC;IAC5E,CAAC;IAED;;sDAEkD;IAC1C,UAAU,CAAC,IAAY;QAC7B,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;8DAE0D;IAC1D,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;;;0EAIsE;IACtE,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,SAAS,GAAG,MAAM;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kFAAkF;IAC1E,OAAO,CAAC,IAA6B,EAAE,MAAc;QAC3D,yFAAyF;QACzF,+FAA+F;QAC/F,kGAAkG;QAClG,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC,UAAU,CACpB;YACE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAClD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACrD,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC9E,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7C,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;wCAOoC;IAC5B,KAAK,CAAC,QAAQ,CAAC,IAA6B,EAAE,MAAc;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACjF,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,IAAI,4BAA4B,KAAK,EAAE,EAAE,CAAC;QAC3F,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,EAAE;YACV,gGAAgG;YAChG,kGAAkG;YAClG,KAAK,CAAC,IAAI,GAAG,EAAE,GAAI,KAAK,CAAC,IAAe,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC3G,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;+DAK2D;IAC3D,KAAK,CAAC,UAAU,CAAC,IAAoB,EAAE,OAAgB;QACrD,iGAAiG;QACjG,8FAA8F;QAC9F,4FAA4F;QAC5F,6FAA6F;QAC7F,iEAAiE;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QACvD,iGAAiG;QACjG,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,MAAM;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QAEpC,wFAAwF;QACxF,gGAAgG;QAChG,+FAA+F;QAC/F,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,sDAAsD;QAC3F,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,IAAI,UAAU;YAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,UAAU,yDAAyD,EAAE,CAAC;QAEnH,gGAAgG;QAChG,2FAA2F;QAC3F,4FAA4F;QAC5F,6FAA6F;QAC7F,IAAI,UAAkB,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,UAAU,EAAE,EAAE,CAAC;QAClG,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,UAAU,sEAAsE,EAAE,CAAC;QAC3I,CAAC;QAED,8FAA8F;QAC9F,4FAA4F;QAC5F,yEAAyE;QACzE,IAAI,SAAoB,CAAC;QACzB,IAAI,CAAC;YACH,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAY,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,OAAO,CAAC,MAAM;YAChB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClG,mGAAmG;QACnG,iGAAiG;QACjG,oGAAoG;QACpG,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc;YAC1C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,mEAAmE,EAAE,CAAC;QAE3G,iGAAiG;QACjG,gGAAgG;QAChG,2FAA2F;QAC3F,4FAA4F;QAC5F,kGAAkG;QAClG,IAAI,YAAoB,CAAC;QACzB,IAAI,IAAwB,CAAC;QAC7B,IAAI,SAA+B,CAAC;QACpC,IAAI,cAAwB,CAAC;QAC7B,IAAI,YAAkC,CAAC;QACvC,IAAI,YAAkC,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxB,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;YAC3B,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YACxB,cAAc,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;YAC9B,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;YAC9B,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;YACpD,CAAC;YACD,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;YAC7B,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YAC1B,uFAAuF;YACvF,8FAA8F;YAC9F,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC;YACpE,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;YAChC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QAClC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,UAAU,KAAK,KAAK,EAAE,EAAE,CAAC;QAErH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,mGAAmG;QACnG,sGAAsG;QACtG,qGAAqG;QACrG,oGAAoG;QACpG,kGAAkG;QAClG,mGAAmG;QACnG,wFAAwF;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;QACnF,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,wDAAwD;gBACpF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,SAAS,CAAC,IAAI,uEAAuE,EAAE,CAAC;YACnI,CAAC;YACD,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC;YACH,gGAAgG;YAChG,gEAAgE;YAChE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,2FAA2F;YAC3F,4FAA4F;YAC5F,uEAAuE;YACvE,IAAI,SAA6B,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,8FAA8F;gBAC9F,iGAAiG;gBACjG,gGAAgG;gBAChG,+FAA+F;gBAC/F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAK,EAAE,QAAQ,EAAE;oBACzC,SAAS;oBACT,cAAc;oBACd,YAAY;oBACZ,IAAI;oBACJ,YAAY;iBACb,CAAC,CACH,CAAC;gBACF,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;gBACxE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,6CAA6C;gBAC9E,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YACD,4FAA4F;YAC5F,gFAAgF;YAChF,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;YAChF,0FAA0F;YAC1F,8FAA8F;YAC9F,mEAAmE;YACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClF,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI;gBACJ,IAAI;gBACJ,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU;gBACV,KAAK;gBACL,4FAA4F;gBAC5F,8FAA8F;gBAC9F,oFAAoF;gBACpF,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,sFAAsF;gBACtF,uFAAuF;gBACvF,0FAA0F;gBAC1F,2CAA2C;gBAC3C,SAAS;gBACT,cAAc;gBACd,YAAY;gBACZ,YAAY;gBACZ,UAAU;gBACV,UAAU;gBACV,wFAAwF;gBACxF,6FAA6F;gBAC7F,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACnD,MAAM,OAAO,GAAiB;gBAC5B,IAAI;gBACJ,IAAI;gBACJ,KAAK;gBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE;gBACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/B,2FAA2F;YAC3F,+FAA+F;YAC/F,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACvF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,8FAA8F;YAC9F,0EAA0E;YAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;kGAK8F;IACtF,SAAS,CAAC,CAAe;QAC/B,IAAI,CAAC;YACH,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED;0GACsG;IAC9F,YAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,IAA6B,EAAE,MAAc,EAAE,KAAc;QAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,IAAI,GAAG,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,iEAAiE;QAC3F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED;;;;uGAImG;IAC3F,KAAK,CAAC,eAAe,CAAI,EAAuC;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACrG,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,EAAE;YACZ,KAAK;YACL,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;YACrF,gBAAgB,EAAE,KAAK;YACvB,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK;YACpB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;gCAG4B;IACpB,KAAK,CAAC,OAAO,CAAC,IAA6B,EAAE,OAAe;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,cAAc;gBACvC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK;gBACL,UAAU;aACX,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;;;;;;4GAQwG;IAChG,eAAe,CAAC,IAA6B,EAAE,MAAc,EAAE,KAAc;QACnF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,GAAa,CAAC;QAClB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,4FAA4F;YAC5F,IAAI,CAAC;gBACH,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;YACpD,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,+CAA+C,CAAC;gBACpG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,IAAI,KAAK,KAAK,qCAAqC,EAAE,CAAC;YACjH,CAAC;YACD,8GAA8G;YAC9G,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,6FAA6F;YAC7F,sEAAsE;YACtE,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;IAC5C,CAAC;IAEO,QAAQ,CAAC,IAA6B,EAAE,MAAc,EAAE,KAAc;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,IAAI,GAAG,EAAE,CAAC;QAC1D,0FAA0F;QAC1F,uCAAuC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAChD,oFAAoF;QACpF,qFAAqF;QACrF,mEAAmE;QACnE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;YACpD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,wFAAwF;IAChF,IAAI;QACV,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,+FAA+F;YAC/F,gFAAgF;YAChF,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;YACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;YACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS;YAClC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,QAAQ;SAC7C,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/manager",
|
|
3
3
|
"description": "Cotal agent supervisor: spawns and manages mesh nodes via a pluggable runtime (pty/tmux/cmux).",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.1",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -27,12 +27,14 @@
|
|
|
27
27
|
"ws": "^8.21.0",
|
|
28
28
|
"yaml": "^2.9.0",
|
|
29
29
|
"zod": "^4.4.3",
|
|
30
|
-
"@cotal-ai/
|
|
31
|
-
"@cotal-ai/
|
|
30
|
+
"@cotal-ai/workspace": "0.9.1",
|
|
31
|
+
"@cotal-ai/core": "0.9.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
+
"@nats-io/jetstream": "^3.4.0",
|
|
35
|
+
"@nats-io/transport-node": "^3.4.0",
|
|
34
36
|
"@types/ws": "^8.18.1",
|
|
35
|
-
"@cotal-ai/connector-core": "0.9.
|
|
37
|
+
"@cotal-ai/connector-core": "0.9.1"
|
|
36
38
|
},
|
|
37
39
|
"files": [
|
|
38
40
|
"dist"
|