@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.
Files changed (175) hide show
  1. package/dist/cache-keepalive.d.ts +115 -0
  2. package/dist/cache-keepalive.d.ts.map +1 -0
  3. package/dist/cache-keepalive.js +0 -0
  4. package/dist/cache-keepalive.js.map +1 -0
  5. package/dist/cache-keepalive.test.d.ts +2 -0
  6. package/dist/cache-keepalive.test.d.ts.map +1 -0
  7. package/dist/cache-keepalive.test.js +206 -0
  8. package/dist/cache-keepalive.test.js.map +1 -0
  9. package/dist/context/index.d.ts +1 -1
  10. package/dist/context/index.d.ts.map +1 -1
  11. package/dist/context/index.js +1 -1
  12. package/dist/context/index.js.map +1 -1
  13. package/dist/context/process.d.ts +3 -1
  14. package/dist/context/process.d.ts.map +1 -1
  15. package/dist/context/process.js +230 -49
  16. package/dist/context/process.js.map +1 -1
  17. package/dist/context/types.d.ts +30 -0
  18. package/dist/context/types.d.ts.map +1 -1
  19. package/dist/context/types.js +16 -0
  20. package/dist/context/types.js.map +1 -1
  21. package/dist/floating-cache-marker.test.d.ts +2 -0
  22. package/dist/floating-cache-marker.test.d.ts.map +1 -0
  23. package/dist/floating-cache-marker.test.js +263 -0
  24. package/dist/floating-cache-marker.test.js.map +1 -0
  25. package/dist/formatters/anthropic-xml.d.ts +2 -0
  26. package/dist/formatters/anthropic-xml.d.ts.map +1 -1
  27. package/dist/formatters/anthropic-xml.js +57 -19
  28. package/dist/formatters/anthropic-xml.js.map +1 -1
  29. package/dist/formatters/normalize-tool-pairs.d.ts +7 -0
  30. package/dist/formatters/normalize-tool-pairs.d.ts.map +1 -1
  31. package/dist/formatters/normalize-tool-pairs.js +45 -0
  32. package/dist/formatters/normalize-tool-pairs.js.map +1 -1
  33. package/dist/formatters/types.d.ts +29 -0
  34. package/dist/formatters/types.d.ts.map +1 -1
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/membrane.d.ts +142 -7
  40. package/dist/membrane.d.ts.map +1 -1
  41. package/dist/membrane.js +881 -270
  42. package/dist/membrane.js.map +1 -1
  43. package/dist/providers/anthropic.d.ts +37 -0
  44. package/dist/providers/anthropic.d.ts.map +1 -1
  45. package/dist/providers/anthropic.js +163 -26
  46. package/dist/providers/anthropic.js.map +1 -1
  47. package/dist/providers/bedrock.d.ts +8 -0
  48. package/dist/providers/bedrock.d.ts.map +1 -1
  49. package/dist/providers/bedrock.js +24 -1
  50. package/dist/providers/bedrock.js.map +1 -1
  51. package/dist/providers/gemini.d.ts +11 -0
  52. package/dist/providers/gemini.d.ts.map +1 -1
  53. package/dist/providers/gemini.js +104 -82
  54. package/dist/providers/gemini.js.map +1 -1
  55. package/dist/providers/mock.d.ts +2 -0
  56. package/dist/providers/mock.d.ts.map +1 -1
  57. package/dist/providers/mock.js +2 -0
  58. package/dist/providers/mock.js.map +1 -1
  59. package/dist/providers/openai-compatible.d.ts +7 -0
  60. package/dist/providers/openai-compatible.d.ts.map +1 -1
  61. package/dist/providers/openai-compatible.js +99 -48
  62. package/dist/providers/openai-compatible.js.map +1 -1
  63. package/dist/providers/openai-completions.d.ts +5 -0
  64. package/dist/providers/openai-completions.d.ts.map +1 -1
  65. package/dist/providers/openai-completions.js +107 -44
  66. package/dist/providers/openai-completions.js.map +1 -1
  67. package/dist/providers/openai-responses-api.d.ts +16 -0
  68. package/dist/providers/openai-responses-api.d.ts.map +1 -1
  69. package/dist/providers/openai-responses-api.js +38 -10
  70. package/dist/providers/openai-responses-api.js.map +1 -1
  71. package/dist/providers/openai-responses.d.ts +2 -0
  72. package/dist/providers/openai-responses.d.ts.map +1 -1
  73. package/dist/providers/openai-responses.js +8 -1
  74. package/dist/providers/openai-responses.js.map +1 -1
  75. package/dist/providers/openai.d.ts +7 -0
  76. package/dist/providers/openai.d.ts.map +1 -1
  77. package/dist/providers/openai.js +92 -44
  78. package/dist/providers/openai.js.map +1 -1
  79. package/dist/providers/openrouter.d.ts +9 -0
  80. package/dist/providers/openrouter.d.ts.map +1 -1
  81. package/dist/providers/openrouter.js +118 -62
  82. package/dist/providers/openrouter.js.map +1 -1
  83. package/dist/providers/utils.d.ts +74 -2
  84. package/dist/providers/utils.d.ts.map +1 -1
  85. package/dist/providers/utils.js +184 -3
  86. package/dist/providers/utils.js.map +1 -1
  87. package/dist/registry/default-pricing.d.ts +22 -0
  88. package/dist/registry/default-pricing.d.ts.map +1 -1
  89. package/dist/registry/default-pricing.js +162 -28
  90. package/dist/registry/default-pricing.js.map +1 -1
  91. package/dist/types/config.d.ts +5 -0
  92. package/dist/types/config.d.ts.map +1 -1
  93. package/dist/types/config.js.map +1 -1
  94. package/dist/types/content.d.ts +13 -0
  95. package/dist/types/content.d.ts.map +1 -1
  96. package/dist/types/content.js.map +1 -1
  97. package/dist/types/errors.d.ts +15 -0
  98. package/dist/types/errors.d.ts.map +1 -1
  99. package/dist/types/errors.js +26 -0
  100. package/dist/types/errors.js.map +1 -1
  101. package/dist/types/index.d.ts +3 -3
  102. package/dist/types/index.d.ts.map +1 -1
  103. package/dist/types/index.js +1 -1
  104. package/dist/types/index.js.map +1 -1
  105. package/dist/types/provider.d.ts +50 -0
  106. package/dist/types/provider.d.ts.map +1 -1
  107. package/dist/types/request.d.ts +13 -0
  108. package/dist/types/request.d.ts.map +1 -1
  109. package/dist/types/response.d.ts +85 -4
  110. package/dist/types/response.d.ts.map +1 -1
  111. package/dist/types/response.js.map +1 -1
  112. package/dist/types/streaming.d.ts +6 -1
  113. package/dist/types/streaming.d.ts.map +1 -1
  114. package/dist/utils/cache-marker-budget.d.ts +82 -0
  115. package/dist/utils/cache-marker-budget.d.ts.map +1 -0
  116. package/dist/utils/cache-marker-budget.js +189 -0
  117. package/dist/utils/cache-marker-budget.js.map +1 -0
  118. package/dist/utils/cost.d.ts +22 -0
  119. package/dist/utils/cost.d.ts.map +1 -1
  120. package/dist/utils/cost.js +55 -0
  121. package/dist/utils/cost.js.map +1 -1
  122. package/dist/utils/thinking-carriers.d.ts +80 -0
  123. package/dist/utils/thinking-carriers.d.ts.map +1 -0
  124. package/dist/utils/thinking-carriers.js +115 -0
  125. package/dist/utils/thinking-carriers.js.map +1 -0
  126. package/dist/utils/tool-parser.d.ts +24 -0
  127. package/dist/utils/tool-parser.d.ts.map +1 -1
  128. package/dist/utils/tool-parser.js +367 -161
  129. package/dist/utils/tool-parser.js.map +1 -1
  130. package/dist/utils/usage.d.ts +71 -0
  131. package/dist/utils/usage.d.ts.map +1 -0
  132. package/dist/utils/usage.js +161 -0
  133. package/dist/utils/usage.js.map +1 -0
  134. package/dist/yielding-stream.d.ts +8 -0
  135. package/dist/yielding-stream.d.ts.map +1 -1
  136. package/dist/yielding-stream.js +49 -3
  137. package/dist/yielding-stream.js.map +1 -1
  138. package/package.json +3 -2
  139. package/src/cache-keepalive.test.ts +244 -0
  140. package/src/cache-keepalive.ts +385 -0
  141. package/src/context/index.ts +1 -0
  142. package/src/context/process.ts +305 -59
  143. package/src/context/types.ts +38 -0
  144. package/src/floating-cache-marker.test.ts +285 -0
  145. package/src/formatters/anthropic-xml.ts +62 -20
  146. package/src/formatters/normalize-tool-pairs.ts +49 -0
  147. package/src/formatters/types.ts +32 -0
  148. package/src/index.ts +13 -0
  149. package/src/membrane.ts +1031 -279
  150. package/src/providers/anthropic.ts +205 -20
  151. package/src/providers/bedrock.ts +25 -1
  152. package/src/providers/gemini.ts +125 -87
  153. package/src/providers/mock.ts +3 -0
  154. package/src/providers/openai-compatible.ts +102 -45
  155. package/src/providers/openai-completions.ts +112 -46
  156. package/src/providers/openai-responses-api.ts +45 -15
  157. package/src/providers/openai-responses.ts +8 -1
  158. package/src/providers/openai.ts +95 -42
  159. package/src/providers/openrouter.ts +125 -63
  160. package/src/providers/utils.ts +227 -6
  161. package/src/registry/default-pricing.ts +165 -28
  162. package/src/types/config.ts +6 -0
  163. package/src/types/content.ts +14 -0
  164. package/src/types/errors.ts +28 -0
  165. package/src/types/index.ts +6 -0
  166. package/src/types/provider.ts +55 -0
  167. package/src/types/request.ts +14 -0
  168. package/src/types/response.ts +109 -8
  169. package/src/types/streaming.ts +8 -2
  170. package/src/utils/cache-marker-budget.ts +208 -0
  171. package/src/utils/cost.ts +64 -0
  172. package/src/utils/thinking-carriers.ts +125 -0
  173. package/src/utils/tool-parser.ts +473 -174
  174. package/src/utils/usage.ts +184 -0
  175. 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.betaHeaders(request),
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
- const blockIdx = event.index;
290
- const block = contentBlocks[blockIdx];
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
- if (message.includes('context') || message.includes('too long')) {
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":"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"}
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;IAwTnC,OAAO,CAAC,aAAa;IA2CrB,OAAO,CAAC,WAAW;CAkCpB"}
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;