@tangle-network/agent-bench 0.1.0 → 0.3.6

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 (317) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/HARNESS.md +302 -0
  3. package/README.md +39 -2
  4. package/dist/adapters.d.ts +15 -0
  5. package/dist/adapters.js +43 -0
  6. package/dist/adapters.js.map +1 -0
  7. package/dist/benchmarks/_harness.d.ts +125 -0
  8. package/dist/benchmarks/_harness.js +33 -0
  9. package/dist/benchmarks/_harness.js.map +1 -0
  10. package/dist/benchmarks/aec-bench.d.ts +27 -0
  11. package/dist/benchmarks/aec-bench.js +8 -0
  12. package/dist/benchmarks/aec-bench.js.map +1 -0
  13. package/dist/benchmarks/agentbench.d.ts +16 -0
  14. package/dist/benchmarks/agentbench.js +10 -0
  15. package/dist/benchmarks/agentbench.js.map +1 -0
  16. package/dist/benchmarks/appworld.d.ts +37 -0
  17. package/dist/benchmarks/appworld.js +14 -0
  18. package/dist/benchmarks/appworld.js.map +1 -0
  19. package/dist/benchmarks/bfcl.d.ts +18 -0
  20. package/dist/benchmarks/bfcl.js +10 -0
  21. package/dist/benchmarks/bfcl.js.map +1 -0
  22. package/dist/benchmarks/cad-design.d.ts +45 -0
  23. package/dist/benchmarks/cad-design.js +7 -0
  24. package/dist/benchmarks/cad-design.js.map +1 -0
  25. package/dist/benchmarks/cadbench.d.ts +19 -0
  26. package/dist/benchmarks/cadbench.js +8 -0
  27. package/dist/benchmarks/cadbench.js.map +1 -0
  28. package/dist/benchmarks/cadgenbench.d.ts +22 -0
  29. package/dist/benchmarks/cadgenbench.js +8 -0
  30. package/dist/benchmarks/cadgenbench.js.map +1 -0
  31. package/dist/benchmarks/commit0.d.ts +31 -0
  32. package/dist/benchmarks/commit0.js +10 -0
  33. package/dist/benchmarks/commit0.js.map +1 -0
  34. package/dist/benchmarks/crag.d.ts +14 -0
  35. package/dist/benchmarks/crag.js +9 -0
  36. package/dist/benchmarks/crag.js.map +1 -0
  37. package/dist/benchmarks/dabstep.d.ts +18 -0
  38. package/dist/benchmarks/dabstep.js +10 -0
  39. package/dist/benchmarks/dabstep.js.map +1 -0
  40. package/dist/benchmarks/enterpriseops-gym.d.ts +38 -0
  41. package/dist/benchmarks/enterpriseops-gym.js +10 -0
  42. package/dist/benchmarks/enterpriseops-gym.js.map +1 -0
  43. package/dist/benchmarks/finresearchbench.d.ts +15 -0
  44. package/dist/benchmarks/finresearchbench.js +8 -0
  45. package/dist/benchmarks/finresearchbench.js.map +1 -0
  46. package/dist/benchmarks/finsearchcomp.d.ts +49 -0
  47. package/dist/benchmarks/finsearchcomp.js +7 -0
  48. package/dist/benchmarks/finsearchcomp.js.map +1 -0
  49. package/dist/benchmarks/frames.d.ts +59 -0
  50. package/dist/benchmarks/frames.js +13 -0
  51. package/dist/benchmarks/frames.js.map +1 -0
  52. package/dist/benchmarks/hotpotqa.d.ts +48 -0
  53. package/dist/benchmarks/hotpotqa.js +15 -0
  54. package/dist/benchmarks/hotpotqa.js.map +1 -0
  55. package/dist/benchmarks/humaneval.d.ts +53 -0
  56. package/dist/benchmarks/humaneval.js +15 -0
  57. package/dist/benchmarks/humaneval.js.map +1 -0
  58. package/dist/benchmarks/mind2web.d.ts +41 -0
  59. package/dist/benchmarks/mind2web.js +9 -0
  60. package/dist/benchmarks/mind2web.js.map +1 -0
  61. package/dist/benchmarks/nomiracl.d.ts +15 -0
  62. package/dist/benchmarks/nomiracl.js +9 -0
  63. package/dist/benchmarks/nomiracl.js.map +1 -0
  64. package/dist/benchmarks/open-rag-bench.d.ts +14 -0
  65. package/dist/benchmarks/open-rag-bench.js +9 -0
  66. package/dist/benchmarks/open-rag-bench.js.map +1 -0
  67. package/dist/benchmarks/programbench.d.ts +38 -0
  68. package/dist/benchmarks/programbench.js +10 -0
  69. package/dist/benchmarks/programbench.js.map +1 -0
  70. package/dist/benchmarks/rag-shared.d.ts +42 -0
  71. package/dist/benchmarks/rag-shared.js +39 -0
  72. package/dist/benchmarks/rag-shared.js.map +1 -0
  73. package/dist/benchmarks/ragbench.d.ts +16 -0
  74. package/dist/benchmarks/ragbench.js +9 -0
  75. package/dist/benchmarks/ragbench.js.map +1 -0
  76. package/dist/benchmarks/simpleqa.d.ts +64 -0
  77. package/dist/benchmarks/simpleqa.js +11 -0
  78. package/dist/benchmarks/simpleqa.js.map +1 -0
  79. package/dist/benchmarks/swe-bench.d.ts +56 -0
  80. package/dist/benchmarks/swe-bench.js +14 -0
  81. package/dist/benchmarks/swe-bench.js.map +1 -0
  82. package/dist/benchmarks/t2-ragbench.d.ts +14 -0
  83. package/dist/benchmarks/t2-ragbench.js +9 -0
  84. package/dist/benchmarks/t2-ragbench.js.map +1 -0
  85. package/dist/benchmarks/tau-bench-shared.d.ts +26 -0
  86. package/dist/benchmarks/tau-bench-shared.js +10 -0
  87. package/dist/benchmarks/tau-bench-shared.js.map +1 -0
  88. package/dist/benchmarks/tau2-bench.d.ts +7 -0
  89. package/dist/benchmarks/tau2-bench.js +11 -0
  90. package/dist/benchmarks/tau2-bench.js.map +1 -0
  91. package/dist/benchmarks/tau3-banking.d.ts +15 -0
  92. package/dist/benchmarks/tau3-banking.js +9 -0
  93. package/dist/benchmarks/tau3-banking.js.map +1 -0
  94. package/dist/benchmarks/terminal-bench.d.ts +24 -0
  95. package/dist/benchmarks/terminal-bench.js +8 -0
  96. package/dist/benchmarks/terminal-bench.js.map +1 -0
  97. package/dist/benchmarks/toollm.d.ts +16 -0
  98. package/dist/benchmarks/toollm.js +10 -0
  99. package/dist/benchmarks/toollm.js.map +1 -0
  100. package/dist/benchmarks/trata-hedge.d.ts +32 -0
  101. package/dist/benchmarks/trata-hedge.js +7 -0
  102. package/dist/benchmarks/trata-hedge.js.map +1 -0
  103. package/dist/benchmarks/types.d.ts +107 -0
  104. package/dist/benchmarks/types.js +1 -0
  105. package/dist/benchmarks/types.js.map +1 -0
  106. package/dist/benchmarks/webarena-verified.d.ts +16 -0
  107. package/dist/benchmarks/webarena-verified.js +10 -0
  108. package/dist/benchmarks/webarena-verified.js.map +1 -0
  109. package/dist/chunk-2PVVP7GN.js +197 -0
  110. package/dist/chunk-2PVVP7GN.js.map +1 -0
  111. package/dist/chunk-2XU6OGEN.js +170 -0
  112. package/dist/chunk-2XU6OGEN.js.map +1 -0
  113. package/dist/chunk-53UPUNBZ.js +325 -0
  114. package/dist/chunk-53UPUNBZ.js.map +1 -0
  115. package/dist/chunk-5SBJCB6W.js +144 -0
  116. package/dist/chunk-5SBJCB6W.js.map +1 -0
  117. package/dist/chunk-7WSD27QQ.js +118 -0
  118. package/dist/chunk-7WSD27QQ.js.map +1 -0
  119. package/dist/chunk-C7T7WEK2.js +103 -0
  120. package/dist/chunk-C7T7WEK2.js.map +1 -0
  121. package/dist/chunk-CKUVRZ2T.js +251 -0
  122. package/dist/chunk-CKUVRZ2T.js.map +1 -0
  123. package/dist/chunk-HBSWHQNJ.js +30 -0
  124. package/dist/chunk-HBSWHQNJ.js.map +1 -0
  125. package/dist/chunk-HHXFIHXC.js +116 -0
  126. package/dist/chunk-HHXFIHXC.js.map +1 -0
  127. package/dist/chunk-IFAV6KEM.js +276 -0
  128. package/dist/chunk-IFAV6KEM.js.map +1 -0
  129. package/dist/chunk-INNOYXCP.js +387 -0
  130. package/dist/chunk-INNOYXCP.js.map +1 -0
  131. package/dist/chunk-J3KDJNX2.js +182 -0
  132. package/dist/chunk-J3KDJNX2.js.map +1 -0
  133. package/dist/chunk-JRWWGMK7.js +148 -0
  134. package/dist/chunk-JRWWGMK7.js.map +1 -0
  135. package/dist/chunk-JTHWEDEW.js +32 -0
  136. package/dist/chunk-JTHWEDEW.js.map +1 -0
  137. package/dist/chunk-KDIKRJGB.js +120 -0
  138. package/dist/chunk-KDIKRJGB.js.map +1 -0
  139. package/dist/chunk-LRRD7NAG.js +301 -0
  140. package/dist/chunk-LRRD7NAG.js.map +1 -0
  141. package/dist/chunk-ODT47UAY.js +221 -0
  142. package/dist/chunk-ODT47UAY.js.map +1 -0
  143. package/dist/chunk-PA2ZKHJC.js +230 -0
  144. package/dist/chunk-PA2ZKHJC.js.map +1 -0
  145. package/dist/chunk-PPYSEKFM.js +182 -0
  146. package/dist/chunk-PPYSEKFM.js.map +1 -0
  147. package/dist/chunk-PUIRNYI7.js +189 -0
  148. package/dist/chunk-PUIRNYI7.js.map +1 -0
  149. package/dist/chunk-R36V2VP7.js +169 -0
  150. package/dist/chunk-R36V2VP7.js.map +1 -0
  151. package/dist/chunk-R67DFVLO.js +142 -0
  152. package/dist/chunk-R67DFVLO.js.map +1 -0
  153. package/dist/chunk-SEVJPLZC.js +260 -0
  154. package/dist/chunk-SEVJPLZC.js.map +1 -0
  155. package/dist/chunk-SYDW647C.js +318 -0
  156. package/dist/chunk-SYDW647C.js.map +1 -0
  157. package/dist/chunk-TBKU5XQI.js +228 -0
  158. package/dist/chunk-TBKU5XQI.js.map +1 -0
  159. package/dist/chunk-TSWPNOYM.js +147 -0
  160. package/dist/chunk-TSWPNOYM.js.map +1 -0
  161. package/dist/chunk-UAIOHCUK.js +27 -0
  162. package/dist/chunk-UAIOHCUK.js.map +1 -0
  163. package/dist/chunk-UPAMRDX4.js +233 -0
  164. package/dist/chunk-UPAMRDX4.js.map +1 -0
  165. package/dist/chunk-VQRS7VUC.js +342 -0
  166. package/dist/chunk-VQRS7VUC.js.map +1 -0
  167. package/dist/chunk-X3BTXCJ4.js +262 -0
  168. package/dist/chunk-X3BTXCJ4.js.map +1 -0
  169. package/dist/chunk-X5YKXC6V.js +211 -0
  170. package/dist/chunk-X5YKXC6V.js.map +1 -0
  171. package/dist/chunk-Y6O2OCUO.js +130 -0
  172. package/dist/chunk-Y6O2OCUO.js.map +1 -0
  173. package/dist/chunk-YCGY7UIZ.js +208 -0
  174. package/dist/chunk-YCGY7UIZ.js.map +1 -0
  175. package/dist/chunk-Z7ML6L77.js +162 -0
  176. package/dist/chunk-Z7ML6L77.js.map +1 -0
  177. package/dist/chunk-ZEWMTR5M.js +136 -0
  178. package/dist/chunk-ZEWMTR5M.js.map +1 -0
  179. package/dist/index.d.ts +355 -0
  180. package/dist/index.js +1908 -0
  181. package/dist/index.js.map +1 -0
  182. package/fixtures/aec-bench.json +18 -0
  183. package/fixtures/agentbench-dbbench.json +22 -0
  184. package/fixtures/bfcl.json +45 -0
  185. package/fixtures/commit0.json +72 -0
  186. package/fixtures/crag.json +10 -0
  187. package/fixtures/dabstep.json +22 -0
  188. package/fixtures/enterpriseops-gym.json +103 -0
  189. package/fixtures/finresearchbench.json +21 -0
  190. package/fixtures/finsearchcomp.json +66 -0
  191. package/fixtures/frames.json +26 -0
  192. package/fixtures/hotpotqa.json +182 -0
  193. package/fixtures/nomiracl.json +26 -0
  194. package/fixtures/open-rag-bench.json +16 -0
  195. package/fixtures/pier-agent/no-model-task/environment/Dockerfile +16 -0
  196. package/fixtures/pier-agent/no-model-task/environment/seed/src/status.txt +1 -0
  197. package/fixtures/pier-agent/no-model-task/instruction.md +6 -0
  198. package/fixtures/pier-agent/no-model-task/pre_artifacts.sh +6 -0
  199. package/fixtures/pier-agent/no-model-task/task.toml +35 -0
  200. package/fixtures/pier-agent/no-model-task/tests/Dockerfile +17 -0
  201. package/fixtures/pier-agent/no-model-task/tests/seed/src/status.txt +1 -0
  202. package/fixtures/pier-agent/no-model-task/tests/test.sh +19 -0
  203. package/fixtures/programbench.json +17 -0
  204. package/fixtures/ragbench.json +21 -0
  205. package/fixtures/simpleqa.json +121 -0
  206. package/fixtures/t2-ragbench.json +13 -0
  207. package/fixtures/tau2-bench.json +16 -0
  208. package/fixtures/tau3-banking.json +16 -0
  209. package/fixtures/toollm.json +28 -0
  210. package/fixtures/webarena-verified.json +20 -0
  211. package/package.json +60 -20
  212. package/pier_agents/__init__.py +18 -0
  213. package/pier_agents/candidate_contract.py +755 -0
  214. package/pier_agents/process_boundary.py +321 -0
  215. package/pier_agents/tangle_candidate.py +907 -0
  216. package/pier_agents/workspace_boundary.py +368 -0
  217. package/scripts/appworld_driver.py +359 -0
  218. package/scripts/cadbench_prepare.py +22 -0
  219. package/scripts/cadgenbench_hard_parts.py +48 -0
  220. package/scripts/clbench_codebase_judge.py +73 -0
  221. package/scripts/commit0_judge.py +170 -0
  222. package/scripts/dabstep_judge.py +42 -0
  223. package/scripts/enterpriseops_gym_judge.py +281 -0
  224. package/scripts/programbench_judge.py +120 -0
  225. package/scripts/render-gate-chart.mjs +176 -0
  226. package/scripts/run-package-tests.mjs +56 -0
  227. package/scripts/terminate-pier-trial.mts +66 -0
  228. package/scripts/trata-hedge/README.md +56 -0
  229. package/scripts/trata-hedge/run.sh +60 -0
  230. package/scripts/trata-hedge/solve.py +83 -0
  231. package/scripts/verify-packed-consumer.mjs +235 -0
  232. package/scripts/verify-pier-agent.mts +715 -0
  233. package/scripts/verify-pier-pair.mts +74 -0
  234. package/scripts/verify-pier-recovery.mts +139 -0
  235. package/src/adapters.ts +26 -0
  236. package/src/benchmarks/_harness.test.mts +178 -0
  237. package/src/benchmarks/_harness.ts +239 -16
  238. package/src/benchmarks/agentbench.ts +163 -0
  239. package/src/benchmarks/appworld.test.mts +15 -9
  240. package/src/benchmarks/bfcl.ts +346 -0
  241. package/src/benchmarks/crag.ts +137 -0
  242. package/src/benchmarks/dabstep.test.mts +70 -0
  243. package/src/benchmarks/dabstep.ts +212 -0
  244. package/src/benchmarks/external-adapters.test.mts +150 -0
  245. package/src/benchmarks/finresearchbench.ts +269 -0
  246. package/src/benchmarks/humaneval.ts +20 -8
  247. package/src/benchmarks/nomiracl.ts +180 -0
  248. package/src/benchmarks/open-rag-bench.ts +153 -0
  249. package/src/benchmarks/rag-benchmarks.test.mts +138 -0
  250. package/src/benchmarks/rag-shared.ts +327 -0
  251. package/src/benchmarks/ragbench.ts +171 -0
  252. package/src/benchmarks/swe-bench.test.mts +61 -0
  253. package/src/benchmarks/swe-bench.ts +201 -19
  254. package/src/benchmarks/t2-ragbench.ts +166 -0
  255. package/src/benchmarks/tau-bench-shared.ts +214 -0
  256. package/src/benchmarks/tau2-bench.ts +30 -0
  257. package/src/benchmarks/tau3-banking.ts +29 -0
  258. package/src/benchmarks/terminal-bench.test.mts +33 -0
  259. package/src/benchmarks/terminal-bench.ts +23 -8
  260. package/src/benchmarks/toollm.ts +254 -0
  261. package/src/benchmarks/types.ts +42 -0
  262. package/src/benchmarks/webarena-verified.ts +200 -0
  263. package/src/commit0-prereqs.sh +0 -0
  264. package/src/coordination-mcp-container-reach.mts +181 -0
  265. package/src/decoder-live.mts +1 -1
  266. package/src/examples/README.md +103 -39
  267. package/src/examples/benchmark-matrix.mts +101 -0
  268. package/src/examples/lean-proof-gate.README.md +77 -0
  269. package/src/examples/lean-proof-gate.mts +162 -0
  270. package/src/examples/lean-verify.ts +95 -0
  271. package/src/examples/lean.Dockerfile +12 -0
  272. package/src/examples/math-demo.mts +9 -7
  273. package/src/examples/strategy-demo.mts +10 -12
  274. package/src/gate.ts +3 -2
  275. package/src/hev-eval.mts +69 -0
  276. package/src/hev-improve.mts +169 -0
  277. package/src/hev-structural.mts +688 -0
  278. package/src/index.ts +73 -0
  279. package/src/mbpp-structural.mts +662 -0
  280. package/src/pier-agent.test-fixtures.mts +19 -0
  281. package/src/pier-agent.test.mts +363 -0
  282. package/src/pier-agent.ts +657 -0
  283. package/src/pier-result-grader.mjs +30 -0
  284. package/src/pier-result-grader.test.mts +62 -0
  285. package/src/pier-result-grader.ts +108 -0
  286. package/src/pier-task-outcome.test.mts +117 -0
  287. package/src/pier-task-outcome.ts +240 -0
  288. package/src/pier-trial-controller.test.mts +412 -0
  289. package/src/pier-trial-controller.ts +858 -0
  290. package/src/pier-trial-supervisor.mjs +352 -0
  291. package/src/resolve-client.ts +25 -2
  292. package/src/run-benchmarks-cli.mts +72 -0
  293. package/src/run-benchmarks-report.ts +66 -0
  294. package/src/run-benchmarks.test.mts +231 -0
  295. package/src/run-benchmarks.ts +589 -0
  296. package/src/smoke-structural-rollout.mts +393 -0
  297. package/src/swe-bench-env.test.ts +207 -0
  298. package/src/swe-bench-env.ts +554 -0
  299. package/src/swe-jail.ts +293 -0
  300. package/src/swe-self-improve.mts +84 -0
  301. package/src/swe-structural-judge-policy.test.ts +117 -0
  302. package/src/swe-structural-judge-policy.ts +133 -0
  303. package/src/swe-structural-policy.test.ts +124 -0
  304. package/src/swe-structural-policy.ts +132 -0
  305. package/src/swe-structural-provenance.test.ts +93 -0
  306. package/src/swe-structural-provenance.ts +138 -0
  307. package/src/swe-structural.mts +1260 -0
  308. package/src/swe-temp.ts +14 -0
  309. package/src/tb-container-executor.mts +234 -0
  310. package/src/tb-container-executor.test.mts +99 -0
  311. package/src/tb-supervisor-sidecar.mts +222 -0
  312. package/src/trata-gepa.mts +1 -1
  313. package/steerers/eops-itsm-population.json +1 -0
  314. package/tb_agents/opencode_refine_agent.py +117 -0
  315. package/tb_agents/opencode_router_agent.py +406 -0
  316. package/tb_agents/opencode_supervisor_agent.py +239 -0
  317. package/tb_agents/script_agent.py +66 -0
