@qwen-code/arena-agent 0.0.9-image-input-fallback.0 → 0.0.10-dev.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.
Files changed (91) hide show
  1. package/.env.example +34 -13
  2. package/README.md +168 -60
  3. package/dist/agent.d.ts +6 -2
  4. package/dist/agent.js +155 -21
  5. package/dist/agent.js.map +1 -1
  6. package/dist/anthropic.d.ts +1 -0
  7. package/dist/anthropic.js +78 -19
  8. package/dist/anthropic.js.map +1 -1
  9. package/dist/canonical-data.js +2 -2
  10. package/dist/canonical-data.js.map +1 -1
  11. package/dist/cli.js +65 -19
  12. package/dist/cli.js.map +1 -1
  13. package/dist/code-tools.js +18 -161
  14. package/dist/code-tools.js.map +1 -1
  15. package/dist/compaction.js +32 -9
  16. package/dist/compaction.js.map +1 -1
  17. package/dist/config.d.ts +22 -0
  18. package/dist/config.js +53 -1
  19. package/dist/config.js.map +1 -1
  20. package/dist/history.d.ts +24 -2
  21. package/dist/history.js +306 -15
  22. package/dist/history.js.map +1 -1
  23. package/dist/image.d.ts +2 -0
  24. package/dist/image.js +88 -7
  25. package/dist/image.js.map +1 -1
  26. package/dist/model-capabilities.js +12 -2
  27. package/dist/model-capabilities.js.map +1 -1
  28. package/dist/model-diagnostics.js +11 -3
  29. package/dist/model-diagnostics.js.map +1 -1
  30. package/dist/model-router-media.d.ts +26 -0
  31. package/dist/model-router-media.js +274 -0
  32. package/dist/model-router-media.js.map +1 -0
  33. package/dist/openai-responses.d.ts +28 -0
  34. package/dist/openai-responses.js +473 -0
  35. package/dist/openai-responses.js.map +1 -0
  36. package/dist/process-manager.d.ts +38 -0
  37. package/dist/process-manager.js +492 -0
  38. package/dist/process-manager.js.map +1 -0
  39. package/dist/prompts.js +3 -1
  40. package/dist/prompts.js.map +1 -1
  41. package/dist/provider.d.ts +7 -0
  42. package/dist/provider.js +259 -14
  43. package/dist/provider.js.map +1 -1
  44. package/dist/sdk.js +9 -1
  45. package/dist/sdk.js.map +1 -1
  46. package/dist/server.d.ts +2 -0
  47. package/dist/server.js +149 -59
  48. package/dist/server.js.map +1 -1
  49. package/dist/spec.js +15 -1
  50. package/dist/spec.js.map +1 -1
  51. package/dist/tools.js +568 -268
  52. package/dist/tools.js.map +1 -1
  53. package/dist/tui.d.ts +2 -0
  54. package/dist/tui.js +22 -13
  55. package/dist/tui.js.map +1 -1
  56. package/dist/types.d.ts +7 -0
  57. package/dist/voice-registry.d.ts +30 -0
  58. package/dist/voice-registry.js +82 -0
  59. package/dist/voice-registry.js.map +1 -0
  60. package/dist/web/app.js +25 -3
  61. package/dist/web/app.js.map +1 -1
  62. package/docs/SDK.md +9 -7
  63. package/package.json +8 -2
  64. package/web/styles.css +6 -0
  65. package/dist/audit.d.ts +0 -14
  66. package/dist/audit.js +0 -31
  67. package/dist/audit.js.map +0 -1
  68. package/dist/dashscope.d.ts +0 -5
  69. package/dist/dashscope.js +0 -55
  70. package/dist/dashscope.js.map +0 -1
  71. package/dist/fetch-page/aparat.d.ts +0 -30
  72. package/dist/fetch-page/aparat.js +0 -209
  73. package/dist/fetch-page/aparat.js.map +0 -1
  74. package/dist/fetch-page/json-path.d.ts +0 -12
  75. package/dist/fetch-page/json-path.js +0 -111
  76. package/dist/fetch-page/json-path.js.map +0 -1
  77. package/dist/fetch-page/sites.d.ts +0 -26
  78. package/dist/fetch-page/sites.js +0 -39
  79. package/dist/fetch-page/sites.js.map +0 -1
  80. package/dist/fetch-page/text.d.ts +0 -5
  81. package/dist/fetch-page/text.js +0 -38
  82. package/dist/fetch-page/text.js.map +0 -1
  83. package/dist/fetch-page/types.d.ts +0 -17
  84. package/dist/fetch-page/types.js +0 -3
  85. package/dist/fetch-page/types.js.map +0 -1
  86. package/dist/fetch-page/youtube.d.ts +0 -35
  87. package/dist/fetch-page/youtube.js +0 -282
  88. package/dist/fetch-page/youtube.js.map +0 -1
  89. package/dist/web-search.d.ts +0 -5
  90. package/dist/web-search.js +0 -465
  91. package/dist/web-search.js.map +0 -1
