@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.
- package/CHANGELOG.md +15 -0
- package/client.d.mts +30 -7
- package/client.d.mts.map +1 -1
- package/client.d.ts +30 -7
- package/client.d.ts.map +1 -1
- package/client.js +48 -25
- package/client.js.map +1 -1
- package/client.mjs +47 -24
- package/client.mjs.map +1 -1
- package/core/middleware.d.mts +42 -5
- package/core/middleware.d.mts.map +1 -1
- package/core/middleware.d.ts +42 -5
- package/core/middleware.d.ts.map +1 -1
- package/core/middleware.js +14 -7
- package/core/middleware.js.map +1 -1
- package/core/middleware.mjs +14 -7
- package/core/middleware.mjs.map +1 -1
- package/core/streaming.d.mts +9 -0
- package/core/streaming.d.mts.map +1 -1
- package/core/streaming.d.ts +9 -0
- package/core/streaming.d.ts.map +1 -1
- package/core/streaming.js +11 -0
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +11 -0
- package/core/streaming.mjs.map +1 -1
- package/index.d.mts +1 -0
- package/index.d.mts.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -0
- package/index.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js +0 -3
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs +0 -3
- package/internal/parse.mjs.map +1 -1
- package/internal/request-options.d.mts +46 -3
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts +46 -3
- package/internal/request-options.d.ts.map +1 -1
- package/internal/request-options.js +12 -1
- package/internal/request-options.js.map +1 -1
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -1
- package/internal/utils/log.d.mts +11 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts +11 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +34 -9
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +32 -8
- package/internal/utils/log.mjs.map +1 -1
- package/lib/BetaMessageStream.d.mts.map +1 -1
- package/lib/BetaMessageStream.d.ts.map +1 -1
- package/lib/BetaMessageStream.js +5 -0
- package/lib/BetaMessageStream.js.map +1 -1
- package/lib/BetaMessageStream.mjs +5 -0
- package/lib/BetaMessageStream.mjs.map +1 -1
- package/lib/middleware.d.mts +96 -0
- package/lib/middleware.d.mts.map +1 -0
- package/lib/middleware.d.ts +96 -0
- package/lib/middleware.d.ts.map +1 -0
- package/lib/middleware.js +703 -0
- package/lib/middleware.js.map +1 -0
- package/lib/middleware.mjs +698 -0
- package/lib/middleware.mjs.map +1 -0
- package/lib/tools/BetaToolRunner.d.mts +1 -1
- package/lib/tools/BetaToolRunner.d.mts.map +1 -1
- package/lib/tools/BetaToolRunner.d.ts +1 -1
- package/lib/tools/BetaToolRunner.d.ts.map +1 -1
- package/lib/tools/BetaToolRunner.js +10 -2
- package/lib/tools/BetaToolRunner.js.map +1 -1
- package/lib/tools/BetaToolRunner.mjs +10 -2
- package/lib/tools/BetaToolRunner.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/beta/agents/agents.d.mts +1 -1
- package/resources/beta/agents/agents.d.mts.map +1 -1
- package/resources/beta/agents/agents.d.ts +1 -1
- package/resources/beta/agents/agents.d.ts.map +1 -1
- package/resources/beta/agents/agents.js.map +1 -1
- package/resources/beta/agents/agents.mjs.map +1 -1
- package/resources/beta/beta.d.mts +3 -3
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +3 -3
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/index.d.mts +1 -1
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +1 -1
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/messages/batches.d.mts +28 -0
- package/resources/beta/messages/batches.d.mts.map +1 -1
- package/resources/beta/messages/batches.d.ts +28 -0
- package/resources/beta/messages/batches.d.ts.map +1 -1
- package/resources/beta/messages/index.d.mts +1 -1
- package/resources/beta/messages/index.d.mts.map +1 -1
- package/resources/beta/messages/index.d.ts +1 -1
- package/resources/beta/messages/index.d.ts.map +1 -1
- package/resources/beta/messages/index.js.map +1 -1
- package/resources/beta/messages/index.mjs.map +1 -1
- package/resources/beta/messages/messages.d.mts +234 -6
- package/resources/beta/messages/messages.d.mts.map +1 -1
- package/resources/beta/messages/messages.d.ts +234 -6
- package/resources/beta/messages/messages.d.ts.map +1 -1
- package/resources/beta/messages/messages.js +7 -0
- package/resources/beta/messages/messages.js.map +1 -1
- package/resources/beta/messages/messages.mjs +7 -0
- package/resources/beta/messages/messages.mjs.map +1 -1
- package/resources/beta/models.d.mts +6 -0
- package/resources/beta/models.d.mts.map +1 -1
- package/resources/beta/models.d.ts +6 -0
- package/resources/beta/models.d.ts.map +1 -1
- package/resources/messages/messages.d.mts +2 -2
- package/resources/messages/messages.d.mts.map +1 -1
- package/resources/messages/messages.d.ts +2 -2
- package/resources/messages/messages.d.ts.map +1 -1
- package/resources/messages/messages.js +1 -0
- package/resources/messages/messages.js.map +1 -1
- package/resources/messages/messages.mjs +1 -0
- package/resources/messages/messages.mjs.map +1 -1
- package/src/client.ts +55 -24
- package/src/core/middleware.ts +53 -7
- package/src/core/streaming.ts +15 -0
- package/src/index.ts +6 -0
- package/src/internal/parse.ts +0 -4
- package/src/internal/request-options.ts +48 -3
- package/src/internal/utils/log.ts +39 -9
- package/src/lib/BetaMessageStream.ts +5 -0
- package/src/lib/middleware.ts +937 -0
- package/src/lib/tools/BetaToolRunner.ts +12 -3
- package/src/resources/beta/agents/agents.ts +1 -0
- package/src/resources/beta/beta.ts +15 -1
- package/src/resources/beta/index.ts +6 -0
- package/src/resources/beta/messages/batches.ts +30 -0
- package/src/resources/beta/messages/index.ts +6 -0
- package/src/resources/beta/messages/messages.ts +279 -5
- package/src/resources/beta/models.ts +7 -0
- package/src/resources/messages/messages.ts +4 -1
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- 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
|
|
409
|
-
*
|
|
410
|
-
* wire. Middleware may replay a request by calling `next()`
|
|
411
|
-
* so this hook can run multiple times per attempt:
|
|
412
|
-
* idempotent and overwrite
|
|
413
|
-
*
|
|
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
|
|
499
|
-
//
|
|
500
|
-
//
|
|
501
|
-
// which stay on the
|
|
502
|
-
|
|
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
|
|
635
|
-
//
|
|
636
|
-
//
|
|
637
|
-
//
|
|
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()` call — is 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
|
|
659
|
-
const
|
|
660
|
-
|
|
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":"AAAA,sFAAsF;;;AAItF,OAAO,EAAE,KAAK,EAAE,kCAA8B;AAC9C,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,QAAQ,EAAE,oCAAgC;AAC3F,OAAO,EAAE,KAAK,EAAE,mCAA+B;AAE/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,8BAA0B;AAE9D,OAAO,EAAE,kBAAkB,EAAE,uCAAmC;AAChE,OAAO,KAAK,KAAK,6BAAyB;AAC1C,OAAO,KAAK,IAAI,uCAAmC;AACnD,OAAO,EAAE,cAAc,EAAE,mCAA+B;AACxD,OAAO,EAAE,OAAO,EAAE,sBAAkB;AACpC,OAAO,KAAK,MAAM,yBAAqB;AAEvC,OAAO,EAAE,qBAAqB,EAAE,oCAAgC;AAChE,OAAO,EAAE,UAAU,EAAE,0CAAsC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,+CAA2C;AAEtG,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,8BAA0B;AAG3B,OAAO,KAAK,UAAU,8BAA0B;AAShD,OAAO,KAAK,OAAO,2BAAuB;AAC1C,OAAO,KAAK,GAAG,8BAA0B;AACzC,OAAO,EAAE,UAAU,EAAE,+BAA2B;AAChD,OAAO,EAKL,WAAW,GACZ,oCAAgC;AACjC,OAAO,EASL,MAAM,GAGP,+BAA2B;AAC5B,OAAO,EAEL,IAAI,GAYL,kCAA8B;AAC/B,OAAO,EA0EL,QAAQ,GAmGT,0CAAsC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,uCAAmC;AAChE,OAAO,EAAgC,YAAY,EAAE,+BAA2B;AAEhF,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAC/C,OAAO,EAGL,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,aAAa,GACd,iCAA6B;AAC9B,OAAO,EAAE,UAAU,EAAE,oCAAgC;AAuLrD,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,aAAa;IAKxB;;;;;;;;;OASG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,CAAC;IAkBD;;;;;;;;;;;;;;OAcG;IACH,YAAY,EACV,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,EACvC,MAAM,EACN,SAAS,EACT,UAAU,GAAG,OAAO,CAAC,+BAA+B,CAAC,IAAI,IAAI,EAC7D,GAAG,IAAI,KACU,EAAE;;QApCb,sBAAiB,GAAG,IAAI,OAAO,EAAyC,CAAC;QAWjF,yCAA8B;QA0B5B,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;QAC9E,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC;QACpF,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,OAAO,GAAkB;YAC7B,MAAM;YACN,SAAS;YACT,UAAU;YACV,GAAG,IAAI;YACP,OAAO,EAAE,OAAO,IAAI,2BAA2B;SAChD,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,kBAAkB,EAAE,EAAE,CAAC;YAC7D,MAAM,IAAI,MAAM,CAAC,cAAc,CAC7B,sWAAsW,CACvW,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAQ,CAAC;QAChC,2DAA2D;QAC3D,uEAAuE;QACvE,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,IAAI,CAAC,kBAAkB,GAAI,IAA8B,CAAC,mBAAmB,IAAI,CAAC,CAAC,OAAO,CAAC;QAC3F,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAa,CAAC,eAAe,CAAC,gBAAgB,CAAC;QACjF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACxC,4EAA4E;QAC5E,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,IAAI,CAAC,QAAQ;YACX,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC1E,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,8BAA8B,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACxF,eAAe,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACtD,uBAAA,IAAI,0BAAY,IAAI,CAAC,eAAe,MAAA,CAAC;QAErC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,OAAO,CAAC,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,SAAS,GAAI,IAA8B,CAAC,MAAM,CAAC;QACzD,gEAAgE;QAChE,qEAAqE;QACrE,2DAA2D;QAC3D,OAAQ,OAAiC,CAAC,MAAM,CAAC;QACjD,OAAQ,OAAiC,CAAC,mBAAmB,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBAClD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;YAExG,sEAAsE;YACtE,0EAA0E;YAC1E,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;gBAChD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC;oBACvC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,4BAA4B,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;oBAC/F,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACnE,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;oBACnD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;oBACnC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAChF,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,mEAAmE;oBACnE,+DAA+D;oBAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,OAA2B;QACzD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,0BAA0B;QAChC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC/B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,iBAAiB,EAAE,CAAC,GAAY,EAAE,EAAE;gBAClC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;YAC5E,CAAC;YACD,eAAe,EAAE,CAAC,GAAW,EAAE,EAAE;gBAC/B,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,iBAAiB;QACvB,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;IAEO,eAAe,CAAC,QAA6B;QACnD,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YACtC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAA+B;QACzC,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,uBAAuB,GAAG,aAAa,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC;QACxG,MAAM,aAAa,GAAG,QAAQ,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,IAAI,uBAAuB,CAAC;QAC/F,MAAM,QAAQ,GAA0B;YACtC,GAAG,IAAI,CAAC,QAAQ;YAChB,qEAAqE;YACrE,uEAAuE;YACvE,qEAAqE;YACrE,qEAAqE;YACrE,sEAAsE;YACtE,6DAA6D;YAC7D,oEAAoE;YACpE,8DAA8D;YAC9D,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,sEAAsE;YACtE,uEAAuE;YACvE,qEAAqE;YACrE,yDAAyD;YACzD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,0DAA0D;YAC1D,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,GAAG,OAAO;YACV,gEAAgE;YAChE,sEAAsE;YACtE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;YACnD,mBAAmB,EAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB;SAC3E,CAAC;QACF,OAAO,IAAK,IAAI,CAAC,WAAgE,CAAC,QAAQ,CAAC,CAAC;IAC9F,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,0BAA0B,CAAC,OAAgB;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,OAAO,CAAC,CAAC;YACpF,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACnD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,MAAM,CAAC,cAAc,CAC7B,YAAY,OAAO,oDAAoD,OAAO,eAAe,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAgBS,YAAY;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACpC,CAAC;IAES,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAmB;QAC1D,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7D,OAAO,CAAC,oDAAoD;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,KAAK,CACb,0MAA0M,CAC3M,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAAyB;QAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;YAC3D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,IAAyB;QACnD,yEAAyE;QACzE,qEAAqE;QACrE,oEAAoE;QACpE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,iEAAiE;QACjE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5C,OAAO,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,IAAyB;QAClD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,IAAyB;QAClD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAES,cAAc,CAAC,KAAuC;QAC9D,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,YAAY;QAClB,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,OAAO,EAAE,CAAC;IAClD,CAAC;IAES,qBAAqB;QAC7B,OAAO,wBAAwB,KAAK,EAAE,EAAE,CAAC;IAC3C,CAAC;IAES,eAAe,CACvB,MAAc,EACd,KAAa,EACb,OAA2B,EAC3B,OAAgB;QAEhB,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ,CACN,IAAY,EACZ,KAAiD,EACjD,cAAmC;QAEnC,MAAM,OAAO,GAAG,CAAC,CAAC,uBAAA,IAAI,kEAAmB,MAAvB,IAAI,CAAqB,IAAI,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;QAC/E,MAAM,GAAG,GACP,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACnB,IAAI,GAAG,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9F,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;QACtD,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,6BAA6B,CAAC,SAAiB;QAC7C,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,MAAO,CAAC;QACxD,IAAI,eAAe,GAAG,cAAc,EAAE,CAAC;YACrC,MAAM,IAAI,MAAM,CAAC,cAAc,CAC7B,6EAA6E;gBAC3E,iGAAiG,CACpG,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,cAAc,CAAC,OAA4B,IAAkB,CAAC;IAE9E;;;;;;;;;;;;OAYG;IACO,KAAK,CAAC,cAAc,CAC5B,OAAoB,EACpB,EAAE,GAAG,EAAE,OAAO,EAAiD;QAE/D,0EAA0E;QAC1E,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACtD,wEAAwE;YACxE,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACpG,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO;iBACrB,GAAG,CAAC,gBAAgB,CAAC;gBACtB,EAAE,KAAK,CAAC,GAAG,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACO,iBAAiB;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAM,IAAY,EAAE,IAAqC;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAM,IAAY,EAAE,IAAqC;QAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAM,IAAY,EAAE,IAAqC;QAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAM,IAAY,EAAE,IAAqC;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAM,IAAY,EAAE,IAAqC;QAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,aAAa,CACnB,MAAkB,EAClB,IAAY,EACZ,IAAqC;QAErC,OAAO,IAAI,CAAC,OAAO,CACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,OAA4C,EAC5C,mBAAkC,IAAI;QAEtC,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,YAAiD,EACjD,gBAA+B,EAC/B,mBAAuC;QAEvC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QACzD,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC7B,gBAAgB,GAAG,UAAU,CAAC;YAC9B,0EAA0E;YAC1E,oEAAoE;YACpE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC7D,UAAU,EAAE,UAAU,GAAG,gBAAgB;SAC1C,CAAC,CAAC;QAEH,qEAAqE;QACrE,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9F,MAAM,WAAW,GAAG,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,mBAAmB,EAAE,CAAC;QACjG,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;YACnF,YAAY;YACZ,mBAAmB;SACpB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,QAAQ,YAAY,UAAU,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,aAAa,gBAAgB,qBAAqB,CAAC;YACxE,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACvC,CAAC;YACD,0CAA0C;YAC1C,6LAA6L;YAC7L,iJAAiJ;YACjJ,gGAAgG;YAChG,MAAM,SAAS,GACb,YAAY,CAAC,QAAQ,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE9F,0EAA0E;YAC1E,2EAA2E;YAC3E,4EAA4E;YAC5E,4EAA4E;YAC5E,cAAc;YACd,MAAM,aAAa,GACjB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACpG,IAAI,aAAa,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/D,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,oCAAoC,CAAC,CAAC;gBAC3E,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CACnB,IAAI,YAAY,oCAAoC,EACpD,oBAAoB,CAAC;oBACnB,mBAAmB;oBACnB,GAAG;oBACH,UAAU,EAAE,WAAW,GAAG,SAAS;oBACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC,CACH,CAAC;gBACF,MAAM,QAAQ,CAAC;YACjB,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAClB,IAAI,YAAY,gBAAgB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,MAAM,YAAY,EAAE,CACvF,CAAC;gBACF,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CACnB,IAAI,YAAY,gBAAgB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,KAAK,YAAY,GAAG,EACtF,oBAAoB,CAAC;oBACnB,mBAAmB;oBACnB,GAAG;oBACH,UAAU,EAAE,WAAW,GAAG,SAAS;oBACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC,CACH,CAAC;gBACF,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,IAAI,YAAY,CAAC,CAAC;YAC3F,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAClB,IAAI,YAAY,gBAAgB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,gCAAgC,CACnG,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CACnB,IAAI,YAAY,gBAAgB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,gCAAgC,EAClG,oBAAoB,CAAC;gBACnB,mBAAmB;gBACnB,GAAG;gBACH,UAAU,EAAE,WAAW,GAAG,SAAS;gBACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CACH,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YAC/C,CAAC;YACD,oFAAoF;YACpF,0EAA0E;YAC1E,IAAI,aAAa,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAClE,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,MAAM,YAAY,GAAG,IAAI,YAAY,GAAG,WAAW,GAAG,cAAc,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,IACxF,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAC9B,gBAAgB,QAAQ,CAAC,MAAM,OAAO,WAAW,GAAG,SAAS,IAAI,CAAC;QAElE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,gBAAgB,IAAI,WAAW,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,aAAa,gBAAgB,qBAAqB,CAAC;gBAExE,2CAA2C;gBAC3C,MAAM,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChD,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,MAAM,YAAY,EAAE,CAAC,CAAC;gBAC1D,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CACnB,IAAI,YAAY,qBAAqB,YAAY,GAAG,EACpD,oBAAoB,CAAC;oBACnB,mBAAmB;oBACnB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,WAAW,GAAG,SAAS;iBACpC,CAAC,CACH,CAAC;gBACF,OAAO,IAAI,CAAC,YAAY,CACtB,OAAO,EACP,gBAAgB,EAChB,mBAAmB,IAAI,YAAY,EACnC,QAAQ,CAAC,OAAO,CACjB,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,sBAAsB,CAAC;YAE1F,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,MAAM,YAAY,EAAE,CAAC,CAAC;YAE1D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAQ,CAAC;YACzC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YAEjD,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CACnB,IAAI,YAAY,qBAAqB,YAAY,GAAG,EACpD,oBAAoB,CAAC;gBACnB,mBAAmB;gBACnB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,UAAU;gBACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC,CACH,CAAC;YAEF,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzF,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CACnB,IAAI,YAAY,kBAAkB,EAClC,oBAAoB,CAAC;YACnB,mBAAmB;YACnB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,WAAW,GAAG,SAAS;SACpC,CAAC,CACH,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC;IACzF,CAAC;IAED,UAAU,CACR,IAAY,EACZ,IAAuC,EACvC,IAAqC;QAErC,OAAO,IAAI,CAAC,cAAc,CACxB,IAAI,EACJ,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CACnC,CAAC;IACJ,CAAC;IAED,cAAc,CAIZ,IAAuF,EACvF,OAA4C;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,UAAU,CAAC,WAAW,CAAkB,IAAwB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAAgB,EAChB,IAA6B,EAC7B,EAAU,EACV,UAA2B,EAC3B,cAAgD,EAChD,MAAuF;QAEvF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAClD,sFAAsF;QACtF,oFAAoF;QACpF,kFAAkF;QAClF,kFAAkF;QAClF,8EAA8E;QAC9E,qBAAqB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,MAAM;YAAE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,MAAM,cAAc,GAClB,CAAE,UAAkB,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,YAAa,UAAkB,CAAC,cAAc,CAAC;YAClG,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtG,MAAM,YAAY,GAAgB;YAChC,MAAM,EAAE,UAAU,CAAC,MAAa;YAChC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,EAAE,KAAK;YACb,GAAG,OAAO;SACX,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,oDAAoD;YACpD,mDAAmD;YACnD,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7C,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,MAAM,UAAU,GAAU,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;YACtD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9D,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,yEAAyE;QACzE,mEAAmE;QACnE,mEAAmE;QACnE,wEAAwE;QACxE,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,UAAU,GACd,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAC1C,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE;YACjC,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBACvC,CAAC,CAAC,QAAQ,YAAY,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;oBACzC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjB,SAAS,CAAC,OAAO;gBACf,SAAS,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE5F,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YAEpF,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CACnB,IAAI,MAAM,CAAC,YAAY,mBAAmB,EAC1C,oBAAoB,CAAC;oBACnB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;oBAC/C,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,GAAG,EAAE,WAAW;oBAChB,OAAO,EAAE,cAAc;oBACvB,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC3B,CAAC,CACH,CAAC;YACJ,CAAC;YAED,OAAO,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;QAEJ,MAAM,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC;QACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,aAAa,GACjB,iBAAiB,EAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACpB,OAAO,MAAM,uBAAuB,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC3G,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,OAA4B;QACxE,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IACE,QAAQ,CAAC,MAAM,KAAK,GAAG;YACvB,IAAI,CAAC,UAAU,CAAC,UAAU;YAC1B,KAAK,CAAC,cAAc;YACpB,CAAC,KAAK,CAAC,gBAAgB,EACvB,CAAC;YACD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,sCAAsC;QACtC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAEjE,+DAA+D;QAC/D,IAAI,iBAAiB,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,iBAAiB,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAEhD,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAEzC,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAEzC,wBAAwB;QACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAEzC,yBAAyB;QACzB,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QAExC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,OAA4B,EAC5B,gBAAwB,EACxB,YAAoB,EACpB,eAAqC;QAErC,IAAI,aAAiC,CAAC;QAEtC,mHAAmH;QACnH,MAAM,sBAAsB,GAAG,eAAe,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACtE,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,aAAa,GAAG,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,sGAAsG;QACtG,MAAM,gBAAgB,GAAG,eAAe,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,0CAA0C;QAC1C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;YACzD,aAAa,GAAG,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;QAE3B,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;IACvE,CAAC;IAEO,kCAAkC,CAAC,gBAAwB,EAAE,UAAkB;QACrF,MAAM,iBAAiB,GAAG,GAAG,CAAC;QAC9B,MAAM,aAAa,GAAG,GAAG,CAAC;QAE1B,MAAM,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;QAEjD,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QAE1F,sEAAsE;QACtE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QAExC,OAAO,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,CAAC;IAEM,4BAA4B,CAAC,SAAiB,EAAE,qBAA8B;QACnF,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAC7C,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAEjD,MAAM,YAAY,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC;QACpD,IAAI,YAAY,GAAG,WAAW,IAAI,CAAC,qBAAqB,IAAI,IAAI,IAAI,SAAS,GAAG,qBAAqB,CAAC,EAAE,CAAC;YACvG,MAAM,IAAI,MAAM,CAAC,cAAc,CAC7B,sKAAsK,CACvK,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,YAAiC,EACjC,EAAE,UAAU,GAAG,CAAC,KAA8B,EAAE;QAEhD,MAAM,OAAO,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAExD,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACpG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACzC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAK,EAAE,KAAgC,EAAE,cAAc,CAAC,CAAC;QACnF,IAAI,SAAS,IAAI,OAAO;YAAE,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAClD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAEvG,MAAM,GAAG,GAAyB;YAChC,MAAM;YACN,OAAO,EAAE,UAAU;YACnB,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACjD,GAAG,CAAE,UAAkB,CAAC,cAAc;gBACpC,IAAI,YAAa,UAAkB,CAAC,cAAc,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3E,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACrB,GAAG,CAAE,IAAI,CAAC,YAAoB,IAAI,EAAE,CAAC;YACrC,GAAG,CAAE,OAAO,CAAC,YAAoB,IAAI,EAAE,CAAC;SACzC,CAAC;QAEF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,EACzB,OAAO,EACP,MAAM,EACN,WAAW,EACX,UAAU,GAMX;QACC,IAAI,kBAAkB,GAAgB,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,cAAc;gBAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnF,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,kBAAkB;YAClB;gBACE,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;gBACjC,yBAAyB,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjG,GAAG,kBAAkB,EAAE;gBACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;oBACzC,EAAE,2CAA2C,EAAE,MAAM,EAAE;oBACzD,CAAC,CAAC,SAAS,CAAC;gBACZ,mBAAmB,EAAE,YAAY;aAClC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC5B,WAAW;YACX,OAAO,CAAC,OAAO;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAEO,UAAU,CAAC,UAA2B;QAC5C,8FAA8F;QAC9F,oEAAoE;QACpE,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEO,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAoC;QAI5F,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrD,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3C;QACE,yBAAyB;QACzB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YACxB,IAAI,YAAY,WAAW;YAC3B,IAAI,YAAY,QAAQ;YACxB,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACvB,mDAAmD;gBACnD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACrC,+BAA+B;YAC/B,CAAE,UAAkB,CAAC,IAAI,IAAI,IAAI,YAAa,UAAkB,CAAC,IAAI,CAAC;YACtE,sCAAsC;YACtC,IAAI,YAAY,QAAQ;YACxB,2DAA2D;YAC3D,IAAI,YAAY,eAAe;YAC/B,oDAAoD;YACpD,CAAE,UAAkB,CAAC,cAAc,IAAI,IAAI,YAAa,UAAkB,CAAC,cAAc,CAAC,EAC1F,CAAC;YACD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,IAAgB,EAAE,CAAC;QAC5D,CAAC;aAAM,IACL,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI;gBAC3B,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,EACjF,CAAC;YACD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,kBAAkB,CAAC,IAAiC,CAAC,EAAE,CAAC;QACvG,CAAC;aAAM,IACL,OAAO,IAAI,KAAK,QAAQ;YACxB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,mCAAmC,EAC1E,CAAC;YACD,OAAO;gBACL,WAAW,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;gBACpE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAChC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,uBAAA,IAAI,8BAAS,MAAb,IAAI,EAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;;;IApwBC,OAAO,IAAI,CAAC,OAAO,KAAK,2BAA2B,CAAC;AACtD,CAAC;AAqwBM,uBAAS,GAAG,EAAI,AAAP,CAAQ;AACjB,0BAAY,GAAG,YAAY,AAAf,CAAgB;AAC5B,uBAAS,GAAG,SAAS,AAAZ,CAAa;AACtB,6BAAe,GAAG,MAAM,AAAT,CAAU,CAAC,aAAa;AAEvC,4BAAc,GAAG,MAAM,CAAC,cAAc,AAAxB,CAAyB;AACvC,sBAAQ,GAAG,MAAM,CAAC,QAAQ,AAAlB,CAAmB;AAC3B,gCAAkB,GAAG,MAAM,CAAC,kBAAkB,AAA5B,CAA6B;AAC/C,uCAAyB,GAAG,MAAM,CAAC,yBAAyB,AAAnC,CAAoC;AAC7D,+BAAiB,GAAG,MAAM,CAAC,iBAAiB,AAA3B,CAA4B;AAC7C,2BAAa,GAAG,MAAM,CAAC,aAAa,AAAvB,CAAwB;AACrC,2BAAa,GAAG,MAAM,CAAC,aAAa,AAAvB,CAAwB;AACrC,4BAAc,GAAG,MAAM,CAAC,cAAc,AAAxB,CAAyB;AACvC,6BAAe,GAAG,MAAM,CAAC,eAAe,AAAzB,CAA0B;AACzC,iCAAmB,GAAG,MAAM,CAAC,mBAAmB,AAA7B,CAA8B;AACjD,iCAAmB,GAAG,MAAM,CAAC,mBAAmB,AAA7B,CAA8B;AACjD,mCAAqB,GAAG,MAAM,CAAC,qBAAqB,AAA/B,CAAgC;AACrD,sCAAwB,GAAG,MAAM,CAAC,wBAAwB,AAAlC,CAAmC;AAE3D,oBAAM,GAAG,OAAO,CAAC,MAAM,AAAjB,CAAkB;AAGjC;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAa;IAA5C;;QACE,gBAAW,GAAoB,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzD,aAAQ,GAAiB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,WAAM,GAAe,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,SAAI,GAAa,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CAAA;AAED,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;AAC1B,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC"}
|
package/core/middleware.d.mts
CHANGED
|
@@ -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
|
-
*
|
|
113
|
+
* const logger: Middleware = async (request, next, ctx) => {
|
|
114
|
+
* ctx.logger.debug('->', request.method, request.url);
|
|
82
115
|
* const response = await next(request);
|
|
83
|
-
*
|
|
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
|
|
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"}
|
package/core/middleware.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
113
|
+
* const logger: Middleware = async (request, next, ctx) => {
|
|
114
|
+
* ctx.logger.debug('->', request.method, request.url);
|
|
82
115
|
* const response = await next(request);
|
|
83
|
-
*
|
|
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
|
package/core/middleware.d.ts.map
CHANGED
|
@@ -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
|
|
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"}
|
package/core/middleware.js
CHANGED
|
@@ -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
|
-
|
|
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;
|
package/core/middleware.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/core/middleware.ts"],"names":[],"mappings":"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"}
|