@qwen-code/arena-agent 0.0.9-dev.22 → 0.0.9-dev.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tools.js CHANGED
@@ -2,7 +2,6 @@ import { spawn } from "node:child_process";
2
2
  import { existsSync, mkdirSync, realpathSync, } from "node:fs";
3
3
  import { open, readFile, realpath, stat, writeFile, } from "node:fs/promises";
4
4
  import path from "node:path";
5
- import { setTimeout as delay } from "node:timers/promises";
6
5
  import { Ajv } from "ajv";
7
6
  import addFormats from "ajv-formats";
8
7
  import { detect as detectEncoding } from "chardet";
@@ -15,7 +14,10 @@ import { supportsImageInput } from "./config.js";
15
14
  import { extractStructuredDocument, isStructuredDocument, } from "./document-reader.js";
16
15
  import { FetchPageReader } from "./fetch-page.js";
17
16
  import { prepareImageForModel } from "./image.js";
17
+ import { imageTextFromFallbackModel } from "./image-input-fallback.js";
18
18
  import { isCodeArenaMode } from "./mode.js";
19
+ import { generateImageWithModelRouter, generateSpeechWithModelRouter, } from "./model-router-media.js";
20
+ import { HttpModelClient } from "./provider.js";
19
21
  import { RoutifyFetchPageReader, routifyWebFetchEnabled, } from "./routify-web-fetch.js";
20
22
  import { toolDefinitions } from "./spec.js";
