@agent-deck/backend 1.6.4 → 1.7.1

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 (131) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/lib/agent-deck-context.d.ts +4 -2
  3. package/dist/lib/agent-deck-context.d.ts.map +1 -1
  4. package/dist/lib/agent-deck-context.js +35 -8
  5. package/dist/lib/agent-deck-context.js.map +1 -1
  6. package/dist/lib/backend-api-error.d.ts +8 -0
  7. package/dist/lib/backend-api-error.d.ts.map +1 -0
  8. package/dist/lib/backend-api-error.js +35 -0
  9. package/dist/lib/backend-api-error.js.map +1 -0
  10. package/dist/lib/bound-deck-scope.d.ts +6 -1
  11. package/dist/lib/bound-deck-scope.d.ts.map +1 -1
  12. package/dist/lib/bound-deck-scope.js +21 -2
  13. package/dist/lib/bound-deck-scope.js.map +1 -1
  14. package/dist/lib/client-scope.d.ts.map +1 -1
  15. package/dist/lib/client-scope.js +3 -3
  16. package/dist/lib/client-scope.js.map +1 -1
  17. package/dist/lib/dashboard-auth.d.ts +7 -0
  18. package/dist/lib/dashboard-auth.d.ts.map +1 -0
  19. package/dist/lib/dashboard-auth.js +38 -0
  20. package/dist/lib/dashboard-auth.js.map +1 -0
  21. package/dist/lib/http-auth.d.ts +5 -0
  22. package/dist/lib/http-auth.d.ts.map +1 -0
  23. package/dist/lib/http-auth.js +11 -0
  24. package/dist/lib/http-auth.js.map +1 -0
  25. package/dist/lib/route-policy.d.ts +13 -0
  26. package/dist/lib/route-policy.d.ts.map +1 -0
  27. package/dist/lib/route-policy.js +50 -0
  28. package/dist/lib/route-policy.js.map +1 -0
  29. package/dist/mcp-server.d.ts +4 -4
  30. package/dist/mcp-server.d.ts.map +1 -1
  31. package/dist/mcp-server.js +81 -29
  32. package/dist/mcp-server.js.map +1 -1
  33. package/dist/mcp-session-binding.d.ts +16 -3
  34. package/dist/mcp-session-binding.d.ts.map +1 -1
  35. package/dist/mcp-session-binding.js +40 -5
  36. package/dist/mcp-session-binding.js.map +1 -1
  37. package/dist/mcp-stdio.d.ts +2 -0
  38. package/dist/mcp-stdio.d.ts.map +1 -0
  39. package/dist/mcp-stdio.js.map +1 -0
  40. package/dist/mcp-tools/policy.d.ts +20 -0
  41. package/dist/mcp-tools/policy.d.ts.map +1 -0
  42. package/dist/mcp-tools/policy.js +61 -0
  43. package/dist/mcp-tools/policy.js.map +1 -0
  44. package/dist/mcp-tools/profile.d.ts +2 -2
  45. package/dist/mcp-tools/register.d.ts +13 -0
  46. package/dist/mcp-tools/register.d.ts.map +1 -1
  47. package/dist/mcp-tools/register.js +154 -89
  48. package/dist/mcp-tools/register.js.map +1 -1
  49. package/dist/mcp-tools/test-harness.d.ts +7 -2
  50. package/dist/mcp-tools/test-harness.d.ts.map +1 -1
  51. package/dist/mcp-tools/test-harness.js +37 -9
  52. package/dist/mcp-tools/test-harness.js.map +1 -1
  53. package/dist/models/database.d.ts +2 -0
  54. package/dist/models/database.d.ts.map +1 -1
  55. package/dist/models/database.js +3 -0
  56. package/dist/models/database.js.map +1 -1
  57. package/dist/playbooks/playbook-parser.d.ts +8 -0
  58. package/dist/playbooks/playbook-parser.d.ts.map +1 -0
  59. package/dist/playbooks/playbook-parser.js +76 -0
  60. package/dist/playbooks/playbook-parser.js.map +1 -0
  61. package/dist/playbooks/playbook-service.d.ts +9 -0
  62. package/dist/playbooks/playbook-service.d.ts.map +1 -0
  63. package/dist/playbooks/playbook-service.js +107 -0
  64. package/dist/playbooks/playbook-service.js.map +1 -0
  65. package/dist/routes/credentials.d.ts.map +1 -1
  66. package/dist/routes/credentials.js +25 -23
  67. package/dist/routes/credentials.js.map +1 -1
  68. package/dist/routes/decks.d.ts.map +1 -1
  69. package/dist/routes/decks.js +48 -30
  70. package/dist/routes/decks.js.map +1 -1
  71. package/dist/routes/playbooks.d.ts +0 -2
  72. package/dist/routes/playbooks.d.ts.map +1 -1
  73. package/dist/routes/playbooks.js +58 -117
  74. package/dist/routes/playbooks.js.map +1 -1
  75. package/dist/routes/scope.d.ts.map +1 -1
  76. package/dist/routes/scope.js +4 -1
  77. package/dist/routes/scope.js.map +1 -1
  78. package/dist/routes/services.d.ts.map +1 -1
  79. package/dist/routes/services.js +55 -13
  80. package/dist/routes/services.js.map +1 -1
  81. package/dist/routes/trusted-session.d.ts +10 -0
  82. package/dist/routes/trusted-session.d.ts.map +1 -0
  83. package/dist/routes/trusted-session.js +383 -0
  84. package/dist/routes/trusted-session.js.map +1 -0
  85. package/dist/scope/bindings-sidecar.d.ts +9 -0
  86. package/dist/scope/bindings-sidecar.d.ts.map +1 -0
  87. package/dist/scope/bindings-sidecar.js +57 -0
  88. package/dist/scope/bindings-sidecar.js.map +1 -0
  89. package/dist/scope/repo-deck.d.ts +10 -0
  90. package/dist/scope/repo-deck.d.ts.map +1 -0
  91. package/dist/scope/repo-deck.js +63 -0
  92. package/dist/scope/repo-deck.js.map +1 -0
  93. package/dist/server/index.d.ts +2 -0
  94. package/dist/server/index.d.ts.map +1 -1
  95. package/dist/server/index.js +23 -1
  96. package/dist/server/index.js.map +1 -1
  97. package/dist/test/auth-fixtures.d.ts +4 -0
  98. package/dist/test/auth-fixtures.d.ts.map +1 -0
  99. package/dist/test/auth-fixtures.js +28 -0
  100. package/dist/test/auth-fixtures.js.map +1 -0
  101. package/dist/test-local-mcp-e2e.d.ts +3 -0
  102. package/dist/test-local-mcp-e2e.d.ts.map +1 -0
  103. package/dist/test-local-mcp-e2e.js +104 -0
  104. package/dist/test-local-mcp-e2e.js.map +1 -0
  105. package/dist/trusted-session/admin-secret.d.ts +6 -0
  106. package/dist/trusted-session/admin-secret.d.ts.map +1 -0
  107. package/dist/trusted-session/admin-secret.js +63 -0
  108. package/dist/trusted-session/admin-secret.js.map +1 -0
  109. package/dist/trusted-session/auth.d.ts +29 -0
  110. package/dist/trusted-session/auth.d.ts.map +1 -0
  111. package/dist/trusted-session/auth.js +176 -0
  112. package/dist/trusted-session/auth.js.map +1 -0
  113. package/dist/trusted-session/policy-hook.d.ts +12 -0
  114. package/dist/trusted-session/policy-hook.d.ts.map +1 -0
  115. package/dist/trusted-session/policy-hook.js +71 -0
  116. package/dist/trusted-session/policy-hook.js.map +1 -0
  117. package/dist/trusted-session/route-policy-registry.d.ts +20 -0
  118. package/dist/trusted-session/route-policy-registry.d.ts.map +1 -0
  119. package/dist/trusted-session/route-policy-registry.js +165 -0
  120. package/dist/trusted-session/route-policy-registry.js.map +1 -0
  121. package/dist/trusted-session/store.d.ts +93 -0
  122. package/dist/trusted-session/store.d.ts.map +1 -0
  123. package/dist/trusted-session/store.js +451 -0
  124. package/dist/trusted-session/store.js.map +1 -0
  125. package/package.json +3 -3
  126. package/static-ui/assets/index-DppGBI7V.css +1 -0
  127. package/static-ui/assets/index-DwI7IkPX.js +499 -0
  128. package/static-ui/favicon.png +0 -0
  129. package/static-ui/index.html +2 -2
  130. package/static-ui/assets/index-BG4SetCL.css +0 -1
  131. package/static-ui/assets/index-BV17LsZJ.js +0 -485
