@mcpmesh/sdk 2.3.0 → 2.4.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.
- package/dist/__tests__/llm-agent-model-params.test.js +83 -0
- package/dist/__tests__/llm-agent-model-params.test.js.map +1 -1
- package/dist/__tests__/llm-max-iterations.test.d.ts +20 -0
- package/dist/__tests__/llm-max-iterations.test.d.ts.map +1 -0
- package/dist/__tests__/llm-max-iterations.test.js +250 -0
- package/dist/__tests__/llm-max-iterations.test.js.map +1 -0
- package/dist/__tests__/llm-mesh-error-mapping.test.d.ts +16 -0
- package/dist/__tests__/llm-mesh-error-mapping.test.d.ts.map +1 -0
- package/dist/__tests__/llm-mesh-error-mapping.test.js +135 -0
- package/dist/__tests__/llm-mesh-error-mapping.test.js.map +1 -0
- package/dist/__tests__/llm-provider-output-mode.test.d.ts +21 -0
- package/dist/__tests__/llm-provider-output-mode.test.d.ts.map +1 -0
- package/dist/__tests__/llm-provider-output-mode.test.js +115 -0
- package/dist/__tests__/llm-provider-output-mode.test.js.map +1 -0
- package/dist/__tests__/llm-provider-system-synthesis.test.d.ts +20 -0
- package/dist/__tests__/llm-provider-system-synthesis.test.d.ts.map +1 -0
- package/dist/__tests__/llm-provider-system-synthesis.test.js +167 -0
- package/dist/__tests__/llm-provider-system-synthesis.test.js.map +1 -0
- package/dist/__tests__/llm-response-model.test.d.ts +10 -0
- package/dist/__tests__/llm-response-model.test.d.ts.map +1 -0
- package/dist/__tests__/llm-response-model.test.js +92 -0
- package/dist/__tests__/llm-response-model.test.js.map +1 -0
- package/dist/__tests__/proxy-timeout-guard.test.d.ts +12 -0
- package/dist/__tests__/proxy-timeout-guard.test.d.ts.map +1 -0
- package/dist/__tests__/proxy-timeout-guard.test.js +85 -0
- package/dist/__tests__/proxy-timeout-guard.test.js.map +1 -0
- package/dist/__tests__/registry-disconnect-retains-deps.spec.d.ts +2 -0
- package/dist/__tests__/registry-disconnect-retains-deps.spec.d.ts.map +1 -0
- package/dist/__tests__/registry-disconnect-retains-deps.spec.js +101 -0
- package/dist/__tests__/registry-disconnect-retains-deps.spec.js.map +1 -0
- package/dist/__tests__/response-parser.test.js +29 -0
- package/dist/__tests__/response-parser.test.js.map +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +4 -0
- package/dist/agent.js.map +1 -1
- package/dist/api-runtime.d.ts.map +1 -1
- package/dist/api-runtime.js +8 -1
- package/dist/api-runtime.js.map +1 -1
- package/dist/express.d.ts.map +1 -1
- package/dist/express.js +8 -1
- package/dist/express.js.map +1 -1
- package/dist/llm-agent.d.ts +34 -0
- package/dist/llm-agent.d.ts.map +1 -1
- package/dist/llm-agent.js +239 -434
- package/dist/llm-agent.js.map +1 -1
- package/dist/llm-provider.d.ts +33 -4
- package/dist/llm-provider.d.ts.map +1 -1
- package/dist/llm-provider.js +91 -4
- package/dist/llm-provider.js.map +1 -1
- package/dist/llm.d.ts +1 -1
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +8 -5
- package/dist/llm.js.map +1 -1
- package/dist/provider-handlers/gemini-handler.d.ts.map +1 -1
- package/dist/provider-handlers/gemini-handler.js +2 -14
- package/dist/provider-handlers/gemini-handler.js.map +1 -1
- package/dist/provider-handlers/openai-handler.d.ts.map +1 -1
- package/dist/provider-handlers/openai-handler.js +2 -15
- package/dist/provider-handlers/openai-handler.js.map +1 -1
- package/dist/provider-handlers/provider-handler.d.ts +12 -0
- package/dist/provider-handlers/provider-handler.d.ts.map +1 -1
- package/dist/provider-handlers/provider-handler.js +24 -0
- package/dist/provider-handlers/provider-handler.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +189 -254
- package/dist/proxy.js.map +1 -1
- package/dist/response-parser.d.ts +10 -0
- package/dist/response-parser.d.ts.map +1 -1
- package/dist/response-parser.js +55 -0
- package/dist/response-parser.js.map +1 -1
- package/dist/tracing.d.ts +12 -0
- package/dist/tracing.d.ts.map +1 -1
- package/dist/tracing.js +37 -0
- package/dist/tracing.js.map +1 -1
- package/dist/types.d.ts +10 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/proxy.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
7
7
|
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
8
|
-
import { generateSpanId, publishTraceSpan, createTraceHeaders, matchesPropagateHeader,
|
|
8
|
+
import { generateSpanId, publishTraceSpan, createTraceHeaders, matchesPropagateHeader, injectTraceAndHeaders, } from "./tracing.js";
|
|
9
9
|
import { isTimeoutError } from "./timeout-utils.js";
|
|
10
10
|
import { getDispatcher } from "./http-pool.js";
|
|
11
11
|
import { currentJob } from "./job-context.js";
|
|
@@ -162,19 +162,29 @@ export function createProxy(endpoint, capability, functionName, kwargs) {
|
|
|
162
162
|
return proxyFn;
|
|
163
163
|
}
|
|
164
164
|
/**
|
|
165
|
-
*
|
|
165
|
+
* Build the shared MCP `tools/call` request setup used by both the buffered
|
|
166
|
+
* (`callMcpTool`) and streaming (`streamMcpTool`) paths.
|
|
166
167
|
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
168
|
+
* Handles endpoint normalization, trace-context capture, merged-header build,
|
|
169
|
+
* fallback trace injection, payload assembly, effective-timeout resolution and
|
|
170
|
+
* header assembly. The streaming caller passes `opts.progressToken` so the
|
|
171
|
+
* payload gets `params._meta.progressToken` (the buffered caller omits it).
|
|
172
|
+
*
|
|
173
|
+
* Header insertion order is byte-identical to the pre-extraction code:
|
|
174
|
+
* customHeaders → Content-Type/Accept → trace headers → mergedHeaders →
|
|
175
|
+
* conditional X-Mesh-Timeout.
|
|
176
|
+
*
|
|
177
|
+
* `defaultTimeout` is the per-path fallback applied when the resolved timeout is
|
|
178
|
+
* non-positive (DEFAULT_CALL_OPTIONS.timeout for buffered,
|
|
179
|
+
* DEFAULT_CALL_OPTIONS.streamTimeout for stream).
|
|
170
180
|
*/
|
|
171
|
-
|
|
181
|
+
function buildMcpRequest(endpoint, toolName, args, options, extraHeaders, defaultTimeout, opts) {
|
|
172
182
|
// Ensure endpoint ends with /mcp
|
|
173
183
|
const mcpEndpoint = endpoint.endsWith("/mcp")
|
|
174
184
|
? endpoint
|
|
175
185
|
: `${endpoint.replace(/\/$/, "")}/mcp`;
|
|
176
|
-
// Tracing: create span for this outgoing proxy call
|
|
177
|
-
// Use AsyncLocalStorage to get trace context for the current async execution
|
|
186
|
+
// Tracing: create span for this outgoing proxy call.
|
|
187
|
+
// Use AsyncLocalStorage to get trace context for the current async execution.
|
|
178
188
|
const traceCtx = getCurrentTraceContext();
|
|
179
189
|
const spanId = traceCtx ? generateSpanId() : null;
|
|
180
190
|
const startTime = Date.now() / 1000;
|
|
@@ -188,32 +198,8 @@ export async function callMcpTool(endpoint, toolName, args, options, capability,
|
|
|
188
198
|
}
|
|
189
199
|
}
|
|
190
200
|
}
|
|
191
|
-
// Build arguments with trace context injection
|
|
192
|
-
|
|
193
|
-
if (traceCtx && spanId) {
|
|
194
|
-
try {
|
|
195
|
-
const argsJson = JSON.stringify(args ?? {});
|
|
196
|
-
const headersJson = Object.keys(mergedHeaders).length > 0 ? JSON.stringify(mergedHeaders) : undefined;
|
|
197
|
-
const injectedJson = injectTraceContext(argsJson, traceCtx.traceId, spanId, headersJson);
|
|
198
|
-
argsWithTrace = JSON.parse(injectedJson);
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
// Fallback to manual injection
|
|
202
|
-
argsWithTrace = { ...(args ?? {}) };
|
|
203
|
-
argsWithTrace._trace_id = traceCtx.traceId;
|
|
204
|
-
argsWithTrace._parent_span = spanId;
|
|
205
|
-
if (Object.keys(mergedHeaders).length > 0) {
|
|
206
|
-
argsWithTrace._mesh_headers = mergedHeaders;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
argsWithTrace = { ...(args ?? {}) };
|
|
212
|
-
// Still inject propagated headers even without trace context
|
|
213
|
-
if (Object.keys(mergedHeaders).length > 0) {
|
|
214
|
-
argsWithTrace._mesh_headers = mergedHeaders;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
201
|
+
// Build arguments with trace context injection (Rust core, manual fallback)
|
|
202
|
+
const argsWithTrace = injectTraceAndHeaders(args ?? {}, traceCtx, spanId, mergedHeaders);
|
|
217
203
|
const payload = {
|
|
218
204
|
jsonrpc: "2.0",
|
|
219
205
|
id: generateRequestId(),
|
|
@@ -221,6 +207,7 @@ export async function callMcpTool(endpoint, toolName, args, options, capability,
|
|
|
221
207
|
params: {
|
|
222
208
|
name: toolName,
|
|
223
209
|
arguments: argsWithTrace,
|
|
210
|
+
...(opts?.progressToken ? { _meta: { progressToken: opts.progressToken } } : {}),
|
|
224
211
|
},
|
|
225
212
|
};
|
|
226
213
|
// Use X-Mesh-Timeout from propagated headers to override client timeout (#769).
|
|
@@ -234,57 +221,82 @@ export async function callMcpTool(endpoint, toolName, args, options, capability,
|
|
|
234
221
|
effectiveTimeout = meshTimeoutMs;
|
|
235
222
|
}
|
|
236
223
|
}
|
|
237
|
-
|
|
224
|
+
// A partial caller options object (or a caller passing timeout<=0) could leave
|
|
225
|
+
// this undefined or non-positive — that would cause setTimeout to fire on the
|
|
226
|
+
// next tick and abort the call immediately. Fall back to the path default.
|
|
227
|
+
if (typeof effectiveTimeout !== "number" || effectiveTimeout <= 0) {
|
|
228
|
+
effectiveTimeout = defaultTimeout;
|
|
229
|
+
}
|
|
238
230
|
const bodyStr = JSON.stringify(payload);
|
|
239
231
|
const requestBytes = Buffer.byteLength(bodyStr, "utf8");
|
|
232
|
+
// Build headers: custom headers first, then protocol-required headers override.
|
|
233
|
+
// FastMCP stateless HTTP requires BOTH content types in Accept (it returns SSE
|
|
234
|
+
// for streaming responses; missing application/json yields 406 Not Acceptable).
|
|
235
|
+
const headers = {
|
|
236
|
+
...(options.customHeaders ?? {}),
|
|
237
|
+
"Content-Type": "application/json",
|
|
238
|
+
Accept: "application/json, text/event-stream",
|
|
239
|
+
};
|
|
240
|
+
// Propagate trace context (higher priority)
|
|
241
|
+
if (traceCtx && spanId) {
|
|
242
|
+
Object.assign(headers, createTraceHeaders(traceCtx.traceId, spanId));
|
|
243
|
+
}
|
|
244
|
+
// Inject merged headers (highest priority)
|
|
245
|
+
for (const [key, value] of Object.entries(mergedHeaders)) {
|
|
246
|
+
headers[key] = value;
|
|
247
|
+
}
|
|
248
|
+
// Set X-Mesh-Timeout for registry proxy (#769). If already propagated, keep it.
|
|
249
|
+
if (!headers["X-Mesh-Timeout"] && !headers["x-mesh-timeout"]) {
|
|
250
|
+
const callTimeout = process.env.MCP_MESH_CALL_TIMEOUT || String(Math.floor(options.timeout / 1000));
|
|
251
|
+
headers["X-Mesh-Timeout"] = callTimeout;
|
|
252
|
+
}
|
|
253
|
+
return { mcpEndpoint, bodyStr, requestId: payload.id, requestBytes, headers, effectiveTimeout, traceCtx, spanId, startTime };
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Wire per-job cancel propagation (#886) onto an outbound AbortController.
|
|
257
|
+
*
|
|
258
|
+
* When the handler executing this outbound call is running under a MeshJob
|
|
259
|
+
* context AND the registry forwards a cancel via POST /jobs/{id}/cancel, fire
|
|
260
|
+
* the outbound AbortController so in-flight fetch is cancelled instead of
|
|
261
|
+
* stalling on socket reads. Fire-and-forget — the listener races against fetch
|
|
262
|
+
* completion / timeout; whichever wins, the others become no-ops
|
|
263
|
+
* (`controller.abort()` is idempotent and the dangling Promise resolves
|
|
264
|
+
* immediately once the registry entry is gone).
|
|
265
|
+
*/
|
|
266
|
+
function wireJobCancel(controller) {
|
|
267
|
+
const jobSnap = currentJob();
|
|
268
|
+
if (jobSnap?.jobId) {
|
|
269
|
+
awaitJobCancel(jobSnap.jobId)
|
|
270
|
+
.then(() => {
|
|
271
|
+
if (!controller.signal.aborted) {
|
|
272
|
+
controller.abort();
|
|
273
|
+
}
|
|
274
|
+
})
|
|
275
|
+
.catch(() => {
|
|
276
|
+
// Defensive: napi rejection here would be unusual (the Rust
|
|
277
|
+
// implementation only awaits a CancellationToken), but a
|
|
278
|
+
// runtime shutdown mid-await could surface one. Swallow —
|
|
279
|
+
// the worst case is that the outbound fetch isn't proactively
|
|
280
|
+
// aborted, and the existing timeout / fetch-completion path
|
|
281
|
+
// still applies.
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Call an MCP tool via HTTP POST.
|
|
287
|
+
*
|
|
288
|
+
* Uses the MCP HTTP Streamable protocol:
|
|
289
|
+
* POST /mcp with JSON-RPC 2.0 payload.
|
|
290
|
+
* Includes distributed tracing: propagates trace context and publishes spans.
|
|
291
|
+
*/
|
|
292
|
+
export async function callMcpTool(endpoint, toolName, args, options, capability, extraHeaders) {
|
|
293
|
+
const { mcpEndpoint, bodyStr, requestBytes, headers, effectiveTimeout, traceCtx, spanId, startTime, } = buildMcpRequest(endpoint, toolName, args, options, extraHeaders, DEFAULT_CALL_OPTIONS.timeout);
|
|
294
|
+
let lastError = null;
|
|
240
295
|
for (let attempt = 0; attempt < options.maxAttempts; attempt++) {
|
|
241
296
|
try {
|
|
242
297
|
const controller = new AbortController();
|
|
243
298
|
const timeoutId = setTimeout(() => controller.abort(), effectiveTimeout);
|
|
244
|
-
|
|
245
|
-
// this outbound call is running under a MeshJob context AND the
|
|
246
|
-
// registry forwards a cancel via POST /jobs/{id}/cancel, fire the
|
|
247
|
-
// outbound AbortController so in-flight fetch is cancelled instead
|
|
248
|
-
// of stalling on socket reads. Fire-and-forget — the listener races
|
|
249
|
-
// against fetch completion / timeout; whichever wins, the others
|
|
250
|
-
// become no-ops (`controller.abort()` is idempotent and the dangling
|
|
251
|
-
// Promise resolves immediately once the registry entry is gone).
|
|
252
|
-
const jobSnap = currentJob();
|
|
253
|
-
if (jobSnap?.jobId) {
|
|
254
|
-
awaitJobCancel(jobSnap.jobId)
|
|
255
|
-
.then(() => {
|
|
256
|
-
if (!controller.signal.aborted) {
|
|
257
|
-
controller.abort();
|
|
258
|
-
}
|
|
259
|
-
})
|
|
260
|
-
.catch(() => {
|
|
261
|
-
// Defensive: napi rejection here would be unusual (the Rust
|
|
262
|
-
// implementation only awaits a CancellationToken), but a
|
|
263
|
-
// runtime shutdown mid-await could surface one. Swallow —
|
|
264
|
-
// the worst case is that the outbound fetch isn't proactively
|
|
265
|
-
// aborted, and the existing timeout / fetch-completion path
|
|
266
|
-
// still applies.
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
// Build headers: custom headers first, then protocol-required headers override
|
|
270
|
-
const headers = {
|
|
271
|
-
...(options.customHeaders ?? {}),
|
|
272
|
-
"Content-Type": "application/json",
|
|
273
|
-
Accept: "application/json, text/event-stream",
|
|
274
|
-
};
|
|
275
|
-
// Propagate trace context (higher priority)
|
|
276
|
-
if (traceCtx && spanId) {
|
|
277
|
-
Object.assign(headers, createTraceHeaders(traceCtx.traceId, spanId));
|
|
278
|
-
}
|
|
279
|
-
// Inject merged headers (highest priority)
|
|
280
|
-
for (const [key, value] of Object.entries(mergedHeaders)) {
|
|
281
|
-
headers[key] = value;
|
|
282
|
-
}
|
|
283
|
-
// Set X-Mesh-Timeout for registry proxy (#769). If already propagated, keep it.
|
|
284
|
-
if (!headers["X-Mesh-Timeout"] && !headers["x-mesh-timeout"]) {
|
|
285
|
-
const callTimeout = process.env.MCP_MESH_CALL_TIMEOUT || String(Math.floor(options.timeout / 1000));
|
|
286
|
-
headers["X-Mesh-Timeout"] = callTimeout;
|
|
287
|
-
}
|
|
299
|
+
wireJobCancel(controller);
|
|
288
300
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
289
301
|
const fetchOptions = {
|
|
290
302
|
method: "POST",
|
|
@@ -310,7 +322,7 @@ export async function callMcpTool(endpoint, toolName, args, options, capability,
|
|
|
310
322
|
const contentType = response.headers.get("content-type") ?? "";
|
|
311
323
|
// Handle SSE streaming response
|
|
312
324
|
if (contentType.includes("text/event-stream")) {
|
|
313
|
-
const sseResult = await
|
|
325
|
+
const sseResult = await readSSEResponseToContent(response);
|
|
314
326
|
// Estimate response size from content-length header (exact size not available for SSE)
|
|
315
327
|
const sseResponseBytes = contentLength > 0 ? contentLength : undefined;
|
|
316
328
|
// Publish success span
|
|
@@ -327,6 +339,17 @@ export async function callMcpTool(endpoint, toolName, args, options, capability,
|
|
|
327
339
|
publishProxySpan(traceCtx, spanId, startTime, toolName, capability, endpoint, false, errorMsg, "error", requestBytes, responseBytes);
|
|
328
340
|
throw new Error(`MCP error: ${errorMsg}`);
|
|
329
341
|
}
|
|
342
|
+
// Surface tool-level errors. An MCP CallToolResult with isError === true
|
|
343
|
+
// carries the failure message in its content; the JSON-RPC envelope above
|
|
344
|
+
// is success in that case. Throw so callers (LLM provider, tool proxy)
|
|
345
|
+
// re-wrap it instead of returning the error text as a successful result.
|
|
346
|
+
const innerResult = result.result;
|
|
347
|
+
if (innerResult && typeof innerResult === "object" && innerResult.isError === true) {
|
|
348
|
+
const toolErr = extractContent(innerResult);
|
|
349
|
+
const toolErrMsg = typeof toolErr === "string" ? toolErr : JSON.stringify(toolErr);
|
|
350
|
+
publishProxySpan(traceCtx, spanId, startTime, toolName, capability, endpoint, false, toolErrMsg, "error", requestBytes, responseBytes);
|
|
351
|
+
throw new Error(`MCP tool error: ${toolErrMsg}`);
|
|
352
|
+
}
|
|
330
353
|
// Extract content from result
|
|
331
354
|
const content = extractContent(result.result);
|
|
332
355
|
// Publish success span
|
|
@@ -376,120 +399,17 @@ export async function callMcpTool(endpoint, toolName, args, options, capability,
|
|
|
376
399
|
* ``fetch`` is aborted via ``AbortController`` and the reader is released.
|
|
377
400
|
*/
|
|
378
401
|
export async function* streamMcpTool(endpoint, toolName, args, options, capability, extraHeaders) {
|
|
379
|
-
//
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
: `${endpoint.replace(/\/$/, "")}/mcp`;
|
|
383
|
-
// Tracing: create span for this outgoing proxy stream call
|
|
384
|
-
const traceCtx = getCurrentTraceContext();
|
|
385
|
-
const spanId = traceCtx ? generateSpanId() : null;
|
|
386
|
-
const startTime = Date.now() / 1000;
|
|
387
|
-
// Build merged headers: session propagated + per-call (per-call wins, filtered by allowlist)
|
|
388
|
-
const propagatedHeaders = getCurrentPropagatedHeaders();
|
|
389
|
-
const mergedHeaders = { ...propagatedHeaders };
|
|
390
|
-
if (extraHeaders) {
|
|
391
|
-
for (const [key, value] of Object.entries(extraHeaders)) {
|
|
392
|
-
if (matchesPropagateHeader(key)) {
|
|
393
|
-
mergedHeaders[key.toLowerCase()] = value;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
// Build arguments with trace context injection via Rust core
|
|
398
|
-
let argsWithTrace;
|
|
399
|
-
if (traceCtx && spanId) {
|
|
400
|
-
try {
|
|
401
|
-
const argsJson = JSON.stringify(args ?? {});
|
|
402
|
-
const headersJson = Object.keys(mergedHeaders).length > 0 ? JSON.stringify(mergedHeaders) : undefined;
|
|
403
|
-
const injectedJson = injectTraceContext(argsJson, traceCtx.traceId, spanId, headersJson);
|
|
404
|
-
argsWithTrace = JSON.parse(injectedJson);
|
|
405
|
-
}
|
|
406
|
-
catch {
|
|
407
|
-
argsWithTrace = { ...(args ?? {}) };
|
|
408
|
-
argsWithTrace._trace_id = traceCtx.traceId;
|
|
409
|
-
argsWithTrace._parent_span = spanId;
|
|
410
|
-
if (Object.keys(mergedHeaders).length > 0) {
|
|
411
|
-
argsWithTrace._mesh_headers = mergedHeaders;
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
else {
|
|
416
|
-
argsWithTrace = { ...(args ?? {}) };
|
|
417
|
-
if (Object.keys(mergedHeaders).length > 0) {
|
|
418
|
-
argsWithTrace._mesh_headers = mergedHeaders;
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
// Generate progress token to correlate notifications with this call
|
|
402
|
+
// Generate progress token to correlate notifications with this call.
|
|
403
|
+
// The request id comes back from buildMcpRequest (it built the payload) so the
|
|
404
|
+
// final-result matching below stays in sync with the wire id.
|
|
422
405
|
const progressToken = generateProgressToken();
|
|
423
|
-
const requestId =
|
|
424
|
-
const payload = {
|
|
425
|
-
jsonrpc: "2.0",
|
|
426
|
-
id: requestId,
|
|
427
|
-
method: "tools/call",
|
|
428
|
-
params: {
|
|
429
|
-
name: toolName,
|
|
430
|
-
arguments: argsWithTrace,
|
|
431
|
-
_meta: { progressToken },
|
|
432
|
-
},
|
|
433
|
-
};
|
|
434
|
-
// Use X-Mesh-Timeout from propagated headers to override client timeout (#769)
|
|
435
|
-
let effectiveTimeout = options.timeout;
|
|
436
|
-
const meshTimeoutStr = mergedHeaders["x-mesh-timeout"];
|
|
437
|
-
if (meshTimeoutStr) {
|
|
438
|
-
const meshTimeoutMs = parseInt(meshTimeoutStr, 10) * 1000;
|
|
439
|
-
if (!isNaN(meshTimeoutMs) && meshTimeoutMs > 0) {
|
|
440
|
-
effectiveTimeout = meshTimeoutMs;
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
// Stream timeout defaults are usually generous (300s) but a partial caller
|
|
444
|
-
// options object could leave this undefined or non-positive — that would
|
|
445
|
-
// cause setTimeout to fire on next tick and abort the stream immediately.
|
|
446
|
-
// Fall back to the buffered call default in that case.
|
|
447
|
-
if (typeof effectiveTimeout !== "number" || effectiveTimeout <= 0) {
|
|
448
|
-
effectiveTimeout = DEFAULT_CALL_OPTIONS.streamTimeout;
|
|
449
|
-
}
|
|
450
|
-
const bodyStr = JSON.stringify(payload);
|
|
451
|
-
const requestBytes = Buffer.byteLength(bodyStr, "utf8");
|
|
406
|
+
const { mcpEndpoint, bodyStr, requestId, requestBytes, headers, effectiveTimeout, traceCtx, spanId, startTime, } = buildMcpRequest(endpoint, toolName, args, options, extraHeaders, DEFAULT_CALL_OPTIONS.streamTimeout, { progressToken });
|
|
452
407
|
const controller = new AbortController();
|
|
453
408
|
const timeoutId = setTimeout(() => controller.abort(), effectiveTimeout);
|
|
454
|
-
// Wire per-job cancel propagation (#886)
|
|
455
|
-
//
|
|
456
|
-
//
|
|
457
|
-
|
|
458
|
-
const jobSnap = currentJob();
|
|
459
|
-
if (jobSnap?.jobId) {
|
|
460
|
-
awaitJobCancel(jobSnap.jobId)
|
|
461
|
-
.then(() => {
|
|
462
|
-
if (!controller.signal.aborted) {
|
|
463
|
-
controller.abort();
|
|
464
|
-
}
|
|
465
|
-
})
|
|
466
|
-
.catch(() => {
|
|
467
|
-
// Defensive: napi rejection here would be unusual (the Rust
|
|
468
|
-
// implementation only awaits a CancellationToken), but a
|
|
469
|
-
// runtime shutdown mid-await could surface one. Swallow — the
|
|
470
|
-
// worst case is that the outbound fetch isn't proactively
|
|
471
|
-
// aborted, and the existing timeout / fetch-completion path
|
|
472
|
-
// still applies.
|
|
473
|
-
});
|
|
474
|
-
}
|
|
475
|
-
// Build headers — FastMCP stateless HTTP requires BOTH content types in
|
|
476
|
-
// Accept (it returns SSE for streaming responses; missing application/json
|
|
477
|
-
// here yields 406 Not Acceptable). Matches the buffered callMcpTool path.
|
|
478
|
-
const headers = {
|
|
479
|
-
...(options.customHeaders ?? {}),
|
|
480
|
-
"Content-Type": "application/json",
|
|
481
|
-
Accept: "application/json, text/event-stream",
|
|
482
|
-
};
|
|
483
|
-
if (traceCtx && spanId) {
|
|
484
|
-
Object.assign(headers, createTraceHeaders(traceCtx.traceId, spanId));
|
|
485
|
-
}
|
|
486
|
-
for (const [key, value] of Object.entries(mergedHeaders)) {
|
|
487
|
-
headers[key] = value;
|
|
488
|
-
}
|
|
489
|
-
if (!headers["X-Mesh-Timeout"] && !headers["x-mesh-timeout"]) {
|
|
490
|
-
const callTimeout = process.env.MCP_MESH_CALL_TIMEOUT || String(Math.floor(options.timeout / 1000));
|
|
491
|
-
headers["X-Mesh-Timeout"] = callTimeout;
|
|
492
|
-
}
|
|
409
|
+
// Wire per-job cancel propagation (#886) — same pattern as callMcpTool so a
|
|
410
|
+
// cancel arriving mid-stream aborts the SSE reader instead of waiting for the
|
|
411
|
+
// next chunk / streamTimeout (default 300s).
|
|
412
|
+
wireJobCancel(controller);
|
|
493
413
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
494
414
|
const fetchOptions = {
|
|
495
415
|
method: "POST",
|
|
@@ -522,70 +442,39 @@ export async function* streamMcpTool(endpoint, toolName, args, options, capabili
|
|
|
522
442
|
throw new Error(`MCP stream call: expected text/event-stream response, got: ${sseContentType || "<no Content-Type header>"}`);
|
|
523
443
|
}
|
|
524
444
|
reader = response.body.getReader();
|
|
525
|
-
const
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
// Allow "data:" with no space (defensive)
|
|
547
|
-
dataLines.push(line.slice(5));
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
if (dataLines.length === 0)
|
|
551
|
-
continue;
|
|
552
|
-
const data = dataLines.join("\n");
|
|
553
|
-
if (!data)
|
|
554
|
-
continue;
|
|
555
|
-
// Parse the JSON-RPC message
|
|
556
|
-
let msg;
|
|
557
|
-
try {
|
|
558
|
-
msg = JSON.parse(data);
|
|
559
|
-
}
|
|
560
|
-
catch {
|
|
561
|
-
// Ignore non-JSON data events (defensive)
|
|
562
|
-
continue;
|
|
563
|
-
}
|
|
564
|
-
// Progress notification: yield message if it matches our token
|
|
565
|
-
if (msg.method === "notifications/progress" && msg.params) {
|
|
566
|
-
if (msg.params.progressToken === progressToken) {
|
|
567
|
-
// FastMCP sends ``message``; some implementations may send ``data``
|
|
568
|
-
const chunk = typeof msg.params.message === "string"
|
|
569
|
-
? msg.params.message
|
|
570
|
-
: typeof msg.params.data === "string"
|
|
571
|
-
? msg.params.data
|
|
572
|
-
: null;
|
|
573
|
-
if (chunk !== null) {
|
|
574
|
-
yield chunk;
|
|
575
|
-
}
|
|
445
|
+
for await (const data of iterateSSEEvents(reader)) {
|
|
446
|
+
// Parse the JSON-RPC message
|
|
447
|
+
let msg;
|
|
448
|
+
try {
|
|
449
|
+
msg = JSON.parse(data);
|
|
450
|
+
}
|
|
451
|
+
catch {
|
|
452
|
+
// Ignore non-JSON data events (defensive)
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
455
|
+
// Progress notification: yield message if it matches our token
|
|
456
|
+
if (msg.method === "notifications/progress" && msg.params) {
|
|
457
|
+
if (msg.params.progressToken === progressToken) {
|
|
458
|
+
// FastMCP sends ``message``; some implementations may send ``data``
|
|
459
|
+
const chunk = typeof msg.params.message === "string"
|
|
460
|
+
? msg.params.message
|
|
461
|
+
: typeof msg.params.data === "string"
|
|
462
|
+
? msg.params.data
|
|
463
|
+
: null;
|
|
464
|
+
if (chunk !== null) {
|
|
465
|
+
yield chunk;
|
|
576
466
|
}
|
|
577
|
-
continue;
|
|
578
467
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
streamDone = true;
|
|
587
|
-
break;
|
|
468
|
+
continue;
|
|
469
|
+
}
|
|
470
|
+
// Final response for our request: end the stream
|
|
471
|
+
if (msg.id !== undefined && msg.id === requestId) {
|
|
472
|
+
if (msg.error) {
|
|
473
|
+
const em = msg.error.message ?? JSON.stringify(msg.error);
|
|
474
|
+
throw new Error(`MCP error: ${em}`);
|
|
588
475
|
}
|
|
476
|
+
// result arrived — done; do NOT yield the buffered final result
|
|
477
|
+
break;
|
|
589
478
|
}
|
|
590
479
|
}
|
|
591
480
|
}
|
|
@@ -669,9 +558,55 @@ function publishProxySpan(traceCtx, spanId, startTime, _toolName, _capability, e
|
|
|
669
558
|
});
|
|
670
559
|
}
|
|
671
560
|
/**
|
|
672
|
-
*
|
|
561
|
+
* Split an SSE byte stream into raw `data:` payload strings.
|
|
562
|
+
*
|
|
563
|
+
* Reads from the given reader, normalizes CRLF→LF, separates events on blank
|
|
564
|
+
* lines (`\n\n`), and joins each event's `data:` lines per the SSE spec.
|
|
565
|
+
* Empty/data-less events are skipped. Yields one string per event so callers
|
|
566
|
+
* can JSON-parse and dispatch without re-implementing the framing.
|
|
567
|
+
*/
|
|
568
|
+
async function* iterateSSEEvents(reader) {
|
|
569
|
+
const decoder = new TextDecoder();
|
|
570
|
+
let buffer = "";
|
|
571
|
+
while (true) {
|
|
572
|
+
const { done, value } = await reader.read();
|
|
573
|
+
if (done)
|
|
574
|
+
break;
|
|
575
|
+
// Normalize CRLF to LF so the same parser handles either line ending
|
|
576
|
+
buffer += decoder.decode(value, { stream: true }).replace(/\r\n/g, "\n");
|
|
577
|
+
// SSE events are separated by blank lines (\n\n)
|
|
578
|
+
let sep;
|
|
579
|
+
while ((sep = buffer.indexOf("\n\n")) !== -1) {
|
|
580
|
+
const rawEvent = buffer.slice(0, sep);
|
|
581
|
+
buffer = buffer.slice(sep + 2);
|
|
582
|
+
// Collect data: lines from this event (per spec, multi-line data joined by \n)
|
|
583
|
+
const dataLines = [];
|
|
584
|
+
for (const line of rawEvent.split("\n")) {
|
|
585
|
+
if (line.startsWith("data: ")) {
|
|
586
|
+
dataLines.push(line.slice(6));
|
|
587
|
+
}
|
|
588
|
+
else if (line.startsWith("data:")) {
|
|
589
|
+
// Allow "data:" with no space (defensive)
|
|
590
|
+
dataLines.push(line.slice(5));
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
if (dataLines.length === 0)
|
|
594
|
+
continue;
|
|
595
|
+
const data = dataLines.join("\n");
|
|
596
|
+
if (!data)
|
|
597
|
+
continue;
|
|
598
|
+
yield data;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Read an SSE response from the MCP HTTP Streamable transport down to its
|
|
604
|
+
* final content (the JSON-RPC `result`).
|
|
605
|
+
*
|
|
606
|
+
* Distinct from `sse.ts`'s `parseSSEResponse` (string→object, Rust-core-backed):
|
|
607
|
+
* this consumes a whole `Response` body and returns the extracted content.
|
|
673
608
|
*/
|
|
674
|
-
async function
|
|
609
|
+
async function readSSEResponseToContent(response) {
|
|
675
610
|
const reader = response.body?.getReader();
|
|
676
611
|
if (!reader) {
|
|
677
612
|
throw new Error("No response body");
|
package/dist/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|