@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.
Files changed (40) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/data/oauth-provider-guides.js +1 -1
  3. package/dist/data/oauth-provider-guides.js.map +1 -1
  4. package/dist/mcp-server.d.ts.map +1 -1
  5. package/dist/mcp-server.js +27 -2
  6. package/dist/mcp-server.js.map +1 -1
  7. package/dist/mcp-session-binding.d.ts +18 -0
  8. package/dist/mcp-session-binding.d.ts.map +1 -1
  9. package/dist/mcp-session-binding.js +25 -0
  10. package/dist/mcp-session-binding.js.map +1 -1
  11. package/dist/mcp-tools/elicitation.d.ts +129 -0
  12. package/dist/mcp-tools/elicitation.d.ts.map +1 -0
  13. package/dist/mcp-tools/elicitation.js +231 -0
  14. package/dist/mcp-tools/elicitation.js.map +1 -0
  15. package/dist/mcp-tools/policy.d.ts.map +1 -1
  16. package/dist/mcp-tools/policy.js +2 -0
  17. package/dist/mcp-tools/policy.js.map +1 -1
  18. package/dist/mcp-tools/register.d.ts +14 -0
  19. package/dist/mcp-tools/register.d.ts.map +1 -1
  20. package/dist/mcp-tools/register.js +109 -129
  21. package/dist/mcp-tools/register.js.map +1 -1
  22. package/dist/playbooks/stub-sync.d.ts +55 -12
  23. package/dist/playbooks/stub-sync.d.ts.map +1 -1
  24. package/dist/playbooks/stub-sync.js +136 -197
  25. package/dist/playbooks/stub-sync.js.map +1 -1
  26. package/dist/routes/trusted-session.d.ts.map +1 -1
  27. package/dist/routes/trusted-session.js +240 -6
  28. package/dist/routes/trusted-session.js.map +1 -1
  29. package/dist/trusted-session/route-policy-registry.d.ts.map +1 -1
  30. package/dist/trusted-session/route-policy-registry.js +22 -0
  31. package/dist/trusted-session/route-policy-registry.js.map +1 -1
  32. package/dist/trusted-session/store.d.ts +174 -2
  33. package/dist/trusted-session/store.d.ts.map +1 -1
  34. package/dist/trusted-session/store.js +459 -2
  35. package/dist/trusted-session/store.js.map +1 -1
  36. package/package.json +2 -2
  37. package/static-ui/assets/{index-BArFQUL8.js → index-B86VjIYT.js} +4 -4
  38. package/static-ui/assets/index-DlL_F4GS.css +1 -0
  39. package/static-ui/index.html +2 -2
  40. 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
- constructor(db) {
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-deck/backend",
3
- "version": "1.10.6",
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.10.6",
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",