@@ -11,6 +11,9 @@ 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 backend_api_error_1 = require("./lib/backend-api-error");
16
+ const policy_1 = require("./mcp-tools/policy");
14
17
  const mcp_session_binding_1 = require("./mcp-session-binding");
15
18
  const register_1 = require("./mcp-tools/register");
16
19
  const profile_1 = require("./mcp-tools/profile");
@@ -85,15 +88,19 @@ class AgentDeckMCPServer {
85
88
  }
86
89
  async buildBindingPayload(sessionId) {
87
90
  const snapshot = this.sessionBinding.getBinding(sessionId);
88
- const deck = await this.callBackendAPI('/api/scope/deck');
91
+ const deck = snapshot.deckId
92
+ ? await this.fetchDeck(snapshot.deckId)
93
+ : await this.callBackendAPI('/api/scope/deck');
89
94
  const badge = this.badgeBySession.get(sessionId);
90
95
  const cardCounts = deck ? (0, shared_1.countDeckCards)(deck) : { mcp: 0, credentials: 0, playbooks: 0 };
91
96
  return {
92
97
  workspaceRoot: snapshot.workspaceRoot,
93
- deck_id: deck?.id,
98
+ deck_id: (deck?.id ?? snapshot.deckId),
94
99
  deck_name: deck?.name,
95
100
  deck_source: (0, mcp_session_binding_1.resolveDeckBindingSource)(snapshot),
96
101
  session_deck_override: this.sessionBinding.hasSessionDeckOverride(sessionId),
102
+ mode: snapshot.mode ?? 'normal',
103
+ runtime_session_id: snapshot.runtimeSessionId,
97
104
  badge,
98
105
  display_summary: (0, shared_1.formatDisplayLine)(deck?.name ?? null, cardCounts, { badge }),
99
106
  };
@@ -167,17 +174,7 @@ class AgentDeckMCPServer {
167
174
  });
