@qwen-code/arena-agent 0.0.9-dev.8 → 0.0.10-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/.env.example +54 -19
  2. package/README.md +218 -45
  3. package/dist/agent.d.ts +4 -2
  4. package/dist/agent.js +167 -21
  5. package/dist/agent.js.map +1 -1
  6. package/dist/anthropic.d.ts +1 -0
  7. package/dist/anthropic.js +90 -23
  8. package/dist/anthropic.js.map +1 -1
  9. package/dist/attachments.d.ts +1 -1
  10. package/dist/attachments.js +16 -4
  11. package/dist/attachments.js.map +1 -1
  12. package/dist/brave-search.d.ts +10 -0
  13. package/dist/brave-search.js +238 -0
  14. package/dist/brave-search.js.map +1 -0
  15. package/dist/canonical-data.js +2 -2
  16. package/dist/canonical-data.js.map +1 -1
  17. package/dist/cli.js +64 -18
  18. package/dist/cli.js.map +1 -1
  19. package/dist/code-tools.d.ts +0 -5
  20. package/dist/code-tools.js +29 -353
  21. package/dist/code-tools.js.map +1 -1
  22. package/dist/compaction.js +8 -2
  23. package/dist/compaction.js.map +1 -1
  24. package/dist/config.d.ts +30 -0
  25. package/dist/config.js +57 -3
  26. package/dist/config.js.map +1 -1
  27. package/dist/fetch-page.d.ts +1 -0
  28. package/dist/fetch-page.js +1 -1
  29. package/dist/fetch-page.js.map +1 -1
  30. package/dist/history.d.ts +3 -2
  31. package/dist/history.js +7 -2
  32. package/dist/history.js.map +1 -1
  33. package/dist/image-input-fallback.d.ts +9 -0
  34. package/dist/image-input-fallback.js +47 -0
  35. package/dist/image-input-fallback.js.map +1 -0
  36. package/dist/image.d.ts +16 -0
  37. package/dist/image.js +380 -0
  38. package/dist/image.js.map +1 -0
  39. package/dist/mock.d.ts +1 -0
  40. package/dist/mock.js +38 -0
  41. package/dist/mock.js.map +1 -1
  42. package/dist/model-capabilities.js +12 -2
  43. package/dist/model-capabilities.js.map +1 -1
  44. package/dist/model-diagnostics.js +16 -5
  45. package/dist/model-diagnostics.js.map +1 -1
  46. package/dist/model-router-media.d.ts +26 -0
  47. package/dist/model-router-media.js +274 -0
  48. package/dist/model-router-media.js.map +1 -0
  49. package/dist/openai-responses.d.ts +28 -0
  50. package/dist/openai-responses.js +473 -0
  51. package/dist/openai-responses.js.map +1 -0
  52. package/dist/process-manager.d.ts +38 -0
  53. package/dist/process-manager.js +486 -0
  54. package/dist/process-manager.js.map +1 -0
  55. package/dist/prompts.js +3 -1
  56. package/dist/prompts.js.map +1 -1
  57. package/dist/provider.d.ts +7 -0
  58. package/dist/provider.js +291 -27
  59. package/dist/provider.js.map +1 -1
  60. package/dist/routify-web-fetch.d.ts +17 -0
  61. package/dist/routify-web-fetch.js +188 -0
  62. package/dist/routify-web-fetch.js.map +1 -0
  63. package/dist/sdk.d.ts +9 -2
  64. package/dist/sdk.js +5 -2
  65. package/dist/sdk.js.map +1 -1
  66. package/dist/server.d.ts +3 -0
  67. package/dist/server.js +112 -21
  68. package/dist/server.js.map +1 -1
  69. package/dist/spec.js +15 -1
  70. package/dist/spec.js.map +1 -1
  71. package/dist/tools.d.ts +2 -1
  72. package/dist/tools.js +250 -340
  73. package/dist/tools.js.map +1 -1
  74. package/dist/tui.d.ts +3 -0
  75. package/dist/tui.js +18 -11
  76. package/dist/tui.js.map +1 -1
  77. package/dist/types.d.ts +17 -6
  78. package/dist/voice-registry.d.ts +30 -0
  79. package/dist/voice-registry.js +82 -0
  80. package/dist/voice-registry.js.map +1 -0
  81. package/dist/web/app.js +67 -6
  82. package/dist/web/app.js.map +1 -1
  83. package/docs/BINARY_DISTRIBUTION.md +25 -18
  84. package/docs/MODES_AND_RELEASES.md +8 -4
  85. package/docs/SDK.md +28 -4
  86. package/package.json +21 -3
  87. package/web/styles.css +28 -7
