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

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 (56) hide show
  1. package/.env.example +12 -1
  2. package/CHANGELOG.md +37 -1
  3. package/README.md +106 -28
  4. package/dist/agent.d.ts +1 -1
  5. package/dist/agent.js +90 -30
  6. package/dist/agent.js.map +1 -1
  7. package/dist/anthropic.js +17 -15
  8. package/dist/anthropic.js.map +1 -1
  9. package/dist/canonical-data.d.ts +2 -0
  10. package/dist/canonical-data.js +2 -0
  11. package/dist/canonical-data.js.map +1 -1
  12. package/dist/code-tools.js +34 -9
  13. package/dist/code-tools.js.map +1 -1
  14. package/dist/compaction.d.ts +3 -2
  15. package/dist/compaction.js +87 -21
  16. package/dist/compaction.js.map +1 -1
  17. package/dist/config.d.ts +6 -0
  18. package/dist/config.js +5 -0
  19. package/dist/config.js.map +1 -1
  20. package/dist/connector-mcp.d.ts +47 -0
  21. package/dist/connector-mcp.js +314 -0
  22. package/dist/connector-mcp.js.map +1 -0
  23. package/dist/connectors.d.ts +8 -0
  24. package/dist/connectors.js +57 -0
  25. package/dist/connectors.js.map +1 -0
  26. package/dist/midturn-checkpoint-hook.d.ts +14 -1
  27. package/dist/midturn-checkpoint-hook.js.map +1 -1
  28. package/dist/model-router-media.js +50 -0
  29. package/dist/model-router-media.js.map +1 -1
  30. package/dist/prompts.d.ts +0 -1
  31. package/dist/prompts.js +10 -36
  32. package/dist/prompts.js.map +1 -1
  33. package/dist/provider.js +3 -0
  34. package/dist/provider.js.map +1 -1
  35. package/dist/server.js +4 -2
  36. package/dist/server.js.map +1 -1
  37. package/dist/session-memory-prompts.js +1 -1
  38. package/dist/session-memory-prompts.js.map +1 -1
  39. package/dist/spec.d.ts +5 -4
  40. package/dist/spec.js +15 -9
  41. package/dist/spec.js.map +1 -1
  42. package/dist/{legacy-compaction.d.ts → summary-compaction.d.ts} +7 -0
  43. package/dist/{legacy-compaction.js → summary-compaction.js} +54 -10
  44. package/dist/summary-compaction.js.map +1 -0
  45. package/dist/tools.d.ts +3 -1
  46. package/dist/tools.js +35 -9
  47. package/dist/tools.js.map +1 -1
  48. package/dist/types.d.ts +4 -0
  49. package/dist/workspace.js +61 -14
  50. package/dist/workspace.js.map +1 -1
  51. package/docs/MODES_AND_RELEASES.md +55 -1
  52. package/modes/code-arena/full-stack/dependencies.lock.json +8670 -0
  53. package/modes/code-arena/react/dependencies.lock.json +2707 -0
  54. package/package.json +2 -1
  55. package/scripts/README.md +23 -4
  56. package/dist/legacy-compaction.js.map +0 -1
package/dist/workspace.js CHANGED
@@ -2,7 +2,7 @@ import { constants as fsConstants } from "node:fs";
2
2
  import { execFile } from "node:child_process";
3
3
  import { access, appendFile, copyFile, mkdir, readFile, readdir, rm, writeFile, } from "node:fs/promises";
4
4
  import path from "node:path";
5
- import { promisify } from "node:util";
5
+ import { isDeepStrictEqual, promisify } from "node:util";
6
6
  import { embeddedAsset } from "./runtime-assets.js";
7
7
  import { projectRoot } from "./spec.js";
8
8
  const execFileAsync = promisify(execFile);
@@ -67,24 +67,69 @@ async function isCapturedWorkspace(workspace, mode) {
67
67
  typeof manifest.dependencies?.["drizzle-orm"] === "string" &&
68
68
  typeof manifest.dependencies?.pg === "string");
69
69
  }
