@agent-deck/backend 1.8.2 → 1.10.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 (105) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cli-runtime.d.ts.map +1 -1
  3. package/dist/cli-runtime.js +5 -5
  4. package/dist/cli-runtime.js.map +1 -1
  5. package/dist/config/mcp-endpoint.d.ts +6 -0
  6. package/dist/config/mcp-endpoint.d.ts.map +1 -0
  7. package/dist/config/mcp-endpoint.js +19 -0
  8. package/dist/config/mcp-endpoint.js.map +1 -0
  9. package/dist/export-import/import-bundle.d.ts +12 -1
  10. package/dist/export-import/import-bundle.d.ts.map +1 -1
  11. package/dist/export-import/import-bundle.js +11 -3
  12. package/dist/export-import/import-bundle.js.map +1 -1
  13. package/dist/mcp-server.d.ts +50 -0
  14. package/dist/mcp-server.d.ts.map +1 -1
  15. package/dist/mcp-server.js +205 -22
  16. package/dist/mcp-server.js.map +1 -1
  17. package/dist/mcp-tools/test-harness.d.ts +17 -0
  18. package/dist/mcp-tools/test-harness.d.ts.map +1 -1
  19. package/dist/mcp-tools/test-harness.js +49 -2
  20. package/dist/mcp-tools/test-harness.js.map +1 -1
  21. package/dist/models/database.d.ts +2 -0
  22. package/dist/models/database.d.ts.map +1 -1
  23. package/dist/models/database.js +16 -0
  24. package/dist/models/database.js.map +1 -1
  25. package/dist/playbooks/playbook-manager.d.ts.map +1 -1
  26. package/dist/playbooks/playbook-manager.js +9 -4
  27. package/dist/playbooks/playbook-manager.js.map +1 -1
  28. package/dist/routes/decks.d.ts.map +1 -1
  29. package/dist/routes/decks.js +8 -51
  30. package/dist/routes/decks.js.map +1 -1
  31. package/dist/routes/export-import.d.ts.map +1 -1
  32. package/dist/routes/export-import.js +3 -5
  33. package/dist/routes/export-import.js.map +1 -1
  34. package/dist/services/service-manager.d.ts +5 -1
  35. package/dist/services/service-manager.d.ts.map +1 -1
  36. package/dist/services/service-manager.js +27 -3
  37. package/dist/services/service-manager.js.map +1 -1
  38. package/dist/store/deck-file.d.ts +55 -0
  39. package/dist/store/deck-file.d.ts.map +1 -0
  40. package/dist/store/deck-file.js +163 -0
  41. package/dist/store/deck-file.js.map +1 -0
  42. package/dist/store/index.d.ts +1 -0
  43. package/dist/store/index.d.ts.map +1 -1
  44. package/dist/store/index.js +1 -0
  45. package/dist/store/index.js.map +1 -1
  46. package/dist/store/migrate.d.ts.map +1 -1
  47. package/dist/store/migrate.js +2 -12
  48. package/dist/store/migrate.js.map +1 -1
  49. package/dist/vault/credential-manager.d.ts +6 -2
  50. package/dist/vault/credential-manager.d.ts.map +1 -1
  51. package/dist/vault/credential-manager.js +21 -14
  52. package/dist/vault/credential-manager.js.map +1 -1
  53. package/package.json +2 -2
  54. package/dist/execution-authority/bearer.d.ts +0 -15
  55. package/dist/execution-authority/bearer.d.ts.map +0 -1
  56. package/dist/execution-authority/bearer.js +0 -35
  57. package/dist/execution-authority/bearer.js.map +0 -1
  58. package/dist/execution-authority/index.d.ts +0 -6
  59. package/dist/execution-authority/index.d.ts.map +0 -1
  60. package/dist/execution-authority/index.js +0 -8
  61. package/dist/execution-authority/index.js.map +0 -1
  62. package/dist/execution-authority/ledger.d.ts +0 -85
  63. package/dist/execution-authority/ledger.d.ts.map +0 -1
  64. package/dist/execution-authority/ledger.js +0 -507
  65. package/dist/execution-authority/ledger.js.map +0 -1
  66. package/dist/execution-authority/store.d.ts +0 -55
  67. package/dist/execution-authority/store.d.ts.map +0 -1
  68. package/dist/execution-authority/store.js +0 -256
  69. package/dist/execution-authority/store.js.map +0 -1
  70. package/dist/execution-authority/types.d.ts +0 -119
  71. package/dist/execution-authority/types.d.ts.map +0 -1
  72. package/dist/execution-authority/types.js +0 -9
  73. package/dist/execution-authority/types.js.map +0 -1
  74. package/dist/lib/execution-authority-http.d.ts +0 -23
  75. package/dist/lib/execution-authority-http.d.ts.map +0 -1
  76. package/dist/lib/execution-authority-http.js +0 -101
  77. package/dist/lib/execution-authority-http.js.map +0 -1
  78. package/dist/mcp-stdio.d.ts +0 -2
  79. package/dist/mcp-stdio.d.ts.map +0 -1
  80. package/dist/mcp-stdio.js.map +0 -1
  81. package/dist/playbooks/playbook-parser.d.ts +0 -8
  82. package/dist/playbooks/playbook-parser.d.ts.map +0 -1
  83. package/dist/playbooks/playbook-parser.js +0 -76
  84. package/dist/playbooks/playbook-parser.js.map +0 -1
  85. package/dist/playbooks/playbook-service.d.ts +0 -9
  86. package/dist/playbooks/playbook-service.d.ts.map +0 -1
  87. package/dist/playbooks/playbook-service.js +0 -107
  88. package/dist/playbooks/playbook-service.js.map +0 -1
  89. package/dist/routes/execution-authority.d.ts +0 -8
  90. package/dist/routes/execution-authority.d.ts.map +0 -1
  91. package/dist/routes/execution-authority.js +0 -498
  92. package/dist/routes/execution-authority.js.map +0 -1
  93. package/dist/scope/bindings-sidecar.d.ts +0 -9
  94. package/dist/scope/bindings-sidecar.d.ts.map +0 -1
  95. package/dist/scope/bindings-sidecar.js +0 -57
  96. package/dist/scope/bindings-sidecar.js.map +0 -1
  97. package/dist/scope/repo-deck.d.ts +0 -10
  98. package/dist/scope/repo-deck.d.ts.map +0 -1
  99. package/dist/scope/repo-deck.js +0 -63
  100. package/dist/scope/repo-deck.js.map +0 -1
  101. package/dist/test-local-mcp-e2e.d.ts +0 -3
  102. package/dist/test-local-mcp-e2e.d.ts.map +0 -1
  103. package/dist/test-local-mcp-e2e.js +0 -104
  104. package/dist/test-local-mcp-e2e.js.map +0 -1
  105. package/static-ui/favicon.png +0 -0
