@agent-deck/cli 1.10.5 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/admin-elevation.d.ts +12 -0
  2. package/dist/admin-elevation.d.ts.map +1 -0
  3. package/dist/admin-elevation.js +65 -0
  4. package/dist/admin-elevation.js.map +1 -0
  5. package/dist/agent-harness.d.ts.map +1 -1
  6. package/dist/agent-harness.js +28 -17
  7. package/dist/agent-harness.js.map +1 -1
  8. package/dist/codex-plugin.d.ts +65 -0
  9. package/dist/codex-plugin.d.ts.map +1 -0
  10. package/dist/codex-plugin.js +508 -0
  11. package/dist/codex-plugin.js.map +1 -0
  12. package/dist/dashboard-open.d.ts +20 -0
  13. package/dist/dashboard-open.d.ts.map +1 -1
  14. package/dist/dashboard-open.js +74 -0
  15. package/dist/dashboard-open.js.map +1 -1
  16. package/dist/mcp-bridge.d.ts +19 -4
  17. package/dist/mcp-bridge.d.ts.map +1 -1
  18. package/dist/mcp-bridge.js +36 -6
  19. package/dist/mcp-bridge.js.map +1 -1
  20. package/dist/mcp-launcher.d.ts +28 -0
  21. package/dist/mcp-launcher.d.ts.map +1 -1
  22. package/dist/mcp-launcher.js +92 -4
  23. package/dist/mcp-launcher.js.map +1 -1
  24. package/dist/menubar.d.ts +6 -2
  25. package/dist/menubar.d.ts.map +1 -1
  26. package/dist/menubar.js +38 -4
  27. package/dist/menubar.js.map +1 -1
  28. package/dist/playbook-stubs.d.ts +22 -0
  29. package/dist/playbook-stubs.d.ts.map +1 -1
  30. package/dist/playbook-stubs.js +24 -1
  31. package/dist/playbook-stubs.js.map +1 -1
  32. package/dist/setup.d.ts.map +1 -1
  33. package/dist/setup.js +16 -0
  34. package/dist/setup.js.map +1 -1
  35. package/dist/start.d.ts.map +1 -1
  36. package/dist/start.js +8 -0
  37. package/dist/start.js.map +1 -1
  38. package/dist/upgrade.d.ts +11 -1
  39. package/dist/upgrade.d.ts.map +1 -1
  40. package/dist/upgrade.js +31 -13
  41. package/dist/upgrade.js.map +1 -1
  42. package/dist/use.d.ts.map +1 -1
  43. package/dist/use.js +46 -2
  44. package/dist/use.js.map +1 -1
  45. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-open.js","sourceRoot":"","sources":["../src/dashboard-open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-open.js","sourceRoot":"","sources":["../src/dashboard-open.ts"],"names":[],"mappings":";;AAYA,8DAqDC;AAED,oEAGC;AAED,wDAGC;AAGD,wDAgBC;AAED,8DAEC;AASD,kEAGC;AAaD,wDAqCC;AAOD,wDAmBC;AA1LD,2DAA2C;AAE3C,iDAAiD;AAEjD,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAOhC,0FAA0F;AACnF,KAAK,UAAU,yBAAyB,CAC7C,UAAkB,EAClB,YAAY,GAAG,GAAG;IAElB,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;IAClF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAe,GAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACtB,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,wDAAwD;aACjE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,qCAAqC,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;YAC9C,8EAA8E;YAC9E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACtB,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,wBAAwB,QAAQ,CAAC,MAAM,EAAE;aAClD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkC,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACtB,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,uBAAuB;aAChC,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,4BAA4B,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC/E,MAAM,GAAG,GAAG,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,sBAAsB,CAAC,GAAW;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1G,IAAA,0BAAK,EAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACvF,CAAC;AAED,4EAA4E;AACrE,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,YAAY,GAAG,GAAG;IAElB,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,gDAAgD,MAAM,CAAC,MAAM,GAAG;SAC1E,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,iDAAiD,CAAC;AAC3D,CAAC;AAQD,mFAAmF;AACnF,SAAgB,2BAA2B,CAAC,SAAiB,EAAE,gBAAyB;IACtF,MAAM,IAAI,GAAG,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAC7E,OAAO,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7F,CAAC;AAOD;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,MAAe;IACpD,MAAM,UAAU,GAAG,MAA0C,CAAC;IAC9D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAA4B,CAAC;YAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAmD,CAAC;YAC9E,IAAI,YAAY,EAAE,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;gBAC3E,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;gBACvE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;gBAC9B,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO;gBACL,YAAY,EAAE,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACtE,SAAS;gBACT,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,MAAe,EACf,MAAM,GAAG,sBAAsB,EAC/B,MAAyB,OAAO,CAAC,GAAG;IAEpC,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,qCAAqC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}
