@qwen-code/arena-agent 0.0.9-dev.11 → 0.0.9-dev.13
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/README.md +23 -1
- package/dist/agent.js +2 -0
- package/dist/agent.js.map +1 -1
- package/dist/attachments.d.ts +1 -1
- package/dist/attachments.js +16 -4
- package/dist/attachments.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/code-tools.js +0 -1
- package/dist/code-tools.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.js.map +1 -1
- package/dist/image.d.ts +14 -0
- package/dist/image.js +299 -0
- package/dist/image.js.map +1 -0
- package/dist/mock.d.ts +1 -0
- package/dist/mock.js +38 -0
- package/dist/mock.js.map +1 -1
- package/dist/provider.js +6 -0
- package/dist/provider.js.map +1 -1
- package/dist/sdk.d.ts +9 -2
- package/dist/sdk.js +5 -2
- package/dist/sdk.js.map +1 -1
- package/dist/server.js +72 -3
- package/dist/server.js.map +1 -1
- package/dist/tools.js +10 -2
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/web/app.d.ts +1 -0
- package/dist/web/app.js +59 -6
- package/dist/web/app.js.map +1 -1
- package/docs/BINARY_DISTRIBUTION.md +4 -2
- package/docs/MODES_AND_RELEASES.md +8 -4
- package/docs/SDK.md +24 -1
- package/package.json +16 -3
- package/web/styles.css +22 -7
package/docs/SDK.md
CHANGED
|
@@ -289,6 +289,10 @@ if (
|
|
|
289
289
|
| `start` | Turn 已开始 |
|
|
290
290
|
| `reasoning-start/delta/end` | reasoning 流 |
|
|
291
291
|
| `text-start/delta/end` | 最终文本流 |
|
|
292
|
+
| `model.start` | 模型请求开始,包含 step 与实际 offered tools |
|
|
293
|
+
| `model.retry` | 流式模型请求正在自动重试,包含 attempt 与 error;丢弃本次请求此前的 delta |
|
|
294
|
+
| `model.complete` | 模型请求完成,包含 finish reason 与 usage |
|
|
295
|
+
| `compaction` | 上下文压缩完成;其 usage 只通过此事件上报 |
|
|
292
296
|
| `tool-input-start/delta/available` | 模型正在生成工具调用 |
|
|
293
297
|
| `tool-output-available` | 工具执行结果 |
|
|
294
298
|
| `data-agent-status` | 当前模型或工具阶段 |
|
|
@@ -337,6 +341,16 @@ return [
|
|
|
337
341
|
];
|
|
338
342
|
```
|
|
339
343
|
|
|
344
|
+
如果调用方选择跳过,返回结构化响应。Agent 会收到标准 skipped tool result 并
|
|
345
|
+
继续当前 Turn:
|
|
346
|
+
|
|
347
|
+
```ts
|
|
348
|
+
return {
|
|
349
|
+
answers: [],
|
|
350
|
+
skipped: true,
|
|
351
|
+
};
|
|
352
|
+
```
|
|
353
|
+
|
|
340
354
|
### UI 手动回答
|
|
341
355
|
|
|
342
356
|
不传 `onInputRequired`,收到事件后渲染自己的 UI:
|
|
@@ -354,6 +368,15 @@ for await (const event of session.stream({
|
|
|
354
368
|
}
|
|
355
369
|
```
|
|
356
370
|
|
|
371
|
+
手动 UI 也可以跳过:
|
|
372
|
+
|
|
373
|
+
```ts
|
|
374
|
+
await session.respondToInput(request.requestId, {
|
|
375
|
+
answers: [],
|
|
376
|
+
skipped: true,
|
|
377
|
+
});
|
|
378
|
+
```
|
|
379
|
+
|
|
357
380
|
答案格式:
|
|
358
381
|
|
|
359
382
|
```ts
|
|
@@ -545,7 +568,7 @@ session.retry(options?)
|
|
|
545
568
|
session.upload(file)
|
|
546
569
|
session.download(path)
|
|
547
570
|
session.workspaceUrl(path)
|
|
548
|
-
session.respondToInput(requestId,
|
|
571
|
+
session.respondToInput(requestId, answersOrResponse)
|
|
549
572
|
session.cancel()
|
|
550
573
|
session.undo()
|
|
551
574
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwen-code/arena-agent",
|
|
3
|
-
"version": "0.0.9-dev.
|
|
3
|
+
"version": "0.0.9-dev.13",
|
|
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",
|
|
@@ -51,22 +51,35 @@
|
|
|
51
51
|
"pretest": "npm run build",
|
|
52
52
|
"test": "tsx --test test/*.test.ts",
|
|
53
53
|
"test:tool-replay": "ARENA_TOOL_REPLAY_TESTS=1 tsx --test test/tool-replay.test.ts",
|
|
54
|
-
"
|
|
54
|
+
"scaffolds:validate-inputs": "tsx scripts/validate-scaffold-inputs.ts",
|
|
55
|
+
"replay:tools": "tsx scripts/replay-code-tools.ts",
|
|
56
|
+
"experiment:behavior": "tsx scripts/run-code-behavior-experiment.ts",
|
|
57
|
+
"experiment:probes": "tsx scripts/run-code-behavior-probes.ts",
|
|
58
|
+
"typecheck:code-arena-replay": "tsc -p tsconfig.code-arena-replay.json --noEmit",
|
|
59
|
+
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.web.json --noEmit && npm run typecheck:code-arena-replay"
|
|
55
60
|
},
|
|
56
61
|
"dependencies": {
|
|
62
|
+
"@stacksjs/ts-webp": "^0.1.2",
|
|
57
63
|
"ajv": "^8.20.0",
|
|
58
64
|
"ajv-formats": "^3.0.1",
|
|
65
|
+
"bmp-js": "^0.1.0",
|
|
59
66
|
"chardet": "^2.1.0",
|
|
60
67
|
"defuddle": "^0.19.1",
|
|
61
68
|
"dotenv": "^17.4.2",
|
|
62
69
|
"fflate": "^0.8.3",
|
|
63
70
|
"iconv-lite": "^0.6.3",
|
|
71
|
+
"jpeg-js": "^0.4.4",
|
|
64
72
|
"linkedom": "^0.18.13",
|
|
65
73
|
"mime": "4.0.7",
|
|
66
|
-
"
|
|
74
|
+
"omggif": "^1.0.10",
|
|
75
|
+
"pdf-parse": "^2.4.5",
|
|
76
|
+
"pngjs": "^7.0.0"
|
|
67
77
|
},
|
|
68
78
|
"devDependencies": {
|
|
79
|
+
"@types/bmp-js": "^0.1.2",
|
|
69
80
|
"@types/node": "^24.10.0",
|
|
81
|
+
"@types/omggif": "^1.0.5",
|
|
82
|
+
"@types/pngjs": "^6.0.5",
|
|
70
83
|
"esbuild": "^0.28.1",
|
|
71
84
|
"postject": "^1.0.0-alpha.6",
|
|
72
85
|
"tsx": "^4.23.1",
|
package/web/styles.css
CHANGED
|
@@ -1261,20 +1261,35 @@ a:focus-visible {
|
|
|
1261
1261
|
font-size: 10px;
|
|
1262
1262
|
}
|
|
1263
1263
|
|
|
1264
|
-
.user-input-
|
|
1265
|
-
display:
|
|
1266
|
-
|
|
1264
|
+
.user-input-actions {
|
|
1265
|
+
display: flex;
|
|
1266
|
+
justify-content: flex-end;
|
|
1267
|
+
gap: 7px;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
.user-input-submit,
|
|
1271
|
+
.user-input-skip {
|
|
1267
1272
|
padding: 8px 13px;
|
|
1268
|
-
border: 0;
|
|
1269
1273
|
border-radius: 8px;
|
|
1270
|
-
background: var(--text);
|
|
1271
|
-
color: var(--bg);
|
|
1272
1274
|
cursor: pointer;
|
|
1273
1275
|
font-size: 10px;
|
|
1274
1276
|
font-weight: 700;
|
|
1275
1277
|
}
|
|
1276
1278
|
|
|
1277
|
-
.user-input-submit
|
|
1279
|
+
.user-input-submit {
|
|
1280
|
+
border: 0;
|
|
1281
|
+
background: var(--text);
|
|
1282
|
+
color: var(--bg);
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
.user-input-skip {
|
|
1286
|
+
border: 1px solid var(--line);
|
|
1287
|
+
background: transparent;
|
|
1288
|
+
color: var(--text-soft);
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
.user-input-submit:disabled,
|
|
1292
|
+
.user-input-skip:disabled {
|
|
1278
1293
|
cursor: default;
|
|
1279
1294
|
opacity: 0.5;
|
|
1280
1295
|
}
|