@qwen-code/arena-agent 0.0.10-dev.16 → 0.0.10-dev.17
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/.env.example +5 -4
- package/CHANGELOG.md +34 -1
- package/README.md +18 -12
- package/dist/agent.js +31 -9
- package/dist/agent.js.map +1 -1
- package/dist/anthropic.js +33 -49
- package/dist/anthropic.js.map +1 -1
- package/dist/attachment-limits.d.ts +4 -0
- package/dist/attachment-limits.js +10 -0
- package/dist/attachment-limits.js.map +1 -0
- package/dist/attachments.d.ts +4 -2
- package/dist/attachments.js +9 -11
- package/dist/attachments.js.map +1 -1
- package/dist/brave-search.js +4 -3
- package/dist/brave-search.js.map +1 -1
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/compaction-threshold.d.ts +3 -0
- package/dist/compaction-threshold.js +6 -0
- package/dist/compaction-threshold.js.map +1 -0
- package/dist/compaction.d.ts +4 -3
- package/dist/compaction.js +72 -39
- package/dist/compaction.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +8 -8
- package/dist/config.js.map +1 -1
- package/dist/history.js +2 -1
- package/dist/history.js.map +1 -1
- package/dist/image-input-fallback.js +5 -0
- package/dist/image-input-fallback.js.map +1 -1
- package/dist/mode.js +1 -1
- package/dist/mode.js.map +1 -1
- package/dist/model-stream.d.ts +16 -0
- package/dist/model-stream.js +129 -0
- package/dist/model-stream.js.map +1 -0
- package/dist/openai-responses.d.ts +1 -0
- package/dist/openai-responses.js +79 -85
- package/dist/openai-responses.js.map +1 -1
- package/dist/provider.js +42 -33
- package/dist/provider.js.map +1 -1
- package/dist/server.js +16 -11
- package/dist/server.js.map +1 -1
- package/dist/session-memory-prompts.d.ts +1 -0
- package/dist/session-memory-prompts.js +2 -1
- package/dist/session-memory-prompts.js.map +1 -1
- package/dist/side-query.js +5 -0
- package/dist/side-query.js.map +1 -1
- package/dist/startup-config.js +2 -1
- package/dist/startup-config.js.map +1 -1
- package/dist/summary-compaction.js +5 -0
- package/dist/summary-compaction.js.map +1 -1
- package/dist/tui.js +3 -0
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/web/app.js +22 -5
- package/dist/web/app.js.map +1 -1
- package/docs/BINARY_DISTRIBUTION.md +36 -4
- package/docs/MODES_AND_RELEASES.md +7 -2
- package/package.json +1 -1
package/.env.example
CHANGED
|
@@ -57,7 +57,8 @@ ARENA_HARNESS_MODE=arena
|
|
|
57
57
|
# HARBOR_REMOTE_COMMAND_API_KEY=
|
|
58
58
|
|
|
59
59
|
# Trace-compatible model settings.
|
|
60
|
-
#
|
|
60
|
+
# Agent Arena defaults to 250 model steps per turn; send a follow-up to continue.
|
|
61
|
+
# ARENA_MAX_TURNS=250
|
|
61
62
|
# Code Arena compatibility alias used only when ARENA_MAX_TURNS is unset:
|
|
62
63
|
# CODE_HARNESS_MAX_STEPS=50
|
|
63
64
|
# ARENA_MAX_TOKENS=131072
|
|
@@ -95,12 +96,12 @@ ARENA_HARNESS_MODE=arena
|
|
|
95
96
|
# Agent Arena compaction: rolling (default) or summary (historical full summary).
|
|
96
97
|
# Code Arena always uses summary and ignores this setting.
|
|
97
98
|
# ARENA_COMPACTION_MODE=rolling
|
|
98
|
-
# Agent Arena: threshold
|
|
99
|
-
#
|
|
99
|
+
# Agent Arena: threshold = min(250000, context window * ratio), default ratio 0.8.
|
|
100
|
+
# Each setting can be configured independently; invalid values use its default.
|
|
100
101
|
# Code Arena keeps independent controls (default window 1000000, ratio 0.7).
|
|
101
102
|
# Compaction counts use completed-request usage plus newer messages.
|
|
102
103
|
# ARENA_CONTEXT_WINDOW=1000000
|
|
103
|
-
# ARENA_CONTEXT_COMPACTION_RATIO=0.
|
|
104
|
+
# ARENA_CONTEXT_COMPACTION_RATIO=0.8
|
|
104
105
|
# Restore Agent Arena background memory by default; set false to disable.
|
|
105
106
|
# CLI overrides: --restore-session-memory / --no-restore-session-memory.
|
|
106
107
|
# ARENA_RESTORE_SESSION_MEMORY=true
|
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,37 @@
|
|
|
12
12
|
|
|
13
13
|
## [Unreleased]
|
|
14
14
|
|
|
15
|
+
## [0.0.10-dev.17] - 2026-11-09
|
|
16
|
+
|
|
17
|
+
### Agent Arena
|
|
18
|
+
|
|
19
|
+
- 压缩阈值对齐为上下文窗口的 80% 与 250,000 tokens 中的较小值,单独设置 `ARENA_CONTEXT_WINDOW` 即可适配小窗口模型;尚无可用记忆时继续运行。
|
|
20
|
+
- 每轮默认最多 250 个模型步骤,`ARENA_MAX_TURNS` 可覆盖;达到上限保存进度,发送消息即可继续。
|
|
21
|
+
- 对齐 `web_search` 各深度的搜索预算,普通附件单文件上限调整为 25 MB,PDF 为 10 MB,每条消息合计仍为 50 MB。
|
|
22
|
+
- 对齐会话记忆更新请求,修复长工具循环中更新被拒绝,并保留恢复记忆和图片上下文。
|
|
23
|
+
|
|
24
|
+
### 通用
|
|
25
|
+
|
|
26
|
+
- Responses、Chat Completions 和 Anthropic Messages 的断流、空回复及临时错误按配置重试,不再将不完整回复误报为成功或执行未完成的工具调用。
|
|
27
|
+
- 摘要压缩、图片转文字及指标侧查询拒绝未完成的模型内容,兼容更多网关限流错误,并保留 Chat Completions 的明确拒答。
|
|
28
|
+
|
|
29
|
+
## [0.0.10-test.0] - 2026-11-09
|
|
30
|
+
|
|
31
|
+
### Agent Arena
|
|
32
|
+
|
|
33
|
+
- 压缩阈值对齐为上下文窗口的 80% 与 250,000 tokens 中的较小值,单独设置 `ARENA_CONTEXT_WINDOW` 即可适配小窗口模型。
|
|
34
|
+
- 达到压缩阈值但尚无可用记忆时继续运行,不再强制生成或等待记忆。
|
|
35
|
+
- 每轮默认最多 250 个模型步骤,`ARENA_MAX_TURNS` 可覆盖;达到上限保存进度,发送消息即可继续。
|
|
36
|
+
- `web_search` 各深度的候选数量、正文和片段预算对齐官方文档。
|
|
37
|
+
- 普通附件单文件上限调整为 25 MB,PDF 为 10 MB,每条消息合计仍为 50 MB。
|
|
38
|
+
- 按官方请求补齐会话记忆更新前缀及用户消息合并,修复长工具循环中更新被拒绝,并保留恢复记忆和图片上下文。
|
|
39
|
+
|
|
40
|
+
### 通用
|
|
41
|
+
|
|
42
|
+
- Responses、Chat Completions 和 Anthropic Messages 的断流、空回复及临时错误按配置重试,不再将不完整回复误报为成功或执行未完成的工具调用。
|
|
43
|
+
- 摘要压缩、图片转文字及指标侧查询不再接受模型明确标记为未完成的内容。
|
|
44
|
+
- 兼容更多网关限流错误并避免重试明确的鉴权失败,保留 Chat Completions 的明确拒答,拦截 Responses 中前后冲突的工具调用。
|
|
45
|
+
|
|
15
46
|
## [0.0.10-dev.16] - 2026-11-04
|
|
16
47
|
|
|
17
48
|
### Agent Arena
|
|
@@ -300,7 +331,9 @@
|
|
|
300
331
|
- `bash` 用于一次性命令,区分超时与信号终止,并清理遗留后台进程;需要持续运行
|
|
301
332
|
的任务改用进程工具。预览端口支持 E2B Host 探测及按需返回告警。
|
|
302
333
|
|
|
303
|
-
[Unreleased]: https://code.alibaba-inc.com/know-how/arena-harness/compare?from=v0.0.10-dev.
|
|
334
|
+
[Unreleased]: https://code.alibaba-inc.com/know-how/arena-harness/compare?from=v0.0.10-dev.17&to=master&mergeBase=true
|
|
335
|
+
[0.0.10-dev.17]: https://code.alibaba-inc.com/know-how/arena-harness/compare?from=v0.0.10-test.0&to=v0.0.10-dev.17&mergeBase=true
|
|
336
|
+
[0.0.10-test.0]: https://code.alibaba-inc.com/know-how/arena-harness/compare?from=v0.0.10-dev.16&to=v0.0.10-test.0&mergeBase=true
|
|
304
337
|
[0.0.10-dev.16]: https://code.alibaba-inc.com/know-how/arena-harness/compare?from=v0.0.10-dev.15&to=v0.0.10-dev.16&mergeBase=true
|
|
305
338
|
[0.0.10-dev.15]: https://code.alibaba-inc.com/know-how/arena-harness/compare?from=v0.0.10-dev.14&to=v0.0.10-dev.15&mergeBase=true
|
|
306
339
|
[0.0.10-dev.14]: https://code.alibaba-inc.com/know-how/arena-harness/compare?from=v0.0.10-dev.13&to=v0.0.10-dev.14&mergeBase=true
|
package/README.md
CHANGED
|
@@ -392,7 +392,7 @@ OpenAI-compatible 服务发送同一份历史时,`reasoning_details` 与 `usag
|
|
|
392
392
|
OPENAI_MODEL=qwen3.7-max
|
|
393
393
|
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
|
|
394
394
|
OPENAI_API_KEY=sk-...
|
|
395
|
-
ARENA_MAX_TURNS=
|
|
395
|
+
ARENA_MAX_TURNS=250
|
|
396
396
|
ARENA_MAX_TOKENS=131072
|
|
397
397
|
ARENA_TEMPERATURE=1
|
|
398
398
|
ARENA_TOOL_CHOICE=auto
|
|
@@ -400,7 +400,7 @@ ARENA_ENABLE_THINKING=true
|
|
|
400
400
|
ARENA_THINKING_BUDGET=81920
|
|
401
401
|
ARENA_PRESERVE_THINKING=true
|
|
402
402
|
ARENA_CONTEXT_WINDOW=1000000
|
|
403
|
-
ARENA_CONTEXT_COMPACTION_RATIO=0.
|
|
403
|
+
ARENA_CONTEXT_COMPACTION_RATIO=0.8
|
|
404
404
|
ARENA_COMPACTION_SUMMARY_MAX_TOKENS=131072
|
|
405
405
|
```
|
|
406
406
|
|
|
@@ -507,7 +507,7 @@ ARENA_COMPACTION_MODE=summary arena -p "继续任务" --session-id demo
|
|
|
507
507
|
摘要按 `Goal`、`Instructions`、`Discoveries`、`Accomplished` 等章节生成,使用
|
|
508
508
|
主模型、temperature=0、关闭 thinking,默认输出上限为 8192。
|
|
509
509
|
`ARENA_COMPACTION_SUMMARY_MAX_TOKENS` 可覆盖上限;`rolling` 的默认上限仍为 131072。
|
|
510
|
-
两种模式默认阈值均为
|
|
510
|
+
两种模式默认阈值均为 `min(250000, 0.8 × context window)`;窗口和比例可独立配置。
|
|
511
511
|
两种模式及 Code Arena 都优先使用最近一次主请求的服务端 usage,仅估算此后新增的内容。
|
|
512
512
|
大段文本取字符估算与带 10% 余量的 `o200k_base` 分词估算的较大值,减少 SVG 等
|
|
513
513
|
密集文本的低估;本地分词不保证与所选模型完全一致。长用户回合没有更早回合可归档,
|
|
@@ -537,14 +537,17 @@ total 缺失时尝试 input/output 相加;只有 input 时,连同该 assista
|
|
|
537
537
|
保留参数、结果正文及图片计数;实际历史与请求中的 ID 和签名保持完整。
|
|
538
538
|
更新完成只刷新缓存,主模型继续使用原上下文。
|
|
539
539
|
|
|
540
|
-
整体上下文达到压缩阈值时才回注最新记忆。Agent Arena
|
|
541
|
-
|
|
542
|
-
|
|
540
|
+
整体上下文达到压缩阈值时才回注最新记忆。Agent Arena 使用
|
|
541
|
+
`min(250000, ARENA_CONTEXT_WINDOW × ARENA_CONTEXT_COMPACTION_RATIO)`,
|
|
542
|
+
默认窗口为 1,000,000、比例为 0.8;两项可独立配置,无效值各自回退默认值。
|
|
543
|
+
例如 200,000 窗口在 160,000 tokens 触发,128,000 窗口在 102,400 tokens 触发;
|
|
544
|
+
大窗口的阈值最高为 250,000。SDK 显式设置 `compactionThresholdTokens` 可覆盖该阈值。
|
|
543
545
|
计数优先采用最近一次主模型请求返回的 `total_tokens`,并只对
|
|
544
546
|
该 assistant 之后追加的 tool 和 user 消息做本地增量估算;缺少 `total_tokens` 时,
|
|
545
547
|
先尝试由 input/output usage 相加得到,若 output usage 也缺失则回退到 input usage
|
|
546
548
|
加 assistant 及后续消息的本地估算。没有可靠 usage 锚点时回退到全量本地估算。
|
|
547
|
-
|
|
549
|
+
达到阈值时若没有可用记忆,则继续使用原上下文,不因阈值额外发起或等待更新。
|
|
550
|
+
后续检查发现后台记忆已就绪时,再替换已覆盖的历史前缀;生成期间新增的消息保留原样。
|
|
548
551
|
Code Arena 仍使用窗口与比例相乘的阈值,压缩比例默认是 70%。
|
|
549
552
|
每个会话只运行一个更新任务,失败保留原上下文,源内容推进后允许重试。
|
|
550
553
|
Agent Arena 使用捕获的 session-memory 协议:只输出变化章节并合并,保留未输出章节,
|
|
@@ -633,9 +636,10 @@ load`、`Provisioned Throughput` 容量错误会重试。容量错误最多重
|
|
|
633
636
|
模型输入,并沿用 full-jitter 指数退避。上下文超限、参数、鉴权、媒体和安全错误
|
|
634
637
|
等永久错误不会因正文中出现 `error` 一词而重试。
|
|
635
638
|
|
|
636
|
-
Agent
|
|
637
|
-
|
|
638
|
-
|
|
639
|
+
Agent Arena 每轮默认最多 250 个模型 step,`ARENA_MAX_TURNS` 可覆盖上限。
|
|
640
|
+
达到上限返回 `paused` / `step_limit`,保存已完成的 assistant/tool step;用户发送
|
|
641
|
+
下一条消息即可继续,并获得新一轮步数预算。Code Arena 保留各模式原有上限和错误行为。
|
|
642
|
+
整轮没有内建墙钟时长上限,会持续到模型正常结束、请求用户输入、发生不可恢复错误、达到
|
|
639
643
|
step 上限,或用户主动取消。工具自身仍可定义单次调用的超时。headless 与 daemon
|
|
640
644
|
中的每个完整 assistant/tool step 都会同步追加到 `history.json.journal.jsonl`;turn
|
|
641
645
|
正常结束时再原子物化兼容的 `history.json` 并删除 journal。进程被外部终止时,加载器
|
|
@@ -759,7 +763,8 @@ arena -p 'redraw this photo with the reference face' \
|
|
|
759
763
|
网络图片使用统一的会话部件格式:图片部件
|
|
760
764
|
`{"image": ...}` 在前,随后是 prompt 文本 `{"text": ...}`,最后追加一条
|
|
761
765
|
`<arena-system-message>`,列出保存到 `/home/user/uploads/` 的文件名。单条
|
|
762
|
-
消息最多 10
|
|
766
|
+
消息最多 10 个附件;Agent Arena 普通附件上限 25 MB、PDF 上限 10 MB,Code Arena
|
|
767
|
+
单文件上限仍为 20 MB。总量上限为 50 MB,与 daemon 一致(按 1 MB = 1024² bytes 计)。
|
|
763
768
|
|
|
764
769
|
多模态 user 消息(附件、图片 `read_file` 回灌、中断通知)在历史与事件流中
|
|
765
770
|
一律使用 `{"image": ...}` / `{"text": ...}` 原生部件并保持字段格式一致;仅在
|
|
@@ -1022,7 +1027,8 @@ message。未提供位置时,prompt 会明确标记位置不可用,不会使
|
|
|
1022
1027
|
附件采用两阶段提交。客户端先将每个文件作为原始请求体上传到 `uploads`
|
|
1023
1028
|
接口,并通过 URI 编码的 `x-file-name` header 传递文件名;再把返回的
|
|
1024
1029
|
`attachment.path` 作为 `{ "type": "file", "path": "uploads/..." }`
|
|
1025
|
-
part
|
|
1030
|
+
part 放入实时消息。Agent Arena 普通文件最大 25 MB、PDF 最大 10 MB;Code Arena
|
|
1031
|
+
每个文件最大 20 MB。每条消息最多 10 个文件、合计
|
|
1026
1032
|
50 MB。服务端会把文件写入该 session 工作区的 `uploads/` 目录,
|
|
1027
1033
|
并在 user message 最后追加 `arena-system-message` 附件清单。
|
|
1028
1034
|
上传的图片由模型按需调用 `read_file` 查看。附件引用只能指向本 session 的
|
package/dist/agent.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { agentArenaCompactionThreshold } from "./compaction-threshold.js";
|
|
3
4
|
import { setTimeout as delay } from "node:timers/promises";
|
|
4
5
|
import { supportsModelInput, } from "./config.js";
|
|
5
6
|
import { compactMessagesIfNeeded, maintainSessionMemory, contextFromHistory, sessionMemoryMatchesHistory, settleSessionMemory, storedSessionMemory } from "./compaction.js";
|
|
@@ -7,12 +8,13 @@ import { ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE } from "./anthropic.js";
|
|
|
7
8
|
import { rememberRestoredCalls, restoredArenaHistory } from "./arena-history.js";
|
|
8
9
|
import { modelCallLogPath, withoutLeadingSystemMessage } from "./history.js";
|
|
9
10
|
import { MockModelClient } from "./mock.js";
|
|
11
|
+
import { CAPACITY_MODEL_ERROR, INCOMPLETE_MODEL_RESPONSE, TRANSIENT_MODEL_ERROR, incompleteModelResponse } from "./model-stream.js";
|
|
10
12
|
import { contentPartMediaTypes, JsonlModelCallDiagnostics, } from "./model-diagnostics.js";
|
|
11
|
-
import {
|
|
13
|
+
import { RESPONSES_INCOMPLETE_STREAM_ERROR_CODE } from "./openai-responses.js";
|
|
12
14
|
import { HttpModelClient, ModelCapabilityError } from "./provider.js";
|
|
13
15
|
import { RepetitiveOutputDetector } from "./repetitive-output.js";
|
|
14
16
|
import { detectRepoContext } from "./repo.js";
|
|
15
|
-
import { isCodeArenaMode } from "./mode.js";
|
|
17
|
+
import { defaultStepLimit, isCodeArenaMode } from "./mode.js";
|
|
16
18
|
import { defaultClientContext, interruptedUserMessage, repoSystemMessage, systemMessage, } from "./spec.js";
|
|
17
19
|
import { imageInputFallbackConnection, ToolExecutor, } from "./tools.js";
|
|
18
20
|
import { initializeWorkspace } from "./workspace.js";
|
|
@@ -134,8 +136,11 @@ const retryableStreamCodes = new Set([
|
|
|
134
136
|
"UND_ERR_BODY_TIMEOUT",
|
|
135
137
|
"ARENA_STREAM_IDLE_TIMEOUT",
|
|
136
138
|
ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
CAPACITY_MODEL_ERROR,
|
|
140
|
+
TRANSIENT_MODEL_ERROR,
|
|
141
|
+
RESPONSES_INCOMPLETE_STREAM_ERROR_CODE,
|
|
142
|
+
"ARENA_EMPTY_MODEL_RESPONSE",
|
|
143
|
+
INCOMPLETE_MODEL_RESPONSE,
|
|
139
144
|
]);
|
|
140
145
|
const capacityErrorMaxRetries = 5;
|
|
141
146
|
function describeError(error) {
|
|
@@ -155,7 +160,7 @@ function isRetryableStreamError(error) {
|
|
|
155
160
|
return code !== undefined && retryableStreamCodes.has(code);
|
|
156
161
|
}
|
|
157
162
|
function streamRetryLimit(error, configuredLimit) {
|
|
158
|
-
return errorCode(error) ===
|
|
163
|
+
return errorCode(error) === CAPACITY_MODEL_ERROR
|
|
159
164
|
? Math.min(configuredLimit, capacityErrorMaxRetries)
|
|
160
165
|
: configuredLimit;
|
|
161
166
|
}
|
|
@@ -537,9 +542,12 @@ export class Agent {
|
|
|
537
542
|
await this.checkpoint(trajectory);
|
|
538
543
|
const maxTurns = this.config.maxTurns
|
|
539
544
|
? Math.max(1, Math.floor(this.config.maxTurns))
|
|
540
|
-
: undefined;
|
|
545
|
+
: isCodeArenaMode(this.config.mode) ? undefined : defaultStepLimit("arena");
|
|
541
546
|
for (let step = 1;; step += 1) {
|
|
542
547
|
if (maxTurns !== undefined && step > maxTurns) {
|
|
548
|
+
if (!isCodeArenaMode(this.config.mode)) {
|
|
549
|
+
return await this.pause(trajectory, "step_limit");
|
|
550
|
+
}
|
|
543
551
|
throw new Error(`agent reached max_turns limit (${maxTurns})`);
|
|
544
552
|
}
|
|
545
553
|
if (this.options.signal?.aborted) {
|
|
@@ -584,6 +592,11 @@ export class Agent {
|
|
|
584
592
|
throw new Error("Model response was truncated (finish_reason=length). " +
|
|
585
593
|
"The turn did not complete; any partial output has been preserved.");
|
|
586
594
|
}
|
|
595
|
+
if (finishReason === "incomplete" || finishReason === "content_filter") {
|
|
596
|
+
await recordMessage(assistant);
|
|
597
|
+
throw new Error(`Model response was incomplete (finish_reason=${finishReason}). ` +
|
|
598
|
+
"The turn did not complete; any partial output has been preserved.");
|
|
599
|
+
}
|
|
587
600
|
if (assistant.tool_calls?.length &&
|
|
588
601
|
this.options.midturnCheckpointHook) {
|
|
589
602
|
const event = {
|
|
@@ -708,7 +721,7 @@ export class Agent {
|
|
|
708
721
|
async pause(messages, reason) {
|
|
709
722
|
this.options.signal?.throwIfAborted();
|
|
710
723
|
await settleSessionMemory(this.memoryCache, reason !== "single_step");
|
|
711
|
-
if (reason === "single_step")
|
|
724
|
+
if (reason === "single_step" || reason === "step_limit")
|
|
712
725
|
await this.checkpoint(messages);
|
|
713
726
|
await this.options.onPause?.(messages, this.tools.availableTools());
|
|
714
727
|
this.options.signal?.throwIfAborted();
|
|
@@ -723,7 +736,7 @@ export class Agent {
|
|
|
723
736
|
summaryMaxTokens: this.config.compactionSummaryMaxTokens,
|
|
724
737
|
reasoningEffort: this.config.reasoningEffort,
|
|
725
738
|
compactionThresholdTokens: isCodeArenaMode(this.config.mode) ? undefined
|
|
726
|
-
: this.options.compactionThresholdTokens ?? this.config.compactionThresholdTokens,
|
|
739
|
+
: agentArenaCompactionThreshold(this.config.contextWindow, this.config.contextCompactionRatio, this.options.compactionThresholdTokens ?? this.config.compactionThresholdTokens),
|
|
727
740
|
legacy: isCodeArenaMode(this.config.mode) || this.config.compactionMode === "summary",
|
|
728
741
|
onBeforeCompaction: !isCodeArenaMode(this.config.mode) && this.options.midturnCheckpointHook
|
|
729
742
|
? async (estimatedTokensBefore, thresholdTokens) => {
|
|
@@ -959,6 +972,15 @@ export class Agent {
|
|
|
959
972
|
});
|
|
960
973
|
}
|
|
961
974
|
}
|
|
975
|
+
if (finishReason === "tool_calls" && !calls.size) {
|
|
976
|
+
throw incompleteModelResponse("Model stopped for tool calls but returned no tool calls");
|
|
977
|
+
}
|
|
978
|
+
if (finishReason !== "length" && finishReason !== "incomplete" && finishReason !== "content_filter" &&
|
|
979
|
+
!calls.size && !contentParts.join("").trim()) {
|
|
980
|
+
throw Object.assign(new Error("Model returned an empty response without tool calls"), {
|
|
981
|
+
code: "ARENA_EMPTY_MODEL_RESPONSE",
|
|
982
|
+
});
|
|
983
|
+
}
|
|
962
984
|
}
|
|
963
985
|
catch (error) {
|
|
964
986
|
// Iterator cleanup may itself report the intentional transport abort.
|
|
@@ -990,7 +1012,7 @@ export class Agent {
|
|
|
990
1012
|
const openaiResponseItems = [...responseItems.entries()]
|
|
991
1013
|
.sort(([left], [right]) => left - right)
|
|
992
1014
|
.map(([, item]) => item);
|
|
993
|
-
const partial = content || reasoningContent || openaiResponseItems.length
|
|
1015
|
+
const partial = content || reasoningContent || openaiResponseItems.length || usage
|
|
994
1016
|
? {
|
|
995
1017
|
role: "assistant",
|
|
996
1018
|
content,
|
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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"}
|
package/dist/anthropic.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { modelSseEvents, upstreamModelError } from "./model-stream.js";
|
|
1
2
|
// Omitting ttl selects Anthropic's standard five-minute cache duration.
|
|
2
3
|
const defaultCacheControl = { type: "ephemeral" };
|
|
3
4
|
const dataUriPattern = /^data:([^;,]+);base64,(.+)$/s;
|
|
@@ -205,32 +206,19 @@ export function anthropicRequestBody(request, model, includeToolStrict = false)
|
|
|
205
206
|
}
|
|
206
207
|
return body;
|
|
207
208
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
while (boundary !== -1) {
|
|
222
|
-
const payload = framePayload(buffer.slice(0, boundary));
|
|
223
|
-
buffer = buffer.slice(boundary + 2);
|
|
224
|
-
if (payload)
|
|
225
|
-
yield JSON.parse(payload);
|
|
226
|
-
boundary = buffer.indexOf("\n\n");
|
|
227
|
-
}
|
|
228
|
-
if (done)
|
|
229
|
-
break;
|
|
230
|
-
}
|
|
231
|
-
const payload = framePayload(buffer);
|
|
232
|
-
if (payload)
|
|
233
|
-
yield JSON.parse(payload);
|
|
209
|
+
function incompleteAnthropicResponse(message) {
|
|
210
|
+
return Object.assign(new Error(message), { code: ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE });
|
|
211
|
+
}
|
|
212
|
+
function anthropicFinishReason(value) {
|
|
213
|
+
if (typeof value !== "string" || !value)
|
|
214
|
+
throw incompleteAnthropicResponse("Anthropic response is missing stop_reason");
|
|
215
|
+
if (value === "max_tokens" || value === "model_context_window_exceeded")
|
|
216
|
+
return "length";
|
|
217
|
+
if (value === "tool_use")
|
|
218
|
+
return "tool_calls";
|
|
219
|
+
if (["end_turn", "stop_sequence", "refusal"].includes(value))
|
|
220
|
+
return "stop";
|
|
221
|
+
return "incomplete";
|
|
234
222
|
}
|
|
235
223
|
function record(value) {
|
|
236
224
|
return value && typeof value === "object"
|
|
@@ -259,7 +247,7 @@ function anthropicUsage(totals) {
|
|
|
259
247
|
}
|
|
260
248
|
export async function* anthropicChunks(stream) {
|
|
261
249
|
let sawMessageStop = false;
|
|
262
|
-
let
|
|
250
|
+
let stopReason;
|
|
263
251
|
let nextToolIndex = 0;
|
|
264
252
|
const toolIndexByBlock = new Map();
|
|
265
253
|
const initialToolArgumentsByBlock = new Map();
|
|
@@ -269,12 +257,12 @@ export async function* anthropicChunks(stream) {
|
|
|
269
257
|
const thinkingSignature = new Map();
|
|
270
258
|
const reasoningDetails = [];
|
|
271
259
|
const totals = { outputTokens: 0, cacheCreation: 0, cacheRead: 0 };
|
|
272
|
-
for await (const event of
|
|
260
|
+
for await (const event of modelSseEvents(stream, incompleteAnthropicResponse)) {
|
|
261
|
+
if (event === "[DONE]")
|
|
262
|
+
break;
|
|
273
263
|
const type = String(event.type || "");
|
|
274
|
-
if (type === "error")
|
|
275
|
-
|
|
276
|
-
throw new Error(`Anthropic stream error: ${String(detail.message || JSON.stringify(detail))}`);
|
|
277
|
-
}
|
|
264
|
+
if (type === "error" || event.error)
|
|
265
|
+
throw upstreamModelError(event, "Anthropic stream");
|
|
278
266
|
if (type === "message_start") {
|
|
279
267
|
const usage = record(record(event.message).usage);
|
|
280
268
|
if (typeof usage.input_tokens === "number") {
|
|
@@ -412,8 +400,8 @@ export async function* anthropicChunks(stream) {
|
|
|
412
400
|
toolBlocksWithArgumentContent.delete(index);
|
|
413
401
|
}
|
|
414
402
|
else if (type === "message_delta") {
|
|
415
|
-
if (record(event.delta).stop_reason
|
|
416
|
-
|
|
403
|
+
if (record(event.delta).stop_reason != null)
|
|
404
|
+
stopReason = record(event.delta).stop_reason;
|
|
417
405
|
const usage = record(event.usage);
|
|
418
406
|
if (typeof usage.output_tokens === "number") {
|
|
419
407
|
totals.outputTokens = usage.output_tokens;
|
|
@@ -436,6 +424,7 @@ export async function* anthropicChunks(stream) {
|
|
|
436
424
|
}
|
|
437
425
|
else if (type === "message_stop") {
|
|
438
426
|
sawMessageStop = true;
|
|
427
|
+
break;
|
|
439
428
|
}
|
|
440
429
|
// ping carries nothing the accumulator needs.
|
|
441
430
|
}
|
|
@@ -443,26 +432,21 @@ export async function* anthropicChunks(stream) {
|
|
|
443
432
|
const openBlocks = [...blockTypes.entries()]
|
|
444
433
|
.map(([index, kind]) => `${index}:${kind}`)
|
|
445
434
|
.join(", ");
|
|
446
|
-
|
|
435
|
+
throw incompleteAnthropicResponse(!sawMessageStop
|
|
447
436
|
? "Anthropic stream ended before message_stop"
|
|
448
437
|
: `Anthropic stream ended with open content blocks: ${openBlocks}`);
|
|
449
|
-
error.code =
|
|
450
|
-
ANTHROPIC_INCOMPLETE_STREAM_ERROR_CODE;
|
|
451
|
-
throw error;
|
|
452
438
|
}
|
|
453
439
|
const usage = anthropicUsage(totals);
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
final.usage = usage;
|
|
460
|
-
if (reasoningDetails.length)
|
|
461
|
-
final.reasoning_details = reasoningDetails;
|
|
462
|
-
yield final;
|
|
463
|
-
}
|
|
440
|
+
yield {
|
|
441
|
+
choices: [{ delta: {}, finish_reason: anthropicFinishReason(stopReason) }],
|
|
442
|
+
...(usage ? { usage } : {}),
|
|
443
|
+
...(reasoningDetails.length ? { reasoning_details: reasoningDetails } : {}),
|
|
444
|
+
};
|
|
464
445
|
}
|
|
465
446
|
export function anthropicFallbackChunk(value) {
|
|
447
|
+
if (value.type === "error" || value.error)
|
|
448
|
+
throw upstreamModelError(value, "Anthropic");
|
|
449
|
+
const finishReason = anthropicFinishReason(value.stop_reason);
|
|
466
450
|
const blocks = (Array.isArray(value.content) ? value.content : []);
|
|
467
451
|
const textParts = [];
|
|
468
452
|
const reasoningParts = [];
|
|
@@ -505,7 +489,7 @@ export function anthropicFallbackChunk(value) {
|
|
|
505
489
|
const chunk = {
|
|
506
490
|
choices: [
|
|
507
491
|
{
|
|
508
|
-
|
|
492
|
+
finish_reason: finishReason,
|
|
509
493
|
delta: {
|
|
510
494
|
content: textParts.join(""),
|
|
511
495
|
...(reasoningParts.length
|