@anthropic-ai/sdk 0.100.1 → 0.102.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 (101) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/_vendor/partial-json-parser/parser.d.mts.map +1 -1
  3. package/_vendor/partial-json-parser/parser.d.ts.map +1 -1
  4. package/_vendor/partial-json-parser/parser.js +14 -2
  5. package/_vendor/partial-json-parser/parser.js.map +1 -1
  6. package/_vendor/partial-json-parser/parser.mjs +14 -2
  7. package/_vendor/partial-json-parser/parser.mjs.map +1 -1
  8. package/client.d.mts +33 -1
  9. package/client.d.mts.map +1 -1
  10. package/client.d.ts +33 -1
  11. package/client.d.ts.map +1 -1
  12. package/client.js +89 -19
  13. package/client.js.map +1 -1
  14. package/client.mjs +89 -19
  15. package/client.mjs.map +1 -1
  16. package/core/api.d.mts +11 -0
  17. package/core/api.d.mts.map +1 -0
  18. package/core/api.d.ts +11 -0
  19. package/core/api.d.ts.map +1 -0
  20. package/core/api.js +3 -0
  21. package/core/api.js.map +1 -0
  22. package/core/api.mjs +2 -0
  23. package/core/api.mjs.map +1 -0
  24. package/core/error.d.mts +11 -0
  25. package/core/error.d.mts.map +1 -1
  26. package/core/error.d.ts +11 -0
  27. package/core/error.d.ts.map +1 -1
  28. package/core/error.js +17 -1
  29. package/core/error.js.map +1 -1
  30. package/core/error.mjs +15 -0
  31. package/core/error.mjs.map +1 -1
  32. package/core/middleware.d.mts +117 -0
  33. package/core/middleware.d.mts.map +1 -0
  34. package/core/middleware.d.ts +117 -0
  35. package/core/middleware.d.ts.map +1 -0
  36. package/core/middleware.js +167 -0
  37. package/core/middleware.js.map +1 -0
  38. package/core/middleware.mjs +161 -0
  39. package/core/middleware.mjs.map +1 -0
  40. package/index.d.mts +3 -2
  41. package/index.d.mts.map +1 -1
  42. package/index.d.ts +3 -2
  43. package/index.d.ts.map +1 -1
  44. package/index.js +2 -1
  45. package/index.js.map +1 -1
  46. package/index.mjs +2 -2
  47. package/index.mjs.map +1 -1
  48. package/internal/request-options.d.mts +7 -0
  49. package/internal/request-options.d.mts.map +1 -1
  50. package/internal/request-options.d.ts +7 -0
  51. package/internal/request-options.d.ts.map +1 -1
  52. package/internal/request-options.js.map +1 -1
  53. package/internal/request-options.mjs.map +1 -1
  54. package/lib/BetaMessageStream.d.mts.map +1 -1
  55. package/lib/BetaMessageStream.d.ts.map +1 -1
  56. package/lib/BetaMessageStream.js +3 -0
  57. package/lib/BetaMessageStream.js.map +1 -1
  58. package/lib/BetaMessageStream.mjs +3 -0
  59. package/lib/BetaMessageStream.mjs.map +1 -1
  60. package/package.json +1 -1
  61. package/resources/beta/agents/agents.d.mts +11 -21
  62. package/resources/beta/agents/agents.d.mts.map +1 -1
  63. package/resources/beta/agents/agents.d.ts +11 -21
  64. package/resources/beta/agents/agents.d.ts.map +1 -1
  65. package/resources/beta/agents/agents.js.map +1 -1
  66. package/resources/beta/agents/agents.mjs.map +1 -1
  67. package/resources/beta/messages/messages.d.mts +13 -2
  68. package/resources/beta/messages/messages.d.mts.map +1 -1
  69. package/resources/beta/messages/messages.d.ts +13 -2
  70. package/resources/beta/messages/messages.d.ts.map +1 -1
  71. package/resources/beta/messages/messages.js +2 -0
  72. package/resources/beta/messages/messages.js.map +1 -1
  73. package/resources/beta/messages/messages.mjs +2 -0
  74. package/resources/beta/messages/messages.mjs.map +1 -1
  75. package/resources/beta/webhooks.d.mts +22 -22
  76. package/resources/beta/webhooks.d.ts +22 -22
  77. package/resources/messages/messages.d.mts +1 -0
  78. package/resources/messages/messages.d.mts.map +1 -1
  79. package/resources/messages/messages.d.ts +1 -0
  80. package/resources/messages/messages.d.ts.map +1 -1
  81. package/resources/messages/messages.js +2 -0
  82. package/resources/messages/messages.js.map +1 -1
  83. package/resources/messages/messages.mjs +2 -0
  84. package/resources/messages/messages.mjs.map +1 -1
  85. package/src/_vendor/partial-json-parser/parser.ts +18 -2
  86. package/src/client.ts +124 -23
  87. package/src/core/api.ts +11 -0
  88. package/src/core/error.ts +15 -0
  89. package/src/core/middleware.ts +293 -0
  90. package/src/index.ts +10 -1
  91. package/src/internal/request-options.ts +8 -0
  92. package/src/lib/BetaMessageStream.ts +3 -0
  93. package/src/resources/beta/agents/agents.ts +12 -21
  94. package/src/resources/beta/messages/messages.ts +19 -2
  95. package/src/resources/beta/webhooks.ts +22 -22
  96. package/src/resources/messages/messages.ts +4 -0
  97. package/src/version.ts +1 -1
  98. package/version.d.mts +1 -1
  99. package/version.d.ts +1 -1
  100. package/version.js +1 -1
  101. package/version.mjs +1 -1
