@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.
- package/dist/admin-elevation.d.ts +12 -0
- package/dist/admin-elevation.d.ts.map +1 -0
- package/dist/admin-elevation.js +65 -0
- package/dist/admin-elevation.js.map +1 -0
- package/dist/agent-harness.d.ts.map +1 -1
- package/dist/agent-harness.js +28 -17
- package/dist/agent-harness.js.map +1 -1
- package/dist/codex-plugin.d.ts +65 -0
- package/dist/codex-plugin.d.ts.map +1 -0
- package/dist/codex-plugin.js +508 -0
- package/dist/codex-plugin.js.map +1 -0
- package/dist/dashboard-open.d.ts +20 -0
- package/dist/dashboard-open.d.ts.map +1 -1
- package/dist/dashboard-open.js +74 -0
- package/dist/dashboard-open.js.map +1 -1
- package/dist/mcp-bridge.d.ts +19 -4
- package/dist/mcp-bridge.d.ts.map +1 -1
- package/dist/mcp-bridge.js +36 -6
- package/dist/mcp-bridge.js.map +1 -1
- package/dist/mcp-launcher.d.ts +28 -0
- package/dist/mcp-launcher.d.ts.map +1 -1
- package/dist/mcp-launcher.js +92 -4
- package/dist/mcp-launcher.js.map +1 -1
- package/dist/menubar.d.ts +6 -2
- package/dist/menubar.d.ts.map +1 -1
- package/dist/menubar.js +38 -4
- package/dist/menubar.js.map +1 -1
- package/dist/playbook-stubs.d.ts +22 -0
- package/dist/playbook-stubs.d.ts.map +1 -1
- package/dist/playbook-stubs.js +24 -1
- package/dist/playbook-stubs.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +16 -0
- package/dist/setup.js.map +1 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +8 -0
- package/dist/start.js.map +1 -1
- package/dist/upgrade.d.ts +11 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +31 -13
- package/dist/upgrade.js.map +1 -1
- package/dist/use.d.ts.map +1 -1
- package/dist/use.js +46 -2
- package/dist/use.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-open.js","sourceRoot":"","sources":["../src/dashboard-open.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"dashboard-open.js","sourceRoot":"","sources":["../src/dashboard-open.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-bridge.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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`
|
|
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
|
package/dist/mcp-bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,oFAAoF;AACpF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAC9F,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,kEAAkE;IAClE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-bridge.js
CHANGED
|
@@ -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
|
|
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'
|
|
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`
|
|
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
|
/**
|
package/dist/mcp-bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":";;;AAkFA,4DAKC;AA0CD,4DAsBC;AAcD,4CAiBC;AAtLD;;;;;;;;;;;;GAYG;AACH,+CAG4B;AAC5B,iDAAgD;AAmChD,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;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE9E,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,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,CAAC,CAAC;QAE9D,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;QAEpC,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;QAChD,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;AApsBD,gDAosBC;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
|
+
{"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-launcher.d.ts
CHANGED
|
@@ -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":";
|
|
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"}
|
package/dist/mcp-launcher.js
CHANGED
|
@@ -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
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
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;
|
package/dist/mcp-launcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-launcher.js","sourceRoot":"","sources":["../src/mcp-launcher.ts"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"mcp-launcher.js","sourceRoot":"","sources":["../src/mcp-launcher.ts"],"names":[],"mappings":";;;;;;;AAwCA,8CAEC;AAGD,gDAcC;AAMD,oDAuCC;AASD,8DAmBC;AASD,8DAEC;AAiBD,gEAyBC;AAED,oCA+EC;AAzQD;;;GAGG;AACH,2DAA2C;AAC3C,0DAA6B;AAE7B,+CAG4B;AAC5B,uDAA+D;AAC/D,qDAI0B;AAC1B,6CAA6D;AAC7D,6CAAwF;AACxF,yCAAgD;AAChD,6CAAkD;AAclD;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACzE,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC;AAED,uFAAuF;AACvF,SAAgB,kBAAkB,CAAC,OAAiB;IAClD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAEY,QAAA,qBAAqB,GAChC,6EAA6E,CAAC;AAEhF,sFAAsF;AAC/E,KAAK,UAAU,oBAAoB,CACxC,aAAa,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EACvF,WAAwB;IACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW;IAChD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,CAAC;CAC3D;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAc,EAAC,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,aAAa;YACb,MAAM,EAAE,IAAA,wBAAW,EAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE,CAAC,GAAG,oCAA2B,KAAK,aAAa,EAAE,CAAC;YAC7D,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;QAC9B,MAAM,IAAA,4BAAe,EAAC,aAAa,EAAE;YACnC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAA,oCAAuB,EAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAA,wBAAW,EAAC,QAAQ,CAAC,CAAC;IAC1D,OAAO;QACL,aAAa;QACb,MAAM;QACN,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE;YACP,GAAG,kCAAyB,KAAK,UAAU,CAAC,MAAM,EAAE;YACpD,GAAG,oCAA2B,KAAK,aAAa,EAAE;SACnD;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CACvC,MAAc,EACd,QAAqB,EACrB,cAAsB,IAAA,6BAAkB,GAAE;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAA,wBAAW,EAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,IACE,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YACvC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YACvC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAC/B,CAAC;YACD,OAAO,UAAU,QAAQ,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE/C,SAAgB,yBAAyB;IACvC,oBAAoB,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AASD;;;;;;;GAOG;AACI,KAAK,UAAU,0BAA0B,CAC9C,UAAkB,EAClB,MAAe,EACf,OAA+B,EAAE;IAEjC,MAAM,QAAQ,GAAG,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,oBAAoB,CAAC;IACnD,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAA,uCAAsB,EAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CACX,yEAAyE,QAAQ,CAAC,SAAS,KAAK,MAAM,KAAK;YACzG,sHAAsH,QAAQ,CAAC,YAAY,GAAG,CACjJ,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;AACzD,CAAC;AAEM,KAAK,UAAU,YAAY;IAChC,MAAM,aAAa,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,6BAAqB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,iBAAiB,EAAE,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,+BAAkB,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,MAAM;YAChB,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;YACzC,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,2CAA2C;YAC3C,aAAa,EAAE,KAAK,IAAI,EAAE;gBACxB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACpE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/E,CAAC;YACD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBACnD,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,CAAC,KAAK,CACX,iEAAiE,MAAM,IAAI;4BACzE,iFAAiF,CACpF,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,MAAM,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;gBACD,IAAI,QAAQ,KAAK,yBAAyB,EAAE,CAAC;oBAC3C,OAAO;gBACT,CAAC;gBACD,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CACX,iEAAiE,MAAM,IAAI;wBACzE,yEAAyE,CAC5E,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,IAAA,4CAA0B,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,CAAC;SACF,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG;QACvB,IAAI;QACJ,cAAc;QACd,kBAAkB;QAClB,IAAI,CAAC,MAAM;QACX,GAAG,UAAU;KACd,CAAC;IAEF,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,KAAK,EAAE,gBAAgB,EAAE;YAC3C,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,oBAAoB,EAAE,aAAa;aACpC;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
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
|
package/dist/menubar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../src/menubar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
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 (
|
|
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
|
-
|
|
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
|
}
|