package/dist/agent.js CHANGED
@@ -2,9 +2,11 @@ import crypto from "node:crypto";
2
2
  import { setTimeout as delay } from "node:timers/promises";
3
3
  import { supportsModelInput, } from "./config.js";
4
4
  import { compactMessagesIfNeeded } from "./compaction.js";
5
+ import { ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE } from "./anthropic.js";
5
6
  import { modelCallLogPath } from "./history.js";
6
7
  import { MockModelClient } from "./mock.js";
7
8
  import { contentPartMediaTypes, JsonlModelCallDiagnostics, } from "./model-diagnostics.js";
9
+ import { RESPONSES_CAPACITY_ERROR_CODE, RESPONSES_TRANSIENT_ERROR_CODE, } from "./openai-responses.js";
8
10
  import { HttpModelClient, ModelCapabilityError } from "./provider.js";
9
11
  import { detectRepoContext } from "./repo.js";
10
12
  import { isCodeArenaMode } from "./mode.js";
@@ -38,7 +40,11 @@ const retryableStreamCodes = new Set([
38
40
  "UND_ERR_HEADERS_TIMEOUT",
39
41
  "UND_ERR_BODY_TIMEOUT",
40
42
  "ARENA_STREAM_IDLE_TIMEOUT",
43
+ ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE,
44
+ RESPONSES_CAPACITY_ERROR_CODE,
45
+ RESPONSES_TRANSIENT_ERROR_CODE,
41
46
  ]);
47
+ const capacityErrorMaxRetries = 5;
42
48
  function describeError(error) {
43
49
  return error instanceof Error ? error.message : String(error);
44
50
  }
@@ -55,6 +61,19 @@ function isRetryableStreamError(error) {
55
61
  const code = errorCode(error);
56
62
  return code !== undefined && retryableStreamCodes.has(code);
57
63
  }