package/client.js CHANGED
@@ -17,6 +17,7 @@ const Errors = tslib_1.__importStar(require("./core/error.js"));
17
17
  const types_1 = require("./lib/credentials/types.js");
18
18
  const token_cache_1 = require("./lib/credentials/token-cache.js");
19
19
  const credential_chain_1 = require("./lib/credentials/credential-chain.js");
20
+ const middleware_1 = require("./core/middleware.js");
20
21
  const Pagination = tslib_1.__importStar(require("./core/pagination.js"));
21
22
  const Uploads = tslib_1.__importStar(require("./core/uploads.js"));
22
23
  const API = tslib_1.__importStar(require("./resources/index.js"));
@@ -110,6 +111,7 @@ class BaseAnthropic {
110
111
  this.maxRetries = options.maxRetries ?? 2;
111
112
  this.fetch = options.fetch ?? Shims.getDefaultFetch();
112
113
  tslib_1.__classPrivateFieldSet(this, _BaseAnthropic_encoder, Opts.FallbackEncoder, "f");
114
+ this.middleware = [...(options.middleware ?? [])];
113
115
  const customHeadersEnv = (0, env_1.readEnv)('ANTHROPIC_CUSTOM_HEADERS');
114
116
  if (customHeadersEnv) {
115
117
  const parsed = {};
@@ -192,7 +194,7 @@ class BaseAnthropic {
192
194
  _credentialResolverOptions() {
193
195
  return {
194
196
  baseURL: this.baseURL,
195
- fetch: this.fetch,
197
+ fetch: this._credentialsFetch(),
196
198
  userAgent: this.getUserAgent(),
197
199
  onCacheWriteError: (err) => {
198
200
  (0, log_1.loggerFor)(this).debug('credential cache write failed (best-effort)', err);
@@ -202,6 +204,18 @@ class BaseAnthropic {
202
204
  },
203
205
  };
204
206
  }
207
+ /**
208
+ * A `Fetch` for first-party credential token-exchange requests (OIDC
209
+ * federation jwt-bearer grants, user-OAuth refresh grants) that routes
210
+ * through this client's middleware chain, so middleware observes token
211
+ * traffic like any other request. Only client-level middleware applies:
212
+ * a minted token is shared across requests, so attributing the exchange
213
+ * to any one request's per-request middleware would be arbitrary. For the
214
+ * same reason, `ctx.options` is undefined for these requests.
215
+ */
216
+ _credentialsFetch() {
217
+ return (0, middleware_1.wrapFetchWithMiddleware)(this.fetch, this.middleware);
218
+ }
205
219
  _makeTokenCache(provider) {
206
220
  return new token_cache_1.TokenCache(provider, (err) => {
207
221
  (0, log_1.loggerFor)(this).debug('advisory token refresh failed; serving cached token', err);
@@ -234,6 +248,7 @@ class BaseAnthropic {
234
248
  logLevel: this.logLevel,
235
249
  fetch: this.fetch,
236
250
  fetchOptions: this.fetchOptions,
251
+ middleware: this.middleware,
237
252
  apiKey: this.apiKey,
238
253
  authToken: this.authToken,
239
254
  webhookKey: this.webhookKey,
@@ -392,6 +407,13 @@ class BaseAnthropic {
392
407
  *
393
408
  * This is useful for cases where you want to add certain headers based off of
394
409
  * the request properties, e.g. `method` or `url`.
410
+ *
411
+ * Runs after any middleware, immediately before each underlying fetch call,
412
+ * so request signing (e.g. SigV4 on Bedrock) sees exactly what goes over the
413
+ * wire. Middleware may replay a request by calling `next()` more than once,
414
+ * so this hook can run multiple times per attempt: overrides must be
415
+ * idempotent and overwrite auth headers from a previous invocation (e.g. a
416
+ * stale `Authorization`) rather than append to them.
395
417
  */
396
418
  async prepareRequest(request, { url, options }) {
397
419
  // Append auth-derived headers when using token auth. Done here (after all
@@ -452,23 +474,18 @@ class BaseAnthropic {
452
474
  const { req, url, timeout } = await this.buildRequest(options, {
453
475
  retryCount: maxRetries - retriesRemaining,
454
476
  });
455
- await this.prepareRequest(req, { url, options });
456
477
  /** Not an API request ID, just for correlating local log entries. */
457
478
  const requestLogID = 'log_' + ((Math.random() * (1 << 24)) | 0).toString(16).padStart(6, '0');
458
479
  const retryLogStr = retryOfRequestLogID === undefined ? '' : `, retryOf: ${retryOfRequestLogID}`;
459
480
  const startTime = Date.now();
460
- (0, log_1.loggerFor)(this).debug(`[${requestLogID}] sending request`, (0, log_1.formatRequestDetails)({
461
- retryOfRequestLogID,
462
- method: options.method,
463
- url,
464
- options,
465
- headers: req.headers,
466
- }));
467
481
  if (options.signal?.aborted) {
468
482
  throw new Errors.APIUserAbortError();
469
483
  }
470
484
  const controller = new AbortController();
471
- const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(errors_1.castToError);
485
+ const response = await this.fetchWithTimeout(url, req, timeout, controller, options, {
486
+ requestLogID,
487
+ retryOfRequestLogID,
488
+ }).catch(errors_1.castToError);
472
489
  const headersTime = Date.now();
473
490
  if (response instanceof globalThis.Error) {
474
491
  const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;
@@ -481,6 +498,21 @@ class BaseAnthropic {
481
498
  // others do not provide enough information to distinguish timeouts from other connection errors
482
499
  const isTimeout = (0, errors_1.isAbortError)(response) ||
483
500
  /timed? ?out/i.test(String(response) + ('cause' in response ? String(response.cause) : ''));
501
+ // Errors thrown by middleware propagate to the caller as-is — no retries, no
502
+ // APIConnectionError wrapping — except retryable errors (timeouts/aborts,
503
+ // APIConnectionErrors, and RetryableErrors, directly or in the `cause` chain),
504
+ // which stay on the retry path.
505
+ const hasMiddleware = this.middleware.length > 0 || !!options.middleware?.length;
506
+ if (hasMiddleware && !isTimeout && !(0, middleware_1.isRetryableError)(response)) {
507
+ (0, log_1.loggerFor)(this).info(`[${requestLogID}] middleware error (not retryable)`);
508
+ (0, log_1.loggerFor)(this).debug(`[${requestLogID}] middleware error (not retryable)`, (0, log_1.formatRequestDetails)({
509
+ retryOfRequestLogID,
510
+ url,
511
+ durationMs: headersTime - startTime,
512
+ message: response.message,
513
+ }));
514
+ throw response;
515
+ }
484
516
  if (retriesRemaining) {
485
517
  (0, log_1.loggerFor)(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - ${retryMessage}`);
486
518
  (0, log_1.loggerFor)(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (${retryMessage})`, (0, log_1.formatRequestDetails)({
@@ -501,6 +533,11 @@ class BaseAnthropic {
501
533
  if (isTimeout) {
502
534
  throw new Errors.APIConnectionTimeoutError();
503
535
  }
536
+ // a retryable middleware-origin error is still the caller's error: once retries are
537
+ // exhausted it propagates as-is rather than wrapped in APIConnectionError
538
+ if (hasMiddleware && !(0, middleware_1.isFetchOriginError)(response)) {
539
+ throw response;
540
+ }
504
541
  throw new Errors.APIConnectionError({ cause: response });
505
542
  }
506
543
  const specialHeaders = [...response.headers.entries()]
@@ -559,7 +596,7 @@ class BaseAnthropic {
559
596
  const request = this.makeRequest(options, null, undefined);
560
597
  return new Pagination.PagePromise(this, request, Page);
561
598
  }
562
- async fetchWithTimeout(url, init, ms, controller) {
599
+ async fetchWithTimeout(url, init, ms, controller, requestOptions, logCtx) {
563
600
  const { signal, method, ...options } = init || {};
564
601
  // Avoid creating a closure over `this`, `init`, or `options` to prevent memory leaks.
565
602
  // An arrow function like `() => controller.abort()` captures the surrounding scope,
@@ -570,7 +607,6 @@ class BaseAnthropic {
570
607
  const abort = this._makeAbort(controller);
571
608
  if (signal)
572
609
  signal.addEventListener('abort', abort, { once: true });
573
- const timeout = setTimeout(abort, ms);
574
610
  const isReadableBody = (globalThis.ReadableStream && options.body instanceof globalThis.ReadableStream) ||
575
611
  (typeof options.body === 'object' && options.body !== null && Symbol.asyncIterator in options.body);
576
612
  const fetchOptions = {
@@ -584,13 +620,47 @@ class BaseAnthropic {
584
620
  // See https://github.com/nodejs/undici/issues/2294
585
621
  fetchOptions.method = method.toUpperCase();
586
622
  }
587
- try {
588
- // use undefined this binding; fetch errors if bound to something else in browser/cloudflare
589
- return await this.fetch.call(undefined, url, fetchOptions);
590
- }
591
- finally {
592
- clearTimeout(timeout);
593
- }
623
+ // Arm the timeout around the underlying fetch only, not the middleware
624
+ // chain middleware can take arbitrarily long (or call `next` more than
625
+ // once), and each inner-fetch invocation gets its own `ms` timer.
626
+ const baseFetch = this.fetch;
627
+ const timedFetch = async (innerUrl, innerInit) => {
628
+ const timeout = setTimeout(abort, ms);
629
+ try {
630
+ return await baseFetch.call(undefined, innerUrl, innerInit);
631
+ }
632
+ finally {
633
+ clearTimeout(timeout);
634
+ }
635
+ };
636
+ // Prepare the request (auth signing and other `prepareRequest` hooks) as
637
+ // the innermost step, after any middleware: providers that compute request
638
+ // signatures (e.g. SigV4 on Bedrock) must sign exactly what goes over the
639
+ // wire, including middleware modifications. Runs per inner-fetch
640
+ // invocation, so a request middleware rewrote — or replayed via a second
641
+ // `next()` call — is prepared (re-signed) fresh each time. Preparation is
642
+ // outside the timeout timer, matching its pre-middleware behavior.
643
+ const innerFetch = requestOptions === undefined ? timedFetch : (async (innerUrl, innerInit = {}) => {
644
+ const innerUrlStr = typeof innerUrl === 'string' ? innerUrl
645
+ : innerUrl instanceof URL ? innerUrl.href
646
+ : innerUrl.url;
647
+ innerInit.headers =
648
+ innerInit.headers instanceof Headers ? innerInit.headers : new Headers(innerInit.headers);
649
+ await this.prepareRequest(innerInit, { url: innerUrlStr, options: requestOptions });
650
+ if (logCtx) {
651
+ (0, log_1.loggerFor)(this).debug(`[${logCtx.requestLogID}] sending request`, (0, log_1.formatRequestDetails)({
652
+ retryOfRequestLogID: logCtx.retryOfRequestLogID,
653
+ method: innerInit.method,
654
+ url: innerUrlStr,
655
+ options: requestOptions,
656
+ headers: innerInit.headers,
657
+ }));
658
+ }
659
+ return timedFetch(innerUrl, innerInit);
660
+ });
661
+ const middleware = requestOptions?.middleware;
662
+ const allMiddleware = middleware?.length ? [...this.middleware, ...middleware] : this.middleware;
663
+ return await (0, middleware_1.wrapFetchWithMiddleware)(innerFetch, allMiddleware, requestOptions)(url, fetchOptions);
594
664
  }
595
665
  async shouldRetry(response, options) {
596
666
  // Reactive refresh: on a 401 from a request that used the token cache,
package/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["src/client.ts"],"names":[],"mappings":"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"}
package/client.mjs CHANGED
@@ -14,6 +14,7 @@ import * as Errors from "./core/error.mjs";
14
14
  import { OAUTH_API_BETA_HEADER } from "./lib/credentials/types.mjs";
15
15
  import { TokenCache } from "./lib/credentials/token-cache.mjs";
16
16
  import { defaultCredentials, resolveCredentialsFromConfig } from "./lib/credentials/credential-chain.mjs";
17
+ import { isFetchOriginError, isRetryableError, wrapFetchWithMiddleware, } from "./core/middleware.mjs";
17
18
  import * as Pagination from "./core/pagination.mjs";
18
19
  import * as Uploads from "./core/uploads.mjs";
19
20
  import * as API from "./resources/index.mjs";
@@ -107,6 +108,7 @@ export class BaseAnthropic {
107
108
  this.maxRetries = options.maxRetries ?? 2;
108
109
  this.fetch = options.fetch ?? Shims.getDefaultFetch();
109
110
  __classPrivateFieldSet(this, _BaseAnthropic_encoder, Opts.FallbackEncoder, "f");
111
+ this.middleware = [...(options.middleware ?? [])];
110
112
  const customHeadersEnv = readEnv('ANTHROPIC_CUSTOM_HEADERS');
111
113
  if (customHeadersEnv) {
112
114
  const parsed = {};
@@ -189,7 +191,7 @@ export class BaseAnthropic {
189
191
  _credentialResolverOptions() {
190
192
  return {
191
193
  baseURL: this.baseURL,
192
- fetch: this.fetch,
194
+ fetch: this._credentialsFetch(),
193
195
  userAgent: this.getUserAgent(),
194
196
  onCacheWriteError: (err) => {
195
197
  loggerFor(this).debug('credential cache write failed (best-effort)', err);
@@ -199,6 +201,18 @@ export class BaseAnthropic {
199
201
  },
200
202
  };
201
203
  }
204
+ /**
205
+ * A `Fetch` for first-party credential token-exchange requests (OIDC
206
+ * federation jwt-bearer grants, user-OAuth refresh grants) that routes
207
+ * through this client's middleware chain, so middleware observes token
208
+ * traffic like any other request. Only client-level middleware applies:
209
+ * a minted token is shared across requests, so attributing the exchange
210
+ * to any one request's per-request middleware would be arbitrary. For the
211
+ * same reason, `ctx.options` is undefined for these requests.
212
+ */
213
+ _credentialsFetch() {
214
+ return wrapFetchWithMiddleware(this.fetch, this.middleware);
215
+ }
202
216
  _makeTokenCache(provider) {
203
217
  return new TokenCache(provider, (err) => {
204
218
  loggerFor(this).debug('advisory token refresh failed; serving cached token', err);
@@ -231,6 +245,7 @@ export class BaseAnthropic {
231
245
  logLevel: this.logLevel,
232
246
  fetch: this.fetch,
233
247
  fetchOptions: this.fetchOptions,
248
+ middleware: this.middleware,
234
249
  apiKey: this.apiKey,
235
250
  authToken: this.authToken,
236
251
  webhookKey: this.webhookKey,
@@ -389,6 +404,13 @@ export class BaseAnthropic {
389
404
  *
390
405
  * This is useful for cases where you want to add certain headers based off of
391
406
  * the request properties, e.g. `method` or `url`.
407
+ *
408
+ * Runs after any middleware, immediately before each underlying fetch call,
409
+ * so request signing (e.g. SigV4 on Bedrock) sees exactly what goes over the
410
+ * wire. Middleware may replay a request by calling `next()` more than once,
411
+ * so this hook can run multiple times per attempt: overrides must be
412
+ * idempotent and overwrite auth headers from a previous invocation (e.g. a
413
+ * stale `Authorization`) rather than append to them.
392
414
  */
393
415
  async prepareRequest(request, { url, options }) {
394
416
  // Append auth-derived headers when using token auth. Done here (after all
@@ -449,23 +471,18 @@ export class BaseAnthropic {
449
471
  const { req, url, timeout } = await this.buildRequest(options, {
450
472
  retryCount: maxRetries - retriesRemaining,
451
473
  });
452
- await this.prepareRequest(req, { url, options });
453
474
  /** Not an API request ID, just for correlating local log entries. */
454
475
  const requestLogID = 'log_' + ((Math.random() * (1 << 24)) | 0).toString(16).padStart(6, '0');
455
476
  const retryLogStr = retryOfRequestLogID === undefined ? '' : `, retryOf: ${retryOfRequestLogID}`;
456
477
  const startTime = Date.now();
457
- loggerFor(this).debug(`[${requestLogID}] sending request`, formatRequestDetails({
458
- retryOfRequestLogID,
459
- method: options.method,
460
- url,
461
- options,
462
- headers: req.headers,
463
- }));
464
478
  if (options.signal?.aborted) {
465
479
  throw new Errors.APIUserAbortError();
466
480
  }
467
481
  const controller = new AbortController();
468
- const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);
482
+ const response = await this.fetchWithTimeout(url, req, timeout, controller, options, {
483
+ requestLogID,
484
+ retryOfRequestLogID,
485
+ }).catch(castToError);
469
486
  const headersTime = Date.now();
470
487
  if (response instanceof globalThis.Error) {
471
488
  const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;
@@ -478,6 +495,21 @@ export class BaseAnthropic {
478
495
  // others do not provide enough information to distinguish timeouts from other connection errors
479
496
  const isTimeout = isAbortError(response) ||
480
497
  /timed? ?out/i.test(String(response) + ('cause' in response ? String(response.cause) : ''));
498
+ // Errors thrown by middleware propagate to the caller as-is — no retries, no
499
+ // APIConnectionError wrapping — except retryable errors (timeouts/aborts,
500
+ // APIConnectionErrors, and RetryableErrors, directly or in the `cause` chain),
501
+ // which stay on the retry path.
502
+ const hasMiddleware = this.middleware.length > 0 || !!options.middleware?.length;
503
+ if (hasMiddleware && !isTimeout && !isRetryableError(response)) {
504
+ loggerFor(this).info(`[${requestLogID}] middleware error (not retryable)`);
505
+ loggerFor(this).debug(`[${requestLogID}] middleware error (not retryable)`, formatRequestDetails({
506
+ retryOfRequestLogID,
507
+ url,
508
+ durationMs: headersTime - startTime,
509
+ message: response.message,
510
+ }));
511
+ throw response;
512
+ }
481
513
  if (retriesRemaining) {
482
514
  loggerFor(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - ${retryMessage}`);
483
515
  loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (${retryMessage})`, formatRequestDetails({
@@ -498,6 +530,11 @@ export class BaseAnthropic {
498
530
  if (isTimeout) {
499
531
  throw new Errors.APIConnectionTimeoutError();
500
532
  }
533
+ // a retryable middleware-origin error is still the caller's error: once retries are
534
+ // exhausted it propagates as-is rather than wrapped in APIConnectionError
535
+ if (hasMiddleware && !isFetchOriginError(response)) {
536
+ throw response;
537
+ }
501
538
  throw new Errors.APIConnectionError({ cause: response });
502
539
  }
503
540
  const specialHeaders = [...response.headers.entries()]
@@ -556,7 +593,7 @@ export class BaseAnthropic {
556
593
  const request = this.makeRequest(options, null, undefined);
557
594
  return new Pagination.PagePromise(this, request, Page);
558
595
  }
559
- async fetchWithTimeout(url, init, ms, controller) {
596
+ async fetchWithTimeout(url, init, ms, controller, requestOptions, logCtx) {
560
597
  const { signal, method, ...options } = init || {};
561
598
  // Avoid creating a closure over `this`, `init`, or `options` to prevent memory leaks.
562
599
  // An arrow function like `() => controller.abort()` captures the surrounding scope,
@@ -567,7 +604,6 @@ export class BaseAnthropic {
567
604
  const abort = this._makeAbort(controller);
568
605
  if (signal)
569
606
  signal.addEventListener('abort', abort, { once: true });
570
- const timeout = setTimeout(abort, ms);
571
607
  const isReadableBody = (globalThis.ReadableStream && options.body instanceof globalThis.ReadableStream) ||
572
608
  (typeof options.body === 'object' && options.body !== null && Symbol.asyncIterator in options.body);
573
609
  const fetchOptions = {
@@ -581,13 +617,47 @@ export class BaseAnthropic {
581
617
  // See https://github.com/nodejs/undici/issues/2294
582
618
  fetchOptions.method = method.toUpperCase();
583
619
  }
584
- try {
585
- // use undefined this binding; fetch errors if bound to something else in browser/cloudflare
586
- return await this.fetch.call(undefined, url, fetchOptions);
587
- }
588
- finally {
589
- clearTimeout(timeout);
590
- }
620
+ // Arm the timeout around the underlying fetch only, not the middleware
621
+ // chain middleware can take arbitrarily long (or call `next` more than
622
+ // once), and each inner-fetch invocation gets its own `ms` timer.
623
+ const baseFetch = this.fetch;
624
+ const timedFetch = async (innerUrl, innerInit) => {
625
+ const timeout = setTimeout(abort, ms);
626
+ try {
627
+ return await baseFetch.call(undefined, innerUrl, innerInit);
628
+ }
629
+ finally {
630
+ clearTimeout(timeout);
631
+ }
632
+ };
633
+ // Prepare the request (auth signing and other `prepareRequest` hooks) as
634
+ // the innermost step, after any middleware: providers that compute request
635
+ // signatures (e.g. SigV4 on Bedrock) must sign exactly what goes over the
636
+ // wire, including middleware modifications. Runs per inner-fetch
637
+ // invocation, so a request middleware rewrote — or replayed via a second
638
+ // `next()` call — is prepared (re-signed) fresh each time. Preparation is
639
+ // outside the timeout timer, matching its pre-middleware behavior.
640
+ const innerFetch = requestOptions === undefined ? timedFetch : (async (innerUrl, innerInit = {}) => {
641
+ const innerUrlStr = typeof innerUrl === 'string' ? innerUrl
642
+ : innerUrl instanceof URL ? innerUrl.href
643
+ : innerUrl.url;
644
+ innerInit.headers =
645
+ innerInit.headers instanceof Headers ? innerInit.headers : new Headers(innerInit.headers);
646
+ await this.prepareRequest(innerInit, { url: innerUrlStr, options: requestOptions });
647
+ if (logCtx) {
648
+ loggerFor(this).debug(`[${logCtx.requestLogID}] sending request`, formatRequestDetails({
649
+ retryOfRequestLogID: logCtx.retryOfRequestLogID,
650
+ method: innerInit.method,
651
+ url: innerUrlStr,
652
+ options: requestOptions,
653
+ headers: innerInit.headers,
654
+ }));
655
+ }
656
+ return timedFetch(innerUrl, innerInit);
657
+ });
658
+ const middleware = requestOptions?.middleware;
659
+ const allMiddleware = middleware?.length ? [...this.middleware, ...middleware] : this.middleware;
660
+ return await wrapFetchWithMiddleware(innerFetch, allMiddleware, requestOptions)(url, fetchOptions);
591
661
  }
592
662
  async shouldRetry(response, options) {
593
663
  // Reactive refresh: on a 401 from a request that used the token cache,