agentfootprint 9.80.0 → 9.81.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 (61) hide show
  1. package/AGENTS.md +20 -0
  2. package/CHANGELOG.md +109 -0
  3. package/CLAUDE.md +2 -0
  4. package/dist/esm/lib/mcp/connectionRefusals.d.ts +30 -0
  5. package/dist/esm/lib/mcp/connectionRefusals.js +110 -0
  6. package/dist/esm/lib/mcp/connectionRefusals.js.map +1 -0
  7. package/dist/esm/lib/mcp/index.d.ts +3 -2
  8. package/dist/esm/lib/mcp/index.js +4 -0
  9. package/dist/esm/lib/mcp/index.js.map +1 -1
  10. package/dist/esm/lib/mcp/mcpClient.d.ts +18 -5
  11. package/dist/esm/lib/mcp/mcpClient.js +102 -38
  12. package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
  13. package/dist/esm/lib/mcp/mcpServe.js +45 -13
  14. package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
  15. package/dist/esm/lib/mcp/sdkLoadFailure.d.ts +60 -0
  16. package/dist/esm/lib/mcp/sdkLoadFailure.js +74 -0
  17. package/dist/esm/lib/mcp/sdkLoadFailure.js.map +1 -0
  18. package/dist/esm/lib/mcp/throttleRetry.d.ts +20 -1
  19. package/dist/esm/lib/mcp/throttleRetry.js +20 -1
  20. package/dist/esm/lib/mcp/throttleRetry.js.map +1 -1
  21. package/dist/esm/lib/mcp/transportUrl.d.ts +30 -0
  22. package/dist/esm/lib/mcp/transportUrl.js +71 -0
  23. package/dist/esm/lib/mcp/transportUrl.js.map +1 -0
  24. package/dist/esm/lib/mcp/types.d.ts +143 -13
  25. package/dist/esm/tool-providers/index.d.ts +2 -2
  26. package/dist/esm/tool-providers/index.js +6 -1
  27. package/dist/esm/tool-providers/index.js.map +1 -1
  28. package/dist/lib/mcp/connectionRefusals.js +114 -0
  29. package/dist/lib/mcp/connectionRefusals.js.map +1 -0
  30. package/dist/lib/mcp/index.js +6 -1
  31. package/dist/lib/mcp/index.js.map +1 -1
  32. package/dist/lib/mcp/mcpClient.js +102 -38
  33. package/dist/lib/mcp/mcpClient.js.map +1 -1
  34. package/dist/lib/mcp/mcpServe.js +45 -13
  35. package/dist/lib/mcp/mcpServe.js.map +1 -1
  36. package/dist/lib/mcp/sdkLoadFailure.js +78 -0
  37. package/dist/lib/mcp/sdkLoadFailure.js.map +1 -0
  38. package/dist/lib/mcp/throttleRetry.js +20 -1
  39. package/dist/lib/mcp/throttleRetry.js.map +1 -1
  40. package/dist/lib/mcp/transportUrl.js +75 -0
  41. package/dist/lib/mcp/transportUrl.js.map +1 -0
  42. package/dist/tool-providers/index.js +6 -1
  43. package/dist/tool-providers/index.js.map +1 -1
  44. package/dist/types/lib/mcp/connectionRefusals.d.ts +31 -0
  45. package/dist/types/lib/mcp/connectionRefusals.d.ts.map +1 -0
  46. package/dist/types/lib/mcp/index.d.ts +3 -2
  47. package/dist/types/lib/mcp/index.d.ts.map +1 -1
  48. package/dist/types/lib/mcp/mcpClient.d.ts +18 -5
  49. package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
  50. package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
  51. package/dist/types/lib/mcp/sdkLoadFailure.d.ts +61 -0
  52. package/dist/types/lib/mcp/sdkLoadFailure.d.ts.map +1 -0
  53. package/dist/types/lib/mcp/throttleRetry.d.ts +20 -1
  54. package/dist/types/lib/mcp/throttleRetry.d.ts.map +1 -1
  55. package/dist/types/lib/mcp/transportUrl.d.ts +31 -0
  56. package/dist/types/lib/mcp/transportUrl.d.ts.map +1 -0
  57. package/dist/types/lib/mcp/types.d.ts +143 -13
  58. package/dist/types/lib/mcp/types.d.ts.map +1 -1
  59. package/dist/types/tool-providers/index.d.ts +2 -2
  60. package/dist/types/tool-providers/index.d.ts.map +1 -1
  61. package/package.json +1 -1
@@ -64,6 +64,7 @@ import { unconfiguredCredentialProvider } from '../../identity/types.js';
64
64
  import { unconfiguredArtifacts } from '../../artifacts/capability.js';
65
65
  import { wantsNeedsStoreRefusal } from '../../artifacts/wants.js';
66
66
  import { lazyRequire } from '../lazyRequire.js';
67
+ import { sdkLoadFailure } from './sdkLoadFailure.js';
67
68
  import { MCP_TOOL_EXTRAS_KEY, toolExtrasOf } from './toolExtras.js';
68
69
  import { runToolChain, runToolAfterChain } from '../../core/agent/middleware/runChain.js';
69
70
  const DEFAULT_SERVER_NAME = 'agentfootprint';
@@ -399,15 +400,31 @@ function toolError(message) {
399
400
  return { content: [{ type: 'text', text: message }], isError: true };
400
401
  }
401
402
  // ─── SDK construction (lazy require) ───────────────────────────────
403
+ /**
404
+ * What to say when the LOADER, not the package, is the thing that is missing.
405
+ *
406
+ * `mcpServe` has no browser-shaped answer to offer: it listens on stdio or on a
407
+ * Node HTTP socket, and neither exists in a browser. So the honest sentence
408
+ * names the runtime instead of inventing a seam — the point of the classifier
409
+ * is to stop telling people to install a package they already have, not to
410
+ * promise this direction is portable.
411
+ */
412
+ const SERVE_IS_A_NODE_ROLE = 'mcpServe listens on stdio or on a Node HTTP socket, so this direction of MCP ' +
413
+ 'cannot run in a browser at all.';
402
414
  async function resolveServer(name, version) {
403
415
  let mod;
404
416
  try {
405
417
  mod = lazyRequire('@modelcontextprotocol/sdk/server/index.js');
406
418
  }
407
- catch {
408
- throw new Error('mcpServe requires @modelcontextprotocol/sdk.\n' +
409
- ' Install: npm install @modelcontextprotocol/sdk\n' +
410
- ' Or pass `_server` for test injection.');
419
+ catch (err) {
420
+ throw new Error(sdkLoadFailure(err, {
421
+ notInstalled: 'mcpServe requires @modelcontextprotocol/sdk.\n' +
422
+ ' Install: npm install @modelcontextprotocol/sdk\n' +
423
+ ' Or pass `_server` for test injection.',
424
+ caller: 'mcpServe',
425
+ specifier: '@modelcontextprotocol/sdk/server/index.js',
426
+ instead: `${SERVE_IS_A_NODE_ROLE} Pass \`_server\` to serve a server you built yourself.`,
427
+ }));
411
428
  }
412
429
  return new mod.Server({ name, version }, { capabilities: { tools: {} } });
413
430
  }
@@ -424,9 +441,14 @@ async function resolveRequestSchemas(injected) {
424
441
  try {
425
442
  types = lazyRequire('@modelcontextprotocol/sdk/types.js');
426
443
  }
427
- catch {
428
- throw new Error('mcpServe requires @modelcontextprotocol/sdk/types.js — check that ' +
429
- '@modelcontextprotocol/sdk is installed at the latest version.');
444
+ catch (err) {
445
+ throw new Error(sdkLoadFailure(err, {
446
+ notInstalled: 'mcpServe requires @modelcontextprotocol/sdk/types.js — check that ' +
447
+ '@modelcontextprotocol/sdk is installed at the latest version.',
448
+ caller: 'mcpServe',
449
+ specifier: '@modelcontextprotocol/sdk/types.js',
450
+ instead: SERVE_IS_A_NODE_ROLE,
451
+ }));
430
452
  }
431
453
  return { listSchema: types.ListToolsRequestSchema, callSchema: types.CallToolRequestSchema };
432
454
  }
@@ -456,9 +478,14 @@ async function connectTransport(sdk, transport, opts, newServer) {
456
478
  try {
457
479
  stdioMod = lazyRequire('@modelcontextprotocol/sdk/server/stdio.js');
458
480
  }
459
- catch {
460
- throw new Error('mcpServe(stdio) requires @modelcontextprotocol/sdk/server/stdio.js — ' +
461
- 'check that @modelcontextprotocol/sdk is installed at the latest version.');
481
+ catch (err) {
482
+ throw new Error(sdkLoadFailure(err, {
483
+ notInstalled: 'mcpServe(stdio) requires @modelcontextprotocol/sdk/server/stdio.js — ' +
484
+ 'check that @modelcontextprotocol/sdk is installed at the latest version.',
485
+ caller: 'mcpServe(stdio)',
486
+ specifier: '@modelcontextprotocol/sdk/server/stdio.js',
487
+ instead: SERVE_IS_A_NODE_ROLE,
488
+ }));
462
489
  }
463
490
  await sdk.connect(new stdioMod.StdioServerTransport());
464
491
  return NOTHING_TO_UNWIND;
@@ -489,9 +516,14 @@ async function connectHttp(transport, newServer) {
489
516
  try {
490
517
  httpMod = lazyRequire('@modelcontextprotocol/sdk/server/streamableHttp.js');
491
518
  }
492
- catch {
493
- throw new Error('mcpServe(http) requires @modelcontextprotocol/sdk/server/streamableHttp.js — ' +
494
- 'check that @modelcontextprotocol/sdk is installed at the latest version.');
519
+ catch (err) {
520
+ throw new Error(sdkLoadFailure(err, {
521
+ notInstalled: 'mcpServe(http) requires @modelcontextprotocol/sdk/server/streamableHttp.js — ' +
522
+ 'check that @modelcontextprotocol/sdk is installed at the latest version.',
523
+ caller: 'mcpServe(http)',
524
+ specifier: '@modelcontextprotocol/sdk/server/streamableHttp.js',
525
+ instead: SERVE_IS_A_NODE_ROLE,
526
+ }));
495
527
  }
496
528
  const { createServer } = await import('node:http');
497
529
  const serveOne = async (req, res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServe.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpServe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAOH,OAAO,EAAE,eAAe,EAAsB,MAAM,4BAA4B,CAAC;AAEjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AASlE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE1F,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,MAAM,sBAAsB,GAAG,OAAO,CAAC;AACvC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAsB,EACtB,OAAwB,EAAE;IAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,sBAAsB,CAAC;IACvD,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,8BAA8B,EAAE,CAAC;IAEzE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,mEAAmE;QACnE,uEAAuE;QACvE,+DAA+D;QAC/D,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;YACnB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAChF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;YACvE,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,wEAAwE;IACxE,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAE3F,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,UAAU,GAAG,KAAK,EACtB,OAA2B,EAC3B,KAAwC,EACtB,EAAE;QACpB,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,SAAS,CACd,iBAAiB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,OAAO;qBACzD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;YAElD,iEAAiE;YACjE,+DAA+D;YAC/D,kEAAkE;YAClE,gCAAgC;YAChC,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,SAAoB,CAAC;YAEjD,qEAAqE;YACrE,uEAAuE;YACvE,uEAAuE;YACvE,yEAAyE;YACzE,6DAA6D;YAC7D,EAAE;YACF,wEAAwE;YACxE,yEAAyE;YACzE,wCAAwC;YACxC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAsC,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE;oBACtD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBAC1B,sEAAsE;oBACtE,kEAAkE;oBAClE,qEAAqE;oBACrE,oEAAoE;oBACpE,kEAAkE;oBAClE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC7D,UAAU;oBACV,SAAS,EAAE,CAAC;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC9C,qEAAqE;oBACrE,2BAA2B;oBAC3B,SAAS,EAAE,QAAQ;iBACpB,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;oBAAE,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9D,qEAAqE;gBACrE,wEAAwE;gBACxE,8DAA8D;gBAC9D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;oBAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACrD,CAAC;YAED,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE;gBACxD,WAAW;gBACX,cAAc,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS;gBAC9C,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/C,CAAC,CAAC;YACH,IAAI,SAAS,IAAI,GAAG;gBAAE,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEpD,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,2DAA2D;YAC3D,oEAAoE;YACpE,gDAAgD;YAChD,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;oBAAS,CAAC;gBACT,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC;YAED,2EAA2E;YAC3E,yEAAyE;YACzE,oEAAoE;YACpE,iEAAiE;YACjE,EAAE;YACF,sEAAsE;YACtE,yEAAyE;YACzE,sEAAsE;YACtE,uDAAuD;YACvD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC3D,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBAC1B,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC7D,UAAU;oBACV,SAAS,EAAE,CAAC;oBACZ,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAsC;oBACvD,MAAM;oBACN,OAAO,EAAE,EAAE;oBACX,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;iBAC/C,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;oBAAE,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAChF,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACH,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAgB,EAAE;QACrD,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,GAAG,EACH,IAAI,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EACxC,IAAI,EACJ,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACxD,CAAC;IAEF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,uEAAuE;QACvE,mEAAmE;QACnE,mEAAmE;QACnE,oBAAoB;QACpB,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI;YACpC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;YAC3B,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;SAClC,CAAC;QACF,KAAK,CAAC,KAAK;YACT,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,KAAsB,EACtB,UAAkB,EAClB,WAA2C;IAE3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,aAAa,UAAU,2DAA2D;YAChF,wEAAwE,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,aAAa,UAAU,4BAA4B,IAAI,6BAA6B;gBAClF,iDAAiD,CACpD,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,aAAa,UAAU,aAAa,IAAI,4CAA4C;gBAClF,kFAAkF;gBAClF,+EAA+E;gBAC/E,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,aAAa,UAAU,aAAa,IAAI,8BAA8B;gBACpE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,gDAAgD;gBACzE,iFAAiF;gBACjF,qCAAqC,CACxC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sEAAsE;AAEtE;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAClC,IAAU,EACV,UAAkB,EAClB,MAIC;IAED,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACvD,IAAI,UAAkC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IACxB,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACtC,CAAC,CAAC;QACH,kEAAkE;QAClE,iDAAiD;QACjD,EAAE;QACF,uEAAuE;QACvE,2EAA2E;QAC3E,sEAAsE;QACtE,yEAAyE;QACzE,qEAAqE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EACL,+BAA+B,IAAI,CAAC,UAAU,2BAA2B;oBACzE,wEAAwE;oBACxE,iDAAiD,IAAI,CAAC,UAAU,IAAI;aACvE,CAAC;QACJ,CAAC;QACD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACnC,CAAC;IACD,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,OAAO;QACL,OAAO,EAAE;YACP,UAAU;YACV,8DAA8D;YAC9D,4DAA4D;YAC5D,SAAS,EAAE,CAAC;YACZ,WAAW;YACX,cAAc;YACd,mEAAmE;YACnE,uEAAuE;YACvE,qEAAqE;YACrE,qEAAqE;YACrE,SAAS,EAAE,qBAAqB,EAAE;YAClC,YAAY,EAAE,KAAK;YACnB,oEAAoE;YACpE,sEAAsE;YACtE,mEAAmE;YACnE,sEAAsE;YACtE,uEAAuE;YACvE,yEAAyE;YACzE,iEAAiE;YACjE,QAAQ,EAAE,GAAG,EAAE;gBACb,kDAAkD;YACpD,CAAC;YACD,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;YACzB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;YACjC,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,qEAAqE;YACrE,wEAAwE;YACxE,UAAU;YACV,cAAc,EAAE,mBAAmB;YACnC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;gBACtC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,wBAAwB,KAAK,yBAAyB;wBAC7E,+EAA+E;wBAC/E,8EAA8E;wBAC9E,gCAAgC,CACnC,CAAC;gBACJ,CAAC;gBACD,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;SACF;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,mBAAmB,GAA6B,CAAC,MAAM,CAAC,CAAC;AAE/D,sEAAsE;AAEtE,0EAA0E;AAC1E,SAAS,eAAe,CAAC,MAAe;IACtC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;QACrE,uBAAuB;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,SAAS,CAAC,OAAe;IAIhC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,sEAAsE;AAEtE,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe;IACxD,IAAI,GAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,GAAG,GAAG,WAAW,CAAmB,2CAA2C,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,gDAAgD;YAC9C,qDAAqD;YACrD,yCAAyC,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,QAAiB;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,KAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAkB,oCAAoC,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oEAAoE;YAClE,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC;AAC/F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAC3E,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAgB1E;;;;GAIG;AACH,MAAM,iBAAiB,GAAe,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAEzE,KAAK,UAAU,gBAAgB,CAC7B,GAAiB,EACjB,SAA4B,EAC5B,IAAqB,EACrB,SAAsC;IAEtC,qEAAqE;IACrE,iEAAiE;IACjE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpC,IAAI,QAA+B,CAAC;QACpC,IAAI,CAAC;YACH,QAAQ,GAAG,WAAW,CAAwB,2CAA2C,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,uEAAuE;gBACrE,0EAA0E,CAC7E,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACvD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,sEAAsE;IACtE,wEAAwE;IACxE,wDAAwD;IACxD,OAAO,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,WAAW,CACxB,SAAgC,EAChC,SAAsC;IAEtC,IAAI,OAA6B,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CACnB,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,+EAA+E;YAC7E,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAY,EAAE,GAAmB,EAAiB,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,6BAA6B,CAAC;YAC7D,kBAAkB,EAAE,SAAS;SAC9B,CAAC,CAAC;QACH,uDAAuD;QACvD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,iBAAiB,CAAC;IACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzC,kEAAkE;QAClE,0CAA0C;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,oEAAoE;QACpE,qEAAqE;QACrE,sBAAsB;QACtB,KAAK,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;YAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;;YACtF,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,kCAAkC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEjC,OAAO;QACL,GAAG,CAAC,KAAK,KAAK,IAAI;YAChB,OAAO,KAAK,KAAK,QAAQ,IAAI;YAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;SACpD,CAAC;QACJ,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mcpServe.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpServe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * sdkLoadFailure — say WHY the MCP SDK did not load, because there are two
3
+ * reasons and only one of them is "install it".
4
+ *
5
+ * ── The lie this exists to stop ──────────────────────────────────────────────
6
+ * Every SDK load in this module used to sit behind a BARE `catch`, and a bare
7
+ * catch cannot tell the two apart:
8
+ *
9
+ * 1. the package really is absent — `Cannot find module …`; and
10
+ * 2. the LOADER is absent — `lazyRequire` reaches for `createRequire`, which
11
+ * exists in Node and does not exist in a browser bundle, where a bundler
12
+ * has externalized `node:module` to a stub.
13
+ *
14
+ * Case 2 raises `TypeError: nodeModule.createRequire is not a function`, and a
15
+ * bare catch reported it as "install @modelcontextprotocol/sdk" — to a browser
16
+ * that had the SDK installed all along. The reader then installs a package they
17
+ * already have, watches nothing change, and concludes MCP does not work here.
18
+ *
19
+ * ── The contract ─────────────────────────────────────────────────────────────
20
+ * The absent-package message is passed IN and returned VERBATIM, so the message
21
+ * every release before this one produced is byte-identical to the one this one
22
+ * produces. Only the second arm is new, and it names the underlying failure and
23
+ * the seam that gets past it.
24
+ *
25
+ * Pattern: pure classifier. No I/O, no throwing, no vendor names beyond the
26
+ * package it reports on. Role: Layer-3 tool transport, shared by `mcpClient`
27
+ * and `mcpServe` so the two cannot drift into telling different stories.
28
+ */
29
+ /**
30
+ * Everything a load site knows about its own failure. Split out so the same
31
+ * classifier serves seven call sites that each name a different specifier and
32
+ * offer a different way past it.
33
+ */
34
+ export interface SdkLoadFailureNotes {
35
+ /**
36
+ * The exact message this site produced before the classifier existed — the
37
+ * absent-package case, returned unchanged. Byte-compatibility is the point:
38
+ * a consumer scripting against that text keeps working.
39
+ */
40
+ readonly notInstalled: string;
41
+ /** The function the consumer called, e.g. `'mcpClient'`. */
42
+ readonly caller: string;
43
+ /** The module specifier that failed to load. */
44
+ readonly specifier: string;
45
+ /**
46
+ * One sentence naming what to pass instead when the LOADER, not the package,
47
+ * is what is missing. Written per site because the answer differs: the http
48
+ * path has `sdk` / `connection`, stdio has neither and never will.
49
+ */
50
+ readonly instead: string;
51
+ }
52
+ /**
53
+ * Which of the two failures happened, as a message.
54
+ *
55
+ * @param err whatever the `catch` bound — an `Error`, or anything else a
56
+ * loader can throw.
57
+ * @returns the absent-package message verbatim when the specifier could not be
58
+ * RESOLVED; otherwise a message naming the real failure and the way past it.
59
+ */
60
+ export declare function sdkLoadFailure(err: unknown, notes: SdkLoadFailureNotes): string;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * sdkLoadFailure — say WHY the MCP SDK did not load, because there are two
3
+ * reasons and only one of them is "install it".
4
+ *
5
+ * ── The lie this exists to stop ──────────────────────────────────────────────
6
+ * Every SDK load in this module used to sit behind a BARE `catch`, and a bare
7
+ * catch cannot tell the two apart:
8
+ *
9
+ * 1. the package really is absent — `Cannot find module …`; and
10
+ * 2. the LOADER is absent — `lazyRequire` reaches for `createRequire`, which
11
+ * exists in Node and does not exist in a browser bundle, where a bundler
12
+ * has externalized `node:module` to a stub.
13
+ *
14
+ * Case 2 raises `TypeError: nodeModule.createRequire is not a function`, and a
15
+ * bare catch reported it as "install @modelcontextprotocol/sdk" — to a browser
16
+ * that had the SDK installed all along. The reader then installs a package they
17
+ * already have, watches nothing change, and concludes MCP does not work here.
18
+ *
19
+ * ── The contract ─────────────────────────────────────────────────────────────
20
+ * The absent-package message is passed IN and returned VERBATIM, so the message
21
+ * every release before this one produced is byte-identical to the one this one
22
+ * produces. Only the second arm is new, and it names the underlying failure and
23
+ * the seam that gets past it.
24
+ *
25
+ * Pattern: pure classifier. No I/O, no throwing, no vendor names beyond the
26
+ * package it reports on. Role: Layer-3 tool transport, shared by `mcpClient`
27
+ * and `mcpServe` so the two cannot drift into telling different stories.
28
+ */
29
+ /**
30
+ * Which of the two failures happened, as a message.
31
+ *
32
+ * @param err whatever the `catch` bound — an `Error`, or anything else a
33
+ * loader can throw.
34
+ * @returns the absent-package message verbatim when the specifier could not be
35
+ * RESOLVED; otherwise a message naming the real failure and the way past it.
36
+ */
37
+ export function sdkLoadFailure(err, notes) {
38
+ const detail = detailOf(err);
39
+ if (isModuleNotFound(detail))
40
+ return notes.notInstalled;
41
+ return (`${notes.caller} could not load ${notes.specifier} through its Node loader.\n` +
42
+ ` Underlying failure: ${detail}\n` +
43
+ ' A browser bundle hits this: the Node `require` loader does not exist there,\n' +
44
+ ' so the package being installed is not the question.\n' +
45
+ ` ${notes.instead}`);
46
+ }
47
+ /**
48
+ * Did the loader fail to RESOLVE the specifier?
49
+ *
50
+ * Matched on the message rather than on a class, because the four runtimes that
51
+ * raise it disagree about the class: Node's CJS resolver throws `Error` with
52
+ * `code: 'MODULE_NOT_FOUND'`, its ESM resolver `ERR_MODULE_NOT_FOUND`, esbuild's
53
+ * `__require` shim a plain `Error`, and Vite a bare `TypeError` with neither.
54
+ * A message test is the one thing all four share.
55
+ *
56
+ * Deliberately CONSERVATIVE: anything unrecognised falls to the second arm,
57
+ * which prints the underlying failure. Guessing "not installed" is the failure
58
+ * mode this module exists to remove, so an unknown error must never land there.
59
+ */
60
+ function isModuleNotFound(detail) {
61
+ return /Cannot find module|MODULE_NOT_FOUND|ERR_MODULE_NOT_FOUND|Failed to resolve|Dynamic require of/i.test(detail);
62
+ }
63
+ /** The failure as text. Never throws — this runs inside an error path. */
64
+ function detailOf(err) {
65
+ if (err instanceof Error)
66
+ return err.message;
67
+ try {
68
+ return String(err);
69
+ }
70
+ catch {
71
+ return '(an error that could not be described)';
72
+ }
73
+ }
74
+ //# sourceMappingURL=sdkLoadFailure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkLoadFailure.js","sourceRoot":"","sources":["../../../../src/lib/mcp/sdkLoadFailure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA0BH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,KAA0B;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC,YAAY,CAAC;IACxD,OAAO,CACL,GAAG,KAAK,CAAC,MAAM,mBAAmB,KAAK,CAAC,SAAS,6BAA6B;QAC9E,yBAAyB,MAAM,IAAI;QACnC,iFAAiF;QACjF,yDAAyD;QACzD,KAAK,KAAK,CAAC,OAAO,EAAE,CACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,gGAAgG,CAAC,IAAI,CAC1G,MAAM,CACP,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,GAAY;IAC5B,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,wCAAwC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -102,9 +102,28 @@ export type RetryOnThrottle = boolean | ThrottleRetryOptions;
102
102
  * so a transport that passed no custom fetch keeps passing none and its
103
103
  * behaviour is byte-identical to before this existed.
104
104
  *
105
+ * ── Why this is public ───────────────────────────────────────────────────────
106
+ * `mcpClient({ transport })` applies it for you, ON by default. `mcpClient({
107
+ * connection })` cannot: the library builds no transport on that arm, so there
108
+ * is no `fetch` of its own to wrap — and a browser consumer, who is the main
109
+ * reason that arm exists, would silently lose the 429 handling Node gets for
110
+ * free. That asymmetry is invisible from the outside, which is why the answer
111
+ * is to hand over the same implementation rather than to document the gap:
112
+ *
113
+ * ```ts
114
+ * import { retryingFetch } from 'agentfootprint/providers';
115
+ * import { StreamableHTTPClientTransport }
116
+ * from '@modelcontextprotocol/sdk/client/streamableHttp.js';
117
+ *
118
+ * const transport = new StreamableHTTPClientTransport(new URL('/mcp', location.href), {
119
+ * fetch: retryingFetch(undefined, { maxAttempts: 5 }),
120
+ * });
121
+ * ```
122
+ *
105
123
  * @param inner the fetch to wrap. `undefined` means the global `fetch`,
106
124
  * resolved at CALL time so a later polyfill still wins.
107
- * @internal
125
+ * @param config `true` / `undefined` for the defaults, `false` to get `inner`
126
+ * back unchanged, or an object to tune the ceilings.
108
127
  */
109
128
  export declare function retryingFetch(inner: ThrottleFetch | undefined, config: RetryOnThrottle | undefined): ThrottleFetch | undefined;
110
129
  /**
@@ -63,9 +63,28 @@ function resolveConfig(config) {
63
63
  * so a transport that passed no custom fetch keeps passing none and its
64
64
  * behaviour is byte-identical to before this existed.
65
65
  *
66
+ * ── Why this is public ───────────────────────────────────────────────────────
67
+ * `mcpClient({ transport })` applies it for you, ON by default. `mcpClient({
68
+ * connection })` cannot: the library builds no transport on that arm, so there
69
+ * is no `fetch` of its own to wrap — and a browser consumer, who is the main
70
+ * reason that arm exists, would silently lose the 429 handling Node gets for
71
+ * free. That asymmetry is invisible from the outside, which is why the answer
72
+ * is to hand over the same implementation rather than to document the gap:
73
+ *
74
+ * ```ts
75
+ * import { retryingFetch } from 'agentfootprint/providers';
76
+ * import { StreamableHTTPClientTransport }
77
+ * from '@modelcontextprotocol/sdk/client/streamableHttp.js';
78
+ *
79
+ * const transport = new StreamableHTTPClientTransport(new URL('/mcp', location.href), {
80
+ * fetch: retryingFetch(undefined, { maxAttempts: 5 }),
81
+ * });
82
+ * ```
83
+ *
66
84
  * @param inner the fetch to wrap. `undefined` means the global `fetch`,
67
85
  * resolved at CALL time so a later polyfill still wins.
68
- * @internal
86
+ * @param config `true` / `undefined` for the defaults, `false` to get `inner`
87
+ * back unchanged, or an object to tune the ceilings.
69
88
  */
70
89
  export function retryingFetch(inner, config) {
71
90
  const resolved = resolveConfig(config);
@@ -1 +1 @@
1
- {"version":3,"file":"throttleRetry.js","sourceRoot":"","sources":["../../../../src/lib/mcp/throttleRetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"throttleRetry.js","sourceRoot":"","sources":["../../../../src/lib/mcp/throttleRetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * transportUrl — read `transport.url` the way the runtime it is running in
3
+ * would read it.
4
+ *
5
+ * ── Why ──────────────────────────────────────────────────────────────────────
6
+ * `new URL('/py/mcp')` throws `TypeError: Invalid URL`. In Node that is the
7
+ * right answer: there is no document, so there is no base, and a path on its
8
+ * own names nothing. In a browser it is the wrong answer twice over — the page
9
+ * HAS a base, and `/py/mcp` is the single most ordinary way to name a sidecar
10
+ * behind the same origin (which is also how you avoid a CORS preflight
11
+ * entirely). Before this, a browser consumer's first attempt died on a
12
+ * `TypeError` from deep inside the transport constructor, with nothing in the
13
+ * message naming the URL or the fix.
14
+ *
15
+ * ── The rule ─────────────────────────────────────────────────────────────────
16
+ * An ABSOLUTE url takes the identical first branch it always took, so every
17
+ * existing caller is byte-identical. A relative one resolves against
18
+ * `globalThis.location.href` when there is one. With neither, the refusal says
19
+ * which of the two worlds it is in, because "Invalid URL" does not.
20
+ *
21
+ * Pattern: pure function. Role: Layer-3 tool transport.
22
+ */
23
+ /**
24
+ * Resolve a transport URL, honouring a document base when the runtime has one.
25
+ *
26
+ * @param raw the `url` from an `http` or `gateway` transport descriptor
27
+ * @param caller the function to name in the refusal, e.g. `'mcpClient'`
28
+ * @throws when `raw` is neither absolute nor resolvable against a base
29
+ */
30
+ export declare function transportUrl(raw: string, caller: string): URL;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * transportUrl — read `transport.url` the way the runtime it is running in
3
+ * would read it.
4
+ *
5
+ * ── Why ──────────────────────────────────────────────────────────────────────
6
+ * `new URL('/py/mcp')` throws `TypeError: Invalid URL`. In Node that is the
7
+ * right answer: there is no document, so there is no base, and a path on its
8
+ * own names nothing. In a browser it is the wrong answer twice over — the page
9
+ * HAS a base, and `/py/mcp` is the single most ordinary way to name a sidecar
10
+ * behind the same origin (which is also how you avoid a CORS preflight
11
+ * entirely). Before this, a browser consumer's first attempt died on a
12
+ * `TypeError` from deep inside the transport constructor, with nothing in the
13
+ * message naming the URL or the fix.
14
+ *
15
+ * ── The rule ─────────────────────────────────────────────────────────────────
16
+ * An ABSOLUTE url takes the identical first branch it always took, so every
17
+ * existing caller is byte-identical. A relative one resolves against
18
+ * `globalThis.location.href` when there is one. With neither, the refusal says
19
+ * which of the two worlds it is in, because "Invalid URL" does not.
20
+ *
21
+ * Pattern: pure function. Role: Layer-3 tool transport.
22
+ */
23
+ /**
24
+ * Resolve a transport URL, honouring a document base when the runtime has one.
25
+ *
26
+ * @param raw the `url` from an `http` or `gateway` transport descriptor
27
+ * @param caller the function to name in the refusal, e.g. `'mcpClient'`
28
+ * @throws when `raw` is neither absolute nor resolvable against a base
29
+ */
30
+ export function transportUrl(raw, caller) {
31
+ try {
32
+ return new URL(raw);
33
+ }
34
+ catch {
35
+ // Not absolute. A browser can still resolve it; Node cannot.
36
+ }
37
+ const base = documentBase();
38
+ if (base !== undefined) {
39
+ try {
40
+ return new URL(raw, base);
41
+ }
42
+ catch {
43
+ // A base existed and still did not help — fall through to the refusal,
44
+ // which names both halves rather than blaming the url alone.
45
+ }
46
+ }
47
+ throw new Error(`${caller}: transport.url ${JSON.stringify(raw)} is not an absolute URL, and ` +
48
+ `${base === undefined
49
+ ? 'this runtime has no document base to resolve it against (Node, a worker, a test)'
50
+ : `it does not resolve against the document base ${JSON.stringify(base)}`}. ` +
51
+ 'Pass an absolute URL (for example `http://127.0.0.1:5230/mcp`); a path like ' +
52
+ '`/mcp` only resolves in a browser, against the page it was loaded from.');
53
+ }
54
+ /**
55
+ * The page's own URL, when there is a page.
56
+ *
57
+ * Read through `globalThis` and guarded, because every access here is on a
58
+ * host object this library does not own: `location` is absent in Node, present
59
+ * but href-less in some worker and test doubles, and a getter that throws in a
60
+ * sandboxed frame.
61
+ */
62
+ function documentBase() {
63
+ try {
64
+ const href = globalThis.location?.href;
65
+ return typeof href === 'string' && href.length > 0 ? href : undefined;
66
+ }
67
+ catch {
68
+ return undefined;
69
+ }
70
+ }
71
+ //# sourceMappingURL=transportUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transportUrl.js","sourceRoot":"","sources":["../../../../src/lib/mcp/transportUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,MAAc;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,6DAA6D;QAC/D,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,mBAAmB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B;QAC5E,GACE,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,kFAAkF;YACpF,CAAC,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC3E,IAAI;QACJ,8EAA8E;QAC9E,yEAAyE,CAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAI,UAAgD,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC9E,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}