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

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 (49) hide show
  1. package/.env.example +12 -1
  2. package/CHANGELOG.md +18 -1
  3. package/README.md +91 -19
  4. package/dist/agent.d.ts +1 -1
  5. package/dist/agent.js +53 -8
  6. package/dist/agent.js.map +1 -1
  7. package/dist/anthropic.js +9 -13
  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 +1 -1
  13. package/dist/compaction.d.ts +2 -1
  14. package/dist/compaction.js +14 -5
  15. package/dist/compaction.js.map +1 -1
  16. package/dist/config.d.ts +6 -0
  17. package/dist/config.js +5 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/connector-mcp.d.ts +47 -0
  20. package/dist/connector-mcp.js +314 -0
  21. package/dist/connector-mcp.js.map +1 -0
  22. package/dist/connectors.d.ts +8 -0
  23. package/dist/connectors.js +57 -0
  24. package/dist/connectors.js.map +1 -0
  25. package/dist/midturn-checkpoint-hook.d.ts +14 -1
  26. package/dist/midturn-checkpoint-hook.js.map +1 -1
  27. package/dist/model-router-media.js +50 -0
  28. package/dist/model-router-media.js.map +1 -1
  29. package/dist/prompts.d.ts +0 -1
  30. package/dist/prompts.js +10 -36
  31. package/dist/prompts.js.map +1 -1
  32. package/dist/provider.js +3 -0
  33. package/dist/provider.js.map +1 -1
  34. package/dist/session-memory-prompts.js +1 -1
  35. package/dist/session-memory-prompts.js.map +1 -1
  36. package/dist/spec.d.ts +5 -4
  37. package/dist/spec.js +15 -9
  38. package/dist/spec.js.map +1 -1
  39. package/dist/{legacy-compaction.d.ts → summary-compaction.d.ts} +1 -0
  40. package/dist/{legacy-compaction.js → summary-compaction.js} +3 -1
  41. package/dist/summary-compaction.js.map +1 -0
  42. package/dist/tools.d.ts +3 -1
  43. package/dist/tools.js +35 -9
  44. package/dist/tools.js.map +1 -1
  45. package/dist/types.d.ts +2 -0
  46. package/docs/MODES_AND_RELEASES.md +32 -1
  47. package/package.json +2 -1
  48. package/scripts/README.md +22 -4
  49. package/dist/legacy-compaction.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -11,6 +11,7 @@ export interface ToolCall {
11
11
  id: string;
12
12
  type: "function";
13
13
  function: FunctionCall;
14
+ extra_content?: Record<string, unknown>;
14
15
  }