168
175
  if (!response.ok) {
169
176
  const text = await response.text();
170
- let message = `Backend API error: ${response.status} ${response.statusText}`;
171
- try {
172
- const body = JSON.parse(text);
173
- if (body.error)
174
- message = String(body.error);
175
- }
176
- catch {
177
- if (text.trim())
178
- message = text;
179
- }
180
- throw new Error(message);
177
+ throw (0, backend_api_error_1.parseBackendErrorBody)(text, response.status);
181
178
  }
182
179
  const body = await response.json();
183
180
  // Unwrap ApiResponse shape { success, data?, error? }
@@ -186,8 +183,9 @@ class AgentDeckMCPServer {
186
183
  // Some endpoints return the raw data (legacy); fallback to body if data missing
187
184
  return 'data' in body ? body.data : body;
188
185
  }
189
- const message = 'error' in body ? body.error : 'Unknown backend error';
190
- throw new Error(String(message));
186
+ const message = 'error' in body ? String(body.error) : 'Unknown backend error';
187
+ const errorCode = 'error_code' in body && body.error_code ? body.error_code : undefined;
188
+ throw new backend_api_error_1.BackendApiError(message, response.ok ? 400 : response.status, errorCode);
191
189
  }
192
190
  // Fallback: return as-is if not wrapped
193
191
  return body;
@@ -208,7 +206,7 @@ class AgentDeckMCPServer {
208
206
  return { content: [{ type: "text", text: JSON.stringify(data) }] };
209
207
  }
210
208
  toolError(error) {
211
- return { content: [{ type: "text", text: JSON.stringify({ error: String(error) }) }] };
209
+ return (0, policy_1.formatMcpToolError)(error);
212
210
  }
213
211
  /** Avoid TS2589 when registering many MCP tools (SDK overload recursion). */
