@agent-deck/backend 1.8.0 → 1.8.2

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 (99) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/execution-authority/types.d.ts +1 -1
  3. package/dist/execution-authority/types.d.ts.map +1 -1
  4. package/dist/lib/agent-deck-context.d.ts +1 -1
  5. package/dist/lib/agent-deck-context.d.ts.map +1 -1
  6. package/dist/lib/agent-deck-context.js +4 -17
  7. package/dist/lib/agent-deck-context.js.map +1 -1
  8. package/dist/lib/backend-api-error.d.ts.map +1 -1
  9. package/dist/lib/backend-api-error.js +0 -1
  10. package/dist/lib/backend-api-error.js.map +1 -1
  11. package/dist/lib/bound-deck-scope.d.ts.map +1 -1
  12. package/dist/lib/bound-deck-scope.js +0 -4
  13. package/dist/lib/bound-deck-scope.js.map +1 -1
  14. package/dist/lib/http-auth.d.ts +0 -14
  15. package/dist/lib/http-auth.d.ts.map +1 -1
  16. package/dist/lib/http-auth.js +0 -25
  17. package/dist/lib/http-auth.js.map +1 -1
  18. package/dist/lib/invalid-deck-id-path-segment.d.ts +6 -0
  19. package/dist/lib/invalid-deck-id-path-segment.d.ts.map +1 -0
  20. package/dist/lib/invalid-deck-id-path-segment.js +11 -0
  21. package/dist/lib/invalid-deck-id-path-segment.js.map +1 -0
  22. package/dist/lib/route-policy.js +2 -2
  23. package/dist/lib/route-policy.js.map +1 -1
  24. package/dist/mcp-server.d.ts +6 -13
  25. package/dist/mcp-server.d.ts.map +1 -1
  26. package/dist/mcp-server.js +64 -140
  27. package/dist/mcp-server.js.map +1 -1
  28. package/dist/mcp-session-binding.d.ts +7 -15
  29. package/dist/mcp-session-binding.d.ts.map +1 -1
  30. package/dist/mcp-session-binding.js +14 -30
  31. package/dist/mcp-session-binding.js.map +1 -1
  32. package/dist/mcp-tools/policy.d.ts +0 -3
  33. package/dist/mcp-tools/policy.d.ts.map +1 -1
  34. package/dist/mcp-tools/policy.js +6 -43
  35. package/dist/mcp-tools/policy.js.map +1 -1
  36. package/dist/mcp-tools/register.d.ts +1 -5
  37. package/dist/mcp-tools/register.d.ts.map +1 -1
  38. package/dist/mcp-tools/register.js +100 -104
  39. package/dist/mcp-tools/register.js.map +1 -1
  40. package/dist/mcp-tools/test-harness.d.ts +5 -5
  41. package/dist/mcp-tools/test-harness.d.ts.map +1 -1
  42. package/dist/mcp-tools/test-harness.js +15 -21
  43. package/dist/mcp-tools/test-harness.js.map +1 -1
  44. package/dist/models/database.d.ts +2 -0
  45. package/dist/models/database.d.ts.map +1 -1
  46. package/dist/models/database.js +5 -0
  47. package/dist/models/database.js.map +1 -1
  48. package/dist/playbooks/stub-sync.d.ts +9 -0
  49. package/dist/playbooks/stub-sync.d.ts.map +1 -1
  50. package/dist/playbooks/stub-sync.js +51 -12
  51. package/dist/playbooks/stub-sync.js.map +1 -1
  52. package/dist/routes/decks.d.ts.map +1 -1
  53. package/dist/routes/decks.js +0 -1
  54. package/dist/routes/decks.js.map +1 -1
  55. package/dist/routes/execution-authority.d.ts.map +1 -1
  56. package/dist/routes/execution-authority.js +115 -28
  57. package/dist/routes/execution-authority.js.map +1 -1
  58. package/dist/routes/launch.d.ts +8 -0
  59. package/dist/routes/launch.d.ts.map +1 -0
  60. package/dist/routes/launch.js +35 -0
  61. package/dist/routes/launch.js.map +1 -0
  62. package/dist/routes/scope.d.ts.map +1 -1
  63. package/dist/routes/scope.js +1 -39
  64. package/dist/routes/scope.js.map +1 -1
  65. package/dist/routes/services.d.ts.map +1 -1
  66. package/dist/routes/services.js +1 -7
  67. package/dist/routes/services.js.map +1 -1
  68. package/dist/routes/trusted-session.d.ts.map +1 -1
  69. package/dist/routes/trusted-session.js +50 -152
  70. package/dist/routes/trusted-session.js.map +1 -1
  71. package/dist/scope/live-display-registry.d.ts +0 -2
  72. package/dist/scope/live-display-registry.d.ts.map +1 -1
  73. package/dist/scope/live-display-registry.js +0 -1
  74. package/dist/scope/live-display-registry.js.map +1 -1
  75. package/dist/server/index.d.ts +0 -2
  76. package/dist/server/index.d.ts.map +1 -1
  77. package/dist/server/index.js +2 -5
  78. package/dist/server/index.js.map +1 -1
  79. package/dist/test/auth-fixtures.d.ts +1 -1
  80. package/dist/test/auth-fixtures.d.ts.map +1 -1
  81. package/dist/test/auth-fixtures.js +2 -11
  82. package/dist/test/auth-fixtures.js.map +1 -1
  83. package/dist/trusted-session/auth.d.ts +1 -7
  84. package/dist/trusted-session/auth.d.ts.map +1 -1
  85. package/dist/trusted-session/auth.js +7 -54
  86. package/dist/trusted-session/auth.js.map +1 -1
  87. package/dist/trusted-session/policy-hook.d.ts.map +1 -1
  88. package/dist/trusted-session/policy-hook.js +1 -51
  89. package/dist/trusted-session/policy-hook.js.map +1 -1
  90. package/dist/trusted-session/route-policy-registry.d.ts.map +1 -1
  91. package/dist/trusted-session/route-policy-registry.js +5 -50
  92. package/dist/trusted-session/route-policy-registry.js.map +1 -1
  93. package/dist/trusted-session/store.d.ts +12 -45
  94. package/dist/trusted-session/store.d.ts.map +1 -1
  95. package/dist/trusted-session/store.js +66 -208
  96. package/dist/trusted-session/store.js.map +1 -1
  97. package/package.json +2 -2
  98. package/static-ui/assets/{index-DhP_UPyM.js → index-Bb9ckehB.js} +1 -1
  99. package/static-ui/index.html +1 -1
