@anthropic-ai/sdk 0.102.0 → 0.103.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 (149) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/client.d.mts +30 -7
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +30 -7
  5. package/client.d.ts.map +1 -1
  6. package/client.js +48 -25
  7. package/client.js.map +1 -1
  8. package/client.mjs +47 -24
  9. package/client.mjs.map +1 -1
  10. package/core/middleware.d.mts +42 -5
  11. package/core/middleware.d.mts.map +1 -1
  12. package/core/middleware.d.ts +42 -5
  13. package/core/middleware.d.ts.map +1 -1
  14. package/core/middleware.js +14 -7
  15. package/core/middleware.js.map +1 -1
  16. package/core/middleware.mjs +14 -7
  17. package/core/middleware.mjs.map +1 -1
  18. package/core/streaming.d.mts +9 -0
  19. package/core/streaming.d.mts.map +1 -1
  20. package/core/streaming.d.ts +9 -0
  21. package/core/streaming.d.ts.map +1 -1
  22. package/core/streaming.js +11 -0
  23. package/core/streaming.js.map +1 -1
  24. package/core/streaming.mjs +11 -0
  25. package/core/streaming.mjs.map +1 -1
  26. package/index.d.mts +1 -0
  27. package/index.d.mts.map +1 -1
  28. package/index.d.ts +1 -0
  29. package/index.d.ts.map +1 -1
  30. package/index.js +4 -1
  31. package/index.js.map +1 -1
  32. package/index.mjs +1 -0
  33. package/index.mjs.map +1 -1
  34. package/internal/parse.d.mts.map +1 -1
  35. package/internal/parse.d.ts.map +1 -1
  36. package/internal/parse.js +0 -3
  37. package/internal/parse.js.map +1 -1
  38. package/internal/parse.mjs +0 -3
  39. package/internal/parse.mjs.map +1 -1
  40. package/internal/request-options.d.mts +46 -3
  41. package/internal/request-options.d.mts.map +1 -1
  42. package/internal/request-options.d.ts +46 -3
  43. package/internal/request-options.d.ts.map +1 -1
  44. package/internal/request-options.js +12 -1
  45. package/internal/request-options.js.map +1 -1
  46. package/internal/request-options.mjs +10 -0
  47. package/internal/request-options.mjs.map +1 -1
  48. package/internal/utils/log.d.mts +11 -1
  49. package/internal/utils/log.d.mts.map +1 -1
  50. package/internal/utils/log.d.ts +11 -1
  51. package/internal/utils/log.d.ts.map +1 -1
  52. package/internal/utils/log.js +34 -9
  53. package/internal/utils/log.js.map +1 -1
  54. package/internal/utils/log.mjs +32 -8
  55. package/internal/utils/log.mjs.map +1 -1
  56. package/lib/BetaMessageStream.d.mts.map +1 -1
  57. package/lib/BetaMessageStream.d.ts.map +1 -1
  58. package/lib/BetaMessageStream.js +5 -0
  59. package/lib/BetaMessageStream.js.map +1 -1
  60. package/lib/BetaMessageStream.mjs +5 -0
  61. package/lib/BetaMessageStream.mjs.map +1 -1
  62. package/lib/middleware.d.mts +96 -0
  63. package/lib/middleware.d.mts.map +1 -0
  64. package/lib/middleware.d.ts +96 -0
  65. package/lib/middleware.d.ts.map +1 -0
  66. package/lib/middleware.js +703 -0
  67. package/lib/middleware.js.map +1 -0
  68. package/lib/middleware.mjs +698 -0
  69. package/lib/middleware.mjs.map +1 -0
  70. package/lib/tools/BetaToolRunner.d.mts +1 -1
  71. package/lib/tools/BetaToolRunner.d.mts.map +1 -1
  72. package/lib/tools/BetaToolRunner.d.ts +1 -1
  73. package/lib/tools/BetaToolRunner.d.ts.map +1 -1
  74. package/lib/tools/BetaToolRunner.js +10 -2
  75. package/lib/tools/BetaToolRunner.js.map +1 -1
  76. package/lib/tools/BetaToolRunner.mjs +10 -2
  77. package/lib/tools/BetaToolRunner.mjs.map +1 -1
  78. package/package.json +1 -1
  79. package/resources/beta/agents/agents.d.mts +1 -1
  80. package/resources/beta/agents/agents.d.mts.map +1 -1
  81. package/resources/beta/agents/agents.d.ts +1 -1
  82. package/resources/beta/agents/agents.d.ts.map +1 -1
  83. package/resources/beta/agents/agents.js.map +1 -1
  84. package/resources/beta/agents/agents.mjs.map +1 -1
  85. package/resources/beta/beta.d.mts +3 -3
  86. package/resources/beta/beta.d.mts.map +1 -1
  87. package/resources/beta/beta.d.ts +3 -3
  88. package/resources/beta/beta.d.ts.map +1 -1
  89. package/resources/beta/beta.js.map +1 -1
  90. package/resources/beta/beta.mjs.map +1 -1
  91. package/resources/beta/index.d.mts +1 -1
  92. package/resources/beta/index.d.mts.map +1 -1
  93. package/resources/beta/index.d.ts +1 -1
  94. package/resources/beta/index.d.ts.map +1 -1
  95. package/resources/beta/index.js.map +1 -1
  96. package/resources/beta/index.mjs.map +1 -1
  97. package/resources/beta/messages/batches.d.mts +28 -0
  98. package/resources/beta/messages/batches.d.mts.map +1 -1
  99. package/resources/beta/messages/batches.d.ts +28 -0
  100. package/resources/beta/messages/batches.d.ts.map +1 -1
  101. package/resources/beta/messages/index.d.mts +1 -1
  102. package/resources/beta/messages/index.d.mts.map +1 -1
  103. package/resources/beta/messages/index.d.ts +1 -1
  104. package/resources/beta/messages/index.d.ts.map +1 -1
  105. package/resources/beta/messages/index.js.map +1 -1
  106. package/resources/beta/messages/index.mjs.map +1 -1
  107. package/resources/beta/messages/messages.d.mts +234 -6
  108. package/resources/beta/messages/messages.d.mts.map +1 -1
  109. package/resources/beta/messages/messages.d.ts +234 -6
  110. package/resources/beta/messages/messages.d.ts.map +1 -1
  111. package/resources/beta/messages/messages.js +7 -0
  112. package/resources/beta/messages/messages.js.map +1 -1
  113. package/resources/beta/messages/messages.mjs +7 -0
  114. package/resources/beta/messages/messages.mjs.map +1 -1
  115. package/resources/beta/models.d.mts +6 -0
  116. package/resources/beta/models.d.mts.map +1 -1
  117. package/resources/beta/models.d.ts +6 -0
  118. package/resources/beta/models.d.ts.map +1 -1
  119. package/resources/messages/messages.d.mts +2 -2
  120. package/resources/messages/messages.d.mts.map +1 -1
  121. package/resources/messages/messages.d.ts +2 -2
  122. package/resources/messages/messages.d.ts.map +1 -1
  123. package/resources/messages/messages.js +1 -0
  124. package/resources/messages/messages.js.map +1 -1
  125. package/resources/messages/messages.mjs +1 -0
  126. package/resources/messages/messages.mjs.map +1 -1
  127. package/src/client.ts +55 -24
  128. package/src/core/middleware.ts +53 -7
  129. package/src/core/streaming.ts +15 -0
  130. package/src/index.ts +6 -0
  131. package/src/internal/parse.ts +0 -4
  132. package/src/internal/request-options.ts +48 -3
  133. package/src/internal/utils/log.ts +39 -9
  134. package/src/lib/BetaMessageStream.ts +5 -0
  135. package/src/lib/middleware.ts +937 -0
  136. package/src/lib/tools/BetaToolRunner.ts +12 -3
  137. package/src/resources/beta/agents/agents.ts +1 -0
  138. package/src/resources/beta/beta.ts +15 -1
  139. package/src/resources/beta/index.ts +6 -0
  140. package/src/resources/beta/messages/batches.ts +30 -0
  141. package/src/resources/beta/messages/index.ts +6 -0
  142. package/src/resources/beta/messages/messages.ts +279 -5
  143. package/src/resources/beta/models.ts +7 -0
  144. package/src/resources/messages/messages.ts +4 -1
  145. package/src/version.ts +1 -1
  146. package/version.d.mts +1 -1
  147. package/version.d.ts +1 -1
  148. package/version.js +1 -1
  149. package/version.mjs +1 -1