70
+ async function readModeAsset(mode, relative) {
71
+ const name = `modes/code-arena/${mode}/${relative}`;
72
+ return embeddedAsset(name) ?? readFile(path.join(projectRoot(), name));
73
+ }
74
+ async function hasFile(file) {
75
+ try {
76
+ await access(file);
77
+ return true;
78
+ }
79
+ catch (error) {
80
+ if (error.code !== "ENOENT")
81
+ throw error;
82
+ return false;
83
+ }
84
+ }
70
85
  async function prepareDependencies(workspace, mode) {
71
86
  const npmCli = process.env.CODE_HARNESS_NPM_CLI_JS;
72
87
  const command = npmCli ? process.execPath : "npm";
73
- const args = [
74
- ...(npmCli ? [npmCli] : []),
75
- "install",
76
- ...(mode === "react" ? ["--package-lock=false"] : []),
77
- "--ignore-scripts",
78
- "--no-audit",
79
- "--no-fund",
80
- ];
88
+ const lockPath = path.join(workspace, "package-lock.json");
89
+ let stagedLock = false;
90
+ let installed = false;
81
91
  try {
92
+ let operation = "install";
93
+ if (!(await hasFile(lockPath)) &&
94
+ !(await hasFile(path.join(workspace, "npm-shrinkwrap.json")))) {
95
+ const manifest = await readManifest(workspace);
96
+ const template = JSON.parse((await readModeAsset(mode, "template/package.json")).toString("utf8"));
97
+ const dependencyFields = [
98
+ "dependencies",
99
+ "devDependencies",
100
+ "optionalDependencies",
101
+ "peerDependencies",
102
+ "peerDependenciesMeta",
103
+ "overrides",
104
+ "workspaces",
105
+ "bundledDependencies",
106
+ "bundleDependencies",
107
+ ];
108
+ // A resumed project may have added packages. Seed its original dependency
109
+ // versions too, but let npm install reconcile the changed manifest.
110
+ if (dependencyFields.every((key) => isDeepStrictEqual(manifest[key], template[key]))) {
111
+ operation = "ci";
112
+ }
113
+ await writeFile(lockPath, await readModeAsset(mode, "dependencies.lock.json"), {
114
+ flag: "wx",
115
+ });
116
+ stagedLock = true;
117
+ }
118
+ const args = [
119
+ ...(npmCli ? [npmCli] : []),
120
+ operation,
121
+ "--package-lock=true",
122
+ "--ignore-scripts",
123
+ "--no-audit",
124
+ "--no-fund",
125
+ ];
82
126
  await execFileAsync(command, args, {
83
127
  cwd: workspace,
84
- env: { ...process.env, npm_config_package_lock: mode === "react" ? "false" : "true" },
128
+ env: { ...process.env, npm_config_package_lock: "true" },
85
129
  timeout: dependencyInstallTimeoutMs,
86
130
  maxBuffer: 10 * 1024 * 1024,
87
131
  });
132
+ installed = true;
88
133
  }
89
134
  catch (error) {
90
135
  const detail = error && typeof error === "object" && "stderr" in error
@@ -93,8 +138,12 @@ async function prepareDependencies(workspace, mode) {
93
138
  throw new Error(`Failed to prepare ${mode === "react" ? "React" : "Full Stack"} workspace dependencies${detail ? `: ${detail}` : ""}`, { cause: error });
94
139
  }
95
140
  finally {
96
- if (mode === "react")
97
- await rm(path.join(workspace, "package-lock.json"), { force: true });
141
+ // The captured React scaffold has no visible lock. Only remove our own
142
+ // staging file; never delete a lock supplied by the user or another tool.
143
+ // Failed installs must retry with the bundled lock, without an install fallback.
144
+ if (stagedLock && (mode === "react" || !installed)) {
145
+ await rm(lockPath, { force: true });
146
+ }
98
147
  }
99
148
  }
100
149
  async function ensureFullStackDatabaseUrl(workspace) {
@@ -155,8 +204,6 @@ export async function initializeWorkspace(workspace, mode) {
155
204
  const binary = mode === "react" ? "vite" : "next";
156
205
  try {
157
206
  await access(path.join(targetRoot, "node_modules", ".bin", binary));
158
- if (mode === "react")
159
- await rm(path.join(targetRoot, "package-lock.json"), { force: true });
160
207
  }
161
208
  catch {
162
209
  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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"}
@@ -22,7 +22,10 @@ src/
22
22
  mode.ts # 四模式名称、别名与默认 step limit
23
23
  workspace.ts # React/Full Stack scaffold 初始化
24
24
 
25
- spec/ # Arena 生产 fixtures(保持原路径)
25
+ spec/ # Agent Arena 当前提示词与工具契约源文件
26
+ message.json # 普通模式系统提示词在 messages[0].content
27
+ tools.json # 工具契约与捕获的生成默认值
28
+ session-memory/ # 当前 rolling 记忆提示词源文件
26
29
  modes/code-arena/
27
30
  model.json # 三种 Code Arena 共用模型参数
28
31
  react/
@@ -42,6 +45,57 @@ modes/code-arena/
42
45
  contract 一起编译到 `src/canonical-data.ts`。正常 npm 运行不读取 prompt/schema
43
46
  源文件;scaffold 仍作为包资源保留,SEA 构建时则作为 assets 嵌入二进制。
44
47
 
48
+ ### 模板安装依赖锁
49
+
50
+ React 和 Full Stack 的 `dependencies.lock.json` 位于各模式目录,随 npm 包和
51
+ SEA 二进制发布;它锁定完整安装依赖树,是本地发布资源,不代表历史完整依赖
52
+ 已恢复。模板 `package.json` 和 canonical 提示词、工具契约保持原样。
53
+
54
+ 初始化没有依赖锁且依赖声明与模板一致的工作区时,先临时写入
55
+ `package-lock.json`,再执行 `npm ci --ignore-scripts --no-audit --no-fund`。
56
+ 安装失败会报告错误,删除临时锁以便下次按相同版本重试,不退回浮动安装。
57
+ 成功后 React 删除临时锁以保留历史文件状态,Full Stack 保留锁。
58
+ 已有项目的 lock/shrinkwrap 优先,恢复已修改依赖的项目使用 `npm install`;
59
+ 如果项目还没有锁,则以随包依赖锁为起点解析新增依赖。
60
+
61
+ 普通构建和发版不重新解析模板依赖。需要升级时,指定发布截止时间,在空目录
62
+ 生成锁以保留各平台的可选原生包,然后检查差异并在目标环境执行冷缓存安装、
63
+ 构建验证。首次锁采用 `2026-10-10T00:00:00Z` 截止时间:
64
+
65
+ ```bash
66
+ node scripts/update-code-arena-dependency-locks.mjs --before 2026-10-10T00:00:00Z
67
+ ```
68
+
69
+ 锁定版本不能代替镜像同步;部署使用的 registry 或代理仍需能下载锁中的包。
70
+
71
+ ## 源码入口与历史资料
72
+
73
+ 普通 Agent Arena 的提示词正文只在 `spec/message.json` 维护。构建将它嵌入
74
+ `src/canonical-data.ts`,运行时由 `src/spec.ts` 构造请求。`src/prompts.ts` 的
75
+ 普通模式审计模板也从这份生成数据取得,不再手工保存另一份相同正文。
76
+ 该文件中直接写出的 Repo 提示词用于 Git 仓库会话,是另一种场景的提示词。
77
+
78
+ | 要查看的内容 | 当前入口 | 用途与维护方式 |
79
+ | --- | --- | --- |
80
+ | Agent Arena 普通模式提示词 | `spec/message.json` → `src/spec.ts` 的 `systemMessage()` | `messages[0].content` 是正式源文本,构造请求时填入会话信息 |
81
+ | Agent Arena Repo 模式提示词 | `src/prompts.ts` 的 `repoAgentSystemPromptTemplate`、`repoClosedSessionNotice` | 当前运行时直接使用的模板 |
82
+ | Agent Arena 普通模式审计模板 | `src/prompts.ts` 的 `agentSystemPromptTemplate` | 自动取自正式源的生成数据,只把日期、时区、位置换成占位符;不另存正文 |
83
+ | Agent Arena 工具契约 | `spec/tools.json` | 描述、schema、顺序与捕获的生成默认值;实现位于 `src/tools.ts` |
84
+ | Code Arena 提示词与工具契约 | `modes/code-arena/<mode>/system-prompt.txt`、`tools.json` 及共用 `model.json` | 三个模式分别维护;实现位于 `src/code-tools.ts` |
85
+ | Agent Arena rolling 记忆提示词 | `spec/session-memory/*.txt` | 当前构建源文件;由 `generate-session-memory-prompts.mjs` 生成运行时数据 |
86
+ | 摘要模式实现 | `src/summary-compaction.ts` | Agent Arena 的 `summary` 模式和 Code Arena 仍在使用 |
87
+ | 生成文件 | `src/canonical-data.ts`、`src/session-memory-prompts.ts` | 由 `npm run build` 前置步骤生成,不手动改正文 |
88
+ | Repo 提示词测试样本 | `test/fixtures/agent-arena/message-repo*.json` | 验证模板能逐字还原捕获;不作为运行时配置 |
89
+ | 历史输入与报告 | `tasks/`、`docs/history/`、`docs/evidence/` | 按记录的时间、批次和代码身份阅读,不当成当前配置或最新结论 |
90
+
91
+ `spec/session-memory/` 的捕获来源记录保留在
92
+ `tasks/v2/contracts/compaction/capture.json`,原始样本在同目录的 `dump/`。
93
+ 来源证据与当前构建源文件分开保存,迁移目录不改变提示词字节。
94
+
95
+ 工具脚本按用途从 [scripts/README.md](../scripts/README.md) 进入。旧脚本仍可能被
96
+ 回归测试或历史批次使用;没有静态引用不等于可以删除。`code-harness`、旧环境变量
97
+ 别名和生成文件也属于兼容或打包路径,不作为重复实现清理。
98
+
45
99
  ## 模式选择
46
100
 
47
101
  统一 CLI 使用显式参数: