@ai-sdk/mcp 1.0.32 → 1.0.34

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/index.mjs CHANGED
@@ -1053,13 +1053,15 @@ var SseMCPTransport = class {
1053
1053
  url,
1054
1054
  headers,
1055
1055
  authProvider,
1056
- redirect = "follow"
1056
+ redirect = "follow",
1057
+ fetch: fetchFn
1057
1058
  }) {
1058
1059
  this.connected = false;
1059
1060
  this.url = new URL(url);
1060
1061
  this.headers = headers;
1061
1062
  this.authProvider = authProvider;
1062
1063
  this.redirectMode = redirect;
1064
+ this.fetchFn = fetchFn != null ? fetchFn : globalThis.fetch;
1063
1065
  }
1064
1066
  async commonHeaders(base) {
1065
1067
  const headers = {
@@ -1091,7 +1093,7 @@ var SseMCPTransport = class {
1091
1093
  const headers = await this.commonHeaders({
1092
1094
  Accept: "text/event-stream"
1093
1095
  });
1094
- const response = await fetch(this.url.href, {
1096
+ const response = await this.fetchFn(this.url.href, {
1095
1097
  headers,
1096
1098
  signal: (_a3 = this.abortController) == null ? void 0 : _a3.signal,
1097
1099
  redirect: this.redirectMode
@@ -1101,7 +1103,8 @@ var SseMCPTransport = class {
1101
1103
  try {
1102
1104
  const result = await auth(this.authProvider, {
1103
1105
  serverUrl: this.url,
1104
- resourceMetadataUrl: this.resourceMetadataUrl
1106
+ resourceMetadataUrl: this.resourceMetadataUrl,
1107
+ fetchFn: this.fetchFn
1105
1108
  });
1106
1109
  if (result !== "AUTHORIZED") {
1107
1110
  const error = new UnauthorizedError();
@@ -1216,13 +1219,14 @@ var SseMCPTransport = class {
1216
1219
  signal: (_a3 = this.abortController) == null ? void 0 : _a3.signal,
1217
1220
  redirect: this.redirectMode
1218
1221
  };
1219
- const response = await fetch(endpoint, init);
1222
+ const response = await this.fetchFn(endpoint.href, init);
1220
1223
  if (response.status === 401 && this.authProvider && !triedAuth) {
1221
1224
  this.resourceMetadataUrl = extractResourceMetadataUrl(response);
1222
1225
  try {
1223
1226
  const result = await auth(this.authProvider, {
1224
1227
  serverUrl: this.url,
1225
- resourceMetadataUrl: this.resourceMetadataUrl
1228
+ resourceMetadataUrl: this.resourceMetadataUrl,
1229
+ fetchFn: this.fetchFn
1226
1230
  });
1227
1231
  if (result !== "AUTHORIZED") {
1228
1232
  const error = new UnauthorizedError();
@@ -1263,7 +1267,8 @@ var HttpMCPTransport = class {
1263
1267
  url,
1264
1268
  headers,
1265
1269
  authProvider,
1266
- redirect = "follow"
1270
+ redirect = "follow",
1271
+ fetch: fetchFn
1267
1272
  }) {
1268
1273
  this.inboundReconnectAttempts = 0;
1269
1274
  this.reconnectionOptions = {
@@ -1276,6 +1281,7 @@ var HttpMCPTransport = class {
1276
1281
  this.headers = headers;
1277
1282
  this.authProvider = authProvider;
1278
1283
  this.redirectMode = redirect;
1284
+ this.fetchFn = fetchFn != null ? fetchFn : globalThis.fetch;
1279
1285
  }
1280
1286
  async commonHeaders(base) {
1281
1287
  const headers = {
@@ -1313,7 +1319,7 @@ var HttpMCPTransport = class {
1313
1319
  try {
1314
1320
  if (this.sessionId && this.abortController && !this.abortController.signal.aborted) {
1315
1321
  const headers = await this.commonHeaders({});
1316
- await fetch(this.url, {
1322
+ await this.fetchFn(this.url.href, {
1317
1323
  method: "DELETE",
1318
1324
  headers,
1319
1325
  signal: this.abortController.signal,
@@ -1340,7 +1346,7 @@ var HttpMCPTransport = class {
1340
1346
  signal: (_a3 = this.abortController) == null ? void 0 : _a3.signal,
1341
1347
  redirect: this.redirectMode
1342
1348
  };
1343
- const response = await fetch(this.url, init);
1349
+ const response = await this.fetchFn(this.url.href, init);
1344
1350
  const sessionId = response.headers.get("mcp-session-id");
1345
1351
  if (sessionId) {
1346
1352
  this.sessionId = sessionId;
@@ -1350,7 +1356,8 @@ var HttpMCPTransport = class {
1350
1356
  try {
1351
1357
  const result = await auth(this.authProvider, {
1352
1358
  serverUrl: this.url,
1353
- resourceMetadataUrl: this.resourceMetadataUrl
1359
+ resourceMetadataUrl: this.resourceMetadataUrl,
1360
+ fetchFn: this.fetchFn
1354
1361
  });
1355
1362
  if (result !== "AUTHORIZED") {
1356
1363
  const error2 = new UnauthorizedError();
@@ -1484,7 +1491,7 @@ var HttpMCPTransport = class {
1484
1491
  if (resumeToken) {
1485
1492
  headers["last-event-id"] = resumeToken;
1486
1493
  }
1487
- const response = await fetch(this.url.href, {
1494
+ const response = await this.fetchFn(this.url.href, {
1488
1495
  method: "GET",
1489
1496
  headers,
1490
1497
  signal: (_a3 = this.abortController) == null ? void 0 : _a3.signal,
@@ -1499,7 +1506,8 @@ var HttpMCPTransport = class {
1499
1506
  try {
1500
1507
  const result = await auth(this.authProvider, {
1501
1508
  serverUrl: this.url,
1502
- resourceMetadataUrl: this.resourceMetadataUrl
1509
+ resourceMetadataUrl: this.resourceMetadataUrl,
1510
+ fetchFn: this.fetchFn
1503
1511
  });
1504
1512
  if (result !== "AUTHORIZED") {
1505
1513
  const error = new UnauthorizedError();