@qwen-code/arena-agent 0.0.10-dev.1 → 0.0.10-dev.10

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 (154) hide show
  1. package/.env.example +57 -14
  2. package/CHANGELOG.md +228 -0
  3. package/README.md +228 -50
  4. package/dist/agent.d.ts +28 -2
  5. package/dist/agent.js +341 -106
  6. package/dist/agent.js.map +1 -1
  7. package/dist/anthropic.js +23 -22
  8. package/dist/anthropic.js.map +1 -1
  9. package/dist/ask-user.js +2 -0
  10. package/dist/ask-user.js.map +1 -1
  11. package/dist/attachments.js +4 -3
  12. package/dist/attachments.js.map +1 -1
  13. package/dist/brave-search.js +1 -3
  14. package/dist/brave-search.js.map +1 -1
  15. package/dist/canonical-data.js +2 -2
  16. package/dist/canonical-data.js.map +1 -1
  17. package/dist/cli.js +184 -36
  18. package/dist/cli.js.map +1 -1
  19. package/dist/code-tools.d.ts +8 -2
  20. package/dist/code-tools.js +709 -117
  21. package/dist/code-tools.js.map +1 -1
  22. package/dist/compaction.d.ts +49 -3
  23. package/dist/compaction.js +382 -186
  24. package/dist/compaction.js.map +1 -1
  25. package/dist/config.d.ts +17 -2
  26. package/dist/config.js +47 -5
  27. package/dist/config.js.map +1 -1
  28. package/dist/fetch-page.js +9 -33
  29. package/dist/fetch-page.js.map +1 -1
  30. package/dist/file-edit.d.ts +8 -0
  31. package/dist/file-edit.js +63 -0
  32. package/dist/file-edit.js.map +1 -0
  33. package/dist/history.d.ts +16 -3
  34. package/dist/history.js +117 -19
  35. package/dist/history.js.map +1 -1
  36. package/dist/legacy-compaction.d.ts +20 -0
  37. package/dist/legacy-compaction.js +209 -0
  38. package/dist/legacy-compaction.js.map +1 -0
  39. package/dist/midturn-checkpoint-hook.d.ts +31 -0
  40. package/dist/midturn-checkpoint-hook.js +38 -0
  41. package/dist/midturn-checkpoint-hook.js.map +1 -0
  42. package/dist/mock.js +5 -0
  43. package/dist/mock.js.map +1 -1
  44. package/dist/mode.js +4 -2
  45. package/dist/mode.js.map +1 -1
  46. package/dist/model-router-media.d.ts +1 -0
  47. package/dist/model-router-media.js +71 -1
  48. package/dist/model-router-media.js.map +1 -1
  49. package/dist/openai-responses.js +2 -0
  50. package/dist/openai-responses.js.map +1 -1
  51. package/dist/process-manager.js +2 -1
  52. package/dist/process-manager.js.map +1 -1
  53. package/dist/prompts.d.ts +2 -0
  54. package/dist/prompts.js +6 -2
  55. package/dist/prompts.js.map +1 -1
  56. package/dist/protocol.d.ts +5 -1
  57. package/dist/protocol.js +24 -2
  58. package/dist/protocol.js.map +1 -1
  59. package/dist/provider.d.ts +12 -5
  60. package/dist/provider.js +60 -52
  61. package/dist/provider.js.map +1 -1
  62. package/dist/repetitive-output.d.ts +12 -0
  63. package/dist/repetitive-output.js +80 -0
  64. package/dist/repetitive-output.js.map +1 -0
  65. package/dist/replay-responses.d.ts +17 -0
  66. package/dist/replay-responses.js +100 -0
  67. package/dist/replay-responses.js.map +1 -0
  68. package/dist/routify-web-fetch.js +20 -7
  69. package/dist/routify-web-fetch.js.map +1 -1
  70. package/dist/sandbox-file-write.d.ts +10 -0
  71. package/dist/sandbox-file-write.js +58 -0
  72. package/dist/sandbox-file-write.js.map +1 -0
  73. package/dist/server.js +17 -5
  74. package/dist/server.js.map +1 -1
  75. package/dist/session-memory-prompts.d.ts +5 -0
  76. package/dist/session-memory-prompts.js +7 -0
  77. package/dist/session-memory-prompts.js.map +1 -0
  78. package/dist/snapshot-client.d.ts +10 -0
  79. package/dist/snapshot-client.js +39 -0
  80. package/dist/snapshot-client.js.map +1 -0
  81. package/dist/spec.js +18 -10
  82. package/dist/spec.js.map +1 -1
  83. package/dist/speech-audio.d.ts +9 -0
  84. package/dist/speech-audio.js +130 -0
  85. package/dist/speech-audio.js.map +1 -0
  86. package/dist/speech-model.d.ts +3 -0
  87. package/dist/speech-model.js +8 -0
  88. package/dist/speech-model.js.map +1 -0
  89. package/dist/tools.d.ts +5 -0
  90. package/dist/tools.js +378 -132
  91. package/dist/tools.js.map +1 -1
  92. package/dist/tui.js +13 -10
  93. package/dist/tui.js.map +1 -1
  94. package/dist/types.d.ts +28 -3
  95. package/dist/voice-registry.d.ts +2 -0
  96. package/dist/voice-registry.js +10 -2
  97. package/dist/voice-registry.js.map +1 -1
  98. package/dist/web-fetch-output.d.ts +9 -0
  99. package/dist/web-fetch-output.js +38 -0
  100. package/dist/web-fetch-output.js.map +1 -0
  101. package/dist/workspace.d.ts +2 -0
  102. package/dist/workspace.js +11 -6
  103. package/dist/workspace.js.map +1 -1
  104. package/docs/BINARY_DISTRIBUTION.md +27 -16
  105. package/docs/MODES_AND_RELEASES.md +28 -5
  106. package/docs/SDK.md +5 -0
  107. package/modes/code-arena/capture-provenance.json +57 -0
  108. package/modes/code-arena/full-stack/system-prompt.txt +1 -1
  109. package/modes/code-arena/full-stack/template/eslint.config.mjs +3 -4
  110. package/modes/code-arena/full-stack/template/postcss.config.mjs +2 -2
  111. package/modes/code-arena/full-stack/tools.json +186 -186
  112. package/modes/code-arena/html/system-prompt.txt +1 -1
  113. package/modes/code-arena/html/tools.json +123 -123
  114. package/modes/code-arena/react/system-prompt.txt +4 -3
  115. package/modes/code-arena/react/template/package.json +4 -4
  116. package/modes/code-arena/react/template/src/App.tsx +1 -1
  117. package/modes/code-arena/react/template/src/main.tsx +1 -1
  118. package/modes/code-arena/react/template/tsconfig.json +6 -0
  119. package/modes/code-arena/react/template/vite.config.ts +1 -0
  120. package/modes/code-arena/react/tools.json +178 -184
  121. package/package.json +14 -4
  122. package/scripts/README.md +62 -0
  123. package/scripts/check-changelog.mjs +66 -0
  124. package/vendor/audio/darwin-arm64/FFmpeg.LICENSE +502 -0
  125. package/vendor/audio/darwin-arm64/LAME.LICENSE +481 -0
  126. package/vendor/audio/darwin-arm64/Opus.LICENSE +44 -0
  127. package/vendor/audio/darwin-arm64/ffmpeg.gz +0 -0
  128. package/vendor/audio/darwin-arm64/manifest.json +39 -0
  129. package/vendor/audio/darwin-x64/FFmpeg.LICENSE +502 -0
  130. package/vendor/audio/darwin-x64/LAME.LICENSE +481 -0
  131. package/vendor/audio/darwin-x64/Opus.LICENSE +44 -0
  132. package/vendor/audio/darwin-x64/ffmpeg.gz +0 -0
  133. package/vendor/audio/darwin-x64/manifest.json +39 -0
  134. package/vendor/audio/linux-arm64/FFmpeg.LICENSE +502 -0
  135. package/vendor/audio/linux-arm64/LAME.LICENSE +481 -0
  136. package/vendor/audio/linux-arm64/Opus.LICENSE +44 -0
  137. package/vendor/audio/linux-arm64/ffmpeg.gz +0 -0
  138. package/vendor/audio/linux-arm64/manifest.json +39 -0
  139. package/vendor/audio/linux-x64/FFmpeg.LICENSE +502 -0
  140. package/vendor/audio/linux-x64/LAME.LICENSE +481 -0
  141. package/vendor/audio/linux-x64/Opus.LICENSE +44 -0
  142. package/vendor/audio/linux-x64/ffmpeg.gz +0 -0
  143. package/vendor/audio/linux-x64/manifest.json +39 -0
  144. package/vendor/audio/sources/build-audio-encoder.sh +76 -0
  145. package/vendor/audio/sources/ffmpeg-7.0.2.tar.xz +0 -0
  146. package/vendor/audio/sources/lame-3.100.tar.gz +0 -0
  147. package/vendor/audio/sources/opus-1.5.2.tar.gz +0 -0
  148. package/vendor/audio/sources/pkgconf-2.3.0.tar.xz +0 -0
  149. package/vendor/audio/sources/sources.lock.json +30 -0
  150. package/vendor/audio/win32-x64/FFmpeg.LICENSE +502 -0
  151. package/vendor/audio/win32-x64/LAME.LICENSE +481 -0
  152. package/vendor/audio/win32-x64/Opus.LICENSE +44 -0
  153. package/vendor/audio/win32-x64/ffmpeg.gz +0 -0
  154. package/vendor/audio/win32-x64/manifest.json +39 -0