@@ -0,0 +1,6 @@
1
+ Change src/status.txt so it contains exactly:
2
+
3
+ ready
4
+ owner=tangle
5
+
6
+ Commit the change to git when finished.
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ mkdir -p /logs/artifacts
5
+ cd /app
6
+ git -c safe.directory=/app diff --binary benchmark-base..HEAD > /logs/artifacts/model.patch
@@ -0,0 +1,35 @@
1
+ version = "1.0"
2
+
3
+ [task]
4
+ name = "agent-bench/pier-candidate-no-model"
5
+ authors = []
6
+ keywords = ["pier", "candidate", "no-model"]
7
+
8
+ [metadata]
9
+ author_name = "Tangle Research"
10
+ author_email = "research@tangle.tools"
11
+ difficulty = "synthetic"
12
+ category = "software-engineering"
13
+ tags = ["no-model", "separate-verifier"]
14
+
15
+ [agent]
16
+ timeout_sec = 60.0
17
+
18
+ [verifier]
19
+ timeout_sec = 60.0
20
+ environment_mode = "separate"
21
+
22
+ [verifier.environment]
23
+
24
+ [environment]
25
+ build_timeout_sec = 300.0
26
+ cpus = 1
27
+ memory_mb = 1024
28
+ storage_mb = 2048
29
+ gpus = 0
30
+ allow_internet = false
31
+ mcp_servers = []
32
+
33
+ [verifier.env]
34
+
35
+ [solution.env]
@@ -0,0 +1,17 @@
1
+ FROM ubuntu:24.04
2
+
3
+ RUN apt-get update \
4
+ && apt-get install -y --no-install-recommends git ca-certificates \
5
+ && rm -rf /var/lib/apt/lists/*
6
+
7
+ WORKDIR /app
8
+ COPY seed/ /app/
9
+ RUN git init \
10
+ && git config user.email fixture@tangle.tools \
11
+ && git config user.name "Tangle Fixture" \
12
+ && git add -A \
13
+ && GIT_AUTHOR_DATE=2000-01-01T00:00:00Z \
14
+ GIT_COMMITTER_DATE=2000-01-01T00:00:00Z \
15
+ git commit -m baseline \
16
+ && git tag benchmark-base
17
+ COPY test.sh /tests/test.sh
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ reward=0
5
+ patch_applied=0
6
+ patch=/logs/artifacts/model.patch
7
+
8
+ if [ -s "$patch" ] \
9
+ && git -c safe.directory=/app apply --check "$patch" \
10
+ && git -c safe.directory=/app apply "$patch"; then
11
+ patch_applied=1
12
+ fi
13
+ if [ "$(cat /app/src/status.txt 2>/dev/null || true)" = $'ready\nowner=tangle' ] \
14
+ && [ ! -e /app/AGENTS.md ]; then
15
+ reward=1
16
+ fi
17
+
18
+ printf '{"reward":%d,"patch_applied":%d}\n' "$reward" "$patch_applied" \
19
+ > /logs/verifier/reward.json
@@ -0,0 +1,17 @@
1
+ [
2
+ {
3
+ "instance_id": "abishekvashok__cmatrix.5c082c6",
4
+ "image_name": "abishekvashok/cmatrix",
5
+ "note": "hidden behavioral tests live in programbench/ProgramBench-Tests tests/<hash>.tar.gz; fetch via `programbench blob sync`."
6
+ },
7
+ {
8
+ "instance_id": "agourlay__zip-password-finder.704700d",
9
+ "image_name": "agourlay/zip-password-finder",
10
+ "note": "hidden behavioral tests live in programbench/ProgramBench-Tests tests/<hash>.tar.gz; fetch via `programbench blob sync`."
11
+ },
12
+ {
13
+ "instance_id": "ajeetdsouza__zoxide.67ca1bc",
14
+ "image_name": "ajeetdsouza/zoxide",
15
+ "note": "hidden behavioral tests live in programbench/ProgramBench-Tests tests/<hash>.tar.gz; fetch via `programbench blob sync`."
16
+ }
17
+ ]
@@ -0,0 +1,21 @@
1
+ [
2
+ {
3
+ "id": "ragbench-fixture-0",
4
+ "dataset": "support",
5
+ "question": "How long is the refund window?",
6
+ "response": "30 days",
7
+ "documents": [
8
+ [
9
+ ["0a", "Title: Refund policy"],
10
+ ["0b", "Customers can request a refund within 30 days of purchase."]
11
+ ],
12
+ [
13
+ ["1a", "Title: Shipping policy"],
14
+ ["1b", "Shipping labels expire after 7 days."]
15
+ ]
16
+ ],
17
+ "adherence": 1,
18
+ "completeness": 1,
19
+ "relevance": 1
20
+ }
21
+ ]
@@ -0,0 +1,121 @@
1
+ [
2
+ {
3
+ "problem": "Who received the IEEE Frank Rosenblatt Award in 2010?",
4
+ "answer": "Michio Sugeno",
5
+ "topic": "Science and technology",
6
+ "answer_type": "Person",
7
+ "urls": [
8
+ "https://en.wikipedia.org/wiki/IEEE_Frank_Rosenblatt_Award",
9
+ "https://ieeexplore.ieee.org/author/37271220500",
10
+ "https://en.wikipedia.org/wiki/IEEE_Frank_Rosenblatt_Award",
11
+ "https://www.nxtbook.com/nxtbooks/ieee/awards_2010/index.php?startid=21#/p/20"
12
+ ]
13
+ },
14
+ {
15
+ "problem": "Who was awarded the Oceanography Society's Jerlov Award in 2018?",
16
+ "answer": "Annick Bricaud",
17
+ "topic": "Science and technology",
18
+ "answer_type": "Person",
19
+ "urls": [
20
+ "https://en.wikipedia.org/wiki/The_Oceanography_Society",
21
+ "https://en.wikipedia.org/wiki/The_Oceanography_Society",
22
+ "https://tos.org/jerlov-medal",
23
+ "https://www.eurekalert.org/news-releases/490504"
24
+ ]
25
+ },
26
+ {
27
+ "problem": "What's the name of the women's liberal arts college in Cambridge, Massachusetts?",
28
+ "answer": "Radcliffe College",
29
+ "topic": "Geography",
30
+ "answer_type": "Place",
31
+ "urls": [
32
+ "https://en.wikipedia.org/wiki/Radcliffe_College",
33
+ "https://en.wikipedia.org/wiki/Radcliffe_College",
34
+ "https://www.braingainmag.com/7-historic-liberal-arts-colleges-in-the-us.htm",
35
+ "https://thepeoplesarchive.dclibrary.org/repositories/2/resources/2228"
36
+ ]
37
+ },
38
+ {
39
+ "problem": "In whose honor was the Leipzig 1877 tournament organized?",
40
+ "answer": "Adolf Anderssen",
41
+ "topic": "Sports",
42
+ "answer_type": "Person",
43
+ "urls": [
44
+ "https://en.wikipedia.org/wiki/Adolf_Anderssen",
45
+ "https://www.chessgames.com/perl/chess.pl?tid=79429",
46
+ "https://en.wikipedia.org/wiki/Adolf_Anderssen"
47
+ ]
48
+ },
49
+ {
50
+ "problem": "According to Karl Küchler, what did Empress Elizabeth of Austria's favorite sculpture depict, which was made for her villa Achilleion at Corfu?",
51
+ "answer": "Poet Henrich Heine.",
52
+ "topic": "Art",
53
+ "answer_type": "Person",
54
+ "urls": [
55
+ "https://www.gutenberg.org/files/60408/60408-h/60408-h.htm\nhttps://en.wikipedia.org/wiki/Achilleion_(Corfu)",
56
+ "https://www.gutenberg.org/cache/epub/60408/pg60408-images.html",
57
+ "https://archive.org/stream/elizabethempres01burggoog/elizabethempres01burggoog_djvu.txt",
58
+ "https://www.habsburger.net/en/chapter/achilleion-corfu-elisabeths-flight-antiquity"
59
+ ]
60
+ },
61
+ {
62
+ "problem": "How much money, in euros, was the surgeon held responsible for Stella Obasanjo's death ordered to pay her son?",
63
+ "answer": "120,000",
64
+ "topic": "Politics",
65
+ "answer_type": "Number",
66
+ "urls": [
67
+ "https://en.wikipedia.org/wiki/Stella_Obasanjo#Death",
68
+ "https://en.wikipedia.org/wiki/Stella_Obasanjo",
69
+ "https://www.independent.co.uk/news/world/africa/surgeon-jailed-over-death-of-first-lady-1791712.html)",
70
+ "https://www.abc.net.au/news/2009-09-22/doctor-jailed-over-former-first-ladys-lipo-death/1437416)"
71
+ ]
72
+ },
73
+ {
74
+ "problem": "What were the month and year when Obama told Christianity Today, \"I am a Christian, and I am a devout Christian. I believe in the redemptive death and resurrection of Jesus Christ\"?",
75
+ "answer": "January 2008",
76
+ "topic": "Politics",
77
+ "answer_type": "Date",
78
+ "urls": [
79
+ "https://en.wikipedia.org/wiki/Barack_Obama",
80
+ "https://will-lover-32-wikia.fandom.com/wiki/Barack_obama",
81
+ "https://people.wikimedia.org/~ori/mod_pagespeed_tests/obama-modpagespeed.html",
82
+ "https://www.dreame.com/story/2723094784-beyond-the-crust/0196694272-a-new-passenger.html"
83
+ ]
84
+ },
85
+ {
86
+ "problem": "Who appointed the Chief Justice of India, Mirza Hameedullah Beg, in 1977?",
87
+ "answer": "Fakhruddin Ali Ahmed",
88
+ "topic": "Politics",
89
+ "answer_type": "Person",
90
+ "urls": [
91
+ "https://en.wikipedia.org/wiki/Mirza_Hameedullah_Beg",
92
+ "https://en.wikipedia.org/wiki/Mirza_Hameedullah_Beg",
93
+ "https://www.tutorialspoint.com/mirza-hameedullah-beg-former-chief-justice-of-india",
94
+ "https://en.wikipedia.org/wiki/List_of_chief_justices_of_India"
95
+ ]
96
+ },
97
+ {
98
+ "problem": "What is the name of the former Prime Minister of Iceland who worked as a cabin crew member until 1971?",
99
+ "answer": "Jóhanna Sigurðardóttir",
100
+ "topic": "Politics",
101
+ "answer_type": "Person",
102
+ "urls": [
103
+ "https://en.wikipedia.org/wiki/J%C3%B3hanna_Sigur%C3%B0ard%C3%B3ttir",
104
+ "https://en.wikipedia.org/wiki/J%C3%B3hanna_Sigur%C3%B0ard%C3%B3ttir",
105
+ "https://www.britannica.com/biography/Johanna-Sigurdardottir",
106
+ "https://kids.kiddle.co/J%C3%B3hanna_Sigur%C3%B0ard%C3%B3ttir"
107
+ ]
108
+ },
109
+ {
110
+ "problem": "To whom did Mehbooba Mufti Sayed contest the 2019 Lok Sabha elections and lose?",
111
+ "answer": "Hasnain Masoodi",
112
+ "topic": "Politics",
113
+ "answer_type": "Person",
114
+ "urls": [
115
+ "https://en.wikipedia.org/wiki/Mehbooba_Mufti#References",
116
+ "https://www.indiatoday.in/elections/lok-sabha-2019/story/j-k-lok-sabha-results-2019-pdp-chief-mehbooba-mufti-loses-anantnag-seat-to-nc-hasnain-masoodi-1533245-2019-05-23",
117
+ "https://en.wikipedia.org/wiki/Mehbooba_Mufti#Political_career",
118
+ "https://timesofindia.indiatimes.com/elections/lok-sabha-constituencies/jammu-kashmir/anantnag"
119
+ ]
120
+ }
121
+ ]
@@ -0,0 +1,13 @@
1
+ [
2
+ {
3
+ "id": "t2-ragbench-fixture-0",
4
+ "subset": "finqa",
5
+ "context_id": "10k-0001",
6
+ "question": "What is the percentage increase from 100 to 112?",
7
+ "program_answer": "12%",
8
+ "original_answer": "12.0 percent",
9
+ "context": "Revenue increased from 100 in 2024 to 112 in 2025.",
10
+ "table": "Year | Revenue\n2024 | 100\n2025 | 112",
11
+ "file_name": "10k-0001.pdf"
12
+ }
13
+ ]
@@ -0,0 +1,16 @@
1
+ [
2
+ {
3
+ "id": "retail-fixture-0",
4
+ "domain": "retail",
5
+ "user_scenario": {
6
+ "persona": "A customer contacting support.",
7
+ "instructions": "Ask the agent to check an order status and follow the retail policy."
8
+ },
9
+ "description": {
10
+ "purpose": "Fixture row for adapter plumbing only."
11
+ },
12
+ "evaluation_criteria": {
13
+ "reward_basis": ["DB", "COMMUNICATE"]
14
+ }
15
+ }
16
+ ]
@@ -0,0 +1,16 @@
1
+ [
2
+ {
3
+ "id": "banking-knowledge-fixture-0",
4
+ "domain": "banking_knowledge",
5
+ "user_scenario": {
6
+ "instructions": "The customer asks whether they can dispute a cash-back charge and needs the correct policy path before any account mutation."
7
+ },
8
+ "description": "Adapter fixture for tau3 banking knowledge task loading.",
9
+ "evaluation_criteria": {
10
+ "actions": [
11
+ "retrieve the relevant banking policy",
12
+ "only mutate account state after confirming the policy path"
13
+ ]
14
+ }
15
+ }
16
+ ]
@@ -0,0 +1,28 @@
1
+ [
2
+ {
3
+ "query_id": 1,
4
+ "query": "Verify API health by calling the Checkhealth endpoint, then retrieve the list of projects using the Projects endpoint.",
5
+ "api_list": [
6
+ {
7
+ "category_name": "Logistics",
8
+ "tool_name": "SQUAKE",
9
+ "api_name": "Checkhealth",
10
+ "required_parameters": [],
11
+ "optional_parameters": [],
12
+ "method": "GET"
13
+ },
14
+ {
15
+ "category_name": "Logistics",
16
+ "tool_name": "SQUAKE",
17
+ "api_name": "Projects",
18
+ "required_parameters": [],
19
+ "optional_parameters": [],
20
+ "method": "GET"
21
+ }
22
+ ],
23
+ "relevant APIs": [
24
+ ["SQUAKE", "Checkhealth"],
25
+ ["SQUAKE", "Projects"]
26
+ ]
27
+ }
28
+ ]
@@ -0,0 +1,20 @@
1
+ [
2
+ {
3
+ "sites": ["shopping_admin"],
4
+ "task_id": 0,
5
+ "intent_template_id": 279,
6
+ "start_urls": ["__SHOPPING_ADMIN__"],
7
+ "intent": "Get the top-1 best-selling product name(s) in 2022",
8
+ "revision": 2,
9
+ "eval": [
10
+ {
11
+ "evaluator": "AgentResponseEvaluator",
12
+ "expected": {
13
+ "task_type": "retrieve",
14
+ "status": "SUCCESS",
15
+ "retrieved_data": ["Quest Lumaflex Band"]
16
+ }
17
+ }
18
+ ]
19
+ }
20
+ ]
package/package.json CHANGED
@@ -1,35 +1,75 @@
1
1
  {
2
2
  "name": "@tangle-network/agent-bench",
3
- "version": "0.1.0",
3
+ "version": "0.3.6",
4
4
  "type": "module",
5
- "description": "The unified benchmark suite for agent-runtime agents: 18 adapters (commit0, enterpriseops-gym, trata-hedge, finsearchcomp, swe-bench, humaneval, …) behind one resolveAdapter registry, each with a real deterministic judge. Score any profile/skill/prompt change against them. Map: bench/HARNESS.md.",
6
- "main": "src/index.ts",
7
- "types": "src/index.ts",
8
- "exports": {
9
- ".": "./src/index.ts",
10
- "./adapters": "./src/adapters.ts",
11
- "./benchmarks/*": "./src/benchmarks/*.ts"
5
+ "description": "The unified benchmark suite for agent-runtime agents: 31 adapters (commit0, enterpriseops-gym, ragbench, crag, nomiracl, open-rag-bench, t2-ragbench, tau3-banking, bfcl, finresearchbench, …) behind one resolveAdapter registry, each with a real judge or fail-loud unsupported scorer. Score any profile/skill/prompt change against them. Map: bench/HARNESS.md.",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/tangle-network/agent-runtime.git",
9
+ "directory": "bench"
12
10
  },
13
- "scripts": {
14
- "gate": "tsx src/corpus-replay.mts corpus/finsearch.jsonl --selector",
15
- "gate-cli": "tsx src/gate-cli.mts",
16
- "gate-report": "tsx src/corpus-report.mts corpus/finsearch.jsonl",
17
- "terminal-compare": "tsx src/terminal-compare.ts"
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ },
18
+ "./adapters": {
19
+ "types": "./dist/adapters.d.ts",
20
+ "import": "./dist/adapters.js"
21
+ },
22
+ "./benchmarks/*": {
23
+ "types": "./dist/benchmarks/*.d.ts",
24
+ "import": "./dist/benchmarks/*.js"
25
+ }
18
26
  },
19
27
  "dependencies": {
20
- "@tangle-network/agent-eval": "^0.100.0",
21
- "@tangle-network/agent-runtime": "^0.78.0",
22
- "@tangle-network/sandbox": "^0.9.3"
28
+ "@tangle-network/agent-eval": "0.122.8",
29
+ "@tangle-network/agent-interface": "0.31.0",
30
+ "@tangle-network/sandbox": "^0.11.1",
31
+ "@tangle-network/agent-runtime": "0.97.0"
23
32
  },
24
33
  "devDependencies": {
25
- "tsx": "^4.19.0",
26
- "typescript": "^6.0.3"
34
+ "@types/node": "^25.9.3",
35
+ "tsx": "^4.22.4",
36
+ "tsup": "^8.5.1",
37
+ "typescript": "^5.7.0"
38
+ },
39
+ "engines": {
40
+ "node": ">=20.19.0"
27
41
  },
28
42
  "files": [
43
+ "dist",
29
44
  "src",
30
- "README.md"
45
+ "fixtures",
46
+ "scripts",
47
+ "pier_agents/__init__.py",
48
+ "pier_agents/candidate_contract.py",
49
+ "pier_agents/process_boundary.py",
50
+ "pier_agents/tangle_candidate.py",
51
+ "pier_agents/workspace_boundary.py",
52
+ "tb_agents/*.py",
53
+ "steerers",
54
+ "CHANGELOG.md",
55
+ "README.md",
56
+ "HARNESS.md"
31
57
  ],
32
58
  "publishConfig": {
33
59
  "access": "public"
60
+ },
61
+ "scripts": {
62
+ "prebuild": "pnpm --dir .. build",
63
+ "build": "tsup",
64
+ "gate": "tsx src/corpus-replay.mts corpus/finsearch.jsonl --selector",
65
+ "gate-cli": "tsx src/gate-cli.mts",
66
+ "run-benchmarks": "tsx src/run-benchmarks-cli.mts",
67
+ "gate-report": "tsx src/corpus-report.mts corpus/finsearch.jsonl",
68
+ "terminal-compare": "tsx src/terminal-compare.ts",
69
+ "test": "node scripts/run-package-tests.mjs",
70
+ "typecheck:public": "tsc -p tsconfig.public.json",
71
+ "verify:package": "node scripts/verify-packed-consumer.mjs",
72
+ "verify:package:local-runtime": "node scripts/verify-packed-consumer.mjs --local-runtime",
73
+ "verify:pier": "tsx scripts/verify-pier-pair.mts"
34
74
  }
35
- }
75
+ }
@@ -0,0 +1,18 @@
1
+ """Pier custom agents shipped by ``@tangle-network/agent-bench``."""
2
+
3
+ from typing import TYPE_CHECKING, Any
4
+
5
+
6
+ if TYPE_CHECKING:
7
+ from .tangle_candidate import TangleCandidateAgent
8
+
9
+ __all__ = ["TangleCandidateAgent"]
10
+
11
+
12
+ def __getattr__(name: str) -> Any:
13
+ """Load Pier only when callers request the custom agent."""
14
+ if name != "TangleCandidateAgent":
15
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
16
+ from .tangle_candidate import TangleCandidateAgent
17
+
18
+ return TangleCandidateAgent