@moxxy/plugin-provider-anthropic 0.2.0 → 0.2.1

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.
@@ -60,6 +60,7 @@ export declare class AnthropicProvider implements LLMProvider {
60
60
  private readonly oauth?;
61
61
  private oauthToken?;
62
62
  private oauthExpiresAt?;
63
+ private refreshing?;
63
64
  constructor(config?: AnthropicProviderConfig);
64
65
  /**
65
66
  * Build an Anthropic client in OAuth (bearer) mode. `apiKey: null` stops
@@ -70,7 +71,11 @@ export declare class AnthropicProvider implements LLMProvider {
70
71
  private makeOauthClient;
71
72
  /** Proactively refresh the bearer token when it's within the skew window. */
72
73
  private ensureFreshOauth;
73
- /** Force a token refresh and rebuild the client with the new bearer. */
74
+ /**
75
+ * Force a token refresh and rebuild the client with the new bearer.
76
+ * Coalesces concurrent calls onto a single in-flight refresh so the endpoint
77
+ * is hit once and the client is swapped once.
78
+ */
74
79
  private refreshOauthNow;
75
80
  /**
76
81
  * Build the `system` request field. In OAuth mode the Claude Code identity
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EAGhB,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACjD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChG;AAaD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,eAAe,CAO1D,CAAC;AAEF,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAGhD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAElC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAIrB;IACF,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAS;gBAEpB,MAAM,GAAE,uBAA4B;IAyBhD;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAUvB,6EAA6E;YAC/D,gBAAgB;IAO9B,wEAAwE;YAC1D,eAAe;IAQ7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IAwBjB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC;IAsFjE;;;;;OAKG;YACY,UAAU;IAyJnB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAkC1G"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EAGhB,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACjD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChG;AAaD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,eAAe,CAO1D,CAAC;AAEF,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAGhD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAElC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAIrB;IACF,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAS;IAKhC,OAAO,CAAC,UAAU,CAAC,CAAgB;gBAEvB,MAAM,GAAE,uBAA4B;IAyBhD;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAUvB,6EAA6E;YAC/D,gBAAgB;IAO9B;;;;OAIG;YACW,eAAe;IAe7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IAwBjB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC;IA2GjE;;;;;OAKG;YACY,UAAU;IA6MnB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CA4C1G"}
package/dist/provider.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import Anthropic from '@anthropic-ai/sdk';
2
- import { estimateTextTokens, toFriendlyError } from '@moxxy/sdk';
2
+ import { toFriendlyError } from '@moxxy/sdk';
3
3
  import { toAnthropicMessages, toAnthropicTools } from './translate.js';
4
4
  // Hardcoded model catalog (re-exported to @moxxy/plugin-provider-claude-code, which
5
5
  // reuses this provider class for the subscription path). Deriving it from the Models
@@ -32,6 +32,11 @@ export class AnthropicProvider {
32
32
  oauth;
33
33
  oauthToken;
34
34
  oauthExpiresAt;
35
+ // Single in-flight refresh shared by concurrent callers (parallel streams /
36
+ // countTokens near expiry) so the refresh endpoint is hit once and the
37
+ // client is swapped once — a second refresh can rotate/invalidate the token
38
+ // and poison state on providers that rotate refresh tokens.
39
+ refreshing;
35
40
  constructor(config = {}) {
36
41
  this.name = config.name ?? 'anthropic';
37
42
  this.models = config.models ?? anthropicModels;
@@ -82,14 +87,26 @@ export class AnthropicProvider {
82
87
  return;
83
88
  await this.refreshOauthNow();
84
89
  }
85
- /** Force a token refresh and rebuild the client with the new bearer. */
90
+ /**
91
+ * Force a token refresh and rebuild the client with the new bearer.
92
+ * Coalesces concurrent calls onto a single in-flight refresh so the endpoint
93
+ * is hit once and the client is swapped once.
94
+ */
86
95
  async refreshOauthNow() {
87
- if (!this.oauth?.refresh)
96
+ if (this.refreshing)
97
+ return this.refreshing;
98
+ const refresh = this.oauth?.refresh;
99
+ if (!refresh)
88
100
  throw new Error('no refresh callback');
89
- const next = await this.oauth.refresh();
90
- this.oauthToken = next.token;
91
- this.oauthExpiresAt = next.expiresAt;
92
- this.client = this.makeOauthClient(next.token);
101
+ this.refreshing = (async () => {
102
+ const next = await refresh();
103
+ this.oauthToken = next.token;
104
+ this.oauthExpiresAt = next.expiresAt;
105
+ this.client = this.makeOauthClient(next.token);
106
+ })().finally(() => {
107
+ this.refreshing = undefined;
108
+ });
109
+ return this.refreshing;
93
110
  }
94
111
  /**
95
112
  * Build the `system` request field. In OAuth mode the Claude Code identity
@@ -145,9 +162,11 @@ export class AnthropicProvider {
145
162
  // req.system (hook-injected extra system text) is appended last.
146
163
  const systemParam = this.buildSystemParam(system, cacheSystem, req.system);
147
164
  const model = req.model || this.defaultModel;
148
- yield { type: 'message_start', model };
149
165
  // In OAuth mode refresh the bearer proactively when it's near expiry, so
150
166
  // we don't fire a request on a token we already knew was about to die.
167
+ // Done BEFORE emitting message_start so a turn that never reaches the API
168
+ // (proactive refresh throws) doesn't leave a dangling open message for
169
+ // consumers that pair message_start/message_end.
151
170
  if (this.oauth) {
152
171
  try {
153
172
  await this.ensureFreshOauth();
@@ -157,6 +176,17 @@ export class AnthropicProvider {
157
176
  return;
158
177
  }
159
178
  }
179
+ yield { type: 'message_start', model };
180
+ // Default + clamp max_tokens to the active model's output ceiling. We hold
181
+ // the catalog, so default to the descriptor's `maxOutputTokens` (4096 when
182
+ // unknown) and never forward a caller-supplied value above the ceiling —
183
+ // an over-ceiling request 400s server-side after the whole body is built.
184
+ const ceiling = this.models.find((m) => m.id === model)?.maxOutputTokens;
185
+ const maxTokens = req.maxTokens !== undefined
186
+ ? ceiling !== undefined
187
+ ? Math.min(req.maxTokens, ceiling)
188
+ : req.maxTokens
189
+ : (ceiling ?? 4096);
160
190
  // NARROW cast: `messages`/`tools`/`systemParam` are our hand-rolled
161
191
  // Anthropic shapes (e.g. `media_type: string`) which the SDK narrows to
162
192
  // literal unions it can't see we never violate. The body is otherwise
@@ -164,7 +194,7 @@ export class AnthropicProvider {
164
194
  // `temperature` are checked at compile time.
165
195
  const requestBody = {
166
196
  model,
167
- max_tokens: req.maxTokens ?? 4096,
197
+ max_tokens: maxTokens,
168
198
  system: systemParam,
169
199
  messages: messages,
170
200
  tools: tools,
@@ -186,13 +216,19 @@ export class AnthropicProvider {
186
216
  if (effort)
187
217
  body.output_config = { effort };
188
218
  }
189
- // A 401 always arrives before any SSE body, so in OAuth mode we can force
190
- // a single refresh and replay the request with no risk of duplicate output.
219
+ // A genuine auth 401 arrives before any SSE body, so in OAuth mode we can
220
+ // force a single refresh and replay the request. But `isUnauthorized()`
221
+ // also matches a 401 surfaced MID-stream (token revoked during a long
222
+ // generation, proxy 401 on a chunk); replaying after content already
223
+ // streamed would duplicate text/tool calls into the same turn. Track
224
+ // whether the first attempt produced any output and only replay when it
225
+ // produced none.
226
+ const progress = { produced: false };
191
227
  try {
192
- yield* this.streamOnce(requestBody, req.signal);
228
+ yield* this.streamOnce(requestBody, req.signal, progress);
193
229
  }
194
230
  catch (err) {
195
- if (this.oauth?.refresh && isUnauthorized(err)) {
231
+ if (this.oauth?.refresh && isUnauthorized(err) && !progress.produced) {
196
232
  try {
197
233
  await this.refreshOauthNow();
198
234
  yield* this.streamOnce(requestBody, req.signal);
@@ -212,7 +248,12 @@ export class AnthropicProvider {
212
248
  * yields content events plus a terminal `message_end` on the happy path.
213
249
  * Abort is terminal here (yields the abort error and returns).
214
250
  */
215
- async *streamOnce(requestBody, signal) {
251
+ async *streamOnce(requestBody, signal,
252
+ // Set to `true` the moment this attempt yields any content event (anything
253
+ // past message_start). `stream()` reads it to decide whether a 401 is safe
254
+ // to refresh-and-replay (replaying after output already streamed would
255
+ // duplicate text/tool calls). Optional so the replay attempt can omit it.
256
+ progress) {
216
257
  const stream = this.client.messages.stream(requestBody,
217
258
  // Pass the AbortSignal into the SDK request options so cancelling
218
259
  // tears down the underlying HTTP request. Without this, Esc only
@@ -236,6 +277,10 @@ export class AnthropicProvider {
236
277
  // rather than the cache fields sneaking in only via a spread (which bypasses
237
278
  // the excess-property check) against a narrower declared type.
238
279
  let usage;
280
+ // Set once the stream is fully drained on the happy path; gates the
281
+ // finally-block teardown so we only force-abort on an early exit
282
+ // (abort/throw/consumer abandonment), never on a clean completion.
283
+ let drained = false;
239
284
  try {
240
285
  for await (const event of stream) {
241
286
  if (signal?.aborted) {
@@ -263,6 +308,8 @@ export class AnthropicProvider {
263
308
  break;
264
309
  }
265
310
  case 'content_block_start': {
311
+ if (progress)
312
+ progress.produced = true;
266
313
  const block = event.content_block;
267
314
  if (block && block.type === 'tool_use') {
268
315
  pendingToolUses.set(block.id, { name: block.name, partial: '' });
@@ -284,6 +331,8 @@ export class AnthropicProvider {
284
331
  break;
285
332
  }
286
333
  case 'content_block_delta': {
334
+ if (progress)
335
+ progress.produced = true;
287
336
  const delta = event.delta;
288
337
  if (!delta)
289
338
  break;
@@ -297,7 +346,7 @@ export class AnthropicProvider {
297
346
  pendingThinkingSig += delta.signature;
298
347
  }
299
348
  else if (delta.type === 'input_json_delta' && typeof delta.partial_json === 'string') {
300
- const id = idOfBlock(event, blockIndexToId);
349
+ const id = idOfBlock(event, blockIndexToId, pendingToolUses);
301
350
  if (id) {
302
351
  const t = pendingToolUses.get(id);
303
352
  if (t) {
@@ -309,6 +358,8 @@ export class AnthropicProvider {
309
358
  break;
310
359
  }
311
360
  case 'content_block_stop': {
361
+ if (progress)
362
+ progress.produced = true;
312
363
  if (typeof event.index === 'number' && thinkingBlockIndices.has(event.index)) {
313
364
  thinkingBlockIndices.delete(event.index);
314
365
  if (pendingThinkingSig)
@@ -316,36 +367,59 @@ export class AnthropicProvider {
316
367
  pendingThinkingSig = '';
317
368
  break;
318
369
  }
319
- const id = idOfBlock(event, blockIndexToId);
370
+ const id = idOfBlock(event, blockIndexToId, pendingToolUses);
320
371
  if (id) {
321
372
  const t = pendingToolUses.get(id);
322
373
  if (t) {
323
- let parsed = {};
374
+ let parsed;
324
375
  try {
325
376
  parsed = t.partial ? JSON.parse(t.partial) : {};
326
377
  }
327
378
  catch {
328
- parsed = { _rawPartial: t.partial };
379
+ // A truncated/malformed tool-input stream is a real failure, not
380
+ // a valid call with junk args. Surface it as an error (the loop
381
+ // treats a stream-level error as authoritative) and mark the turn
382
+ // `error`, instead of feeding `{ _rawPartial }` into the tool —
383
+ // which erased all signal that the model's call was garbage.
384
+ pendingToolUses.delete(id);
385
+ pruneBlockIndex(blockIndexToId, event.index, id);
386
+ stopReason = 'error';
387
+ yield {
388
+ type: 'error',
389
+ message: `tool_use input JSON was malformed/truncated for ${id}`,
390
+ retryable: false,
391
+ };
392
+ break;
329
393
  }
330
394
  yield { type: 'tool_use_end', id, input: parsed };
331
395
  pendingToolUses.delete(id);
332
- if (typeof event.index === 'number')
333
- blockIndexToId.delete(event.index);
396
+ pruneBlockIndex(blockIndexToId, event.index, id);
334
397
  }
335
398
  }
336
399
  break;
337
400
  }
338
401
  case 'message_delta': {
339
- if (event.delta?.stop_reason) {
402
+ // STICKY error: once a malformed/truncated tool-input stream marked
403
+ // the turn `error` at content_block_stop, a trailing message_delta
404
+ // (which a truncated tool-use turn still reports as `tool_use`) must
405
+ // NOT clobber it back to a clean completion — that would re-run the
406
+ // junk tool. Usage numbers below still merge as usual.
407
+ if (event.delta?.stop_reason && stopReason !== 'error') {
340
408
  stopReason = mapStopReason(event.delta.stop_reason);
341
409
  }
342
410
  if (event.usage) {
343
- // Preserve cache fields captured at message_start — the delta
344
- // usage only carries the final output_tokens count.
411
+ // Prefer delta-reported input/cache numbers when present (some
412
+ // streaming modes report or correct them here), but fall back to
413
+ // the message_start values otherwise — mirroring the defensive
414
+ // `?? previous` pattern used for outputTokens.
415
+ const du = event.usage;
416
+ const cacheRead = du.cache_read_input_tokens ?? usage?.cacheReadTokens;
417
+ const cacheCreation = du.cache_creation_input_tokens ?? usage?.cacheCreationTokens;
345
418
  usage = {
346
- ...usage,
347
- inputTokens: usage?.inputTokens ?? 0,
348
- outputTokens: event.usage.output_tokens ?? usage?.outputTokens ?? 0,
419
+ inputTokens: du.input_tokens ?? usage?.inputTokens ?? 0,
420
+ outputTokens: du.output_tokens ?? usage?.outputTokens ?? 0,
421
+ ...(cacheRead !== undefined ? { cacheReadTokens: cacheRead } : {}),
422
+ ...(cacheCreation !== undefined ? { cacheCreationTokens: cacheCreation } : {}),
349
423
  };
350
424
  }
351
425
  break;
@@ -354,6 +428,7 @@ export class AnthropicProvider {
354
428
  break;
355
429
  }
356
430
  }
431
+ drained = true;
357
432
  }
358
433
  catch (err) {
359
434
  // A cancel surfaces as a thrown AbortError mid-await — report it as the
@@ -365,6 +440,23 @@ export class AnthropicProvider {
365
440
  }
366
441
  throw err;
367
442
  }
443
+ finally {
444
+ // Guarantee socket teardown independent of whether the AbortSignal
445
+ // propagated into the SDK. On any early exit (abort, throw, or the
446
+ // consumer abandoning the generator — at which point the JS runtime
447
+ // runs this finally) explicitly abort the SDK stream so a half-open
448
+ // HTTP connection can't linger under repeated rapid cancellation.
449
+ if (!drained) {
450
+ const s = stream;
451
+ try {
452
+ s.abort?.();
453
+ s.controller?.abort?.();
454
+ }
455
+ catch {
456
+ // Best-effort cleanup — a fake/partial stream may expose neither.
457
+ }
458
+ }
459
+ }
368
460
  yield { type: 'message_end', stopReason, usage };
369
461
  }
370
462
  async countTokens(req) {
@@ -394,26 +486,86 @@ export class AnthropicProvider {
394
486
  return result.input_tokens;
395
487
  }
396
488
  catch {
397
- const blob = (systemForCount ?? '') +
398
- messages.map((m) => JSON.stringify(m.content)).join('') +
399
- JSON.stringify(tools ?? []);
400
- return estimateTextTokens(blob);
489
+ // Estimate WITHOUT serializing megabytes of base64 into one mega-string:
490
+ // a media block's bytes have nothing to do with its token cost, and
491
+ // stringifying them both spikes memory on a large multimodal history and
492
+ // wildly inflates the estimate. Sum char-lengths of textual content and
493
+ // charge each media block a small fixed allowance instead.
494
+ let chars = systemForCount?.length ?? 0;
495
+ for (const m of messages) {
496
+ for (const block of m.content) {
497
+ chars += estimateBlockChars(block);
498
+ }
499
+ }
500
+ chars += JSON.stringify(tools ?? []).length;
501
+ // Mirror estimateTextTokens (≈4 chars/token) on the accumulated length
502
+ // without ever materializing the concatenated string.
503
+ return Math.ceil(chars / 4);
401
504
  }
402
505
  }
403
506
  }
404
- function idOfBlock(event, blockIndexToId) {
507
+ /** Rough per-image/-document token allowance for the offline estimate fallback. */
508
+ const MEDIA_BLOCK_TOKENS = 1500;
509
+ /**
510
+ * Char-length contribution of one Anthropic content block for the offline
511
+ * token estimate. Skips the base64 `data` of image/document blocks (charging a
512
+ * fixed token allowance, scaled back to chars) so a multi-MB blob never gets
513
+ * stringified just to be divided by 4.
514
+ */
515
+ function estimateBlockChars(block) {
516
+ switch (block.type) {
517
+ case 'text':
518
+ return block.text.length;
519
+ case 'tool_use':
520
+ return block.name.length + JSON.stringify(block.input ?? {}).length;
521
+ case 'tool_result':
522
+ return block.content.length;
523
+ case 'thinking':
524
+ return block.thinking.length + block.signature.length;
525
+ case 'redacted_thinking':
526
+ return block.data.length;
527
+ case 'image':
528
+ case 'document':
529
+ // Charge a fixed allowance instead of the base64 byte length.
530
+ return MEDIA_BLOCK_TOKENS * 4;
531
+ }
532
+ }
533
+ function idOfBlock(event, blockIndexToId, pendingToolUses) {
405
534
  if (typeof event.index === 'number') {
406
535
  return blockIndexToId.get(event.index) ?? null;
407
536
  }
408
537
  // Fallback when `index` is missing (older SDKs / hand-rolled fakes): only
409
- // unambiguous when exactly one tool_use is pending; otherwise refuse to
410
- // guess and let the delta drop rather than misroute it.
538
+ // unambiguous when exactly one tool_use is pending. `pruneBlockIndex` deletes
539
+ // a finished block's entry on content_block_stop even in an index-less stream,
540
+ // so a stale entry can't linger to falsely satisfy size===1 for a later block;
541
+ // we still require the id to be PENDING as a belt-and-suspenders guard.
411
542
  if (blockIndexToId.size === 1) {
412
- for (const id of blockIndexToId.values())
413
- return id;
543
+ for (const id of blockIndexToId.values()) {
544
+ if (!pendingToolUses || pendingToolUses.has(id))
545
+ return id;
546
+ }
414
547
  }
415
548
  return null;
416
549
  }
550
+ /**
551
+ * Remove a finished tool block's index→id mapping. Prefers the numeric index
552
+ * (real Anthropic streams), but falls back to deleting by VALUE (`id`) so an
553
+ * index-less stream doesn't leave a stale entry lingering — which would break
554
+ * the size===1 fallback for the next serial tool block (its deltas would route
555
+ * nowhere). Index-less streams therefore stay correct for strictly-serial tools.
556
+ */
557
+ function pruneBlockIndex(blockIndexToId, index, id) {
558
+ if (typeof index === 'number') {
559
+ blockIndexToId.delete(index);
560
+ return;
561
+ }
562
+ for (const [k, v] of blockIndexToId) {
563
+ if (v === id) {
564
+ blockIndexToId.delete(k);
565
+ return;
566
+ }
567
+ }
568
+ }
417
569
  function mapStopReason(s) {
418
570
  if (s === 'tool_use')
419
571
  return 'tool_use';
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAY1C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAkDvE,oFAAoF;AACpF,qFAAqF;AACrF,qFAAqF;AACrF,kFAAkF;AAClF,kFAAkF;AAClF,oFAAoF;AACpF,gFAAgF;AAChF,2FAA2F;AAC3F,6EAA6E;AAC7E,sFAAsF;AACtF,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D,EAAE,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;IAClM,EAAE,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACnM,EAAE,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACnM,EAAE,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACnM,EAAE,EAAE,EAAE,mBAAmB,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;IACpM,EAAE,EAAE,EAAE,2BAA2B,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;CAClL,CAAC;AAEF,MAAM,OAAO,iBAAiB;IACnB,IAAI,CAAS;IACb,MAAM,CAAiC;IAChD,sEAAsE;IACtE,0EAA0E;IAClE,MAAM,CAAY;IACT,YAAY,CAAS;IACrB,OAAO,CAAU;IAClC,oDAAoD;IACnC,KAAK,CAIpB;IACM,UAAU,CAAU;IACpB,cAAc,CAAU;IAEhC,YAAY,SAAkC,EAAE;QAC9C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,mBAAmB,CAAC;QAC/D,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAElD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACpC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG;gBACX,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;gBAC5B,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM;gBACT,MAAM,CAAC,MAAM;oBACb,IAAI,SAAS,CAAC;wBACZ,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;wBACtD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvD,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,KAAa;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,SAAS,CAAC;YACnB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO;QACjC,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,OAAO;QAC9C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,cAAc;YAAE,OAAO;QACtD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,wEAAwE;IAChE,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,gBAAgB,CACtB,MAA0B,EAC1B,WAAoB,EACpB,WAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QAC5C,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAiF,EAAE,CAAC;YAChG,IAAI,QAAQ;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CACT,WAAW;oBACT,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;oBACtE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CACnC,CAAC;YACJ,CAAC;YACD,IAAI,WAAW;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,CAAC;QACD,OAAO,WAAW,IAAI,MAAM;YAC1B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;YACxE,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,GAAoB;QAChC,sEAAsE;QACtE,iEAAiE;QACjE,qEAAqE;QACrE,8DAA8D;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC7D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxF,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QAChB,qEAAqE;QACrE,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAE7C,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAEvC,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC1E,OAAO;YACT,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,wEAAwE;QACxE,6CAA6C;QAC7C,MAAM,WAAW,GAAwB;YACvC,KAAK;YACL,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;YACjC,MAAM,EAAE,WAA4C;YACpD,QAAQ,EAAE,QAA2C;YACrD,KAAK,EAAE,KAAqC;YAC5C,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC;QAEF,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,6EAA6E;QAC7E,kDAAkD;QAClD,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC;QAC3E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,MAAM,IAAI,GAAG,WAAiD,CAAC;YAC/D,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAC5D,IAAI,MAAM;gBAAE,IAAI,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,CAAC;YACH,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7B,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChD,OAAO;gBACT,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC/E,OAAO;gBACT,CAAC;YACH,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,CAAC,UAAU,CACvB,WAAgC,EAChC,MAA+B;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACxC,WAAW;QACX,kEAAkE;QAClE,iEAAiE;QACjE,6DAA6D;QAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAChC,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6C,CAAC;QAC7E,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAe,UAAU,CAAC;QACxC,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,6EAA6E;QAC7E,+DAA+D;QAC/D,IAAI,KAA6B,CAAC;QAElC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAA6C,EAAE,CAAC;gBACxE,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,gEAAgE;wBAChE,4DAA4D;wBAC5D,kEAAkE;wBAClE,kEAAkE;wBAClE,4DAA4D;wBAC5D,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;wBAC/B,KAAK,GAAG;4BACN,WAAW,EAAE,CAAC,EAAE,YAAY,IAAI,CAAC;4BACjC,YAAY,EAAE,CAAC,EAAE,aAAa,IAAI,CAAC;4BACnC,GAAG,CAAC,CAAC,EAAE,uBAAuB,KAAK,SAAS;gCAC1C,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,uBAAuB,EAAE;gCAChD,CAAC,CAAC,EAAE,CAAC;4BACP,GAAG,CAAC,CAAC,EAAE,2BAA2B,KAAK,SAAS;gCAC9C,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,2BAA2B,EAAE;gCACxD,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC;wBACF,MAAM;oBACR,CAAC;oBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;wBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;wBAClC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACvC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;4BACjE,6DAA6D;4BAC7D,0DAA0D;4BAC1D,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;4BAChF,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;4BAClC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;wBACnE,CAAC;6BAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC9C,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gCAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAC3E,kBAAkB,GAAG,EAAE,CAAC;wBAC1B,CAAC;6BAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BACvD,oEAAoE;4BACpE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1G,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;wBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;wBAC1B,IAAI,CAAC,KAAK;4BAAE,MAAM;wBAClB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAClE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;wBAClD,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BACjF,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAC3D,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;4BACnF,kBAAkB,IAAI,KAAK,CAAC,SAAS,CAAC;wBACxC,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;4BACvF,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;4BAC5C,IAAI,EAAE,EAAE,CAAC;gCACP,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gCAClC,IAAI,CAAC,EAAE,CAAC;oCACN,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,CAAC;oCAChC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;gCACzE,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;wBAC1B,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7E,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACzC,IAAI,kBAAkB;gCAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;4BAC7F,kBAAkB,GAAG,EAAE,CAAC;4BACxB,MAAM;wBACR,CAAC;wBACD,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;wBAC5C,IAAI,EAAE,EAAE,CAAC;4BACP,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAClC,IAAI,CAAC,EAAE,CAAC;gCACN,IAAI,MAAM,GAAY,EAAE,CAAC;gCACzB,IAAI,CAAC;oCACH,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCAClD,CAAC;gCAAC,MAAM,CAAC;oCACP,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gCACtC,CAAC;gCACD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gCAClD,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gCAC3B,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;oCAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAC1E,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;4BAC7B,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBACtD,CAAC;wBACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;4BAChB,8DAA8D;4BAC9D,oDAAoD;4BACpD,KAAK,GAAG;gCACN,GAAG,KAAK;gCACR,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;gCACpC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,EAAE,YAAY,IAAI,CAAC;6BACpE,CAAC;wBACJ,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,cAAc;wBACjB,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wEAAwE;YACxE,kEAAkE;YAClE,uEAAuE;YACvE,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAqE;QACrF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,2EAA2E;QAC3E,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CACnE,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1D,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC;YACH,yEAAyE;YACzE,qEAAqE;YACrE,kEAAkE;YAClE,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACpD,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;gBACrC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,sEAAsE;gBACtE,oEAAoE;gBACpE,sEAAsE;gBACtE,uEAAuE;gBACvE,QAAQ,EAAE,QAAgD;gBAC1D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAA0C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,YAAY,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,GACR,CAAC,cAAc,IAAI,EAAE,CAAC;gBACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC9B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF;AAuCD,SAAS,SAAS,CAChB,KAA2B,EAC3B,cAAmC;IAEnC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IACD,0EAA0E;IAC1E,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,cAAc,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,CAAS;IAC9B,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACxC,IAAI,CAAC,KAAK,YAAY;QAAE,OAAO,YAAY,CAAC;IAC5C,IAAI,CAAC,KAAK,eAAe;QAAE,OAAO,eAAe,CAAC;IAClD,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,OAAQ,GAA+C,EAAE,MAAM,KAAK,QAAQ;QACjF,CAAC,CAAE,GAA0B,CAAC,MAAM,KAAK,GAAG;QAC5C,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGzE,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GAC5F;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,GAID;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GACvF;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpD;AAMD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,EACxC,IAAI,GAAE,0BAA+B,GACpC;IACD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC,CA4DA;AAoDD,MAAM,WAAW,uBAAuB;IACtC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7B,IAAI,GAAE,uBAA4B,GACjC,gBAAgB,EAAE,CAUpB"}
1
+ {"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGzE,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAW1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GAC5F;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,GAID;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GACvF;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpD;AAMD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,EACxC,IAAI,GAAE,0BAA+B,GACpC;IACD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC,CAkEA;AAmFD,MAAM,WAAW,uBAAuB;IACtC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7B,IAAI,GAAE,uBAA4B,GACjC,gBAAgB,EAAE,CAUpB"}
package/dist/translate.js CHANGED
@@ -1,4 +1,12 @@
1
1
  import { zodToJsonSchema } from '@moxxy/sdk';
2
+ /** Media types Anthropic's Messages API accepts for `image`/`document` blocks. */
3
+ const IMAGE_MEDIA_TYPES = new Set([
4
+ 'image/png',
5
+ 'image/jpeg',
6
+ 'image/gif',
7
+ 'image/webp',
8
+ ]);
9
+ const DOCUMENT_MEDIA_TYPES = new Set(['application/pdf']);
2
10
  function markCache(block) {
3
11
  if (block)
4
12
  block.cache_control = { type: 'ephemeral' };
@@ -17,15 +25,21 @@ export function toAnthropicMessages(messages, opts = {}) {
17
25
  messages.forEach((msg, i) => {
18
26
  const wantCache = cacheIdx?.has(i) ?? false;
19
27
  if (msg.role === 'system') {
20
- const textBlock = msg.content.find((c) => c.type === 'text');
21
- if (textBlock && textBlock.type === 'text') {
22
- system = system ? `${system}\n\n${textBlock.text}` : textBlock.text;
28
+ // Join ALL text blocks of a system message (not just the first) so a
29
+ // multi-block system prompt isn't silently truncated; mirrors the
30
+ // cross-message join below.
31
+ const text = msg.content
32
+ .filter((c) => c.type === 'text')
33
+ .map((c) => c.text)
34
+ .join('\n\n');
35
+ if (text) {
36
+ system = system ? `${system}\n\n${text}` : text;
23
37
  }
24
38
  return;
25
39
  }
26
40
  if (msg.role === 'user') {
27
41
  flushUser();
28
- const content = msg.content.map(toAnthropicBlock);
42
+ const content = mapBlocks(msg.content);
29
43
  if (wantCache)
30
44
  markCache(content[content.length - 1]);
31
45
  out.push({ role: 'user', content });
@@ -33,7 +47,7 @@ export function toAnthropicMessages(messages, opts = {}) {
33
47
  }
34
48
  if (msg.role === 'assistant') {
35
49
  flushUser();
36
- const content = msg.content.map(toAnthropicBlock);
50
+ const content = mapBlocks(msg.content);
37
51
  if (wantCache)
38
52
  markCache(content[content.length - 1]);
39
53
  out.push({ role: 'assistant', content });
@@ -62,6 +76,16 @@ export function toAnthropicMessages(messages, opts = {}) {
62
76
  flushUser();
63
77
  return { system, messages: out };
64
78
  }
79
+ /** Translate a message's blocks, dropping any that translate to nothing. */
80
+ function mapBlocks(blocks) {
81
+ const out = [];
82
+ for (const b of blocks) {
83
+ const t = toAnthropicBlock(b);
84
+ if (t)
85
+ out.push(t);
86
+ }
87
+ return out;
88
+ }
65
89
  function toAnthropicBlock(block) {
66
90
  switch (block.type) {
67
91
  case 'text':
@@ -76,12 +100,29 @@ function toAnthropicBlock(block) {
76
100
  is_error: block.isError,
77
101
  };
78
102
  case 'image':
103
+ // Reject unsupported media types locally (degrade to a placeholder, as
104
+ // audio does) rather than uploading bytes that 400 deep in the SDK. A
105
+ // resumed session or hostile channel can supply an out-of-allow-list
106
+ // type; the documented Anthropic image set is png/jpeg/gif/webp.
107
+ if (!IMAGE_MEDIA_TYPES.has(block.mediaType)) {
108
+ return {
109
+ type: 'text',
110
+ text: `[image attachment dropped: ${block.mediaType} not a supported image type]`,
111
+ };
112
+ }
79
113
  return {
80
114
  type: 'image',
81
115
  source: { type: 'base64', media_type: block.mediaType, data: block.data },
82
116
  };
83
117
  case 'document':
84
118
  // Native document support (PDF). Claude reads text + figures/layout.
119
+ // Documented Anthropic document set is application/pdf only.
120
+ if (!DOCUMENT_MEDIA_TYPES.has(block.mediaType)) {
121
+ return {
122
+ type: 'text',
123
+ text: `[document attachment dropped: ${block.mediaType} not a supported document type]`,
124
+ };
125
+ }
85
126
  return {
86
127
  type: 'document',
87
128
  source: { type: 'base64', media_type: block.mediaType, data: block.data },
@@ -100,15 +141,19 @@ function toAnthropicBlock(block) {
100
141
  case 'reasoning':
101
142
  // Replayed verbatim so Anthropic accepts an interleaved-thinking tool-use
102
143
  // continuation. `redacted` → the opaque encrypted blob; otherwise the
103
- // signed thinking block (projection only forwards reasoning that carries a
104
- // signature or encrypted blob, so the text fallback below is unreachable).
144
+ // signed thinking block. Drop an unsigned/unredacted reasoning block
145
+ // rather than degrading it to a stray assistant text block: Anthropic
146
+ // rejects an unsigned thinking block, and emitting it as text could leak
147
+ // raw reasoning into assistant output or 400 a tool-use turn. The
148
+ // translator stays self-consistent without depending on the upstream
149
+ // projection invariant (maintained in a different package).
105
150
  if (block.redacted && block.encrypted) {
106
151
  return { type: 'redacted_thinking', data: block.encrypted };
107
152
  }
108
153
  if (block.signature) {
109
154
  return { type: 'thinking', thinking: block.text, signature: block.signature };
110
155
  }
111
- return { type: 'text', text: block.text };
156
+ return null;
112
157
  }
113
158
  }
114
159
  export function toAnthropicTools(tools, opts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"translate.js","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translate.js","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"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"}