package/dist/anthropic.js CHANGED
@@ -1,5 +1,11 @@
1
- const ephemeralCacheControl = { type: "ephemeral" };
1
+ // Omitting ttl selects Anthropic's standard five-minute cache duration.
2
+ const defaultCacheControl = { type: "ephemeral" };
2
3
  const dataUriPattern = /^data:([^;,]+);base64,(.+)$/s;
4
+ // Native Anthropic Messages has no provider default for max_tokens: the field
5
+ // is required. Image fallback requests otherwise omit generation controls, so
6
+ // give only this protocol path an independent, non-configurable output limit.
7
+ const anthropicFallbackMaxTokens = 16_384;
8
+ export const ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE = "ARENA_ANTHROPIC_INCOMPLETE_STREAM";
3
9
  // Anthropic replaced fixed thinking budgets with adaptive thinking starting
4
10
  // with Opus/Sonnet 4.6. Keep older Claude models and non-Anthropic Messages
5
11
  // gateways on the established manual shape; those gateways commonly emulate
@@ -131,7 +137,7 @@ export function anthropicMessages(messages, includeThinking) {
131
137
  continue;
132
138
  const lastUserBlock = message.content.at(-1);
133
139
  if (lastUserBlock)
134
- lastUserBlock.cache_control = ephemeralCacheControl;
140
+ lastUserBlock.cache_control = defaultCacheControl;
135
141
  break;
136
142
  }
137
143
  return {
@@ -140,7 +146,7 @@ export function anthropicMessages(messages, includeThinking) {
140
146
  {
141
147
  type: "text",
142
148
  text: systemParts.join("\n\n"),
143
- cache_control: ephemeralCacheControl,
149
+ cache_control: defaultCacheControl,
144
150
  },
145
151
  ]
146
152
  : undefined,
@@ -149,10 +155,12 @@ export function anthropicMessages(messages, includeThinking) {
149
155
  }
150
156
  export function anthropicRequestBody(request, model) {
151
157
  const adaptiveThinking = request.enableThinking && usesAdaptiveThinking(model);
152
- const { system, messages } = anthropicMessages(request.messages, request.enableThinking);
158
+ const { system, messages } = anthropicMessages(request.messages, Boolean(request.enableThinking));
159
+ const maxTokens = request.maxTokens ??
160
+ (request.useProviderDefaults ? anthropicFallbackMaxTokens : undefined);
153
161
  const body = {
154
162
  model,
155
- max_tokens: request.maxTokens,
163
+ ...(maxTokens !== undefined ? { max_tokens: maxTokens } : {}),
156
164
  messages,
157
165
  stream: true,
158
166
  };
@@ -171,7 +179,7 @@ export function anthropicRequestBody(request, model) {
171
179
  : {}),
172
180
  input_schema: tool.function.parameters,
173
181
  ...(index === request.tools.length - 1
174
- ? { cache_control: ephemeralCacheControl }
182
+ ? { cache_control: defaultCacheControl }
175
183
  : {}),
176
184
  }));
177
185
  let choice = request.toolChoice === "none" ? "none" : "auto";
@@ -191,7 +199,7 @@ export function anthropicRequestBody(request, model) {
191
199
  ? { type: "adaptive" }
192
200
  : { type: "enabled", budget_tokens: request.thinkingBudget };
193
201
  }