package/dist/workspace.js CHANGED
@@ -32,6 +32,10 @@ export const fullStackTemplateFiles = [
32
32
  "src/app/globals.css",
33
33
  "src/app/layout.tsx",
34
34
  ];
35
+ /** Resolve the single checked-in scaffold source shared by runtime and replay. */
36
+ export function codeArenaTemplateRoot(mode) {
37
+ return path.join(projectRoot(), "modes", "code-arena", mode, "template");
38
+ }
35
39
  function ignoredEmptyWorkspaceEntry(name) {
36
40
  return (name === ".DS_Store" ||
37
41
  name === ".arena" ||
@@ -69,7 +73,7 @@ async function prepareDependencies(workspace, mode) {
69
73
  const args = [
70
74
  ...(npmCli ? [npmCli] : []),
71
75
  "install",
72
- "--package-lock=false",
76
+ ...(mode === "react" ? ["--package-lock=false"] : []),
73
77
  "--ignore-scripts",
74
78
  "--no-audit",
75
79
  "--no-fund",
@@ -77,7 +81,7 @@ async function prepareDependencies(workspace, mode) {
77
81
  try {
78
82
  await execFileAsync(command, args, {
79
83
  cwd: workspace,
80
- env: { ...process.env, npm_config_package_lock: "false" },
84
+ env: { ...process.env, npm_config_package_lock: mode === "react" ? "false" : "true" },
81
85
  timeout: dependencyInstallTimeoutMs,
82
86
  maxBuffer: 10 * 1024 * 1024,
83
87
  });
@@ -89,8 +93,8 @@ async function prepareDependencies(workspace, mode) {
89
93
  throw new Error(`Failed to prepare ${mode === "react" ? "React" : "Full Stack"} workspace dependencies${detail ? `: ${detail}` : ""}`, { cause: error });
90
94
  }
91
95
  finally {
92
- // Both captured scaffolds start with installed dependencies but no lockfile.
93
- await rm(path.join(workspace, "package-lock.json"), { force: true });
96
+ if (mode === "react")
97
+ await rm(path.join(workspace, "package-lock.json"), { force: true });
94
98
  }
95
99
  }
96
100
  async function ensureFullStackDatabaseUrl(workspace) {
@@ -122,7 +126,7 @@ export async function initializeWorkspace(workspace, mode) {
122
126
  return { initialized: false, files: [] };
123
127
  }
124
128
  const files = mode === "react" ? reactTemplateFiles : fullStackTemplateFiles;
125
- const sourceRoot = path.join(projectRoot(), "modes", "code-arena", mode, "template");
129
+ const sourceRoot = codeArenaTemplateRoot(mode);
126
130
  const copied = [];
127
131
  if (!hasProjectEntries) {
128
132
  for (const relative of files) {
@@ -151,7 +155,8 @@ export async function initializeWorkspace(workspace, mode) {
151
155
  const binary = mode === "react" ? "vite" : "next";
152
156
  try {
153
157
  await access(path.join(targetRoot, "node_modules", ".bin", binary));
154
- await rm(path.join(targetRoot, "package-lock.json"), { force: true });
158
+ if (mode === "react")
159
+ await rm(path.join(targetRoot, "package-lock.json"), { force: true });
155
160
  }
156
161
  catch {
157
162
  await prepareDependencies(targetRoot, mode);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ macOS / Linux:
60
60
  chmod +x arena
61
61
  ./arena --version
62
62
  ./arena -p "分析当前项目"
63
+ ./arena --file prompt.txt
63
64
  ./arena --mode full-stack -p "创建一个应用"
64
65
  ```
65
66
 
@@ -68,6 +69,7 @@ Windows:
68
69
  ```powershell
69
70
  .\arena.exe --version
70
71
  .\arena.exe -p "分析当前项目"
72
+ .\arena.exe --file prompt.txt
71
73
  ```
72
74
 
73
75
  模型地址、密钥和其他配置仍通过 `.env` 或环境变量提供。
@@ -100,9 +102,9 @@ npm run package:binary
100
102
  ```
101
103
 
102
104
  默认命令构建当前 runner 的系统、CPU 和 libc。CI 还支持在 Linux x64 上按 Node
103
- SEA 跨平台流程生成三个关键目标:`linux-x64` 固定下载完全相同版本的 Node.js
105
+ SEA 跨平台流程生成四个发布目标:`linux-x64` 固定下载完全相同版本的 Node.js
104
106
  unofficial-builds glibc 2.17 Runtime,`linux-x64-musl` 下载 unofficial-builds
105
- musl Runtime,`darwin-x64` 下载官方 macOS x64 Runtime。三者都通过 Aone 可访问的
107
+ musl Runtime,`darwin-arm64` 和 `darwin-x64` 下载对应架构的官方 macOS Runtime。四者都通过 Aone 可访问的
106
108
  npmmirror 二进制镜像下载,并校验对应的
107
109
  `SHASUMS256.txt`,关闭 code cache/snapshot 后注入 SEA blob。
108
110
  macOS 产物再使用固定版本和 checksum 的 `rcodesign` 做 ad-hoc 签名。Aone 从仓库的
@@ -132,29 +134,33 @@ node scripts/package-binaries.mjs \
132
134
  ```
133
135
 
134
136
  CI 应构建并汇总 `build/npm/packages/<target>`。原生 Runtime 通常应在对应环境中
135
- 构建;禁用 SEA snapshot/code cache 后,`linux-x64`、`linux-x64-musl` 和
136
- `darwin-x64` 都可以在 Linux x64 Runner 上使用经过校验的目标 Node Runtime
137
+ 构建;禁用 SEA snapshot/code cache 后,`linux-x64`、`linux-x64-musl`、
138
+ `darwin-arm64` 和 `darwin-x64` 都可以在 Linux x64 Runner 上使用经过校验的目标 Node Runtime
137
139
  组装。
138
140
 
139
141
  本仓库使用 Aone CI,流水线定义在
140
142
  [`/.aoneci/arena-binaries.yaml`](../.aoneci/arena-binaries.yaml)。当前项目没有关联
141
143
  自托管 Runner 组,因此流水线优先使用 Aone 托管的 Linux amd64 资源构建
142
- `linux-x64`,并交叉构建 `linux-x64-musl` 和 `darwin-x64`。推送与根
144
+ `linux-x64`,并交叉构建 `linux-x64-musl`、`darwin-arm64` 和 `darwin-x64`。推送与根
143
145
  `package.json` 版本完全一致的 `v<semver>` Tag 时会自动运行,并在同一批次
144
- 发布这三个关键平台包、`@qwen-code/arena-agent` 和
146
+ 发布这四个平台包、`@qwen-code/arena-agent` 和
145
147
  `@qwen-code/arena-cli`;后两个包都包含四种模式和两个命令入口。普通分支 push
146
148
  不触发,手动运行只构建、不发布。发布前
147
149
  需要在“设置 → 持续集成 → 变量管理”中添加名为 `NPM_TOKEN` 的 Secret。
148
150
 
149
- 例如,预发布版自动使用 npm `dev` tag:
151
+ 每次发布前先按[发版流程](MODES_AND_RELEASES.md#发布节奏)更新
152
+ [`CHANGELOG.md`](../CHANGELOG.md)。以下以新的预发布版 `0.0.10-dev.7` 为例,
153
+ 发布脚本自动使用 npm `dev` tag:
150
154
 
151
155
  ```bash
152
- npm version 0.0.10-dev.1 --no-git-tag-version
153
- git add package.json package-lock.json
154
- git commit -m "chore: release 0.0.10-dev.1"
156
+ npm version 0.0.10-dev.7 --no-git-tag-version
157
+ # 将本次变更整理到 CHANGELOG.md 的 0.0.10-dev.7 条目,填写日期并更新比较链接
158
+ npm run check:changelog
159
+ git add package.json package-lock.json CHANGELOG.md
160
+ git commit -m "chore: release 0.0.10-dev.7"
155
161
  git push origin master
156
- git tag v0.0.10-dev.1
157
- git push origin v0.0.10-dev.1
162
+ git tag v0.0.10-dev.7
163
+ git push origin v0.0.10-dev.7
158
164
  ```
159
165
 
160
166
  正式版同理,例如 `package.json` 为 `0.0.10` 时推送 `v0.0.10`,发布脚本会自动
@@ -162,16 +168,21 @@ git push origin v0.0.10-dev.1
162
168
  发布到 npm。首次稳定版发布前请显式使用 `@dev` 或完整版本号;首个正式版本发布后
163
169
  才把无版本安装渠道作为稳定入口。
164
170
 
165
- Aone 官方不提供 Windows/macOS 托管资源;`darwin-x64` 已通过上述交叉构建覆盖。
171
+ Aone 官方不提供 Windows/macOS 托管资源;macOS 两个架构通过上述交叉构建覆盖。
166
172
  Linux arm64 的两个平台包暂不参与自动发布,以免非关键 ARM64 Job 阻塞 x64
167
- 发布。发布 `darwin-arm64` 和 Windows 包前,仍需要关联对应的 self-hosted Runner
168
- 组。
173
+ 发布。Windows 包仍需要关联对应的 self-hosted Runner 组。
169
174
 
170
175
  ## 发布
171
176
 
177
+ 发布前必须有与根 `package.json` 版本一致、带有效日期及实际变更条目的 changelog,
178
+ 并按 Agent Arena、Code Arena、通用分别记录变更。
179
+ `npm publish` 和多平台发布脚本均执行此检查,缺失时立即失败;多平台脚本在发布
180
+ 第一个平台包前检查,避免只发布部分包后才发现变更记录缺失。
181
+
172
182
  汇总全部 7 个平台包目录后,重新生成一次入口包并进行发布前检查:
173
183
 
174
184
  ```bash
185
+ npm run check:changelog
175
186
  npm run package:binary:cli
176
187
  npm run publish:binaries -- --dry-run --tag dev
177
188
  ```
@@ -199,7 +210,7 @@ SEA 产物内含目标平台的 Node.js 可执行文件,因此需要为每种
199
210
  - Linux arm64/x64 的 glibc 与 musl
200
211
  - Windows x64
201
212
 
202
- 除流水线已覆盖的三个关键 x64 目标外,其他目标应在对应操作系统和 CPU 架构的
213
+ 除流水线已覆盖的四个发布目标外,其他目标应在对应操作系统和 CPU 架构的
203
214
  构建机或 CI runner 上执行。
204
215
 
205
216
  “业务机不需要 Node.js 20+”不等于“二进制不受 Node.js 20 的系统要求影响”。
@@ -8,7 +8,7 @@
8
8
  agent loop、compaction、history、metrics、CLI/TUI/server 和 SDK。
9
9
  - 模式边界只包含 system prompt、工具 schema/实现以及可选 scaffold。
10
10
  - 四种模式使用同一个版本号一起演进,避免两份 agent loop 再次漂移。
11
- - JavaScript/SDK 包与 SEA 二进制包是两种分发形式,可以按需要分别发布;
11
+ - JavaScript/SDK 包与 SEA 二进制包是两种分发形式,共用发布版本;
12
12
  它们不是两套产品源码,也不要求 npm workspaces。
13
13
 
14
14
  ## 目录
@@ -89,10 +89,30 @@ arena --mode full-stack -p '...'
89
89
 
90
90
  ## 发布节奏
91
91
 
92
- 可以只发布 JavaScript/SDK 包,也可以在随后完成 7 个平台的 SEA 包和 launcher;
93
- 但不建议单独发布某一个模式。推荐顺序:
92
+ 每次发布(包括 dev 预发布)都必须先更新根目录的
93
+ [`CHANGELOG.md`](../CHANGELOG.md),并与版本号修改一起提交:
94
+
95
+ 1. 将 `Unreleased` 中本次要发布的变更整理为 `## [版本号] - YYYY-MM-DD`,
96
+ 版本号与 `package.json` 完全一致,并说明配置迁移。每个版本及 `Unreleased`
97
+ 内按 `### Agent Arena`、`### Code Arena`、`### 通用` 分组;两类 Arena 的专属
98
+ 变更分别记录,共用运行时、模型连接和 CLI 变化只写在通用部分。无变更的
99
+ 分类省略,分类内可按需用四级标题区分新增、变更、修复。
100
+ 2. 保留顶部 `## [Unreleased]` 供后续记录,更新新版本及 `Unreleased` 的比较链接。
101
+ 3. 完成下面的发布检查,再提交版本变更和 changelog、推送匹配的 `v<version>` 标签。
102
+
103
+ Changelog 只记录用户使用 CLI 时能感知的功能、行为、修复、配置、安装兼容性和
104
+ 迁移要求。内部技能、回放与审计工具、报告、测试、发布流程维护、源码归档及
105
+ 构建下载诊断不写入 changelog。
106
+
107
+ `npm run check:changelog` 校验最新版本条目、有效日期和非空变更内容。
108
+ 直接 `npm publish` 会通过 `prepublishOnly` 执行检查;多平台发布脚本(含 dry-run)
109
+ 也会在任何包发布前执行检查,Aone 标签发布走同一入口。
110
+
111
+ 四种模式一起发布。Agent、CLI 和所支持的平台包必须使用同一版本;只发布
112
+ JavaScript/SDK 包不算发版完成。检查及打包顺序:
94
113
 
95
114
  ```bash
115
+ npm run check:changelog
96
116
  npm run typecheck
97
117
  npm test
98
118
  npm pack --dry-run
@@ -105,8 +125,11 @@ npm run package:binary:cli
105
125
  npm run publish:binaries -- --dry-run
106
126
  ```
107
127
 
108
- 平台包必须先于 `@qwen-code/arena-cli` 发布。完整矩阵见
109
- [`BINARY_DISTRIBUTION.md`](BINARY_DISTRIBUTION.md)。
128
+ 平台包必须先于 `@qwen-code/arena-cli` 发布。推送标签后,核验 Agent、CLI 和所有
129
+ 受支持平台包的 exact-version npm 查询,至少覆盖 `darwin-arm64`、`darwin-x64`、
130
+ `linux-x64`、`linux-x64-musl`,并用该完整版本号的 `install.sh` 做端到端烟测。
131
+ 预发布还需确认相关包的 `dev` dist-tag 均指向最新预发布版本。
132
+ 完整矩阵及发布命令见 [`BINARY_DISTRIBUTION.md`](BINARY_DISTRIBUTION.md)。
110
133
 
111
134
  ## 原 Code Harness 的迁移边界
112
135
 
package/docs/SDK.md CHANGED
@@ -173,6 +173,10 @@ console.log(history.activePrompt);
173
173
  `getHistory()` 同时会设置 SSE 续传需要的 `lastEventId`。恢复后再调用
174
174
  `run()`、`stream()` 或 `connect()` 即可继续。
175
175
 
176
+ `history.messages` 与运行结果的 `messages` 只包含对话历史(含 compaction),
177
+ 不包含运行时生成的开头 system;中途的 system 消息仍会保留。服务端在每次运行时
178
+ 按当前配置生成开头 system,并只将它加入模型请求。
179
+
176
180
  当前服务端还没有用户账号维度的 `sessions.list()`/`sessions.open()`。
177
181
  跨设备登录应由服务端把 session 绑定到可信的 `userId`,并在用户登录后重新
178
182
  签发短期 session token,而不是在设备之间同步旧 token。
@@ -302,6 +306,7 @@ if (
302
306
  | `data-user-input-submitted` | 回答已经提交 |
303
307
  | `data-workspace` | workspace 文件可用 |
304
308
  | `data-present-file` | 应立即展示的文件 |
309
+ | `memory.update` | 后台记忆状态:`pending` / `success` / `error` / `cancelled`;失败与取消含 `code`,可能附带 `error` 和 `usage` |
305
310
  | `data-session-metrics` | 截至当前 turn 的完整 session 指标快照 |
306
311
  | `trigger:turn-complete` | Turn 已结束;随后调用 `getHistory()` 获取完整历史 |
307
312
  | `error` | Agent 或协议错误 |
@@ -0,0 +1,57 @@
1
+ {
2
+ "capture": "20260914_20260923_all, verified 1,943,646,391-byte subset",
3
+ "refresh_authorization": "Use React bash variant (68 requests); exclude legacy 74; refresh captured read_file descriptions in all modes; 2026-09-30: fully align source system prompts with this capture, including step limits and trailing newlines",
4
+ "modes": {
5
+ "react": {
6
+ "source": {
7
+ "byte_length": 4367074,
8
+ "byte_offset": 17151593,
9
+ "file": "2026092412341479gtfvrx5mm1q1_M1_1_0_0-0_TableSink1",
10
+ "line": 23,
11
+ "line_sha256": "18146af8b31af9d63695808ffc9ef8a3f7fd51f0b544d2d80aa58a1a02f577dc",
12
+ "request_id": "22d2a5fe-f4bd-9fe3-b547-df6e4262b6cc",
13
+ "request_time": "2026-09-17 19:38:34.669"
14
+ },
15
+ "requests": 68,
16
+ "tool_sha256": "3f3faf0d381e3052647c16398fca37f61fcde81cc28991fb5d7093b3611ea6ea",
17
+ "system_prompt_sha256": "bc953ed8aabd8538a33681e46a1c14772f25c08bf18149788d051242765507a3",
18
+ "captured_tools_exact": true,
19
+ "runtime_prompt_exact": true,
20
+ "fixture_prompt_exact": true
21
+ },
22
+ "full-stack": {
23
+ "source": {
24
+ "byte_length": 64010,
25
+ "byte_offset": 4473909,
26
+ "file": "2026092412341479gtfvrx5mm1q1_M1_1_0_0-0_TableSink1",
27
+ "line": 8,
28
+ "line_sha256": "11100f99df2fc63db672bf1b8e5dc2863c7dad274db8cf4bab6257db05aec43c",
29
+ "request_id": "b7df3ab2-7e91-9b8e-bd36-8d21f6e7f6b0",
30
+ "request_time": "2026-09-17 04:18:07.459"
31
+ },
32
+ "requests": 114,
33
+ "tool_sha256": "2fde2efb10c76722721ad2be70b9ce792dd5e583e747b948a593e3015192c48c",
34
+ "system_prompt_sha256": "8332fc6d21e6aac8ecb0b1801eb1821b9a760af6d67c1e5450a5e032359cfa38",
35
+ "captured_tools_exact": true,
36
+ "runtime_prompt_exact": true,
37
+ "fixture_prompt_exact": true
38
+ },
39
+ "html": {
40
+ "source": {
41
+ "byte_length": 563639,
42
+ "byte_offset": 7238600,
43
+ "file": "2026092412341479gtfvrx5mm1q1_M1_1_0_0-0_TableSink1",
44
+ "line": 12,
45
+ "line_sha256": "6e48c0b5077b259eb009a612e2bf996390b134b551ff6bfd75bd98d402ab8071",
46
+ "request_id": "b850ee0f-995d-9806-8162-5b6d9fba97f9",
47
+ "request_time": "2026-09-17 20:30:06.600"
48
+ },
49
+ "requests": 23,
50
+ "tool_sha256": "318bc19b7e230e7d876a1fe46e22e888704aa6b5ab79a5745b854d3a6535cea4",
51
+ "system_prompt_sha256": "dccb1078fd5c880f539280eec9488de3ecb17e912a45a75ebf366e1d0e47a524",
52
+ "captured_tools_exact": true,
53
+ "runtime_prompt_exact": true,
54
+ "fixture_prompt_exact": true
55
+ }
56
+ }
57
+ }
@@ -15,7 +15,7 @@ You have access to 'web_search' and 'web_fetch' tools for researching informatio
15
15
 
16
16
  ## Task Planning
17
17
 
18
- You have a maximum of 50 sequential tool-calling steps to complete the task. Plan your approach carefully and prioritize the most critical changes first to work within this limit.
18
+ You have a maximum of 75 sequential tool-calling steps to complete the task. Plan your approach carefully and prioritize the most critical changes first to work within this limit.
19
19
 
20
20
  For each file you create or edit, you must first explain what you are about to do, then call the tool, then confirm the result.
21
21
 
@@ -1,9 +1,8 @@
1
1
  import { defineConfig, globalIgnores } from "eslint/config";
2
- import nextVitals from "eslint-config-next/core-web-vitals";
3
- import nextTs from "eslint-config-next/typescript";
2
+ import nextCoreWebVitals from "eslint-config-next/core-web-vitals";
4
3
 
5
4
  export default defineConfig([
6
- ...nextVitals,
7
- ...nextTs,
5
+ // Keep the starter on the flat config export that actually runs under the pinned ESLint/Next toolchain.
6
+ ...nextCoreWebVitals,
8
7
  globalIgnores([".next/**", "out/**", "build/**", "next-env.d.ts"]),
9
8
  ]);
@@ -1,7 +1,7 @@
1
- const config = {
1
+ const postcssConfig = {
2
2
  plugins: {
3
3
  "@tailwindcss/postcss": {},
4
4
  },
5
5
  };
6
6
 
7
- export default config;
7
+ export default postcssConfig;