@agent-deck/backend 1.10.6 → 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/.tsbuildinfo +1 -1
- package/dist/data/oauth-provider-guides.js +1 -1
- package/dist/data/oauth-provider-guides.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +27 -2
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp-session-binding.d.ts +18 -0
- package/dist/mcp-session-binding.d.ts.map +1 -1
- package/dist/mcp-session-binding.js +25 -0
- package/dist/mcp-session-binding.js.map +1 -1
- package/dist/mcp-tools/elicitation.d.ts +129 -0
- package/dist/mcp-tools/elicitation.d.ts.map +1 -0
- package/dist/mcp-tools/elicitation.js +231 -0
- package/dist/mcp-tools/elicitation.js.map +1 -0
- package/dist/mcp-tools/policy.d.ts.map +1 -1
- package/dist/mcp-tools/policy.js +2 -0
- package/dist/mcp-tools/policy.js.map +1 -1
- package/dist/mcp-tools/register.d.ts +14 -0
- package/dist/mcp-tools/register.d.ts.map +1 -1
- package/dist/mcp-tools/register.js +109 -129
- package/dist/mcp-tools/register.js.map +1 -1
- package/dist/playbooks/stub-sync.d.ts +55 -12
- package/dist/playbooks/stub-sync.d.ts.map +1 -1
- package/dist/playbooks/stub-sync.js +136 -197
- package/dist/playbooks/stub-sync.js.map +1 -1
- package/dist/routes/trusted-session.d.ts.map +1 -1
- package/dist/routes/trusted-session.js +240 -6
- package/dist/routes/trusted-session.js.map +1 -1
- package/dist/trusted-session/route-policy-registry.d.ts.map +1 -1
- package/dist/trusted-session/route-policy-registry.js +22 -0
- package/dist/trusted-session/route-policy-registry.js.map +1 -1
- package/dist/trusted-session/store.d.ts +174 -2
- package/dist/trusted-session/store.d.ts.map +1 -1
- package/dist/trusted-session/store.js +459 -2
- package/dist/trusted-session/store.js.map +1 -1
- package/package.json +2 -2
- package/static-ui/assets/{index-BArFQUL8.js → index-B86VjIYT.js} +4 -4
- package/static-ui/assets/index-DlL_F4GS.css +1 -0
- package/static-ui/index.html +2 -2
- package/static-ui/assets/index-CbccleVj.css +0 -1
|
@@ -1,9 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrustedSessionStore = void 0;
|
|
6
|
+
exports.TrustedSessionStore = exports.DECK_SWITCH_REQUEST_TTL_MS = void 0;
|
|
4
7
|
exports.hashDashboardSessionToken = hashDashboardSessionToken;
|
|
8
|
+
exports.toDeckSwitchRequestSummary = toDeckSwitchRequestSummary;
|
|
5
9
|
const node_crypto_1 = require("node:crypto");
|
|
10
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
11
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
6
12
|
const shared_1 = require("@agent-deck/shared");
|
|
13
|
+
/** Default validity of a deck-switch request (NOT-205). */
|
|
14
|
+
exports.DECK_SWITCH_REQUEST_TTL_MS = 30 * 60 * 1000;
|
|
15
|
+
const DECK_SWITCH_STATUS_TRANSITIONS = {
|
|
16
|
+
pending: ['approved', 'declined', 'expired'],
|
|
17
|
+
approved: ['consumed'],
|
|
18
|
+
declined: [],
|
|
19
|
+
expired: [],
|
|
20
|
+
consumed: [],
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Sentinel that aborts the approval transaction when the requesting session
|
|
24
|
+
* vanishes mid-commit, so the status transition and session rebind roll back
|
|
25
|
+
* together (the already-written assignment file is compensated by restore).
|
|
26
|
+
*/
|
|
27
|
+
class DeckSwitchCommitFailed extends Error {
|
|
28
|
+
outcome;
|
|
29
|
+
constructor(outcome) {
|
|
30
|
+
super(`deck-switch commit failed: ${outcome}`);
|
|
31
|
+
this.outcome = outcome;
|
|
32
|
+
this.name = 'DeckSwitchCommitFailed';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function useJsonPath(workspaceRoot) {
|
|
36
|
+
return node_path_1.default.join(workspaceRoot, '.agent-deck', 'use.json');
|
|
37
|
+
}
|
|
38
|
+
/** Best-effort read of the raw `use.json` bytes (null when absent). */
|
|
39
|
+
function readRawUseJson(workspaceRoot) {
|
|
40
|
+
try {
|
|
41
|
+
return node_fs_1.default.readFileSync(useJsonPath(workspaceRoot), 'utf8');
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (error?.code === 'ENOENT') {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** Restore `use.json` to previously snapshotted bytes (null deletes it). */
|
|
51
|
+
function restoreRawUseJson(workspaceRoot, raw) {
|
|
52
|
+
const filePath = useJsonPath(workspaceRoot);
|
|
53
|
+
if (raw === null) {
|
|
54
|
+
try {
|
|
55
|
+
node_fs_1.default.rmSync(filePath);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Already absent; nothing to restore.
|
|
59
|
+
}
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
node_fs_1.default.mkdirSync(node_path_1.default.dirname(filePath), { recursive: true });
|
|
63
|
+
node_fs_1.default.writeFileSync(filePath, raw.endsWith('\n') ? raw : `${raw}\n`, 'utf8');
|
|
64
|
+
}
|
|
7
65
|
const DASHBOARD_SESSION_TOUCH_INTERVAL_MS = 60 * 1000;
|
|
8
66
|
function hashSecret(secret) {
|
|
9
67
|
return (0, node_crypto_1.createHash)('sha256').update(secret, 'utf8').digest('hex');
|
|
@@ -11,6 +69,19 @@ function hashSecret(secret) {
|
|
|
11
69
|
function hashDashboardSessionToken(token) {
|
|
12
70
|
return hashSecret(token);
|
|
13
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* NOT-205: project a request to its display-safe client view.
|
|
74
|
+
* Only the opaque request id plus lifecycle fields are exposed; the
|
|
75
|
+
* requested deck id, session identity, and workspace root stay server-side.
|
|
76
|
+
*/
|
|
77
|
+
function toDeckSwitchRequestSummary(request) {
|
|
78
|
+
return {
|
|
79
|
+
requestId: request.requestId,
|
|
80
|
+
status: request.status,
|
|
81
|
+
createdAt: request.createdAt,
|
|
82
|
+
expiresAt: request.expiresAt,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
14
85
|
function nowIso() {
|
|
15
86
|
return new Date().toISOString();
|
|
16
87
|
}
|
|
@@ -19,10 +90,66 @@ function addMs(iso, ms) {
|
|
|
19
90
|
}
|
|
20
91
|
class TrustedSessionStore {
|
|
21
92
|
db;
|
|
22
|
-
|
|
93
|
+
options;
|
|
94
|
+
constructor(db, options) {
|
|
23
95
|
this.db = db;
|
|
96
|
+
this.options = options;
|
|
24
97
|
this.ensureTables();
|
|
25
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Default workspace-default assignment write (NOT-207): the v3 `use.json`
|
|
101
|
+
* at the request's workspaceRoot. Preserves the existing `mcpUrl`, if any.
|
|
102
|
+
* Never touches `deck_workspaces` — that registry only records which
|
|
103
|
+
* folders receive stub syncs for a deck; the assignment file is the source
|
|
104
|
+
* of truth launchers and the CLI read for the folder's default deck.
|
|
105
|
+
*/
|
|
106
|
+
writeWorkspaceAssignmentFile(workspaceRoot, deckId) {
|
|
107
|
+
const deck = this.db.prepare(`SELECT id, name FROM decks WHERE id = ?`).get(deckId);
|
|
108
|
+
if (!deck) {
|
|
109
|
+
throw new Error(`deck not found: ${deckId}`);
|
|
110
|
+
}
|
|
111
|
+
let mcpUrl;
|
|
112
|
+
try {
|
|
113
|
+
const raw = readRawUseJson(workspaceRoot);
|
|
114
|
+
if (raw) {
|
|
115
|
+
const parsed = JSON.parse(raw);
|
|
116
|
+
if (typeof parsed.mcpUrl === 'string' && parsed.mcpUrl.length > 0) {
|
|
117
|
+
mcpUrl = parsed.mcpUrl;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// Unreadable or corrupt manifest; overwrite it below.
|
|
123
|
+
}
|
|
124
|
+
const next = {
|
|
125
|
+
version: 3,
|
|
126
|
+
deckId: deck.id,
|
|
127
|
+
deckName: deck.name,
|
|
128
|
+
...(mcpUrl ? { mcpUrl } : {}),
|
|
129
|
+
};
|
|
130
|
+
const dir = node_path_1.default.join(workspaceRoot, '.agent-deck');
|
|
131
|
+
node_fs_1.default.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
132
|
+
node_fs_1.default.writeFileSync(useJsonPath(workspaceRoot), `${JSON.stringify(next, null, 2)}\n`, {
|
|
133
|
+
encoding: 'utf8',
|
|
134
|
+
mode: 0o644,
|
|
135
|
+
});
|
|
136
|
+
(0, shared_1.ensureGitExcluded)(workspaceRoot);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Approval-path session rebind: move the requesting session to the new deck
|
|
140
|
+
* and renew its lease. Unlike {@link setRuntimeSessionDeck} (agent-initiated,
|
|
141
|
+
* agent-admin-gated), approval acts as the human, so no mode check applies;
|
|
142
|
+
* the session must still be live. Returns false when the row is gone,
|
|
143
|
+
* revoked, or expired.
|
|
144
|
+
*/
|
|
145
|
+
rebindRuntimeSessionDeck(sessionId, deckId, now) {
|
|
146
|
+
const changed = this.db
|
|
147
|
+
.prepare(`UPDATE runtime_sessions
|
|
148
|
+
SET deck_id = ?, last_seen_at = ?, expires_at = ?
|
|
149
|
+
WHERE id = ? AND revoked_at IS NULL AND expires_at > ?`)
|
|
150
|
+
.run(deckId, now, addMs(now, shared_1.RUNTIME_SESSION_LEASE_MS), sessionId, now);
|
|
151
|
+
return changed.changes > 0;
|
|
152
|
+
}
|
|
26
153
|
ensureTables() {
|
|
27
154
|
this.maybeShedGrantSchema();
|
|
28
155
|
// NOT-107: shed legacy issuer tables (created by the deleted SQLite store).
|
|
@@ -68,6 +195,22 @@ class TrustedSessionStore {
|
|
|
68
195
|
|
|
69
196
|
CREATE INDEX IF NOT EXISTS dashboard_sessions_expiry_idx
|
|
70
197
|
ON dashboard_sessions (expires_at);
|
|
198
|
+
|
|
199
|
+
CREATE TABLE IF NOT EXISTS deck_switch_requests (
|
|
200
|
+
id TEXT PRIMARY KEY,
|
|
201
|
+
runtime_session_id TEXT NOT NULL,
|
|
202
|
+
mcp_session_id TEXT,
|
|
203
|
+
current_deck_id TEXT NOT NULL,
|
|
204
|
+
requested_deck_id TEXT NOT NULL,
|
|
205
|
+
workspace_root TEXT,
|
|
206
|
+
status TEXT NOT NULL CHECK (status IN ('pending', 'approved', 'declined', 'expired', 'consumed')),
|
|
207
|
+
created_at TEXT NOT NULL,
|
|
208
|
+
expires_at TEXT NOT NULL,
|
|
209
|
+
resolved_at TEXT
|
|
210
|
+
);
|
|
211
|
+
|
|
212
|
+
CREATE INDEX IF NOT EXISTS deck_switch_requests_pending_idx
|
|
213
|
+
ON deck_switch_requests (runtime_session_id, requested_deck_id, status, expires_at);
|
|
71
214
|
`);
|
|
72
215
|
}
|
|
73
216
|
/**
|
|
@@ -91,6 +234,7 @@ class TrustedSessionStore {
|
|
|
91
234
|
try {
|
|
92
235
|
this.db.exec(`
|
|
93
236
|
DROP TABLE IF EXISTS admin_challenges;
|
|
237
|
+
DROP TABLE IF EXISTS deck_switch_requests;
|
|
94
238
|
DROP TABLE IF EXISTS runtime_sessions;
|
|
95
239
|
DROP TABLE IF EXISTS workspace_grants;
|
|
96
240
|
DROP TABLE IF EXISTS workspace_keys;
|
|
@@ -360,6 +504,319 @@ class TrustedSessionStore {
|
|
|
360
504
|
createdAt: row.created_at,
|
|
361
505
|
}));
|
|
362
506
|
}
|
|
507
|
+
/**
|
|
508
|
+
* NOT-205: record a human-decision deck-switch request.
|
|
509
|
+
* Never mutates the runtime session binding — the session keeps serving
|
|
510
|
+
* its current deck while the request is pending (or declined).
|
|
511
|
+
* Duplicate pending requests for the same session and requested target are
|
|
512
|
+
* idempotent: the existing pending request is returned as-is.
|
|
513
|
+
*/
|
|
514
|
+
createDeckSwitchRequest(input) {
|
|
515
|
+
const ttlMs = input.ttlMs ?? exports.DECK_SWITCH_REQUEST_TTL_MS;
|
|
516
|
+
let result = null;
|
|
517
|
+
const tx = this.db.transaction(() => {
|
|
518
|
+
this.expireDeckSwitchRequests();
|
|
519
|
+
const existing = this.db
|
|
520
|
+
.prepare(`SELECT id, runtime_session_id, mcp_session_id, current_deck_id,
|
|
521
|
+
requested_deck_id, workspace_root, status,
|
|
522
|
+
created_at, expires_at, resolved_at
|
|
523
|
+
FROM deck_switch_requests
|
|
524
|
+
WHERE runtime_session_id = ? AND requested_deck_id = ?
|
|
525
|
+
AND status = 'pending' AND expires_at > ?
|
|
526
|
+
ORDER BY created_at ASC
|
|
527
|
+
LIMIT 1`)
|
|
528
|
+
.get(input.runtimeSessionId, input.requestedDeckId, nowIso());
|
|
529
|
+
if (existing) {
|
|
530
|
+
result = this.toDeckSwitchRequest(existing);
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
const id = (0, shared_1.prefixTrustedId)('req', (0, node_crypto_1.randomUUID)());
|
|
534
|
+
const createdAt = nowIso();
|
|
535
|
+
const expiresAt = addMs(createdAt, ttlMs);
|
|
536
|
+
this.db
|
|
537
|
+
.prepare(`INSERT INTO deck_switch_requests
|
|
538
|
+
(id, runtime_session_id, mcp_session_id, current_deck_id,
|
|
539
|
+
requested_deck_id, workspace_root, status, created_at, expires_at, resolved_at)
|
|
540
|
+
VALUES (?, ?, ?, ?, ?, ?, 'pending', ?, ?, NULL)`)
|
|
541
|
+
.run(id, input.runtimeSessionId, input.mcpSessionId ?? null, input.currentDeckId, input.requestedDeckId, input.workspaceRoot ?? null, createdAt, expiresAt);
|
|
542
|
+
result = this.toDeckSwitchRequest(this.getDeckSwitchRequestRow(id));
|
|
543
|
+
});
|
|
544
|
+
tx();
|
|
545
|
+
return result;
|
|
546
|
+
}
|
|
547
|
+
getDeckSwitchRequestRow(requestId) {
|
|
548
|
+
return (this.db
|
|
549
|
+
.prepare(`SELECT id, runtime_session_id, mcp_session_id, current_deck_id,
|
|
550
|
+
requested_deck_id, workspace_root, status,
|
|
551
|
+
created_at, expires_at, resolved_at
|
|
552
|
+
FROM deck_switch_requests WHERE id = ?`)
|
|
553
|
+
.get(requestId) ?? null);
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Read a request, lazily marking it expired when its TTL has passed.
|
|
557
|
+
* An expired request is returned with status `expired` and can never be
|
|
558
|
+
* approved afterwards.
|
|
559
|
+
*/
|
|
560
|
+
getDeckSwitchRequest(requestId) {
|
|
561
|
+
const row = this.getDeckSwitchRequestRow(requestId);
|
|
562
|
+
if (!row) {
|
|
563
|
+
return null;
|
|
564
|
+
}
|
|
565
|
+
if (row.status === 'pending' && Date.parse(row.expires_at) <= Date.now()) {
|
|
566
|
+
this.markDeckSwitchRequestExpired(requestId);
|
|
567
|
+
return this.toDeckSwitchRequest(this.getDeckSwitchRequestRow(requestId));
|
|
568
|
+
}
|
|
569
|
+
return this.toDeckSwitchRequest(row);
|
|
570
|
+
}
|
|
571
|
+
/** Client-safe view: opaque id plus lifecycle fields, no target deck data. */
|
|
572
|
+
getDeckSwitchRequestSummary(requestId) {
|
|
573
|
+
const request = this.getDeckSwitchRequest(requestId);
|
|
574
|
+
return request ? toDeckSwitchRequestSummary(request) : null;
|
|
575
|
+
}
|
|
576
|
+
listPendingDeckSwitchRequests(runtimeSessionId) {
|
|
577
|
+
this.expireDeckSwitchRequests();
|
|
578
|
+
const now = nowIso();
|
|
579
|
+
const rows = runtimeSessionId === undefined
|
|
580
|
+
? this.db
|
|
581
|
+
.prepare(`SELECT id, runtime_session_id, mcp_session_id, current_deck_id,
|
|
582
|
+
requested_deck_id, workspace_root, status,
|
|
583
|
+
created_at, expires_at, resolved_at
|
|
584
|
+
FROM deck_switch_requests
|
|
585
|
+
WHERE status = 'pending' AND expires_at > ?
|
|
586
|
+
ORDER BY created_at ASC`)
|
|
587
|
+
.all(now)
|
|
588
|
+
: this.db
|
|
589
|
+
.prepare(`SELECT id, runtime_session_id, mcp_session_id, current_deck_id,
|
|
590
|
+
requested_deck_id, workspace_root, status,
|
|
591
|
+
created_at, expires_at, resolved_at
|
|
592
|
+
FROM deck_switch_requests
|
|
593
|
+
WHERE runtime_session_id = ? AND status = 'pending' AND expires_at > ?
|
|
594
|
+
ORDER BY created_at ASC`)
|
|
595
|
+
.all(runtimeSessionId, now);
|
|
596
|
+
return rows.map((row) => this.toDeckSwitchRequest(row));
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Compare-and-set status transition. Returns the updated request on success,
|
|
600
|
+
* or null when the request is missing, the current status differs from
|
|
601
|
+
* `expectedStatus`, the transition is illegal, or an expired pending request
|
|
602
|
+
* is resolved to anything but `expired`. Exactly one concurrent resolver
|
|
603
|
+
* wins because the UPDATE is conditional on the expected status.
|
|
604
|
+
*/
|
|
605
|
+
transitionDeckSwitchRequestStatus(requestId, expectedStatus, nextStatus) {
|
|
606
|
+
if (!DECK_SWITCH_STATUS_TRANSITIONS[expectedStatus]?.includes(nextStatus)) {
|
|
607
|
+
return null;
|
|
608
|
+
}
|
|
609
|
+
const row = this.getDeckSwitchRequestRow(requestId);
|
|
610
|
+
if (!row) {
|
|
611
|
+
return null;
|
|
612
|
+
}
|
|
613
|
+
if (row.status === 'pending' && Date.parse(row.expires_at) <= Date.now()) {
|
|
614
|
+
this.markDeckSwitchRequestExpired(requestId);
|
|
615
|
+
return null;
|
|
616
|
+
}
|
|
617
|
+
if (row.status !== expectedStatus) {
|
|
618
|
+
return null;
|
|
619
|
+
}
|
|
620
|
+
const now = nowIso();
|
|
621
|
+
const resolvedAt = expectedStatus === 'pending' ? now : row.resolved_at;
|
|
622
|
+
const result = this.db
|
|
623
|
+
.prepare(`UPDATE deck_switch_requests
|
|
624
|
+
SET status = ?, resolved_at = ?
|
|
625
|
+
WHERE id = ? AND status = ?`)
|
|
626
|
+
.run(nextStatus, resolvedAt, requestId, expectedStatus);
|
|
627
|
+
if (result.changes === 0) {
|
|
628
|
+
return null;
|
|
629
|
+
}
|
|
630
|
+
return this.toDeckSwitchRequest(this.getDeckSwitchRequestRow(requestId));
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* NOT-207: approval commit for a deck-switch request.
|
|
634
|
+
*
|
|
635
|
+
* The only commit point for changing a deck binding from a request.
|
|
636
|
+
*
|
|
637
|
+
* Ordering is rollback-safe because a file write cannot join the SQLite
|
|
638
|
+
* transaction: for `workspace-default` the v3 `use.json` at the request's
|
|
639
|
+
* workspaceRoot is written *before* the database transaction runs. A failed
|
|
640
|
+
* write returns `assignment-failed` with zero database mutation, so the
|
|
641
|
+
* session stays on the prior deck. The transaction then atomically covers
|
|
642
|
+
* pending→approved, the requesting session's rebind, and approved→consumed;
|
|
643
|
+
* if it fails after the file was written (only possible when the session
|
|
644
|
+
* row vanishes concurrently), the file is restored from its snapshot and
|
|
645
|
+
* `session-invalid` is returned. Either way the prior binding stays
|
|
646
|
+
* effective and no partial commit is visible.
|
|
647
|
+
*
|
|
648
|
+
* - `session`: rebind requesting session only; workspace default untouched.
|
|
649
|
+
* - `workspace-default`: as `session`, plus replace the workspace-root
|
|
650
|
+
* assignment file (never `deck_workspaces`).
|
|
651
|
+
* - `decline`: pending→declined; bindings untouched.
|
|
652
|
+
*/
|
|
653
|
+
applyDeckSwitchResolution(requestId, runtimeSessionId, decision, deps) {
|
|
654
|
+
const row = this.getDeckSwitchRequestRow(requestId);
|
|
655
|
+
if (!row) {
|
|
656
|
+
return { outcome: 'not-found' };
|
|
657
|
+
}
|
|
658
|
+
if (row.runtime_session_id !== runtimeSessionId) {
|
|
659
|
+
return { outcome: 'unauthorized' };
|
|
660
|
+
}
|
|
661
|
+
if (row.status !== 'pending') {
|
|
662
|
+
// Stable repeat mapping: an already-expired request keeps reporting
|
|
663
|
+
// `expired`, every other resolved request reports `already-resolved`.
|
|
664
|
+
if (row.status === 'expired') {
|
|
665
|
+
return { outcome: 'expired', request: this.toDeckSwitchRequest(row) };
|
|
666
|
+
}
|
|
667
|
+
return { outcome: 'already-resolved', request: this.toDeckSwitchRequest(row) };
|
|
668
|
+
}
|
|
669
|
+
if (Date.parse(row.expires_at) <= Date.now()) {
|
|
670
|
+
this.markDeckSwitchRequestExpired(requestId);
|
|
671
|
+
return {
|
|
672
|
+
outcome: 'expired',
|
|
673
|
+
request: this.toDeckSwitchRequest(this.getDeckSwitchRequestRow(requestId)),
|
|
674
|
+
};
|
|
675
|
+
}
|
|
676
|
+
const now = nowIso();
|
|
677
|
+
if (decision === 'decline') {
|
|
678
|
+
this.db
|
|
679
|
+
.prepare(`UPDATE deck_switch_requests
|
|
680
|
+
SET status = 'declined', resolved_at = ?
|
|
681
|
+
WHERE id = ? AND status = 'pending'`)
|
|
682
|
+
.run(now, requestId);
|
|
683
|
+
return {
|
|
684
|
+
outcome: 'declined',
|
|
685
|
+
request: this.toDeckSwitchRequest(this.getDeckSwitchRequestRow(requestId)),
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
const deckExists = deps?.deckExists ??
|
|
689
|
+
this.options?.deckExists ??
|
|
690
|
+
((deckId) => {
|
|
691
|
+
const found = this.db.prepare(`SELECT 1 AS ok FROM decks WHERE id = ?`).get(deckId);
|
|
692
|
+
return found !== undefined;
|
|
693
|
+
});
|
|
694
|
+
if (!deckExists(row.requested_deck_id)) {
|
|
695
|
+
return { outcome: 'target-missing' };
|
|
696
|
+
}
|
|
697
|
+
const workspaceRoot = row.workspace_root?.trim() ? row.workspace_root.trim() : null;
|
|
698
|
+
if (decision === 'workspace-default' && !workspaceRoot) {
|
|
699
|
+
return { outcome: 'workspace-required' };
|
|
700
|
+
}
|
|
701
|
+
const sessionRow = this.getRuntimeSessionRow(row.runtime_session_id);
|
|
702
|
+
if (!sessionRow || sessionRow.revoked_at || Date.parse(sessionRow.expires_at) <= Date.now()) {
|
|
703
|
+
return { outcome: 'session-invalid' };
|
|
704
|
+
}
|
|
705
|
+
// File-first ordering (see doc comment): write the assignment before the
|
|
706
|
+
// database transaction so a failed write leaves the session on the prior
|
|
707
|
+
// deck with no database mutation to unwind.
|
|
708
|
+
let assignmentRollback = null;
|
|
709
|
+
if (decision === 'workspace-default' && workspaceRoot) {
|
|
710
|
+
const customWriter = deps?.writeWorkspaceAssignment ?? this.options?.workspaceAssignmentWriter;
|
|
711
|
+
const writeAssignment = customWriter
|
|
712
|
+
? (root, deckId, at) => customWriter(root, deckId, at)
|
|
713
|
+
: (root, deckId) => this.writeWorkspaceAssignmentFile(root, deckId);
|
|
714
|
+
if (!customWriter) {
|
|
715
|
+
try {
|
|
716
|
+
assignmentRollback = { workspaceRoot, priorRaw: readRawUseJson(workspaceRoot) };
|
|
717
|
+
}
|
|
718
|
+
catch (error) {
|
|
719
|
+
return {
|
|
720
|
+
outcome: 'assignment-failed',
|
|
721
|
+
error: error instanceof Error ? error.message : String(error),
|
|
722
|
+
};
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
try {
|
|
726
|
+
writeAssignment(workspaceRoot, row.requested_deck_id, now);
|
|
727
|
+
}
|
|
728
|
+
catch (error) {
|
|
729
|
+
return {
|
|
730
|
+
outcome: 'assignment-failed',
|
|
731
|
+
error: error instanceof Error ? error.message : String(error),
|
|
732
|
+
};
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
let outcome = { outcome: 'not-found' };
|
|
736
|
+
const tx = this.db.transaction(() => {
|
|
737
|
+
const approved = this.db
|
|
738
|
+
.prepare(`UPDATE deck_switch_requests
|
|
739
|
+
SET status = 'approved', resolved_at = ?
|
|
740
|
+
WHERE id = ? AND status = 'pending'`)
|
|
741
|
+
.run(now, requestId);
|
|
742
|
+
if (approved.changes === 0) {
|
|
743
|
+
outcome = {
|
|
744
|
+
outcome: 'already-resolved',
|
|
745
|
+
request: this.toDeckSwitchRequest(this.getDeckSwitchRequestRow(requestId)),
|
|
746
|
+
};
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
if (!this.rebindRuntimeSessionDeck(row.runtime_session_id, row.requested_deck_id, now)) {
|
|
750
|
+
throw new DeckSwitchCommitFailed('session-invalid');
|
|
751
|
+
}
|
|
752
|
+
this.db
|
|
753
|
+
.prepare(`UPDATE deck_switch_requests
|
|
754
|
+
SET status = 'consumed'
|
|
755
|
+
WHERE id = ? AND status = 'approved'`)
|
|
756
|
+
.run(requestId);
|
|
757
|
+
outcome = {
|
|
758
|
+
outcome: 'resolved',
|
|
759
|
+
request: this.toDeckSwitchRequest(this.getDeckSwitchRequestRow(requestId)),
|
|
760
|
+
...(workspaceRoot && decision === 'workspace-default' ? { workspaceRoot } : {}),
|
|
761
|
+
};
|
|
762
|
+
});
|
|
763
|
+
try {
|
|
764
|
+
tx();
|
|
765
|
+
}
|
|
766
|
+
catch (error) {
|
|
767
|
+
// The transaction rolled back; compensate the already-written file so
|
|
768
|
+
// no partial commit (file on B, session on A) is visible.
|
|
769
|
+
if (assignmentRollback) {
|
|
770
|
+
try {
|
|
771
|
+
restoreRawUseJson(assignmentRollback.workspaceRoot, assignmentRollback.priorRaw);
|
|
772
|
+
}
|
|
773
|
+
catch {
|
|
774
|
+
// Best effort: the database is already rolled back; surface the
|
|
775
|
+
// session outcome rather than masking it with a restore error.
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
if (error instanceof DeckSwitchCommitFailed) {
|
|
779
|
+
return { outcome: 'session-invalid' };
|
|
780
|
+
}
|
|
781
|
+
throw error;
|
|
782
|
+
}
|
|
783
|
+
return outcome;
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* Sweep pending requests past their TTL to `expired`. Returns the number
|
|
787
|
+
* of requests newly expired.
|
|
788
|
+
*/
|
|
789
|
+
expireDeckSwitchRequests() {
|
|
790
|
+
const now = nowIso();
|
|
791
|
+
const result = this.db
|
|
792
|
+
.prepare(`UPDATE deck_switch_requests
|
|
793
|
+
SET status = 'expired', resolved_at = ?
|
|
794
|
+
WHERE status = 'pending' AND expires_at <= ?`)
|
|
795
|
+
.run(now, now);
|
|
796
|
+
return result.changes;
|
|
797
|
+
}
|
|
798
|
+
markDeckSwitchRequestExpired(requestId) {
|
|
799
|
+
const now = nowIso();
|
|
800
|
+
this.db
|
|
801
|
+
.prepare(`UPDATE deck_switch_requests
|
|
802
|
+
SET status = 'expired', resolved_at = ?
|
|
803
|
+
WHERE id = ? AND status = 'pending'`)
|
|
804
|
+
.run(now, requestId);
|
|
805
|
+
}
|
|
806
|
+
toDeckSwitchRequest(row) {
|
|
807
|
+
return {
|
|
808
|
+
requestId: row.id,
|
|
809
|
+
runtimeSessionId: row.runtime_session_id,
|
|
810
|
+
mcpSessionId: row.mcp_session_id ?? undefined,
|
|
811
|
+
currentDeckId: row.current_deck_id,
|
|
812
|
+
requestedDeckId: row.requested_deck_id,
|
|
813
|
+
workspaceRoot: row.workspace_root ?? undefined,
|
|
814
|
+
status: row.status,
|
|
815
|
+
createdAt: row.created_at,
|
|
816
|
+
expiresAt: row.expires_at,
|
|
817
|
+
resolvedAt: row.resolved_at,
|
|
818
|
+
};
|
|
819
|
+
}
|
|
363
820
|
expireStaleSessions() {
|
|
364
821
|
const now = nowIso();
|
|
365
822
|
const downgrade = this.db.prepare(`UPDATE runtime_sessions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/trusted-session/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/trusted-session/store.ts"],"names":[],"mappings":";;;;;;AAoLA,8DAEC;AAOD,gEAOC;AApMD,6CAAkE;AAClE,sDAAyB;AACzB,0DAA6B;AAE7B,+CAU4B;AA6B5B,2DAA2D;AAC9C,QAAA,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AA+CzD,MAAM,8BAA8B,GAA+D;IACjG,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;IAC5C,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;CACb,CAAC;AAeF;;;;GAIG;AACH,MAAM,sBAAuB,SAAQ,KAAK;IACZ;IAA5B,YAA4B,OAA0B;QACpD,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QADrB,YAAO,GAAP,OAAO,CAAmB;QAEpD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAqBD,SAAS,WAAW,CAAC,aAAqB;IACxC,OAAO,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAC7D,CAAC;AAED,uEAAuE;AACvE,SAAS,cAAc,CAAC,aAAqB;IAC3C,IAAI,CAAC;QACH,OAAO,iBAAE,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAK,KAA+B,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,aAAqB,EAAE,GAAkB;IAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,iBAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;QACD,OAAO;IACT,CAAC;IACD,iBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,iBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,mCAAmC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAAa;IACrD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,OAA0B;IACnE,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,KAAK,CAAC,GAAW,EAAE,EAAU;IACpC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,MAAa,mBAAmB;IAEX;IACA;IAFnB,YACmB,EAAqB,EACrB,OAAoC;QADpC,OAAE,GAAF,EAAE,CAAmB;QACrB,YAAO,GAAP,OAAO,CAA6B;QAErD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACK,4BAA4B,CAAC,aAAqB,EAAE,MAAc;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,MAAM,CAErE,CAAC;QACd,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;gBAC1D,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;QACD,MAAM,IAAI,GAA4B;YACpC,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC;QACF,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACpD,iBAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,iBAAE,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACjF,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,IAAA,0BAAiB,EAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACK,wBAAwB,CAC9B,SAAiB,EACjB,MAAc,EACd,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;aACpB,OAAO,CACN;;gEAEwD,CACzD;aACA,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,iCAAwB,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,4EAA4E;QAC5E,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;KAIZ,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqDZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,oBAAoB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAExD,CAAC;QACH,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAC9G,MAAM,WAAW,GACf,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAC9C,CAAC,MAAM,GAAG,CAAC,CAAC;QACb,MAAM,SAAS,GACb,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAC5C,CAAC,MAAM,GAAG,CAAC,CAAC;QAEb,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;OAMZ,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,KAGpB;QACC,MAAM,EAAE,GAAG,IAAA,wBAAe,EAAC,KAAK,EAAE,IAAA,wBAAU,GAAE,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,iCAAwB,CAAC,CAAC;QAE9D,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;gDAEwC,CACzC;aACA,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE5E,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,sCAAsC,CAAC,YAAoB;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;;;;;iBAKS,CACV;aACA,GAAG,CAAC,YAAY,CAAkC,CAAC;QAEtD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,sCAAsC,CAAC,YAAoB;QACzD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;;;;;;iBAMS,CACV;aACA,GAAG,CAAC,YAAY,EAAE,GAAG,CAAkC,CAAC;QAE3D,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,6BAA6B,CAAC,YAAoB,EAAE,MAAc;QAChE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;;;;qDAI6C,CAC9C;aACA,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAkC,CAAC;QAEnE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,mCAAmC,CAAC,YAAoB;QACtD,OAAO,IAAI,CAAC,qCAAqC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;IAC9F,CAAC;IAED,qCAAqC,CAAC,aAAuB;QAC3D,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;oCAC4B,YAAY,6CAA6C,CACtF;aACA,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAA8D,CAAC;QAEvF,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB,CAAC,KAAa,EAAE,YAAoB;QACtD,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,+EAA+E,CAChF;aACA,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN,6EAA6E,CAC9E;aACA,GAAG,CAAC,KAAK,CAAkF,CAAC;QAE/F,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,6DAA6D,CAAC;aACtE,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB;QACnB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,+EAA+E,CAAC;aACxF,GAAG,CAAC,GAAG,CAAC,CAAC;QACZ,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,sBAAsB;QACpB,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;6BACqB,CACtB;aACA,GAAG,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,mCAA0B,CAAC,CAAC,CAAC;QAC3F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gCAAgC,CAAC,KAAa;QAC5C,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;sDAC8C,CAC/C;aACA,GAAG,CAAC,SAAS,CAAoC,CAAC;QAErD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC;YAChD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,GAAG,mCAAmC,EAAE,CAAC;YAChF,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN,qFAAqF,CACtF;iBACA,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,mCAA0B,CAAC,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,sDAAsD,CAAC;aAC/D,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,OAAO,CACJ,IAAI,CAAC,EAAE;aACL,OAAO,CACN;;8CAEoC,CACrC;aACA,GAAG,CAAC,SAAS,CAAmC,IAAI,IAAI,CAC5D,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACpB,IAAI,cAAc,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAE1C,IAAI,IAAI,KAAK,aAAa,IAAI,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACzF,IAAI,GAAG,QAAQ,CAAC;YAChB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,iCAAwB,CAAC,CAAC;QACvD,MAAM,kBAAkB,GACtB,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAElE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;sBAEc,CACf;aACA,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAE,CAAC,CAAC;IACtE,CAAC;IAED,qBAAqB,CAAC,SAAiB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;sBAEc,CACf;aACA,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,4BAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,iCAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;QAE9F,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAE,CAAC,CAAC;IACtE,CAAC;IAED,6EAA6E;IAC7E,qBAAqB,CAAC,SAAiB,EAAE,MAAc;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;sBAEc,CACf;aACA,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,iCAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAE,CAAC,CAAC;IACtE,CAAC;IAED,wBAAwB,CAAC,SAAiB;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;sBAEc,CACf;aACA,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,iCAAwB,CAAC,EAAE,SAAS,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAE,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,gFAAgF,CAAC;aACzF,GAAG,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,oBAAoB,CAAC,gBAAwB;QAC3C,MAAM,EAAE,GAAG,IAAA,wBAAe,EAAC,KAAK,EAAE,IAAA,wBAAU,GAAE,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,+BAAsB,CAAC,CAAC;QAE3D,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;6BACqB,CACtB;aACA,GAAG,CAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAEnD,OAAO;YACL,EAAE;YACF,kBAAkB,EAAE,gBAAgB;YACpC,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,WAAmB,EAAE,gBAAwB;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,OAAO,CACN;4CACoC,CACrC;aACA,GAAG,CAAC,WAAW,CAAkC,CAAC;QAErD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,0DAA0D,CAAC;aACnE,GAAG,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B;QAOxB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;;;qCAK6B,CAC9B;aACA,GAAG,CAAC,GAAG,CAMR,CAAC;QAEH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,WAAW,EAAE,GAAG,CAAC,EAAE;YACnB,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;YACxC,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,KAOvB;QACC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,kCAA0B,CAAC;QACxD,IAAI,MAAM,GAA6B,IAAI,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;iBACrB,OAAO,CACN;;;;;;;mBAOS,CACV;iBACA,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,CAEjD,CAAC;YACd,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,MAAM,EAAE,GAAG,IAAA,wBAAe,EAAC,KAAK,EAAE,IAAA,wBAAU,GAAE,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;;4DAGkD,CACnD;iBACA,GAAG,CACF,EAAE,EACF,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,YAAY,IAAI,IAAI,EAC1B,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,aAAa,IAAI,IAAI,EAC3B,SAAS,EACT,SAAS,CACV,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;QACL,OAAO,MAAO,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAAC,SAAiB;QAC/C,OAAO,CACJ,IAAI,CAAC,EAAE;aACL,OAAO,CACN;;;kDAGwC,CACzC;aACA,GAAG,CAAC,SAAS,CAAsC,IAAI,IAAI,CAC/D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,SAAiB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACzE,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,8EAA8E;IAC9E,2BAA2B,CAAC,SAAiB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAED,6BAA6B,CAAC,gBAAyB;QACrD,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,GACR,gBAAgB,KAAK,SAAS;YAC5B,CAAC,CAAE,IAAI,CAAC,EAAE;iBACL,OAAO,CACN;;;;;uCAKyB,CAC1B;iBACA,GAAG,CAAC,GAAG,CAA4B;YACxC,CAAC,CAAE,IAAI,CAAC,EAAE;iBACL,OAAO,CACN;;;;;uCAKyB,CAC1B;iBACA,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAA4B,CAAC;QAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,iCAAiC,CAC/B,SAAiB,EACjB,cAAuC,EACvC,UAAmC;QAEnC,IAAI,CAAC,8BAA8B,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACzE,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;;qCAE6B,CAC9B;aACA,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,yBAAyB,CACvB,SAAiB,EACjB,gBAAwB,EACxB,QAA4B,EAC5B,IAGC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,GAAG,CAAC,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,oEAAoE;YACpE,sEAAsE;YACtE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YACxE,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QACjF,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;+CAEqC,CACtC;iBACA,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GACd,IAAI,EAAE,UAAU;YAChB,IAAI,CAAC,OAAO,EAAE,UAAU;YACxB,CAAC,CAAC,MAAc,EAAE,EAAE;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,GAAG,CAAC,MAAM,CAErE,CAAC;gBACd,OAAO,KAAK,KAAK,SAAS,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,QAAQ,KAAK,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5F,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACxC,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,4CAA4C;QAC5C,IAAI,kBAAkB,GAA8D,IAAI,CAAC;QACzF,IAAI,QAAQ,KAAK,mBAAmB,IAAI,aAAa,EAAE,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,EAAE,wBAAwB,IAAI,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC;YAC/F,MAAM,eAAe,GAA8B,YAAY;gBAC7D,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;gBACtD,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,kBAAkB,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO;wBACL,OAAO,EAAE,mBAAmB;wBAC5B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,eAAe,CAAC,aAAa,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,mBAAmB;oBAC5B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAgC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;iBACrB,OAAO,CACN;;+CAEqC,CACtC;iBACA,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACvB,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,GAAG;oBACR,OAAO,EAAE,kBAAkB;oBAC3B,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAE,CAAC;iBAC5E,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC;gBACvF,MAAM,IAAI,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;gDAEsC,CACvC;iBACA,GAAG,CAAC,SAAS,CAAC,CAAC;YAClB,OAAO,GAAG;gBACR,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAE,CAAC;gBAC3E,GAAG,CAAC,aAAa,IAAI,QAAQ,KAAK,mBAAmB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,EAAE,EAAE,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,0DAA0D;YAC1D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACnF,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;oBAChE,+DAA+D;gBACjE,CAAC;YACH,CAAC;YACD,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,wBAAwB;QACtB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CACN;;sDAE8C,CAC/C;aACA,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAEO,4BAA4B,CAAC,SAAiB;QACpD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;6CAEqC,CACtC;aACA,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACzB,CAAC;IAEO,mBAAmB,CAAC,GAAyB;QACnD,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;YACxC,YAAY,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;YAC7C,aAAa,EAAE,GAAG,CAAC,eAAe;YAClC,eAAe,EAAE,GAAG,CAAC,iBAAiB;YACtC,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;YAC9C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,UAAU,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC/B;;6FAEuF,CACxF,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC5B;oDAC8C,CAC/C,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;QAEL,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,gBAAgB,CAAC,GAAsB;QAC7C,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,YAAY,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;YAC7C,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG,CAAC,YAAY;YAC5B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,cAAc,EAAE,GAAG,CAAC,gBAAgB;SACrC,CAAC;IACJ,CAAC;CACF;AAl8BD,kDAk8BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-deck/backend",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"description": "Agent Deck backend API, MCP server, and vault",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"prepublishOnly": "node ../../scripts/pre-publish-check.mjs && npm run build"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@agent-deck/shared": "^1.
|
|
49
|
+
"@agent-deck/shared": "^1.11.0",
|
|
50
50
|
"@fastify/cors": "^10.0.0",
|
|
51
51
|
"@fastify/static": "^8.0.0",
|
|
52
52
|
"@fastify/websocket": "^11.2.0",
|