194
- else {
202
+ else if (request.temperature !== undefined) {
195
203
  body.temperature = request.temperature;
196
204
  }
197
205
  return body;
@@ -249,8 +257,11 @@ function anthropicUsage(totals) {
249
257
  return usage;
250
258
  }
251
259
  export async function* anthropicChunks(stream) {
260
+ let sawMessageStop = false;
252
261
  let nextToolIndex = 0;
253
262
  const toolIndexByBlock = new Map();
263
+ const initialToolArgumentsByBlock = new Map();
264
+ const toolBlocksWithArgumentDeltas = new Set();
254
265
  const blockTypes = new Map();
255
266
  const thinkingText = new Map();
256
267
  const thinkingSignature = new Map();
@@ -284,7 +295,14 @@ export async function* anthropicChunks(stream) {
284
295
  blockTypes.set(index, kind);
285
296
  if (kind === "tool_use") {
286
297
  const toolIndex = nextToolIndex++;
298
+ const toolName = String(block.name || "");
287
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
+ }
288
306
  yield {
289
307
  choices: [
290
308
  {
@@ -294,7 +312,7 @@ export async function* anthropicChunks(stream) {
294
312
  index: toolIndex,
295
313
  id: String(block.id || ""),
296
314
  type: "function",
297
- function: { name: String(block.name || ""), arguments: "" },
315
+ function: { name: toolName, arguments: "" },
298
316
  },
299
317
  ],
300
318
  },
@@ -328,10 +346,47 @@ export async function* anthropicChunks(stream) {
328
346
  thinkingSignature.set(index, (thinkingSignature.get(index) || "") + String(delta.signature));
329
347
  }
330
348
  else if (kind === "input_json_delta" &&
331
- typeof delta.partial_json === "string" &&
332
- delta.partial_json) {
349
+ typeof delta.partial_json === "string") {
333
350
  const toolIndex = toolIndexByBlock.get(index);
334
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.
335
390
  yield {
336
391
  choices: [
337
392
  {
@@ -339,7 +394,9 @@ export async function* anthropicChunks(stream) {
339
394
  tool_calls: [
340
395
  {
341
396
  index: toolIndex,
342
- function: { arguments: delta.partial_json },
397
+ function: {
398
+ arguments: initialToolArgumentsByBlock.get(index),
399
+ },
343
400
  },
344
401
  ],
345
402
  },
@@ -348,16 +405,10 @@ export async function* anthropicChunks(stream) {
348
405
  };
349
406
  }
350
407
  }
351
- }
352
- else if (type === "content_block_stop") {
353
- const index = Number(event.index);
354
- if (blockTypes.get(index) === "thinking") {
355
- reasoningDetails.push({
356
- type: "thinking",
357
- thinking: thinkingText.get(index) || "",
358
- signature: thinkingSignature.get(index) || "",
359
- });
360
- }
408
+ blockTypes.delete(index);
409
+ toolIndexByBlock.delete(index);
410
+ initialToolArgumentsByBlock.delete(index);
411
+ toolBlocksWithArgumentDeltas.delete(index);
361
412
  }
362
413
  else if (type === "message_delta") {
363
414
  const usage = record(event.usage);
@@ -380,7 +431,21 @@ export async function* anthropicChunks(stream) {
380
431
  totals.cacheRead = usage.cache_read_input_tokens;
381
432
  }
382
433
  }
383
- // 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;
384
449
  }
385
450
  const usage = anthropicUsage(totals);
386
451
  if (usage || reasoningDetails.length) {
@@ -437,7 +502,9 @@ export function anthropicFallbackChunk(value) {
437
502
  {
438
503
  delta: {
439
504
  content: textParts.join(""),
440
- reasoning_content: reasoningParts.join(""),
505
+ ...(reasoningParts.length
506
+ ? { reasoning_content: reasoningParts.join("") }
507
+ : {}),
441
508
  ...(toolCalls.length ? { tool_calls: toolCalls } : {}),
442
509
  },
443
510
  },
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"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"}
@@ -26,4 +26,4 @@ export declare function attachmentMimeType(name: string, bytes: Buffer, declared
26
26
  export declare function uploadsDirectory(workspace: string, create: boolean): Promise<string>;
27
27
  export declare function saveAttachment(workspace: string, requestedName: string, bytes: Buffer, declaredType?: string): Promise<Attachment>;
28
28
  export declare function stageAttachment(workspace: string, source: string, options?: StageAttachmentOptions): Promise<Attachment>;
29
- export declare function attachmentUserMessage(prompt: string, attachments: Attachment[]): MultimodalUserMessage;
29
+ export declare function attachmentUserMessage(prompt: string, attachments: Attachment[]): Promise<MultimodalUserMessage>;
@@ -1,5 +1,6 @@
1
1
  import { lstat, mkdir, readFile, realpath, writeFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { prepareImageForModel } from "./image.js";
3
4
  export const maxUploadBytes = 20 * 1024 * 1024;
4
5
  export const maxAttachmentsPerMessage = 10;
5
6
  export const maxAttachmentBytesPerMessage = 50 * 1024 * 1024;
@@ -195,17 +196,28 @@ export async function stageAttachment(workspace, source, options = {}) {
195
196
  }
196
197
  return saveAttachment(workspace, withDetectedImageExtension(path.basename(absolute), bytes), bytes);
197
198
  }
198
- export function attachmentUserMessage(prompt, attachments) {
199
+ export async function attachmentUserMessage(prompt, attachments) {
199
200
  const content = [];
200
201
  for (const attachment of attachments) {
201
202
  if (attachment.imageMimeType && attachment.bytes) {
203
+ const prepared = await prepareImageForModel(attachment.bytes, attachment.imageMimeType);
204
+ if (!prepared.dataUri) {
205
+ content.push({
206
+ text: `[Image omitted from the model request: "${attachment.name}" ` +
207
+ `${prepared.omittedReason || "exceeds the inline image limits"}. ` +
208
+ "The original file remains available in /home/user/uploads/.]",
209
+ });
210
+ continue;
211
+ }
202
212
  // URL-sourced images keep the original URL, matching how baseline
203
213
  // traces reference attachments; local files have no URL to cite and
204
214
  // embed the bytes instead.
205
215
  content.push({
206
- image: attachment.sourceUrl ||
207
- `data:${attachment.imageMimeType};base64,` +
208
- attachment.bytes.toString("base64"),
216
+ image: attachment.sourceUrl &&
217
+ !prepared.resized &&
218
+ prepared.mimeType === attachment.imageMimeType
219
+ ? attachment.sourceUrl
220
+ : prepared.dataUri,
209
221
  });
210
222
  }
211
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,IAAI,MAAM,WAAW,CAAC;AAmB7B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7D,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,yEAAyE;IAClF,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,0BAA0B;IACnC,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,gCAAgC;IACvC,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,iCAAiC;IAC1C,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,8BAA8B;IACrC,MAAM,EAAE,gCAAgC;IACxC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,2EAA2E;IACpF,KAAK,EAAE,2BAA2B;IAClC,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,2BAA2B;IACpC,KAAK,EAAE,2BAA2B;IAClC,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,mEAAmE;IAC5E,MAAM,EAAE,gCAAgC;IACxC,OAAO,EAAE,2BAA2B;IACpC,MAAM,EAAE,2BAA2B;CACpC,CAAC;AAEF,MAAM,eAAe,GAA2B;IAC9C,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,OAAO;CACtB,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,OAAO,GAAG,KAAK;SAClB,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC;SACvC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1E,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAClE,OAAO,0CAA0C,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IACE,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CACzB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAC9D,EACD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IACE,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EACjB,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;QAChE,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChE,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,KAAa,EACb,YAAY,GAAG,EAAE;IAEjB,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,aAAa;QAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;IACrE,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO;QACL,QAAQ,EACN,mBAAmB,CAAC,aAAa,IAAI,EAAE,CAAC;YACxC,mBAAmB,CAAC,YAAY,CAAC;YACjC,0BAA0B;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,MAAe;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,MAAM;QAAE,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3D,QAAQ,CAAC,SAAS,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC;QACjB,KAAK,CAAC,OAAO,CAAC;KACf,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3D,IACE,CAAC,IAAI,CAAC,WAAW,EAAE;QACnB,IAAI,CAAC,cAAc,EAAE;QACrB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,aAAqB,EACrB,KAAa,EACb,YAAY,GAAG,EAAE;IAEjB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE3E,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC;QAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YAC3D,OAAO;gBACL,IAAI;gBACJ,IAAI,EAAE,WAAW,IAAI,EAAE;gBACvB,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,KAAK;gBACL,GAAG,IAAI;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QACtE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY,EAAE,KAAa;IAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,SAAS,GAAG,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,MAAc,EACd,OAAO,GAA2B,EAAE;IAEpC,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM,KAAK,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,MAAM,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sBAAsB,cAAc,WAAW,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;QACzE,IAAI,CAAC;YACH,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CACrC,SAAS,EACT,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,EACvC,KAAK,EACL,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAC3C,CAAC;QACF,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sBAAsB,cAAc,WAAW,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,cAAc,CACnB,SAAS,EACT,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,EAC1D,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,WAAyB;IAEzB,MAAM,OAAO,GAAqC,EAAE,CAAC;IACrD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACjD,kEAAkE;YAClE,oEAAoE;YACpE,2BAA2B;YAC3B,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EACH,UAAU,CAAC,SAAS;oBACpB,QAAQ,UAAU,CAAC,aAAa,UAAU;wBACxC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EACF,8BAA8B;YAC9B,yEAAyE;YACzE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5D,2BAA2B;KAC9B,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface BraveWebSearchOptions {
2
+ model?: string;
3
+ profile?: "arena" | "code-arena";
4
+ signal?: AbortSignal;
5
+ }
6
+ export interface BraveImageSearchOptions {
7
+ signal?: AbortSignal;
8
+ }
9
+ export declare function executeBraveImageSearch(query: string, count: number, options?: BraveImageSearchOptions): Promise<Record<string, unknown>>;
10
+ export declare function executeBraveWebSearch(query: string, depth: string, options?: BraveWebSearchOptions): Promise<Record<string, unknown>>;
@@ -0,0 +1,238 @@
1
+ import { setTimeout as delay } from "node:timers/promises";
2
+ function record(value) {
3
+ return value !== null && typeof value === "object" && !Array.isArray(value)
4
+ ? value
5
+ : {};
6
+ }
7
+ function stringValue(value) {
8
+ return typeof value === "string" ? value : "";
9
+ }
10
+ function routifyApiKey() {
11
+ const apiKey = process.env.ROUTIFY_API_KEY;
12
+ if (!apiKey) {
13
+ throw new Error("Routify search tools require ROUTIFY_API_KEY");
14
+ }
15
+ return apiKey;
16
+ }
17
+ function webSearchUrl() {
18
+ return (process.env.ROUTIFY_WEB_SEARCH_URL?.trim() ||
19
+ "https://routify-pub.alibaba-inc.com/protocol/compatible-mode/res/v1/llm/context");
20
+ }
21
+ function imageSearchUrl() {
22
+ return (process.env.ROUTIFY_IMAGE_SEARCH_URL?.trim() ||
23
+ "https://routify-pub.alibaba-inc.com/protocol/brave/res/v1/images/search");
24
+ }
25
+ function retryableStatus(status) {
26
+ return status === 408 || status === 409 || status === 429 || status >= 500;
27
+ }
28
+ function retryDelayMilliseconds(response, attempt) {
29
+ const retryAfter = response.headers.get("retry-after")?.trim();
30
+ const seconds = Number(retryAfter);
31
+ if (Number.isFinite(seconds) && seconds >= 0) {
32
+ return Math.min(10_000, seconds * 1000);
33
+ }
34
+ return Math.min(2_000, 250 * 2 ** attempt);
35
+ }
36
+ function responseDetail(payload, rawBody) {
37
+ return (stringValue(payload.message) ||
38
+ stringValue(payload.detailMessage) ||
39
+ stringValue(record(payload.error).message) ||
40
+ rawBody ||
41
+ "unknown provider error");
42
+ }
43
+ function groundingResults(payload) {
44
+ const candidates = [
45
+ record(payload.grounding).generic,
46
+ record(record(payload.data).grounding).generic,
47
+ record(record(record(payload.data).originalOutput).grounding).generic,
48
+ ];
49
+ return candidates.find(Array.isArray) || [];
50
+ }
51
+ function sourceRecords(payload) {
52
+ const candidates = [
53
+ payload.sources,
54
+ record(payload.data).sources,
55
+ record(record(payload.data).originalOutput).sources,
56
+ ];
57
+ return record(candidates.find((value) => Object.keys(record(value)).length > 0));
58
+ }
59
+ function resultDescription(item, source) {
60
+ const groundingSnippets = Array.isArray(item.snippets)
61
+ ? item.snippets
62
+ .map(stringValue)
63
+ .map((value) => value.trim())
64
+ .filter(Boolean)
65
+ : [];
66
+ const snippets = groundingSnippets.length
67
+ ? groundingSnippets
68
+ : [stringValue(source.snippet).trim()].filter(Boolean);
69
+ return snippets.join("\n\n");
70
+ }
71
+ const weekdays = [
72
+ "Sunday",
73
+ "Monday",
74
+ "Tuesday",
75
+ "Wednesday",
76
+ "Thursday",
77
+ "Friday",
78
+ "Saturday",
79
+ ];
80
+ const months = [
81
+ "January",
82
+ "February",
83
+ "March",
84
+ "April",
85
+ "May",
86
+ "June",
87
+ "July",
88
+ "August",
89
+ "September",
90
+ "October",
91
+ "November",
92
+ "December",
93
+ ];
94
+ function pageAge(item) {
95
+ for (const candidate of [item.page_age, item.age]) {
96
+ const values = Array.isArray(candidate) ? candidate : [candidate];
97
+ for (const rawValue of values) {
98
+ const value = stringValue(rawValue).trim();
99
+ if (!value)
100
+ continue;
101
+ const isoDate = value.match(/^(\d{4})-(\d{2})-(\d{2})/);
102
+ const namedDate = value.match(/^(?:[A-Za-z]+,\s+)?([A-Za-z]+)\s+(\d{1,2}),\s+(\d{4})$/);
103
+ let date;
104
+ if (isoDate) {
105
+ date = new Date(Date.UTC(Number(isoDate[1]), Number(isoDate[2]) - 1, Number(isoDate[3])));
106
+ }
107
+ else {
108
+ const namedMonth = namedDate?.[1] || "";
109
+ const namedMonthIndex = months.indexOf(namedMonth);
110
+ date =
111
+ namedDate && namedMonthIndex >= 0
112
+ ? new Date(Date.UTC(Number(namedDate[3]), namedMonthIndex, Number(namedDate[2])))
113
+ : new Date(value);
114
+ }
115
+ if (!Number.isFinite(date.getTime()))
116
+ continue;
117
+ return `${weekdays[date.getUTCDay()]}, ${months[date.getUTCMonth()]} ${String(date.getUTCDate()).padStart(2, "0")}, ${date.getUTCFullYear()}`;
118
+ }
119
+ }
120
+ return undefined;
121
+ }
122
+ export async function executeBraveImageSearch(query, count, options = {}) {
123
+ const url = new URL(imageSearchUrl());
124
+ url.searchParams.set("q", query);
125
+ url.searchParams.set("count", String(count));
126
+ const headers = {
127
+ accept: "application/json",
128
+ "content-type": "application/json",
129
+ "x-subscription-token": routifyApiKey(),
130
+ };
131
+ let response;
132
+ for (let attempt = 0; attempt <= 3; attempt += 1) {
133
+ response = await fetch(url, {
134
+ method: "GET",
135
+ headers,
136
+ signal: options.signal,
137
+ });
138
+ if (response.ok)
139
+ break;
140
+ if (!retryableStatus(response.status) || attempt === 3)
141
+ break;
142
+ const wait = retryDelayMilliseconds(response, attempt);
143
+ await response.body?.cancel();
144
+ await delay(wait, undefined, { signal: options.signal });
145
+ }
146
+ if (!response)
147
+ throw new Error("Brave image_search returned no response");
148
+ const rawBody = await response.text();
149
+ let payload = {};
150
+ try {
151
+ payload = record(JSON.parse(rawBody));
152
+ }
153
+ catch {
154
+ if (response.ok) {
155
+ throw new Error("Brave image_search returned malformed JSON");
156
+ }
157
+ }
158
+ if (!response.ok) {
159
+ throw new Error(`Brave image_search failed (${response.status} ${response.statusText}): ${responseDetail(payload, rawBody).slice(0, 2000)}`);
160
+ }
161
+ return payload;
162
+ }
163
+ export async function executeBraveWebSearch(query, depth, options = {}) {
164
+ const codeArena = options.profile === "code-arena";
165
+ const resultLimit = codeArena
166
+ ? { "1": 3, "2": 5, "3": 10 }[depth] || 5
167
+ : { "1": 3, "2": 5, "3": 8 }[depth] || 5;
168
+ const totalTokenLimit = codeArena
169
+ ? { "1": 1280, "2": 4096, "3": 6144 }[depth] || 4096
170
+ : { "1": 1024, "2": 3072, "3": 8192 }[depth] || 3072;
171
+ const perUrlTokenLimit = codeArena
172
+ ? { "1": 512, "2": 1280, "3": 1536 }[depth] || 1280
173
+ : { "1": 512, "2": 552, "3": 2048 }[depth] || 552;
174
+ const model = options.model || process.env.ARENA_WEB_SEARCH_MODEL || "brave.llm-context";
175
+ const headers = {
176
+ authorization: routifyApiKey(),
177
+ "content-type": "application/json",
178
+ };
179
+ const body = JSON.stringify({
180
+ model,
181
+ q: query,
182
+ count: 20,
183
+ maximum_number_of_urls: resultLimit,
184
+ maximum_number_of_tokens: totalTokenLimit,
185
+ maximum_number_of_tokens_per_url: perUrlTokenLimit,
186
+ });
187
+ let response;
188
+ for (let attempt = 0; attempt <= 3; attempt += 1) {
189
+ response = await fetch(webSearchUrl(), {
190
+ method: "POST",
191
+ headers,
192
+ body,
193
+ signal: options.signal,
194
+ });
195
+ if (response.ok)
196
+ break;
197
+ if (!retryableStatus(response.status) || attempt === 3)
198
+ break;
199
+ const wait = retryDelayMilliseconds(response, attempt);
200
+ await response.body?.cancel();
201
+ await delay(wait, undefined, { signal: options.signal });
202
+ }
203
+ if (!response)
204
+ throw new Error("Brave web_search returned no response");
205
+ const rawBody = await response.text();
206
+ let payload = {};
207
+ try {
208
+ payload = record(JSON.parse(rawBody));
209
+ }
210
+ catch {
211
+ if (response.ok) {
212
+ throw new Error("Brave web_search returned malformed JSON");
213
+ }
214
+ }
215
+ if (!response.ok) {
216
+ throw new Error(`Brave web_search failed (${response.status} ${response.statusText}): ${responseDetail(payload, rawBody).slice(0, 2000)}`);
217
+ }
218
+ const sources = sourceRecords(payload);
219
+ return {
220
+ status: "success",
221
+ results: groundingResults(payload)
222
+ .slice(0, resultLimit)
223
+ .map((value, index) => {
224
+ const item = record(value);
225
+ const url = stringValue(item.url);
226
+ const source = record(sources[url]);
227
+ const age = pageAge(source);
228
+ return {
229
+ id: index + 1,
230
+ url,
231
+ title: stringValue(item.title) || stringValue(source.title),
232
+ description: resultDescription(item, source),
233
+ ...(age ? { pageAge: age } : {}),
234
+ };
235
+ }),
236
+ };
237
+ }
238
+ //# sourceMappingURL=brave-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brave-search.js","sourceRoot":"","sources":["../src/brave-search.ts"],"names":[],"mappings":"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"}