@@ -11,8 +11,6 @@ const shared_1 = require("@agent-deck/shared");
11
11
  const express_1 = __importDefault(require("express"));
12
12
  const node_crypto_1 = require("node:crypto");
13
13
  const version_1 = require("./lib/version");
14
- const http_auth_1 = require("./lib/http-auth");
15
- const bearer_1 = require("./execution-authority/bearer");
16
14
  const backend_api_error_1 = require("./lib/backend-api-error");
17
15
  const policy_1 = require("./mcp-tools/policy");
18
16
  const mcp_session_binding_1 = require("./mcp-session-binding");
@@ -24,6 +22,11 @@ function readWorkspaceRootHeader(req) {
24
22
  const value = typeof raw === 'string' ? raw.trim() : '';
25
23
  return value || undefined;
26
24
  }
25
+ function readLaunchDeckHeader(req) {
26
+ const raw = req.headers[shared_1.AGENT_DECK_DECK_ID_HEADER];
27
+ const value = typeof raw === 'string' ? raw.trim() : '';
28
+ return value || undefined;
29
+ }
27
30
  class AgentDeckMCPServer {
28
31
  port;
29
32
  host;
@@ -102,10 +105,6 @@ class AgentDeckMCPServer {
102
105
  };
103
106
  }
104
107
  async registerLiveDisplay(sessionId) {
105
- // Unattended execution authority must not mutate global live-display state.
106
- if (this.sessionBinding.getExecutionAuthority?.(sessionId)) {
107
- return;
108
- }
109
108
  const snapshot = this.sessionBinding.getBinding(sessionId);
110
109
  // A deck bind is what makes a session live; the workspace may be absent
111
110
  // (header/auto-bound sessions surface in the dashboard without a folder).
@@ -135,9 +134,6 @@ class AgentDeckMCPServer {
135
134
  static TOUCH_DEBOUNCE_MS = 5_000;
136
135
  /** Fire-and-forget lastActivityAt bump; only for sessions the registry knows. */
137
136
  touchLiveDisplay(sessionId) {
138
- if (this.sessionBinding.getExecutionAuthority?.(sessionId)) {
139
- return;
140
- }
141
137
  if (!this.badgeBySession.has(sessionId)) {
142
138
  return;
143
139
  }
@@ -165,9 +161,6 @@ class AgentDeckMCPServer {
165
161
  : AgentDeckMCPServer.UNREGISTER_TIMEOUT_MS;
166
162
  }
167
163
  async unregisterLiveDisplay(sessionId) {
168
- if (this.sessionBinding.getExecutionAuthority(sessionId)) {
169
- return;
170
- }
171
164
  const controller = new AbortController();
172
165
  const timer = setTimeout(() => controller.abort(), AgentDeckMCPServer.unregisterTimeoutMs());
173
166
  try {
@@ -237,6 +230,7 @@ class AgentDeckMCPServer {
237
230
  const summaries = (await this.callBackendAPI('/api/playbooks/summaries', {}, sessionId));
238
231
  const stubs = (0, stub_sync_1.syncPlaybookStubs)(workspaceRoot, summaries ?? []);
239
232
  const manifestPath = (0, stub_sync_1.healUseManifest)(workspaceRoot, deck);
233
+ (0, shared_1.ensureGitExcluded)(workspaceRoot);
240
234
  await this.callBackendAPI('/api/scope/deck-workspace', {
241
235
  method: 'POST',
242
236
  headers: { 'Content-Type': 'application/json' },
@@ -513,9 +507,6 @@ class AgentDeckMCPServer {
513
507
  }
514
508
  async refreshRuntimeSession(sessionId) {
515
509
  const binding = this.sessionBinding.getBinding(sessionId);
516
- if (binding.authorityId && binding.deckId) {
517
- return { mode: 'normal', deckId: binding.deckId };
518
- }
519
510
  if (!binding.runtimeSessionId) {
520
511
  throw new Error('GRANT_REQUIRED');
521
512
  }
@@ -530,18 +521,6 @@ class AgentDeckMCPServer {
530
521
  });
531
522
  return { mode, deckId };
532
523
  }
533
- parseGrantBearer(req) {
534
- const raw = (0, http_auth_1.parseBearerToken)({ headers: req.headers });
535
- if (!raw)
536
- return null;
537
- if ((0, bearer_1.parseAuthorityBearer)(raw))
538
- return null;
539
- return (0, http_auth_1.parseWorkspaceGrantBearer)(raw);
540
- }
541
- parseAuthorityBearerCreds(req) {
542
- const raw = (0, http_auth_1.parseBearerToken)({ headers: req.headers });
543
- return raw ? (0, bearer_1.parseAuthorityBearer)(raw) : null;
544
- }
545
524
  sendGrantRequired(res) {
546
525
  res.status(401).json({
547
526
  jsonrpc: '2.0',
@@ -549,136 +528,96 @@ class AgentDeckMCPServer {
549
528
  id: null,
550
529
  });
551
530
  }
552
- sendAuthorityError(res, code) {
553
- res.status(401).json({
554
- jsonrpc: '2.0',
555
- error: { code: -32001, message: code },
556
- id: null,
557
- });
558
- }
559
- async authenticateExecutionAuthority(sessionId, req) {
560
- const creds = this.parseAuthorityBearerCreds(req);
561
- if (!creds) {
562
- throw new Error('AUTHORITY_SECRET_INVALID');
563
- }
564
- const response = await fetch(`${this.backendUrl}/api/execution-authority/mcp/connect`, {
565
- method: 'POST',
566
- headers: {
567
- 'Content-Type': 'application/json',
568
- Accept: 'application/json',
569
- Authorization: `Bearer ${creds.authorityId}:${creds.secret}`,
570
- },
571
- body: JSON.stringify({
572
- authorityId: creds.authorityId,
573
- authoritySecret: creds.secret,
574
- audience: 'dealer-worker',
575
- }),
576
- });
577
- const body = (await response.json());
578
- if (!response.ok || !body.ok || !body.data) {
579
- throw new Error(body.error_code ?? 'AUTHORITY_SECRET_INVALID');
531
+ async authenticateLaunchDeck(sessionId, req) {
532
+ const deckId = readLaunchDeckHeader(req);
533
+ if (!deckId) {
534
+ throw new Error('GRANT_REQUIRED');
580
535
  }
581
536
  const existing = this.sessionBinding.getBinding(sessionId);
582
- const workspaceRoot = readWorkspaceRootHeader(req) ??
583
- existing.workspaceRoot ??
584
- (process.env.AGENT_DECK_WORKSPACE?.trim() || undefined);
585
- this.sessionBinding.setExecutionAuthority(sessionId, {
586
- authorityId: body.data.authorityId,
587
- authoritySecret: creds.secret,
588
- deckId: body.data.deckId,
589
- audience: body.data.audience,
590
- workspaceRoot,
591
- });
592
- }
593
- async authenticateTrustedSession(sessionId, req) {
594
- const grant = this.parseGrantBearer(req);
595
- if (!grant) {
596
- throw new Error('GRANT_REQUIRED');
537
+ // Follow-up after elevated assignment switch (NOT-108): the launcher may still
538
+ // send the old deck header until reconnect. Keep the runtime session and refresh.
539
+ if (this.sessionBinding.isLaunchSession(sessionId) && existing.runtimeSessionId) {
540
+ await this.refreshRuntimeSession(sessionId);
541
+ const workspaceRoot = readWorkspaceRootHeader(req) ??
542
+ existing.workspaceRoot ??
543
+ (process.env.AGENT_DECK_WORKSPACE?.trim() || undefined);
544
+ if (workspaceRoot) {
545
+ this.sessionBinding.setWorkspace(sessionId, workspaceRoot);
546
+ }
547
+ return;
597
548
  }
598
- const response = await fetch(`${this.backendUrl}/api/trusted-session/mcp/connect`, {
549
+ const response = await fetch(`${this.backendUrl}/api/trusted-session/mcp/connect-deck`, {
599
550
  method: 'POST',
600
551
  headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
601
552
  body: JSON.stringify({
602
- grantSecret: grant.secret,
553
+ deckId,
603
554
  mcpSessionId: sessionId,
604
- ...(grant.claimedGrantId ? { claimedGrantId: grant.claimedGrantId } : {}),
605
555
  }),
606
556
  });
607
557
  const body = (await response.json());
608
558
  if (!response.ok || !body.success || !body.data) {
609
- throw new Error(body.error ?? 'GRANT_REQUIRED');
559
+ throw new Error(body.error ?? 'LAUNCH_DECK_INVALID');
610
560
  }
611
- const existing = this.sessionBinding.getBinding(sessionId);
612
561
  const workspaceRoot = readWorkspaceRootHeader(req) ??
613
562
  existing.workspaceRoot ??
614
563
  (process.env.AGENT_DECK_WORKSPACE?.trim() || undefined);
615
- this.sessionBinding.setTrustedSession(sessionId, {
564
+ this.sessionBinding.setLaunchSession(sessionId, {
616
565
  runtimeSessionId: body.data.sessionId,
617
566
  deckId: body.data.deckId,
618
- // Prefer client header (mcp-launch); keep prior bind; server env is last resort.
619
567
  workspaceRoot,
620
568
  mode: body.data.mode,
621
569
  });
622
570
  }
623
- async disconnectTrustedSession(sessionId, req) {
624
- const grant = this.parseGrantBearer(req);
625
- if (!grant) {
626
- return;
627
- }
628
- try {
629
- await fetch(`${this.backendUrl}/api/trusted-session/mcp/disconnect`, {
630
- method: 'POST',
631
- headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
632
- body: JSON.stringify({ grantSecret: grant.secret, mcpSessionId: sessionId }),
633
- });
634
- }
635
- catch {
636
- // best-effort cleanup
571
+ async disconnectTrustedSession(sessionId, _req) {
572
+ if (this.sessionBinding.isLaunchSession(sessionId)) {
573
+ try {
574
+ await fetch(`${this.backendUrl}/api/trusted-session/mcp/disconnect-deck`, {
575
+ method: 'POST',
576
+ headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
577
+ body: JSON.stringify({ mcpSessionId: sessionId }),
578
+ });
579
+ }
580
+ catch {
581
+ // best-effort cleanup
582
+ }
637
583
  }
638
584
  }
639
585
  /**
640
- * Re-validate workspace grant or execution authority on every follow-up MCP HTTP request.
641
- * Fail closed with 401 — do not destroy the transport session so a correct
642
- * Bearer on the next attempt can succeed.
643
- * AGENT_DECK_MCP_SKIP_GRANT_AUTH=1 only relaxes *missing* Bearer (unit tests).
586
+ * Re-validate launch deck on every follow-up MCP HTTP request.
587
+ * Fail closed with 401 — do not destroy the transport session so a
588
+ * correct credential on the next attempt can succeed.
589
+ * AGENT_DECK_MCP_SKIP_GRANT_AUTH=1 only relaxes *missing* deck header (unit tests).
644
590
  */
645
591
  async requireFollowUpGrant(sessionId, req, res) {
646
592
  const skipGrantAuth = process.env.AGENT_DECK_MCP_SKIP_GRANT_AUTH === '1';
647
- const authority = this.parseAuthorityBearerCreds(req);
648
- if (authority) {
593
+ const launchDeck = readLaunchDeckHeader(req);
594
+ if (launchDeck) {
649
595
  try {
650
- await this.authenticateExecutionAuthority(sessionId, req);
596
+ await this.authenticateLaunchDeck(sessionId, req);
651
597
  return true;
652
598
  }
653
599
  catch (error) {
654
- console.warn('[agent-deck] Follow-up authority auth failed (transport kept):', error instanceof Error ? error.message : error);
655
- this.sendAuthorityError(res, error instanceof Error ? error.message : 'AUTHORITY_SECRET_INVALID');
600
+ console.warn('[agent-deck] Follow-up launch-deck auth failed (transport kept):', error instanceof Error ? error.message : error);
601
+ this.sendLaunchDeckInvalid(res, error instanceof Error ? error.message : 'LAUNCH_DECK_INVALID');
656
602
  return false;
657
603
  }
658
604
  }
659
- const grant = this.parseGrantBearer(req);
660
- if (!grant) {
661
- if (skipGrantAuth) {
662
- return true;
663
- }
605
+ if (this.sessionBinding.isLaunchSession(sessionId)) {
664
606
  this.sendGrantRequired(res);
665
607
  return false;
666
608
  }
667
- try {
668
- await this.authenticateTrustedSession(sessionId, req);
609
+ if (skipGrantAuth) {
669
610
  return true;
670
611
  }
671
- catch (error) {
672
- console.warn('[agent-deck] Follow-up grant auth failed (transport kept):', error instanceof Error ? error.message : error);
673
- this.sendGrantRequired(res);
674
- return false;
675
- }
612
+ this.sendGrantRequired(res);
613
+ return false;
676
614
  }
677
- /**
678
- * @deprecated Legacy pre-bind from deck header — replaced by grant authentication.
679
- */
680
- preBindSessionDeck(_sessionId, _req) {
681
- // no-op — grant auth handled in authenticateTrustedSession
615
+ sendLaunchDeckInvalid(res, message) {
616
+ res.status(401).json({
617
+ jsonrpc: '2.0',
618
+ error: { code: -32001, message: `LAUNCH_DECK_INVALID: ${message}` },
619
+ id: null,
620
+ });
682
621
  }
683
622
  async handleMcpPost(req, res) {
684
623
  const sessionIdHeader = this.getSessionIdHeader(req);
@@ -704,36 +643,21 @@ class AgentDeckMCPServer {
704
643
  });
705
644
  return;
706
645
  }
707
- const authorityCreds = this.parseAuthorityBearerCreds(req);
708
- const grant = this.parseGrantBearer(req);
646
+ const launchDeck = readLaunchDeckHeader(req);
709
647
  const skipGrantAuth = process.env.AGENT_DECK_MCP_SKIP_GRANT_AUTH === '1';
710
- if (!grant && !authorityCreds && !skipGrantAuth) {
648
+ if (!launchDeck && !skipGrantAuth) {
711
649
  this.sendGrantRequired(res);
712
650
  return;
713
651
  }
714
- // Authenticate before advertising mcp-session-id. Previously we initialized
715
- // first, then deleted the session on grant failure — clients kept a dead id
716
- // and saw "No valid session ID provided" on the next request.
717
- // SKIP_GRANT_AUTH only allows *missing* Bearer (unit tests); a present Bearer
718
- // is always validated.
652
+ // Authenticate before advertising mcp-session-id.
719
653
  const sessionId = (0, node_crypto_1.randomUUID)();
720
- if (authorityCreds) {
654
+ if (launchDeck) {
721
655
  try {
722
- await this.authenticateExecutionAuthority(sessionId, req);
656
+ await this.authenticateLaunchDeck(sessionId, req);
723
657
  }
724
658
  catch (error) {
725
- console.warn('[agent-deck] Authority auth failed before MCP init:', error instanceof Error ? error.message : error);
726
- this.sendAuthorityError(res, error instanceof Error ? error.message : 'AUTHORITY_SECRET_INVALID');
727
- return;
728
- }
729
- }
730
- else if (grant) {
731
- try {
732
- await this.authenticateTrustedSession(sessionId, req);
733
- }
734
- catch (error) {
735
- console.warn('[agent-deck] Grant auth failed before MCP init:', error instanceof Error ? error.message : error);
736
- this.sendGrantRequired(res);
659
+ console.warn('[agent-deck] Launch-deck auth failed before MCP init:', error instanceof Error ? error.message : error);
660
+ this.sendLaunchDeckInvalid(res, error instanceof Error ? error.message : 'LAUNCH_DECK_INVALID');
737
661
  return;
738
662
  }
739
663
  }
@@ -767,8 +691,8 @@ class AgentDeckMCPServer {
767
691
  catch (error) {
768
692
  console.warn('[agent-deck] MCP initialize failed after grant auth — revoking runtime session:', error instanceof Error ? error.message : error);
769
693
  this.sessions.delete(sessionId);
770
- this.sessionBinding.clearSession(sessionId);
771
694
  await this.disconnectTrustedSession(sessionId, req);
695
+ this.sessionBinding.clearSession(sessionId);
772
696
  if (!res.headersSent) {
773
697
  res.status(500).json({
774
698
  jsonrpc: '2.0',
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,10 @@
1
- export type DeckBindingSource = 'grant' | 'session_override' | 'env' | 'execution_authority';
1
+ export type DeckBindingSource = 'grant' | 'session_override' | 'env' | 'launch';
2
2
  export type SessionBindingSnapshot = {
3
3
  workspaceRoot?: string;
4
4
  deckId?: string;
5
5
  runtimeSessionId?: string;
6
6
  mode?: 'normal' | 'agent-admin';
7
7
  deckSource?: DeckBindingSource;
8
- /** Present when MCP session is authenticated with short-lived execution authority. */
9
- authorityId?: string;
10
- authoritySecret?: string;
11
- audience?: string;
12
8
  };
13
9
  /** Per-MCP-session workspace + trusted runtime session. */
14
10
  export declare class McpSessionBindingStore {
@@ -16,7 +12,8 @@ export declare class McpSessionBindingStore {
16
12
  private deckIdBySession;
17
13
  private runtimeSessionByMcp;
18
14
  private modeByMcp;
19
- private authorityByMcp;
15
+ /** MCP session ids authenticated via launch-selected deck (NOT-105). */
16
+ private launchByMcp;
20
17
  private readonly defaultWorkspace?;
21
18
  private readonly defaultDeckId?;
22
19
  constructor(env?: {
@@ -29,18 +26,13 @@ export declare class McpSessionBindingStore {
29
26
  workspaceRoot?: string;
30
27
  mode?: 'normal' | 'agent-admin';
31
28
  }): void;
32
- setExecutionAuthority(mcpSessionId: string, input: {
33
- authorityId: string;
34
- authoritySecret: string;
29
+ setLaunchSession(mcpSessionId: string, input: {
30
+ runtimeSessionId: string;
35
31
  deckId: string;
36
- audience: string;
37
32
  workspaceRoot?: string;
33
+ mode?: 'normal' | 'agent-admin';
38
34
  }): void;
39
- getExecutionAuthority(sessionId: string): {
40
- authorityId: string;
41
- authoritySecret: string;
42
- audience: string;
43
- } | undefined;
35
+ isLaunchSession(mcpSessionId: string): boolean;
44
36
  setWorkspace(sessionId: string, workspaceRoot: string): void;
45
37
  setDeckId(sessionId: string, deckId: string): void;
46
38
  clearDeckId(sessionId: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-session-binding.d.ts","sourceRoot":"","sources":["../src/mcp-session-binding.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,kBAAkB,GAAG,KAAK,GAAG,qBAAqB,CAAC;AAE7F,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,2DAA2D;AAC3D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;gBAE5B,GAAG,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAK7D,iBAAiB,CACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;KACjC,GACA,IAAI;IAUP,qBAAqB,CACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,IAAI;IAcP,qBAAqB,CACnB,SAAS,EAAE,MAAM,GAChB;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAIjF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAI5D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIpC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQrC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1D,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI;IAM1E,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS;IAIhE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB;IAyBrD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAwB3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAS3F"}
1
+ {"version":3,"file":"mcp-session-binding.d.ts","sourceRoot":"","sources":["../src/mcp-session-binding.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,kBAAkB,GAClB,KAAK,GACL,QAAQ,CAAC;AAEb,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF,2DAA2D;AAC3D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,SAAS,CAA+C;IAChE,wEAAwE;IACxE,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;gBAE5B,GAAG,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAK7D,iBAAiB,CACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;KACjC,GACA,IAAI;IAUP,gBAAgB,CACd,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;KACjC,GACA,IAAI;IAKP,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI9C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAI5D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIpC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQrC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1D,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI;IAM1E,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS;IAIhE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB;IAsBrD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAkB3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAS3F"}
@@ -13,7 +13,8 @@ class McpSessionBindingStore {
13
13
  deckIdBySession = new Map();
14
14
  runtimeSessionByMcp = new Map();
15
15
  modeByMcp = new Map();
16
- authorityByMcp = new Map();
16
+ /** MCP session ids authenticated via launch-selected deck (NOT-105). */
17
+ launchByMcp = new Set();
17
18
  defaultWorkspace;
18
19
  defaultDeckId;
19
20
  constructor(env = {}) {
@@ -21,7 +22,7 @@ class McpSessionBindingStore {
21
22
  this.defaultDeckId = env.deckId?.trim() || undefined;
22
23
  }
23
24
  setTrustedSession(mcpSessionId, input) {
24
- this.authorityByMcp.delete(mcpSessionId);
25
+ // Do NOT clear launchByMcp — bind_workspace re-calls setTrustedSession.
25
26
  this.runtimeSessionByMcp.set(mcpSessionId, input.runtimeSessionId);
26
27
  this.deckIdBySession.set(mcpSessionId, input.deckId);
27
28
  this.modeByMcp.set(mcpSessionId, input.mode ?? 'normal');
@@ -29,21 +30,12 @@ class McpSessionBindingStore {
29
30
  this.workspaceBySession.set(mcpSessionId, node_path_1.default.resolve(input.workspaceRoot.trim()));
30
31
  }
31
32
  }
32
- setExecutionAuthority(mcpSessionId, input) {
33
- this.runtimeSessionByMcp.delete(mcpSessionId);
34
- this.modeByMcp.set(mcpSessionId, 'normal');
35
- this.authorityByMcp.set(mcpSessionId, {
36
- authorityId: input.authorityId,
37
- authoritySecret: input.authoritySecret,
38
- audience: input.audience,
39
- });
40
- this.deckIdBySession.set(mcpSessionId, input.deckId);
41
- if (input.workspaceRoot) {
42
- this.workspaceBySession.set(mcpSessionId, node_path_1.default.resolve(input.workspaceRoot.trim()));
43
- }
33
+ setLaunchSession(mcpSessionId, input) {
34
+ this.setTrustedSession(mcpSessionId, input);
35
+ this.launchByMcp.add(mcpSessionId);
44
36
  }
45
- getExecutionAuthority(sessionId) {
46
- return this.authorityByMcp.get(sessionId);
37
+ isLaunchSession(mcpSessionId) {
38
+ return this.launchByMcp.has(mcpSessionId);
47
39
  }
48
40
  setWorkspace(sessionId, workspaceRoot) {
49
41
  this.workspaceBySession.set(sessionId, node_path_1.default.resolve(workspaceRoot.trim()));
@@ -59,7 +51,7 @@ class McpSessionBindingStore {
59
51
  this.deckIdBySession.delete(sessionId);
60
52
  this.runtimeSessionByMcp.delete(sessionId);
61
53
  this.modeByMcp.delete(sessionId);
62
- this.authorityByMcp.delete(sessionId);
54
+ this.launchByMcp.delete(sessionId);
63
55
  }
64
56
  getWorkspace(sessionId) {
65
57
  return this.workspaceBySession.get(sessionId) ?? this.defaultWorkspace;
@@ -85,17 +77,14 @@ class McpSessionBindingStore {
85
77
  const sessionDeck = this.deckIdBySession.get(sessionId);
86
78
  const deckId = sessionDeck ?? this.defaultDeckId;
87
79
  const runtimeSessionId = this.runtimeSessionByMcp.get(sessionId);
88
- const authority = this.authorityByMcp.get(sessionId);
80
+ const isLaunch = this.launchByMcp.has(sessionId);
89
81
  return {
90
82
  workspaceRoot: this.getWorkspace(sessionId),
91
83
  deckId,
92
84
  runtimeSessionId,
93
85
  mode: this.modeByMcp.get(sessionId),
94
- authorityId: authority?.authorityId,
95
- authoritySecret: authority?.authoritySecret,
96
- audience: authority?.audience,
97
- deckSource: authority
98
- ? 'execution_authority'
86
+ deckSource: isLaunch
87
+ ? 'launch'
99
88
  : runtimeSessionId
100
89
  ? 'grant'
101
90
  : sessionDeck
@@ -114,11 +103,6 @@ class McpSessionBindingStore {
114
103
  if (workspace) {
115
104
  headers[shared_1.AGENT_DECK_WORKSPACE_HEADER] = workspace;
116
105
  }
117
- const authority = this.authorityByMcp.get(sessionId);
118
- if (authority) {
119
- headers.Authorization = `Bearer ${authority.authorityId}:${authority.authoritySecret}`;
120
- return headers;
121
- }
122
106
  const runtimeSessionId = this.getRuntimeSessionId(sessionId);
123
107
  if (runtimeSessionId) {
124
108
  headers[shared_1.AGENT_DECK_SESSION_HEADER] = runtimeSessionId;
@@ -131,8 +115,8 @@ function resolveDeckBindingSource(binding) {
131
115
  if (binding.deckSource === 'grant') {
132
116
  return 'grant';
133
117
  }
134
- // Display schema does not yet include execution_authority — surface as session_override.
135
- if (binding.deckSource === 'execution_authority') {
118
+ // Display schema does not yet include launch — surface as session_override.
119
+ if (binding.deckSource === 'launch') {
136
120
  return 'session_override';
137
121
  }
138
122
  return binding.deckSource === 'env' ? 'env' : 'session_override';