64
+ function streamRetryLimit(error, configuredLimit) {
65
+ return errorCode(error) === RESPONSES_CAPACITY_ERROR_CODE
66
+ ? Math.min(configuredLimit, capacityErrorMaxRetries)
67
+ : configuredLimit;
68
+ }
69
+ function imageReadFileFallbackNotice() {
70
+ return ("<arena-system-message>\n" +
71
+ "The image content in this message was not delivered directly because " +
72
+ "the configured model does not support image input. Use read_file to " +
73
+ "inspect each attached image file listed above. read_file will use the " +
74
+ "configured image fallback model and return a textual representation.\n" +
75
+ "</arena-system-message>");
76
+ }
58
77
  function unsupportedMediaNotice(mediaTypes) {
59
78
  const label = mediaTypes.join(", ") || "media";
60
79
  return ("<arena-system-message>\n" +
@@ -64,24 +83,36 @@ function unsupportedMediaNotice(mediaTypes) {
64
83
  "current model; do not infer or invent its contents.\n" +
65
84
  "</arena-system-message>");
66
85
  }
67
- function replaceUnsupportedMedia(messages, mediaTypes) {
86
+ function replaceUnsupportedMedia(messages, mediaTypes, imageReadFileFallback = false) {
68
87
  const unsupported = new Set(mediaTypes);
69
88
  let replaced = 0;
70
89
  for (const message of messages) {
71
90
  if (message.role !== "user" || !Array.isArray(message.content))
72
91
  continue;
92
+ const removedMediaTypes = new Set();
73
93
  const textParts = message.content.filter((part) => {
74
94
  const partTypes = contentPartMediaTypes(part);
75
95
  if (partTypes.some((type) => unsupported.has(type))) {
96
+ for (const type of partTypes) {
97
+ if (unsupported.has(type))
98
+ removedMediaTypes.add(type);
99
+ }
76
100
  replaced += 1;
77
101
  return false;
78
102
  }
79
103
  return true;
80
104
  });
81
105
  if (textParts.length !== message.content.length) {
106
+ const useImageFallback = imageReadFileFallback && removedMediaTypes.has("image");
107
+ const genericMediaTypes = [...removedMediaTypes].filter((type) => type !== "image" || !useImageFallback);
82
108
  message.content = [
83
109
  ...textParts,
84
- { text: unsupportedMediaNotice(mediaTypes) },
110
+ ...(genericMediaTypes.length
111
+ ? [{ text: unsupportedMediaNotice(genericMediaTypes) }]
112
+ : []),
113
+ ...(useImageFallback
114
+ ? [{ text: imageReadFileFallbackNotice() }]
115
+ : []),
85
116
  ];
86
117
  }
87
118
  }
@@ -103,9 +134,18 @@ function preflightUnsupportedMedia(config, messages) {
103
134
  }
104
135
  }
105
136
  }
106
- return present.size
107
- ? replaceUnsupportedMedia(messages, [...present])
108
- : 0;
137
+ if (!present.size)
138
+ return 0;
139
+ const mediaTypes = [...present];
140
+ const imageReadFileFallback = mediaTypes.includes("image") &&
141
+ Boolean(config.imageInputFallbackModel) &&
142
+ !isCodeArenaMode(config.mode);
143
+ return replaceUnsupportedMedia(messages, mediaTypes, imageReadFileFallback);
144
+ }
145
+ function modelContextFromTrajectory(messages) {
146
+ return messages.map((message) => message.role === "user" && Array.isArray(message.content)
147
+ ? { ...message, content: structuredClone(message.content) }
148
+ : message);
109
149
  }