@@ -14,9 +14,9 @@ export type McpBridgeOptions = {
14
14
  headers: Record<string, string>;
15
15
  /**
16
16
  * Re-read the folder assignment before replaying a handshake. It can have moved
17
- * to another deck — or another endpoint — while we were connected
18
- * (`switch_bound_deck`, `agent-deck use`), and the values we launched with would
19
- * otherwise reconnect us to the deck and server we started on.
17
+ * to another deck — or another endpoint — while we were connected (an approved
18
+ * workspace-default switch, `agent-deck use`), and the values we launched with
19
+ * would otherwise reconnect us to the deck and server we started on.
20
20
  */
21
21
  resolveTarget?: () => Promise<{
22
22
  url?: string;
@@ -31,6 +31,15 @@ export type McpBridgeOptions = {
31
31
  /** How long `run()` waits for in-flight requests after the host closes stdin. */
32
32
  drainTimeoutMs?: number;
33
33
  fetchImpl?: typeof fetch;
34
+ /**
35
+ * Observe a completed MCP tool call. It runs after the result has been handed to
36
+ * the host and never delays it, so a follow-up that hangs cannot withhold the
37
+ * result. `source.mcpUrl` is the endpoint that produced the result, which can
38
+ * differ from the launch URL once the assignment has moved the bridge.
39
+ */
40
+ onToolResult?: (toolName: string, result: unknown, source: {
41
+ mcpUrl: string;
42
+ }) => Promise<void> | void;
34
43
  };
35
44
  export declare function isSessionInvalidResponse(status: number, body: string): boolean;
36
45
  /**
@@ -58,7 +67,7 @@ export declare class McpStdioHttpBridge {
58
67
  /** The deck the client is working against: launch deck, or whatever it bound to. */
59
68
  private boundDeckId;
60
69
  /**
61
- * In-flight `bind_workspace` / `switch_bound_deck` calls: request id → the session
70
+ * In-flight `bind_workspace` calls: request id → the session
62
71
  * generation the call went out on. A binding result only describes the session that
63
72
  * answered it, so one that arrives after a restart must not be read as the deck the
64
73
  * replacement session is on.
@@ -148,6 +157,12 @@ export declare class McpStdioHttpBridge {
148
157
  private setSessionId;
149
158
  private captureSessionId;
150
159
  private emitResponseBody;
160
+ /**
161
+ * Production hosts all reach Agent Deck through this bridge. Keep host-neutral
162
+ * side effects (such as opening an approval page) here instead of teaching each
163
+ * IDE how to interpret one tool's response.
164
+ */
165
+ private notifyToolResult;
151
166
  /**
152
167
  * Recover the session a request was sent on — once, no matter how many of its
153
168
  * siblings come back stale. A second handshake for the same invalidation would
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"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"}
@@ -29,12 +29,14 @@ const DEFAULT_DRAIN_TIMEOUT_MS = 2_000;
29
29
  */
30
30
  const LEGACY_SESSION_INVALID_MESSAGE = 'no valid session id provided';
31
31
  /**
32
- * Tools that move this session to another deck. A session override does not
32
+ * Tools that bind this session to a deck. A session override does not
33
33
  * survive a restart, so the deck a replayed handshake lands on is whatever the
34
34
  * launch headers say — which is why we track what the client bound to and refuse
35
- * to replay a request across a deck change.
35
+ * to replay a request across a deck change. (NOT-214: switch_bound_deck is
36
+ * retired — it changes nothing, so it is not tracked here. Deck moves go
37
+ * through switch_deck + human approval, which commit server-side.)
36
38
  */
37
- const DECK_REBINDING_TOOLS = new Set(['bind_workspace', 'switch_bound_deck']);
39
+ const DECK_REBINDING_TOOLS = new Set(['bind_workspace']);
38
40
  /** Read-only tool that reports the deck a session actually acts on. */
39
41
  const SESSION_BINDING_TOOL = 'get_session_binding';
40
42
  /**
@@ -153,7 +155,7 @@ class McpStdioHttpBridge {
153
155
  /** The deck the client is working against: launch deck, or whatever it bound to. */
154
156
  boundDeckId;
155
157
  /**
156
- * In-flight `bind_workspace` / `switch_bound_deck` calls: request id → the session
158
+ * In-flight `bind_workspace` calls: request id → the session
157
159
  * generation the call went out on. A binding result only describes the session that
158
160
  * answered it, so one that arrives after a restart must not be read as the deck the
159
161
  * replacement session is on.
@@ -427,6 +429,8 @@ class McpStdioHttpBridge {
427
429
  // per response and throw away the session the first recovery just won.
428
430
  const sentWithSession = this.sessionId;
429
431
  const sentWithGeneration = this.sessionGeneration;
432
+ // ...and the endpoint it went to, which a later recovery may repoint.
433
+ const sentToUrl = this.url;
430
434
  // ...and the deck it was meant for. A replayed handshake re-binds from the
431
435
  // launch headers, which can land on a different deck than the one the client
432
436
  // bound this session to; a retry then applies the call to the wrong deck.
@@ -493,7 +497,7 @@ class McpStdioHttpBridge {
493
497
  return;
494
498
  }
495
499
  this.captureSessionId(response);
496
- this.emitResponseBody(response, bodyText, sentWithGeneration);
500
+ this.emitResponseBody(response, bodyText, sentWithGeneration, message, sentToUrl);
497
501
  if (isInitializeRequest(message)) {
498
502
  this.startServerStream();
499
503
  }
@@ -512,7 +516,7 @@ class McpStdioHttpBridge {
512
516
  this.setSessionId(sessionId);
513
517
  }
514
518
  }
515
- emitResponseBody(response, bodyText, sentOnGeneration) {
519
+ emitResponseBody(response, bodyText, sentOnGeneration, request, sentToUrl) {
516
520
  const messages = decodeJsonRpcMessages(response, bodyText);
517
521
  if (!messages) {
518
522
  this.log('[agent-deck] bridge: dropping non-JSON response from MCP server');
@@ -520,6 +524,32 @@ class McpStdioHttpBridge {
520
524
  }
521
525
  for (const message of messages) {
522
526
  this.writeToClient(message, sentOnGeneration);
527
+ // Only after the host has the result, and never awaited: a follow-up that
528
+ // never settles must not be able to hold the result back.
529
+ void this.notifyToolResult(request, message, sentToUrl);
530
+ }
531
+ }
532
+ /**
533
+ * Production hosts all reach Agent Deck through this bridge. Keep host-neutral
534
+ * side effects (such as opening an approval page) here instead of teaching each
535
+ * IDE how to interpret one tool's response.
536
+ */
537
+ async notifyToolResult(request, response, sentToUrl) {
538
+ const toolName = readToolCallName(request);
539
+ if (!toolName ||
540
+ !this.options.onToolResult ||
541
+ response.id !== request.id ||
542
+ response.error !== undefined ||
543
+ response.result === undefined) {
544
+ return;
545
+ }
546
+ try {
547
+ await this.options.onToolResult(toolName, response.result, { mcpUrl: sentToUrl });
548
+ }
549
+ catch (error) {
550
+ // The host already has the result, including its approval URL, so a
551
+ // browser-launch failure remains recoverable instead of breaking the tool.
552
+ this.log(`[agent-deck] bridge: ${toolName} follow-up failed: ${describeError(error)}`);
523
553
  }
524
554
  }
525
555
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":";;;AA+FA,4DAKC;AA0CD,4DAsBC;AAcD,4CAiBC;AAnMD;;;;;;;;;;;;GAYG;AACH,+CAG4B;AAC5B,iDAAgD;AA8ChD,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAEzD,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC;;;;GAIG;AACH,MAAM,8BAA8B,GAAG,8BAA8B,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEzD,uEAAuE;AACvE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEtE,SAAgB,wBAAwB,CAAC,MAAc,EAAE,IAAY;IACnE,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAuB;IAClD,OAAO,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC;AACzC,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAuB;IACxD,OAAO,OAAO,CAAC,MAAM,KAAK,2BAA2B,CAAC;AACxD,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAAC,OAAuB;IACxC,OAAO,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC;AAC/F,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAuB;IAC5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AACjG,CAAC;AAED,sFAAsF;AACtF,SAAS,mBAAmB,CAAC,OAAuB;IAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,IAAI,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAI,OAAO,CAAC,MAAyC,EAAE,IAAI,CAAC;IACtE,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,MAAe;IACtD,MAAM,OAAO,GAAG,MAEH,CAAC;IACd,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAA4B,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC;YAC1D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACzC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kEAAkE;AAClE,SAAS,UAAU,CAAC,OAA+B,EAAE,IAAY;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAa,kBAAkB;IACZ,OAAO,CAAmB;IAC1B,SAAS,CAAe;IACxB,GAAG,CAA4B;IAExC,SAAS,CAAqB;IACtC;;;;OAIG;IACK,iBAAiB,GAAG,CAAC,CAAC;IAC9B,+EAA+E;IACvE,GAAG,CAAS;IACpB,kFAAkF;IAC1E,aAAa,CAAyB;IAC9C,oFAAoF;IAC5E,WAAW,CAAqB;IACxC;;;;;OAKG;IACc,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChE;;;;OAIG;IACK,kBAAkB,CAAqB;IAC/C;;;;;OAKG;IACK,kBAAkB,CAAiC;IAC3D;;;;OAIG;IACK,mBAAmB,CAAqB;IACxC,eAAe,GAAG,CAAC,CAAC;IAC5B,+EAA+E;IACvE,gBAAgB,CAA6B;IAC7C,iBAAiB,CAA6B;IAC9C,WAAW,CAA8B;IACzC,MAAM,GAAG,KAAK,CAAC;IACf,UAAU,CAA+B;IACjD,2FAA2F;IACnF,SAAS,CAA4B;IAC7C,+FAA+F;IAC9E,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrD,oGAAoG;IAC5F,aAAa,GAAG,CAAC,CAAC;IAE1B,YAAY,OAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,kCAAyB,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,iFAAiF;IACjF,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,IAAA,+BAAe,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;gBACD,IAAI,OAAuB,CAAC;gBAC5B,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;gBAClD,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;oBACpE,SAAS;gBACX,CAAC;gBACD,oEAAoE;gBACpE,kEAAkE;gBAClE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,QAAQ,CAAC,OAAuB;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,8EAA8E;IACtE,KAAK,CAAC,KAAK;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,wBAAwB,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,QAAQ,CAAC,IAAI,oCAAoC,CAAC,CAAC;gBACzF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACvE,CAAC;oBAAS,CAAC;gBACT,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,OAAuB,EAAE,gBAAyB;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,OAAO,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;OASG;IACK,iBAAiB,CACvB,OAAuB,EACvB,gBAAoC;QAEpC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACxD,0EAA0E;YAC1E,uEAAuE;YACvE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,sEAAsE;YACtE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,8EAA8E;QAC9E,yEAAyE;QACzE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QAEjC,IAAI,gBAAgB,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,4EAA4E;YAC5E,0CAA0C;YAC1C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,uEAAuE;YACvE,8DAA8D;YAC9D,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,gFAAgF;QAChF,iFAAiF;QACjF,IAAI,CAAC,kBAAkB,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC7C,MAAM,MAAM,GACV,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,0CAA0C;YACvF,0BAA0B,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,MAAM,EAAE,EAAE;SACjE,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,MAAM,OAAO,GAA2B;YACtC,GAAG,IAAI,CAAC,aAAa;YACrB,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,UAAU;SACnB,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,OAAuB,EACvB,YAAqC;QAErC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,YAAY,EAAE;YACtD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAuB;QACrD,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAChC,6EAA6E;YAC7E,8EAA8E;YAC9E,4EAA4E;YAC5E,uDAAuD;YACvD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,kCAAyB,CAAC,CAAC;YAC7E,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,0EAA0E;YAC1E,sDAAsD;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,OAAuB;QAChD,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,WAAW,CACd,OAAO,EACP,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,4BAA4B;YACvE,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CACvC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY;QACxB,0EAA0E;QAC1E,qEAAqE;QACrE,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,OAAO,CACnB,OAAuB,EACvB,EAAE,aAAa,EAA8B;QAE7C,2EAA2E;QAC3E,8EAA8E;QAC9E,uEAAuE;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAClD,sEAAsE;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,2EAA2E;QAC3E,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,aAAa,IAAI,wBAAwB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,GAAG,CACN,oCAAoC,eAAe,IAAI,QAAQ,sBAAsB;gBACnF,SAAS,QAAQ,CAAC,MAAM,4CAA4C,CACvE,CAAC;YACF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,mDAAmD,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YACD,yEAAyE;YACzE,qCAAqC;YACrC,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,uEAAuE;gBACvE,kEAAkE;gBAClE,IAAI,CAAC,WAAW,CACd,OAAO,EACP,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,kCAAkC;oBACnF,GAAG,iBAAiB,CAAC,YAAY,CAAC,oBAAoB,CACzD,CAAC;gBACF,OAAO;YACT,CAAC;YACD,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,4BAA4B,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,0EAA0E;YAC1E,2EAA2E;YAC3E,4EAA4E;YAC5E,sDAAsD;YACtD,IAAI,CAAC,WAAW,CACd,OAAO,EACP,0EAA0E;gBACxE,yEAAyE;gBACzE,wDAAwD,CAC3D,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAElF,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,8EAA8E;IACtE,YAAY,CAAC,SAA6B;QAChD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,gBAAgB,CAAC,QAAkB;QACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,QAAkB,EAClB,QAAgB,EAChB,gBAAoC,EACpC,OAAuB,EACvB,SAAiB;QAEjB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC9C,0EAA0E;YAC1E,0DAA0D;YAC1D,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAC5B,OAAuB,EACvB,QAAwB,EACxB,SAAiB;QAEjB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,IACE,CAAC,QAAQ;YACT,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YAC1B,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;YAC1B,QAAQ,CAAC,KAAK,KAAK,SAAS;YAC5B,QAAQ,CAAC,MAAM,KAAK,SAAS,EAC7B,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oEAAoE;YACpE,2EAA2E;YAC3E,IAAI,CAAC,GAAG,CACN,wBAAwB,QAAQ,sBAAsB,aAAa,CAAC,KAAK,CAAC,EAAE,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,eAAe,CAAC,eAAmC;QAC/D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,2EAA2E;YAC3E,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACzD,8EAA8E;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,wEAAwE;YACxE,sEAAsE;YACtE,mCAAmC;YACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5C,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,6EAA6E;QAC7E,gEAAgE;QAChE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,uEAAuE;YACvE,4EAA4E;YAC5E,8EAA8E;YAC9E,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CACxB,UAAU,EACV,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,4CAAmC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,8CAA8C,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,yDAAyD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACjD,2EAA2E;YAC3E,uEAAuE;YACvE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;YAChF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACpD,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,yDAAyD,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,yDAAyD;QACzD,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAExB,6EAA6E;QAC7E,+EAA+E;QAC/E,kEAAkE;QAClE,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnD,gFAAgF;QAChF,gFAAgF;QAChF,0EAA0E;QAC1E,iFAAiF;QACjF,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACxD,8EAA8E;YAC9E,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,8DAA8D;YAC9D,IAAI,CAAC,kBAAkB,GAAG,EAAE,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CACN,wBAAwB,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,iBAAiB;gBACjF,oDAAoD,CACvD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,qDAAqD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAClD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7C,CAAC;YACD,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC;gBAChB,mEAAmE;gBACnE,sEAAsE;gBACtE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CACN,iEAAiE,aAAa,CAAC,KAAK,CAAC,KAAK;gBACxF,+CAA+C,CAClD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,kBAAkB;QAC9B,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,kCAAyB,CAAC,CAAC;QAC7E,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,yEAAyE;QACzE,oDAAoD;QACpD,MAAM,EAAE,GAAG,6BAA6B,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC/B,OAAO,EAAE,KAAK;gBACd,EAAE;gBACF,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,EAAE;aACtD,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3C,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC9B,OAAO,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,gEAAgE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,WAAW,CAAC,OAAuB,EAAE,MAAc;QACzD,IAAI,CAAC,GAAG,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACpD,qEAAqE;YACrE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,yEAAyE;YACzE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC;YACjB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,MAAM,EAAE,EAAE;SACjE,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAAsB;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,8EAA8E;QAC9E,uEAAuE;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,cAAc,CAAC,EAAE,SAAU,EAAE;gBAC7F,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,IAAI,wBAAwB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1B,uEAAuE;oBACvE,gEAAgE;oBAChE,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,qEAAqE;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,0EAA0E;YAC1E,yBAAyB;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA4C,CAAC;YACrE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;gBAChD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACrC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACxE,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA1uBD,gDA0uBC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,QAAkB,EAAE,QAAgB;IACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/E,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAsC,CAAC;QACzE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CAAC,QAAkB;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,+EAA+E;AAC/E,SAAS,aAAa,CAAC,EAAU;IAC/B,IAAI,MAAkC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5C,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,SAAS,OAAO,CAAC,OAAqC;IACpD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,IAAI;IACX,uBAAuB;AACzB,CAAC;AAED,uFAAuF;AACvF,SAAS,gBAAgB,CAAC,WAA+B,EAAE,UAA8B;IACvF,OAAO,CACL,iEAAiE,WAAW,IAAI,QAAQ,IAAI;QAC5F,OAAO,UAAU,IAAI,QAAQ,EAAE,CAChC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAA8B;IACvD,OAAO,UAAU;QACf,CAAC,CAAC,wCAAwC,UAAU,IAAI;QACxD,CAAC,CAAC,6BAA6B,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { openDashboardInBrowser } from './dashboard-open';
2
3
  import { type McpEndpoint } from './mcp-config';
3
4
  export type McpLaunchPlan = {
4
5
  workspaceRoot: string;
@@ -21,5 +22,32 @@ export declare function parseLaunchHeaders(headers: string[]): Record<string, st
21
22
  export declare const NO_ASSIGNMENT_MESSAGE = "[agent-deck] No deck assigned \u2014 run `agent-deck use <deck>` in this folder.";
22
23
  /** Resolve launch headers from the folder assignment (migrating v2/Keychain → v3). */
23
24
  export declare function resolveMcpLaunchPlan(workspaceRoot?: string, endpoint?: McpEndpoint): Promise<McpLaunchPlan>;
25
+ /**
26
+ * The dashboard that can approve an elevation belongs to the MCP server that issued
27
+ * it. The backend port is only known for the endpoint this process was launched
28
+ * against, so any other MCP URL (an assignment that moved the bridge) has no
29
+ * dashboard we can name — and minting a sign-in against the wrong one would fail
30
+ * the approval and hand its admin secret to a server that did not ask for it.
31
+ */
32
+ export declare function resolveApprovalBackendUrl(mcpUrl: string, endpoint: McpEndpoint, backendPort?: number): string | undefined;
33
+ export declare function clearDeckSwitchAutoOpened(): void;
34
+ export type DeckSwitchFollowUpDeps = {
35
+ opener?: typeof openDashboardInBrowser;
36
+ env?: NodeJS.ProcessEnv;
37
+ /** Override for tests; defaults to the process-wide dedupe set. */
38
+ opened?: Set<string>;
39
+ };
40
+ /**
41
+ * NOT-212: browser fallback for `switch_deck`. When host-native form
42
+ * elicitation is unavailable the pending request would otherwise have no
43
+ * discoverable approval path, so open the trusted approval page once per
44
+ * request. Never touches the session or assignment — the active deck stays
45
+ * unchanged while the request is pending. A failed open keeps the request
46
+ * pending and reports the menubar inbox as the recovery path.
47
+ */
48
+ export declare function handleSwitchDeckToolResult(backendUrl: string, result: unknown, deps?: DeckSwitchFollowUpDeps): Promise<{
49
+ opened: boolean;
50
+ requestId?: string;
51
+ }>;
24
52
  export declare function runMcpLaunch(): Promise<number>;
25
53
  //# sourceMappingURL=mcp-launcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-launcher.d.ts","sourceRoot":"","sources":["../src/mcp-launcher.ts"],"names":[],"mappings":";AAYA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAI7D,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uFAAuF;IACvF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,cAAc,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,qBAAoC,GAAG,aAAa,CAE1F;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc5E;AAED,eAAO,MAAM,qBAAqB,qFAC6C,CAAC;AAEhF,sFAAsF;AACtF,wBAAsB,oBAAoB,CACxC,aAAa,SAA0E,EACvF,QAAQ,GAAE,WAGT,GACA,OAAO,CAAC,aAAa,CAAC,CAiCxB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAqDpD"}
1
+ {"version":3,"file":"mcp-launcher.d.ts","sourceRoot":"","sources":["../src/mcp-launcher.ts"],"names":[],"mappings":";AAaA,OAAO,EACL,sBAAsB,EAGvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAK7D,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uFAAuF;IACvF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,cAAc,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,qBAAoC,GAAG,aAAa,CAE1F;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc5E;AAED,eAAO,MAAM,qBAAqB,qFAC6C,CAAC;AAEhF,sFAAsF;AACtF,wBAAsB,oBAAoB,CACxC,aAAa,SAA0E,EACvF,QAAQ,GAAE,WAGT,GACA,OAAO,CAAC,aAAa,CAAC,CAiCxB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,WAAW,GAAE,MAA6B,GACzC,MAAM,GAAG,SAAS,CAepB;AASD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,mEAAmE;IACnE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBlD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CA+EpD"}
@@ -8,6 +8,9 @@ exports.NO_ASSIGNMENT_MESSAGE = void 0;
8
8
  exports.resolveBridgeKind = resolveBridgeKind;
9
9
  exports.parseLaunchHeaders = parseLaunchHeaders;
10
10
  exports.resolveMcpLaunchPlan = resolveMcpLaunchPlan;
11
+ exports.resolveApprovalBackendUrl = resolveApprovalBackendUrl;
12
+ exports.clearDeckSwitchAutoOpened = clearDeckSwitchAutoOpened;
13
+ exports.handleSwitchDeckToolResult = handleSwitchDeckToolResult;
11
14
  exports.runMcpLaunch = runMcpLaunch;
12
15
  /**
13
16
  * Trusted MCP launcher — reads the folder assignment and connects with launch headers.
@@ -16,8 +19,11 @@ exports.runMcpLaunch = runMcpLaunch;
16
19
  const node_child_process_1 = require("node:child_process");
17
20
  const node_path_1 = __importDefault(require("node:path"));
18
21
  const shared_1 = require("@agent-deck/shared");
22
+ const admin_elevation_1 = require("./admin-elevation");
23
+ const dashboard_open_1 = require("./dashboard-open");
19
24
  const mcp_config_1 = require("./mcp-config");
20
25
  const assignment_1 = require("./assignment");
26
+ const defaults_1 = require("./defaults");
21
27
  const mcp_bridge_1 = require("./mcp-bridge");
22
28
  /**
23
29
  * The built-in bridge re-initializes when the MCP server restarts (NOT-101);
@@ -80,6 +86,66 @@ async function resolveMcpLaunchPlan(workspaceRoot = node_path_1.default.resolve(
80
86
  ],
81
87
  };
82
88
  }
89
+ /**
90
+ * The dashboard that can approve an elevation belongs to the MCP server that issued
91
+ * it. The backend port is only known for the endpoint this process was launched
92
+ * against, so any other MCP URL (an assignment that moved the bridge) has no
93
+ * dashboard we can name — and minting a sign-in against the wrong one would fail
94
+ * the approval and hand its admin secret to a server that did not ask for it.
95
+ */
96
+ function resolveApprovalBackendUrl(mcpUrl, endpoint, backendPort = (0, defaults_1.readCliBackendPort)()) {
97
+ try {
98
+ const answered = new URL(mcpUrl);
99
+ const launched = new URL((0, mcp_config_1.buildMcpUrl)(endpoint));
100
+ if (answered.protocol === launched.protocol &&
101
+ answered.hostname === launched.hostname &&
102
+ answered.port === launched.port) {
103
+ return `http://${endpoint.host}:${backendPort}`;
104
+ }
105
+ }
106
+ catch {
107
+ // An unparsable endpoint has no dashboard we can name.
108
+ }
109
+ return undefined;
110
+ }
111
+ /**
112
+ * NOT-212: request ids the launcher already auto-opened a browser tab for.
113
+ * `switch_deck` creation is idempotent — repeats return the same pending
114
+ * request — so without this every repeat would open another tab.
115
+ */
116
+ const deckSwitchAutoOpened = new Set();
117
+ function clearDeckSwitchAutoOpened() {
118
+ deckSwitchAutoOpened.clear();
119
+ }
120
+ /**
121
+ * NOT-212: browser fallback for `switch_deck`. When host-native form
122
+ * elicitation is unavailable the pending request would otherwise have no
123
+ * discoverable approval path, so open the trusted approval page once per
124
+ * request. Never touches the session or assignment — the active deck stays
125
+ * unchanged while the request is pending. A failed open keeps the request
126
+ * pending and reports the menubar inbox as the recovery path.
127
+ */
128
+ async function handleSwitchDeckToolResult(backendUrl, result, deps = {}) {
129
+ const approval = (0, dashboard_open_1.readDeckSwitchApproval)(result);
130
+ if (!approval) {
131
+ return { opened: false };
132
+ }
133
+ const opened = deps.opened ?? deckSwitchAutoOpened;
134
+ if (opened.has(approval.requestId)) {
135
+ return { opened: false, requestId: approval.requestId };
136
+ }
137
+ try {
138
+ await (0, dashboard_open_1.openDeckSwitchApproval)(backendUrl, result, deps.opener, deps.env);
139
+ }
140
+ catch (error) {
141
+ const reason = error instanceof Error ? error.message : String(error);
142
+ console.error(`[agent-deck] Could not open the deck-switch approval page for request ${approval.requestId} (${reason}). ` +
143
+ `The request is still pending — approve it from the menubar Pending approvals inbox or run: agent-deck open --path "${approval.approvalPath}"`);
144
+ return { opened: false, requestId: approval.requestId };
145
+ }
146
+ opened.add(approval.requestId);
147
+ return { opened: true, requestId: approval.requestId };
148
+ }
83
149
  async function runMcpLaunch() {
84
150
  const workspaceRoot = node_path_1.default.resolve(process.env.AGENT_DECK_WORKSPACE?.trim() || process.cwd());
85
151
  const host = process.env.AGENT_DECK_HOST ?? '127.0.0.1';
@@ -93,16 +159,38 @@ async function runMcpLaunch() {
93
159
  const bridge = new mcp_bridge_1.McpStdioHttpBridge({
94
160
  url: plan.mcpUrl,
95
161
  headers: parseLaunchHeaders(plan.headers),
96
- // An elevated `switch_bound_deck` rewrites the folder assignment while we
97
- // are connected, and `agent-deck use` can point it at another endpoint.
98
- // Re-reading it before a replayed handshake is what keeps a restart from
99
- // reconnecting to the deck and server this process started on.
162
+ // An approved workspace-default switch (or `agent-deck use`) can rewrite
163
+ // the folder assignment while we are connected. Re-reading it before a
164
+ // replayed handshake is what keeps a restart from reconnecting to the
165
+ // deck and server this process started on.
100
166
  resolveTarget: async () => {
101
167
  const current = await resolveMcpLaunchPlan(workspaceRoot, endpoint);
102
168
  return { url: current.mcpUrl, headers: parseLaunchHeaders(current.headers) };
103
169
  },
104
170
  stdin: process.stdin,
105
171
  stdout: process.stdout,
172
+ onToolResult: async (toolName, result, { mcpUrl }) => {
173
+ if (toolName === 'switch_deck') {
174
+ const backendUrl = resolveApprovalBackendUrl(mcpUrl, endpoint);
175
+ if (!backendUrl) {
176
+ console.error(`[agent-deck] Approval page not opened: no known dashboard for ${mcpUrl}. ` +
177
+ 'Open the approval page from the menubar Pending approvals inbox on that server.');
178
+ return;
179
+ }
180
+ await handleSwitchDeckToolResult(backendUrl, result);
181
+ return;
182
+ }
183
+ if (toolName !== 'request_admin_elevation') {
184
+ return;
185
+ }
186
+ const backendUrl = resolveApprovalBackendUrl(mcpUrl, endpoint);
187
+ if (!backendUrl) {
188
+ console.error(`[agent-deck] Approval page not opened: no known dashboard for ${mcpUrl}. ` +
189
+ 'Open the approval URL from the tool result on that server\'s dashboard.');
190
+ return;
191
+ }
192
+ await (0, admin_elevation_1.openAdminElevationApproval)(backendUrl, result);
193
+ },
106
194
  });
107
195
  await bridge.run();
108
196
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-launcher.js","sourceRoot":"","sources":["../src/mcp-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-launcher.js","sourceRoot":"","sources":["../src/mcp-launcher.ts"],"names":[],"mappings":"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"}
package/dist/menubar.d.ts CHANGED
@@ -1,10 +1,14 @@
1
- import type { LiveBinding, PendingAdminChallenge } from '@agent-deck/shared';
1
+ import type { LiveBinding, PendingAdminChallenge, PendingDeckSwitchRequest } from '@agent-deck/shared';
2
2
  export declare function truncateName(name: string, max?: number): string;
3
3
  export declare function formatTimeUntil(iso: string, now: Date): string;
4
4
  export declare function formatAge(lastActivityAt: string, now: Date): string;
5
5
  export declare function resolveDashboardBaseUrl(): string;
6
6
  export declare function buildApprovalHref(challenge: PendingAdminChallenge, _dashboardBaseUrl: string): string;
7
7
  export declare function buildOpenDashboardMenubarLine(): string;
8
+ /** NOT-212: reopen one pending deck-switch request in the trusted browser flow. */
9
+ export declare function buildDeckSwitchApprovalHref(pending: PendingDeckSwitchRequest, _dashboardBaseUrl: string): string;
10
+ /** NOT-212: one inbox row naming both decks so the human knows what they approve. */
11
+ export declare function buildDeckSwitchApprovalLine(pending: PendingDeckSwitchRequest, now: Date): string;
8
12
  /** How the menu bar names itself when it stops the deck. */
9
13
  export declare const MENUBAR_STOP_SOURCE = "menubar";
10
14
  /**
@@ -19,6 +23,6 @@ export declare const MENUBAR_STOP_SOURCE = "menubar";
19
23
  export declare function buildStopDeckMenubarArgs(): string[];
20
24
  export declare function buildStopDeckMenubarLine(): string;
21
25
  /** SwiftBar/xbar output. `null` bindings = backend offline (accuracy first: dim, never guess). */
22
- export declare function renderMenubar(bindings: LiveBinding[] | null, now: Date, pendingApprovals?: PendingAdminChallenge[], dashboardBaseUrl?: string): string;
26
+ export declare function renderMenubar(bindings: LiveBinding[] | null, now: Date, pendingApprovals?: PendingAdminChallenge[], dashboardBaseUrl?: string, pendingDeckSwitches?: PendingDeckSwitchRequest[]): string;
23
27
  export declare function runMenubar(): Promise<number>;
24
28
  //# sourceMappingURL=menubar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../src/menubar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAM7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAW,GAAG,MAAM,CAEjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAe9D;AAED,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAkBnE;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAMhD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAOrG;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAKjD;AAED,kGAAkG;AAClG,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAC9B,GAAG,EAAE,IAAI,EACT,gBAAgB,GAAE,qBAAqB,EAAO,EAC9C,gBAAgB,SAA4B,GAC3C,MAAM,CAuER;AAyBD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAwBlD"}
1
+ {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../src/menubar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAM5B,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAW,GAAG,MAAM,CAEjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAe9D;AAED,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAkBnE;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAMhD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAOrG;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,wBAAwB,EACjC,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAOR;AAED,qFAAqF;AACrF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAShG;AAED,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAKjD;AAED,kGAAkG;AAClG,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAC9B,GAAG,EAAE,IAAI,EACT,gBAAgB,GAAE,qBAAqB,EAAO,EAC9C,gBAAgB,SAA4B,EAC5C,mBAAmB,GAAE,wBAAwB,EAAO,GACnD,MAAM,CAkFR;AAyBD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAqClD"}
package/dist/menubar.js CHANGED
@@ -10,6 +10,8 @@ exports.formatAge = formatAge;
10
10
  exports.resolveDashboardBaseUrl = resolveDashboardBaseUrl;
11
11
  exports.buildApprovalHref = buildApprovalHref;
12
12
  exports.buildOpenDashboardMenubarLine = buildOpenDashboardMenubarLine;
13
+ exports.buildDeckSwitchApprovalHref = buildDeckSwitchApprovalHref;
14
+ exports.buildDeckSwitchApprovalLine = buildDeckSwitchApprovalLine;
13
15
  exports.buildStopDeckMenubarArgs = buildStopDeckMenubarArgs;
14
16
  exports.buildStopDeckMenubarLine = buildStopDeckMenubarLine;
15
17
  exports.renderMenubar = renderMenubar;
@@ -74,6 +76,26 @@ function buildApprovalHref(challenge, _dashboardBaseUrl) {
74
76
  function buildOpenDashboardMenubarLine() {
75
77
  return 'Open dashboard | bash=agent-deck param1=open terminal=false';
76
78
  }
79
+ /** NOT-212: reopen one pending deck-switch request in the trusted browser flow. */
80
+ function buildDeckSwitchApprovalHref(pending, _dashboardBaseUrl) {
81
+ const pathPart = pending.approvalPath.startsWith('/')
82
+ ? pending.approvalPath
83
+ : `/${pending.approvalPath}`;
84
+ // SwiftBar runs agent-deck open so each click mints a fresh bootstrap cookie.
85
+ // Encode path so ? and & survive SwiftBar param parsing.
86
+ return `bash=agent-deck param1=open param2=--path param3=${encodeURIComponent(pathPart)}`;
87
+ }
88
+ /** NOT-212: one inbox row naming both decks so the human knows what they approve. */
89
+ function buildDeckSwitchApprovalLine(pending, now) {
90
+ const current = pending.currentDeckName ? truncateName(pending.currentDeckName) : 'current deck';
91
+ const requested = pending.requestedDeckName
92
+ ? truncateName(pending.requestedDeckName)
93
+ : 'requested deck';
94
+ const age = formatTimeUntil(pending.expiresAt, now);
95
+ const meta = age ? `expires in ${age}` : 'pending';
96
+ const href = buildDeckSwitchApprovalHref(pending, resolveDashboardBaseUrl());
97
+ return `⧉ ${current} → ${requested} — ${meta} | ${href} terminal=false`;
98
+ }
77
99
  /** How the menu bar names itself when it stops the deck. */
78
100
  exports.MENUBAR_STOP_SOURCE = 'menubar';
79
101
  /**
@@ -95,11 +117,11 @@ function buildStopDeckMenubarLine() {
95
117
  return `Stop Agent Deck | bash=agent-deck ${params} terminal=false refresh=true`;
96
118
  }
97
119
  /** SwiftBar/xbar output. `null` bindings = backend offline (accuracy first: dim, never guess). */
98
- function renderMenubar(bindings, now, pendingApprovals = [], dashboardBaseUrl = resolveDashboardBaseUrl()) {
120
+ function renderMenubar(bindings, now, pendingApprovals = [], dashboardBaseUrl = resolveDashboardBaseUrl(), pendingDeckSwitches = []) {
99
121
  if (bindings === null) {
100
122
  return ['◆ off | color=gray', '---', 'Agent Deck offline | color=gray', ''].join('\n');
101
123
  }
102
- const pendingCount = pendingApprovals.length;
124
+ const pendingCount = pendingApprovals.length + pendingDeckSwitches.length;
103
125
  const title = pendingCount > 0
104
126
  ? `◆ ⚠ ${pendingCount}`
105
127
  : bindings.length === 1
@@ -116,7 +138,7 @@ function renderMenubar(bindings, now, pendingApprovals = [], dashboardBaseUrl =
116
138
  buildStopDeckMenubarLine(),
117
139
  '---',
118
140
  ];
119
- if (pendingCount > 0) {
141
+ if (pendingApprovals.length > 0) {
120
142
  lines.push('Admin approval pending | size=11 color=orange');
121
143
  for (const challenge of pendingApprovals) {
122
144
  const deckLabel = challenge.deckName ? truncateName(challenge.deckName) : 'agent session';
@@ -127,6 +149,16 @@ function renderMenubar(bindings, now, pendingApprovals = [], dashboardBaseUrl =
127
149
  }
128
150
  lines.push('---');
129
151
  }
152
+ // NOT-212: deck-switch approval inbox. A closed or failed auto-open tab
153
+ // stays recoverable here — each row reopens its approval page through
154
+ // `agent-deck open`, which mints a fresh bootstrap cookie per click.
155
+ if (pendingDeckSwitches.length > 0) {
156
+ lines.push(`Pending approvals (${pendingDeckSwitches.length}) | size=11 color=orange`);
157
+ for (const pending of pendingDeckSwitches) {
158
+ lines.push(buildDeckSwitchApprovalLine(pending, now));
159
+ }
160
+ lines.push('---');
161
+ }
130
162
  if (bindings.length === 0 && pendingCount === 0) {
131
163
  lines.push('No live sessions — bind_workspace in an agent chat', '');
132
164
  return lines.join('\n');
@@ -185,7 +217,9 @@ async function runMenubar() {
185
217
  const bindings = await fetchJson(backendUrl, '/api/scope/bindings', timeoutMs);
186
218
  if (bindings !== null) {
187
219
  const pendingApprovals = (await fetchJson(backendUrl, '/api/trusted-session/admin/challenges', timeoutMs)) ?? [];
188
- process.stdout.write(renderMenubar(bindings, new Date(), pendingApprovals, resolveDashboardBaseUrl()));
220
+ // NOT-212: a failed inbox fetch is a missing section, never a stale one.
221
+ const pendingDeckSwitches = (await fetchJson(backendUrl, '/api/trusted-session/deck-switch/pending', timeoutMs)) ?? [];
222
+ process.stdout.write(renderMenubar(bindings, new Date(), pendingApprovals, resolveDashboardBaseUrl(), pendingDeckSwitches));
189
223
  return 0;
190
224
  }
191
225
  }