@qwen-code/arena-agent 0.0.10-dev.14 → 0.0.10-dev.15

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 (40) hide show
  1. package/.env.example +7 -3
  2. package/CHANGELOG.md +14 -1
  3. package/README.md +64 -5
  4. package/dist/agent.d.ts +3 -1
  5. package/dist/agent.js +3 -1
  6. package/dist/agent.js.map +1 -1
  7. package/dist/cli.js +72 -12
  8. package/dist/cli.js.map +1 -1
  9. package/dist/code-arena-output.d.ts +15 -0
  10. package/dist/code-arena-output.js +41 -0
  11. package/dist/code-arena-output.js.map +1 -0
  12. package/dist/code-cli.js +0 -0
  13. package/dist/compaction.d.ts +2 -0
  14. package/dist/compaction.js +48 -8
  15. package/dist/compaction.js.map +1 -1
  16. package/dist/config.d.ts +1 -1
  17. package/dist/config.js +1 -3
  18. package/dist/config.js.map +1 -1
  19. package/dist/legacy-compaction.d.ts +20 -0
  20. package/dist/legacy-compaction.js +209 -0
  21. package/dist/legacy-compaction.js.map +1 -0
  22. package/dist/provider.d.ts +18 -0
  23. package/dist/provider.js +52 -16
  24. package/dist/provider.js.map +1 -1
  25. package/dist/startup-config.d.ts +39 -0
  26. package/dist/startup-config.js +346 -0
  27. package/dist/startup-config.js.map +1 -0
  28. package/dist/startup-main-config.d.ts +62 -0
  29. package/dist/startup-main-config.js +93 -0
  30. package/dist/startup-main-config.js.map +1 -0
  31. package/dist/startup-tool-config.d.ts +8 -0
  32. package/dist/startup-tool-config.js +106 -0
  33. package/dist/startup-tool-config.js.map +1 -0
  34. package/dist/summary-compaction.d.ts +2 -0
  35. package/dist/summary-compaction.js +17 -3
  36. package/dist/summary-compaction.js.map +1 -1
  37. package/dist/web/app.d.ts +1 -0
  38. package/docs/BINARY_DISTRIBUTION.md +43 -8
  39. package/docs/MODES_AND_RELEASES.md +23 -5
  40. package/package.json +1 -1
