@animalabs/membrane 0.5.79 → 0.5.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cache-keepalive.d.ts +115 -0
- package/dist/cache-keepalive.d.ts.map +1 -0
- package/dist/cache-keepalive.js +0 -0
- package/dist/cache-keepalive.js.map +1 -0
- package/dist/cache-keepalive.test.d.ts +2 -0
- package/dist/cache-keepalive.test.d.ts.map +1 -0
- package/dist/cache-keepalive.test.js +206 -0
- package/dist/cache-keepalive.test.js.map +1 -0
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/context/process.d.ts +3 -1
- package/dist/context/process.d.ts.map +1 -1
- package/dist/context/process.js +230 -49
- package/dist/context/process.js.map +1 -1
- package/dist/context/types.d.ts +30 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js +16 -0
- package/dist/context/types.js.map +1 -1
- package/dist/floating-cache-marker.test.d.ts +2 -0
- package/dist/floating-cache-marker.test.d.ts.map +1 -0
- package/dist/floating-cache-marker.test.js +263 -0
- package/dist/floating-cache-marker.test.js.map +1 -0
- package/dist/formatters/anthropic-xml.d.ts +2 -0
- package/dist/formatters/anthropic-xml.d.ts.map +1 -1
- package/dist/formatters/anthropic-xml.js +57 -19
- package/dist/formatters/anthropic-xml.js.map +1 -1
- package/dist/formatters/normalize-tool-pairs.d.ts +7 -0
- package/dist/formatters/normalize-tool-pairs.d.ts.map +1 -1
- package/dist/formatters/normalize-tool-pairs.js +45 -0
- package/dist/formatters/normalize-tool-pairs.js.map +1 -1
- package/dist/formatters/types.d.ts +29 -0
- package/dist/formatters/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/membrane.d.ts +142 -7
- package/dist/membrane.d.ts.map +1 -1
- package/dist/membrane.js +881 -270
- package/dist/membrane.js.map +1 -1
- package/dist/providers/anthropic.d.ts +37 -0
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +163 -26
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/bedrock.d.ts +8 -0
- package/dist/providers/bedrock.d.ts.map +1 -1
- package/dist/providers/bedrock.js +24 -1
- package/dist/providers/bedrock.js.map +1 -1
- package/dist/providers/gemini.d.ts +11 -0
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +104 -82
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/mock.d.ts +2 -0
- package/dist/providers/mock.d.ts.map +1 -1
- package/dist/providers/mock.js +2 -0
- package/dist/providers/mock.js.map +1 -1
- package/dist/providers/openai-compatible.d.ts +7 -0
- package/dist/providers/openai-compatible.d.ts.map +1 -1
- package/dist/providers/openai-compatible.js +99 -48
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/providers/openai-completions.d.ts +5 -0
- package/dist/providers/openai-completions.d.ts.map +1 -1
- package/dist/providers/openai-completions.js +107 -44
- package/dist/providers/openai-completions.js.map +1 -1
- package/dist/providers/openai-responses-api.d.ts +16 -0
- package/dist/providers/openai-responses-api.d.ts.map +1 -1
- package/dist/providers/openai-responses-api.js +38 -10
- package/dist/providers/openai-responses-api.js.map +1 -1
- package/dist/providers/openai-responses.d.ts +2 -0
- package/dist/providers/openai-responses.d.ts.map +1 -1
- package/dist/providers/openai-responses.js +8 -1
- package/dist/providers/openai-responses.js.map +1 -1
- package/dist/providers/openai.d.ts +7 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +92 -44
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openrouter.d.ts +9 -0
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +118 -62
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/utils.d.ts +74 -2
- package/dist/providers/utils.d.ts.map +1 -1
- package/dist/providers/utils.js +184 -3
- package/dist/providers/utils.js.map +1 -1
- package/dist/registry/default-pricing.d.ts +22 -0
- package/dist/registry/default-pricing.d.ts.map +1 -1
- package/dist/registry/default-pricing.js +162 -28
- package/dist/registry/default-pricing.js.map +1 -1
- package/dist/types/config.d.ts +5 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/content.d.ts +13 -0
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/content.js.map +1 -1
- package/dist/types/errors.d.ts +15 -0
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +26 -0
- package/dist/types/errors.js.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/provider.d.ts +50 -0
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/request.d.ts +13 -0
- package/dist/types/request.d.ts.map +1 -1
- package/dist/types/response.d.ts +85 -4
- package/dist/types/response.d.ts.map +1 -1
- package/dist/types/response.js.map +1 -1
- package/dist/types/streaming.d.ts +6 -1
- package/dist/types/streaming.d.ts.map +1 -1
- package/dist/utils/cache-marker-budget.d.ts +82 -0
- package/dist/utils/cache-marker-budget.d.ts.map +1 -0
- package/dist/utils/cache-marker-budget.js +189 -0
- package/dist/utils/cache-marker-budget.js.map +1 -0
- package/dist/utils/cost.d.ts +22 -0
- package/dist/utils/cost.d.ts.map +1 -1
- package/dist/utils/cost.js +55 -0
- package/dist/utils/cost.js.map +1 -1
- package/dist/utils/thinking-carriers.d.ts +80 -0
- package/dist/utils/thinking-carriers.d.ts.map +1 -0
- package/dist/utils/thinking-carriers.js +115 -0
- package/dist/utils/thinking-carriers.js.map +1 -0
- package/dist/utils/tool-parser.d.ts +24 -0
- package/dist/utils/tool-parser.d.ts.map +1 -1
- package/dist/utils/tool-parser.js +367 -161
- package/dist/utils/tool-parser.js.map +1 -1
- package/dist/utils/usage.d.ts +71 -0
- package/dist/utils/usage.d.ts.map +1 -0
- package/dist/utils/usage.js +161 -0
- package/dist/utils/usage.js.map +1 -0
- package/dist/yielding-stream.d.ts +8 -0
- package/dist/yielding-stream.d.ts.map +1 -1
- package/dist/yielding-stream.js +49 -3
- package/dist/yielding-stream.js.map +1 -1
- package/package.json +3 -2
- package/src/cache-keepalive.test.ts +244 -0
- package/src/cache-keepalive.ts +385 -0
- package/src/context/index.ts +1 -0
- package/src/context/process.ts +305 -59
- package/src/context/types.ts +38 -0
- package/src/floating-cache-marker.test.ts +285 -0
- package/src/formatters/anthropic-xml.ts +62 -20
- package/src/formatters/normalize-tool-pairs.ts +49 -0
- package/src/formatters/types.ts +32 -0
- package/src/index.ts +13 -0
- package/src/membrane.ts +1031 -279
- package/src/providers/anthropic.ts +205 -20
- package/src/providers/bedrock.ts +25 -1
- package/src/providers/gemini.ts +125 -87
- package/src/providers/mock.ts +3 -0
- package/src/providers/openai-compatible.ts +102 -45
- package/src/providers/openai-completions.ts +112 -46
- package/src/providers/openai-responses-api.ts +45 -15
- package/src/providers/openai-responses.ts +8 -1
- package/src/providers/openai.ts +95 -42
- package/src/providers/openrouter.ts +125 -63
- package/src/providers/utils.ts +227 -6
- package/src/registry/default-pricing.ts +165 -28
- package/src/types/config.ts +6 -0
- package/src/types/content.ts +14 -0
- package/src/types/errors.ts +28 -0
- package/src/types/index.ts +6 -0
- package/src/types/provider.ts +55 -0
- package/src/types/request.ts +14 -0
- package/src/types/response.ts +109 -8
- package/src/types/streaming.ts +8 -2
- package/src/utils/cache-marker-budget.ts +208 -0
- package/src/utils/cost.ts +64 -0
- package/src/utils/thinking-carriers.ts +125 -0
- package/src/utils/tool-parser.ts +473 -174
- package/src/utils/usage.ts +184 -0
- package/src/yielding-stream.ts +54 -3
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import Anthropic from '@anthropic-ai/sdk';
|
|
5
5
|
import { assertWithinByteBudget } from '../utils/image-media.js';
|
|
6
|
-
import { MembraneError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, abortError, } from '../types/index.js';
|
|
6
|
+
import { MembraneError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, abortError, unsupportedError, } from '../types/index.js';
|
|
7
7
|
import { flattenRootSchemaUnion } from './anthropic-tool-schema.js';
|
|
8
|
+
import { assertTerminalEventObserved } from './utils.js';
|
|
9
|
+
import { CacheKeepalive } from '../cache-keepalive.js';
|
|
8
10
|
// ============================================================================
|
|
9
11
|
// Model capability gates
|
|
10
12
|
// ============================================================================
|
|
@@ -107,6 +109,13 @@ export function thinkingEnabled(request) {
|
|
|
107
109
|
// ============================================================================
|
|
108
110
|
export class AnthropicAdapter {
|
|
109
111
|
name = 'anthropic';
|
|
112
|
+
/**
|
|
113
|
+
* Verified live 2026-08-25 (claude-haiku-4-5, 4,650-token cached system
|
|
114
|
+
* prompt): call 1 returned input_tokens 8 / cache_creation_input_tokens 4650,
|
|
115
|
+
* call 2 input_tokens 8 / cache_read_input_tokens 4650. `input_tokens` never
|
|
116
|
+
* counts the cached span.
|
|
117
|
+
*/
|
|
118
|
+
usageCacheConvention = 'cache-excluded';
|
|
110
119
|
client;
|
|
111
120
|
defaultMaxTokens;
|
|
112
121
|
/** Any anthropic-beta value from defaultHeaders (e.g. the oauth beta for
|
|
@@ -114,12 +123,17 @@ export class AnthropicAdapter {
|
|
|
114
123
|
* the SDK rather than merging, so when we add a per-request beta we must
|
|
115
124
|
* re-carry this one alongside it or auth breaks. */
|
|
116
125
|
defaultBeta;
|
|
126
|
+
/** Holds idle agents' cached prefixes warm; undefined when disabled. */
|
|
127
|
+
cacheKeepalive;
|
|
128
|
+
/** Live per-request header source (see AnthropicAdapterConfig.dynamicHeaders). */
|
|
129
|
+
dynamicHeaders;
|
|
117
130
|
constructor(config = {}) {
|
|
118
131
|
const clientOptions = {
|
|
119
132
|
baseURL: config.baseURL,
|
|
120
133
|
defaultHeaders: config.defaultHeaders,
|
|
121
134
|
};
|
|
122
135
|
this.defaultBeta = extractBetaHeader(config.defaultHeaders);
|
|
136
|
+
this.dynamicHeaders = config.dynamicHeaders;
|
|
123
137
|
if (config.authToken !== undefined) {
|
|
124
138
|
clientOptions.authToken = config.authToken;
|
|
125
139
|
clientOptions.apiKey = null;
|
|
@@ -129,6 +143,13 @@ export class AnthropicAdapter {
|
|
|
129
143
|
}
|
|
130
144
|
this.client = new Anthropic(clientOptions);
|
|
131
145
|
this.defaultMaxTokens = config.defaultMaxTokens ?? 4096;
|
|
146
|
+
this.cacheKeepalive = config.cacheKeepalive?.enabled === false
|
|
147
|
+
? undefined
|
|
148
|
+
: new CacheKeepalive(
|
|
149
|
+
// Replay path. Deliberately bypasses buildRequest(): the payload is
|
|
150
|
+
// the already-built wire request from a real call, and rebuilding it
|
|
151
|
+
// risks a byte diff that silently converts a 0.1x read into a 2x write.
|
|
152
|
+
async (wire, headers) => await this.client.messages.create(wire, headers ? { headers } : undefined), config.cacheKeepalive ?? {});
|
|
132
153
|
}
|
|
133
154
|
supportsModel(modelId) {
|
|
134
155
|
return modelId.startsWith('claude-');
|
|
@@ -137,10 +158,12 @@ export class AnthropicAdapter {
|
|
|
137
158
|
const anthropicRequest = this.buildRequest(request);
|
|
138
159
|
const fullRequest = { ...anthropicRequest, stream: false };
|
|
139
160
|
options?.onRequest?.(fullRequest);
|
|
161
|
+
const headers = this.betaHeaders(request);
|
|
162
|
+
this.cacheKeepalive?.record(fullRequest, headers, 'complete');
|
|
140
163
|
try {
|
|
141
164
|
const response = await this.client.messages.create(fullRequest, {
|
|
142
165
|
signal: options?.signal,
|
|
143
|
-
headers: this.
|
|
166
|
+
headers: this.liveHeaders(headers),
|
|
144
167
|
});
|
|
145
168
|
return this.parseResponse(response, fullRequest);
|
|
146
169
|
}
|
|
@@ -153,6 +176,9 @@ export class AnthropicAdapter {
|
|
|
153
176
|
// Note: stream is implicitly true when using .stream()
|
|
154
177
|
const fullRequest = { ...anthropicRequest, stream: true };
|
|
155
178
|
options?.onRequest?.(fullRequest);
|
|
179
|
+
// Snapshot the primary lane's prefix so it can be held warm across idle
|
|
180
|
+
// gaps. `stream: true` is dropped at replay time (transport, not cache key).
|
|
181
|
+
this.cacheKeepalive?.record(fullRequest, this.betaHeaders(request), 'stream');
|
|
156
182
|
// Idle timeout: abort if no SSE event arrives within the deadline.
|
|
157
183
|
// The SDK's timeout only covers the initial HTTP response headers;
|
|
158
184
|
// once streaming starts, a silently dropped connection waits forever.
|
|
@@ -197,7 +223,7 @@ export class AnthropicAdapter {
|
|
|
197
223
|
try {
|
|
198
224
|
const stream = await this.client.messages.stream(anthropicRequest, {
|
|
199
225
|
signal: idleAbort.signal,
|
|
200
|
-
headers: this.betaHeaders(request),
|
|
226
|
+
headers: this.liveHeaders(this.betaHeaders(request)),
|
|
201
227
|
});
|
|
202
228
|
// Accumulate response metadata from SSE events directly, so we can
|
|
203
229
|
// skip finalMessage() and its variable-latency connection teardown.
|
|
@@ -212,6 +238,7 @@ export class AnthropicAdapter {
|
|
|
212
238
|
let inferenceGeo;
|
|
213
239
|
let serviceTier;
|
|
214
240
|
let stopReason = 'end_turn';
|
|
241
|
+
let sawTerminalEvent = false;
|
|
215
242
|
let stopSequence;
|
|
216
243
|
let stopDetails;
|
|
217
244
|
// Content block tracking — finalized on content_block_stop
|
|
@@ -226,6 +253,46 @@ export class AnthropicAdapter {
|
|
|
226
253
|
// thinking blocks with no thinking_delta at all (signature only).
|
|
227
254
|
const wrapThinkingTags = options?.wrapThinkingTags === true;
|
|
228
255
|
let thinkingTagOpen = false;
|
|
256
|
+
// Index of a block that has started and not yet been stopped. A stream
|
|
257
|
+
// can end with one still open: measured live against claude-haiku-4-5
|
|
258
|
+
// (2026-08-25), a tool call truncated by max_tokens emits
|
|
259
|
+
// content_block_start + input_json_delta fragments and then goes
|
|
260
|
+
// straight to message_delta — no content_block_stop at all.
|
|
261
|
+
let openBlockIndex = -1;
|
|
262
|
+
const finalizeContentBlock = (blockIdx, sawBlockStop) => {
|
|
263
|
+
const block = contentBlocks[blockIdx];
|
|
264
|
+
if (block) {
|
|
265
|
+
if (block.type === 'text') {
|
|
266
|
+
block.text = currentBlockContent;
|
|
267
|
+
}
|
|
268
|
+
else if (block.type === 'thinking') {
|
|
269
|
+
block.thinking = currentBlockContent;
|
|
270
|
+
if (thinkingTagOpen) {
|
|
271
|
+
callbacks.onChunk('</thinking>\n');
|
|
272
|
+
thinkingTagOpen = false;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
else if (block.type === 'tool_use') {
|
|
276
|
+
if (!sawBlockStop) {
|
|
277
|
+
// Arguments never finished arriving, so `input` is still the
|
|
278
|
+
// empty object content_block_start carried — a plausible no-arg
|
|
279
|
+
// call that nothing downstream can distinguish from a real one.
|
|
280
|
+
block.unparseableInput = currentBlockInputJson;
|
|
281
|
+
}
|
|
282
|
+
else if (currentBlockInputJson) {
|
|
283
|
+
try {
|
|
284
|
+
block.input = JSON.parse(currentBlockInputJson);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// Same fabrication, reached by a block that did stop: keep the
|
|
288
|
+
// raw accumulation and mark it so consumers can refuse.
|
|
289
|
+
block.unparseableInput = currentBlockInputJson;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
callbacks.onContentBlock?.(blockIdx, contentBlocks[blockIdx]);
|
|
295
|
+
};
|
|
229
296
|
for await (const event of stream) {
|
|
230
297
|
sawEvent = true;
|
|
231
298
|
resetIdleTimer();
|
|
@@ -250,6 +317,7 @@ export class AnthropicAdapter {
|
|
|
250
317
|
}
|
|
251
318
|
else if (event.type === 'content_block_start') {
|
|
252
319
|
currentBlockIndex = event.index;
|
|
320
|
+
openBlockIndex = event.index;
|
|
253
321
|
currentBlockContent = '';
|
|
254
322
|
currentBlockInputJson = '';
|
|
255
323
|
contentBlocks[currentBlockIndex] = { ...event.content_block };
|
|
@@ -286,27 +354,8 @@ export class AnthropicAdapter {
|
|
|
286
354
|
}
|
|
287
355
|
else if (event.type === 'content_block_stop') {
|
|
288
356
|
// Finalize block — use event.index for defensive correctness
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
if (block) {
|
|
292
|
-
if (block.type === 'text') {
|
|
293
|
-
block.text = currentBlockContent;
|
|
294
|
-
}
|
|
295
|
-
else if (block.type === 'thinking') {
|
|
296
|
-
block.thinking = currentBlockContent;
|
|
297
|
-
if (thinkingTagOpen) {
|
|
298
|
-
callbacks.onChunk('</thinking>\n');
|
|
299
|
-
thinkingTagOpen = false;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
else if (block.type === 'tool_use' && currentBlockInputJson) {
|
|
303
|
-
try {
|
|
304
|
-
block.input = JSON.parse(currentBlockInputJson);
|
|
305
|
-
}
|
|
306
|
-
catch { /* partial JSON */ }
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
callbacks.onContentBlock?.(blockIdx, contentBlocks[blockIdx]);
|
|
357
|
+
finalizeContentBlock(event.index, true);
|
|
358
|
+
openBlockIndex = -1;
|
|
310
359
|
}
|
|
311
360
|
else if (event.type === 'message_delta') {
|
|
312
361
|
// All content blocks are finalized by the time message_delta arrives.
|
|
@@ -314,6 +363,7 @@ export class AnthropicAdapter {
|
|
|
314
363
|
// teardown after it add only variable latency with no useful data.
|
|
315
364
|
const delta = event.delta;
|
|
316
365
|
stopReason = delta.stop_reason ?? 'end_turn';
|
|
366
|
+
sawTerminalEvent = true;
|
|
317
367
|
stopSequence = delta.stop_sequence ?? undefined;
|
|
318
368
|
// stop_details carries refusal metadata (e.g., category: 'reasoning_extraction')
|
|
319
369
|
stopDetails = delta.stop_details ?? undefined;
|
|
@@ -333,11 +383,22 @@ export class AnthropicAdapter {
|
|
|
333
383
|
if (idleTimer)
|
|
334
384
|
clearTimeout(idleTimer);
|
|
335
385
|
options?.signal?.removeEventListener('abort', onExternalAbort);
|
|
386
|
+
// A block still open here never received its content_block_stop: the
|
|
387
|
+
// turn ended mid-block. Finalize it so the accumulated text is not lost
|
|
388
|
+
// and a truncated tool call is marked rather than persisted as `{}`.
|
|
389
|
+
if (openBlockIndex >= 0) {
|
|
390
|
+
finalizeContentBlock(openBlockIndex, false);
|
|
391
|
+
openBlockIndex = -1;
|
|
392
|
+
}
|
|
336
393
|
// Force-close the HTTP connection so we don't block on SSE drain
|
|
337
394
|
try {
|
|
338
395
|
stream.controller.abort();
|
|
339
396
|
}
|
|
340
397
|
catch { /* already closed */ }
|
|
398
|
+
// message_delta is this adapter's terminal event — the loop breaks on
|
|
399
|
+
// it. Falling out of the for-await without one means the SSE connection
|
|
400
|
+
// closed mid-turn, and stopReason is still its 'end_turn' initialiser.
|
|
401
|
+
assertTerminalEventObserved(sawTerminalEvent, 'Anthropic', fullRequest);
|
|
341
402
|
return {
|
|
342
403
|
content: contentBlocks,
|
|
343
404
|
stopReason,
|
|
@@ -402,6 +463,20 @@ export class AnthropicAdapter {
|
|
|
402
463
|
* the SDK replaces same-key defaults instead of merging, and the API
|
|
403
464
|
* accepts comma-separated betas. Undefined when nothing to add, so the
|
|
404
465
|
* defaults apply untouched. */
|
|
466
|
+
/** Base headers + the live dynamicHeaders stamp. Request time only: the
|
|
467
|
+
* keepalive recorder receives the base headers BEFORE this merge, so
|
|
468
|
+
* replayed touches never carry a stale telemetry value. */
|
|
469
|
+
liveHeaders(base) {
|
|
470
|
+
const dyn = this.dynamicHeaders?.();
|
|
471
|
+
if (!dyn)
|
|
472
|
+
return base;
|
|
473
|
+
const out = { ...(base ?? {}) };
|
|
474
|
+
for (const [k, v] of Object.entries(dyn)) {
|
|
475
|
+
if (v !== null && v !== undefined && v !== '')
|
|
476
|
+
out[k] = String(v);
|
|
477
|
+
}
|
|
478
|
+
return Object.keys(out).length ? out : undefined;
|
|
479
|
+
}
|
|
405
480
|
betaHeaders(request) {
|
|
406
481
|
if (!thinkingEnabled(request) || !needsInterleavedThinkingBeta(request.model)) {
|
|
407
482
|
return undefined;
|
|
@@ -551,6 +626,10 @@ export class AnthropicAdapter {
|
|
|
551
626
|
};
|
|
552
627
|
}
|
|
553
628
|
handleError(error, rawRequest) {
|
|
629
|
+
// Already-classified failures (e.g. the stream-integrity guards) keep
|
|
630
|
+
// their type and retryability instead of being re-derived from a string.
|
|
631
|
+
if (error instanceof MembraneError)
|
|
632
|
+
return error;
|
|
554
633
|
if (error instanceof Anthropic.APIError) {
|
|
555
634
|
// Mid-stream SSE `error` events are rethrown by the SDK as APIError
|
|
556
635
|
// with status === undefined (sdk core/streaming.js), so the HTTP
|
|
@@ -578,7 +657,12 @@ export class AnthropicAdapter {
|
|
|
578
657
|
if (status === 401) {
|
|
579
658
|
return authError(message, error, rawRequest);
|
|
580
659
|
}
|
|
581
|
-
|
|
660
|
+
// Context-length is a client-side request-shape problem — it only ever
|
|
661
|
+
// arrives as a 400 (invalid_request_error). Without the status guard, a
|
|
662
|
+
// transient 5xx whose body happens to contain "context" or "too long"
|
|
663
|
+
// (e.g. "Internal error: context processing failed") was misclassified
|
|
664
|
+
// as non-retryable context_length, silently suppressing retries.
|
|
665
|
+
if (status === 400 && (message.includes('context') || message.includes('too long'))) {
|
|
582
666
|
return contextLengthError(message, error, rawRequest);
|
|
583
667
|
}
|
|
584
668
|
// 400 invalid_request_error — malformed payload (e.g. orphan tool_use_id,
|
|
@@ -742,6 +826,22 @@ export function toAnthropicContent(blocks) {
|
|
|
742
826
|
media_type: block.source.mediaType,
|
|
743
827
|
data: block.source.data,
|
|
744
828
|
},
|
|
829
|
+
// Anthropic's document block carries the filename as `title`; it was
|
|
830
|
+
// being dropped, so the model lost the one hint about what the PDF is.
|
|
831
|
+
...(block.filename ? { title: block.filename } : {}),
|
|
832
|
+
});
|
|
833
|
+
break;
|
|
834
|
+
case 'generated_image':
|
|
835
|
+
// A provider-generated image is a base64 image with a MIME type, which
|
|
836
|
+
// is exactly Anthropic's image block — carrying it across costs nothing
|
|
837
|
+
// and lets an image Gemini produced re-enter Anthropic history.
|
|
838
|
+
result.push({
|
|
839
|
+
type: 'image',
|
|
840
|
+
source: {
|
|
841
|
+
type: 'base64',
|
|
842
|
+
media_type: block.mimeType,
|
|
843
|
+
data: block.data,
|
|
844
|
+
},
|
|
745
845
|
});
|
|
746
846
|
break;
|
|
747
847
|
case 'tool_use':
|
|
@@ -777,10 +877,43 @@ export function toAnthropicContent(blocks) {
|
|
|
777
877
|
data: block.data,
|
|
778
878
|
});
|
|
779
879
|
break;
|
|
880
|
+
default: {
|
|
881
|
+
// The REQUEST path cannot degrade gracefully: a dropped block reaches
|
|
882
|
+
// the model as an absence, and it answers about content it was never
|
|
883
|
+
// shown. `audio` and `video` have no Anthropic Messages representation
|
|
884
|
+
// at all, and a block type added later would silently join them. Fail
|
|
885
|
+
// loudly at the boundary instead — the caller can strip or transcode.
|
|
886
|
+
const unsupportedType = block.type ?? 'unknown';
|
|
887
|
+
throw unsupportedError(`Anthropic has no representation for a "${unsupportedType}" content block, and dropping`
|
|
888
|
+
+ ' it would send the model a message missing content the caller supplied.'
|
|
889
|
+
+ ' Remove or convert the block before sending it on this provider.');
|
|
890
|
+
}
|
|
780
891
|
}
|
|
781
892
|
}
|
|
782
893
|
return result;
|
|
783
894
|
}
|
|
895
|
+
/** Unrecognised response block types warn once each, not once per conversion. */
|
|
896
|
+
const warnedUnconvertibleResponseBlocks = new Set();
|
|
897
|
+
/**
|
|
898
|
+
* The RESPONSE path can degrade gracefully where the request path cannot: the
|
|
899
|
+
* provider's own block is in hand, so keeping it verbatim on a zero-width
|
|
900
|
+
* carrier loses nothing recoverable and lets formatters replay it. Warn once
|
|
901
|
+
* per type so a new provider block type surfaces without flooding the log.
|
|
902
|
+
*/
|
|
903
|
+
function preserveUnconvertibleBlock(block, sourceLabel) {
|
|
904
|
+
const blockType = block?.type ?? 'unknown';
|
|
905
|
+
if (!warnedUnconvertibleResponseBlocks.has(blockType)) {
|
|
906
|
+
warnedUnconvertibleResponseBlocks.add(blockType);
|
|
907
|
+
console.warn(`[membrane:${sourceLabel}] no normalized ContentBlock for provider block type`
|
|
908
|
+
+ ` "${blockType}" — preserving it verbatim as a rawItem carrier so it can be`
|
|
909
|
+
+ ' replayed, but its content is not visible to normalized consumers.');
|
|
910
|
+
}
|
|
911
|
+
return { type: 'text', text: '', rawItem: block };
|
|
912
|
+
}
|
|
913
|
+
/** Test seam: the once-per-type warn latch is process-wide otherwise. */
|
|
914
|
+
export function resetUnconvertibleBlockWarnings() {
|
|
915
|
+
warnedUnconvertibleResponseBlocks.clear();
|
|
916
|
+
}
|
|
784
917
|
/**
|
|
785
918
|
* Convert Anthropic response content to normalized format
|
|
786
919
|
*/
|
|
@@ -807,12 +940,16 @@ export function fromAnthropicContent(blocks) {
|
|
|
807
940
|
});
|
|
808
941
|
break;
|
|
809
942
|
default:
|
|
810
|
-
// Handle redacted_thinking or unknown types
|
|
811
943
|
if (block.type === 'redacted_thinking') {
|
|
812
944
|
// Preserve the encrypted `data` payload — without it the block
|
|
813
945
|
// cannot be round-tripped and prior reasoning is lost.
|
|
814
946
|
result.push({ type: 'redacted_thinking', data: block.data });
|
|
815
947
|
}
|
|
948
|
+
else {
|
|
949
|
+
// server_tool_use, web_search_tool_result, search_result, mcp_tool_use
|
|
950
|
+
// and anything Anthropic adds later used to fall out here silently.
|
|
951
|
+
result.push(preserveUnconvertibleBlock(block, 'anthropic'));
|
|
952
|
+
}
|
|
816
953
|
break;
|
|
817
954
|
}
|
|
818
955
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,SAAiC,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAA6B,MAAM,yBAAyB,CAAC;AAS5F,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,qBAAqB,GAAG;IAC5B,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,uBAAuB;CACxB,CAAC;AAEF;;GAEG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;oDAEoD;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAAiC,CAAC;AAE3E;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,CAAC,GAAG,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,uBAAuB;IAC7D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAG,gDAAgD;IACtF,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;iBAGiB;AACjB,SAAS,iBAAiB,CAAC,OAAwC;IACjE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,OAAQ,OAAmB,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACnD,OAAQ,OAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IACjE,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACpC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,gBAAgB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;4EAI4E;AAC5E,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,MAAM,aAAa,GAAI,OAAO,CAAC,KAAsD,EAAE,QAAQ,CAAC;IAChG,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC;IACzD,OAAO,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,CAAC;AAC5E,CAAC;AA2BD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,WAAW,CAAC;IACpB,MAAM,CAAY;IAClB,gBAAgB,CAAS;IACjC;;;yDAGqD;IAC7C,WAAW,CAAqB;IAExC,YAAY,SAAiC,EAAE;QAC7C,MAAM,aAAa,GAAkB;YACnC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC3C,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAwB,EACxB,OAAgC;QAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,EAAE,GAAG,gBAAgB,EAAE,MAAM,EAAE,KAAc,EAAE,CAAC;QACpE,OAAO,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC9D,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;aACnC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAwB,EACxB,SAA0B,EAC1B,OAAgC;QAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,uDAAuD;QACvD,MAAM,WAAW,GAAG,EAAE,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1D,OAAO,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC;QAElC,mEAAmE;QACnE,mEAAmE;QACnE,sEAAsE;QACtE,2EAA2E;QAC3E,0EAA0E;QAC1E,oEAAoE;QACpE,yEAAyE;QACzE,oEAAoE;QACpE,yEAAyE;QACzE,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,OAAO,EAAE,aAAa,IAAI,OAAO,CAAC;QACjD,wEAAwE;QACxE,oEAAoE;QACpE,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,YAAY,GAAG,OAAO,EAAE,mBAAmB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,IAAI,SAAS,GAAyC,IAAI,CAAC;QAC3D,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,4DAA4D;QAC5D,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;iBAC7C,CAAC;gBAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;QACrF,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EACjD,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CACjC,CAAC;QACJ,CAAC,CAAC;QAEF,cAAc,EAAE,CAAC;QAEjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBACjE,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;aACnC,CAAC,CAAC;YAEH,mEAAmE;YACnE,oEAAoE;YACpE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,mBAAuC,CAAC;YAC5C,IAAI,eAAmC,CAAC;YACxC,IAAI,qBAAyC,CAAC;YAC9C,IAAI,qBAAyC,CAAC;YAC9C,IAAI,yBAAyB,GAAG,KAAK,CAAC;YACtC,IAAI,YAAgC,CAAC;YACrC,IAAI,WAA+B,CAAC;YACpC,IAAI,UAAU,GAAW,UAAU,CAAC;YACpC,IAAI,YAAgC,CAAC;YACrC,IAAI,WAAoB,CAAC;YAEzB,2DAA2D;YAC3D,MAAM,aAAa,GAA8B,EAAE,CAAC;YACpD,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,IAAI,qBAAqB,GAAG,EAAE,CAAC;YAC/B,qEAAqE;YACrE,wEAAwE;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,kEAAkE;YAClE,MAAM,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;YAC5D,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;gBAChB,cAAc,EAAE,CAAC;gBACjB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACnC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAA2C,CAAC;oBACxE,WAAW,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,mBAAmB,GAAG,OAAO,KAAK,CAAC,2BAA2B,KAAK,QAAQ;wBACzE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClD,eAAe,GAAG,OAAO,KAAK,CAAC,uBAAuB,KAAK,QAAQ;wBACjE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,cAAqD,CAAC;oBAClF,IAAI,aAAa,EAAE,CAAC;wBAClB,yBAAyB,GAAG,IAAI,CAAC;wBACjC,qBAAqB,GAAG,OAAO,aAAa,CAAC,yBAAyB,KAAK,QAAQ;4BACjF,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChD,qBAAqB,GAAG,OAAO,aAAa,CAAC,yBAAyB,KAAK,QAAQ;4BACjF,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;oBACD,YAAY,GAAG,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;oBACzF,WAAW,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;gBAExF,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAChD,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC;oBAChC,mBAAmB,GAAG,EAAE,CAAC;oBACzB,qBAAqB,GAAG,EAAE,CAAC;oBAC3B,aAAa,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC9D,SAAS,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBAErE,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAChD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC/B,mBAAmB,IAAI,KAAK,CAAC;wBAC7B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;yBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBACjD,mBAAmB,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC5C,IAAI,gBAAgB,IAAI,CAAC,eAAe,EAAE,CAAC;4BACzC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;4BAChC,eAAe,GAAG,IAAI,CAAC;wBACzB,CAAC;wBACD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC1C,CAAC;yBAAM,IAAK,KAAK,CAAC,KAA0B,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACxE,iEAAiE;wBACjE,6DAA6D;wBAC7D,gEAAgE;wBAChE,4DAA4D;wBAC5D,MAAM,GAAG,GAAI,KAAK,CAAC,KAAgC,CAAC,SAAS,CAAC;wBAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;wBAC/C,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC;4BAC9C,KAAK,CAAC,SAAS,GAAG,CAAE,KAAK,CAAC,SAAgC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC;wBAC1E,CAAC;oBACH,CAAC;yBAAM,IAAK,KAAK,CAAC,KAA0B,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBACzE,qBAAqB,IAAK,KAAK,CAAC,KAAkC,CAAC,YAAY,CAAC;oBAClF,CAAC;gBAEH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAC/C,6DAA6D;oBAC7D,MAAM,QAAQ,GAAI,KAA2B,CAAC,KAAK,CAAC;oBACpD,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACtC,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC1B,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAC;wBACnC,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACrC,KAAK,CAAC,QAAQ,GAAG,mBAAmB,CAAC;4BACrC,IAAI,eAAe,EAAE,CAAC;gCACpB,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gCACnC,eAAe,GAAG,KAAK,CAAC;4BAC1B,CAAC;wBACH,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,qBAAqB,EAAE,CAAC;4BAC9D,IAAI,CAAC;gCAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;4BAAC,CAAC;4BAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;wBACvF,CAAC;oBACH,CAAC;oBACD,SAAS,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEhE,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBAC1C,sEAAsE;oBACtE,wEAAwE;oBACxE,mEAAmE;oBACnE,MAAM,KAAK,GAAG,KAAK,CAAC,KAInB,CAAC;oBACF,UAAU,GAAG,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC;oBAC7C,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC;oBAChD,iFAAiF;oBACjF,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;oBAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,KAIxB,CAAC;oBACF,YAAY,GAAG,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC;oBAC7C,wEAAwE;oBACxE,IAAI,UAAU,CAAC,2BAA2B,IAAI,IAAI,EAAE,CAAC;wBACnD,mBAAmB,GAAG,UAAU,CAAC,2BAA2B,CAAC;oBAC/D,CAAC;oBACD,IAAI,UAAU,CAAC,uBAAuB,IAAI,IAAI,EAAE,CAAC;wBAC/C,eAAe,GAAG,UAAU,CAAC,uBAAuB,CAAC;oBACvD,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAE/D,iEAAiE;YACjE,IAAI,CAAC;gBAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAEjE,OAAO;gBACL,OAAO,EAAE,aAAa;gBACtB,UAAU;gBACV,YAAY;gBACZ,KAAK,EAAE;oBACL,WAAW;oBACX,YAAY;oBACZ,mBAAmB;oBACnB,eAAe;iBAChB;gBACD,KAAK;gBACL,UAAU,EAAE,WAAW;gBACvB,GAAG,EAAE;oBACH,OAAO,EAAE,aAAa;oBACtB,WAAW,EAAE,UAAU;oBACvB,aAAa,EAAE,YAAY,IAAI,IAAI;oBACnC,YAAY,EAAE,WAAW,IAAI,IAAI;oBACjC,KAAK;oBACL,KAAK,EAAE;wBACL,YAAY,EAAE,WAAW;wBACzB,aAAa,EAAE,YAAY;wBAC3B,2BAA2B,EAAE,mBAAmB;wBAChD,uBAAuB,EAAE,eAAe;wBACxC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;4BAC9B,cAAc,EAAE;gCACd,yBAAyB,EAAE,qBAAqB,IAAI,CAAC;gCACrD,yBAAyB,EAAE,qBAAqB,IAAI,CAAC;6BACtD;yBACF,CAAC,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtD;iBACF;aACF,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mCAAmC;YACnC,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAE/D,kEAAkE;YAClE,oEAAoE;YACpE,qEAAqE;YACrE,gEAAgE;YAChE,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,aAAa,CAAC;oBACtB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,QAAQ;wBACf,CAAC,CAAC,uDAAuD,MAAM,IAAI;wBACnE,CAAC,CAAC,4DAA4D,YAAY,oBAAoB;oBAChG,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,WAAW;iBACxB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;oCAKgC;IACxB,WAAW,CAAC,OAAwB;QAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,kEAAkE;QAClE,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACzE,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACrC,OAAO,EAAE,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpD,CAAC;IAEO,YAAY,CAAC,OAAwB;QAC3C,gFAAgF;QAChF,2DAA2D;QAC3D,4EAA4E;QAC5E,wEAAwE;QACxE,8EAA8E;QAC9E,iEAAiE;QACjE,MAAM,iBAAiB,GAAI,OAAO,CAAC,QAAkB,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;YACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,OAAO,GAAG,CAAC;YAC5C,OAAO;gBACL,GAAG,GAAG;gBACN,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;oBACtC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;wBACrC,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBACjE,OAAO;4BACL,GAAG,KAAK;4BACR,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,OAAyB,CAAC;yBACvE,CAAC;oBACJ,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,gDAAgD;QAChD,sBAAsB,CAAC,iBAAiB,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAkC;YAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB;YACtD,QAAQ,EAAE,iBAA6C;SACxD,CAAC;QAEF,4EAA4E;QAC5E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,sEAAsE;gBACtE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAoC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,qEAAqE;QACrE,oEAAoE;QACpE,8DAA8D;QAC9D,wEAAwE;QACxE,0EAA0E;QAC1E,8DAA8D;QAC9D,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,4EAA4E;QAC5E,mBAAmB;QACnB,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YACvE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC3C,CAAC;QAED,sEAAsE;QACtE,mFAAmF;QACnF,8EAA8E;QAC9E,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,MAAM,CAAC,WAAW,KAAK,SAAS;YAChC,CAAC,aAAa;YACd,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,EACrC,CAAC;YACD,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,sEAAsE;YACtE,mEAAmE;YACnE,oEAAoE;YACpE,mEAAmE;YACnE,kDAAkD;YAClD,MAAM,CAAC,KAAK,GAAI,OAAO,CAAC,KAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5D,MAAM,WAAW,GAAI,IAAmC,CAAC,YAAY,CAAC;gBACtE,MAAM,SAAS,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;gBACtD,OAAO,SAAS,KAAK,WAAW;oBAC9B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAE,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAqB,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAc,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC9C,CAAC;QAED,yDAAyD;QACzD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,KAAgC,CAAC;YACzF,yEAAyE;YACzE,2EAA2E;YAC3E,2EAA2E;YAC3E,sEAAsE;YACtE,4EAA4E;YAC5E,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC;gBACxB,OAAO,IAAI,CAAC,KAAK,CAAC;gBAClB,sEAAsE;gBACtE,8CAA8C;gBAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,IAAI,aAAa,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;oBACvE,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,QAA2B,EAAE,UAAmB;QACpE,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,WAAW,IAAI,UAAU;YAC9C,YAAY,EAAE,QAAQ,CAAC,aAAa,IAAI,SAAS;YACjD,KAAK,EAAE;gBACL,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;gBACxC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;gBAC1C,mBAAmB,EAAG,QAAQ,CAAC,KAAa,CAAC,2BAA2B;gBACxE,eAAe,EAAG,QAAQ,CAAC,KAAa,CAAC,uBAAuB;aACjE;YACD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,UAAU;YACV,GAAG,EAAE,QAAQ;SACd,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,KAAc,EAAE,UAAoB;QACtD,IAAI,KAAK,YAAY,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxC,oEAAoE;YACpE,iEAAiE;YACjE,kEAAkE;YAClE,gEAAgE;YAChE,gEAAgE;YAChE,6CAA6C;YAC7C,MAAM,QAAQ,GAAI,KAAK,CAAC,KAAmD,EAAE,KAAK,EAAE,IAAI,CAAC;YACzF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;gBACvD,qBAAqB,EAAE,GAAG;gBAC1B,oBAAoB,EAAE,GAAG;gBACzB,gBAAgB,EAAE,GAAG;gBACrB,eAAe,EAAE,GAAG;gBACpB,iBAAiB,EAAE,GAAG;gBACtB,gBAAgB,EAAE,GAAG;gBACrB,SAAS,EAAE,GAAG;gBACd,gBAAgB,EAAE,GAAG;aACtB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAE9B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,2BAA2B;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC/C,OAAO,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;YAED,0EAA0E;YAC1E,sEAAsE;YACtE,yEAAyE;YACzE,sEAAsE;YACtE,kEAAkE;YAClE,oEAAoE;YACpE,kDAAkD;YAClD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,OAAO,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAC1C,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACzD,CAAC;YAED,mEAAmE;YACnE,iEAAiE;YACjE,4DAA4D;YAC5D,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjD,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACtD,CAAC;YAED,iEAAiE;YACjE,gEAAgE;YAChE,oEAAoE;YACpE,oEAAoE;YACpE,8DAA8D;YAC9D,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBACpE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACtE,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC1C,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,IACE,KAAK,YAAY,KAAK;YACtB,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;gBAC1B,KAAK,CAAC,IAAI,KAAK,mBAAmB;gBAClC,KAAK,CAAC,OAAO,KAAK,sBAAsB,CAAC,EAC3C,CAAC;YACD,OAAO,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,aAAa,CAAC;YACvB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,KAA0B;QAChD,qDAAqD;QACrD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,4BAA4B,CACnC,MAAsB;IAEtB,MAAM,GAAG,GAAgE,EAAE,CAAC;IAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,SAAmB,CAA4D;wBAChJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;qBACxB;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;iBAC/C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AAEH;;;uBAGuB;AACvB,MAAM,UAAU,oBAAoB,CAAC,IAAwB,EAAE,QAAiB;IAC9E,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI;YAAE,OAAO,WAAW,CAAC;QAC3E,IAAI,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI;YAAE,OAAO,YAAY,CAAC;QAC/D,IAAI,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI;YAAE,OAAO,WAAW,CAAC;QAC9D,IAAI,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI,IAAE,CAAC,CAAC,CAAC,CAAC,KAAG,IAAI;YAAE,OAAO,YAAY,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,CAAC,KAAG,YAAY,IAAE,CAAC,KAAG,WAAW,IAAE,CAAC,KAAG,WAAW,IAAE,CAAC,KAAG,YAAY;QAAE,OAAO,CAAC,CAAC;IACnF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IACvD,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,sEAAsE;gBACtE,wEAAwE;gBACxE,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE;oBAAE,MAAM;gBAC7B,MAAM,SAAS,GAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC1D,oCAAoC;gBACpC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;gBAChD,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,MAAM;YACR,CAAC;YAED,KAAK,OAAO;gBACV,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,SAAmB,CAA4D;4BAChJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;yBACxB;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,SAA8B;wBACvD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;qBACxB;iBACF,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,UAAU;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,aAAa;gBAChB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,KAAK,CAAC,SAAS;oBAC5B,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;wBACxC,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC/C,QAAQ,EAAE,KAAK,CAAC,OAAO;iBACxB,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,UAAU;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpD,CAAC,CAAC;gBACV,MAAM;YAER,KAAK,mBAAmB;gBACtB,mEAAmE;gBACnE,gDAAgD;gBAChD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAG,KAAa,CAAC,IAAI;iBACnB,CAAC,CAAC;gBACV,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAgC;IACnE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM;YAER,KAAK,UAAU;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAgC;iBAC9C,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,UAAU;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAG,KAAa,CAAC,QAAQ;oBACjC,SAAS,EAAG,KAAa,CAAC,SAAS;iBACpC,CAAC,CAAC;gBACH,MAAM;YAER;gBACE,4CAA4C;gBAC5C,IAAK,KAAa,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAChD,+DAA+D;oBAC/D,uDAAuD;oBACvD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAG,KAAa,CAAC,IAAI,EAAS,CAAC,CAAC;gBAC/E,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,14 @@ export interface BedrockAdapterConfig {
|
|
|
29
29
|
}
|
|
30
30
|
export declare class BedrockAdapter implements ProviderAdapter {
|
|
31
31
|
readonly name = "bedrock";
|
|
32
|
+
/**
|
|
33
|
+
* Bedrock serves Anthropic models over the Anthropic Messages payload shape
|
|
34
|
+
* and this adapter reads Anthropic's own field names
|
|
35
|
+
* (`cache_read_input_tokens` / `cache_creation_input_tokens`), so it inherits
|
|
36
|
+
* the convention verified live against api.anthropic.com on 2026-08-25.
|
|
37
|
+
* Derived from the wire contract, not measured against Bedrock directly.
|
|
38
|
+
*/
|
|
39
|
+
readonly usageCacheConvention: "cache-excluded";
|
|
32
40
|
private accessKeyId;
|
|
33
41
|
private secretAccessKey;
|
|
34
42
|
private sessionToken?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAqB3B,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkND,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,aAAa;IAE1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,MAAM,GAAE,oBAAyB;IAc7C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKvC;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwClB,QAAQ,CACZ,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAiBtB,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAgB5B,OAAO,CAAC,YAAY;YA4HN,WAAW;YA0CX,qBAAqB;
|
|
1
|
+
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAqB3B,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkND,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,aAAa;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,EAAG,gBAAgB,CAAU;IAE1D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,MAAM,GAAE,oBAAyB;IAc7C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKvC;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwClB,QAAQ,CACZ,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAiBtB,MAAM,CACV,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAgB5B,OAAO,CAAC,YAAY;YA4HN,WAAW;YA0CX,qBAAqB;IA+TnC,OAAO,CAAC,aAAa;IA2CrB,OAAO,CAAC,WAAW;CA0CpB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Uses the Anthropic Messages API format through AWS Bedrock.
|
|
5
5
|
*/
|
|
6
6
|
import { MembraneError, rateLimitError, contextLengthError, authError, serverError, abortError, } from '../types/index.js';
|
|
7
|
-
import { createCombinedSignal } from './utils.js';
|
|
7
|
+
import { createCombinedSignal, isDeadlineAbort, deadlineTimeoutError, assertTerminalEventObserved } from './utils.js';
|
|
8
8
|
import { INTERLEAVED_THINKING_BETA, needsInterleavedThinkingBeta, thinkingEnabled, detectImageMediaType, } from './anthropic.js';
|
|
9
9
|
/**
|
|
10
10
|
* Bedrock accepts `cache_control: { type: 'ephemeral' }` but rejects the
|
|
@@ -104,6 +104,14 @@ async function signRequest(method, url, headers, body, accessKeyId, secretAccess
|
|
|
104
104
|
// ============================================================================
|
|
105
105
|
export class BedrockAdapter {
|
|
106
106
|
name = 'bedrock';
|
|
107
|
+
/**
|
|
108
|
+
* Bedrock serves Anthropic models over the Anthropic Messages payload shape
|
|
109
|
+
* and this adapter reads Anthropic's own field names
|
|
110
|
+
* (`cache_read_input_tokens` / `cache_creation_input_tokens`), so it inherits
|
|
111
|
+
* the convention verified live against api.anthropic.com on 2026-08-25.
|
|
112
|
+
* Derived from the wire contract, not measured against Bedrock directly.
|
|
113
|
+
*/
|
|
114
|
+
usageCacheConvention = 'cache-excluded';
|
|
107
115
|
accessKeyId;
|
|
108
116
|
secretAccessKey;
|
|
109
117
|
sessionToken;
|
|
@@ -370,6 +378,7 @@ export class BedrockAdapter {
|
|
|
370
378
|
let cacheCreationTokens;
|
|
371
379
|
let cacheReadTokens;
|
|
372
380
|
let stopReason = 'end_turn';
|
|
381
|
+
let sawTerminalEvent = false;
|
|
373
382
|
let stopSequence;
|
|
374
383
|
let fullText = '';
|
|
375
384
|
const reader = response.body?.getReader();
|
|
@@ -536,6 +545,7 @@ export class BedrockAdapter {
|
|
|
536
545
|
callbacks.onContentBlock?.(blockIdx, contentBlocks[blockIdx]);
|
|
537
546
|
}
|
|
538
547
|
else if (eventData.type === 'message_delta') {
|
|
548
|
+
sawTerminalEvent = true;
|
|
539
549
|
if (eventData.usage) {
|
|
540
550
|
outputTokens = eventData.usage.output_tokens;
|
|
541
551
|
// message_delta carries cumulative cache metrics — use as
|
|
@@ -584,6 +594,10 @@ export class BedrockAdapter {
|
|
|
584
594
|
if (contentBlocks.length === 0 && inputTokens === 0 && outputTokens === 0) {
|
|
585
595
|
throw new BedrockError(500, 'Bedrock returned empty response: no content blocks, 0 input/output tokens. This may indicate a transient service issue.');
|
|
586
596
|
}
|
|
597
|
+
// The empty-response guard above only catches a stream that produced
|
|
598
|
+
// NOTHING; a stream truncated after any content passed it and was
|
|
599
|
+
// reported as a clean end_turn. message_delta is the terminal event.
|
|
600
|
+
assertTerminalEventObserved(sawTerminalEvent, 'Bedrock', { modelId, ...request });
|
|
587
601
|
// Build response from accumulated data
|
|
588
602
|
finalMessage = {
|
|
589
603
|
id: 'msg_stream',
|
|
@@ -669,6 +683,15 @@ export class BedrockAdapter {
|
|
|
669
683
|
};
|
|
670
684
|
}
|
|
671
685
|
handleError(error, rawRequest) {
|
|
686
|
+
// A deadline abort is a timeout and stays one. Collapsing it into a bare
|
|
687
|
+
// abortError() here is what erased the identity before Membrane's
|
|
688
|
+
// caller-signal > timeout > error ladder could read it.
|
|
689
|
+
if (isDeadlineAbort(error))
|
|
690
|
+
return deadlineTimeoutError(error, rawRequest);
|
|
691
|
+
// Already-classified failures (e.g. the stream-integrity guards) keep
|
|
692
|
+
// their type and retryability instead of being re-derived from a string.
|
|
693
|
+
if (error instanceof MembraneError)
|
|
694
|
+
return error;
|
|
672
695
|
if (error instanceof BedrockError) {
|
|
673
696
|
const status = error.status;
|
|
674
697
|
const message = error.message;
|