214
212
  registerTool(name, config, handler) {
@@ -237,6 +235,8 @@ class AgentDeckMCPServer {
237
235
  registerTool: (name, config, handler) => this.registerTool(name, config, handler),
238
236
  profile: this.toolProfile,
239
237
  getSessionId: () => this.getSessionId(),
238
+ getMode: () => this.sessionBinding.getMode(this.getSessionId()) ?? 'normal',
239
+ refreshRuntimeSession: () => this.refreshRuntimeSession(),
240
240
  getAgentHeaders: () => this.getAgentHeaders(),
241
241
  getBoundDeckId: () => this.getBoundDeckId(),
242
242
  callBackendAPI: (endpoint, init) => this.callBackendAPI(endpoint, init),
@@ -493,18 +493,52 @@ class AgentDeckMCPServer {
493
493
  const value = req.headers['mcp-session-id'];
494
494
  return typeof value === 'string' ? value : undefined;
495
495
  }
496
+ async refreshRuntimeSession(sessionId) {
497
+ const mcpSessionId = sessionId ?? this.getSessionId();
498
+ const binding = this.sessionBinding.getBinding(mcpSessionId);
499
+ if (!binding.runtimeSessionId) {
500
+ throw new Error('GRANT_REQUIRED');
501
+ }
502
+ const data = await this.callBackendAPI('/api/trusted-session/runtime-session', {}, mcpSessionId);
503
+ const mode = (data?.mode ?? 'normal');
504
+ const deckId = String(data?.deckId ?? binding.deckId ?? '');
505
+ this.sessionBinding.setTrustedSession(mcpSessionId, {
506
+ runtimeSessionId: binding.runtimeSessionId,
507
+ deckId,
508
+ workspaceRoot: binding.workspaceRoot,
509
+ mode,
510
+ });
511
+ return { mode, deckId };
512
+ }
513
+ parseGrantBearer(req) {
514
+ return (0, http_auth_1.parseBearerToken)({ headers: req.headers });
515
+ }
516
+ async authenticateTrustedSession(sessionId, req) {
517
+ const grantSecret = this.parseGrantBearer(req);
518
+ if (!grantSecret) {
519
+ throw new Error('GRANT_REQUIRED');
520
+ }
521
+ const response = await fetch(`${this.backendUrl}/api/trusted-session/mcp/connect`, {
522
+ method: 'POST',
523
+ headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
524
+ body: JSON.stringify({ grantSecret, mcpSessionId: sessionId }),
525
+ });
526
+ const body = (await response.json());
527
+ if (!response.ok || !body.success || !body.data) {
528
+ throw new Error(body.error ?? 'GRANT_REQUIRED');
529
+ }
530
+ this.sessionBinding.setTrustedSession(sessionId, {
531
+ runtimeSessionId: body.data.sessionId,
532
+ deckId: body.data.deckId,
533
+ workspaceRoot: process.env.AGENT_DECK_WORKSPACE,
534
+ mode: body.data.mode,
535
+ });
536
+ }
496
537
  /**
497
- * Pre-bind a newly-initialized session to the deck the client advertised via the
498
- * `x-agent-deck-deck-id` header (written into the workspace's MCP config by
499
- * `agent-deck use`). Removes the "agent forgot to call bind_workspace" gap; an
500
- * explicit bind_workspace / switch_bound_deck later still overrides it.
538
+ * @deprecated Legacy pre-bind from deck header replaced by grant authentication.
501
539
  */
502
- preBindSessionDeck(sessionId, req) {
503
- const value = req.headers[shared_1.AGENT_DECK_DECK_ID_HEADER];
504
- const deckId = typeof value === 'string' ? value.trim() : undefined;
505
- if (deckId) {
506
- this.sessionBinding.setDeckId(sessionId, deckId);
507
- }
540
+ preBindSessionDeck(_sessionId, _req) {
541
+ // no-op grant auth handled in authenticateTrustedSession
508
542
  }
509
543
  async handleMcpPost(req, res) {
510
544
  const sessionIdHeader = this.getSessionIdHeader(req);
@@ -528,6 +562,16 @@ class AgentDeckMCPServer {
528
562
  });
529
563
  return;
530
564
  }
565
+ const grantSecret = this.parseGrantBearer(req);
566
+ const skipGrantAuth = process.env.AGENT_DECK_MCP_SKIP_GRANT_AUTH === '1';
567
+ if (!grantSecret && !skipGrantAuth) {
568
+ res.status(401).json({
569
+ jsonrpc: '2.0',
570
+ error: { code: -32001, message: 'GRANT_REQUIRED' },
571
+ id: null,
572
+ });
573
+ return;
574
+ }
531
575
  const server = this.createMcpServer();
532
576
  let sessionEntry;
533
577
  const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
@@ -558,11 +602,19 @@ class AgentDeckMCPServer {
558
602
  // Done here (after handleRequest) rather than only in onsessioninitialized so
559
603
  // it also covers the fallback path where that callback does not fire; setDeckId
560
604
  // is idempotent. Then surface header/auto-bound sessions in the dashboard list.
561
- if (transport.sessionId) {
562
- this.preBindSessionDeck(transport.sessionId, req);
563
- if (this.sessionBinding.hasSessionDeckOverride(transport.sessionId)) {
605
+ if (transport.sessionId && grantSecret) {
606
+ try {
607
+ await this.authenticateTrustedSession(transport.sessionId, req);
564
608
  void this.registerLiveDisplay(transport.sessionId).catch(() => { });
565
609
  }
610
+ catch (error) {
611
+ this.sessions.delete(transport.sessionId);
612
+ this.sessionBinding.clearSession(transport.sessionId);
613
+ console.warn('[agent-deck] Grant auth failed after MCP init:', error instanceof Error ? error.message : error);
614
+ }
615
+ }
616
+ else if (transport.sessionId && skipGrantAuth) {
617
+ void this.registerLiveDisplay(transport.sessionId).catch(() => { });
566
618
  }
567
619
  }
568
620
  async handleMcpSessionRequest(req, res) {
@@ -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,25 +1,38 @@
1
- export type DeckBindingSource = 'session_override' | 'env';
1
+ export type DeckBindingSource = 'grant' | 'session_override' | 'env';
2
2
  export type SessionBindingSnapshot = {
3
3
  workspaceRoot?: string;
4
4
  deckId?: string;
5
- deckSource?: 'session_override' | 'env';
5
+ runtimeSessionId?: string;
6
+ mode?: 'normal' | 'agent-admin';
7
+ deckSource?: DeckBindingSource;
6
8
  };
7
- /** Per-MCP-session workspace + deck (set by bind_workspace / switch_bound_deck). */
9
+ /** Per-MCP-session workspace + trusted runtime session. */
8
10
  export declare class McpSessionBindingStore {
9
11
  private workspaceBySession;
10
12
  private deckIdBySession;
13
+ private runtimeSessionByMcp;
14
+ private modeByMcp;
11
15
  private readonly defaultWorkspace?;
12
16
  private readonly defaultDeckId?;
13
17
  constructor(env?: {
14
18
  workspace?: string;
15
19
  deckId?: string;
16
20
  });
21
+ setTrustedSession(mcpSessionId: string, input: {
22
+ runtimeSessionId: string;
23
+ deckId: string;
24
+ workspaceRoot?: string;
25
+ mode?: 'normal' | 'agent-admin';
26
+ }): void;
17
27
  setWorkspace(sessionId: string, workspaceRoot: string): void;
18
28
  setDeckId(sessionId: string, deckId: string): void;
19
29
  clearDeckId(sessionId: string): void;
20
30
  clearSession(sessionId: string): void;
21
31
  getWorkspace(sessionId: string): string | undefined;
22
32
  getDeckOverride(sessionId: string): string | undefined;
33
+ getRuntimeSessionId(sessionId: string): string | undefined;
34
+ setSessionMode(mcpSessionId: string, mode: 'normal' | 'agent-admin'): void;
35
+ getMode(sessionId: string): 'normal' | 'agent-admin' | undefined;
23
36
  hasSessionDeckOverride(sessionId: string): boolean;
24
37
  getBinding(sessionId: string): SessionBindingSnapshot;
25
38
  getAgentHeaders(sessionId: string): Record<string, string>;
@@ -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,kBAAkB,GAAG,KAAK,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,kBAAkB,GAAG,KAAK,CAAC;CACzC,CAAC;AAEF,oFAAoF;AACpF,qBAAa,sBAAsB;IACjC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,eAAe,CAA6B;IACpD,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,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;IAKrC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIlD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB;IAUrD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAkB3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAE3F"}
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,CAAC;AAErE,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,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;IASP,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;IAOrC,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;IAmBrD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAkB3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAK3F"}
@@ -7,16 +7,26 @@ exports.McpSessionBindingStore = void 0;
7
7
  exports.resolveDeckBindingSource = resolveDeckBindingSource;
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
9
  const shared_1 = require("@agent-deck/shared");
10
- /** Per-MCP-session workspace + deck (set by bind_workspace / switch_bound_deck). */
10
+ /** Per-MCP-session workspace + trusted runtime session. */
11
11
  class McpSessionBindingStore {
12
12
  workspaceBySession = new Map();
13
13
  deckIdBySession = new Map();
14
+ runtimeSessionByMcp = new Map();
15
+ modeByMcp = new Map();
14
16
  defaultWorkspace;
15
17
  defaultDeckId;
16
18
  constructor(env = {}) {
17
19
  this.defaultWorkspace = env.workspace?.trim() || undefined;
18
20
  this.defaultDeckId = env.deckId?.trim() || undefined;
19
21
  }
22
+ setTrustedSession(mcpSessionId, input) {
23
+ this.runtimeSessionByMcp.set(mcpSessionId, input.runtimeSessionId);
24
+ this.deckIdBySession.set(mcpSessionId, input.deckId);
25
+ this.modeByMcp.set(mcpSessionId, input.mode ?? 'normal');
26
+ if (input.workspaceRoot) {
27
+ this.workspaceBySession.set(mcpSessionId, node_path_1.default.resolve(input.workspaceRoot.trim()));
28
+ }
29
+ }
20
30
  setWorkspace(sessionId, workspaceRoot) {
21
31
  this.workspaceBySession.set(sessionId, node_path_1.default.resolve(workspaceRoot.trim()));
22
32
  }
@@ -29,6 +39,8 @@ class McpSessionBindingStore {
29
39
  clearSession(sessionId) {
30
40
  this.workspaceBySession.delete(sessionId);
31
41
  this.deckIdBySession.delete(sessionId);
42
+ this.runtimeSessionByMcp.delete(sessionId);
43
+ this.modeByMcp.delete(sessionId);
32
44
  }
33
45
  getWorkspace(sessionId) {
34
46
  return this.workspaceBySession.get(sessionId) ?? this.defaultWorkspace;
@@ -36,16 +48,36 @@ class McpSessionBindingStore {
36
48
  getDeckOverride(sessionId) {
37
49
  return this.deckIdBySession.get(sessionId) ?? this.defaultDeckId;
38
50
  }
51
+ getRuntimeSessionId(sessionId) {
52
+ return this.runtimeSessionByMcp.get(sessionId);
53
+ }
54
+ setSessionMode(mcpSessionId, mode) {
55
+ if (this.modeByMcp.has(mcpSessionId)) {
56
+ this.modeByMcp.set(mcpSessionId, mode);
57
+ }
58
+ }
59
+ getMode(sessionId) {
60
+ return this.modeByMcp.get(sessionId);
61
+ }
39
62
  hasSessionDeckOverride(sessionId) {
40
63
  return this.deckIdBySession.has(sessionId);
41
64
  }
42
65
  getBinding(sessionId) {
43
66
  const sessionDeck = this.deckIdBySession.get(sessionId);
44
67
  const deckId = sessionDeck ?? this.defaultDeckId;
68
+ const runtimeSessionId = this.runtimeSessionByMcp.get(sessionId);
45
69
  return {
46
70
  workspaceRoot: this.getWorkspace(sessionId),
47
71
  deckId,
48
- deckSource: sessionDeck ? 'session_override' : this.defaultDeckId ? 'env' : undefined,
72
+ runtimeSessionId,
73
+ mode: this.modeByMcp.get(sessionId),
74
+ deckSource: runtimeSessionId
75
+ ? 'grant'
76
+ : sessionDeck
77
+ ? 'session_override'
78
+ : this.defaultDeckId
79
+ ? 'env'
80
+ : undefined,
49
81
  };
50
82
  }
51
83
  getAgentHeaders(sessionId) {
@@ -57,15 +89,18 @@ class McpSessionBindingStore {
57
89
  if (workspace) {
58
90
  headers[shared_1.AGENT_DECK_WORKSPACE_HEADER] = workspace;
59
91
  }
60
- const deckId = this.getDeckOverride(sessionId);
61
- if (deckId) {
62
- headers[shared_1.AGENT_DECK_DECK_ID_HEADER] = deckId;
92
+ const runtimeSessionId = this.getRuntimeSessionId(sessionId);
93
+ if (runtimeSessionId) {
94
+ headers[shared_1.AGENT_DECK_SESSION_HEADER] = runtimeSessionId;
63
95
  }
64
96
  return headers;
65
97
  }
66
98
  }
67
99
  exports.McpSessionBindingStore = McpSessionBindingStore;
68
100
  function resolveDeckBindingSource(binding) {
101
+ if (binding.deckSource === 'grant') {
102
+ return 'grant';
103
+ }
69
104
  return binding.deckSource === 'env' ? 'env' : 'session_override';
70
105
  }
71
106
  //# sourceMappingURL=mcp-session-binding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-session-binding.js","sourceRoot":"","sources":["../src/mcp-session-binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-session-binding.js","sourceRoot":"","sources":["../src/mcp-session-binding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mcp-stdio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-stdio.d.ts","sourceRoot":"","sources":["../src/mcp-stdio.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-stdio.js","sourceRoot":"","sources":["../src/mcp-stdio.ts"],"names":[],"mappings":";;AAAA,wEAAiF;AACjF,mDAAqD;AAErD;;;GAGG;AACH,KAAK,UAAU,mBAAmB;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,uBAAuB,CAAC;IACjF,MAAM,IAAI,GAAG,IAAI,kCAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACpC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type TrustedSessionErrorCode } from '@agent-deck/shared';
2
+ import type { McpToolHost } from './register';
3
+ export declare function formatMcpToolError(error: unknown): {
4
+ content: {
5
+ type: "text";
6
+ text: string;
7
+ }[];
8
+ isError: boolean;
9
+ };
10
+ export declare function mcpPolicyError(code: TrustedSessionErrorCode): {
11
+ content: {
12
+ type: "text";
13
+ text: string;
14
+ }[];
15
+ isError: boolean;
16
+ };
17
+ /** Reads live runtime session mode from backend (source of truth after dashboard approval). */
18
+ export declare function requireMcpAdmin(host: McpToolHost): Promise<ReturnType<typeof mcpPolicyError> | null>;
19
+ export declare function requireMcpDashboard(): ReturnType<typeof mcpPolicyError> | null;
20
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO;;;;;;EAQhD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,uBAAuB;;;;;;EAM3D;AAiBD,+FAA+F;AAC/F,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC,CAa1G;AAED,wBAAgB,mBAAmB,IAAI,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAK9E"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatMcpToolError = formatMcpToolError;
4
+ exports.mcpPolicyError = mcpPolicyError;
5
+ exports.requireMcpAdmin = requireMcpAdmin;
6
+ exports.requireMcpDashboard = requireMcpDashboard;
7
+ const shared_1 = require("@agent-deck/shared");
8
+ const backend_api_error_1 = require("../lib/backend-api-error");
9
+ function formatMcpToolError(error) {
10
+ if (error instanceof backend_api_error_1.BackendApiError && error.errorCode) {
11
+ return mcpPolicyError(error.errorCode);
12
+ }
13
+ return {
14
+ content: [{ type: 'text', text: JSON.stringify({ error: String(error) }) }],
15
+ isError: true,
16
+ };
17
+ }
18
+ function mcpPolicyError(code) {
19
+ const body = (0, shared_1.trustedSessionError)(code, bodyMessage(code));
20
+ return {
21
+ content: [{ type: 'text', text: JSON.stringify(body) }],
22
+ isError: true,
23
+ };
24
+ }
25
+ function bodyMessage(code) {
26
+ switch (code) {
27
+ case 'ADMIN_REQUIRED':
28
+ return 'Deck-admin elevation is required';
29
+ case 'DASHBOARD_REQUIRED':
30
+ return 'Operation is never available to an agent';
31
+ case 'GRANT_REQUIRED':
32
+ return 'No valid workspace grant';
33
+ case 'RESOURCE_OUT_OF_SCOPE':
34
+ return 'Resource is outside the bound deck';
35
+ default:
36
+ return code;
37
+ }
38
+ }
39
+ /** Reads live runtime session mode from backend (source of truth after dashboard approval). */
40
+ async function requireMcpAdmin(host) {
41
+ if (process.env.AGENT_DECK_MCP_SKIP_ADMIN_CHECK === '1') {
42
+ return null;
43
+ }
44
+ try {
45
+ const { mode } = await host.refreshRuntimeSession();
46
+ if (mode !== 'agent-admin') {
47
+ return mcpPolicyError('ADMIN_REQUIRED');
48
+ }
49
+ return null;
50
+ }
51
+ catch {
52
+ return mcpPolicyError('GRANT_REQUIRED');
53
+ }
54
+ }
55
+ function requireMcpDashboard() {
56
+ if (process.env.AGENT_DECK_MCP_SKIP_ADMIN_CHECK === '1') {
57
+ return null;
58
+ }
59
+ return mcpPolicyError('DASHBOARD_REQUIRED');
60
+ }
61
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/mcp-tools/policy.ts"],"names":[],"mappings":";;AAKA,gDAQC;AAED,wCAMC;AAkBD,0CAaC;AAED,kDAKC;AA3DD,+CAAuF;AAEvF,gEAA2D;AAG3D,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,YAAY,mCAAe,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACxD,OAAO,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,IAA6B;IAC1D,MAAM,IAAI,GAAG,IAAA,4BAAmB,EAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB;YACnB,OAAO,kCAAkC,CAAC;QAC5C,KAAK,oBAAoB;YACvB,OAAO,0CAA0C,CAAC;QACpD,KAAK,gBAAgB;YACnB,OAAO,0BAA0B,CAAC;QACpC,KAAK,uBAAuB;YAC1B,OAAO,oCAAoC,CAAC;QAC9C;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,+FAA+F;AACxF,KAAK,UAAU,eAAe,CAAC,IAAiB;IACrD,IAAI,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACpD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,OAAO,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAC9C,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * MCP tool exposure tiers — keep the agent runtime path small.
3
3
  *
4
4
  * AGENT_DECK_MCP_TOOL_PROFILE:
5
- * runtime — bind, read bound deck, playbooks, proxy (~9 tools)
6
- * standard — runtime + deck editing + create_deck (default, ~16 tools)
5
+ * runtime — bind, read bound deck, playbooks, proxy (~12 tools)
6
+ * standard — runtime + deck editing + admin elevation (~20 tools)
7
7
  * legacy — standard + deprecated aliases (compat during host cache refresh)
8
8
  *
9
9
  * Rare ops (delete card, import/export) are CLI / dashboard — not MCP profiles.
@@ -10,6 +10,11 @@ export type McpToolHost = {
10
10
  registerTool: RegisterToolFn;
11
11
  profile: McpToolProfile;
12
12
  getSessionId(): string;
13
+ getMode(): 'normal' | 'agent-admin';
14
+ refreshRuntimeSession(): Promise<{
15
+ mode: 'normal' | 'agent-admin';
16
+ deckId: string;
17
+ }>;
13
18
  getAgentHeaders(): Record<string, string>;
14
19
  getBoundDeckId(): Promise<string>;
15
20
  callBackendAPI(endpoint: string, init?: RequestInit): Promise<any>;
@@ -28,9 +33,17 @@ export type McpToolHost = {
28
33
  workspaceRoot?: string;
29
34
  deckId?: string;
30
35
  deckSource?: string;
36
+ runtimeSessionId?: string;
37
+ mode?: 'normal' | 'agent-admin';
31
38
  };
32
39
  setWorkspace(sessionId: string, workspaceRoot: string): void;
33
40
  setDeckId(sessionId: string, deckId: string): void;
41
+ setTrustedSession(sessionId: string, input: {
42
+ runtimeSessionId: string;
43
+ deckId: string;
44
+ workspaceRoot?: string;
45
+ mode?: 'normal' | 'agent-admin';
46
+ }): void;
34
47
  hasSessionDeckOverride(sessionId: string): boolean;
35
48
  };
36
49
  badgeBySession: Map<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5D,KAAK,cAAc,GAAG,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;CAAE,EACzF,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,KACtC,IAAI,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,IAAI,MAAM,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,mBAAmB,CACjB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACjC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACtC,cAAc,EAAE;QACd,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG;YAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACnD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;KACpD,CAAC;IACF,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC9E,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAC/E,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAQxD;AAmvBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE,CA6BzE"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/register.ts"],"names":[],"mappings":"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"}