21
23
  const knownTextApplicationMimeTypes = new Set([
@@ -359,58 +361,6 @@ function record(value) {
359
361
  function stringValue(value) {
360
362
  return typeof value === "string" ? value : "";
361
363
  }
362
- function dashScopeApiKey() {
363
- const apiKey = process.env.DASHSCOPE_API_KEY;
364
- if (!apiKey) {
365
- throw new Error("DashScope tools require DASHSCOPE_API_KEY");
366
- }
367
- return apiKey;
368
- }
369
- function dashScopeRoot() {
370
- return (process.env.DASHSCOPE_API_BASE ||
371
- process.env.DASHSCOPE_BASE_URL ||
372
- "https://dashscope.aliyuncs.com")
373
- .replace(/\/+$/, "")
374
- .replace(/\/(?:api\/v1|compatible-mode\/v1)$/i, "");
375
- }
376
- function dashScopeUrl(protocol, pathname) {
377
- const prefix = protocol === "api" ? "/api/v1" : "/compatible-mode/v1";
378
- const normalized = pathname.startsWith("/") ? pathname : `/${pathname}`;
379
- return `${dashScopeRoot()}${prefix}${normalized}`;
380
- }
381
- async function dashScopeFetch(protocol, pathname, init, label) {
382
- const headers = new Headers(init.headers);
383
- headers.set("authorization", `Bearer ${dashScopeApiKey()}`);
384
- const response = await fetch(dashScopeUrl(protocol, pathname), {
385
- ...init,
386
- headers,
387
- });
388
- if (response.ok)
389
- return response;
390
- const body = await response.text();
391
- let detail = body;
392
- try {
393
- const payload = record(JSON.parse(body));
394
- detail =
395
- stringValue(payload.message) ||
396
- stringValue(record(payload.error).message) ||
397
- body;
398
- }
399
- catch {
400
- // Keep the response text as the diagnostic.
401
- }
402
- throw new Error(`${label} failed (${response.status} ${response.statusText}): ${detail.slice(0, 2000)}`);
403
- }
404
- async function dashScopeJson(protocol, pathname, init, label) {
405
- const response = await dashScopeFetch(protocol, pathname, init, label);
406
- return record(await response.json());
407
- }
408
- function responseMessage(payload) {
409
- return (stringValue(payload.message) ||
410
- stringValue(record(payload.output).message) ||
411
- stringValue(payload.code) ||
412
- "unknown provider error");
413
- }
414
364
  async function responseBytes(response, limit = 4 * 1024 * 1024) {
415
365
  const bytes = Buffer.from(await response.arrayBuffer());
416
366
  if (bytes.length > limit) {
@@ -425,6 +375,7 @@ class ArenaToolExecutor {
425
375
  validators = new Map();
426
376
  pendingVisualContent = new Map();
427
377
  askUserHandler;
378
+ imageInputFallbackClient;
428
379
  signal;
429
380
  workspaceContext;
430
381
  pageReader;
@@ -441,6 +392,10 @@ class ArenaToolExecutor {
441
392
  this.workspaceReal = realpathSync(this.workspace);
442
393
  this.askUserHandler = options.askUserHandler;
443
394
  this.askUserEnabled = Boolean(options.askUserHandler);
395
+ if (config.imageInputFallbackModel?.trim()) {
396
+ this.imageInputFallbackClient =
397
+ options.modelClient || new HttpModelClient(config);
398
+ }
444
399
  this.signal = options.signal;
445
400
  this.workspaceContext = options.workspaceContext;
446
401
  this.pageReader = new FetchPageReader({ signal: options.signal });
@@ -578,12 +533,15 @@ class ArenaToolExecutor {
578
533
  if (!raw)
579
534
  throw new Error("path must not be empty");
580
535
  let candidate;
581
- if (!this.workspaceContext && (raw === "/home/user" || raw === "~")) {
536
+ if (raw === "/home/user") {
582
537
  candidate = this.workspace;
583
538
  }
584
- else if (!this.workspaceContext && raw.startsWith("/home/user/")) {
539
+ else if (raw.startsWith("/home/user/")) {
585
540
  candidate = path.join(this.workspace, raw.slice("/home/user/".length));
586
541
  }
542
+ else if (!this.workspaceContext && raw === "~") {
543
+ candidate = this.workspace;
544
+ }
587
545
  else if (!this.workspaceContext && raw.startsWith("~/")) {
588
546
  candidate = path.join(this.workspace, raw.slice(2));
589
547
  }
@@ -835,7 +793,11 @@ class ArenaToolExecutor {
835
793
  if (kind === "image" && fileSize > 20 * 1024 * 1024) {
836
794
  throw new Error(`image exceeds 20 MB: ${rawPath}`);
837
795
  }
838
- if (kind === "image" && !supportsImageInput(this.config)) {
796
+ const mainModelSupportsImages = kind === "image" ? supportsImageInput(this.config) : false;
797
+ const fallbackModel = mainModelSupportsImages
798
+ ? undefined
799
+ : this.config.imageInputFallbackModel?.trim();
800
+ if (kind === "image" && !mainModelSupportsImages && !fallbackModel) {
839
801
  return unsupportedImageResult(path.basename(target));
840
802
  }
841
803
  let data;
@@ -893,6 +855,26 @@ class ArenaToolExecutor {
893
855
  `(${prepared.omittedReason || "exceeds the inline image limits"}).`,
894
856
  };
895
857
  }
858
+ if (fallbackModel) {
859
+ if (!this.imageInputFallbackClient) {
860
+ throw new Error("fallback image model client is unavailable");
861
+ }
862
+ const content = await imageTextFromFallbackModel(this.imageInputFallbackClient, {
863
+ model: fallbackModel,
864
+ fileName: this.relativePath(target),
865
+ mimeType: prepared.mimeType || mimeType,
866
+ dataUri: prepared.dataUri,
867
+ signal: this.signal,
868
+ });
869
+ return {
870
+ kind: "text",
871
+ source_kind: "image",
872
+ path: this.relativePath(target),
873
+ lines: content.split("\n").length,
874
+ size: Buffer.byteLength(content, "utf8"),
875
+ content,
876
+ };
877
+ }
896
878
  this.pendingVisualContent.set(toolCallId, [
897
879
  {
898
880
  image: prepared.dataUri,
@@ -985,9 +967,8 @@ class ArenaToolExecutor {
985
967
  throw new Error("file_path must end in .jpg, .jpeg, or .png");
986
968
  }
987
969
  mkdirSync(path.dirname(target), { recursive: true });
988
- const model = process.env.ARENA_IMAGE_MODEL || "qwen-image-2.0-pro";
989
- const isQwenImage2 = model.startsWith("qwen-image-2.0");
990
- const content = [];
970
+ const model = process.env.ARENA_IMAGE_MODEL || "gemini-2.5-flash-image";
971
+ const references = [];
991
972
  for (const imagePath of images || []) {
992
973
  const source = await this.confinedPath(imagePath);
993
974
  const extension = path.extname(source).toLowerCase();
@@ -999,96 +980,19 @@ class ArenaToolExecutor {
999
980
  if (bytes.length > 20 * 1024 * 1024) {
1000
981
  throw new Error(`reference image exceeds 20 MB: ${imagePath}`);
1001
982
  }
1002
- content.push({
1003
- image: `data:${mimeType};base64,${bytes.toString("base64")}`,
983
+ references.push({
984
+ bytes,
985
+ fileName: path.basename(source),
986
+ mimeType,
1004
987
  });
1005
988
  }
1006
- content.push({ text: prompt });
1007
- const parameters = {
1008
- size: process.env.ARENA_IMAGE_SIZE ||
1009
- (isQwenImage2 ? "2048*2048" : "2K"),
1010
- watermark: false,
1011
- };
1012
- if (isQwenImage2) {
1013
- parameters.prompt_extend = true;
1014
- }
1015
- else {
1016
- parameters.n = 1;
1017
- if (!images?.length)
1018
- parameters.thinking_mode = true;
1019
- }
1020
- const headers = {
1021
- "content-type": "application/json",
1022
- };
1023
- if (!isQwenImage2)
1024
- headers["x-dashscope-async"] = "enable";
1025
- const submitted = await dashScopeJson("api", isQwenImage2
1026
- ? "/services/aigc/multimodal-generation/generation"
1027
- : "/services/aigc/image-generation/generation", {
1028
- method: "POST",
1029
- headers,
1030
- body: JSON.stringify({
1031
- model,
1032
- input: {
1033
- messages: [{ role: "user", content }],
1034
- },
1035
- parameters,
1036
- }),
989
+ await writeFile(target, await generateImageWithModelRouter({
990
+ images: references,
991
+ model,
992
+ prompt,
1037
993
  signal: this.signal,
1038
- }, "generate_image");
1039
- let completed = isQwenImage2
1040
- ? submitted
1041
- : undefined;
1042
- if (!isQwenImage2) {
1043
- const taskId = stringValue(record(submitted.output).task_id);
1044
- if (!taskId) {
1045
- throw new Error(`generate_image returned no task_id: ${responseMessage(submitted)}`);
1046
- }
1047
- const timeoutMs = Number(process.env.DASHSCOPE_TASK_TIMEOUT_MS || 5 * 60 * 1000);
1048
- const pollIntervalMs = Number(process.env.DASHSCOPE_TASK_POLL_INTERVAL_MS || 1000);
1049
- const deadline = Date.now() + timeoutMs;
1050
- while (Date.now() <= deadline) {
1051
- const task = await dashScopeJson("api", `/tasks/${encodeURIComponent(taskId)}`, { method: "GET", signal: this.signal }, "generate_image status");
1052
- const output = record(task.output);
1053
- const taskStatus = stringValue(output.task_status).toUpperCase();
1054
- if (taskStatus === "SUCCEEDED") {
1055
- completed = task;
1056
- break;
1057
- }
1058
- if (["FAILED", "CANCELED", "UNKNOWN"].includes(taskStatus)) {
1059
- throw new Error(`generate_image task ${taskStatus}: ${responseMessage(task)}`);
1060
- }
1061
- if (Date.now() + pollIntervalMs > deadline)
1062
- break;
1063
- await delay(pollIntervalMs, undefined, { signal: this.signal });
1064
- }
1065
- if (!completed) {
1066
- throw new Error(`generate_image timed out waiting for task ${taskId}`);
1067
- }
1068
- }
1069
- if (!completed) {
1070
- throw new Error("generate_image returned no response");
1071
- }
1072
- const output = record(completed.output);
1073
- const choices = Array.isArray(output.choices) ? output.choices : [];
1074
- const message = record(record(choices[0]).message);
1075
- const generatedContent = Array.isArray(message.content)
1076
- ? message.content
1077
- : [];
1078
- const generated = generatedContent
1079
- .map(record)
1080
- .find((item) => typeof item.image === "string");
1081
- const legacyResults = Array.isArray(output.results) ? output.results : [];
1082
- const imageUrl = stringValue(generated?.image) ||
1083
- stringValue(record(legacyResults[0]).url);
1084
- if (!imageUrl) {
1085
- throw new Error("generate_image response did not include an image URL");
1086
- }
1087
- const imageResponse = await fetch(imageUrl, { signal: this.signal });
1088
- if (!imageResponse.ok) {
1089
- throw new Error(`image download failed (${imageResponse.status})`);
1090
- }
1091
- await writeFile(target, await responseBytes(imageResponse, 25 * 1024 * 1024));
994
+ size: process.env.ARENA_IMAGE_SIZE || "1024*1024",
995
+ }));
1092
996
  return {
1093
997
  status: "success",
1094
998
  file_path: this.relativePath(target),
@@ -1103,65 +1007,68 @@ class ArenaToolExecutor {
1103
1007
  ".opus": "opus",
1104
1008
  }[extension];
1105
1009
  if (!format) {
1106
- throw new Error("DashScope speech output supports .mp3, .wav, or .opus");
1010
+ throw new Error("ModelRouter speech output supports .mp3, .wav, or .opus");
1107
1011
  }
1108
1012
  mkdirSync(path.dirname(target), { recursive: true });
1109
- const model = process.env.ARENA_SPEECH_MODEL || "qwen-audio-3.0-tts-flash";
1013
+ const model = process.env.ARENA_SPEECH_MODEL || "gemini-3.1-flash-tts-preview";
1110
1014
  const feminine = voiceIdentity.gender !== "masculine";
1111
1015
  const primaryLanguage = language.toLowerCase().split(/[-_]/)[0] || "";
1112
- const voices = primaryLanguage === "en"
1016
+ const geminiTts = /^gemini-.*-tts(?:-|$)/i.test(model);
1017
+ const voices = geminiTts
1113
1018
  ? feminine
1114
- ? ["loongeva_v3.6", "longanhuan_v3.6"]
1115
- : ["loongjohn", "longjielidou_v3.6"]
1116
- : feminine
1117
- ? ["longanhuan_v3.6"]
1118
- : ["longjielidou_v3.6"];
1019
+ ? [
1020
+ "Kore",
1021
+ "Aoede",
1022
+ "Zephyr",
1023
+ "Leda",
1024
+ "Callirrhoe",
1025
+ "Autonoe",
1026
+ "Despina",
1027
+ "Erinome",
1028
+ "Laomedeia",
1029
+ "Achernar",
1030
+ "Gacrux",
1031
+ "Pulcherrima",
1032
+ "Vindemiatrix",
1033
+ "Sulafat",
1034
+ ]
1035
+ : [
1036
+ "Puck",
1037
+ "Charon",
1038
+ "Fenrir",
1039
+ "Orus",
1040
+ "Enceladus",
1041
+ "Iapetus",
1042
+ "Umbriel",
1043
+ "Algieba",
1044
+ "Algenib",
1045
+ "Rasalgethi",
1046
+ "Alnilam",
1047
+ "Schedar",
1048
+ "Achird",
1049
+ "Zubenelgenubi",
1050
+ "Sadachbia",
1051
+ "Sadaltager",
1052
+ ]
1053
+ : primaryLanguage === "en"
1054
+ ? feminine
1055
+ ? ["loongeva_v3.6", "longanhuan_v3.6"]
1056
+ : ["loongjohn", "longjielidou_v3.6"]
1057
+ : feminine
1058
+ ? ["longanhuan_v3.6"]
1059
+ : ["longjielidou_v3.6"];
1119
1060
  const requestedIndex = Math.max(0, Math.trunc(Number(voiceIdentity.index || 0)));
1120
- const voice = process.env.DASHSCOPE_SPEECH_VOICE ||
1061
+ const voice = process.env.ARENA_SPEECH_VOICE ||
1121
1062
  voices[requestedIndex % voices.length] ||
1122
- voices[0];
1123
- const supportedHints = new Set([
1124
- "ar",
1125
- "de",
1126
- "en",
1127
- "es",
1128
- "fil",
1129
- "fr",
1130
- "id",
1131
- "it",
1132
- "ja",
1133
- "ko",
1134
- "ms",
1135
- "pt",
1136
- "ru",
1137
- "th",
1138
- "vi",
1139
- "zh",
1140
- ]);
1141
- const input = {
1142
- text,
1143
- voice,
1063
+ voices[0] ||
1064
+ (geminiTts ? "Kore" : "longanhuan_v3.6");
1065
+ await writeFile(target, await generateSpeechWithModelRouter({
1144
1066
  format,
1145
- sample_rate: 24000,
1146
- };
1147
- if (supportedHints.has(primaryLanguage)) {
1148
- input.language_hints = [primaryLanguage];
1149
- }
1150
- const payload = await dashScopeJson("api", "/services/audio/tts/SpeechSynthesizer", {
1151
- method: "POST",
1152
- headers: { "content-type": "application/json" },
1153
- body: JSON.stringify({ model, input }),
1067
+ model,
1154
1068
  signal: this.signal,
1155
- }, "generate_speech");
1156
- const audioUrl = stringValue(record(record(payload.output).audio).url);
1157
- if (!audioUrl) {
1158
- throw new Error(`generate_speech returned no audio URL: ${responseMessage(payload)}`);
1159
- }
1160
- const audioResponse = await fetch(audioUrl, { signal: this.signal });
1161
- if (!audioResponse.ok) {
1162
- throw new Error(`audio download failed (${audioResponse.status})`);
1163
- }
1164
- await writeFile(target, await responseBytes(audioResponse, 25 * 1024 * 1024));
1069
+ text,
1070
+ voice,
1071
+ }));
1165
1072
  return {
1166
1073
  status: "success",
1167
1074
  file_path: this.relativePath(target),
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -268,14 +268,16 @@ export interface ModelRequest {
268
268
  messages: ModelMessage[];
269
269
  tools: ToolDefinition[];
270
270
  toolChoice: string;
271
- temperature: number;
272
- maxTokens: number;
271
+ temperature?: number;
272
+ maxTokens?: number;
273
273
  incrementalOutput?: boolean;
274
274
  resultFormat?: string;
275
275
  reasoningEffort?: ReasoningEffort;
276
- enableThinking: boolean;
277
- thinkingBudget: number;
278
- preserveThinking: boolean;
276
+ enableThinking?: boolean;
277
+ thinkingBudget?: number;
278
+ preserveThinking?: boolean;
279
+ /** Use provider generation defaults and do not inherit the global extra body. */
280
+ useProviderDefaults?: boolean;
279
281
  signal?: AbortSignal;
280
282
  }
281
283
  export interface ModelClient {
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwen-code/arena-agent",
3
- "version": "0.0.9-dev.22",
3
+ "version": "0.0.9-dev.24",
4
4
  "description": "A four-mode TypeScript agent harness for Arena and Code Arena traces.",
5
5
  "type": "module",
6
6
  "types": "./dist/sdk.d.ts",