@aria-cli/tools 1.0.11 → 1.0.13

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 (231) hide show
  1. package/dist-cjs/index.js +400 -436
  2. package/dist-cjs/network-runtime/index.js +8 -173
  3. package/package.json +6 -6
  4. package/dist-cjs/ask-user-interaction.js +0 -28
  5. package/dist-cjs/ask-user-interaction.js.map +0 -1
  6. package/dist-cjs/cache/web-cache.js +0 -71
  7. package/dist-cjs/cache/web-cache.js.map +0 -1
  8. package/dist-cjs/definitions/arion.js +0 -108
  9. package/dist-cjs/definitions/arion.js.map +0 -1
  10. package/dist-cjs/definitions/browser/browser.js +0 -422
  11. package/dist-cjs/definitions/browser/browser.js.map +0 -1
  12. package/dist-cjs/definitions/browser/index.js +0 -9
  13. package/dist-cjs/definitions/browser/index.js.map +0 -1
  14. package/dist-cjs/definitions/browser/pw-downloads.js +0 -118
  15. package/dist-cjs/definitions/browser/pw-downloads.js.map +0 -1
  16. package/dist-cjs/definitions/browser/pw-interactions.js +0 -214
  17. package/dist-cjs/definitions/browser/pw-interactions.js.map +0 -1
  18. package/dist-cjs/definitions/browser/pw-responses.js +0 -85
  19. package/dist-cjs/definitions/browser/pw-responses.js.map +0 -1
  20. package/dist-cjs/definitions/browser/pw-session.js +0 -327
  21. package/dist-cjs/definitions/browser/pw-session.js.map +0 -1
  22. package/dist-cjs/definitions/browser/pw-shared.js +0 -73
  23. package/dist-cjs/definitions/browser/pw-shared.js.map +0 -1
  24. package/dist-cjs/definitions/browser/pw-snapshot.js +0 -308
  25. package/dist-cjs/definitions/browser/pw-snapshot.js.map +0 -1
  26. package/dist-cjs/definitions/browser/pw-state.js +0 -71
  27. package/dist-cjs/definitions/browser/pw-state.js.map +0 -1
  28. package/dist-cjs/definitions/browser/types.js +0 -6
  29. package/dist-cjs/definitions/browser/types.js.map +0 -1
  30. package/dist-cjs/definitions/code-intelligence.js +0 -474
  31. package/dist-cjs/definitions/code-intelligence.js.map +0 -1
  32. package/dist-cjs/definitions/core.js +0 -134
  33. package/dist-cjs/definitions/core.js.map +0 -1
  34. package/dist-cjs/definitions/delegation.js +0 -516
  35. package/dist-cjs/definitions/delegation.js.map +0 -1
  36. package/dist-cjs/definitions/deploy.js +0 -69
  37. package/dist-cjs/definitions/deploy.js.map +0 -1
  38. package/dist-cjs/definitions/filesystem.js +0 -200
  39. package/dist-cjs/definitions/filesystem.js.map +0 -1
  40. package/dist-cjs/definitions/frg.js +0 -67
  41. package/dist-cjs/definitions/frg.js.map +0 -1
  42. package/dist-cjs/definitions/index.js +0 -44
  43. package/dist-cjs/definitions/index.js.map +0 -1
  44. package/dist-cjs/definitions/memory.js +0 -127
  45. package/dist-cjs/definitions/memory.js.map +0 -1
  46. package/dist-cjs/definitions/messaging.js +0 -632
  47. package/dist-cjs/definitions/messaging.js.map +0 -1
  48. package/dist-cjs/definitions/meta.js +0 -353
  49. package/dist-cjs/definitions/meta.js.map +0 -1
  50. package/dist-cjs/definitions/network.js +0 -163
  51. package/dist-cjs/definitions/network.js.map +0 -1
  52. package/dist-cjs/definitions/outlook.js +0 -281
  53. package/dist-cjs/definitions/outlook.js.map +0 -1
  54. package/dist-cjs/definitions/patch/apply-patch.js +0 -192
  55. package/dist-cjs/definitions/patch/apply-patch.js.map +0 -1
  56. package/dist-cjs/definitions/patch/fuzzy-match.js +0 -173
  57. package/dist-cjs/definitions/patch/fuzzy-match.js.map +0 -1
  58. package/dist-cjs/definitions/patch/index.js +0 -6
  59. package/dist-cjs/definitions/patch/index.js.map +0 -1
  60. package/dist-cjs/definitions/patch/patch-parser.js +0 -216
  61. package/dist-cjs/definitions/patch/patch-parser.js.map +0 -1
  62. package/dist-cjs/definitions/patch/sandbox-paths.js +0 -114
  63. package/dist-cjs/definitions/patch/sandbox-paths.js.map +0 -1
  64. package/dist-cjs/definitions/process/index.js +0 -9
  65. package/dist-cjs/definitions/process/index.js.map +0 -1
  66. package/dist-cjs/definitions/process/process-registry.js +0 -232
  67. package/dist-cjs/definitions/process/process-registry.js.map +0 -1
  68. package/dist-cjs/definitions/process/process.js +0 -390
  69. package/dist-cjs/definitions/process/process.js.map +0 -1
  70. package/dist-cjs/definitions/process/pty-keys.js +0 -260
  71. package/dist-cjs/definitions/process/pty-keys.js.map +0 -1
  72. package/dist-cjs/definitions/process/session-slug.js +0 -146
  73. package/dist-cjs/definitions/process/session-slug.js.map +0 -1
  74. package/dist-cjs/definitions/quip.js +0 -199
  75. package/dist-cjs/definitions/quip.js.map +0 -1
  76. package/dist-cjs/definitions/search.js +0 -64
  77. package/dist-cjs/definitions/search.js.map +0 -1
  78. package/dist-cjs/definitions/session-history.js +0 -73
  79. package/dist-cjs/definitions/session-history.js.map +0 -1
  80. package/dist-cjs/definitions/shell.js +0 -185
  81. package/dist-cjs/definitions/shell.js.map +0 -1
  82. package/dist-cjs/definitions/slack.js +0 -184
  83. package/dist-cjs/definitions/slack.js.map +0 -1
  84. package/dist-cjs/definitions/web.js +0 -113
  85. package/dist-cjs/definitions/web.js.map +0 -1
  86. package/dist-cjs/executors/apply-patch.js +0 -939
  87. package/dist-cjs/executors/apply-patch.js.map +0 -1
  88. package/dist-cjs/executors/arion.js +0 -126
  89. package/dist-cjs/executors/arion.js.map +0 -1
  90. package/dist-cjs/executors/code-intelligence.js +0 -926
  91. package/dist-cjs/executors/code-intelligence.js.map +0 -1
  92. package/dist-cjs/executors/deploy.js +0 -870
  93. package/dist-cjs/executors/deploy.js.map +0 -1
  94. package/dist-cjs/executors/filesystem.js +0 -1168
  95. package/dist-cjs/executors/filesystem.js.map +0 -1
  96. package/dist-cjs/executors/frg-freshness.js +0 -628
  97. package/dist-cjs/executors/frg-freshness.js.map +0 -1
  98. package/dist-cjs/executors/frg.js +0 -335
  99. package/dist-cjs/executors/frg.js.map +0 -1
  100. package/dist-cjs/executors/index.js +0 -144
  101. package/dist-cjs/executors/index.js.map +0 -1
  102. package/dist-cjs/executors/learning-meta.js +0 -1166
  103. package/dist-cjs/executors/learning-meta.js.map +0 -1
  104. package/dist-cjs/executors/lsp-client.js +0 -311
  105. package/dist-cjs/executors/lsp-client.js.map +0 -1
  106. package/dist-cjs/executors/memory.js +0 -797
  107. package/dist-cjs/executors/memory.js.map +0 -1
  108. package/dist-cjs/executors/meta.js +0 -227
  109. package/dist-cjs/executors/meta.js.map +0 -1
  110. package/dist-cjs/executors/process-registry.js +0 -470
  111. package/dist-cjs/executors/process-registry.js.map +0 -1
  112. package/dist-cjs/executors/pty-session-store.js +0 -35
  113. package/dist-cjs/executors/pty-session-store.js.map +0 -1
  114. package/dist-cjs/executors/pty.js +0 -313
  115. package/dist-cjs/executors/pty.js.map +0 -1
  116. package/dist-cjs/executors/restart.js +0 -156
  117. package/dist-cjs/executors/restart.js.map +0 -1
  118. package/dist-cjs/executors/search-freshness.js +0 -235
  119. package/dist-cjs/executors/search-freshness.js.map +0 -1
  120. package/dist-cjs/executors/search-types.js +0 -57
  121. package/dist-cjs/executors/search-types.js.map +0 -1
  122. package/dist-cjs/executors/search.js +0 -103
  123. package/dist-cjs/executors/search.js.map +0 -1
  124. package/dist-cjs/executors/self-diagnose.js +0 -435
  125. package/dist-cjs/executors/self-diagnose.js.map +0 -1
  126. package/dist-cjs/executors/session-history.js +0 -321
  127. package/dist-cjs/executors/session-history.js.map +0 -1
  128. package/dist-cjs/executors/shell-safety.js +0 -479
  129. package/dist-cjs/executors/shell-safety.js.map +0 -1
  130. package/dist-cjs/executors/shell.js +0 -1002
  131. package/dist-cjs/executors/shell.js.map +0 -1
  132. package/dist-cjs/executors/utils.js +0 -74
  133. package/dist-cjs/executors/utils.js.map +0 -1
  134. package/dist-cjs/executors/web.js +0 -548
  135. package/dist-cjs/executors/web.js.map +0 -1
  136. package/dist-cjs/extraction/content-extraction.js +0 -244
  137. package/dist-cjs/extraction/content-extraction.js.map +0 -1
  138. package/dist-cjs/extraction/index.js +0 -9
  139. package/dist-cjs/extraction/index.js.map +0 -1
  140. package/dist-cjs/headless-control-contract.js +0 -973
  141. package/dist-cjs/headless-control-contract.js.map +0 -1
  142. package/dist-cjs/index.js.map +0 -1
  143. package/dist-cjs/local-control-http-auth.js +0 -6
  144. package/dist-cjs/local-control-http-auth.js.map +0 -1
  145. package/dist-cjs/mcp/client.js +0 -186
  146. package/dist-cjs/mcp/client.js.map +0 -1
  147. package/dist-cjs/mcp/connection.js +0 -485
  148. package/dist-cjs/mcp/connection.js.map +0 -1
  149. package/dist-cjs/mcp/index.js +0 -31
  150. package/dist-cjs/mcp/index.js.map +0 -1
  151. package/dist-cjs/mcp/jsonrpc.js +0 -149
  152. package/dist-cjs/mcp/jsonrpc.js.map +0 -1
  153. package/dist-cjs/mcp/types.js +0 -9
  154. package/dist-cjs/mcp/types.js.map +0 -1
  155. package/dist-cjs/network-control-adapter.js +0 -78
  156. package/dist-cjs/network-control-adapter.js.map +0 -1
  157. package/dist-cjs/network-runtime/address-types.js +0 -169
  158. package/dist-cjs/network-runtime/address-types.js.map +0 -1
  159. package/dist-cjs/network-runtime/db-owner-fencing.js +0 -77
  160. package/dist-cjs/network-runtime/db-owner-fencing.js.map +0 -1
  161. package/dist-cjs/network-runtime/delivery-receipts.js +0 -277
  162. package/dist-cjs/network-runtime/delivery-receipts.js.map +0 -1
  163. package/dist-cjs/network-runtime/direct-endpoint-authority.js +0 -30
  164. package/dist-cjs/network-runtime/direct-endpoint-authority.js.map +0 -1
  165. package/dist-cjs/network-runtime/index.js.map +0 -1
  166. package/dist-cjs/network-runtime/local-control-contract.js +0 -634
  167. package/dist-cjs/network-runtime/local-control-contract.js.map +0 -1
  168. package/dist-cjs/network-runtime/node-store-contract.js +0 -39
  169. package/dist-cjs/network-runtime/node-store-contract.js.map +0 -1
  170. package/dist-cjs/network-runtime/pair-route-contract.js +0 -81
  171. package/dist-cjs/network-runtime/pair-route-contract.js.map +0 -1
  172. package/dist-cjs/network-runtime/peer-capabilities.js +0 -38
  173. package/dist-cjs/network-runtime/peer-capabilities.js.map +0 -1
  174. package/dist-cjs/network-runtime/peer-principal-ref.js +0 -16
  175. package/dist-cjs/network-runtime/peer-principal-ref.js.map +0 -1
  176. package/dist-cjs/network-runtime/peer-state-machine.js +0 -130
  177. package/dist-cjs/network-runtime/peer-state-machine.js.map +0 -1
  178. package/dist-cjs/network-runtime/protocol-schemas.js +0 -213
  179. package/dist-cjs/network-runtime/protocol-schemas.js.map +0 -1
  180. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +0 -64
  181. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js.map +0 -1
  182. package/dist-cjs/outlook/desktop-session.js +0 -319
  183. package/dist-cjs/outlook/desktop-session.js.map +0 -1
  184. package/dist-cjs/policy.js +0 -156
  185. package/dist-cjs/policy.js.map +0 -1
  186. package/dist-cjs/providers/brave.js +0 -67
  187. package/dist-cjs/providers/brave.js.map +0 -1
  188. package/dist-cjs/providers/duckduckgo.js +0 -181
  189. package/dist-cjs/providers/duckduckgo.js.map +0 -1
  190. package/dist-cjs/providers/exa.js +0 -68
  191. package/dist-cjs/providers/exa.js.map +0 -1
  192. package/dist-cjs/providers/firecrawl.js +0 -60
  193. package/dist-cjs/providers/firecrawl.js.map +0 -1
  194. package/dist-cjs/providers/index.js +0 -18
  195. package/dist-cjs/providers/index.js.map +0 -1
  196. package/dist-cjs/providers/jina.js +0 -54
  197. package/dist-cjs/providers/jina.js.map +0 -1
  198. package/dist-cjs/providers/router.js +0 -101
  199. package/dist-cjs/providers/router.js.map +0 -1
  200. package/dist-cjs/providers/search-provider.js +0 -37
  201. package/dist-cjs/providers/search-provider.js.map +0 -1
  202. package/dist-cjs/providers/tavily.js +0 -59
  203. package/dist-cjs/providers/tavily.js.map +0 -1
  204. package/dist-cjs/quip/desktop-session.js +0 -354
  205. package/dist-cjs/quip/desktop-session.js.map +0 -1
  206. package/dist-cjs/registry/index.js +0 -7
  207. package/dist-cjs/registry/index.js.map +0 -1
  208. package/dist-cjs/registry/registry.js +0 -762
  209. package/dist-cjs/registry/registry.js.map +0 -1
  210. package/dist-cjs/runtime-socket-local-control-client.js +0 -368
  211. package/dist-cjs/runtime-socket-local-control-client.js.map +0 -1
  212. package/dist-cjs/security/dns-normalization.js +0 -23
  213. package/dist-cjs/security/dns-normalization.js.map +0 -1
  214. package/dist-cjs/security/dns-pinning.js +0 -161
  215. package/dist-cjs/security/dns-pinning.js.map +0 -1
  216. package/dist-cjs/security/external-content.js +0 -96
  217. package/dist-cjs/security/external-content.js.map +0 -1
  218. package/dist-cjs/security/ssrf.js +0 -222
  219. package/dist-cjs/security/ssrf.js.map +0 -1
  220. package/dist-cjs/slack/desktop-session.js +0 -367
  221. package/dist-cjs/slack/desktop-session.js.map +0 -1
  222. package/dist-cjs/tool-factory.js +0 -51
  223. package/dist-cjs/tool-factory.js.map +0 -1
  224. package/dist-cjs/types.js +0 -9
  225. package/dist-cjs/types.js.map +0 -1
  226. package/dist-cjs/utils/retry.js +0 -170
  227. package/dist-cjs/utils/retry.js.map +0 -1
  228. package/dist-cjs/utils/safe-parse-json.js +0 -165
  229. package/dist-cjs/utils/safe-parse-json.js.map +0 -1
  230. package/dist-cjs/utils/url.js +0 -24
  231. package/dist-cjs/utils/url.js.map +0 -1
