@cluesmith/codev 3.1.7 → 3.1.9

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.
Files changed (48) hide show
  1. package/dashboard-dist/assets/{index-CaJH8x6Z.js → index-DM7OU-EI.js} +43 -41
  2. package/dashboard-dist/assets/{index-CaJH8x6Z.js.map → index-DM7OU-EI.js.map} +1 -1
  3. package/dashboard-dist/index.html +1 -1
  4. package/dist/agent-farm/commands/tower.d.ts +12 -0
  5. package/dist/agent-farm/commands/tower.d.ts.map +1 -1
  6. package/dist/agent-farm/commands/tower.js +11 -3
  7. package/dist/agent-farm/commands/tower.js.map +1 -1
  8. package/dist/agent-farm/servers/overview.d.ts +23 -0
  9. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  10. package/dist/agent-farm/servers/overview.js +76 -9
  11. package/dist/agent-farm/servers/overview.js.map +1 -1
  12. package/dist/agent-farm/servers/resolved-enrichment-cache.d.ts +55 -0
  13. package/dist/agent-farm/servers/resolved-enrichment-cache.d.ts.map +1 -0
  14. package/dist/agent-farm/servers/resolved-enrichment-cache.js +55 -0
  15. package/dist/agent-farm/servers/resolved-enrichment-cache.js.map +1 -0
  16. package/dist/agent-farm/servers/tower-routes.d.ts +4 -0
  17. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  18. package/dist/agent-farm/servers/tower-routes.js +20 -1
  19. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  20. package/dist/agent-farm/servers/tower-server.js +6 -0
  21. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  22. package/dist/agent-farm/servers/tower-terminals.d.ts +14 -0
  23. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  24. package/dist/agent-farm/servers/tower-terminals.js +95 -9
  25. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  26. package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
  27. package/dist/agent-farm/servers/tower-websocket.js +42 -5
  28. package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
  29. package/dist/commands/consult/index.d.ts +51 -1
  30. package/dist/commands/consult/index.d.ts.map +1 -1
  31. package/dist/commands/consult/index.js +310 -51
  32. package/dist/commands/consult/index.js.map +1 -1
  33. package/dist/commands/consult/usage-extractor.d.ts +12 -10
  34. package/dist/commands/consult/usage-extractor.d.ts.map +1 -1
  35. package/dist/commands/consult/usage-extractor.js +16 -88
  36. package/dist/commands/consult/usage-extractor.js.map +1 -1
  37. package/dist/commands/doctor.d.ts.map +1 -1
  38. package/dist/commands/doctor.js +101 -25
  39. package/dist/commands/doctor.js.map +1 -1
  40. package/dist/terminal/pty-manager.d.ts +8 -0
  41. package/dist/terminal/pty-manager.d.ts.map +1 -1
  42. package/dist/terminal/pty-manager.js +8 -1
  43. package/dist/terminal/pty-manager.js.map +1 -1
  44. package/package.json +4 -4
  45. package/skeleton/.claude/skills/consult/SKILL.md +1 -1
  46. package/skeleton/DEPENDENCIES.md +17 -6
  47. package/skeleton/resources/commands/codev.md +1 -1
  48. package/skeleton/resources/commands/consult.md +21 -6