15
16
  export interface SystemMessage {
16
17
  role: "system";
@@ -246,6 +247,7 @@ export interface ModelDeltaToolCall {
246
247
  index?: number;
247
248
  id?: string;
248
249
  type?: string;
250
+ extra_content?: ToolCall["extra_content"];
249
251
  function?: {
250
252
  name?: string;
251
253
  arguments?: string;
@@ -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,34 @@ modes/code-arena/
42
45
  contract 一起编译到 `src/canonical-data.ts`。正常 npm 运行不读取 prompt/schema
43
46
  源文件;scaffold 仍作为包资源保留,SEA 构建时则作为 assets 嵌入二进制。
44
47
 
48
+ ## 源码入口与历史资料
49
+
50
+ 普通 Agent Arena 的提示词正文只在 `spec/message.json` 维护。构建将它嵌入
51
+ `src/canonical-data.ts`,运行时由 `src/spec.ts` 构造请求。`src/prompts.ts` 的
52
+ 普通模式审计模板也从这份生成数据取得,不再手工保存另一份相同正文。
53
+ 该文件中直接写出的 Repo 提示词用于 Git 仓库会话,是另一种场景的提示词。
54
+
55
+ | 要查看的内容 | 当前入口 | 用途与维护方式 |
56
+ | --- | --- | --- |
57
+ | Agent Arena 普通模式提示词 | `spec/message.json` → `src/spec.ts` 的 `systemMessage()` | `messages[0].content` 是正式源文本,构造请求时填入会话信息 |
58
+ | Agent Arena Repo 模式提示词 | `src/prompts.ts` 的 `repoAgentSystemPromptTemplate`、`repoClosedSessionNotice` | 当前运行时直接使用的模板 |
59
+ | Agent Arena 普通模式审计模板 | `src/prompts.ts` 的 `agentSystemPromptTemplate` | 自动取自正式源的生成数据,只把日期、时区、位置换成占位符;不另存正文 |
60
+ | Agent Arena 工具契约 | `spec/tools.json` | 描述、schema、顺序与捕获的生成默认值;实现位于 `src/tools.ts` |
61
+ | Code Arena 提示词与工具契约 | `modes/code-arena/<mode>/system-prompt.txt`、`tools.json` 及共用 `model.json` | 三个模式分别维护;实现位于 `src/code-tools.ts` |
62
+ | Agent Arena rolling 记忆提示词 | `spec/session-memory/*.txt` | 当前构建源文件;由 `generate-session-memory-prompts.mjs` 生成运行时数据 |
63
+ | 摘要模式实现 | `src/summary-compaction.ts` | Agent Arena 的 `summary` 模式和 Code Arena 仍在使用 |
64
+ | 生成文件 | `src/canonical-data.ts`、`src/session-memory-prompts.ts` | 由 `npm run build` 前置步骤生成,不手动改正文 |
65
+ | Repo 提示词测试样本 | `test/fixtures/agent-arena/message-repo*.json` | 验证模板能逐字还原捕获;不作为运行时配置 |
66
+ | 历史输入与报告 | `tasks/`、`docs/history/`、`docs/evidence/` | 按记录的时间、批次和代码身份阅读,不当成当前配置或最新结论 |
67
+
68
+ `spec/session-memory/` 的捕获来源记录保留在
69
+ `tasks/v2/contracts/compaction/capture.json`,原始样本在同目录的 `dump/`。
70
+ 来源证据与当前构建源文件分开保存,迁移目录不改变提示词字节。
71
+
72
+ 工具脚本按用途从 [scripts/README.md](../scripts/README.md) 进入。旧脚本仍可能被
73
+ 回归测试或历史批次使用;没有静态引用不等于可以删除。`code-harness`、旧环境变量
74
+ 别名和生成文件也属于兼容或打包路径,不作为重复实现清理。
75
+
45
76
  ## 模式选择
46
77
 
47
78
  统一 CLI 使用显式参数:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwen-code/arena-agent",
3
- "version": "0.0.10-dev.10",
3
+ "version": "0.0.10-dev.11",
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",
@@ -73,6 +73,7 @@
73
73
  "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.web.json --noEmit && npm run typecheck:code-arena-replay"
74
74
  },
75
75
  "dependencies": {
76
+ "@modelcontextprotocol/sdk": "1.32.1",
76
77
  "@stacksjs/ts-webp": "^0.1.2",
77
78
  "ajv": "^8.20.0",
78
79
  "ajv-formats": "^3.0.1",
package/scripts/README.md CHANGED
@@ -1,9 +1,27 @@
1
- # 轨迹复刻脚本
1
+ # 脚本入口
2
2
 
3
- 本目录保存 DataWorks SQL Arena 轨迹数据的复刻与环境准备脚本。数据集位于
4
- `tasks/`,运行产物位于 `tasks/reproductions/`。
3
+ 本目录包含构建、发布、对齐审计和历史实验脚本。先按用途选择入口,不能将
4
+ 旧实验脚本的默认样本或配置当作当前运行设置。
5
+
6
+ | 用途 | 入口 | 说明 |
7
+ | --- | --- | --- |
8
+ | 构建 CLI、Web 与 SDK | `npm run build` | 先生成当前契约和记忆提示词数据,再编译 TypeScript |
9
+ | 校验与发布二进制 | [发版流程](../docs/MODES_AND_RELEASES.md#发布节奏) | 包含版本、changelog 和平台包检查 |
10
+ | 新批次 Agent Arena / Code Arena 对齐 | [arena-align](../skills/arena-align/SKILL.md) | 按用户指定输入组织四个阶段;不让模型重新决策 |
11
+ | Agent Arena 环境与契约审计 | `audit-arena-first-two.ts` | 当前阶段入口,保留不匹配样本;运行方式见对应 Skill |
12
+ | 旧 Agent Arena 审计 | `audit-arena-capture.ts` | 依赖旧 v2 工具基准,候选带精确契约过滤;不用于新批次完整审计 |
13
+ | 从旧 v2 数据重建契约 | `refresh-arena-v2-contract.mjs` | 显式覆盖当前 fixtures 的历史维护脚本;不是构建步骤,也不获取最新官方配置 |
14
+ | 旧任务的模型重跑实验 | `reproduce_case.mjs`、`reproduce_all.mjs` | 会调用 agent 模型重新执行任务,见下文;与历史工具回放的验证范围不同 |
15
+
16
+ `replay-*`、`audit-*`、`probe-*` 等工具中还有各批次的专项诊断入口。按关联的
17
+ Skill、测试和报告核对输入格式、执行身份及调用范围,不以文件是否出现在 npm
18
+ 命令列表里判断是否仍有用途。当前源码和生成文件的位置见
19
+ [源码入口与历史资料](../docs/MODES_AND_RELEASES.md#源码入口与历史资料)。
5
20
 
6
- ## 通用脚本
21
+ ## 旧任务的模型重跑实验
22
+
23
+ 以下说明仅适用于 DataWorks SQL Arena 数据的 `reproduce_*` 脚本。数据集位于
24
+ `tasks/`,运行产物位于 `tasks/reproductions/`。
7
25
 
8
26
  `reproduce_case.mjs` 运行单个 case,`reproduce_all.mjs`
9
27
  批量运行数据集中标记为可复刻的 case。
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy-compaction.js","sourceRoot":"","sources":["../src/legacy-compaction.ts"],"names":[],"mappings":"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"}