@@ -1,485 +0,0 @@
1
- "use strict";
2
- /**
3
- * MCP Server Connection
4
- *
5
- * Manages lifecycle and protocol methods for a single MCP server.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MCPServerConnection = void 0;
9
- const child_process_1 = require("child_process");
10
- const events_1 = require("events");
11
- const stream_1 = require("stream");
12
- const jsonrpc_js_1 = require("./jsonrpc.js");
13
- function sanitizeGitEnv(env = process.env) {
14
- const sanitized = {};
15
- for (const [key, value] of Object.entries(env)) {
16
- if (value === undefined)
17
- continue;
18
- if (key.toUpperCase().startsWith("GIT_"))
19
- continue;
20
- sanitized[key] = value;
21
- }
22
- return sanitized;
23
- }
24
- class MCPServerConnection extends events_1.EventEmitter {
25
- config;
26
- process;
27
- transport = "stdio";
28
- rpc;
29
- capabilities = {};
30
- _initialized = false;
31
- sseAbortController;
32
- sseStreamPromise;
33
- ssePostUrl;
34
- sseSessionId;
35
- sseOutput;
36
- // Auto-reconnect state
37
- _disconnecting = false;
38
- _reconnecting = false;
39
- _reconnectAttempts = 0;
40
- static RECONNECT_BASE_DELAY_MS = 1000;
41
- static RECONNECT_MAX_DELAY_MS = 30000;
42
- static RECONNECT_MAX_ATTEMPTS = 5;
43
- constructor(config) {
44
- super();
45
- this.config = config;
46
- this.rpc = new jsonrpc_js_1.JSONRPCClient();
47
- }
48
- get name() {
49
- return this.config.name;
50
- }
51
- get initialized() {
52
- return this._initialized;
53
- }
54
- /**
55
- * Initialize connection to MCP server
56
- */
57
- async initialize() {
58
- // Reset disconnecting flag on fresh initialization so auto-reconnect is active.
59
- // During reconnect, attemptReconnect() checks _disconnecting before each attempt.
60
- if (!this._reconnecting) {
61
- this._disconnecting = false;
62
- this._reconnectAttempts = 0;
63
- }
64
- this.transport = this.config.transport ?? "stdio";
65
- try {
66
- if (this.transport === "stdio") {
67
- await this.initializeStdioTransport();
68
- }
69
- else {
70
- await this.initializeSSETransport();
71
- }
72
- // Forward notifications
73
- this.rpc.on("notifications/tools/list_changed", () => this.emit("tools/list_changed"));
74
- this.rpc.on("notifications/resources/list_changed", () => this.emit("resources/list_changed"));
75
- this.rpc.on("notifications/prompts/list_changed", () => this.emit("prompts/list_changed"));
76
- // MCP initialize handshake
77
- const result = await this.rpc.request("initialize", {
78
- protocolVersion: "2024-11-05",
79
- capabilities: {
80
- roots: { listChanged: true },
81
- },
82
- clientInfo: {
83
- name: "aria-cli",
84
- version: "1.0.0",
85
- },
86
- });
87
- this.capabilities = result.capabilities || {};
88
- this._initialized = true;
89
- // Send initialized notification
90
- this.rpc.notify("notifications/initialized", {});
91
- return this.capabilities;
92
- }
93
- catch (error) {
94
- await this.cleanupAfterInitializeFailure();
95
- throw error;
96
- }
97
- }
98
- /**
99
- * Attempt to reconnect with exponential backoff.
100
- * Called when the transport drops unexpectedly (not via explicit shutdown).
101
- */
102
- async attemptReconnect() {
103
- if (this._disconnecting || this._reconnecting) {
104
- return;
105
- }
106
- this._reconnecting = true;
107
- while (this._reconnectAttempts < MCPServerConnection.RECONNECT_MAX_ATTEMPTS &&
108
- !this._disconnecting) {
109
- this._reconnectAttempts++;
110
- const delay = Math.min(MCPServerConnection.RECONNECT_BASE_DELAY_MS * Math.pow(2, this._reconnectAttempts - 1), MCPServerConnection.RECONNECT_MAX_DELAY_MS);
111
- this.emit("log", {
112
- level: "info",
113
- message: `Reconnect attempt ${this._reconnectAttempts}/${MCPServerConnection.RECONNECT_MAX_ATTEMPTS} in ${delay}ms`,
114
- });
115
- await new Promise((resolve) => setTimeout(resolve, delay));
116
- if (this._disconnecting) {
117
- break;
118
- }
119
- try {
120
- // Clean up stale RPC state before reconnecting
121
- this.rpc.close();
122
- this.rpc = new jsonrpc_js_1.JSONRPCClient();
123
- await this.initialize();
124
- // Success — reset reconnect state
125
- this._reconnectAttempts = 0;
126
- this._reconnecting = false;
127
- this.emit("reconnected");
128
- return;
129
- }
130
- catch (error) {
131
- this.emit("log", {
132
- level: "error",
133
- message: `Reconnect attempt ${this._reconnectAttempts} failed: ${error.message}`,
134
- });
135
- }
136
- }
137
- // All attempts exhausted or disconnecting flag was set
138
- this._reconnecting = false;
139
- if (!this._disconnecting) {
140
- this._initialized = false;
141
- this.emit("error", new Error(`Failed to reconnect after ${MCPServerConnection.RECONNECT_MAX_ATTEMPTS} attempts`));
142
- }
143
- }
144
- async initializeStdioTransport() {
145
- if (!this.config.command) {
146
- throw new Error("Command required for stdio transport");
147
- }
148
- // Spawn server process
149
- this.process = (0, child_process_1.spawn)(this.config.command, this.config.args || [], {
150
- env: { ...sanitizeGitEnv(), ...sanitizeGitEnv(this.config.env ?? {}) },
151
- stdio: ["pipe", "pipe", "pipe"],
152
- });
153
- if (!this.process.stdin || !this.process.stdout) {
154
- throw new Error("Failed to create stdio streams");
155
- }
156
- this.rpc.connect(this.process.stdin, this.process.stdout);
157
- // Handle stderr for logging
158
- this.process.stderr?.on("data", (data) => {
159
- this.emit("log", { level: "error", message: data.toString() });
160
- });
161
- this.process.on("exit", (code) => {
162
- this._initialized = false;
163
- this.rpc.close();
164
- this.emit("exit", code);
165
- // Attempt auto-reconnect on unexpected exit
166
- if (!this._disconnecting) {
167
- void this.attemptReconnect();
168
- }
169
- });
170
- }
171
- async initializeSSETransport() {
172
- const url = this.config.url;
173
- if (!url) {
174
- throw new Error("URL required for sse transport");
175
- }
176
- const stdin = new stream_1.Writable({
177
- write: (chunk, _encoding, callback) => {
178
- const payload = chunk.toString();
179
- this.postSSEMessages(payload)
180
- .then(() => callback())
181
- .catch((err) => callback(err));
182
- },
183
- });
184
- const stdout = new stream_1.PassThrough();
185
- this.sseOutput = stdout;
186
- this.rpc.connect(stdin, stdout);
187
- this.sseAbortController = new AbortController();
188
- const response = await fetch(url, {
189
- method: "GET",
190
- headers: { Accept: "text/event-stream" },
191
- signal: this.sseAbortController.signal,
192
- });
193
- if (!response.ok || !response.body) {
194
- const errorText = await response.text();
195
- throw new Error(`Failed to connect SSE transport: ${response.status} ${response.statusText} ${errorText}`);
196
- }
197
- this.sseSessionId = response.headers.get("mcp-session-id") ?? undefined;
198
- this.ssePostUrl = url;
199
- this.sseStreamPromise = this.consumeSSE(response.body, url);
200
- }
201
- async postSSEMessages(payload) {
202
- const trimmed = payload.trim();
203
- if (!trimmed) {
204
- return;
205
- }
206
- const endpoint = this.ssePostUrl || this.config.url;
207
- if (!endpoint) {
208
- throw new Error("SSE transport endpoint is not configured");
209
- }
210
- const messages = trimmed
211
- .split("\n")
212
- .map((line) => line.trim())
213
- .filter((line) => line.length > 0);
214
- for (const message of messages) {
215
- const response = await fetch(endpoint, {
216
- method: "POST",
217
- headers: {
218
- "Content-Type": "application/json",
219
- ...(this.sseSessionId ? { "mcp-session-id": this.sseSessionId } : {}),
220
- },
221
- body: message,
222
- });
223
- if (!response.ok) {
224
- const errorText = await response.text();
225
- throw new Error(`SSE transport POST failed: ${response.status} ${response.statusText} ${errorText}`);
226
- }
227
- const responseText = (await response.text()).trim();
228
- if (!responseText || !this.sseOutput) {
229
- continue;
230
- }
231
- // Some servers return direct JSON-RPC responses on POST while others
232
- // publish responses only via SSE. Forward direct JSON replies into RPC.
233
- for (const line of responseText.split("\n")) {
234
- const jsonLine = line.trim();
235
- if (!jsonLine) {
236
- continue;
237
- }
238
- if (jsonLine.startsWith("{") && jsonLine.endsWith("}")) {
239
- this.sseOutput.write(`${jsonLine}\n`);
240
- }
241
- }
242
- }
243
- }
244
- async consumeSSE(body, baseUrl) {
245
- const reader = body.getReader();
246
- const decoder = new TextDecoder();
247
- let buffer = "";
248
- let eventType = "";
249
- let dataLines = [];
250
- const dispatch = () => {
251
- if (dataLines.length === 0) {
252
- eventType = "";
253
- return;
254
- }
255
- const data = dataLines.join("\n").trim();
256
- const event = eventType || "message";
257
- eventType = "";
258
- dataLines = [];
259
- if (!data) {
260
- return;
261
- }
262
- if (event === "endpoint") {
263
- this.ssePostUrl = new URL(data, baseUrl).toString();
264
- return;
265
- }
266
- if (!this.sseOutput) {
267
- return;
268
- }
269
- if (data.startsWith("{") && data.endsWith("}")) {
270
- this.sseOutput.write(`${data}\n`);
271
- }
272
- };
273
- try {
274
- while (true) {
275
- const { done, value } = await reader.read();
276
- if (done) {
277
- dispatch();
278
- break;
279
- }
280
- buffer += decoder.decode(value, { stream: true });
281
- const lines = buffer.split(/\r?\n/);
282
- buffer = lines.pop() || "";
283
- for (const line of lines) {
284
- if (line === "") {
285
- dispatch();
286
- continue;
287
- }
288
- if (line.startsWith("event:")) {
289
- eventType = line.slice(6).trim();
290
- continue;
291
- }
292
- if (line.startsWith("data:")) {
293
- dataLines.push(line.slice(5).trim());
294
- }
295
- }
296
- }
297
- }
298
- catch (error) {
299
- // Ignore abort errors from normal shutdown.
300
- if (!(error instanceof DOMException && error.name === "AbortError")) {
301
- this.emit("log", {
302
- level: "error",
303
- message: `SSE stream error: ${error.message}`,
304
- });
305
- }
306
- }
307
- finally {
308
- if (this._initialized) {
309
- this._initialized = false;
310
- this.rpc.close();
311
- this.emit("exit", 0);
312
- // Attempt auto-reconnect on unexpected SSE stream end
313
- if (!this._disconnecting) {
314
- void this.attemptReconnect();
315
- }
316
- }
317
- }
318
- }
319
- async cleanupAfterInitializeFailure() {
320
- if (this.transport === "stdio") {
321
- if (this.process && !this.process.killed) {
322
- try {
323
- this.process.kill("SIGTERM");
324
- }
325
- catch {
326
- // Ignore kill failures during cleanup.
327
- }
328
- }
329
- this.process = undefined;
330
- }
331
- else {
332
- this.sseAbortController?.abort();
333
- try {
334
- await this.sseStreamPromise;
335
- }
336
- catch {
337
- // Ignore stream errors during cleanup.
338
- }
339
- this.sseOutput?.end();
340
- this.sseOutput = undefined;
341
- }
342
- this.rpc.close();
343
- }
344
- /**
345
- * Gracefully shutdown the connection
346
- */
347
- async shutdown() {
348
- this._disconnecting = true;
349
- if (!this._initialized)
350
- return;
351
- this._initialized = false;
352
- if (this.transport === "sse") {
353
- try {
354
- await this.rpc.request("shutdown", {});
355
- this.rpc.notify("notifications/exit", {});
356
- }
357
- catch {
358
- // Best effort
359
- }
360
- this.sseAbortController?.abort();
361
- try {
362
- await this.sseStreamPromise;
363
- }
364
- catch {
365
- // Ignore stream shutdown errors
366
- }
367
- this.sseOutput?.end();
368
- this.sseOutput = undefined;
369
- this.rpc.close();
370
- return;
371
- }
372
- if (this.process) {
373
- // Send MCP shutdown/exit protocol before killing
374
- try {
375
- await this.rpc.request("shutdown", {});
376
- this.rpc.notify("notifications/exit", {});
377
- // Give process a moment to clean up
378
- await new Promise((resolve) => setTimeout(resolve, 500));
379
- }
380
- catch {
381
- // Process may already be dead, proceed with kill
382
- }
383
- this.process.kill("SIGTERM");
384
- // Await process exit before resolving
385
- await new Promise((resolve) => {
386
- // Escalate to SIGKILL if process doesn't exit within 5s
387
- const killTimeout = setTimeout(() => {
388
- try {
389
- this.process?.kill("SIGKILL");
390
- }
391
- catch {
392
- /* already dead */
393
- }
394
- }, 5000);
395
- this.process.once("exit", () => {
396
- clearTimeout(killTimeout);
397
- this.rpc.close();
398
- resolve();
399
- });
400
- });
401
- }
402
- else {
403
- this.rpc.close();
404
- }
405
- }
406
- // ========== Tools ==========
407
- async listTools() {
408
- const result = await this.rpc.request("tools/list", {});
409
- return result.tools || [];
410
- }
411
- async callTool(name, args, abortSignal) {
412
- // Early abort check before making the RPC call
413
- if (abortSignal?.aborted) {
414
- return { success: false, message: "Tool execution cancelled by user." };
415
- }
416
- try {
417
- // Race the RPC call against the abort signal so user cancel
418
- // doesn't block waiting for a slow MCP server response.
419
- const rpcPromise = this.rpc.request("tools/call", {
420
- name,
421
- arguments: args,
422
- });
423
- let result;
424
- if (abortSignal) {
425
- result = await new Promise((resolve, reject) => {
426
- const onAbort = () => reject(new DOMException("Aborted", "AbortError"));
427
- abortSignal.addEventListener("abort", onAbort, { once: true });
428
- rpcPromise.then((r) => {
429
- abortSignal.removeEventListener("abort", onAbort);
430
- resolve(r);
431
- }, (e) => {
432
- abortSignal.removeEventListener("abort", onAbort);
433
- reject(e);
434
- });
435
- });
436
- }
437
- else {
438
- result = await rpcPromise;
439
- }
440
- const text = result.content
441
- ?.filter((c) => c.type === "text")
442
- .map((c) => c.text)
443
- .join("\n") || "";
444
- return {
445
- success: !result.isError,
446
- message: text,
447
- data: result.content,
448
- };
449
- }
450
- catch (error) {
451
- if (error instanceof DOMException && error.name === "AbortError") {
452
- return { success: false, message: "Tool execution cancelled by user." };
453
- }
454
- return {
455
- success: false,
456
- message: error.message,
457
- };
458
- }
459
- }
460
- // ========== Resources ==========
461
- async listResources() {
462
- const result = await this.rpc.request("resources/list", {});
463
- return result.resources || [];
464
- }
465
- async readResource(uri) {
466
- const result = await this.rpc.request("resources/read", {
467
- uri,
468
- });
469
- return result.contents || [];
470
- }
471
- // ========== Prompts ==========
472
- async listPrompts() {
473
- const result = await this.rpc.request("prompts/list", {});
474
- return result.prompts || [];
475
- }
476
- async getPrompt(name, args) {
477
- const result = await this.rpc.request("prompts/get", {
478
- name,
479
- arguments: args,
480
- });
481
- return result.messages || [];
482
- }
483
- }
484
- exports.MCPServerConnection = MCPServerConnection;
485
- //# sourceMappingURL=connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/mcp/connection.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- /**
3
- * MCP (Model Context Protocol) Module
4
- *
5
- * Provides client implementation for connecting to MCP servers
6
- * and discovering tools, resources, and prompts dynamically.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.MCPClient = exports.MCPServerConnection = exports.JSONRPCClient = void 0;
24
- __exportStar(require("./types.js"), exports);
25
- var jsonrpc_js_1 = require("./jsonrpc.js");
26
- Object.defineProperty(exports, "JSONRPCClient", { enumerable: true, get: function () { return jsonrpc_js_1.JSONRPCClient; } });
27
- var connection_js_1 = require("./connection.js");
28
- Object.defineProperty(exports, "MCPServerConnection", { enumerable: true, get: function () { return connection_js_1.MCPServerConnection; } });
29
- var client_js_1 = require("./client.js");
30
- Object.defineProperty(exports, "MCPClient", { enumerable: true, get: function () { return client_js_1.MCPClient; } });
31
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AACtB,iDAAsD;AAA7C,oHAAA,mBAAmB,OAAA;AAC5B,yCAAwC;AAA/B,sGAAA,SAAS,OAAA"}