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

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 (44) hide show
  1. package/.env.example +6 -0
  2. package/CHANGELOG.md +22 -1
  3. package/README.md +74 -5
  4. package/dist/agent.d.ts +8 -3
  5. package/dist/agent.js +155 -14
  6. package/dist/agent.js.map +1 -1
  7. package/dist/canonical-data.js +1 -1
  8. package/dist/canonical-data.js.map +1 -1
  9. package/dist/cli.js +27 -8
  10. package/dist/cli.js.map +1 -1
  11. package/dist/code-tools.d.ts +2 -1
  12. package/dist/code-tools.js +130 -18
  13. package/dist/code-tools.js.map +1 -1
  14. package/dist/compaction.d.ts +3 -2
  15. package/dist/compaction.js +28 -3
  16. package/dist/compaction.js.map +1 -1
  17. package/dist/history.d.ts +1 -0
  18. package/dist/history.js +14 -0
  19. package/dist/history.js.map +1 -1
  20. package/dist/midturn-checkpoint-hook.d.ts +17 -2
  21. package/dist/midturn-checkpoint-hook.js +11 -3
  22. package/dist/midturn-checkpoint-hook.js.map +1 -1
  23. package/dist/mode.js +1 -1
  24. package/dist/protocol.d.ts +1 -1
  25. package/dist/protocol.js +2 -1
  26. package/dist/protocol.js.map +1 -1
  27. package/dist/repetitive-output.d.ts +12 -0
  28. package/dist/repetitive-output.js +80 -0
  29. package/dist/repetitive-output.js.map +1 -0
  30. package/dist/spec.js +1 -1
  31. package/dist/spec.js.map +1 -1
  32. package/dist/tools.js +31 -14
  33. package/dist/tools.js.map +1 -1
  34. package/dist/types.d.ts +2 -1
  35. package/dist/workspace.js +6 -5
  36. package/dist/workspace.js.map +1 -1
  37. package/modes/code-arena/capture-provenance.json +54 -0
  38. package/modes/code-arena/full-stack/template/eslint.config.mjs +3 -4
  39. package/modes/code-arena/full-stack/template/postcss.config.mjs +2 -2
  40. package/modes/code-arena/full-stack/tools.json +186 -186
  41. package/modes/code-arena/html/tools.json +123 -123
  42. package/modes/code-arena/react/system-prompt.txt +4 -3
  43. package/modes/code-arena/react/tools.json +178 -184
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-data.js","sourceRoot":"","sources":["../src/canonical-data.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAW,irwGAAirwG,CAAC;AAC5twG,MAAM,CAAC,MAAM,aAAa,GAAW,morBAAmorB,CAAC;AACzqrB,MAAM,CAAC,MAAM,qBAAqB,GAAW,kpxCAAkpxC,CAAC"}
1
+ {"version":3,"file":"canonical-data.js","sourceRoot":"","sources":["../src/canonical-data.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAW,irwGAAirwG,CAAC;AAC5twG,MAAM,CAAC,MAAM,aAAa,GAAW,morBAAmorB,CAAC;AACzqrB,MAAM,CAAC,MAAM,qBAAqB,GAAW,s4yCAAs4yC,CAAC"}
package/dist/cli.js CHANGED
@@ -34,6 +34,7 @@ function parsePromptOptions(argumentsList) {
34
34
  const options = {
35
35
  prompt: "",
36
36
  continueFromHistory: false,
37
+ singleStep: false,
37
38
  output: "text",
38
39
  workspace: process.cwd(),
39
40
  attachments: [],
@@ -96,16 +97,22 @@ function parsePromptOptions(argumentsList) {
96
97
  else if (argument === "--continue") {
97
98
  options.continueFromHistory = true;
98
99
  }
100
+ else if (argument === "--single-step") {
101
+ options.singleStep = true;
102
+ }
99
103
  else if (argument === "--version") {
100
104
  console.log(`${cliName} ${version}`);
101
105
  process.exit(0);
102
106
  }
103
107
  else if (argument === "-h" || argument === "--help") {
104
- console.log(`Usage: ${cliName} (-p <prompt> | --file <path>) [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--attach path|url ...] [--output text|json|stream-json] [--workspace path] [--session-id id|--history-file path]\n` +
105
- ` ${cliName} --continue --session-id id [--mode arena|react|html|full-stack] [--output text|json|stream-json] [--workspace path] [--model name]\n` +
108
+ console.log(`Usage: ${cliName} (-p <prompt> | --file <path>) [--single-step] [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--attach path|url ...] [--output text|json|stream-json] [--workspace path] [--session-id id|--history-file path]\n` +
109
+ ` ${cliName} --continue --session-id id [--single-step] [--mode arena|react|html|full-stack] [--output text|json|stream-json] [--workspace path] [--model name]\n` +
106
110
  ` ${cliName} tui [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--workspace path] [--model name] [--session-id id|--history-file path]\n` +
107
111
  ` ${cliName} serve [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--host 127.0.0.1] [--port 3000] [--workspace path]\n` +
108
112
  "\n" +
113
+ " --single-step saves and exits after one model response and its entire\n" +
114
+ " tool batch. Use it with a new prompt or --continue.\n" +
115
+ "\n" +
109
116
  " --file reads the UTF-8 prompt after startup, avoiding command-line\n" +
110
117
  " argument size limits. It cannot be combined with -p/--prompt.\n" +
111
118
  "\n" +
@@ -311,6 +318,8 @@ async function runPrompt(options) {
311
318
  config.model = options.model;
312
319
  }
313
320
  else if (options.continueFromHistory &&
321
+ !process.env.OPENAI_MODEL &&
322
+ !process.env.ARENA_MODEL &&
314
323
  storedHistory?.metadata?.model) {
315
324
  config.model = storedHistory.metadata.model;
316
325
  }
@@ -387,18 +396,25 @@ async function runPrompt(options) {
387
396
  sessionMemory,
388
397
  onCheckpoint: persistHistory,
389
398
  midturnCheckpointHook: checkpointHook,
390
- onMidturnCheckpoint: async (messages, tools, event) => {
399
+ onPause: async (messages, tools) => {
400
+ persistedTools = tools;
401
+ if (!historyFinalized)
402
+ await finalizeHistory(messages);
403
+ },
404
+ onMidturnCheckpoint: async (messages, tools, event, action) => {
391
405
  persistedTools = [...tools];
392
406
  await finalizeHistory(messages);
393
407
  await requestHarborSnapshot({
394
408
  env: checkpointEnvironment,
395
409
  event,
396
410
  });
397
- await reopenHistory(messages);
411
+ if (action === "snapshot_continue")
412
+ await reopenHistory(messages);
398
413
  },
399
- }).run(options.prompt, history, options.continueFromHistory
400
- ? { resumeFromHistory: true }
401
- : { userMessage });
414
+ }).run(options.prompt, history, {
415
+ singleStep: options.singleStep,
416
+ ...(options.continueFromHistory ? { resumeFromHistory: true } : { userMessage }),
417
+ });
402
418
  if (!historyFinalized)
403
419
  await finalizeHistory(result.messages);
404
420
  if (options.output === "json") {
@@ -410,11 +426,14 @@ async function runPrompt(options) {
410
426
  if (text)
411
427
  console.log(text);
412
428
  }
429
+ else if (result.status === "paused") {
430
+ console.log(`Paused (${result.stop_reason}); session ID: ${result.session_id}`);
431
+ }
413
432
  else {
414
433
  console.error(result.error || "agent failed");
415
434
  }
416
435
  }
417
- return result.status === "success" ? 0 : 1;
436
+ return result.status === "success" || result.status === "paused" ? 0 : 1;
418
437
  }
419
438
  export async function main(argumentsList = process.argv.slice(2)) {
420
439
  if (argumentsList[0] === "serve") {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -50,13 +50,14 @@ export declare class CodeToolExecutor {
50
50
  private editCodeFile;
51
51
  private applyCodePatch;
52
52
  private deleteCodeFile;
53
+ private discoverableFile;
53
54
  private listCodeFiles;
54
55
  private grepCodeFiles;
55
56
  private globCodeFiles;
56
57
  private runProcess;
57
58
  private installNpmPackages;
58
59
  private buildProject;
59
- private fullStackBash;
60
+ private codeBash;
60
61
  private buildAndStartFailure;
61
62
  private stopPreviousPreview;
62
63
  private buildAndStart;
@@ -13,7 +13,8 @@ import mime from "mime/lite";
13
13
  import { executeBraveWebSearch } from "./brave-search.js";
14
14
  import { FetchPageReader } from "./fetch-page.js";
15
15
  import { replaceFirstText, replaceUniqueText } from "./file-edit.js";
16
- import { generatedImageBytesForExtension } from "./image.js";
16
+ import { detectedImageMimeType, generatedImageBytesForExtension } from "./image.js";
17
+ import { supportsImageInput } from "./model-capabilities.js";
17
18
  import { generateImageWithModelRouter, } from "./model-router-media.js";
18
19
  import { executeRoutifyWebFetch, routifyWebFetchEnabled, } from "./routify-web-fetch.js";
19
20
  import { replayResponseFor } from "./replay-responses.js";
@@ -187,6 +188,42 @@ const visibleImageExtensions = new Set([
187
188
  ".png",
188
189
  ".webp",
189
190
  ]);
191
+ const readableImageExtensions = new Set([".jpeg", ".jpg", ".png"]);
192
+ const maximumReadableImageBytes = 10 * 1024 * 1024;
193
+ function readableImageMimeType(data) {
194
+ if (data.length >= 8 &&
195
+ data.subarray(0, 8).equals(Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a])))
196
+ return "image/png";
197
+ if (data.length >= 3 && data[0] === 0xff && data[1] === 0xd8 && data[2] === 0xff)
198
+ return "image/jpeg";
199
+ return undefined;
200
+ }
201
+ function hasReadableImageStructure(data, mediaType) {
202
+ if (detectedImageMimeType(data) !== mediaType)
203
+ return false;
204
+ if (mediaType === "image/jpeg") {
205
+ return data.length >= 4 && data[data.length - 2] === 0xff && data[data.length - 1] === 0xd9;
206
+ }
207
+ if (data.readUInt32BE(16) === 0 || data.readUInt32BE(20) === 0)
208
+ return false;
209
+ let offset = 8;
210
+ let hasImageData = false;
211
+ while (offset + 12 <= data.length) {
212
+ const length = data.readUInt32BE(offset);
213
+ const end = offset + 12 + length;
214
+ if (end > data.length)
215
+ return false;
216
+ const type = data.toString("ascii", offset + 4, offset + 8);
217
+ if (offset === 8 && (type !== "IHDR" || length !== 13))
218
+ return false;
219
+ if (type === "IDAT")
220
+ hasImageData = true;
221
+ if (type === "IEND")
222
+ return length === 0 && hasImageData;
223
+ offset = end;
224
+ }
225
+ return false;
226
+ }
190
227
  // All 39 successful, unmutated list_files captures use this exact order,
191
228
  // independently of whether the requested path is the project root or src/.
192
229
  // It is the seed manifest order, not an alphabetical/filesystem order.
@@ -404,6 +441,17 @@ function stringValue(value) {
404
441
  }
405
442
  function contentTypeForFile(filePath) {
406
443
  const extension = path.extname(filePath).toLowerCase();
444
+ const capturedTypes = {
445
+ ".py": "text/x-python",
446
+ ".sh": "text/x-shellscript",
447
+ ".sql": "application/sql",
448
+ ".yaml": "application/x-yaml",
449
+ ".yml": "application/x-yaml",
450
+ ".mjs": "text/plain",
451
+ ".c": "text/plain",
452
+ };
453
+ if (capturedTypes[extension])
454
+ return capturedTypes[extension];
407
455
  if ([".js", ".jsx", ".mjs", ".cjs", ".ts", ".tsx", ".mts", ".cts"].includes(extension)) {
408
456
  return "text/javascript";
409
457
  }
@@ -541,6 +589,17 @@ function validationIssues(toolName, value, errors, definitions) {
541
589
  continue;
542
590
  }
543
591
  const actual = missing ? undefined : valueAtPath(value, error.instancePath);
592
+ if (error.keyword === "enum") {
593
+ const options = record(error.params).allowedValues;
594
+ issues.push({
595
+ received: actual,
596
+ code: "invalid_enum_value",
597
+ options,
598
+ path: pathParts,
599
+ message: `Invalid enum value. Expected ${options.map((option) => `'${option}'`).join(" | ")}, received '${actual}'`,
600
+ });
601
+ continue;
602
+ }
544
603
  const expected = error.keyword === "type"
545
604
  ? String(record(error.params).type || "string")
546
605
  : requiredPropertyType(toolName, key, definitions);
@@ -763,9 +822,14 @@ export class CodeToolExecutor {
763
822
  if (!advertiseApplyPatch && !disallowed.has("apply_patch")) {
764
823
  this.validators.set("apply_patch", this.ajv.compile(APPLY_PATCH_PARAMETERS));
765
824
  }
825
+ // Captured React/HTML histories call this hidden tool. No public schema was
826
+ // captured: accept its object payload without adding model-visible tools.
827
+ if (config.mode !== "full-stack" && !disallowed.has("update_plan")) {
828
+ this.validators.set("update_plan", this.ajv.compile({ type: "object" }));
829
+ }
766
830
  }
767
- // The tool schemas offered to the model for this session. Identical to the
768
- // canonical trace set, adjusted for the selected workspace runtime.
831
+ // The tools offered to the model for this session, with captured schemas
832
+ // and descriptions adjusted for current capabilities and workspace runtime.
769
833
  availableTools() {
770
834
  return structuredClone(this.definitions);
771
835
  }
@@ -795,10 +859,13 @@ export class CodeToolExecutor {
795
859
  else if (name === "list_files" || name === "glob_files") {
796
860
  argumentsValue.path ??= "";
797
861
  }
798
- else if (this.config.mode === "full-stack" && name === "bash" &&
862
+ else if (name === "bash" &&
799
863
  argumentsValue && typeof argumentsValue === "object" &&
800
- !Array.isArray(argumentsValue) && argumentsValue.workdir === undefined) {
801
- argumentsValue.workdir = "";
864
+ !Array.isArray(argumentsValue)) {
865
+ if (argumentsValue.workdir === undefined)
866
+ argumentsValue.workdir = "";
867
+ if (argumentsValue.description === undefined)
868
+ argumentsValue.description = "";
802
869
  }
803
870
  else if (name === "grep_files") {
804
871
  argumentsValue.path ??= "";
@@ -963,13 +1030,15 @@ export class CodeToolExecutor {
963
1030
  return replayed.output;
964
1031
  switch (name) {
965
1032
  case "read_file":
966
- return this.readCodeFile(String(values.path), Number(values.offset), Number(values.limit));
1033
+ return this.readCodeFile(String(values.path), Number(values.offset), Number(values.limit), _toolCallId);
967
1034
  case "create_file":
968
1035
  return this.createCodeFile(String(values.path), String(values.content));
969
1036
  case "edit_file":
970
1037
  return this.editCodeFile(String(values.path), String(values.context), String(values.replacement));
971
1038
  case "apply_patch":
972
1039
  return this.applyCodePatch(String(values.input));
1040
+ case "update_plan":
1041
+ return { status: "success" };
973
1042
  case "delete_file":
974
1043
  return this.deleteCodeFile(String(values.path));
975
1044
  case "list_files":
@@ -983,7 +1052,7 @@ export class CodeToolExecutor {
983
1052
  case "build_project":
984
1053
  return this.buildProject();
985
1054
  case "bash":
986
- return this.fullStackBash(String(values.command), String(values.workdir));
1055
+ return this.codeBash(String(values.command), String(values.workdir));
987
1056
  case "build_and_start":
988
1057
  return this.buildAndStart();
989
1058
  case "web_search":
@@ -1137,7 +1206,7 @@ export class CodeToolExecutor {
1137
1206
  await visit(searchRoot);
1138
1207
  return files;
1139
1208
  }
1140
- async readCodeFile(rawPath, offset, limit) {
1209
+ async readCodeFile(rawPath, offset, limit, toolCallId) {
1141
1210
  const target = await this.confinedPath(rawPath);
1142
1211
  let data;
1143
1212
  try {
@@ -1151,10 +1220,50 @@ export class CodeToolExecutor {
1151
1220
  message: `File "${rawPath}" does not exist`,
1152
1221
  };
1153
1222
  }
1223
+ if (readableImageExtensions.has(path.extname(target).toLowerCase())) {
1224
+ const mediaType = readableImageMimeType(data);
1225
+ if (!mediaType) {
1226
+ return {
1227
+ status: "error",
1228
+ message: `"${rawPath}" is not a valid image — the file contents are not PNG or JPEG. Re-download or regenerate the file, then read it again.`,
1229
+ };
1230
+ }
1231
+ if (!supportsImageInput(this.config)) {
1232
+ return {
1233
+ status: "error",
1234
+ message: `This model cannot view images. Reference "${rawPath}" by its path instead.`,
1235
+ };
1236
+ }
1237
+ if (data.length > maximumReadableImageBytes) {
1238
+ return {
1239
+ status: "error",
1240
+ message: `Image "${rawPath}" is too large to view (${Math.round(data.length / 1024)} KB, max 10240 KB).`,
1241
+ };
1242
+ }
1243
+ if (!hasReadableImageStructure(data, mediaType)) {
1244
+ return {
1245
+ status: "error",
1246
+ message: `"${rawPath}" is not a valid image — the file contents are not PNG or JPEG. Re-download or regenerate the file, then read it again.`,
1247
+ };
1248
+ }
1249
+ const relativePath = this.relativePath(target);
1250
+ this.pendingVisualContent.set(toolCallId, [
1251
+ { image: `data:${mediaType};base64,${data.toString("base64")}` },
1252
+ ]);
1253
+ return {
1254
+ file: {
1255
+ content: `[Image file ${relativePath} (${Math.round(data.length / 1024)} KB, ${mediaType})]`,
1256
+ contentType: "text/plain",
1257
+ path: relativePath,
1258
+ },
1259
+ image: { mediaType, sizeBytes: data.length },
1260
+ status: "success",
1261
+ };
1262
+ }
1154
1263
  if (workspaceFileKind(target, data.subarray(0, 4096)) !== "text") {
1155
1264
  return {
1156
1265
  status: "error",
1157
- message: `File "${rawPath}" is not a supported text file`,
1266
+ message: `Cannot read binary file "${rawPath}". Only text files and PNG/JPEG images are supported.`,
1158
1267
  };
1159
1268
  }
1160
1269
  const lines = decodeText(data).split("\n");
@@ -1454,6 +1563,11 @@ export class CodeToolExecutor {
1454
1563
  this.forgetListedPath(this.relativePath(target));
1455
1564
  return { status: "success" };
1456
1565
  }
1566
+ discoverableFile(filePath) {
1567
+ // Full Stack captures expose the lock to shell/read_file, but omit it
1568
+ // from both project discovery tools, even before any package installation.
1569
+ return this.config.mode !== "full-stack" || this.relativePath(filePath) !== "package-lock.json";
1570
+ }
1457
1571
  async listCodeFiles(rawPath) {
1458
1572
  if (this.config.mode === "react" && rawPath === "/")
1459
1573
  rawPath = ".";
@@ -1465,7 +1579,7 @@ export class CodeToolExecutor {
1465
1579
  !existsSync(target)) {
1466
1580
  return { status: "success", files: [] };
1467
1581
  }
1468
- const files = this.orderListedFiles(await this.walkFiles(target));
1582
+ const files = this.orderListedFiles((await this.walkFiles(target)).filter(file => this.discoverableFile(file)));
1469
1583
  return {
1470
1584
  status: "success",
1471
1585
  files: (this.config.mode === "react" ? files.slice(0, 500) : files)
@@ -1667,6 +1781,7 @@ export class CodeToolExecutor {
1667
1781
  return { status: "success", paths: [], truncated: false };
1668
1782
  }
1669
1783
  const allPaths = files
1784
+ .filter(file => this.discoverableFile(file))
1670
1785
  .filter((filePath) => matchesGlob(path.relative(target, filePath).split(path.sep).join("/"), pattern) || (this.config.mode === "react" && matchesGlob(this.relativePath(filePath), pattern)))
1671
1786
  .map((filePath) => this.relativePath(filePath));
1672
1787
  return {
@@ -1782,7 +1897,7 @@ export class CodeToolExecutor {
1782
1897
  stderr: this.virtualizeCodeOutput(result.stderr),
1783
1898
  };
1784
1899
  }
1785
- async fullStackBash(command, workdir) {
1900
+ async codeBash(command, workdir) {
1786
1901
  const cwd = workdir.trim() || ".";
1787
1902
  if (path.isAbsolute(cwd) || cwd.includes("..")) {
1788
1903
  throw new Error(`Invalid workdir: ${cwd}. Commands run from the project root by default. Only use workdir for relative subdirectories, never absolute paths.`);
@@ -1792,6 +1907,8 @@ export class CodeToolExecutor {
1792
1907
  ? configuredTimeout
1793
1908
  : 300;
1794
1909
  const result = await this.bash(command, cwd, timeoutSeconds);
1910
+ if (result.timed_out)
1911
+ return { status: "error", message: "Command timed out" };
1795
1912
  const exitCode = result.exit_code;
1796
1913
  const stdout = String(result.stdout || "");
1797
1914
  const stderr = String(result.stderr || "");
@@ -1991,12 +2108,6 @@ export class CodeToolExecutor {
1991
2108
  reject(this.signal.reason || new Error("operation cancelled"));
1992
2109
  return;
1993
2110
  }
1994
- // 生产契约:status 恒为 "completed"(包括非零退出码),超时无参考样本,
1995
- // 按最小猜测同样返回 completed + exit_code null,stderr 附超时说明。
1996
- if (timedOut && this.config.mode !== "full-stack") {
1997
- stderr +=
1998
- (stderr ? "\n" : "") + `command exceeded ${timeoutSeconds}s`;
1999
- }
2000
2111
  const out = capBashOutput(stdout);
2001
2112
  const err = capBashOutput(stderr);
2002
2113
  resolve({
@@ -2004,6 +2115,7 @@ export class CodeToolExecutor {
2004
2115
  stderr: err.text,
2005
2116
  stdout: out.text,
2006
2117
  exit_code: timedOut ? null : code,
2118
+ timed_out: timedOut,
2007
2119
  duration_ms: Date.now() - startedAt,
2008
2120
  stderr_truncated: err.truncated,
2009
2121
  stdout_truncated: out.truncated,