@@ -1 +1 @@
1
- {"version":3,"file":"tower-terminals.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-terminals.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAUvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAA8B,MAAM,yBAAyB,CAAC;AAWtF,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,mCAAmC,CAAC;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAwB7F,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,wDAAwD;IACxD,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,6DAA6D;IAC7D,sBAAsB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,2DAA2D;IAC3D,sBAAsB,EAAE,MAAM,MAAM,EAAE,CAAC;CACxC;AAMD,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAEtD;AAED,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AA+BD,gFAAgF;AAChF,wBAAgB,2BAA2B,IAAI,IAAI,CAIlD;AAED,6GAA6G;AAC7G,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,GAAE,MAAiC,GAAG,OAAO,CAAC,IAAI,CAAC,CAevG;AAED,uEAAuE;AACvE,wBAAgB,qCAAqC,IAAI,IAAI,CAG5D;AAED,oCAAoC;AACpC,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC;AAMD,uEAAuE;AACvE,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAEvE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAcpD;AAMD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,CAepF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQpG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,cAAc,GAAE,MAAM,GAAG,IAAW,EACpC,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,iBAAiB,GAAE,MAAM,GAAG,IAAW,EACvC,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,GAAG,GAAE,MAAM,GAAG,IAAW,GACxB,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAO3E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAOnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBxF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAErF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAO9D;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAqBnE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAa3E;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAQ1F;AAMD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOxG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAM9C;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAetE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAoBrE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAQpF;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOlD;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB/D;AAkQD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAqQzC"}
@@ -46,6 +46,73 @@ export function initTerminals(deps) {
46
46
  export function isReconciling() {
47
47
  return _reconciling;
48
48
  }
49
+ // ============================================================================
50
+ // Startup-readiness barrier (#997)
51
+ // ============================================================================
52
+ //
53
+ // On a Tower restart the HTTP server begins serving before
54
+ // reconcileTerminalSessions() has re-registered persistent (shellper-backed)
55
+ // sessions in the workspaceTerminals map. During that window /api/state,
56
+ // /api/overview, and WS upgrades see a half-populated role→terminalId map and
57
+ // a client cannot distinguish "successor not registered yet" from "session
58
+ // gone". This barrier lets the readers of reconcile's output wait until the
59
+ // startup reconcile has settled exactly once.
60
+ //
61
+ // Unlike isReconciling() (false both before and after reconcile), this is a
62
+ // monotonic "has the startup reconcile completed" signal: it flips false→true
63
+ // once and stays true (outside test resets). It is resolved in
64
+ // reconcileTerminalSessions()'s finally — including the early !_deps return and
65
+ // a thrown reconcile — so a failed or skipped reconcile can never wedge serving
66
+ // forever (non-blocking-on-failure).
67
+ let _startupReconcileSettled = false;
68
+ let _resolveStartupReady;
69
+ let _startupReadyPromise = new Promise((resolve) => { _resolveStartupReady = resolve; });
70
+ /** Defensive cap on how long a request waits for the barrier (env-overridable). */
71
+ const STARTUP_READY_TIMEOUT_MS = Math.max(parseInt(process.env.CODEV_STARTUP_READY_TIMEOUT_MS || '10000', 10) || 10000, 0);
72
+ /** Mark the startup reconcile as settled (idempotent); releases any waiters. */
73
+ export function markStartupReconcileSettled() {
74
+ if (_startupReconcileSettled)
75
+ return;
76
+ _startupReconcileSettled = true;
77
+ _resolveStartupReady();
78
+ }
79
+ /** Synchronous readiness check — true once the startup reconcile completed (#997). Served by GET /health. */
80
+ export function isStartupReconcileSettled() {
81
+ return _startupReconcileSettled;
82
+ }
83
+ /**
84
+ * Await completion of the startup reconcile (#997). Resolves immediately once
85
+ * settled. Bounded by `timeoutMs` (default {@link STARTUP_READY_TIMEOUT_MS}) as
86
+ * defense against a pathological reconcile that never returns: on timeout it
87
+ * logs and resolves anyway, so a single request degrades to possibly-incomplete
88
+ * state rather than hanging forever. Pass 0 to wait indefinitely.
89
+ */
90
+ export function whenStartupReconcileSettled(timeoutMs = STARTUP_READY_TIMEOUT_MS) {
91
+ if (_startupReconcileSettled)
92
+ return Promise.resolve();
93
+ if (timeoutMs <= 0)
94
+ return _startupReadyPromise;
95
+ return new Promise((resolve) => {
96
+ let done = false;
97
+ const finish = () => { if (done)
98
+ return; done = true; clearTimeout(timer); resolve(); };
99
+ const timer = setTimeout(() => {
100
+ if (done)
101
+ return;
102
+ done = true;
103
+ _deps?.log('WARN', `Startup reconcile not settled within ${timeoutMs}ms — serving possibly-incomplete terminal state`);
104
+ resolve();
105
+ }, timeoutMs);
106
+ if (typeof timer.unref === 'function')
107
+ timer.unref();
108
+ _startupReadyPromise.then(finish);
109
+ });
110
+ }
111
+ /** Test-only: reset the barrier to its pre-reconcile pending state. */
112
+ export function __resetStartupReconcileSettledForTest() {
113
+ _startupReconcileSettled = false;
114
+ _startupReadyPromise = new Promise((resolve) => { _resolveStartupReady = resolve; });
115
+ }
49
116
  /** Tear down the terminal module */
50
117
  export function shutdownTerminals() {
51
118
  if (terminalManager) {
@@ -119,6 +186,10 @@ export function getWorkspaceTerminalsEntry(workspacePath) {
119
186
  * future endpoint consistent without each having to remember to opt in.
120
187
  */
121
188
  export async function getRehydratedTerminalsEntry(workspacePath) {
189
+ // #997: wait for the startup reconcile to finish re-registering persistent
190
+ // sessions before reading the map, so /api/state and /api/overview return a
191
+ // complete role→terminalId mapping on the first post-restart read.
192
+ await whenStartupReconcileSettled();
122
193
  const proxyUrl = `/workspace/${encodeWorkspacePath(workspacePath)}/`;
123
194
  await getTerminalsForWorkspace(workspacePath, proxyUrl);
124
195
  return getWorkspaceTerminalsEntry(workspacePath);
@@ -407,14 +478,22 @@ export function processExists(pid) {
407
478
  * the sole source of truth for their persistence (see file_tabs table).
408
479
  */
409
480
  export async function reconcileTerminalSessions() {
410
- if (!_deps)
481
+ if (!_deps) {
482
+ // Nothing to reconcile (e.g. a non-server context). Still release the
483
+ // readiness barrier so handlers gating on it don't wait forever (#997).
484
+ markStartupReconcileSettled();
411
485
  return;
486
+ }
412
487
  _reconciling = true;
413
488
  try {
414
489
  await _reconcileTerminalSessionsInner();
415
490
  }
416
491
  finally {
417
492
  _reconciling = false;
493
+ // #997: the startup reconcile has completed (or failed) — release request
494
+ // handlers waiting on the readiness barrier. Idempotent: a later reconcile
495
+ // call (none today, but defensively) is harmless.
496
+ markStartupReconcileSettled();
418
497
  }
419
498
  }
420
499
  async function _reconcileTerminalSessionsInner() {
@@ -559,9 +638,12 @@ async function _reconcileTerminalSessionsInner() {
559
638
  const sessionCwd = dbSession.cwd ?? workspacePath;
560
639
  const replayData = client.getReplayData() ?? Buffer.alloc(0);
561
640
  const label = dbSession.label || (dbSession.type === 'architect' ? 'Architect' : (dbSession.role_id || 'unknown'));
562
- // Create a PtySession backed by the reconnected shellper client
563
- // Use stored cwd (worktree path for builders) instead of workspace_path (Bugfix #506)
564
- const session = manager.createSessionRaw({ label, cwd: sessionCwd });
641
+ // Create a PtySession backed by the reconnected shellper client.
642
+ // Reuse the persisted terminal id (#991) so the session keeps its identity
643
+ // across the restart — clients holding `/ws/terminal/<id>` reconnect to the
644
+ // same valid url instead of a dead one. Use stored cwd (worktree path for
645
+ // builders) instead of workspace_path (Bugfix #506).
646
+ const session = manager.createSessionRaw({ label, cwd: sessionCwd, id: dbSession.id });
565
647
  const ptySession = manager.getSession(session.id);
566
648
  if (ptySession) {
567
649
  const shellperSessId = extractShellperSessionId(dbSession.shellper_socket) ?? dbSession.id;
@@ -584,7 +666,8 @@ async function _reconcileTerminalSessionsInner() {
584
666
  else if (dbSession.type === 'shell') {
585
667
  entry.shells.set(dbSession.role_id || dbSession.id, session.id);
586
668
  }
587
- // Update SQLite with new terminal ID
669
+ // Refresh the SQLite row. The id is preserved (#991), so this re-saves the
670
+ // session under the same terminal id with its refreshed shellper info.
588
671
  db.prepare('DELETE FROM terminal_sessions WHERE id = ?').run(dbSession.id);
589
672
  saveTerminalSession(session.id, workspacePath, dbSession.type, dbSession.role_id, dbSession.shellper_pid, dbSession.shellper_socket, dbSession.shellper_pid, dbSession.shellper_start_time, dbSession.label, sessionCwd);
590
673
  _deps.registerKnownWorkspace(workspacePath);
@@ -730,8 +813,11 @@ export async function getTerminalsForWorkspace(workspacePath, proxyUrl) {
730
813
  if (client) {
731
814
  const replayData = client.getReplayData() ?? Buffer.alloc(0);
732
815
  const label = dbSession.label || (dbSession.type === 'architect' ? 'Architect' : (dbSession.role_id || dbSession.id));
733
- // Use stored cwd (worktree path for builders) instead of workspace_path (Bugfix #506)
734
- const newSession = manager.createSessionRaw({ label, cwd: dbSession.cwd ?? dbSession.workspace_path });
816
+ // Reuse the persisted terminal id (#991) so the session keeps its
817
+ // identity across the reconnect — clients holding `/ws/terminal/<id>`
818
+ // stay valid. Use stored cwd (worktree path for builders) instead of
819
+ // workspace_path (Bugfix #506).
820
+ const newSession = manager.createSessionRaw({ label, cwd: dbSession.cwd ?? dbSession.workspace_path, id: dbSession.id });
735
821
  const ptySession = manager.getSession(newSession.id);
736
822
  if (ptySession) {
737
823
  const shellperSessId = extractShellperSessionId(dbSession.shellper_socket) ?? dbSession.id;
@@ -767,12 +853,12 @@ export async function getTerminalsForWorkspace(workspacePath, proxyUrl) {
767
853
  }
768
854
  });
769
855
  }
770
- const originalSessionId = dbSession.id;
856
+ // Refresh the SQLite row under the same (preserved) id.
771
857
  deleteTerminalSession(dbSession.id);
772
858
  saveTerminalSession(newSession.id, dbSession.workspace_path, dbSession.type, dbSession.role_id, dbSession.shellper_pid, dbSession.shellper_socket, dbSession.shellper_pid, dbSession.shellper_start_time, dbSession.label, dbSession.cwd);
773
859
  dbSession.id = newSession.id;
774
860
  session = manager.getSession(newSession.id);
775
- _deps.log('INFO', `On-the-fly reconnect succeeded for ${originalSessionId} → ${newSession.id}`);
861
+ _deps.log('INFO', `On-the-fly reconnect succeeded for ${newSession.id} (id preserved)`);
776
862
  }
777
863
  }
778
864
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"tower-terminals.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-terminals.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-terminals.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,aAAa,IAAI,mBAAmB,EACpC,0BAA0B,IAAI,gCAAgC,EAC9D,0BAA0B,IAAI,gCAAgC,EAC9D,wBAAwB,IAAI,kBAAkB,GAC/C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;GAGG;AACH,SAAS,wBAAwB,CAAC,UAAyB;IACzD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAID,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,+EAA+E;AAC/E,0DAA0D;AAC1D,+EAA+E;AAE/E,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,qFAAqF;AACrF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEjE,uDAAuD;AACvD,IAAI,eAAe,GAA2B,IAAI,CAAC;AAEnD,uGAAuG;AACvG,IAAI,YAAY,GAAG,KAAK,CAAC;AAkBzB,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAAC,IAAkB;IAC9C,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAC/E,EAAE;AACF,2DAA2D;AAC3D,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAC9E,2EAA2E;AAC3E,4EAA4E;AAC5E,8CAA8C;AAC9C,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,+DAA+D;AAC/D,gFAAgF;AAChF,gFAAgF;AAChF,qCAAqC;AAErC,IAAI,wBAAwB,GAAG,KAAK,CAAC;AACrC,IAAI,oBAAiC,CAAC;AACtC,IAAI,oBAAoB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,oBAAoB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/F,mFAAmF;AACnF,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CACvC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,OAAO,EAAE,EAAE,CAAC,IAAI,KAAK,EAC5E,CAAC,CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,UAAU,2BAA2B;IACzC,IAAI,wBAAwB;QAAE,OAAO;IACrC,wBAAwB,GAAG,IAAI,CAAC;IAChC,oBAAoB,EAAE,CAAC;AACzB,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,yBAAyB;IACvC,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,YAAoB,wBAAwB;IACtF,IAAI,wBAAwB;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACvD,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAChD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,IAAI;gBAAE,OAAO;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,wCAAwC,SAAS,iDAAiD,CAAC,CAAC;YACvH,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACrD,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,qCAAqC;IACnD,wBAAwB,GAAG,KAAK,CAAC;IACjC,oBAAoB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,oBAAoB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,iBAAiB;IAC/B,IAAI,eAAe,EAAE,CAAC;QACpB,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC3B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,uEAAuE;AACvE,MAAM,UAAU,qBAAqB;IACnC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;QACjD,eAAe,GAAG,IAAI,eAAe,CAAC;YACpC,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;YACzC,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,0BAA0B;YAC3C,kBAAkB,EAAE,OAAO;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,aAAqB;IAC9D,IAAI,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,wBAAwB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7H,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,sDAAsD;IACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,mEAAmE;IACnE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,aAAqB;IACrE,2EAA2E;IAC3E,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,2BAA2B,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,cAAc,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC;IACrE,MAAM,wBAAwB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,0BAA0B,CAAC,aAAa,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,MAAM,KAAK,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK;YAAE,KAAK,GAAG,GAAG,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,aAAqB,EACrB,IAAkB,EAClB,MAAqB,EACrB,GAAkB,EAClB,iBAAgC,IAAI,EACpC,cAA6B,IAAI,EACjC,oBAAmC,IAAI,EACvC,QAAuB,IAAI,EAC3B,MAAqB,IAAI;IAEzB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAE7D,+EAA+E;QAC/E,kEAAkE;QAClE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACtF,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,uDAAuD,aAAa,EAAE,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,CAAC;;;KAGV,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAClH,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,qCAAqC,UAAU,KAAK,IAAI,SAAS,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oCAAqC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,KAAa;IACnE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oCAAqC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,UAAU,CAA6B,CAAC;IAChH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAqB,EAAE,SAAkB;IAC5E,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,mHAAmH,CACpH,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAA6B,CAAC;YAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,uGAAuG,CACxG,CAAC,GAAG,CAAC,cAAc,CAA6B,CAAC;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,OAAmB;IAC1E,OAAO,OAAO,CAAC,cAAc,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,sCAAuC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,aAAqB;IACnE,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzB,oEAAoE;QACpE,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzF,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,iDAAkD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,aAAqB;IACnE,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,CAAC,cAAc,CAAwB,CAAC;IAC3H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,aAAqB,EAAE,QAAgB,EAAE,SAAiB;IAChG,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,eAAe,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA6B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,IAAI,CAAC;QACH,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,8BAA+B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,aAAqB;IAC9D,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,gCAAgC,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACrC,gCAAgC,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAC;QACjE,CAAC;QACD,4BAA4B;QAC5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,yCAA0C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gCAAgC,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5E,6DAA6D;QAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;QAC5E,mDAAmD;QACnD,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACvC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC7D,OAAO,kBAAkB,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,GAAG,EAAmB,CAAC;AACpC,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,sEAAsE;QACtE,wEAAwE;QACxE,2BAA2B,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,YAAY,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,+BAA+B,EAAE,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,YAAY,GAAG,KAAK,CAAC;QACrB,0EAA0E;QAC1E,2EAA2E;QAC3E,kDAAkD;QAClD,2BAA2B,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,2CAA2C;IAC/D,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,2CAA2C;IAC3C,IAAI,aAAkC,CAAC;IACvC,IAAI,CAAC;QACH,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAyB,CAAC;IAC7F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAsC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;IAC/E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,gBAAgB,CAAC,MAAM,kDAAkD,CAAC,CAAC;IACxG,CAAC;IAOD,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC;QAE/C,2EAA2E;QAC3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,SAAS,CAAC,EAAE,uCAAuC,aAAa,EAAE,CAAC,CAAC;YACnH,IAAI,SAAS,CAAC,YAAY,IAAI,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;oBAAC,MAAM,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjG,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,KAAK,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChF,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,SAAS,CAAC,EAAE,sCAAsC,aAAa,EAAE,CAAC,CAAC;YAClH,IAAI,SAAS,CAAC,YAAY,IAAI,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;oBAAC,MAAM,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjG,CAAC;YACD,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,uDAAuD,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QAED,qEAAqE;QACrE,IAAI,cAAmD,CAAC;QACxD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,YAAY,GAAG,QAAQ,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;gBACzC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;gBAC/C,IAAI,OAAO,cAAc,KAAK,QAAQ;oBAAE,YAAY,GAAG,cAAc,CAAC;qBACjE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;oBAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClF,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC;YAC9D,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9B,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,gDAAgD;YAChD,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtG,cAAc,GAAG;oBACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpB,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,aAAa;oBAClB,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE;oBACnC,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,EAAE;iBAChB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,2CAA2C,aAAa,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3H,qEAAqE;gBACrE,wDAAwD;gBACxD,qEAAqE;gBACrE,wCAAwC;gBACxC,cAAc,GAAG;oBACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvB,GAAG,EAAE,aAAa;oBAClB,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,EAAE;iBAChB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,kFAAkF;IAClF,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAwB,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,KAAM,CAAC,eAAgB,CAAC,gBAAgB,CAC3D,IAAI,CAAC,SAAS,CAAC,EAAE,EACjB,IAAI,CAAC,SAAS,CAAC,eAAgB,EAC/B,IAAI,CAAC,SAAS,CAAC,YAAa,EAC5B,IAAI,CAAC,SAAS,CAAC,mBAAoB,EACnC,IAAI,CAAC,cAAc,CACpB,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpF,CAAC,CAAC,CACH,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,wCAAwC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7H,CAAC;QACH,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,SAAS,CAAC,EAAE,6CAA6C,CAAC,CAAC;YACjG,SAAS,CAAC,gCAAgC;QAC5C,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC;QAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,IAAI,aAAa,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;QAEnH,iEAAiE;QACjE,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,qDAAqD;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACvF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;YAC3F,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,YAAa,EAAE,cAAc,CAAC,CAAC;YACvF,kFAAkF;YAClF,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACnC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,KAAK,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,kEAAkE;YAClE,2DAA2D;YAC3D,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3E,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EACtG,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjH,KAAK,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAE5C,8EAA8E;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACzB,MAAM,YAAY,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;gBAC/D,IAAI,mBAAmB,GAAkB,IAAI,CAAC;gBAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACnC,kEAAkE;oBAClE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAClD,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;4BACvB,mBAAmB,GAAG,IAAI,CAAC;4BAC3B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACrC,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAClC,iEAAiE;gBACjE,mEAAmE;gBACnE,4CAA4C;gBAC5C,IAAI,mBAAmB,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC;wBACH,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;oBAC/D,CAAC;oBAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpC,mBAAmB,EAAE,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5H,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,SAAS;QAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QAEvD,wDAAwD;QACxD,IAAI,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACjI,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACrC,MAAM,EAAE,CAAC;YACX,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;IACtD,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,4BAA4B,mBAAmB,cAAc,iBAAiB,YAAY,MAAM,YAAY,OAAO,qBAAqB,CAAC,CAAC;IAC9J,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAAqB,EACrB,QAAgB;IAEhB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAoB,EAAE,CAAC;IAEtC,8DAA8D;IAC9D,MAAM,UAAU,GAAG,+BAA+B,CAAC,aAAa,CAAC,CAAC;IAElE,4CAA4C;IAC5C,MAAM,cAAc,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAE7D,oEAAoE;IACpE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,UAAU,GAAuB,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IAE9H,yDAAyD;IACzD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACrD,uEAAuE;QACvE,UAAU,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,QAAQ,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,iEAAiE;QACjE,IAAI,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,eAAe,IAAI,KAAK,EAAE,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YACrF,0EAA0E;YAC1E,8EAA8E;YAC9E,oDAAoD;YACpD,IAAI,CAAC;gBACH,+EAA+E;gBAC/E,IAAI,cAAmD,CAAC;gBACxD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,YAAY,GAAG,QAAQ,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBACpD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;wBAC/C,IAAI,OAAO,cAAc,KAAK,QAAQ;4BAAE,YAAY,GAAG,cAAc,CAAC;6BACjE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;4BAAE,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClF,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC3C,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC;oBAC9D,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC9B,sEAAsE;oBACtE,wEAAwE;oBACxE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC;oBAC/D,IAAI,CAAC;wBACH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;wBACjH,cAAc,GAAG;4BACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;4BACpB,IAAI,EAAE,aAAa;4BACnB,GAAG,EAAE,SAAS,CAAC,cAAc;4BAC7B,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE;4BACnC,YAAY,EAAE,IAAI;4BAClB,WAAW,EAAE,EAAE;yBAChB,CAAC;oBACJ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,2CAA2C,SAAS,CAAC,cAAc,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;wBACtI,cAAc,GAAG;4BACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;4BACpB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;4BACvB,GAAG,EAAE,SAAS,CAAC,cAAc;4BAC7B,GAAG,EAAE,QAAQ;4BACb,YAAY,EAAE,IAAI;4BAClB,WAAW,EAAE,EAAE;yBAChB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAqC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,gBAAgB,CACzD,SAAS,CAAC,EAAE,EACZ,SAAS,CAAC,eAAe,EACzB,SAAS,CAAC,YAAa,EACvB,SAAS,CAAC,mBAAoB,EAC9B,cAAc,CACf,CAAC;gBACF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtH,kEAAkE;oBAClE,sEAAsE;oBACtE,qEAAqE;oBACrE,gCAAgC;oBAChC,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACrD,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;wBAC3F,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,YAAa,EAAE,cAAc,CAAC,CAAC;wBACvF,kFAAkF;wBAClF,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BACnC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;wBAClC,CAAC;wBAED,8EAA8E;wBAC9E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;4BACzB,MAAM,YAAY,GAAG,0BAA0B,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;4BAC1E,IAAI,mBAAmB,GAAkB,IAAI,CAAC;4BAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCACnC,qEAAqE;gCACrE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;oCAClD,IAAI,GAAG,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;wCAC1B,mBAAmB,GAAG,IAAI,CAAC;wCAC3B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wCACrC,MAAM;oCACR,CAAC;gCACH,CAAC;4BACH,CAAC;4BACD,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;4BACrC,iEAAiE;4BACjE,+DAA+D;4BAC/D,8DAA8D;4BAC9D,kCAAkC;4BAClC,IAAI,mBAAmB,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gCAC9E,IAAI,CAAC;oCACH,kBAAkB,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;gCAC1E,CAAC;gCAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,wDAAwD;oBACxD,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACpC,mBAAmB,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EACpH,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;oBACpH,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;oBAC7B,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC5C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,mCAAmC,SAAS,CAAC,EAAE,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,6CAA6C;YAC7C,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,sEAAsE;YACtE,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,oEAAoE;YACpE,0BAA0B;YAC1B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC;YAClD,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;YACpD,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YACjD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,GAAG,QAAQ,QAAQ,SAAS,EAAE;gBACnC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;YAClD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;YACjG,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,UAAU;gBACjB,GAAG,EAAE,GAAG,QAAQ,QAAQ,OAAO,EAAE;gBACjC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,qEAAqE;IACrE,IAAI,aAAa,EAAE,CAAC;QAClB,qEAAqE;QACrE,qEAAqE;QACrE,qDAAqD;QACrD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5C,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5C,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAC/C,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,SAAS;wBACf,EAAE,EAAE,SAAS;wBACb,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,GAAG,QAAQ,QAAQ,SAAS,EAAE;wBACnC,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5C,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC3C,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,OAAO;wBACb,EAAE,EAAE,OAAO;wBACX,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;wBAChE,GAAG,EAAE,GAAG,QAAQ,QAAQ,OAAO,EAAE;wBACjC,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,+DAA+D;IAC/D,MAAM,cAAc,GAAG,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrE,IAAI,CAAC,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,KAAK,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,aAAa,EAAE,CAAC;QACpF,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,aAAa;YACpB,GAAG,EAAE,GAAG,QAAQ,QAAQ,KAAK,EAAE;YAC/B,MAAM,EAAE,IAAI;YACZ,yEAAyE;YACzE,aAAa;YACb,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;YAC7B,2EAA2E;YAC3E,gDAAgD;YAChD,wEAAwE;YACxE,uEAAuE;YACvE,qBAAqB;YACrB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAEnD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tower-websocket.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-websocket.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAiBhE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAoG3G;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,GACX,IAAI,CAmGN"}
1
+ {"version":3,"file":"tower-websocket.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-websocket.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAiBhE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAoG3G;AAwCD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,GACX,IAAI,CAyGN"}
@@ -6,8 +6,9 @@
6
6
  * WebSocket upgrade routing (direct + workspace-scoped).
7
7
  */
8
8
  import { WebSocket } from 'ws';
9
+ import { WS_CLOSE_SESSION_UNKNOWN } from '@cluesmith/codev-core/reconnect-policy';
9
10
  import { encodeData, encodeControl, decodeFrame } from '../../terminal/ws-protocol.js';
10
- import { getTerminalManager } from './tower-terminals.js';
11
+ import { getTerminalManager, isStartupReconcileSettled, whenStartupReconcileSettled } from './tower-terminals.js';
11
12
  import { normalizeWorkspacePath } from './tower-utils.js';
12
13
  import { decodeWorkspacePath } from '../lib/tower-client.js';
13
14
  import { addSubscriber, removeSubscriber } from './tower-messages.js';
@@ -128,6 +129,34 @@ export function handleTerminalWebSocket(ws, session, req) {
128
129
  // ============================================================================
129
130
  // WebSocket upgrade routing
130
131
  // ============================================================================
132
+ /**
133
+ * Reject an upgrade request that targets an unknown terminal session.
134
+ *
135
+ * Two client shapes need different signals (#971):
136
+ * - **Browser** clients can't read a failed *upgrade*'s HTTP status — a failed
137
+ * WS handshake only surfaces as `onclose` code `1006`, indistinguishable from
138
+ * a transport blip. So we accept the upgrade and immediately close with an
139
+ * app-range code ({@link WS_CLOSE_SESSION_UNKNOWN}) the dashboard reads via
140
+ * `CloseEvent.code` to fast-path its give-up instead of blind-retrying.
141
+ * - **Node `ws`** clients (the VSCode terminal) get the HTTP-stage `404`: they
142
+ * rely on the `"Unexpected server response: 404"` upgrade error (#936), so
143
+ * this path must stay byte-for-byte unchanged to avoid regressing them.
144
+ *
145
+ * Discriminator: the `Origin` header, which browsers always send on a WS
146
+ * upgrade and the Node `ws` terminal client never sets. A browser arriving
147
+ * without `Origin` degrades gracefully to the Node path (blind retry) — no
148
+ * worse than today's behavior.
149
+ */
150
+ function rejectUnknownSession(req, socket, head, wss) {
151
+ if (req.headers.origin) {
152
+ wss.handleUpgrade(req, socket, head, (ws) => {
153
+ ws.close(WS_CLOSE_SESSION_UNKNOWN, 'session-unknown');
154
+ });
155
+ return;
156
+ }
157
+ socket.write('HTTP/1.1 404 Not Found\r\n\r\n');
158
+ socket.destroy();
159
+ }
131
160
  /**
132
161
  * Set up the WebSocket upgrade handler on the HTTP server.
133
162
  * Parses upgrade requests and routes them to the appropriate terminal session:
@@ -141,11 +170,16 @@ export function setupUpgradeHandler(server, wss, port) {
141
170
  const terminalMatch = reqUrl.pathname.match(/^\/ws\/terminal\/([^/]+)$/);
142
171
  if (terminalMatch) {
143
172
  const terminalId = terminalMatch[1];
173
+ // #997: don't reject a terminal id as unknown while the startup reconcile
174
+ // is still re-registering persistent sessions — wait for it to settle so a
175
+ // client reconnecting to its preserved id (#991) isn't spuriously 404'd.
176
+ // Fast-path the settled (normal post-startup) case to avoid per-upgrade overhead.
177
+ if (!isStartupReconcileSettled())
178
+ await whenStartupReconcileSettled();
144
179
  const manager = getTerminalManager();
145
180
  const session = manager.getSession(terminalId);
146
181
  if (!session) {
147
- socket.write('HTTP/1.1 404 Not Found\r\n\r\n');
148
- socket.destroy();
182
+ rejectUnknownSession(req, socket, head, wss);
149
183
  return;
150
184
  }
151
185
  wss.handleUpgrade(req, socket, head, (ws) => {
@@ -203,11 +237,14 @@ export function setupUpgradeHandler(server, wss, port) {
203
237
  const wsMatch = reqUrl.pathname.match(/^\/workspace\/[^/]+\/ws\/terminal\/([^/]+)$/);
204
238
  if (wsMatch) {
205
239
  const terminalId = wsMatch[1];
240
+ // #997: same readiness gate as the direct route above — wait out the
241
+ // startup reconcile window before treating an id as unknown.
242
+ if (!isStartupReconcileSettled())
243
+ await whenStartupReconcileSettled();
206
244
  const manager = getTerminalManager();
207
245
  const session = manager.getSession(terminalId);
208
246
  if (!session) {
209
- socket.write('HTTP/1.1 404 Not Found\r\n\r\n');
210
- socket.destroy();
247
+ rejectUnknownSession(req, socket, head, wss);
211
248
  return;
212
249
  }
213
250
  wss.handleUpgrade(req, socket, head, (ws) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tower-websocket.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-websocket.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/tower-websocket.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ interface ModelConfig {
16
16
  envVar: string | null;
17
17
  }
18
18
  declare const MODEL_CONFIGS: Record<string, ModelConfig>;
19
+ declare const MODEL_ALIASES: Record<string, string>;
19
20
  export interface ConsultOptions {
20
21
  model: string;
21
22
  prompt?: string;
@@ -63,6 +64,55 @@ declare function computePersistentOutputPath(state: BuilderProjectState, model:
63
64
  * Mirrors runClaudeConsultation() — streams events, captures usage, records metrics.
64
65
  */
65
66
  export declare function runCodexConsultation(queryText: string, role: string, workspaceRoot: string, outputPath?: string, metricsCtx?: MetricsContext): Promise<void>;
67
+ /**
68
+ * Build the env passed to the Claude Agent SDK subprocess for a consultation.
69
+ *
70
+ * Copies the given environment, but when a Claude subscription/OAuth token
71
+ * (`CLAUDE_CODE_OAUTH_TOKEN`) is present, strips `ANTHROPIC_API_KEY` and
72
+ * `ANTHROPIC_AUTH_TOKEN` from the *copy* (never the global `process.env`).
73
+ * The Agent SDK prioritizes the API key over the OAuth token, so leaving the
74
+ * key in would silently route CMAP/review traffic to the metered Opus API
75
+ * instead of the Claude subscription (issue #985).
76
+ *
77
+ * When no OAuth token is set, the API key is preserved so CI / key-only
78
+ * environments continue to authenticate.
79
+ *
80
+ * The deletion is scoped to this subprocess env only — other callers that need
81
+ * the API key (persona, dev:local) are unaffected.
82
+ */
83
+ export declare function buildClaudeConsultEnv(processEnv: NodeJS.ProcessEnv): Record<string, string>;
84
+ export declare const AGY_OAUTH_MARKERS: string[];
85
+ /**
86
+ * Verify a path is the real headless `agy` CLI, not the Antigravity IDE
87
+ * launcher. The IDE ships `~/.antigravity/.../bin/agy` as a symlink to the
88
+ * Electron app binary (`Antigravity.app/.../antigravity`); resolving it and
89
+ * launching it would open the IDE, never produce a `--print` review. We reject
90
+ * by realpath WITHOUT executing anything (no risk of launching the GUI).
91
+ */
92
+ export declare function isRealAgyCli(p: string): boolean;
93
+ /**
94
+ * Resolve the real `agy` CLI binary deterministically — never trust a bare
95
+ * PATH lookup (a stale shell or the IDE symlink shadows the CLI). Prefers the
96
+ * official installer path, then a PATH `agy` verified not to be the IDE.
97
+ * Returns null if no valid headless CLI is found.
98
+ */
99
+ /**
100
+ * Positively verify a candidate behaves like the real headless agy CLI by
101
+ * running `--version` (read-only, fast). `isRealAgyCli` rejects the IDE launcher
102
+ * by realpath; this adds behavioral verification for an *untrusted* PATH
103
+ * candidate so we only run a binary proven to be the CLI.
104
+ */
105
+ export declare function agyRespondsToVersion(bin: string): boolean;
106
+ export declare function resolveAgyBin(): string | null;
107
+ /** Non-blocking skip artifact: porch's verdict parser treats COMMENT as non-blocking. */
108
+ declare function agySkipContent(reason: string): string;
109
+ /**
110
+ * Run the `gemini` consult lane via the Antigravity CLI (`agy --print`).
111
+ * Preserves agentic file-reading (--sandbox --add-dir), folds the role into the
112
+ * prompt, and NEVER blocks the run: a missing/unauthed/invalid CLI or a
113
+ * timeout/error produces a non-blocking COMMENT skip instead of throwing.
114
+ */
115
+ declare function runAgyConsultation(queryText: string, role: string, workspaceRoot: string, outputPath?: string, metricsCtx?: MetricsContext): Promise<void>;
66
116
  /**
67
117
  * Get a compact diff stat summary and list of changed files.
68
118
  *
@@ -115,5 +165,5 @@ declare function buildPlanQuery(plan: ContentRef, spec: ContentRef | null): stri
115
165
  * Main consult entry point
116
166
  */
117
167
  export declare function consult(options: ConsultOptions): Promise<void>;
118
- export { getDiffStat as _getDiffStat, buildSpecQuery as _buildSpecQuery, buildPlanQuery as _buildPlanQuery, buildPRQuery as _buildPRQuery, composePRQueryText as _composePRQueryText, computePersistentOutputPath as _computePersistentOutputPath, MODEL_CONFIGS as _MODEL_CONFIGS, };
168
+ export { getDiffStat as _getDiffStat, buildSpecQuery as _buildSpecQuery, buildPlanQuery as _buildPlanQuery, buildPRQuery as _buildPRQuery, composePRQueryText as _composePRQueryText, computePersistentOutputPath as _computePersistentOutputPath, MODEL_CONFIGS as _MODEL_CONFIGS, MODEL_ALIASES as _MODEL_ALIASES, runAgyConsultation as _runAgyConsultation, agySkipContent as _agySkipContent, };
119
169
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/consult/index.ts"],"names":[],"mappings":"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"}