package/client.mjs CHANGED
@@ -26,7 +26,7 @@ import { Messages, } from "./resources/messages/messages.mjs";
26
26
  import { isRunningInBrowser } from "./internal/detect-platform.mjs";
27
27
  import { buildHeaders } from "./internal/headers.mjs";
28
28
  import { readEnv } from "./internal/utils/env.mjs";
29
- import { formatRequestDetails, loggerFor, parseLogLevel, } from "./internal/utils/log.mjs";
29
+ import { defaultLogLevel, formatRequestDetails, loggerFor, parseLogLevel, } from "./internal/utils/log.mjs";
30
30
  import { isEmptyObj } from "./internal/utils/values.mjs";
31
31
  export const HUMAN_PROMPT = '\\n\\nHuman:';
32
32
  export const AI_PROMPT = '\\n\\nAssistant:';
@@ -97,12 +97,11 @@ export class BaseAnthropic {
97
97
  this._baseURLIsExplicit = opts.__baseURLIsExplicit ?? !!baseURL;
98
98
  this.timeout = options.timeout ?? _a.DEFAULT_TIMEOUT /* 10 minutes */;
99
99
  this.logger = options.logger ?? console;
100
- const defaultLogLevel = 'warn';
101
100
  // Set default logLevel early so that we can log a warning in parseLogLevel.
102
101
  this.logLevel = defaultLogLevel;
103
102
  this.logLevel =
104
- parseLogLevel(options.logLevel, 'ClientOptions.logLevel', this) ??
105
- parseLogLevel(readEnv('ANTHROPIC_LOG'), "process.env['ANTHROPIC_LOG']", this) ??
103
+ parseLogLevel(options.logLevel, 'ClientOptions.logLevel', loggerFor(this)) ??
104
+ parseLogLevel(readEnv('ANTHROPIC_LOG'), "process.env['ANTHROPIC_LOG']", loggerFor(this)) ??
106
105
  defaultLogLevel;
107
106
  this.fetchOptions = options.fetchOptions;
108
107
  this.maxRetries = options.maxRetries ?? 2;
@@ -211,7 +210,7 @@ export class BaseAnthropic {
211
210
  * same reason, `ctx.options` is undefined for these requests.
212
211
  */
213
212
  _credentialsFetch() {
214
- return wrapFetchWithMiddleware(this.fetch, this.middleware);
213
+ return wrapFetchWithMiddleware(this.fetch, this.middleware, undefined, this);
215
214
  }
216
215
  _makeTokenCache(provider) {
217
216
  return new TokenCache(provider, (err) => {
@@ -405,12 +404,12 @@ export class BaseAnthropic {
405
404
  * This is useful for cases where you want to add certain headers based off of
406
405
  * the request properties, e.g. `method` or `url`.
407
406
  *
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.
407
+ * Runs after all middleware (including {@link backendMiddleware}),
408
+ * immediately before each underlying fetch call, so it sees exactly what
409
+ * goes over the wire. Middleware may replay a request by calling `next()`
410
+ * more than once, so this hook can run multiple times per attempt:
411
+ * overrides must be idempotent and overwrite headers from a previous
412
+ * invocation rather than append to them.
414
413
  */
415
414
  async prepareRequest(request, { url, options }) {
416
415
  // Append auth-derived headers when using token auth. Done here (after all
@@ -435,6 +434,27 @@ export class BaseAnthropic {
435
434
  request.headers = headers;
436
435
  }
437
436
  }
437
+ /**
438
+ * Internal {@link Middleware} composed innermost in the chain — inside both
439
+ * client-level and per-request middleware, immediately around the underlying
440
+ * `fetch`. Subclasses for third-party backends override this to adapt the
441
+ * canonical Anthropic-shaped request to the backend's wire shape (URL/body
442
+ * rewriting, request signing) and to normalize the wire response back to the
443
+ * canonical shape (e.g. AWS EventStream to SSE).
444
+ *
445
+ * Running inside the user's middleware means user middleware always observes
446
+ * canonical Anthropic-shaped traffic, and the adaptation re-runs (e.g.
447
+ * re-signs) on every `next()` invocation, covering whatever the middleware
448
+ * mutated.
449
+ *
450
+ * Errors thrown here follow the middleware error policy: they propagate to
451
+ * the caller as-is — no retries, no `APIConnectionError` wrapping — unless
452
+ * retryable (see {@link Middleware}); throw a `RetryableError` to opt into
453
+ * the retry path.
454
+ */
455
+ backendMiddleware() {
456
+ return [];
457
+ }
438
458
  get(path, opts) {
439
459
  return this.methodRequest('get', path, opts);
440
460
  }
@@ -495,11 +515,12 @@ export class BaseAnthropic {
495
515
  // others do not provide enough information to distinguish timeouts from other connection errors
496
516
  const isTimeout = isAbortError(response) ||
497
517
  /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 wrappingexcept 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;
518
+ // Errors thrown by middleware (user middleware and the backend adaptation
519
+ // alike) propagate to the caller as-is no retries, no APIConnectionError
520
+ // wrapping except retryable errors (timeouts/aborts, APIConnectionErrors,
521
+ // and RetryableErrors, directly or in the `cause` chain), which stay on the
522
+ // retry path.
523
+ const hasMiddleware = this.middleware.length > 0 || !!options.middleware?.length || this.backendMiddleware().length > 0;
503
524
  if (hasMiddleware && !isTimeout && !isRetryableError(response)) {
504
525
  loggerFor(this).info(`[${requestLogID}] middleware error (not retryable)`);
505
526
  loggerFor(this).debug(`[${requestLogID}] middleware error (not retryable)`, formatRequestDetails({
@@ -631,11 +652,10 @@ export class BaseAnthropic {
631
652
  }
632
653
  };
633
654
  // 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 rewroteor replayed via a second
638
- // `next()` call — is prepared (re-signed) fresh each time. Preparation is
655
+ // the innermost step, after any middleware including the backend
656
+ // middleware, so it sees exactly what goes over the wire. Runs per
657
+ // inner-fetch invocation, so a request middleware rewrote or replayed
658
+ // via a second `next()` callis prepared fresh each time. Preparation is
639
659
  // outside the timeout timer, matching its pre-middleware behavior.
640
660
  const innerFetch = requestOptions === undefined ? timedFetch : (async (innerUrl, innerInit = {}) => {
641
661
  const innerUrlStr = typeof innerUrl === 'string' ? innerUrl
@@ -655,9 +675,12 @@ export class BaseAnthropic {
655
675
  }
656
676
  return timedFetch(innerUrl, innerInit);
657
677
  });
658
- const middleware = requestOptions?.middleware;
659
- const allMiddleware = middleware?.length ? [...this.middleware, ...middleware] : this.middleware;
660
- return await wrapFetchWithMiddleware(innerFetch, allMiddleware, requestOptions)(url, fetchOptions);
678
+ const requestMiddleware = requestOptions?.middleware;
679
+ const backendMiddleware = this.backendMiddleware();
680
+ const allMiddleware = requestMiddleware?.length || backendMiddleware.length ?
681
+ [...this.middleware, ...(requestMiddleware ?? []), ...backendMiddleware]
682
+ : this.middleware;
683
+ return await wrapFetchWithMiddleware(innerFetch, allMiddleware, requestOptions, this)(url, fetchOptions);
661
684
  }
662
685
  async shouldRetry(response, options) {
663
686
  // Reactive refresh: on a 401 from a request that used the token cache,
package/client.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.mjs","sourceRoot":"","sources":["src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.mjs","sourceRoot":"","sources":["src/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import type { BaseAnthropic } from "../client.mjs";
1
2
  import type { Fetch } from "../internal/builtin-types.mjs";
2
3
  import type { FinalRequestOptions } from "../internal/request-options.mjs";
4
+ import { type Logger } from "../internal/utils/log.mjs";
3
5
  import type { APIRequest } from "./api.mjs";
4
6
  /**
5
7
  * Invokes the rest of the middleware chain, ending with the underlying `fetch`.
@@ -20,6 +22,25 @@ export interface MiddlewareContext {
20
22
  * for credential token-exchange requests.
21
23
  */
22
24
  readonly options?: FinalRequestOptions | undefined;
25
+ /**
26
+ * The client's logger, pre-filtered to the client's configured log level
27
+ * (the `logLevel` client option or the `ANTHROPIC_LOG` environment
28
+ * variable). Calls below the active level are no-ops, so it's always safe
29
+ * to call; with no logger configured it writes to the global `console`.
30
+ *
31
+ * Values are logged as-is — when logging request or response headers,
32
+ * redact credentials (`authorization`, `x-api-key`, `cookie`) the way the
33
+ * SDK's own logs do.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const mw: Middleware = async (request, next, ctx) => {
38
+ * ctx.logger.debug('->', request.method, request.url);
39
+ * return next(request);
40
+ * };
41
+ * ```
42
+ */
43
+ readonly logger: Logger;
23
44
  /**
24
45
  * Parse a response body the way the SDK would for the request in flight:
25
46
  *
@@ -59,6 +80,18 @@ export interface MiddlewareContext {
59
80
  * or replace the response, short-circuit by returning a `Response` without
60
81
  * calling `next`, or call `next` multiple times to implement custom retries.
61
82
  *
83
+ * Middleware always observes the canonical Anthropic-shaped request — e.g.
84
+ * `POST .../v1/messages` with `model` and `stream` in the JSON body and
85
+ * `anthropic-beta` as a header — with the client's logical credentials
86
+ * (`x-api-key` / `Authorization`) applied. On clients for third-party
87
+ * backends (Bedrock, Vertex, Foundry), the backend adaptation — URL and body
88
+ * rewriting, request signing (e.g. AWS SigV4), and response normalization
89
+ * (e.g. AWS EventStream to SSE) — runs *inside* `next`, so middleware behaves
90
+ * identically on every backend: mutating the request is safe (signing covers
91
+ * the final body), and streaming responses are observed as SSE. Each `next()`
92
+ * call re-runs the adaptation, so custom retries re-sign from scratch. To
93
+ * observe the literal wire traffic instead, provide a custom `fetch`.
94
+ *
62
95
  * Middleware must not consume the body of the `Response` it returns - the
63
96
  * client still needs to read it. To inspect the body, use
64
97
  * `await ctx.parse(response)` (cached, leaves the body readable) or read a
@@ -77,10 +110,10 @@ export interface MiddlewareContext {
77
110
  *
78
111
  * @example
79
112
  * ```ts
80
- * const logger: Middleware = async (request, next) => {
81
- * console.log('->', request.method, request.url);
113
+ * const logger: Middleware = async (request, next, ctx) => {
114
+ * ctx.logger.debug('->', request.method, request.url);
82
115
  * const response = await next(request);
83
- * console.log('<-', response.status, request.url);
116
+ * ctx.logger.debug('<-', response.status, request.url);
84
117
  * return response;
85
118
  * };
86
119
  *
@@ -108,10 +141,14 @@ export declare function isRetryableError(err: unknown): boolean;
108
141
  *
109
142
  * `options` — the SDK request options behind this call, when there are any —
110
143
  * is surfaced to middleware as `ctx.options` and drives `ctx.parse`.
144
+ *
145
+ * `client` supplies `ctx.logger` (the client's level-filtered logger);
146
+ * without it, `ctx.logger` falls back to the client defaults: `console`,
147
+ * filtered to `ANTHROPIC_LOG` or `'warn'`.
111
148
  */
112
- export declare function wrapFetchWithMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined): Fetch;
149
+ export declare function wrapFetchWithMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined, client?: BaseAnthropic | undefined): Fetch;
113
150
  /**
114
151
  * Composes `middleware` around `fetchFn` and returns the entry point of the chain.
115
152
  */
116
- export declare function applyMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined): MiddlewareNext;
153
+ export declare function applyMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined, client?: BaseAnthropic | undefined): MiddlewareNext;
117
154
  //# sourceMappingURL=middleware.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.mts","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,sCAAkC;AAGvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,wCAAoC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAc;AAIxC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,iBAAiB,KACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAWvB,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAetD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GACxC,KAAK,CA6BP;AA6ED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GACxC,cAAc,CAuBhB"}
1
+ {"version":3,"file":"middleware.d.mts","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAkB;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,sCAAkC;AAGvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,wCAAoC;AACvE,OAAO,EAA4B,KAAK,MAAM,EAAE,kCAA8B;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAc;AAIxC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,iBAAiB,KACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAWvB,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAetD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GACjC,KAAK,CA8BP;AAkFD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GACjC,cAAc,CAuBhB"}
@@ -1,5 +1,7 @@
1
+ import type { BaseAnthropic } from "../client.js";
1
2
  import type { Fetch } from "../internal/builtin-types.js";
2
3
  import type { FinalRequestOptions } from "../internal/request-options.js";
4
+ import { type Logger } from "../internal/utils/log.js";
3
5
  import type { APIRequest } from "./api.js";
4
6
  /**
5
7
  * Invokes the rest of the middleware chain, ending with the underlying `fetch`.
@@ -20,6 +22,25 @@ export interface MiddlewareContext {
20
22
  * for credential token-exchange requests.
21
23
  */
22
24
  readonly options?: FinalRequestOptions | undefined;
25
+ /**
26
+ * The client's logger, pre-filtered to the client's configured log level
27
+ * (the `logLevel` client option or the `ANTHROPIC_LOG` environment
28
+ * variable). Calls below the active level are no-ops, so it's always safe
29
+ * to call; with no logger configured it writes to the global `console`.
30
+ *
31
+ * Values are logged as-is — when logging request or response headers,
32
+ * redact credentials (`authorization`, `x-api-key`, `cookie`) the way the
33
+ * SDK's own logs do.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const mw: Middleware = async (request, next, ctx) => {
38
+ * ctx.logger.debug('->', request.method, request.url);
39
+ * return next(request);
40
+ * };
41
+ * ```
42
+ */
43
+ readonly logger: Logger;
23
44
  /**
24
45
  * Parse a response body the way the SDK would for the request in flight:
25
46
  *
@@ -59,6 +80,18 @@ export interface MiddlewareContext {
59
80
  * or replace the response, short-circuit by returning a `Response` without
60
81
  * calling `next`, or call `next` multiple times to implement custom retries.
61
82
  *
83
+ * Middleware always observes the canonical Anthropic-shaped request — e.g.
84
+ * `POST .../v1/messages` with `model` and `stream` in the JSON body and
85
+ * `anthropic-beta` as a header — with the client's logical credentials
86
+ * (`x-api-key` / `Authorization`) applied. On clients for third-party
87
+ * backends (Bedrock, Vertex, Foundry), the backend adaptation — URL and body
88
+ * rewriting, request signing (e.g. AWS SigV4), and response normalization
89
+ * (e.g. AWS EventStream to SSE) — runs *inside* `next`, so middleware behaves
90
+ * identically on every backend: mutating the request is safe (signing covers
91
+ * the final body), and streaming responses are observed as SSE. Each `next()`
92
+ * call re-runs the adaptation, so custom retries re-sign from scratch. To
93
+ * observe the literal wire traffic instead, provide a custom `fetch`.
94
+ *
62
95
  * Middleware must not consume the body of the `Response` it returns - the
63
96
  * client still needs to read it. To inspect the body, use
64
97
  * `await ctx.parse(response)` (cached, leaves the body readable) or read a
@@ -77,10 +110,10 @@ export interface MiddlewareContext {
77
110
  *
78
111
  * @example
79
112
  * ```ts
80
- * const logger: Middleware = async (request, next) => {
81
- * console.log('->', request.method, request.url);
113
+ * const logger: Middleware = async (request, next, ctx) => {
114
+ * ctx.logger.debug('->', request.method, request.url);
82
115
  * const response = await next(request);
83
- * console.log('<-', response.status, request.url);
116
+ * ctx.logger.debug('<-', response.status, request.url);
84
117
  * return response;
85
118
  * };
86
119
  *
@@ -108,10 +141,14 @@ export declare function isRetryableError(err: unknown): boolean;
108
141
  *
109
142
  * `options` — the SDK request options behind this call, when there are any —
110
143
  * is surfaced to middleware as `ctx.options` and drives `ctx.parse`.
144
+ *
145
+ * `client` supplies `ctx.logger` (the client's level-filtered logger);
146
+ * without it, `ctx.logger` falls back to the client defaults: `console`,
147
+ * filtered to `ANTHROPIC_LOG` or `'warn'`.
111
148
  */
112
- export declare function wrapFetchWithMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined): Fetch;
149
+ export declare function wrapFetchWithMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined, client?: BaseAnthropic | undefined): Fetch;
113
150
  /**
114
151
  * Composes `middleware` around `fetchFn` and returns the entry point of the chain.
115
152
  */
116
- export declare function applyMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined): MiddlewareNext;
153
+ export declare function applyMiddleware(fetchFn: Fetch, middleware: readonly Middleware[], options?: FinalRequestOptions | undefined, client?: BaseAnthropic | undefined): MiddlewareNext;
117
154
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,qCAAkC;AAGvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,uCAAoC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAc;AAIxC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,iBAAiB,KACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAWvB,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAetD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GACxC,KAAK,CA6BP;AA6ED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GACxC,cAAc,CAuBhB"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAkB;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,qCAAkC;AAGvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,uCAAoC;AACvE,OAAO,EAA4B,KAAK,MAAM,EAAE,iCAA8B;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAc;AAIxC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,iBAAiB,KACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAWvB,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAetD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GACjC,KAAK,CA8BP;AAkFD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,EACd,UAAU,EAAE,SAAS,UAAU,EAAE,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GACjC,cAAc,CAuBhB"}
@@ -6,6 +6,7 @@ exports.wrapFetchWithMiddleware = wrapFetchWithMiddleware;
6
6
  exports.applyMiddleware = applyMiddleware;
7
7
  const errors_1 = require("../internal/errors.js");
8
8
  const parse_1 = require("../internal/parse.js");
9
+ const log_1 = require("../internal/utils/log.js");
9
10
  const error_1 = require("./error.js");
10
11
  const streaming_1 = require("./streaming.js");
11
12
  /**
@@ -51,15 +52,19 @@ function isRetryableError(err) {
51
52
  *
52
53
  * `options` — the SDK request options behind this call, when there are any —
53
54
  * is surfaced to middleware as `ctx.options` and drives `ctx.parse`.
55
+ *
56
+ * `client` supplies `ctx.logger` (the client's level-filtered logger);
57
+ * without it, `ctx.logger` falls back to the client defaults: `console`,
58
+ * filtered to `ANTHROPIC_LOG` or `'warn'`.
54
59
  */
55
- function wrapFetchWithMiddleware(fetchFn, middleware, options) {
60
+ function wrapFetchWithMiddleware(fetchFn, middleware, options, client) {
56
61
  return async (url, init = {}) => {
57
62
  if (middleware.length === 0) {
58
63
  // use undefined this binding; fetch errors if bound to something else in browser/cloudflare
59
64
  return fetchFn.call(undefined, url, init);
60
65
  }
61
66
  const headers = init.headers instanceof Headers ? init.headers : new Headers(init.headers);
62
- const response = await applyMiddleware(fetchFn, middleware, options)({
67
+ const response = await applyMiddleware(fetchFn, middleware, options, client)({
63
68
  ...init,
64
69
  headers,
65
70
  url: typeof url === 'string' ? url
@@ -78,13 +83,16 @@ function wrapFetchWithMiddleware(fetchFn, middleware, options) {
78
83
  /**
79
84
  * Creates the {@link MiddlewareContext} shared by every middleware in one chain.
80
85
  */
81
- function createMiddlewareContext(options) {
86
+ function createMiddlewareContext(options, client) {
82
87
  // Keyed on the Response so each `next()` call's response (e.g. with custom
83
88
  // retries, or a middleware swapping in a replacement) parses independently,
84
89
  // while several middleware parsing the same response share a single read.
85
90
  const cache = new WeakMap();
86
91
  return {
87
92
  options,
93
+ // Resolved per chain, so changes to the client's `logLevel`/`logger`
94
+ // apply to subsequent requests.
95
+ logger: client ? (0, log_1.loggerFor)(client) : (0, log_1.defaultLogger)(),
88
96
  parse(response) {
89
97
  // Streams are single-consumer, so caching one would hand later callers
90
98
  // an already-consumed stream; every call gets a fresh clone-backed one.
@@ -116,8 +124,7 @@ async function parseMiddlewareResponse(response, options) {
116
124
  // A fresh controller rather than the request's own: aborting (or
117
125
  // `break`ing out of) the middleware's stream must not cancel the
118
126
  // in-flight request the client is still reading.
119
- const streamClass = options.__streamClass ?? streaming_1.Stream;
120
- return streamClass.fromSSEResponse(response.clone(), new AbortController());
127
+ return streaming_1.Stream.fromSSEResponse(response.clone(), new AbortController());
121
128
  }
122
129
  // fetch refuses to read the body when the status code is 204.
123
130
  if (response.status === 204) {
@@ -141,7 +148,7 @@ async function parseMiddlewareResponse(response, options) {
141
148
  /**
142
149
  * Composes `middleware` around `fetchFn` and returns the entry point of the chain.
143
150
  */
144
- function applyMiddleware(fetchFn, middleware, options) {
151
+ function applyMiddleware(fetchFn, middleware, options, client) {
145
152
  // use undefined this binding; fetch errors if bound to something else in browser/cloudflare
146
153
  let next = async ({ url, ...init }) => {
147
154
  try {
@@ -156,7 +163,7 @@ function applyMiddleware(fetchFn, middleware, options) {
156
163
  throw error;
157
164
  }
158
165
  };
159
- const ctx = createMiddlewareContext(options);
166
+ const ctx = createMiddlewareContext(options, client);
160
167
  for (let i = middleware.length - 1; i >= 0; i--) {
161
168
  const mw = middleware[i];
162
169
  const nextInner = next;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":"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"}