@@ -28,9 +28,12 @@ function readLaunchDeckHeader(req) {
28
28
  return value || undefined;
29
29
  }
30
30
  class AgentDeckMCPServer {
31
+ /** Cap on remembered stale session ids — the tally is diagnostics, not a ledger. */
32
+ static STALE_SESSION_SAMPLE_LIMIT = 200;
31
33
  port;
32
34
  host;
33
35
  app;
36
+ httpServer = null;
34
37
  backendUrl;
35
38
  toolProfile;
36
39
  sessions = new Map();
@@ -41,6 +44,24 @@ class AgentDeckMCPServer {
41
44
  /** Session badge from the backend registry (POST /api/scope/live-display response). */
42
45
  badgeBySession = new Map();
43
46
  lastTouchAtMs = new Map();
47
+ /** In-flight live-display unregisters so `stop()` can drain them before closing. */
48
+ unregisterTasks = new Map();
49
+ /** Changes on every process start — how a client detects it outlived the server. */
50
+ instanceId = (0, node_crypto_1.randomUUID)();
51
+ startedAt = new Date().toISOString();
52
+ staleSessionCount = 0;
53
+ /** Pre-restart session id → whether its client has since re-initialized. */
54
+ staleSessionsById = new Map();
55
+ /**
56
+ * Sessions this process issued and then closed. A late request on one of them is
57
+ * an ordinary end-of-session race, not a client left behind by a restart, and
58
+ * tallying it would make `agent-deck status` warn about a restart that never
59
+ * happened.
60
+ */
61
+ closedSessionIds = new Set();
62
+ staleSessionFirstAt;
63
+ staleSessionLastAt;
64
+ staleSessionLastId;
44
65
  get server() {
45
66
  if (!this.mcpServerForRegistration) {
46
67
  throw new Error('Internal: MCP server not in registration context');
@@ -60,6 +81,10 @@ class AgentDeckMCPServer {
60
81
  deckId: process.env.AGENT_DECK_DECK_ID,
61
82
  });
62
83
  }
84
+ /** Actual listening port (resolves OS-assigned `port: 0` after `start()`). */
85
+ getPort() {
86
+ return this.port;
87
+ }
63
88
  /**
64
89
  * One McpServer per transport session. Tools/resources close over `sessionId`
65
90
  * so concurrent requests cannot steal another session's backend authority.
@@ -478,6 +503,10 @@ class AgentDeckMCPServer {
478
503
  service: 'agent-deck-mcp-server',
479
504
  backendUrl: this.backendUrl,
480
505
  toolProfile: this.toolProfile,
506
+ instanceId: this.instanceId,
507
+ startedAt: this.startedAt,
508
+ liveSessions: this.sessions.size,
509
+ staleSessions: this.getStaleSessionStats(),
481
510
  });
482
511
  });
483
512
  // Backend connectivity check
@@ -505,6 +534,115 @@ class AgentDeckMCPServer {
505
534
  const value = req.headers['mcp-session-id'];
506
535
  return typeof value === 'string' ? value : undefined;
507
536
  }
537
+ getStaleSessionStats() {
538
+ let recoveredSessions = 0;
539
+ let lastUnresolvedAt;
540
+ for (const entry of this.staleSessionsById.values()) {
541
+ if (entry.recovered) {
542
+ recoveredSessions += 1;
543
+ continue;
544
+ }
545
+ if (!lastUnresolvedAt || entry.lastAt > lastUnresolvedAt) {
546
+ lastUnresolvedAt = entry.lastAt;
547
+ }
548
+ }
549
+ return {
550
+ count: this.staleSessionCount,
551
+ distinctSessions: this.staleSessionsById.size,
552
+ recoveredSessions,
553
+ unresolvedSessions: this.staleSessionsById.size - recoveredSessions,
554
+ lastSessionId: this.staleSessionLastId,
555
+ firstAt: this.staleSessionFirstAt,
556
+ lastAt: this.staleSessionLastAt,
557
+ lastUnresolvedAt,
558
+ };
559
+ }
560
+ /**
561
+ * A client that re-initializes after a restart names the session it lost, so we
562
+ * can stop counting it as stranded. Without this the tally only ever grows and
563
+ * `agent-deck status` would warn about clients that recovered on their own
564
+ * seconds earlier.
565
+ *
566
+ * Call this only once the replacement session exists: a handshake that is then
567
+ * rejected (launch-deck auth, a transport that fails to initialize) leaves the
568
+ * client just as stranded as before, and clearing the warning for it would hide
569
+ * exactly the case operators need to see.
570
+ */
571
+ markStaleSessionRecovered(req) {
572
+ // Node lower-cases request header names, which is how the constant is written.
573
+ const header = req.headers[shared_1.AGENT_DECK_RECOVERED_SESSION_HEADER];
574
+ const recoveredId = Array.isArray(header) ? header[0] : header;
575
+ if (!recoveredId) {
576
+ return;
577
+ }
578
+ const entry = this.staleSessionsById.get(recoveredId);
579
+ if (entry) {
580
+ entry.recovered = true;
581
+ }
582
+ }
583
+ /**
584
+ * Answer a request carrying a session id this process never issued (NOT-101).
585
+ *
586
+ * The streamable-HTTP spec says a server MUST reply 404 to an unknown
587
+ * `Mcp-Session-Id`, and that a client seeing 404 MUST re-initialize. The old
588
+ * 400 "Bad Request: No valid session ID provided" was indistinguishable from a
589
+ * malformed request, so bridges parked on it forever instead of reconnecting.
590
+ */
591
+ sendSessionNotFound(sessionId, res) {
592
+ if (this.closedSessionIds.has(sessionId)) {
593
+ // We issued this session and it ended here; the client is not stranded.
594
+ this.sendSessionExpired(sessionId, res);
595
+ return;
596
+ }
597
+ const at = new Date().toISOString();
598
+ const known = this.staleSessionsById.get(sessionId);
599
+ this.staleSessionCount += 1;
600
+ this.staleSessionLastId = sessionId;
601
+ this.staleSessionLastAt = at;
602
+ this.staleSessionFirstAt ??= at;
603
+ if (known) {
604
+ // Note the attempt, but never un-recover: once a client has re-initialized it
605
+ // holds a session of ours and keeps using it. What still arrives on the old id
606
+ // is a request that was already in flight when the restart hit, and the bridge
607
+ // will not handshake again for it — so flipping this back would strand a
608
+ // healthy client in `agent-deck status` with nothing left to clear it.
609
+ known.lastAt = at;
610
+ }
611
+ else if (this.staleSessionsById.size < AgentDeckMCPServer.STALE_SESSION_SAMPLE_LIMIT) {
612
+ this.staleSessionsById.set(sessionId, { recovered: false, lastAt: at });
613
+ }
614
+ // One line per session id, not per request — a wedged bridge retries forever.
615
+ if (!known) {
616
+ console.warn(`[agent-deck] MCP session ${sessionId} is unknown to this process ` +
617
+ `(instance ${this.instanceId}, started ${this.startedAt}). ` +
618
+ 'The client connected before the last restart; replying 404 so it re-initializes.');
619
+ }
620
+ this.sendSessionExpired(sessionId, res);
621
+ }
622
+ /** The wire half of a 404: the same answer whether or not the session was tallied. */
623
+ sendSessionExpired(sessionId, res) {
624
+ res.status(404)
625
+ .set('mcp-session-status', 'expired')
626
+ .json({
627
+ jsonrpc: '2.0',
628
+ error: {
629
+ code: -32001,
630
+ message: `Session not found: ${sessionId}. The Agent Deck MCP server restarted ` +
631
+ `(instance ${this.instanceId}, started ${this.startedAt}); re-initialize to get a new session.`,
632
+ },
633
+ id: null,
634
+ });
635
+ }
636
+ /** Remember a session we closed ourselves, keeping the set bounded like the tally. */
637
+ rememberClosedSession(sessionId) {
638
+ if (this.closedSessionIds.size >= AgentDeckMCPServer.STALE_SESSION_SAMPLE_LIMIT) {
639
+ const oldest = this.closedSessionIds.values().next().value;
640
+ if (oldest !== undefined) {
641
+ this.closedSessionIds.delete(oldest);
642
+ }
643
+ }
644
+ this.closedSessionIds.add(sessionId);
645
+ }
508
646
  async refreshRuntimeSession(sessionId) {
509
647
  const binding = this.sessionBinding.getBinding(sessionId);
510
648
  if (!binding.runtimeSessionId) {
@@ -636,6 +774,13 @@ class AgentDeckMCPServer {
636
774
  ((0, types_js_1.isInitializeRequest)(body) ||
637
775
  (Array.isArray(body) && body.some((message) => (0, types_js_1.isInitializeRequest)(message))));
638
776
  if (!isInit) {
777
+ // A session id we don't know is a restart, not a malformed request — 404 so
778
+ // the client re-initializes. An initialize carrying a stale id falls through
779
+ // and gets a fresh session, which is exactly the recovery we want.
780
+ if (sessionIdHeader) {
781
+ this.sendSessionNotFound(sessionIdHeader, res);
782
+ return;
783
+ }
639
784
  res.status(400).json({
640
785
  jsonrpc: '2.0',
641
786
  error: { code: -32000, message: 'Bad Request: No valid session ID provided' },
@@ -675,13 +820,16 @@ class AgentDeckMCPServer {
675
820
  const closedSessionId = transport.sessionId;
676
821
  if (closedSessionId) {
677
822
  this.sessions.delete(closedSessionId);
823
+ this.rememberClosedSession(closedSessionId);
678
824
  // Unregister while session headers still resolve — clearSession would drop
679
825
  // the runtime session id and live-display DELETE would 401.
680
- void this.unregisterLiveDisplay(closedSessionId).finally(() => {
826
+ const task = this.unregisterLiveDisplay(closedSessionId).finally(() => {
681
827
  this.sessionBinding.clearSession(closedSessionId);
682
828
  this.badgeBySession.delete(closedSessionId);
683
829
  this.lastTouchAtMs.delete(closedSessionId);
830
+ this.unregisterTasks.delete(closedSessionId);
684
831
  });
832
+ this.unregisterTasks.set(closedSessionId, task);
685
833
  }
686
834
  };
687
835
  try {
@@ -706,6 +854,9 @@ class AgentDeckMCPServer {
706
854
  this.sessions.set(transport.sessionId, { transport, server });
707
855
  }
708
856
  if (transport.sessionId) {
857
+ // The replacement session is live, so the session this client lost to the
858
+ // restart is genuinely recovered and no longer a stranded client.
859
+ this.markStaleSessionRecovered(req);
709
860
  void this.registerLiveDisplay(transport.sessionId).catch(() => { });
710
861
  }
711
862
  }
@@ -717,7 +868,7 @@ class AgentDeckMCPServer {
717
868
  }
718
869
  const session = this.sessions.get(sessionId);
719
870
  if (!session) {
720
- res.status(404).json({ error: 'Session not found' });
871
+ this.sendSessionNotFound(sessionId, res);
721
872
  return;
722
873
  }
723
874
  if (!(await this.requireFollowUpGrant(sessionId, req, res))) {
@@ -727,32 +878,45 @@ class AgentDeckMCPServer {
727
878
  await session.transport.handleRequest(req, res);
728
879
  }
729
880
  async start() {
881
+ if (this.httpServer) {
882
+ throw new Error('MCP server already started');
883
+ }
730
884
  try {
731
- console.log(`🚀 Starting Agent Deck MCP Server on port ${this.port}...`);
885
+ console.log(`🚀 Starting Agent Deck MCP Server on port ${this.port === 0 ? '(OS-assigned)' : this.port}...`);
732
886
  console.log(`🔗 Backend API URL: ${this.backendUrl}`);
733
- this.app.listen(this.port, this.host, () => {
734
- console.log(`✅ Agent Deck MCP Server is ready to accept connections`);
735
- console.log(`📋 Available tools:`);
736
- console.log(` - bind_workspace: Bind session to workspace + deck (deckId required)`);
737
- console.log(` - switch_bound_deck: Switch deck for this session only`);
738
- console.log(` - get_session_binding: Show session workspace + effective deck`);
739
- console.log(` - get_bound_deck: Get session-bound deck`);
740
- console.log(` - list_service_tools: List tools for a specific service`);
741
- console.log(` - call_service_tool: Call a tool on a service`);
742
- console.log(`📋 Available resources:`);
743
- console.log(` - agent-deck://decks: List of all available decks`);
744
- console.log(` - agent-deck://active-deck: The currently active deck`);
745
- console.log(` - agent-deck://active-deck/credentials: API keys on the active deck`);
746
- console.log(` - agent-deck://active-deck/services: Services in the active deck`);
747
- console.log(`🌐 Server running on http://${this.host}:${this.port}`);
748
- console.log(`🔧 MCP endpoint: http://${this.host}:${this.port}/mcp`);
749
- console.log(`❤️ Health check: http://${this.host}:${this.port}/health`);
750
- console.log(`🔗 Backend status: http://${this.host}:${this.port}/backend-status`);
751
- console.log(`📝 Architecture: MCP Server Backend API → Active Deck Services`);
887
+ await new Promise((resolve, reject) => {
888
+ const httpServer = this.app.listen(this.port, this.host, () => {
889
+ const address = httpServer.address();
890
+ if (typeof address === 'object' && address && typeof address.port === 'number') {
891
+ this.port = address.port;
892
+ }
893
+ console.log(`✅ Agent Deck MCP Server is ready to accept connections`);
894
+ console.log(`📋 Available tools:`);
895
+ console.log(` - bind_workspace: Bind session to workspace + deck (deckId required)`);
896
+ console.log(` - switch_bound_deck: Switch deck for this session only`);
897
+ console.log(` - get_session_binding: Show session workspace + effective deck`);
898
+ console.log(` - get_bound_deck: Get session-bound deck`);
899
+ console.log(` - list_service_tools: List tools for a specific service`);
900
+ console.log(` - call_service_tool: Call a tool on a service`);
901
+ console.log(`📋 Available resources:`);
902
+ console.log(` - agent-deck://decks: List of all available decks`);
903
+ console.log(` - agent-deck://active-deck: The currently active deck`);
904
+ console.log(` - agent-deck://active-deck/credentials: API keys on the active deck`);
905
+ console.log(` - agent-deck://active-deck/services: Services in the active deck`);
906
+ console.log(`🌐 Server running on http://${this.host}:${this.port}`);
907
+ console.log(`🔧 MCP endpoint: http://${this.host}:${this.port}/mcp`);
908
+ console.log(`❤️ Health check: http://${this.host}:${this.port}/health`);
909
+ console.log(`🔗 Backend status: http://${this.host}:${this.port}/backend-status`);
910
+ console.log(`📝 Architecture: MCP Server → Backend API → Active Deck Services`);
911
+ resolve();
912
+ });
913
+ httpServer.once('error', reject);
914
+ this.httpServer = httpServer;
752
915
  });
753
916
  return this.app;
754
917
  }
755
918
  catch (error) {
919
+ this.httpServer = null;
756
920
  console.error(`❌ Failed to start MCP server:`, error);
757
921
  throw error;
758
922
  }
@@ -768,12 +932,31 @@ class AgentDeckMCPServer {
768
932
  }
769
933
  }
770
934
  this.sessions.clear();
935
+ // Drain fire-and-forget live-display unregisters before tearing down HTTP —
936
+ // otherwise tests close the stub backend and see ECONNRESET console.error noise.
937
+ await Promise.all([...this.unregisterTasks.values()]);
938
+ // Release the port too, otherwise a restart on the same port races the old
939
+ // listener and the "did it come back?" probe can't tell the two apart.
940
+ await this.closeHttpServer();
771
941
  console.log(`🛑 MCP server stopped`);
772
942
  }
773
943
  catch (error) {
774
944
  console.error(`❌ Error stopping MCP server:`, error);
945
+ throw error;
775
946
  }
776
947
  }
948
+ async closeHttpServer() {
949
+ const server = this.httpServer;
950
+ if (!server) {
951
+ return;
952
+ }
953
+ this.httpServer = null;
954
+ await new Promise((resolve) => {
955
+ server.close(() => resolve());
956
+ // Keep-alive sockets (the SSE stream in particular) never end on their own.
957
+ server.closeAllConnections?.();
958
+ });
959
+ }
777
960
  }
778
961
  exports.AgentDeckMCPServer = AgentDeckMCPServer;
779
962
  //# sourceMappingURL=mcp-server.js.map
@@ -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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"}
@@ -28,6 +28,23 @@ export type McpToolCallResult = {
28
28
  };
29
29
  export declare function callToolMcpResult(port: number, sessionId: string, name: string, args: unknown, id: number, extraHeaders?: Record<string, string>): Promise<McpToolCallResult>;
30
30
  export declare function callTool(port: number, sessionId: string, name: string, args: unknown, id: number, extraHeaders?: Record<string, string>): Promise<Record<string, unknown>>;
31
+ /**
32
+ * Capture console.error / connection-reset noise so a green suite cannot hide
33
+ * unexpected backend failures. Call `assertClean()` in afterEach/afterAll.
34
+ */
35
+ export declare function installStrictConsoleCapture(options?: {
36
+ /** Prefixes that are expected and ignored (e.g. intentional negative-path logs). */
37
+ allowPrefixes?: string[];
38
+ }): {
39
+ errors: string[];
40
+ restore(): void;
41
+ assertClean(): void;
42
+ };
43
+ /**
44
+ * Start an MCP server for tests.
45
+ * Bind with `port: 0` (OS-assigned ephemeral) — do not pick a random port in a
46
+ * fixed range; parallel Vitest workers collide there (CI EADDRINUSE / NOT-47).
47
+ */
31
48
  export declare function startMcpServer(backendUrl: string, profile?: McpToolProfile): Promise<{
32
49
  port: number;
33
50
  server: AgentDeckMCPServer;
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,eAAO,MAAM,UAAU,wCAAwC,CAAC;AAEhE,wBAAgB,iBAAiB,CAAC,EAAE,SAAI,EAAE,UAAU,SAAW;;;;;;;;;;;;EAW9D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAalE;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,SAAI,EACN,UAAU,SAAW,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,qBAYtC;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAmBF,MAAM;kBAAgB;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;KAGjF;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,MAAM,EACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,MAAM,EACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,oCAOtC;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,cAA2B,GACnC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAMvD;AAyBD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,SAAI,EACN,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CAUjB"}
1
+ {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,eAAO,MAAM,UAAU,wCAAwC,CAAC;AAEhE,wBAAgB,iBAAiB,CAAC,EAAE,SAAI,EAAE,UAAU,SAAW;;;;;;;;;;;;EAW9D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAalE;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,EAAE,SAAI,EACN,UAAU,SAAW,EACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,qBAYtC;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAmBF,MAAM;kBAAgB;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;KAGjF;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,MAAM,EACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,MAAM,EACV,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,oCAOtC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE;IACpD,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;;;;EA0BA;AAUD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,cAA2B,GACnC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAUvD;AAyBD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,SAAI,EACN,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -7,6 +7,7 @@ exports.postInitialize = postInitialize;
7
7
  exports.listTools = listTools;
8
8
  exports.callToolMcpResult = callToolMcpResult;
9
9
  exports.callTool = callTool;
10
+ exports.installStrictConsoleCapture = installStrictConsoleCapture;
10
11
  exports.startMcpServer = startMcpServer;
11
12
  exports.openSession = openSession;
12
13
  const mcp_server_1 = require("../mcp-server");
@@ -107,10 +108,56 @@ async function callTool(port, sessionId, name, args, id, extraHeaders) {
107
108
  }
108
109
  return result.data;
109
110
  }
111
+ /**
112
+ * Capture console.error / connection-reset noise so a green suite cannot hide
113
+ * unexpected backend failures. Call `assertClean()` in afterEach/afterAll.
114
+ */
115
+ function installStrictConsoleCapture(options) {
116
+ const errors = [];
117
+ const allowPrefixes = options?.allowPrefixes ?? [];
118
+ const originalError = console.error;
119
+ console.error = (...args) => {
120
+ const line = args
121
+ .map((arg) => (typeof arg === 'string' ? arg : safeStringify(arg)))
122
+ .join(' ');
123
+ if (!allowPrefixes.some((prefix) => line.includes(prefix))) {
124
+ errors.push(line);
125
+ }
126
+ originalError.apply(console, args);
127
+ };
128
+ return {
129
+ errors,
130
+ restore() {
131
+ console.error = originalError;
132
+ },
133
+ assertClean() {
134
+ if (errors.length > 0) {
135
+ throw new Error(`Unexpected error-level server output (${errors.length}):\n${errors.join('\n')}`);
136
+ }
137
+ },
138
+ };
139
+ }
140
+ function safeStringify(value) {
141
+ try {
142
+ return JSON.stringify(value);
143
+ }
144
+ catch {
145
+ return String(value);
146
+ }
147
+ }
148
+ /**
149
+ * Start an MCP server for tests.
150
+ * Bind with `port: 0` (OS-assigned ephemeral) — do not pick a random port in a
151
+ * fixed range; parallel Vitest workers collide there (CI EADDRINUSE / NOT-47).
152
+ */
110
153
  async function startMcpServer(backendUrl, profile = 'standard') {
111
- const port = 36_000 + Math.floor(Math.random() * 3_000);
112
- const server = new mcp_server_1.AgentDeckMCPServer(port, backendUrl, profile);
154
+ const server = new mcp_server_1.AgentDeckMCPServer(0, backendUrl, profile);
113
155
  await server.start();
156
+ const port = server.getPort();
157
+ if (!port || port <= 0) {
158
+ await server.stop();
159
+ throw new Error('MCP server started but did not expose a listening port');
160
+ }
114
161
  await waitForMcpHealth(port);
115
162
  return { port, server };
116
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/mcp-tools/test-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/mcp-tools/test-harness.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,8 @@ export declare class DatabaseManager {
101
101
  }>>;
102
102
  removeDeckWorkspace(workspaceRoot: string, deckId: string): Promise<void>;
103
103
  listDeckIdsForPlaybook(playbookId: string): Promise<string[]>;
104
+ listDeckIdsForService(serviceId: string): Promise<string[]>;
105
+ listDeckIdsForCredential(credentialId: string): Promise<string[]>;
104
106
  private mapPlaybookPatchRow;
105
107
  createPlaybookPatch(input: {
106
108
  id: string;