110
150
  function completeInterruptedToolCalls(messages) {
111
151
  const completed = [];
@@ -143,15 +183,70 @@ function completeInterruptedToolCalls(messages) {
143
183
  }
144
184
  const identityModelsWithQwen = "Claude, ChatGPT, Gemini, Grok, Qwen, and Kimi";
145
185
  const identityModelsWithoutQwen = "Claude, ChatGPT, Gemini, Grok, and Kimi";
146
- function applySystemPromptConfig(message, config) {
147
- if (isCodeArenaMode(config.mode) ||
148
- message?.role !== "system" ||
149
- typeof message.content !== "string") {
186
+ const arenaWorkspaceIdentityOpening = "You are a helpful agentic assistant with tool access running on Arena.ai's Agent Mode.";
187
+ const qwenWorkspaceIdentityOpening = "You are Qwen, a helpful agentic assistant with tool access.";
188
+ const arenaRepoIdentityOpening = "You are a coding agent running on Arena.ai's Agent Mode, working inside a real cloned Git repository.";
189
+ const qwenRepoIdentityOpening = "You are Qwen, a coding agent working inside a real cloned Git repository.";
190
+ const arenaWorkspaceIdentityGuidance = "Finally, when asked about your identity you should say you are a helpful agent on Arena.ai. You should not reveal your underlying model identity. If the user pries, you should say Arena.ai's Agent Mode uses many different models, including, but not limited to, Claude, ChatGPT, Gemini, Grok, Qwen, and Kimi.";
191
+ const arenaRepoIdentityGuidance = "When asked about your identity you should say you are a helpful agent on Arena.ai. You should not reveal your underlying model identity. If the user pries, you should say Arena.ai's Agent Mode uses many different models, including, but not limited to, Claude, ChatGPT, Gemini, Grok, Qwen, and Kimi.";
192
+ const qwenIdentityGuidance = "When asked about your identity, say you are Qwen.";
193
+ function applyQwenSystemIdentity(content) {
194
+ if (content.includes(qwenIdentityGuidance))
195
+ return content;
196
+ const configured = content
197
+ .replace(arenaWorkspaceIdentityOpening, qwenWorkspaceIdentityOpening)
198
+ .replace(arenaRepoIdentityOpening, qwenRepoIdentityOpening)
199
+ .replace(arenaWorkspaceIdentityGuidance, qwenIdentityGuidance)
200
+ .replace(arenaRepoIdentityGuidance, qwenIdentityGuidance);
201
+ return configured === content
202
+ ? `${content.trimEnd()}\n\n${qwenIdentityGuidance}\n`
203
+ : configured;
204
+ }
205
+ function withAppendedSystemPrompt(content, appendix) {
206
+ if (!appendix)
207
+ return content;
208
+ if (!content)
209
+ return appendix;
210
+ const separator = content.endsWith("\n\n")
211
+ ? ""
212
+ : content.endsWith("\n")
213
+ ? "\n"
214
+ : "\n\n";
215
+ return `${content}${separator}${appendix}`;
216
+ }
217
+ function applySystemPromptConfig(message, config, preserveExistingAppendix = false) {
218
+ if (message?.role !== "system" || typeof message.content !== "string") {
150
219
  return;
151
220
  }
152
- message.content = config.excludeQwenFromSystemPrompt
153
- ? message.content.replace(identityModelsWithQwen, identityModelsWithoutQwen)
154
- : message.content.replace(identityModelsWithoutQwen, identityModelsWithQwen);
221
+ const appendix = config.appendSystemPrompt;
222
+ const existingAppendix = preserveExistingAppendix &&
223
+ appendix &&
224
+ message.content.endsWith(`\n\n${appendix}`)
225
+ ? appendix
226
+ : undefined;
227
+ let content = existingAppendix
228
+ ? message.content.slice(0, -existingAppendix.length)
229
+ : message.content;
230
+ if (typeof config.systemPrompt === "string") {
231
+ content = config.systemPrompt;
232
+ }
233
+ else if (typeof config.systemPrompt === "object" &&
234
+ config.systemPrompt.identity === "Qwen") {
235
+ content = applyQwenSystemIdentity(content);
236
+ }
237
+ else if (!isCodeArenaMode(config.mode)) {
238
+ content = config.excludeQwenFromSystemPrompt
239
+ ? content.replace(identityModelsWithQwen, identityModelsWithoutQwen)
240
+ : content.replace(identityModelsWithoutQwen, identityModelsWithQwen);
241
+ }
242
+ const reuseExistingAppendix = existingAppendix && typeof config.systemPrompt !== "string";
243
+ if (reuseExistingAppendix) {
244
+ content += existingAppendix;
245
+ }
246
+ if (appendix !== undefined && !reuseExistingAppendix) {
247
+ content = withAppendedSystemPrompt(content, appendix);
248
+ }
249
+ message.content = content;
155
250
  }
156
251
  class PartialAssistantTurnError extends Error {
157
252
  cause;
@@ -180,6 +275,7 @@ export class Agent {
180
275
  client;
181
276
  tools;
182
277
  workspaceContext;
278
+ sessionAffinityId;
183
279
  sessionId;
184
280
  constructor(config, sink, options = {}) {
185
281
  this.config = config;
@@ -187,6 +283,7 @@ export class Agent {
187
283
  this.options = options;
188
284
  this.sessionId =
189
285
  options.sessionId || crypto.randomUUID().replaceAll("-", "");
286
+ this.sessionAffinityId = options.sessionAffinityId || crypto.randomUUID();
190
287
  this.workspaceContext =
191
288
  options.workspaceContext ||
192
289
  (isCodeArenaMode(config.mode)
@@ -201,6 +298,7 @@ export class Agent {
201
298
  (config.model.startsWith("mock/")
202
299
  ? new MockModelClient()
203
300
  : new HttpModelClient(config, {
301
+ sessionAffinityId: this.sessionAffinityId,
204
302
  ...(config.modelCallLogging === false
205
303
  ? {}
206
304
  : {
@@ -231,14 +329,24 @@ export class Agent {
231
329
  const clientContext = this.options.clientContext || defaultClientContext();
232
330
  const repoContext = resolveRepoContext(this.config.workspace, history, this.config.mode);
233
331
  const trajectory = history?.length
234
- ? completeInterruptedToolCalls(structuredClone(history))
332
+ ? completeInterruptedToolCalls(this.options.reuseHistoryMessages
333
+ ? [...history]
334
+ : structuredClone(history))
235
335
  : initialMessages(prompt, clientContext, this.workspaceContext, repoContext, this.config.mode, this.config.maxTurns);
236
- applySystemPromptConfig(trajectory[0], this.config);
336
+ if (history?.length && this.options.reuseHistoryMessages && trajectory[0]) {
337
+ // Runtime prompt overrides mutate only the system message. Keep the
338
+ // caller's loaded history immutable while sharing the large old prefix.
339
+ trajectory[0] = structuredClone(trajectory[0]);
340
+ }
341
+ applySystemPromptConfig(trajectory[0], this.config, Boolean(history?.length));
237
342
  if (history?.length) {
238
343
  const expected = repoContext
239
344
  ? repoSystemMessage(clientContext, repoContext, this.config.mode, this.workspaceContext, this.config.maxTurns)
240
345
  : systemMessage(clientContext, this.workspaceContext, this.config.mode, this.config.maxTurns);
241
346
  applySystemPromptConfig(expected, this.config);
347
+ if (typeof this.config.systemPrompt === "object") {
348
+ trajectory[0] = structuredClone(expected);
349
+ }
242
350
  if (!isCanonicalSystemMessage(trajectory[0], expected, this.config.mode, this.config.maxTurns)) {
243
351
  const portableExpected = systemMessage(clientContext, undefined, this.config.mode, this.config.maxTurns);
244
352
  applySystemPromptConfig(portableExpected, this.config);
@@ -269,7 +377,10 @@ export class Agent {
269
377
  // Persisted history is the lossless source of truth for replay and
270
378
  // training. Compaction may rewrite only this private model-context copy;
271
379
  // every real user, assistant, and tool message is appended to both.
272
- const messages = structuredClone(trajectory);
380
+ // Compaction replaces array entries, and media fallback can rewrite only
381
+ // multimodal user content. Share the immutable lossless prefix and isolate
382
+ // just that mutable content instead of cloning every historical string.
383
+ const messages = modelContextFromTrajectory(trajectory);
273
384
  const recordMessage = async (message) => {
274
385
  messages.push(message);
275
386
  const recorded = structuredClone(message);
@@ -291,6 +402,9 @@ export class Agent {
291
402
  if (this.options.signal?.aborted) {
292
403
  throw this.options.signal.reason || new Error("operation cancelled");
293
404
  }
405
+ // Every transport is replayable from local history. Native Responses
406
+ // stores its encrypted reasoning output items there, so compaction is
407
+ // safe at the same tool-step boundaries as the other protocols.
294
408
  if (step > 1)
295
409
  await this.maybeCompact(messages);
296
410
  const offeredTools = this.tools.availableTools();
@@ -321,7 +435,7 @@ export class Agent {
321
435
  const toolCallId = String(call.id || "");
322
436
  const toolName = String(call.function?.name || "tool");
323
437
  this.sink.toolStart(this.sessionId, toolCallId, toolName);
324
- const toolMessage = await this.tools.execute(call, toolName === "ask_user"
438
+ const toolMessage = await this.tools.execute(call, toolName === "ask_user" || toolName === "add_voice"
325
439
  ? {
326
440
  sessionId: this.sessionId,
327
441
  messages: structuredClone(trajectory),
@@ -336,7 +450,7 @@ export class Agent {
336
450
  await recordMessage(toolMessage);
337
451
  completedToolCallIds.push(toolCallId);
338
452
  this.sink.toolComplete(this.sessionId, toolCallId, toolName);
339
- if (toolName === "ask_user") {
453
+ if (toolName === "ask_user" || toolName === "add_voice") {
340
454
  if (toolResult.status === "needs_input") {
341
455
  const visualMessage = this.tools.takeVisualMessage(completedToolCallIds);
342
456
  if (visualMessage) {
@@ -365,7 +479,7 @@ export class Agent {
365
479
  }
366
480
  }
367
481
  async checkpoint(messages) {
368
- await this.options.onCheckpoint?.(messages);
482
+ await this.options.onCheckpoint?.(messages, this.tools.availableTools());
369
483
  }
370
484
  async maybeCompact(messages) {
371
485
  preflightUnsupportedMedia(this.config, messages);
@@ -400,18 +514,22 @@ export class Agent {
400
514
  // original content, and route-specific rejections keep the runtime fallback.
401
515
  preflightUnsupportedMedia(this.config, messages);
402
516
  const maxRetries = Math.max(0, Math.floor(this.config.modelMaxRetries ?? 10));
517
+ // Each attempt receives one fresh clone, so a stateful ModelClient cannot
518
+ // contaminate the retry. Keeping an additional immutable clone of the same
519
+ // request doubled the largest live allocation without adding isolation.
403
520
  let multimodalFallbackApplied = false;
404
521
  for (let attempt = 0;; attempt += 1) {
405
522
  const contentParts = [];
406
523
  const reasoningParts = [];
407
524
  const calls = new Map();
525
+ const responseItems = new Map();
408
526
  let usage;
409
527
  let reasoningDetails;
410
528
  try {
411
529
  const stream = this.client.stream({
412
530
  model: this.config.model,
413
531
  messages: structuredClone(messages),
414
- tools: offeredTools,
532
+ tools: structuredClone(offeredTools),
415
533
  toolChoice: this.config.toolChoice,
416
534
  temperature: this.config.temperature,
417
535
  maxTokens: this.config.maxTokens,
@@ -432,6 +550,9 @@ export class Agent {
432
550
  if (chunk.reasoning_details?.length) {
433
551
  reasoningDetails = chunk.reasoning_details;
434
552
  }
553
+ for (const value of chunk.openai_response_items || []) {
554
+ responseItems.set(value.index, structuredClone(value.item));
555
+ }
435
556
  const delta = chunk.choices?.[0]?.delta || {};
436
557
  if (delta.content) {
437
558
  const content = String(delta.content);
@@ -492,14 +613,19 @@ export class Agent {
492
613
  continue;
493
614
  }
494
615
  }
495
- if (!aborted && isRetryableStreamError(error) && attempt < maxRetries) {
616
+ if (!aborted &&
617
+ isRetryableStreamError(error) &&
618
+ attempt < streamRetryLimit(error, maxRetries)) {
496
619
  this.sink.modelRetry(this.sessionId, attempt + 1, describeError(error));
497
620
  await this.retryBackoff(attempt);
498
621
  continue;
499
622
  }
500
623
  const content = contentParts.join("");
501
624
  const reasoningContent = reasoningParts.join("");
502
- const partial = content || reasoningContent
625
+ const openaiResponseItems = [...responseItems.entries()]
626
+ .sort(([left], [right]) => left - right)
627
+ .map(([, item]) => item);
628
+ const partial = content || reasoningContent || openaiResponseItems.length
503
629
  ? {
504
630
  role: "assistant",
505
631
  content,
@@ -508,6 +634,9 @@ export class Agent {
508
634
  : {}),
509
635
  ...(usage ? { usage } : {}),
510
636
  ...(reasoningDetails ? { reasoning_details: reasoningDetails } : {}),
637
+ ...(openaiResponseItems.length
638
+ ? { openai_response_items: openaiResponseItems }
639
+ : {}),
511
640
  }
512
641
  : undefined;
513
642
  throw new PartialAssistantTurnError(error, partial);
@@ -522,6 +651,11 @@ export class Agent {
522
651
  assistant.usage = usage;
523
652
  if (reasoningDetails)
524
653
  assistant.reasoning_details = reasoningDetails;
654
+ if (responseItems.size) {
655
+ assistant.openai_response_items = [...responseItems.entries()]
656
+ .sort(([left], [right]) => left - right)
657
+ .map(([, item]) => item);
658
+ }
525
659
  if (calls.size) {
526
660
  assistant.tool_calls = [...calls.entries()]
527
661
  .sort(([left], [right]) => left - right)
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ interface ConvertedMessages {
9
9
  content: Block[];
10
10
  }>;
11
11
  }
12
+ export declare const ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE = "ARENA_ANTHROPIC_INCOMPLETE_STREAM";
12
13
  export declare function anthropicMessages(messages: Message[], includeThinking: boolean): ConvertedMessages;
13
14
  export declare function anthropicRequestBody(request: ModelRequest, model: string): Record<string, unknown>;
14
15
  export declare function anthropicChunks(stream: ReadableStream<Uint8Array>): AsyncGenerator<ModelChunk>;
package/dist/anthropic.js CHANGED
@@ -1,9 +1,11 @@
1
- const hourCacheControl = { type: "ephemeral", ttl: "1h" };
1
+ // Omitting ttl selects Anthropic's standard five-minute cache duration.
2
+ const defaultCacheControl = { type: "ephemeral" };
2
3
  const dataUriPattern = /^data:([^;,]+);base64,(.+)$/s;
3
4
  // Native Anthropic Messages has no provider default for max_tokens: the field
4
5
  // is required. Image fallback requests otherwise omit generation controls, so
5
6
  // give only this protocol path an independent, non-configurable output limit.
6
7
  const anthropicFallbackMaxTokens = 16_384;
8
+ export const ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE = "ARENA_ANTHROPIC_INCOMPLETE_STREAM";
7
9
  // Anthropic replaced fixed thinking budgets with adaptive thinking starting
8
10
  // with Opus/Sonnet 4.6. Keep older Claude models and non-Anthropic Messages
9
11
  // gateways on the established manual shape; those gateways commonly emulate
@@ -135,7 +137,7 @@ export function anthropicMessages(messages, includeThinking) {
135
137
  continue;
136
138
  const lastUserBlock = message.content.at(-1);
137
139
  if (lastUserBlock)
138
- lastUserBlock.cache_control = hourCacheControl;
140
+ lastUserBlock.cache_control = defaultCacheControl;
139
141
  break;
140
142
  }
141
143
  return {
@@ -144,7 +146,7 @@ export function anthropicMessages(messages, includeThinking) {
144
146
  {
145
147
  type: "text",
146
148
  text: systemParts.join("\n\n"),
147
- cache_control: hourCacheControl,
149
+ cache_control: defaultCacheControl,
148
150
  },
149
151
  ]
150
152
  : undefined,
@@ -177,7 +179,7 @@ export function anthropicRequestBody(request, model) {
177
179
  : {}),
178
180
  input_schema: tool.function.parameters,
179
181
  ...(index === request.tools.length - 1
180
- ? { cache_control: hourCacheControl }
182
+ ? { cache_control: defaultCacheControl }
181
183
  : {}),
182
184
  }));
183
185
  let choice = request.toolChoice === "none" ? "none" : "auto";
@@ -255,8 +257,11 @@ function anthropicUsage(totals) {
255
257
  return usage;
256
258
  }
257
259
  export async function* anthropicChunks(stream) {
260
+ let sawMessageStop = false;
258
261
  let nextToolIndex = 0;
259
262
  const toolIndexByBlock = new Map();
263
+ const initialToolArgumentsByBlock = new Map();
264
+ const toolBlocksWithArgumentDeltas = new Set();
260
265
  const blockTypes = new Map();
261
266
  const thinkingText = new Map();
262
267
  const thinkingSignature = new Map();
@@ -290,7 +295,14 @@ export async function* anthropicChunks(stream) {
290
295
  blockTypes.set(index, kind);
291
296
  if (kind === "tool_use") {
292
297
  const toolIndex = nextToolIndex++;
298
+ const toolName = String(block.name || "");
293
299
  toolIndexByBlock.set(index, toolIndex);
300
+ if (Object.hasOwn(block, "input")) {
301
+ const initialArguments = JSON.stringify(block.input);
302
+ if (initialArguments !== undefined) {
303
+ initialToolArgumentsByBlock.set(index, initialArguments);
304
+ }
305
+ }
294
306
  yield {
295
307
  choices: [
296
308
  {
@@ -300,7 +312,7 @@ export async function* anthropicChunks(stream) {
300
312
  index: toolIndex,
301
313
  id: String(block.id || ""),
302
314
  type: "function",
303
- function: { name: String(block.name || ""), arguments: "" },
315
+ function: { name: toolName, arguments: "" },
304
316
  },
305
317
  ],
306
318
  },
@@ -334,10 +346,47 @@ export async function* anthropicChunks(stream) {
334
346
  thinkingSignature.set(index, (thinkingSignature.get(index) || "") + String(delta.signature));
335
347
  }
336
348
  else if (kind === "input_json_delta" &&
337
- typeof delta.partial_json === "string" &&
338
- delta.partial_json) {
349
+ typeof delta.partial_json === "string") {
339
350
  const toolIndex = toolIndexByBlock.get(index);
340
351
  if (toolIndex !== undefined) {
352
+ toolBlocksWithArgumentDeltas.add(index);
353
+ if (delta.partial_json) {
354
+ yield {
355
+ choices: [
356
+ {
357
+ delta: {
358
+ tool_calls: [
359
+ {
360
+ index: toolIndex,
361
+ function: { arguments: delta.partial_json },
362
+ },
363
+ ],
364
+ },
365
+ },
366
+ ],
367
+ };
368
+ }
369
+ }
370
+ }
371
+ }
372
+ else if (type === "content_block_stop") {
373
+ const index = Number(event.index);
374
+ const kind = blockTypes.get(index);
375
+ if (kind === "thinking") {
376
+ reasoningDetails.push({
377
+ type: "thinking",
378
+ thinking: thinkingText.get(index) || "",
379
+ signature: thinkingSignature.get(index) || "",
380
+ });
381
+ }
382
+ else if (kind === "tool_use" &&
383
+ !toolBlocksWithArgumentDeltas.has(index) &&
384
+ initialToolArgumentsByBlock.has(index)) {
385
+ const toolIndex = toolIndexByBlock.get(index);
386
+ if (toolIndex !== undefined) {
387
+ // Anthropic's accumulated message keeps content_block_start.input
388
+ // when no input_json_delta event arrives. Preserve that explicit
389
+ // JSON value; a missing input field remains missing/invalid.
341
390
  yield {
342
391
  choices: [
343
392
  {
@@ -345,7 +394,9 @@ export async function* anthropicChunks(stream) {
345
394
  tool_calls: [
346
395
  {
347
396
  index: toolIndex,
348
- function: { arguments: delta.partial_json },
397
+ function: {
398
+ arguments: initialToolArgumentsByBlock.get(index),
399
+ },
349
400
  },
350
401
  ],
351
402
  },
@@ -354,16 +405,10 @@ export async function* anthropicChunks(stream) {
354
405
  };
355
406
  }
356
407
  }
357
- }
358
- else if (type === "content_block_stop") {
359
- const index = Number(event.index);
360
- if (blockTypes.get(index) === "thinking") {
361
- reasoningDetails.push({
362
- type: "thinking",
363
- thinking: thinkingText.get(index) || "",
364
- signature: thinkingSignature.get(index) || "",
365
- });
366
- }
408
+ blockTypes.delete(index);
409
+ toolIndexByBlock.delete(index);
410
+ initialToolArgumentsByBlock.delete(index);
411
+ toolBlocksWithArgumentDeltas.delete(index);
367
412
  }
368
413
  else if (type === "message_delta") {
369
414
  const usage = record(event.usage);
@@ -386,7 +431,21 @@ export async function* anthropicChunks(stream) {
386
431
  totals.cacheRead = usage.cache_read_input_tokens;
387
432
  }
388
433
  }
389
- // message_stop and ping carry nothing the accumulator needs.
434
+ else if (type === "message_stop") {
435
+ sawMessageStop = true;
436
+ }
437
+ // ping carries nothing the accumulator needs.
438
+ }
439
+ if (!sawMessageStop || blockTypes.size > 0) {
440
+ const openBlocks = [...blockTypes.entries()]
441
+ .map(([index, kind]) => `${index}:${kind}`)
442
+ .join(", ");
443
+ const error = new Error(!sawMessageStop
444
+ ? "Anthropic stream ended before message_stop"
445
+ : `Anthropic stream ended with open content blocks: ${openBlocks}`);
446
+ error.code =
447
+ ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE;
448
+ throw error;
390
449
  }
391
450
  const usage = anthropicUsage(totals);
392
451
  if (usage || reasoningDetails.length) {