@@ -0,0 +1,106 @@
1
+ import { tmpdir } from "node:os";
2
+ import path from "node:path";
3
+ function positiveInteger(value, fallback) {
4
+ if (!value)
5
+ return fallback;
6
+ const parsed = Number(value);
7
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback;
8
+ }
9
+ /**
10
+ * Settings read lazily by tools rather than configFromEnv. Match each tool's
11
+ * parsing rules without importing its executor or triggering tool work.
12
+ * Null means unset or unused by this headless entry point / harness mode.
13
+ * Endpoint defaults describe available services, not requests already made.
14
+ */
15
+ export function startupToolConfig(mode, env, hostEnv) {
16
+ const arena = mode === "arena";
17
+ const code = !arena;
18
+ const codeImage = code && mode !== "html";
19
+ const mediaGeneration = arena || codeImage;
20
+ const fullStack = mode === "full-stack";
21
+ const configuredMediaRetries = Number(env.ROUTIFY_MEDIA_MAX_RETRIES || env.CODE_HARNESS_TOOL_MAX_RETRIES || 5);
22
+ const mediaRetries = Number.isSafeInteger(configuredMediaRetries) && configuredMediaRetries >= 0
23
+ ? configuredMediaRetries : 5;
24
+ const configuredCacheTtl = Number(env.CODE_HARNESS_MEDIA_CACHE_TTL_MS);
25
+ const cacheTtl = Number.isFinite(configuredCacheTtl) && configuredCacheTtl >= 0
26
+ ? configuredCacheTtl : 24 * 60 * 60 * 1000;
27
+ const webFetchBytesText = env.CODE_HARNESS_WEB_FETCH_MAX_BYTES?.trim() || "";
28
+ const parsedWebFetchBytes = /^\d+$/.test(webFetchBytesText) ? Number(webFetchBytesText) : NaN;
29
+ const webFetchBytes = Number.isSafeInteger(parsedWebFetchBytes) && parsedWebFetchBytes > 0
30
+ ? parsedWebFetchBytes : 40_000;
31
+ const configuredBashTimeout = Number(env.CODE_HARNESS_BASH_TIMEOUT_SECONDS || 180);
32
+ const bashTimeout = Number.isFinite(configuredBashTimeout) && configuredBashTimeout > 0
33
+ ? configuredBashTimeout : 180;
34
+ const previewPort = positiveInteger(env.CODE_HARNESS_PREVIEW_PORT, 3000);
35
+ const sandboxId = env.E2B_SANDBOX_ID?.trim() || null;
36
+ const previewHostTemplate = env.ARENA_PREVIEW_HOST_TEMPLATE?.trim()
37
+ || (sandboxId ? `{port}-${sandboxId}.e2b.app` : null);
38
+ const checkpointHook = hostEnv.ARENA_MIDTURN_CHECKPOINT_HOOK?.trim();
39
+ return {
40
+ ARENA_CONFIG_LOGGING: !["0", "false", "no"].includes((env.ARENA_CONFIG_LOGGING ?? "").toLowerCase()),
41
+ // CLI naming and checkpoint configuration are captured before workspace .env.
42
+ ARENA_CLI_NAME: hostEnv.ARENA_CLI_NAME === "code-harness" ? "code-harness" : "arena",
43
+ ARENA_MIDTURN_CHECKPOINT_HOOK: checkpointHook ? path.resolve(checkpointHook) : null,
44
+ HARBOR_REMOTE_COMMAND_BASE_URL: hostEnv.HARBOR_REMOTE_COMMAND_BASE_URL?.trim().replace(/\/+$/, "") || null,
45
+ HARBOR_REMOTE_COMMAND_API_KEY: hostEnv.HARBOR_REMOTE_COMMAND_API_KEY?.trim() || null,
46
+ ARENA_SESSION_WORKSPACE_MODE: null,
47
+ NO_COLOR: null,
48
+ ARENA_WEB_SEARCH_MODEL: arena ? env.ARENA_WEB_SEARCH_MODEL || "brave.llm-context" : null,
49
+ CODE_HARNESS_WEB_SEARCH_MODEL: code
50
+ ? env.CODE_HARNESS_WEB_SEARCH_MODEL || env.ARENA_WEB_SEARCH_MODEL || "brave.llm-context" : null,
51
+ ROUTIFY_API_KEY: env.ROUTIFY_API_KEY || null,
52
+ ROUTIFY_WEB_SEARCH_URL: env.ROUTIFY_WEB_SEARCH_URL?.trim()
53
+ || "https://routify-pub.alibaba-inc.com/protocol/compatible-mode/res/v1/llm/context",
54
+ ROUTIFY_IMAGE_SEARCH_URL: arena
55
+ ? env.ROUTIFY_IMAGE_SEARCH_URL?.trim()
56
+ || "https://routify-pub.alibaba-inc.com/protocol/brave/res/v1/images/search" : null,
57
+ CODE_HARNESS_ROUTIFY_WEB_FETCH_ENABLED: code
58
+ ? ["1", "true", "yes", "on"].includes(env.CODE_HARNESS_ROUTIFY_WEB_FETCH_ENABLED?.trim().toLowerCase() || "") : null,
59
+ CODE_HARNESS_WEB_FETCH_MAX_BYTES: code ? webFetchBytes : null,
60
+ ARENA_IMAGE_MODEL: arena ? env.ARENA_IMAGE_MODEL || "gemini-3.1-flash-image" : null,
61
+ ARENA_IMAGE_SIZE: arena ? env.ARENA_IMAGE_SIZE || "1024*1024" : null,
62
+ CODE_HARNESS_IMAGE_MODEL: codeImage
63
+ ? env.CODE_HARNESS_IMAGE_MODEL || env.ARENA_IMAGE_MODEL || "gpt-image-2.5-sunburst" : null,
64
+ CODE_HARNESS_IMAGE_SIZE: codeImage
65
+ ? env.CODE_HARNESS_IMAGE_SIZE || env.ARENA_IMAGE_SIZE || "1024*1024" : null,
66
+ // Remote input attachments use these limits in every mode.
67
+ ARENA_IMAGE_MAX_EDGE: positiveInteger(env.ARENA_IMAGE_MAX_EDGE, 1568),
68
+ ARENA_IMAGE_MAX_PATCHES: positiveInteger(env.ARENA_IMAGE_MAX_PATCHES, 1568),
69
+ ARENA_SPEECH_MODEL: arena ? env.ARENA_SPEECH_MODEL || "gemini-3.1-flash-tts-preview" : null,
70
+ // The default voice depends on the voice selected by each tool call.
71
+ ARENA_SPEECH_VOICE: arena ? env.ARENA_SPEECH_VOICE || null : null,
72
+ ROUTIFY_VERTEX_BASE_URL: mediaGeneration
73
+ ? (env.ROUTIFY_VERTEX_BASE_URL || "https://routify-pub.alibaba-inc.com/protocol/vertex/v1beta").replace(/\/+$/, "") : null,
74
+ ROUTIFY_OPENAI_BASE_URL: mediaGeneration
75
+ ? (env.ROUTIFY_OPENAI_BASE_URL || "https://routify-pub.alibaba-inc.com/protocol/openai/v1").replace(/\/+$/, "") : null,
76
+ ROUTIFY_MEDIA_MAX_RETRIES: mediaGeneration ? mediaRetries : null,
77
+ PEXELS_API_KEY: code ? env.PEXELS_API_KEY || null : null,
78
+ CODE_HARNESS_MEDIA_CACHE_TTL_MS: code ? cacheTtl : null,
79
+ CODE_HARNESS_MEDIA_CACHE_DIR: code
80
+ ? env.CODE_HARNESS_MEDIA_CACHE_DIR || path.join(tmpdir(), "code-harness", "fetch-media-cache-v1") : null,
81
+ ARENA_SOFFICE_PATH: arena ? env.ARENA_SOFFICE_PATH || "soffice" : null,
82
+ // The actual privilege gate also checks platform, workspace, Docker and uid.
83
+ ARENA_SANDBOX_PRIVILEGED_FILE_CREATION: arena ? env.ARENA_SANDBOX_PRIVILEGED_FILE_CREATION || null : null,
84
+ ARENA_PREVIEW_HOST_TEMPLATE: arena ? previewHostTemplate : null,
85
+ E2B_SANDBOX_ID: arena ? sandboxId : null,
86
+ CODE_HARNESS_APPLY_PATCH_TOOL: code
87
+ ? env.CODE_HARNESS_APPLY_PATCH_TOOL !== undefined
88
+ && !["0", "false", "no"].includes(env.CODE_HARNESS_APPLY_PATCH_TOOL.toLowerCase()) : null,
89
+ CODE_HARNESS_NPM_CLI_JS: code ? env.CODE_HARNESS_NPM_CLI_JS || null : null,
90
+ CODE_HARNESS_BASH_TIMEOUT_SECONDS: codeImage ? bashTimeout : null,
91
+ // Preserve non-finite Number results for the caller's invalid-value marker.
92
+ CODE_HARNESS_FULLSTACK_BUILD_TIMEOUT_MS: fullStack
93
+ ? Number(env.CODE_HARNESS_FULLSTACK_BUILD_TIMEOUT_MS || 300_000) : null,
94
+ CODE_HARNESS_PREVIEW_PORT: fullStack ? previewPort : null,
95
+ CODE_HARNESS_PREVIEW_URL: fullStack
96
+ ? env.CODE_HARNESS_PREVIEW_URL || `http://127.0.0.1:${previewPort}` : null,
97
+ // Both executors load the recording lazily; only the exit hook is eager.
98
+ CODE_HARNESS_REPLAY_RESPONSES: env.CODE_HARNESS_REPLAY_RESPONSES
99
+ ? path.resolve(env.CODE_HARNESS_REPLAY_RESPONSES) : null,
100
+ replayExitSummaryEnabled: Boolean(hostEnv.CODE_HARNESS_REPLAY_RESPONSES),
101
+ HTTP_PROXY: env.http_proxy ?? env.HTTP_PROXY ?? null,
102
+ HTTPS_PROXY: env.https_proxy ?? env.HTTPS_PROXY ?? null,
103
+ NO_PROXY: env.no_proxy ?? env.NO_PROXY ?? null,
104
+ };
105
+ }
106
+ //# sourceMappingURL=startup-tool-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup-tool-config.js","sourceRoot":"","sources":["../src/startup-tool-config.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export interface CompactionResult {
22
22
  }
23
23
  /** Keep the newest complete step, including all parallel results and images. */
24
24
  export declare function latestCompleteStepStart(messages: readonly Message[]): number;
25
+ /** Omit accounting metadata and tool correlation IDs, including embedded signatures. */
26
+ export declare function contextTokenReplacer(this: Record<string, unknown>, key: string, value: unknown): unknown;
25
27
  export declare function estimateContextTokens(messages: readonly Message[], tools: readonly ToolDefinition[], imageTokenEstimate?: number): number;
26
28
  export declare function continuationSummaryBlock(summary: string): string;
27
29
  export declare function compactMessagesIfNeeded(messages: Message[], tools: readonly ToolDefinition[], client: ModelClient, model: string, settings: CompactionSettings, signal?: AbortSignal): Promise<CompactionResult>;
@@ -75,9 +75,23 @@ function addCharacterCounts(counts, value) {
75
75
  counts.nonAscii += 1;
76
76
  }
77
77
  }
78
+ /** Omit accounting metadata and tool correlation IDs, including embedded signatures. */
79
+ export function contextTokenReplacer(key, value) {
80
+ if (key === "image" && typeof value === "string")
81
+ return "<image>";
82
+ if (key === "usage" && this.role === "assistant")
83
+ return undefined;
84
+ if (key === "tool_call_id" && this.role === "tool")
85
+ return undefined;
86
+ if (key === "id" && this.type === "function" && this.function)
87
+ return undefined;
88
+ if ((key === "id" || key === "call_id") &&
89
+ (this.type === "function_call" || this.type === "function_call_output"))
90
+ return undefined;
91
+ return value;
92
+ }
78
93
  function serializedContextTokens(messages, tools) {
79
94
  const counts = { ascii: 0, nonAscii: 0 };
80
- const replacer = (key, value) => key === "image" && typeof value === "string" ? "<image>" : value;
81
95
  addCharacterCounts(counts, '{"messages":[');
82
96
  for (let index = 0; index < messages.length; index += 1) {
83
97
  if (index)
@@ -89,10 +103,10 @@ function serializedContextTokens(messages, tools) {
89
103
  openai_response_items: message.openai_response_items,
90
104
  }
91
105
  : message;
92
- addCharacterCounts(counts, JSON.stringify(modelVisible, replacer));
106
+ addCharacterCounts(counts, JSON.stringify(modelVisible, contextTokenReplacer));
93
107
  }
94
108
  addCharacterCounts(counts, '],"tools":');
95
- addCharacterCounts(counts, JSON.stringify(tools, replacer));
109
+ addCharacterCounts(counts, JSON.stringify(tools, contextTokenReplacer));
96
110
  addCharacterCounts(counts, "}");
97
111
  return Math.ceil(counts.ascii / 4 + counts.nonAscii);
98
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"summary-compaction.js","sourceRoot":"","sources":["../src/summary-compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary-compaction.js","sourceRoot":"","sources":["../src/summary-compaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -146,7 +146,9 @@ CI 应构建并汇总 `build/npm/packages/<target>`。原生 Runtime 通常应
146
146
  发布这四个平台包、`@qwen-code/arena-agent` 和
147
147
  `@qwen-code/arena-cli`;后两个包都包含四种模式和两个命令入口。普通分支 push
148
148
  不触发,手动运行只构建、不发布。发布前
149
- 需要在“设置 → 持续集成 → 变量管理”中添加名为 `NPM_TOKEN` 的 Secret。
149
+ 需要在“设置 → 持续集成 → 变量管理”中配置有效的 `NPM_TOKEN` Secret;本地使用的
150
+ 凭证不会自动更新 CI。Tag 发布先校验版本、changelog 和 npm 身份,成功后才启动
151
+ 四个平台构建;凭证缺失或认证失败会直接停止。手动构建跳过认证,不要求 npm 凭证。
150
152
 
151
153
  每次发布前先按[发版流程](MODES_AND_RELEASES.md#发布节奏)更新
152
154
  [`CHANGELOG.md`](../CHANGELOG.md)。以下以新的预发布版 `0.0.10-dev.7` 为例,
@@ -156,6 +158,8 @@ CI 应构建并汇总 `build/npm/packages/<target>`。原生 Runtime 通常应
156
158
  npm version 0.0.10-dev.7 --no-git-tag-version
157
159
  # 将本次变更整理到 CHANGELOG.md 的 0.0.10-dev.7 条目,填写日期并更新比较链接
158
160
  npm run check:changelog
161
+ # 在已配置 NPM_TOKEN 的环境中验证发布身份,无需先构建平台包
162
+ ARENA_RELEASE_REF=v0.0.10-dev.7 npm run publish:binaries -- --preflight
159
163
  git add package.json package-lock.json CHANGELOG.md
160
164
  git commit -m "chore: release 0.0.10-dev.7"
161
165
  git push origin master
@@ -179,12 +183,18 @@ Linux arm64 的两个平台包暂不参与自动发布,以免非关键 ARM64 J
179
183
  `npm publish` 和多平台发布脚本均执行此检查,缺失时立即失败;多平台脚本在发布
180
184
  第一个平台包前检查,避免只发布部分包后才发现变更记录缺失。
181
185
 
182
- 汇总全部 7 个平台包目录后,重新生成一次入口包并进行发布前检查:
186
+ 本地发布可通过环境变量 `NPM_TOKEN` 提供凭证。发布入口使用临时 npm 配置,不修改
187
+ 全局 npm 配置;不要将凭证写入仓库。`--preflight` 不要求平台包目录,先检查
188
+ changelog 和 `ARENA_RELEASE_REF`,再检查 npm 身份。`npm whoami` 成功仅确认身份,
189
+ 实际包的发布权限仍由 npm 在上传时检查。
190
+
191
+ 汇总受支持的四个平台包目录后,重新生成入口包并进行发布前检查:
183
192
 
184
193
  ```bash
185
194
  npm run check:changelog
186
195
  npm run package:binary:cli
187
- npm run publish:binaries -- --dry-run --tag dev
196
+ npm run publish:binaries -- --dry-run --tag dev \
197
+ --targets darwin-arm64,darwin-x64,linux-x64,linux-x64-musl
188
198
  ```
189
199
 
190
200
  确认后去掉 `--dry-run`,按需传入 registry:
@@ -192,15 +202,40 @@ npm run publish:binaries -- --dry-run --tag dev
192
202
  ```bash
193
203
  npm run publish:binaries -- \
194
204
  --tag dev \
205
+ --targets darwin-arm64,darwin-x64,linux-x64,linux-x64-musl \
195
206
  --registry https://registry.example.com
196
207
  ```
197
208
 
198
- 发布脚本会校验 7 个平台包和入口包的名称、版本、依赖是否一致,并严格依次发布
199
- 平台包、`@qwen-code/arena-agent`,最后发布 `@qwen-code/arena-cli`。失败后重跑会
200
- 跳过 npm 上已经存在的同版本包。预发布版本默认使用 `dev` tag,稳定版本默认使用
201
- `latest` tag,也可以显式用 `--tag` 覆盖。
209
+ 发布脚本会校验所选平台包和入口包的名称、版本、依赖是否一致,先上传平台包和
210
+ `@qwen-code/arena-agent`,最后发布 `@qwen-code/arena-cli`。上传被 npm 接受后可能
211
+ 还需等待异步扫描;脚本会等待版本公开可见,并核对已发布包与本地产物的哈希,
212
+ 平台包可用后才发布入口包。网络失败后会先确认 npm 上的版本状态,再决定是否重试;
213
+ 认证和权限错误会直接报告,不作为网络错误反复上传。
214
+
215
+ 同版本重跑会核验已存在的包并继续剩余步骤。预发布默认使用 `dev` tag,稳定版本
216
+ 默认使用 `latest`,也可显式用 `--tag` 覆盖。发布结束会将各包的滚动标签同步到该
217
+ 渠道所有包均已发布的最新版本,避免历史补发把标签退回旧版。历史版本补发仍应
218
+ 从旧到新执行,待所有批次完成后确认标签一致。
219
+
220
+ 上传进度和待发布 tarball 保存在 `build/npm/releases/<version>/`,中断后重跑可
221
+ 继续等待已受理的上传。扫描等待可并行进行,大文件上传保持串行。npm 上传遇到
222
+ 网络问题时会尝试通过 curl 直连、限速传输同一份 tarball(不使用代理);
223
+ 可通过以下环境变量调整等待与上传参数:
224
+
225
+ | 变量 | 默认值 | 用途 |
226
+ | --- | --- | --- |
227
+ | `ARENA_NPM_WAIT_SECONDS` | `1200` | 等待已受理版本公开可见的最长秒数 |
228
+ | `ARENA_NPM_UPLOAD_RATE` | `2M` | 网络恢复上传的限速,使用 curl 的速率格式 |
229
+
230
+ 最后运行完整版本验证。CI 自动执行此步骤,本地补发也必须通过:
231
+
232
+ ```bash
233
+ node scripts/verify-release.mjs --version 0.0.10-dev.7
234
+ ```
202
235
 
203
- 入口包必须最后发布;否则用户可能在平台包尚未可用时安装到一个缺少二进制的版本。
236
+ 验证覆盖 Agent、CLI 和受支持平台包的精确版本与 dist-tag,并通过当前平台的
237
+ `install.sh` 完成安装烟测。仅看到 `npm publish` 接受上传或某一个包可查询,不能
238
+ 视为整次发布完成。
204
239
 
205
240
  ## 平台与兼容性
206
241
 
@@ -154,6 +154,10 @@ arena --mode full-stack -p '...'
154
154
  2. 保留顶部 `## [Unreleased]` 供后续记录,更新新版本及 `Unreleased` 的比较链接。
155
155
  3. 完成下面的发布检查,再提交版本变更和 changelog、推送匹配的 `v<version>` 标签。
156
156
 
157
+ 发布前确认 Aone 的 `NPM_TOKEN` Secret 有效。本地临时提供的凭证不会同步到 CI;
158
+ 更换凭证时需更新该 Secret。Tag 流水线在所有平台构建之前执行发布预检,认证失败
159
+ 会立即停止。手动触发仍只构建,不要求 npm 凭证。
160
+
157
161
  Changelog 只记录用户使用 CLI 时能感知的功能、行为、修复、配置、安装兼容性和
158
162
  迁移要求。内部技能、回放与审计工具、报告、测试、发布流程维护、源码归档及
159
163
  构建下载诊断不写入 changelog。
@@ -171,18 +175,32 @@ npm run typecheck
171
175
  npm test
172
176
  npm pack --dry-run
173
177
 
178
+ # 已配置 NPM_TOKEN;此检查不依赖平台构建产物
179
+ node scripts/publish-binaries.mjs --preflight
180
+
174
181
  # 每个平台 runner
175
182
  npm run package:binary:platform
176
183
 
177
184
  # 汇总平台产物后
178
185
  npm run package:binary:cli
179
- npm run publish:binaries -- --dry-run
186
+ npm run publish:binaries -- --dry-run \
187
+ --targets darwin-arm64,darwin-x64,linux-x64,linux-x64-musl
188
+ ```
189
+
190
+ 平台包必须先于 `@qwen-code/arena-cli` 发布。发布入口会等待 npm 异步扫描结束、
191
+ 核对公开包的哈希,并在平台包可用后发布 CLI,最后核验滚动 dist-tag。已被接受但
192
+ 尚未公开的上传不应当作未发布包重复上传;同版本重跑由发布入口检查状态后续跑。
193
+
194
+ 推送标签后,CI 自动运行下列完整版本验证。本地补发也必须运行并通过:
195
+
196
+ ```bash
197
+ node scripts/verify-release.mjs --version 0.0.10-dev.7
180
198
  ```
181
199
 
182
- 平台包必须先于 `@qwen-code/arena-cli` 发布。推送标签后,核验 Agent、CLI 和所有
183
- 受支持平台包的 exact-version npm 查询,至少覆盖 `darwin-arm64`、`darwin-x64`、
184
- `linux-x64`、`linux-x64-musl`,并用该完整版本号的 `install.sh` 做端到端烟测。
185
- 预发布还需确认相关包的 `dev` dist-tag 均指向最新预发布版本。
200
+ 验证覆盖 Agent、CLI 和所有受支持平台包的 exact-version npm 查询,至少包括
201
+ `darwin-arm64`、`darwin-x64`、`linux-x64`、`linux-x64-musl`,并用该完整版本号的
202
+ `install.sh` 在当前平台做端到端烟测。预发布还需确认相关包的 `dev` dist-tag
203
+ 均指向最新预发布版本;历史补发从旧到新执行,待所有批次结束后再确认标签。
186
204
  完整矩阵及发布命令见 [`BINARY_DISTRIBUTION.md`](BINARY_DISTRIBUTION.md)。
187
205
 
188
206
  ## 原 Code Harness 的迁移边界
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwen-code/arena-agent",
3
- "version": "0.0.10-dev.14",
3
+ "version": "0.0.10-dev.15",
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",