niceeval 0.12.1 → 0.12.2-canary.31

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 (3266) hide show
  1. package/INDEX.md +33 -27
  2. package/bin/niceeval.js +8 -6
  3. package/dist/agents/ai-sdk-otel.cjs +54 -0
  4. package/dist/agents/ai-sdk-otel.cjs.map +1 -0
  5. package/dist/agents/ai-sdk-otel.d.cts +27 -0
  6. package/dist/agents/ai-sdk-otel.d.mts +27 -0
  7. package/dist/agents/ai-sdk-otel.d.ts +27 -0
  8. package/dist/agents/ai-sdk-otel.js +6 -0
  9. package/dist/agents/ai-sdk-otel.js.map +1 -0
  10. package/dist/agents/ai-sdk-otel.mjs +6 -0
  11. package/dist/agents/ai-sdk-otel.mjs.map +1 -0
  12. package/dist/agents/ai-sdk.cjs +412 -0
  13. package/dist/agents/ai-sdk.cjs.map +1 -0
  14. package/dist/agents/ai-sdk.d.cts +214 -0
  15. package/dist/agents/ai-sdk.d.mts +214 -0
  16. package/dist/agents/ai-sdk.d.ts +214 -0
  17. package/dist/agents/ai-sdk.js +8 -0
  18. package/dist/agents/ai-sdk.js.map +1 -0
  19. package/dist/agents/bub-install-spec.cjs +42 -0
  20. package/dist/agents/bub-install-spec.cjs.map +1 -0
  21. package/dist/agents/bub-install-spec.d.cts +22 -0
  22. package/dist/agents/bub-install-spec.d.mts +22 -0
  23. package/dist/agents/bub-install-spec.d.ts +22 -0
  24. package/dist/agents/bub-install-spec.js +20 -0
  25. package/dist/agents/bub-install-spec.js.map +1 -0
  26. package/dist/agents/bub.cjs +204 -0
  27. package/dist/agents/bub.cjs.map +1 -0
  28. package/dist/agents/bub.d.cts +57 -0
  29. package/dist/agents/bub.d.mts +57 -0
  30. package/dist/agents/bub.d.ts +57 -0
  31. package/dist/agents/bub.js +7 -0
  32. package/dist/agents/bub.js.map +1 -0
  33. package/dist/agents/builtin.cjs +21 -0
  34. package/dist/agents/builtin.cjs.map +1 -0
  35. package/dist/agents/builtin.d.cts +2 -0
  36. package/dist/agents/builtin.d.mts +2 -0
  37. package/dist/agents/builtin.d.ts +2 -0
  38. package/dist/agents/builtin.js +6 -0
  39. package/dist/agents/builtin.js.map +1 -0
  40. package/dist/agents/cache-marker.cjs +6 -0
  41. package/dist/agents/cache-marker.cjs.map +1 -0
  42. package/dist/agents/cache-marker.d.cts +5 -0
  43. package/dist/agents/cache-marker.d.mts +5 -0
  44. package/dist/agents/cache-marker.js +6 -2
  45. package/dist/agents/cache-marker.js.map +1 -0
  46. package/dist/agents/claude-code.cjs +372 -0
  47. package/dist/agents/claude-code.cjs.map +1 -0
  48. package/dist/agents/claude-code.d.cts +91 -0
  49. package/dist/agents/claude-code.d.mts +91 -0
  50. package/dist/agents/claude-code.d.ts +91 -0
  51. package/dist/agents/claude-code.js +9 -0
  52. package/dist/agents/claude-code.js.map +1 -0
  53. package/dist/agents/codex.cjs +658 -0
  54. package/dist/agents/codex.cjs.map +1 -0
  55. package/dist/agents/codex.d.cts +96 -0
  56. package/dist/agents/codex.d.mts +96 -0
  57. package/dist/agents/codex.d.ts +96 -0
  58. package/dist/agents/codex.js +9 -0
  59. package/dist/agents/codex.js.map +1 -0
  60. package/dist/agents/coding-cli-versions.cjs +71 -0
  61. package/dist/agents/coding-cli-versions.cjs.map +1 -0
  62. package/dist/agents/coding-cli-versions.d.cts +40 -0
  63. package/dist/agents/coding-cli-versions.d.mts +40 -0
  64. package/dist/agents/coding-cli-versions.d.ts +40 -0
  65. package/dist/agents/coding-cli-versions.js +22 -0
  66. package/dist/agents/coding-cli-versions.js.map +1 -0
  67. package/dist/agents/hermes.cjs +237 -0
  68. package/dist/agents/hermes.cjs.map +1 -0
  69. package/dist/agents/hermes.d.cts +17 -0
  70. package/dist/agents/hermes.d.mts +17 -0
  71. package/dist/agents/hermes.d.ts +17 -0
  72. package/dist/agents/hermes.js +7 -0
  73. package/dist/agents/hermes.js.map +1 -0
  74. package/dist/agents/index.cjs +92 -0
  75. package/dist/agents/index.cjs.map +1 -0
  76. package/dist/agents/index.d.cts +44 -0
  77. package/dist/agents/index.d.mts +44 -0
  78. package/dist/agents/index.d.ts +44 -0
  79. package/dist/agents/index.js +86 -0
  80. package/dist/agents/index.js.map +1 -0
  81. package/dist/agents/index.mjs +86 -0
  82. package/dist/agents/index.mjs.map +1 -0
  83. package/dist/agents/langgraph.cjs +426 -0
  84. package/dist/agents/langgraph.cjs.map +1 -0
  85. package/dist/agents/langgraph.d.cts +43 -0
  86. package/dist/agents/langgraph.d.mts +43 -0
  87. package/dist/agents/langgraph.d.ts +43 -0
  88. package/dist/agents/langgraph.js +6 -0
  89. package/dist/agents/langgraph.js.map +1 -0
  90. package/dist/agents/marketplace.cjs +81 -0
  91. package/dist/agents/marketplace.cjs.map +1 -0
  92. package/dist/agents/marketplace.d.cts +27 -0
  93. package/dist/agents/marketplace.d.mts +27 -0
  94. package/dist/agents/marketplace.d.ts +27 -0
  95. package/dist/agents/marketplace.js +8 -0
  96. package/dist/agents/marketplace.js.map +1 -0
  97. package/dist/agents/mcp.cjs +28 -0
  98. package/dist/agents/mcp.cjs.map +1 -0
  99. package/dist/agents/mcp.d.cts +7 -0
  100. package/dist/agents/mcp.d.mts +7 -0
  101. package/dist/agents/mcp.d.ts +7 -0
  102. package/dist/agents/mcp.js +10 -0
  103. package/dist/agents/mcp.js.map +1 -0
  104. package/dist/agents/native-config.cjs +288 -0
  105. package/dist/agents/native-config.cjs.map +1 -0
  106. package/dist/agents/native-config.d.cts +71 -0
  107. package/dist/agents/native-config.d.mts +71 -0
  108. package/dist/agents/native-config.d.ts +71 -0
  109. package/dist/agents/native-config.js +18 -0
  110. package/dist/agents/native-config.js.map +1 -0
  111. package/dist/agents/npm-staged.cjs +378 -0
  112. package/dist/agents/npm-staged.cjs.map +1 -0
  113. package/dist/agents/npm-staged.d.cts +52 -0
  114. package/dist/agents/npm-staged.d.mts +52 -0
  115. package/dist/agents/npm-staged.d.ts +52 -0
  116. package/dist/agents/npm-staged.js +12 -0
  117. package/dist/agents/npm-staged.js.map +1 -0
  118. package/dist/agents/openai-compat.cjs +158 -0
  119. package/dist/agents/openai-compat.cjs.map +1 -0
  120. package/dist/agents/openai-compat.d.cts +88 -0
  121. package/dist/agents/openai-compat.d.mts +88 -0
  122. package/dist/agents/openai-compat.d.ts +88 -0
  123. package/dist/agents/openai-compat.js +12 -0
  124. package/dist/agents/openai-compat.js.map +1 -0
  125. package/dist/agents/openclaw.cjs +236 -0
  126. package/dist/agents/openclaw.cjs.map +1 -0
  127. package/dist/agents/openclaw.d.cts +26 -0
  128. package/dist/agents/openclaw.d.mts +26 -0
  129. package/dist/agents/openclaw.d.ts +26 -0
  130. package/dist/agents/openclaw.js +7 -0
  131. package/dist/agents/openclaw.js.map +1 -0
  132. package/dist/agents/opencode.cjs +228 -0
  133. package/dist/agents/opencode.cjs.map +1 -0
  134. package/dist/agents/opencode.d.cts +17 -0
  135. package/dist/agents/opencode.d.mts +17 -0
  136. package/dist/agents/opencode.d.ts +17 -0
  137. package/dist/agents/opencode.js +7 -0
  138. package/dist/agents/opencode.js.map +1 -0
  139. package/dist/agents/post-setup.cjs +119 -0
  140. package/dist/agents/post-setup.cjs.map +1 -0
  141. package/dist/agents/post-setup.d.cts +20 -0
  142. package/dist/agents/post-setup.d.mts +20 -0
  143. package/dist/agents/post-setup.d.ts +20 -0
  144. package/dist/agents/post-setup.js +12 -0
  145. package/dist/agents/post-setup.js.map +1 -0
  146. package/dist/agents/provisioner.cjs +446 -0
  147. package/dist/agents/provisioner.cjs.map +1 -0
  148. package/dist/agents/provisioner.d.cts +116 -0
  149. package/dist/agents/provisioner.d.mts +116 -0
  150. package/dist/agents/provisioner.d.ts +8 -6
  151. package/dist/agents/provisioner.js +32 -0
  152. package/dist/agents/provisioner.js.map +1 -0
  153. package/dist/agents/sdk-streams.cjs +447 -0
  154. package/dist/agents/sdk-streams.cjs.map +1 -0
  155. package/dist/agents/sdk-streams.d.cts +135 -0
  156. package/dist/agents/sdk-streams.d.mts +135 -0
  157. package/dist/agents/sdk-streams.d.ts +135 -0
  158. package/dist/agents/sdk-streams.js +12 -0
  159. package/dist/agents/sdk-streams.js.map +1 -0
  160. package/dist/agents/session-slot.cjs +8 -0
  161. package/dist/agents/session-slot.cjs.map +1 -0
  162. package/dist/agents/session-slot.d.cts +12 -0
  163. package/dist/agents/session-slot.d.mts +12 -0
  164. package/dist/agents/session-slot.js +6 -0
  165. package/dist/agents/session-slot.js.map +1 -0
  166. package/dist/agents/shared.cjs +202 -0
  167. package/dist/agents/shared.cjs.map +1 -0
  168. package/dist/agents/shared.d.cts +95 -0
  169. package/dist/agents/shared.d.mts +95 -0
  170. package/dist/agents/shared.d.ts +95 -0
  171. package/dist/agents/shared.js +6 -0
  172. package/dist/agents/shared.js.map +1 -0
  173. package/dist/agents/skills.cjs +262 -0
  174. package/dist/agents/skills.cjs.map +1 -0
  175. package/dist/agents/skills.d.cts +60 -0
  176. package/dist/agents/skills.d.mts +60 -0
  177. package/dist/agents/skills.d.ts +60 -0
  178. package/dist/agents/skills.js +22 -0
  179. package/dist/agents/skills.js.map +1 -0
  180. package/dist/agents/streaming.cjs +142 -0
  181. package/dist/agents/streaming.cjs.map +1 -0
  182. package/dist/agents/streaming.d.cts +82 -0
  183. package/dist/agents/streaming.d.mts +82 -0
  184. package/dist/agents/streaming.d.ts +82 -0
  185. package/dist/agents/streaming.js +8 -0
  186. package/dist/agents/streaming.js.map +1 -0
  187. package/dist/agents/types.cjs +5 -0
  188. package/dist/agents/types.cjs.map +1 -0
  189. package/dist/agents/types.d.cts +592 -0
  190. package/dist/agents/types.d.mts +592 -0
  191. package/dist/agents/types.d.ts +26 -20
  192. package/dist/agents/types.js +4 -2
  193. package/dist/agents/types.js.map +1 -0
  194. package/dist/agents/ui-message-stream.cjs +426 -0
  195. package/dist/agents/ui-message-stream.cjs.map +1 -0
  196. package/dist/agents/ui-message-stream.d.cts +68 -0
  197. package/dist/agents/ui-message-stream.d.mts +68 -0
  198. package/dist/agents/ui-message-stream.d.ts +68 -0
  199. package/dist/agents/ui-message-stream.js +6 -0
  200. package/dist/agents/ui-message-stream.js.map +1 -0
  201. package/dist/analysis/index.cjs +11 -0
  202. package/dist/analysis/index.cjs.map +1 -0
  203. package/dist/analysis/index.d.cts +2 -0
  204. package/dist/analysis/index.d.mts +2 -0
  205. package/dist/analysis/index.d.ts +2 -0
  206. package/dist/analysis/index.js +12 -0
  207. package/dist/analysis/index.js.map +1 -0
  208. package/dist/analysis/index.mjs +12 -0
  209. package/dist/analysis/index.mjs.map +1 -0
  210. package/dist/assertions/api.cjs +26 -0
  211. package/dist/assertions/api.cjs.map +1 -0
  212. package/dist/assertions/api.d.cts +395 -0
  213. package/dist/assertions/api.d.mts +395 -0
  214. package/dist/assertions/api.d.ts +395 -0
  215. package/dist/assertions/api.js +8 -0
  216. package/dist/assertions/api.js.map +1 -0
  217. package/dist/assertions/coverage.cjs +97 -0
  218. package/dist/assertions/coverage.cjs.map +1 -0
  219. package/dist/assertions/coverage.d.cts +23 -0
  220. package/dist/assertions/coverage.d.mts +23 -0
  221. package/dist/assertions/coverage.d.ts +1 -1
  222. package/dist/assertions/coverage.js +14 -94
  223. package/dist/assertions/coverage.js.map +1 -0
  224. package/dist/assertions/diff.cjs +249 -0
  225. package/dist/assertions/diff.cjs.map +1 -0
  226. package/dist/assertions/diff.d.cts +88 -0
  227. package/dist/assertions/diff.d.mts +88 -0
  228. package/dist/assertions/diff.d.ts +70 -2
  229. package/dist/assertions/diff.js +36 -116
  230. package/dist/assertions/diff.js.map +1 -0
  231. package/dist/assertions/display.cjs +79 -0
  232. package/dist/assertions/display.cjs.map +1 -0
  233. package/dist/assertions/display.d.cts +36 -0
  234. package/dist/assertions/display.d.mts +36 -0
  235. package/dist/assertions/display.d.ts +32 -32
  236. package/dist/assertions/display.js +14 -200
  237. package/dist/assertions/display.js.map +1 -0
  238. package/dist/assertions/identity.cjs +6 -0
  239. package/dist/assertions/identity.cjs.map +1 -0
  240. package/dist/assertions/identity.d.cts +4 -0
  241. package/dist/assertions/identity.d.mts +4 -0
  242. package/dist/assertions/identity.d.ts +4 -0
  243. package/dist/assertions/identity.js +6 -0
  244. package/dist/assertions/identity.js.map +1 -0
  245. package/dist/assertions/judge.cjs +342 -0
  246. package/dist/assertions/judge.cjs.map +1 -0
  247. package/dist/assertions/judge.d.cts +22 -0
  248. package/dist/assertions/judge.d.mts +22 -0
  249. package/dist/assertions/judge.d.ts +22 -0
  250. package/dist/assertions/judge.js +12 -0
  251. package/dist/assertions/judge.js.map +1 -0
  252. package/dist/assertions/limits.cjs +14 -0
  253. package/dist/assertions/limits.cjs.map +1 -0
  254. package/dist/assertions/limits.d.cts +10 -0
  255. package/dist/assertions/limits.d.mts +10 -0
  256. package/dist/assertions/limits.d.ts +10 -0
  257. package/dist/assertions/limits.js +6 -0
  258. package/dist/assertions/limits.js.map +1 -0
  259. package/dist/assertions/match.cjs +1314 -0
  260. package/dist/assertions/match.cjs.map +1 -0
  261. package/dist/assertions/match.d.cts +276 -0
  262. package/dist/assertions/match.d.mts +276 -0
  263. package/dist/assertions/match.d.ts +276 -0
  264. package/dist/assertions/match.js +82 -0
  265. package/dist/assertions/match.js.map +1 -0
  266. package/dist/assertions/record/attachment.cjs +448 -0
  267. package/dist/assertions/record/attachment.cjs.map +1 -0
  268. package/dist/assertions/record/attachment.d.cts +220 -0
  269. package/dist/assertions/record/attachment.d.mts +220 -0
  270. package/dist/assertions/record/attachment.d.ts +220 -0
  271. package/dist/assertions/record/attachment.js +20 -0
  272. package/dist/assertions/record/attachment.js.map +1 -0
  273. package/dist/assertions/record/codec.cjs +541 -0
  274. package/dist/assertions/record/codec.cjs.map +1 -0
  275. package/dist/assertions/record/codec.d.cts +146 -0
  276. package/dist/assertions/record/codec.d.mts +146 -0
  277. package/dist/assertions/record/codec.d.ts +146 -0
  278. package/dist/assertions/record/codec.js +42 -0
  279. package/dist/assertions/record/codec.js.map +1 -0
  280. package/dist/assertions/record/diff-model.cjs +120 -0
  281. package/dist/assertions/record/diff-model.cjs.map +1 -0
  282. package/dist/assertions/record/diff-model.d.cts +47 -0
  283. package/dist/assertions/record/diff-model.d.mts +47 -0
  284. package/dist/assertions/record/diff-model.d.ts +47 -0
  285. package/dist/assertions/record/diff-model.js +12 -0
  286. package/dist/assertions/record/diff-model.js.map +1 -0
  287. package/dist/assertions/record/diff.cjs +149 -0
  288. package/dist/assertions/record/diff.cjs.map +1 -0
  289. package/dist/assertions/record/diff.d.cts +27 -0
  290. package/dist/assertions/record/diff.d.mts +27 -0
  291. package/dist/assertions/record/diff.d.ts +27 -0
  292. package/dist/assertions/record/diff.js +18 -0
  293. package/dist/assertions/record/diff.js.map +1 -0
  294. package/dist/assertions/record/index.cjs +22 -0
  295. package/dist/assertions/record/index.cjs.map +1 -0
  296. package/dist/assertions/record/index.d.cts +5 -0
  297. package/dist/assertions/record/index.d.mts +5 -0
  298. package/dist/assertions/record/index.d.ts +5 -0
  299. package/dist/assertions/record/index.js +76 -0
  300. package/dist/assertions/record/index.js.map +1 -0
  301. package/dist/assertions/record/model.cjs +10 -0
  302. package/dist/assertions/record/model.cjs.map +1 -0
  303. package/dist/assertions/record/model.d.cts +257 -0
  304. package/dist/assertions/record/model.d.mts +257 -0
  305. package/dist/assertions/record/model.d.ts +257 -0
  306. package/dist/assertions/record/model.js +6 -0
  307. package/dist/assertions/record/model.js.map +1 -0
  308. package/dist/assertions/record/producer.cjs +55 -0
  309. package/dist/assertions/record/producer.cjs.map +1 -0
  310. package/dist/assertions/record/producer.d.cts +45 -0
  311. package/dist/assertions/record/producer.d.mts +45 -0
  312. package/dist/assertions/record/producer.d.ts +45 -0
  313. package/dist/assertions/record/producer.js +6 -0
  314. package/dist/assertions/record/producer.js.map +1 -0
  315. package/dist/assertions/runtime.cjs +1163 -0
  316. package/dist/assertions/runtime.cjs.map +1 -0
  317. package/dist/assertions/runtime.d.cts +45 -0
  318. package/dist/assertions/runtime.d.mts +45 -0
  319. package/dist/assertions/runtime.d.ts +45 -0
  320. package/dist/assertions/runtime.js +16 -0
  321. package/dist/assertions/runtime.js.map +1 -0
  322. package/dist/assertions/types.cjs +3 -0
  323. package/dist/assertions/types.cjs.map +1 -0
  324. package/dist/assertions/types.d.cts +238 -0
  325. package/dist/assertions/types.d.mts +238 -0
  326. package/dist/assertions/types.d.ts +166 -186
  327. package/dist/assertions/types.js +4 -2
  328. package/dist/assertions/types.js.map +1 -0
  329. package/dist/assertions/workspace-diff.cjs +237 -0
  330. package/dist/assertions/workspace-diff.cjs.map +1 -0
  331. package/dist/assertions/workspace-diff.d.cts +77 -0
  332. package/dist/assertions/workspace-diff.d.mts +77 -0
  333. package/dist/assertions/workspace-diff.d.ts +77 -0
  334. package/dist/assertions/workspace-diff.js +16 -0
  335. package/dist/assertions/workspace-diff.js.map +1 -0
  336. package/dist/attempt-locator-resolution.cjs +51 -0
  337. package/dist/attempt-locator-resolution.cjs.map +1 -0
  338. package/dist/attempt-locator-resolution.d.cts +18 -0
  339. package/dist/attempt-locator-resolution.d.mts +18 -0
  340. package/dist/attempt-locator-resolution.d.ts +18 -0
  341. package/dist/attempt-locator-resolution.js +6 -0
  342. package/dist/attempt-locator-resolution.js.map +1 -0
  343. package/dist/attempt-locator.cjs +122 -0
  344. package/dist/attempt-locator.cjs.map +1 -0
  345. package/dist/attempt-locator.d.cts +25 -0
  346. package/dist/attempt-locator.d.mts +25 -0
  347. package/dist/attempt-locator.d.ts +25 -0
  348. package/dist/attempt-locator.js +10 -0
  349. package/dist/attempt-locator.js.map +1 -0
  350. package/dist/cli/bootstrap.cjs +87 -0
  351. package/dist/cli/bootstrap.cjs.map +1 -0
  352. package/dist/cli/bootstrap.d.mts +1 -0
  353. package/dist/cli/bootstrap.d.ts +1 -0
  354. package/dist/cli/bootstrap.js +4 -0
  355. package/dist/cli/bootstrap.js.map +1 -0
  356. package/dist/cli/record.cjs +198 -0
  357. package/dist/cli/record.cjs.map +1 -0
  358. package/dist/cli/record.d.cts +28 -0
  359. package/dist/cli/record.d.mts +28 -0
  360. package/dist/cli/record.d.ts +28 -0
  361. package/dist/cli/record.js +12 -0
  362. package/dist/cli/record.js.map +1 -0
  363. package/dist/cli.cjs +2405 -0
  364. package/dist/cli.cjs.map +1 -0
  365. package/dist/cli.d.cts +139 -0
  366. package/dist/cli.d.mts +139 -0
  367. package/dist/cli.d.ts +139 -0
  368. package/dist/cli.js +34 -0
  369. package/dist/cli.js.map +1 -0
  370. package/dist/context/assert-first.cjs +1766 -0
  371. package/dist/context/assert-first.cjs.map +1 -0
  372. package/dist/context/assert-first.d.cts +204 -0
  373. package/dist/context/assert-first.d.mts +204 -0
  374. package/dist/context/assert-first.d.ts +204 -0
  375. package/dist/context/assert-first.js +6 -0
  376. package/dist/context/assert-first.js.map +1 -0
  377. package/dist/context/control-flow.cjs +15 -0
  378. package/dist/context/control-flow.cjs.map +1 -0
  379. package/dist/context/control-flow.d.cts +5 -0
  380. package/dist/context/control-flow.d.mts +5 -0
  381. package/dist/context/control-flow.d.ts +5 -0
  382. package/dist/context/control-flow.js +6 -0
  383. package/dist/context/control-flow.js.map +1 -0
  384. package/dist/context/send-failures.cjs +119 -0
  385. package/dist/context/send-failures.cjs.map +1 -0
  386. package/dist/context/send-failures.d.cts +45 -0
  387. package/dist/context/send-failures.d.mts +45 -0
  388. package/dist/context/send-failures.d.ts +3 -3
  389. package/dist/context/send-failures.js +18 -0
  390. package/dist/context/send-failures.js.map +1 -0
  391. package/dist/context/send-retry.cjs +105 -0
  392. package/dist/context/send-retry.cjs.map +1 -0
  393. package/dist/context/send-retry.d.cts +41 -0
  394. package/dist/context/send-retry.d.mts +41 -0
  395. package/dist/context/send-retry.d.ts +41 -0
  396. package/dist/context/send-retry.js +12 -0
  397. package/dist/context/send-retry.js.map +1 -0
  398. package/dist/context/session.cjs +503 -0
  399. package/dist/context/session.cjs.map +1 -0
  400. package/dist/context/session.d.cts +179 -0
  401. package/dist/context/session.d.mts +179 -0
  402. package/dist/context/session.d.ts +179 -0
  403. package/dist/context/session.js +12 -0
  404. package/dist/context/session.js.map +1 -0
  405. package/dist/context/types.cjs +3 -0
  406. package/dist/context/types.cjs.map +1 -0
  407. package/dist/context/types.d.cts +37 -0
  408. package/dist/context/types.d.mts +37 -0
  409. package/dist/context/types.d.ts +30 -387
  410. package/dist/context/types.js +4 -3
  411. package/dist/context/types.js.map +1 -0
  412. package/dist/define.cjs +246 -0
  413. package/dist/define.cjs.map +1 -0
  414. package/dist/define.d.cts +26 -0
  415. package/dist/define.d.mts +26 -0
  416. package/dist/define.d.ts +26 -0
  417. package/dist/define.js +22 -0
  418. package/dist/define.js.map +1 -0
  419. package/dist/eval/experiment-id.cjs +18 -0
  420. package/dist/eval/experiment-id.cjs.map +1 -0
  421. package/dist/eval/experiment-id.d.cts +10 -0
  422. package/dist/eval/experiment-id.d.mts +10 -0
  423. package/dist/eval/experiment-id.d.ts +10 -0
  424. package/dist/eval/experiment-id.js +10 -0
  425. package/dist/eval/experiment-id.js.map +1 -0
  426. package/dist/eval/record/attachment.cjs +60 -0
  427. package/dist/eval/record/attachment.cjs.map +1 -0
  428. package/dist/eval/record/attachment.d.cts +30 -0
  429. package/dist/eval/record/attachment.d.mts +30 -0
  430. package/dist/eval/record/attachment.d.ts +30 -0
  431. package/dist/eval/record/attachment.js +16 -0
  432. package/dist/eval/record/attachment.js.map +1 -0
  433. package/dist/eval/record/coherence.cjs +118 -0
  434. package/dist/eval/record/coherence.cjs.map +1 -0
  435. package/dist/eval/record/coherence.d.cts +61 -0
  436. package/dist/eval/record/coherence.d.mts +61 -0
  437. package/dist/eval/record/coherence.d.ts +61 -0
  438. package/dist/eval/record/coherence.js +6 -0
  439. package/dist/eval/record/coherence.js.map +1 -0
  440. package/dist/eval/record/eligibility.cjs +157 -0
  441. package/dist/eval/record/eligibility.cjs.map +1 -0
  442. package/dist/eval/record/eligibility.d.cts +151 -0
  443. package/dist/eval/record/eligibility.d.mts +151 -0
  444. package/dist/eval/record/eligibility.d.ts +151 -0
  445. package/dist/eval/record/eligibility.js +42 -0
  446. package/dist/eval/record/eligibility.js.map +1 -0
  447. package/dist/eval/record/evaluation-plan.cjs +26 -0
  448. package/dist/eval/record/evaluation-plan.cjs.map +1 -0
  449. package/dist/eval/record/evaluation-plan.d.cts +16 -0
  450. package/dist/eval/record/evaluation-plan.d.mts +16 -0
  451. package/dist/eval/record/evaluation-plan.d.ts +16 -0
  452. package/dist/eval/record/evaluation-plan.js +6 -0
  453. package/dist/eval/record/evaluation-plan.js.map +1 -0
  454. package/dist/eval/record/evaluation-record.cjs +540 -0
  455. package/dist/eval/record/evaluation-record.cjs.map +1 -0
  456. package/dist/eval/record/evaluation-record.d.cts +168 -0
  457. package/dist/eval/record/evaluation-record.d.mts +168 -0
  458. package/dist/eval/record/evaluation-record.d.ts +168 -0
  459. package/dist/eval/record/evaluation-record.js +22 -0
  460. package/dist/eval/record/evaluation-record.js.map +1 -0
  461. package/dist/eval/record/evaluation.cjs +220 -0
  462. package/dist/eval/record/evaluation.cjs.map +1 -0
  463. package/dist/eval/record/evaluation.d.cts +175 -0
  464. package/dist/eval/record/evaluation.d.mts +175 -0
  465. package/dist/eval/record/evaluation.d.ts +175 -0
  466. package/dist/eval/record/evaluation.js +36 -0
  467. package/dist/eval/record/evaluation.js.map +1 -0
  468. package/dist/eval/record/index.cjs +26 -0
  469. package/dist/eval/record/index.cjs.map +1 -0
  470. package/dist/eval/record/index.d.cts +9 -0
  471. package/dist/eval/record/index.d.mts +9 -0
  472. package/dist/eval/record/index.d.ts +9 -0
  473. package/dist/eval/record/index.js +242 -0
  474. package/dist/eval/record/index.js.map +1 -0
  475. package/dist/eval/record/membership-provenance.cjs +213 -0
  476. package/dist/eval/record/membership-provenance.cjs.map +1 -0
  477. package/dist/eval/record/membership-provenance.d.cts +855 -0
  478. package/dist/eval/record/membership-provenance.d.mts +855 -0
  479. package/dist/eval/record/membership-provenance.d.ts +855 -0
  480. package/dist/eval/record/membership-provenance.js +58 -0
  481. package/dist/eval/record/membership-provenance.js.map +1 -0
  482. package/dist/eval/record/score.cjs +248 -0
  483. package/dist/eval/record/score.cjs.map +1 -0
  484. package/dist/eval/record/score.d.cts +165 -0
  485. package/dist/eval/record/score.d.mts +165 -0
  486. package/dist/eval/record/score.d.ts +165 -0
  487. package/dist/eval/record/score.js +44 -0
  488. package/dist/eval/record/score.js.map +1 -0
  489. package/dist/eval/record/sealed-assertion.cjs +31 -0
  490. package/dist/eval/record/sealed-assertion.cjs.map +1 -0
  491. package/dist/eval/record/sealed-assertion.d.cts +32 -0
  492. package/dist/eval/record/sealed-assertion.d.mts +32 -0
  493. package/dist/eval/record/sealed-assertion.d.ts +32 -0
  494. package/dist/eval/record/sealed-assertion.js +14 -0
  495. package/dist/eval/record/sealed-assertion.js.map +1 -0
  496. package/dist/eval/record/verdict.cjs +89 -0
  497. package/dist/eval/record/verdict.cjs.map +1 -0
  498. package/dist/eval/record/verdict.d.cts +60 -0
  499. package/dist/eval/record/verdict.d.mts +60 -0
  500. package/dist/eval/record/verdict.d.ts +60 -0
  501. package/dist/eval/record/verdict.js +36 -0
  502. package/dist/eval/record/verdict.js.map +1 -0
  503. package/dist/expect/index.cjs +29 -0
  504. package/dist/expect/index.cjs.map +1 -0
  505. package/dist/expect/index.d.cts +2 -0
  506. package/dist/expect/index.d.mts +2 -0
  507. package/dist/expect/index.d.ts +2 -0
  508. package/dist/expect/index.js +50 -0
  509. package/dist/expect/index.js.map +1 -0
  510. package/dist/expect/index.mjs +50 -0
  511. package/dist/expect/index.mjs.map +1 -0
  512. package/dist/fresh-import.cjs +288 -0
  513. package/dist/fresh-import.cjs.map +1 -0
  514. package/dist/fresh-import.d.cts +20 -0
  515. package/dist/fresh-import.d.mts +20 -0
  516. package/dist/fresh-import.d.ts +20 -0
  517. package/dist/fresh-import.js +8 -0
  518. package/dist/fresh-import.js.map +1 -0
  519. package/dist/i18n/core.cjs +21 -0
  520. package/dist/i18n/core.cjs.map +1 -0
  521. package/dist/i18n/core.d.cts +11 -0
  522. package/dist/i18n/core.d.mts +11 -0
  523. package/dist/i18n/core.js +8 -19
  524. package/dist/i18n/core.js.map +1 -0
  525. package/dist/i18n/en.cjs +474 -0
  526. package/dist/i18n/en.cjs.map +1 -0
  527. package/dist/i18n/en.d.cts +391 -0
  528. package/dist/i18n/en.d.mts +391 -0
  529. package/dist/i18n/en.d.ts +389 -363
  530. package/dist/i18n/en.js +6 -455
  531. package/dist/i18n/en.js.map +1 -0
  532. package/dist/i18n/index.cjs +12 -0
  533. package/dist/i18n/index.cjs.map +1 -0
  534. package/dist/i18n/index.d.cts +5 -0
  535. package/dist/i18n/index.d.mts +5 -0
  536. package/dist/i18n/index.d.ts +4 -9
  537. package/dist/i18n/index.js +6 -30
  538. package/dist/i18n/index.js.map +1 -0
  539. package/dist/index.cjs +25 -0
  540. package/dist/index.cjs.map +1 -0
  541. package/dist/index.d.cts +10 -0
  542. package/dist/index.d.mts +10 -0
  543. package/dist/index.d.ts +10 -0
  544. package/dist/index.js +28 -0
  545. package/dist/index.js.map +1 -0
  546. package/dist/index.mjs +28 -0
  547. package/dist/index.mjs.map +1 -0
  548. package/dist/load-config.cjs +52 -0
  549. package/dist/load-config.cjs.map +1 -0
  550. package/dist/load-config.d.cts +4 -0
  551. package/dist/load-config.d.mts +4 -0
  552. package/dist/load-config.d.ts +4 -0
  553. package/dist/load-config.js +6 -0
  554. package/dist/load-config.js.map +1 -0
  555. package/dist/loaders/glob.cjs +150 -0
  556. package/dist/loaders/glob.cjs.map +1 -0
  557. package/dist/loaders/glob.d.cts +28 -0
  558. package/dist/loaders/glob.d.mts +28 -0
  559. package/dist/loaders/glob.d.ts +28 -0
  560. package/dist/loaders/glob.js +12 -0
  561. package/dist/loaders/glob.js.map +1 -0
  562. package/dist/loaders/index.cjs +281 -0
  563. package/dist/loaders/index.cjs.map +1 -0
  564. package/dist/loaders/index.d.cts +95 -0
  565. package/dist/loaders/index.d.mts +95 -0
  566. package/dist/loaders/index.d.ts +95 -0
  567. package/dist/loaders/index.js +16 -0
  568. package/dist/loaders/index.js.map +1 -0
  569. package/dist/loaders/index.mjs +16 -0
  570. package/dist/loaders/index.mjs.map +1 -0
  571. package/dist/o11y/command-projection.cjs +127 -0
  572. package/dist/o11y/command-projection.cjs.map +1 -0
  573. package/dist/o11y/command-projection.d.cts +29 -0
  574. package/dist/o11y/command-projection.d.mts +29 -0
  575. package/dist/o11y/command-projection.d.ts +29 -0
  576. package/dist/o11y/command-projection.js +18 -0
  577. package/dist/o11y/command-projection.js.map +1 -0
  578. package/dist/o11y/cost.cjs +76 -0
  579. package/dist/o11y/cost.cjs.map +1 -0
  580. package/dist/o11y/cost.d.cts +8 -0
  581. package/dist/o11y/cost.d.mts +8 -0
  582. package/dist/o11y/cost.d.ts +8 -0
  583. package/dist/o11y/cost.js +6 -0
  584. package/dist/o11y/cost.js.map +1 -0
  585. package/dist/o11y/derive.cjs +572 -0
  586. package/dist/o11y/derive.cjs.map +1 -0
  587. package/dist/o11y/derive.d.cts +24 -0
  588. package/dist/o11y/derive.d.mts +24 -0
  589. package/dist/o11y/derive.d.ts +16 -1
  590. package/dist/o11y/derive.js +14 -281
  591. package/dist/o11y/derive.js.map +1 -0
  592. package/dist/o11y/execution-tree.cjs +213 -0
  593. package/dist/o11y/execution-tree.cjs.map +1 -0
  594. package/dist/o11y/execution-tree.d.cts +113 -0
  595. package/dist/o11y/execution-tree.d.mts +113 -0
  596. package/dist/o11y/execution-tree.d.ts +1 -1
  597. package/dist/o11y/execution-tree.js +6 -254
  598. package/dist/o11y/execution-tree.js.map +1 -0
  599. package/dist/o11y/otlp/canonical.cjs +94 -0
  600. package/dist/o11y/otlp/canonical.cjs.map +1 -0
  601. package/dist/o11y/otlp/canonical.d.cts +34 -0
  602. package/dist/o11y/otlp/canonical.d.mts +34 -0
  603. package/dist/o11y/otlp/canonical.d.ts +34 -0
  604. package/dist/o11y/otlp/canonical.js +26 -0
  605. package/dist/o11y/otlp/canonical.js.map +1 -0
  606. package/dist/o11y/otlp/mappers/bub.cjs +24 -0
  607. package/dist/o11y/otlp/mappers/bub.cjs.map +1 -0
  608. package/dist/o11y/otlp/mappers/bub.d.cts +2 -0
  609. package/dist/o11y/otlp/mappers/bub.d.mts +2 -0
  610. package/dist/o11y/otlp/mappers/bub.d.ts +2 -0
  611. package/dist/o11y/otlp/mappers/bub.js +6 -0
  612. package/dist/o11y/otlp/mappers/bub.js.map +1 -0
  613. package/dist/o11y/otlp/mappers/claude-code.cjs +16 -0
  614. package/dist/o11y/otlp/mappers/claude-code.cjs.map +1 -0
  615. package/dist/o11y/otlp/mappers/claude-code.d.cts +2 -0
  616. package/dist/o11y/otlp/mappers/claude-code.d.mts +2 -0
  617. package/dist/o11y/otlp/mappers/claude-code.d.ts +2 -0
  618. package/dist/o11y/otlp/mappers/claude-code.js +6 -0
  619. package/dist/o11y/otlp/mappers/claude-code.js.map +1 -0
  620. package/dist/o11y/otlp/mappers/codex.cjs +31 -0
  621. package/dist/o11y/otlp/mappers/codex.cjs.map +1 -0
  622. package/dist/o11y/otlp/mappers/codex.d.cts +2 -0
  623. package/dist/o11y/otlp/mappers/codex.d.mts +2 -0
  624. package/dist/o11y/otlp/mappers/codex.d.ts +2 -0
  625. package/dist/o11y/otlp/mappers/codex.js +6 -0
  626. package/dist/o11y/otlp/mappers/codex.js.map +1 -0
  627. package/dist/o11y/otlp/mappers/index.cjs +21 -0
  628. package/dist/o11y/otlp/mappers/index.cjs.map +1 -0
  629. package/dist/o11y/otlp/mappers/index.d.cts +4 -0
  630. package/dist/o11y/otlp/mappers/index.d.mts +4 -0
  631. package/dist/o11y/otlp/mappers/index.d.ts +4 -0
  632. package/dist/o11y/otlp/mappers/index.js +12 -0
  633. package/dist/o11y/otlp/mappers/index.js.map +1 -0
  634. package/dist/o11y/otlp/parse.cjs +369 -0
  635. package/dist/o11y/otlp/parse.cjs.map +1 -0
  636. package/dist/o11y/otlp/parse.d.cts +3 -0
  637. package/dist/o11y/otlp/parse.d.mts +3 -0
  638. package/dist/o11y/otlp/parse.d.ts +1 -1
  639. package/dist/o11y/otlp/parse.js +6 -0
  640. package/dist/o11y/otlp/parse.js.map +1 -0
  641. package/dist/o11y/otlp/receiver.cjs +326 -0
  642. package/dist/o11y/otlp/receiver.cjs.map +1 -0
  643. package/dist/o11y/otlp/receiver.d.cts +27 -0
  644. package/dist/o11y/otlp/receiver.d.mts +27 -0
  645. package/dist/o11y/otlp/receiver.d.ts +16 -10
  646. package/dist/o11y/otlp/receiver.js +10 -0
  647. package/dist/o11y/otlp/receiver.js.map +1 -0
  648. package/dist/o11y/otlp/sandbox-receiver.cjs +226 -0
  649. package/dist/o11y/otlp/sandbox-receiver.cjs.map +1 -0
  650. package/dist/o11y/otlp/sandbox-receiver.d.cts +4 -0
  651. package/dist/o11y/otlp/sandbox-receiver.d.mts +4 -0
  652. package/dist/o11y/otlp/sandbox-receiver.d.ts +4 -0
  653. package/dist/o11y/otlp/sandbox-receiver.js +6 -0
  654. package/dist/o11y/otlp/sandbox-receiver.js.map +1 -0
  655. package/dist/o11y/otlp/select.cjs +82 -0
  656. package/dist/o11y/otlp/select.cjs.map +1 -0
  657. package/dist/o11y/otlp/select.d.cts +22 -0
  658. package/dist/o11y/otlp/select.d.mts +22 -0
  659. package/dist/o11y/otlp/select.d.ts +1 -1
  660. package/dist/o11y/otlp/select.js +12 -86
  661. package/dist/o11y/otlp/select.js.map +1 -0
  662. package/dist/o11y/otlp/turn-otel.cjs +180 -0
  663. package/dist/o11y/otlp/turn-otel.cjs.map +1 -0
  664. package/dist/o11y/otlp/turn-otel.d.cts +59 -0
  665. package/dist/o11y/otlp/turn-otel.d.mts +59 -0
  666. package/dist/o11y/otlp/turn-otel.d.ts +26 -10
  667. package/dist/o11y/otlp/turn-otel.js +8 -0
  668. package/dist/o11y/otlp/turn-otel.js.map +1 -0
  669. package/dist/o11y/parsers/bub.cjs +277 -0
  670. package/dist/o11y/parsers/bub.cjs.map +1 -0
  671. package/dist/o11y/parsers/bub.d.cts +7 -0
  672. package/dist/o11y/parsers/bub.d.mts +7 -0
  673. package/dist/o11y/parsers/bub.d.ts +7 -0
  674. package/dist/o11y/parsers/bub.js +10 -0
  675. package/dist/o11y/parsers/bub.js.map +1 -0
  676. package/dist/o11y/parsers/claude-code.cjs +309 -0
  677. package/dist/o11y/parsers/claude-code.cjs.map +1 -0
  678. package/dist/o11y/parsers/claude-code.d.cts +11 -0
  679. package/dist/o11y/parsers/claude-code.d.mts +11 -0
  680. package/dist/o11y/parsers/claude-code.d.ts +11 -0
  681. package/dist/o11y/parsers/claude-code.js +10 -0
  682. package/dist/o11y/parsers/claude-code.js.map +1 -0
  683. package/dist/o11y/parsers/codex.cjs +439 -0
  684. package/dist/o11y/parsers/codex.cjs.map +1 -0
  685. package/dist/o11y/parsers/codex.d.cts +7 -0
  686. package/dist/o11y/parsers/codex.d.mts +7 -0
  687. package/dist/o11y/parsers/codex.d.ts +7 -0
  688. package/dist/o11y/parsers/codex.js +10 -0
  689. package/dist/o11y/parsers/codex.js.map +1 -0
  690. package/dist/o11y/parsers/hermes.cjs +234 -0
  691. package/dist/o11y/parsers/hermes.cjs.map +1 -0
  692. package/dist/o11y/parsers/hermes.d.cts +9 -0
  693. package/dist/o11y/parsers/hermes.d.mts +9 -0
  694. package/dist/o11y/parsers/hermes.d.ts +9 -0
  695. package/dist/o11y/parsers/hermes.js +10 -0
  696. package/dist/o11y/parsers/hermes.js.map +1 -0
  697. package/dist/o11y/parsers/index.cjs +13 -0
  698. package/dist/o11y/parsers/index.cjs.map +1 -0
  699. package/dist/o11y/parsers/index.d.cts +12 -0
  700. package/dist/o11y/parsers/index.d.mts +12 -0
  701. package/dist/o11y/parsers/index.d.ts +12 -0
  702. package/dist/o11y/parsers/index.js +16 -0
  703. package/dist/o11y/parsers/index.js.map +1 -0
  704. package/dist/o11y/parsers/openclaw.cjs +320 -0
  705. package/dist/o11y/parsers/openclaw.cjs.map +1 -0
  706. package/dist/o11y/parsers/openclaw.d.cts +39 -0
  707. package/dist/o11y/parsers/openclaw.d.mts +39 -0
  708. package/dist/o11y/parsers/openclaw.d.ts +39 -0
  709. package/dist/o11y/parsers/openclaw.js +12 -0
  710. package/dist/o11y/parsers/openclaw.js.map +1 -0
  711. package/dist/o11y/parsers/opencode.cjs +337 -0
  712. package/dist/o11y/parsers/opencode.cjs.map +1 -0
  713. package/dist/o11y/parsers/opencode.d.cts +14 -0
  714. package/dist/o11y/parsers/opencode.d.mts +14 -0
  715. package/dist/o11y/parsers/opencode.d.ts +14 -0
  716. package/dist/o11y/parsers/opencode.js +12 -0
  717. package/dist/o11y/parsers/opencode.js.map +1 -0
  718. package/dist/o11y/prices.json +11649 -0
  719. package/dist/o11y/record/capture.cjs +232 -0
  720. package/dist/o11y/record/capture.cjs.map +1 -0
  721. package/dist/o11y/record/capture.d.cts +81 -0
  722. package/dist/o11y/record/capture.d.mts +81 -0
  723. package/dist/o11y/record/capture.d.ts +81 -0
  724. package/dist/o11y/record/capture.js +30 -0
  725. package/dist/o11y/record/capture.js.map +1 -0
  726. package/dist/o11y/record/codec.cjs +222 -0
  727. package/dist/o11y/record/codec.cjs.map +1 -0
  728. package/dist/o11y/record/codec.d.cts +661 -0
  729. package/dist/o11y/record/codec.d.mts +661 -0
  730. package/dist/o11y/record/codec.d.ts +661 -0
  731. package/dist/o11y/record/codec.js +66 -0
  732. package/dist/o11y/record/codec.js.map +1 -0
  733. package/dist/o11y/record/errors.cjs +71 -0
  734. package/dist/o11y/record/errors.cjs.map +1 -0
  735. package/dist/o11y/record/errors.d.cts +53 -0
  736. package/dist/o11y/record/errors.d.mts +53 -0
  737. package/dist/o11y/record/errors.d.ts +53 -0
  738. package/dist/o11y/record/errors.js +24 -0
  739. package/dist/o11y/record/errors.js.map +1 -0
  740. package/dist/o11y/record/families.cjs +699 -0
  741. package/dist/o11y/record/families.cjs.map +1 -0
  742. package/dist/o11y/record/families.d.cts +4298 -0
  743. package/dist/o11y/record/families.d.mts +4298 -0
  744. package/dist/o11y/record/families.d.ts +4298 -0
  745. package/dist/o11y/record/families.js +68 -0
  746. package/dist/o11y/record/families.js.map +1 -0
  747. package/dist/o11y/record/family-projectors.cjs +83 -0
  748. package/dist/o11y/record/family-projectors.cjs.map +1 -0
  749. package/dist/o11y/record/family-projectors.d.cts +46 -0
  750. package/dist/o11y/record/family-projectors.d.mts +46 -0
  751. package/dist/o11y/record/family-projectors.d.ts +46 -0
  752. package/dist/o11y/record/family-projectors.js +18 -0
  753. package/dist/o11y/record/family-projectors.js.map +1 -0
  754. package/dist/o11y/record/family-writers.cjs +371 -0
  755. package/dist/o11y/record/family-writers.cjs.map +1 -0
  756. package/dist/o11y/record/family-writers.d.cts +5293 -0
  757. package/dist/o11y/record/family-writers.d.mts +5293 -0
  758. package/dist/o11y/record/family-writers.d.ts +5293 -0
  759. package/dist/o11y/record/family-writers.js +60 -0
  760. package/dist/o11y/record/family-writers.js.map +1 -0
  761. package/dist/o11y/record/index.cjs +31 -0
  762. package/dist/o11y/record/index.cjs.map +1 -0
  763. package/dist/o11y/record/index.d.cts +14 -0
  764. package/dist/o11y/record/index.d.mts +14 -0
  765. package/dist/o11y/record/index.d.ts +14 -0
  766. package/dist/o11y/record/index.js +488 -0
  767. package/dist/o11y/record/index.js.map +1 -0
  768. package/dist/o11y/record/limits.cjs +69 -0
  769. package/dist/o11y/record/limits.cjs.map +1 -0
  770. package/dist/o11y/record/limits.d.cts +65 -0
  771. package/dist/o11y/record/limits.d.mts +65 -0
  772. package/dist/o11y/record/limits.d.ts +65 -0
  773. package/dist/o11y/record/limits.js +68 -0
  774. package/dist/o11y/record/limits.js.map +1 -0
  775. package/dist/o11y/record/model.cjs +590 -0
  776. package/dist/o11y/record/model.cjs.map +1 -0
  777. package/dist/o11y/record/model.d.cts +275 -0
  778. package/dist/o11y/record/model.d.mts +275 -0
  779. package/dist/o11y/record/model.d.ts +275 -0
  780. package/dist/o11y/record/model.js +158 -0
  781. package/dist/o11y/record/model.js.map +1 -0
  782. package/dist/o11y/record/runner-producer.cjs +1575 -0
  783. package/dist/o11y/record/runner-producer.cjs.map +1 -0
  784. package/dist/o11y/record/runner-producer.d.cts +103 -0
  785. package/dist/o11y/record/runner-producer.d.mts +103 -0
  786. package/dist/o11y/record/runner-producer.d.ts +103 -0
  787. package/dist/o11y/record/runner-producer.js +26 -0
  788. package/dist/o11y/record/runner-producer.js.map +1 -0
  789. package/dist/o11y/record/validation.cjs +323 -0
  790. package/dist/o11y/record/validation.cjs.map +1 -0
  791. package/dist/o11y/record/validation.d.cts +62 -0
  792. package/dist/o11y/record/validation.d.mts +62 -0
  793. package/dist/o11y/record/validation.d.ts +62 -0
  794. package/dist/o11y/record/validation.js +28 -0
  795. package/dist/o11y/record/validation.js.map +1 -0
  796. package/dist/o11y/tool-names.cjs +68 -0
  797. package/dist/o11y/tool-names.cjs.map +1 -0
  798. package/dist/o11y/tool-names.d.cts +11 -0
  799. package/dist/o11y/tool-names.d.mts +11 -0
  800. package/dist/o11y/tool-names.d.ts +11 -0
  801. package/dist/o11y/tool-names.js +8 -0
  802. package/dist/o11y/tool-names.js.map +1 -0
  803. package/dist/o11y/types.cjs +3 -0
  804. package/dist/o11y/types.cjs.map +1 -0
  805. package/dist/o11y/types.d.cts +387 -0
  806. package/dist/o11y/types.d.mts +387 -0
  807. package/dist/o11y/types.d.ts +142 -1
  808. package/dist/o11y/types.js +4 -3
  809. package/dist/o11y/types.js.map +1 -0
  810. package/dist/plugin/contracts.cjs +187 -0
  811. package/dist/plugin/contracts.cjs.map +1 -0
  812. package/dist/plugin/contracts.d.cts +109 -0
  813. package/dist/plugin/contracts.d.mts +109 -0
  814. package/dist/plugin/contracts.d.ts +109 -0
  815. package/dist/plugin/contracts.js +18 -0
  816. package/dist/plugin/contracts.js.map +1 -0
  817. package/dist/plugin/index.cjs +7 -0
  818. package/dist/plugin/index.cjs.map +1 -0
  819. package/dist/plugin/index.d.cts +2 -0
  820. package/dist/plugin/index.d.mts +2 -0
  821. package/dist/plugin/index.d.ts +2 -0
  822. package/dist/plugin/index.js +6 -0
  823. package/dist/plugin/index.js.map +1 -0
  824. package/dist/plugin/index.mjs +6 -0
  825. package/dist/plugin/index.mjs.map +1 -0
  826. package/dist/plugin/link.cjs +204 -0
  827. package/dist/plugin/link.cjs.map +1 -0
  828. package/dist/plugin/link.d.cts +68 -0
  829. package/dist/plugin/link.d.mts +68 -0
  830. package/dist/plugin/link.d.ts +68 -0
  831. package/dist/plugin/link.js +14 -0
  832. package/dist/plugin/link.js.map +1 -0
  833. package/dist/plugins/record/attachment.cjs +62 -0
  834. package/dist/plugins/record/attachment.cjs.map +1 -0
  835. package/dist/plugins/record/attachment.d.cts +14 -0
  836. package/dist/plugins/record/attachment.d.mts +14 -0
  837. package/dist/plugins/record/attachment.d.ts +14 -0
  838. package/dist/plugins/record/attachment.js +20 -0
  839. package/dist/plugins/record/attachment.js.map +1 -0
  840. package/dist/plugins/record/capability.cjs +258 -0
  841. package/dist/plugins/record/capability.cjs.map +1 -0
  842. package/dist/plugins/record/capability.d.cts +94 -0
  843. package/dist/plugins/record/capability.d.mts +94 -0
  844. package/dist/plugins/record/capability.d.ts +94 -0
  845. package/dist/plugins/record/capability.js +26 -0
  846. package/dist/plugins/record/capability.js.map +1 -0
  847. package/dist/plugins/record/codec.cjs +244 -0
  848. package/dist/plugins/record/codec.cjs.map +1 -0
  849. package/dist/plugins/record/codec.d.cts +28 -0
  850. package/dist/plugins/record/codec.d.mts +28 -0
  851. package/dist/plugins/record/codec.d.ts +28 -0
  852. package/dist/plugins/record/codec.js +48 -0
  853. package/dist/plugins/record/codec.js.map +1 -0
  854. package/dist/plugins/record/index.cjs +54 -0
  855. package/dist/plugins/record/index.cjs.map +1 -0
  856. package/dist/plugins/record/index.d.cts +9 -0
  857. package/dist/plugins/record/index.d.mts +9 -0
  858. package/dist/plugins/record/index.d.ts +9 -0
  859. package/dist/plugins/record/index.js +94 -0
  860. package/dist/plugins/record/index.js.map +1 -0
  861. package/dist/plugins/record/migration.cjs +33 -0
  862. package/dist/plugins/record/migration.cjs.map +1 -0
  863. package/dist/plugins/record/migration.d.cts +22 -0
  864. package/dist/plugins/record/migration.d.mts +22 -0
  865. package/dist/plugins/record/migration.d.ts +22 -0
  866. package/dist/plugins/record/migration.js +6 -0
  867. package/dist/plugins/record/migration.js.map +1 -0
  868. package/dist/plugins/record/model.cjs +3 -0
  869. package/dist/plugins/record/model.cjs.map +1 -0
  870. package/dist/plugins/record/model.d.cts +93 -0
  871. package/dist/plugins/record/model.d.mts +93 -0
  872. package/dist/plugins/record/model.d.ts +93 -0
  873. package/dist/plugins/record/model.js +4 -0
  874. package/dist/plugins/record/model.js.map +1 -0
  875. package/dist/plugins/record/provenance.cjs +319 -0
  876. package/dist/plugins/record/provenance.cjs.map +1 -0
  877. package/dist/plugins/record/provenance.d.cts +79 -0
  878. package/dist/plugins/record/provenance.d.mts +79 -0
  879. package/dist/plugins/record/provenance.d.ts +79 -0
  880. package/dist/plugins/record/provenance.js +24 -0
  881. package/dist/plugins/record/provenance.js.map +1 -0
  882. package/dist/projection/attachment-result.cjs +50 -0
  883. package/dist/projection/attachment-result.cjs.map +1 -0
  884. package/dist/projection/attachment-result.d.cts +38 -0
  885. package/dist/projection/attachment-result.d.mts +38 -0
  886. package/dist/projection/attachment-result.d.ts +38 -0
  887. package/dist/projection/attachment-result.js +6 -0
  888. package/dist/projection/attachment-result.js.map +1 -0
  889. package/dist/projection/attempt-selection.cjs +87 -0
  890. package/dist/projection/attempt-selection.cjs.map +1 -0
  891. package/dist/projection/attempt-selection.d.cts +40 -0
  892. package/dist/projection/attempt-selection.d.mts +40 -0
  893. package/dist/projection/attempt-selection.d.ts +40 -0
  894. package/dist/projection/attempt-selection.js +8 -0
  895. package/dist/projection/attempt-selection.js.map +1 -0
  896. package/dist/projection/coverage.cjs +106 -0
  897. package/dist/projection/coverage.cjs.map +1 -0
  898. package/dist/projection/coverage.d.cts +43 -0
  899. package/dist/projection/coverage.d.mts +43 -0
  900. package/dist/projection/coverage.d.ts +43 -0
  901. package/dist/projection/coverage.js +6 -0
  902. package/dist/projection/coverage.js.map +1 -0
  903. package/dist/projection/index.cjs +36 -0
  904. package/dist/projection/index.cjs.map +1 -0
  905. package/dist/projection/index.d.cts +25 -0
  906. package/dist/projection/index.d.mts +25 -0
  907. package/dist/projection/index.d.ts +25 -0
  908. package/dist/projection/index.js +46 -0
  909. package/dist/projection/index.js.map +1 -0
  910. package/dist/projection/index.mjs +46 -0
  911. package/dist/projection/index.mjs.map +1 -0
  912. package/dist/projection/model.cjs +3 -0
  913. package/dist/projection/model.cjs.map +1 -0
  914. package/dist/projection/model.d.cts +49 -0
  915. package/dist/projection/model.d.mts +49 -0
  916. package/dist/projection/model.d.ts +49 -0
  917. package/dist/projection/model.js +4 -0
  918. package/dist/projection/model.js.map +1 -0
  919. package/dist/projection/projector.cjs +111 -0
  920. package/dist/projection/projector.cjs.map +1 -0
  921. package/dist/projection/projector.d.cts +51 -0
  922. package/dist/projection/projector.d.mts +51 -0
  923. package/dist/projection/projector.d.ts +51 -0
  924. package/dist/projection/projector.js +16 -0
  925. package/dist/projection/projector.js.map +1 -0
  926. package/dist/projection/runtime.cjs +246 -0
  927. package/dist/projection/runtime.cjs.map +1 -0
  928. package/dist/projection/runtime.d.cts +14 -0
  929. package/dist/projection/runtime.d.mts +14 -0
  930. package/dist/projection/runtime.d.ts +14 -0
  931. package/dist/projection/runtime.js +6 -0
  932. package/dist/projection/runtime.js.map +1 -0
  933. package/dist/record/attachment/errors.cjs +71 -0
  934. package/dist/record/attachment/errors.cjs.map +1 -0
  935. package/dist/record/attachment/errors.d.cts +57 -0
  936. package/dist/record/attachment/errors.d.mts +57 -0
  937. package/dist/record/attachment/errors.d.ts +57 -0
  938. package/dist/record/attachment/errors.js +22 -0
  939. package/dist/record/attachment/errors.js.map +1 -0
  940. package/dist/record/attachment/index.cjs +14 -0
  941. package/dist/record/attachment/index.cjs.map +1 -0
  942. package/dist/record/attachment/index.d.cts +3 -0
  943. package/dist/record/attachment/index.d.mts +3 -0
  944. package/dist/record/attachment/index.d.ts +3 -0
  945. package/dist/record/attachment/index.js +22 -0
  946. package/dist/record/attachment/index.js.map +1 -0
  947. package/dist/record/attachment/internal.cjs +24 -0
  948. package/dist/record/attachment/internal.cjs.map +1 -0
  949. package/dist/record/attachment/internal.d.cts +6 -0
  950. package/dist/record/attachment/internal.d.mts +6 -0
  951. package/dist/record/attachment/internal.d.ts +6 -0
  952. package/dist/record/attachment/internal.js +34 -0
  953. package/dist/record/attachment/internal.js.map +1 -0
  954. package/dist/record/attachment/runtime.cjs +1017 -0
  955. package/dist/record/attachment/runtime.cjs.map +1 -0
  956. package/dist/record/attachment/runtime.d.cts +86 -0
  957. package/dist/record/attachment/runtime.d.mts +86 -0
  958. package/dist/record/attachment/runtime.d.ts +86 -0
  959. package/dist/record/attachment/runtime.js +52 -0
  960. package/dist/record/attachment/runtime.js.map +1 -0
  961. package/dist/record/attachment/types.cjs +47 -0
  962. package/dist/record/attachment/types.cjs.map +1 -0
  963. package/dist/record/attachment/types.d.cts +194 -0
  964. package/dist/record/attachment/types.d.mts +194 -0
  965. package/dist/record/attachment/types.d.ts +194 -0
  966. package/dist/record/attachment/types.js +28 -0
  967. package/dist/record/attachment/types.js.map +1 -0
  968. package/dist/record/codec/core.cjs +134 -0
  969. package/dist/record/codec/core.cjs.map +1 -0
  970. package/dist/record/codec/core.d.cts +63 -0
  971. package/dist/record/codec/core.d.mts +63 -0
  972. package/dist/record/codec/core.d.ts +63 -0
  973. package/dist/record/codec/core.js +46 -0
  974. package/dist/record/codec/core.js.map +1 -0
  975. package/dist/record/codec/identifiers.cjs +31 -0
  976. package/dist/record/codec/identifiers.cjs.map +1 -0
  977. package/dist/record/codec/identifiers.d.cts +11 -0
  978. package/dist/record/codec/identifiers.d.mts +11 -0
  979. package/dist/record/codec/identifiers.d.ts +11 -0
  980. package/dist/record/codec/identifiers.js +22 -0
  981. package/dist/record/codec/identifiers.js.map +1 -0
  982. package/dist/record/codec/index.cjs +19 -0
  983. package/dist/record/codec/index.cjs.map +1 -0
  984. package/dist/record/codec/index.d.cts +2 -0
  985. package/dist/record/codec/index.d.mts +2 -0
  986. package/dist/record/codec/index.d.ts +2 -0
  987. package/dist/record/codec/index.js +64 -0
  988. package/dist/record/codec/index.js.map +1 -0
  989. package/dist/record/errors/index.cjs +18 -0
  990. package/dist/record/errors/index.cjs.map +1 -0
  991. package/dist/record/errors/index.d.cts +1 -0
  992. package/dist/record/errors/index.d.mts +1 -0
  993. package/dist/record/errors/index.d.ts +1 -0
  994. package/dist/record/errors/index.js +28 -0
  995. package/dist/record/errors/index.js.map +1 -0
  996. package/dist/record/errors/record-errors.cjs +58 -0
  997. package/dist/record/errors/record-errors.cjs.map +1 -0
  998. package/dist/record/errors/record-errors.d.cts +64 -0
  999. package/dist/record/errors/record-errors.d.mts +64 -0
  1000. package/dist/record/errors/record-errors.d.ts +64 -0
  1001. package/dist/record/errors/record-errors.js +28 -0
  1002. package/dist/record/errors/record-errors.js.map +1 -0
  1003. package/dist/record/fact-record.cjs +199 -0
  1004. package/dist/record/fact-record.cjs.map +1 -0
  1005. package/dist/record/fact-record.d.cts +22 -0
  1006. package/dist/record/fact-record.d.mts +22 -0
  1007. package/dist/record/fact-record.d.ts +22 -0
  1008. package/dist/record/fact-record.js +18 -0
  1009. package/dist/record/fact-record.js.map +1 -0
  1010. package/dist/record/index.cjs +55 -0
  1011. package/dist/record/index.cjs.map +1 -0
  1012. package/dist/record/index.d.cts +11 -0
  1013. package/dist/record/index.d.mts +11 -0
  1014. package/dist/record/index.d.ts +11 -0
  1015. package/dist/record/index.js +314 -0
  1016. package/dist/record/index.js.map +1 -0
  1017. package/dist/record/locator.cjs +146 -0
  1018. package/dist/record/locator.cjs.map +1 -0
  1019. package/dist/record/locator.d.cts +71 -0
  1020. package/dist/record/locator.d.mts +71 -0
  1021. package/dist/record/locator.js +20 -136
  1022. package/dist/record/locator.js.map +1 -0
  1023. package/dist/record/maintenance/index.cjs +19 -0
  1024. package/dist/record/maintenance/index.cjs.map +1 -0
  1025. package/dist/record/maintenance/index.d.cts +2 -0
  1026. package/dist/record/maintenance/index.d.mts +2 -0
  1027. package/dist/record/maintenance/index.d.ts +2 -0
  1028. package/dist/record/maintenance/index.js +14 -0
  1029. package/dist/record/maintenance/index.js.map +1 -0
  1030. package/dist/record/maintenance/runtime.cjs +98 -0
  1031. package/dist/record/maintenance/runtime.cjs.map +1 -0
  1032. package/dist/record/maintenance/runtime.d.cts +24 -0
  1033. package/dist/record/maintenance/runtime.d.mts +24 -0
  1034. package/dist/record/maintenance/runtime.d.ts +24 -0
  1035. package/dist/record/maintenance/runtime.js +12 -0
  1036. package/dist/record/maintenance/runtime.js.map +1 -0
  1037. package/dist/record/maintenance/types.cjs +9 -0
  1038. package/dist/record/maintenance/types.cjs.map +1 -0
  1039. package/dist/record/maintenance/types.d.cts +34 -0
  1040. package/dist/record/maintenance/types.d.mts +34 -0
  1041. package/dist/record/maintenance/types.d.ts +34 -0
  1042. package/dist/record/maintenance/types.js +6 -0
  1043. package/dist/record/maintenance/types.js.map +1 -0
  1044. package/dist/record/manifest.cjs +44 -0
  1045. package/dist/record/manifest.cjs.map +1 -0
  1046. package/dist/record/manifest.d.cts +39 -0
  1047. package/dist/record/manifest.d.mts +39 -0
  1048. package/dist/record/manifest.d.ts +5 -3
  1049. package/dist/record/manifest.js +14 -0
  1050. package/dist/record/manifest.js.map +1 -0
  1051. package/dist/record/migration/errors.cjs +68 -0
  1052. package/dist/record/migration/errors.cjs.map +1 -0
  1053. package/dist/record/migration/errors.d.cts +73 -0
  1054. package/dist/record/migration/errors.d.mts +73 -0
  1055. package/dist/record/migration/errors.d.ts +73 -0
  1056. package/dist/record/migration/errors.js +22 -0
  1057. package/dist/record/migration/errors.js.map +1 -0
  1058. package/dist/record/migration/identity.cjs +27 -0
  1059. package/dist/record/migration/identity.cjs.map +1 -0
  1060. package/dist/record/migration/identity.d.cts +5 -0
  1061. package/dist/record/migration/identity.d.mts +5 -0
  1062. package/dist/record/migration/identity.d.ts +5 -0
  1063. package/dist/record/migration/identity.js +8 -0
  1064. package/dist/record/migration/identity.js.map +1 -0
  1065. package/dist/record/migration/index.cjs +28 -0
  1066. package/dist/record/migration/index.cjs.map +1 -0
  1067. package/dist/record/migration/index.d.cts +8 -0
  1068. package/dist/record/migration/index.d.mts +8 -0
  1069. package/dist/record/migration/index.d.ts +8 -0
  1070. package/dist/record/migration/index.js +48 -0
  1071. package/dist/record/migration/index.js.map +1 -0
  1072. package/dist/record/migration/internal.cjs +3 -0
  1073. package/dist/record/migration/internal.cjs.map +1 -0
  1074. package/dist/record/migration/internal.d.cts +111 -0
  1075. package/dist/record/migration/internal.d.mts +111 -0
  1076. package/dist/record/migration/internal.d.ts +111 -0
  1077. package/dist/record/migration/internal.js +4 -0
  1078. package/dist/record/migration/internal.js.map +1 -0
  1079. package/dist/record/migration/orchestrate.cjs +368 -0
  1080. package/dist/record/migration/orchestrate.cjs.map +1 -0
  1081. package/dist/record/migration/orchestrate.d.cts +113 -0
  1082. package/dist/record/migration/orchestrate.d.mts +113 -0
  1083. package/dist/record/migration/orchestrate.d.ts +113 -0
  1084. package/dist/record/migration/orchestrate.js +16 -0
  1085. package/dist/record/migration/orchestrate.js.map +1 -0
  1086. package/dist/record/migration/plan.cjs +63 -0
  1087. package/dist/record/migration/plan.cjs.map +1 -0
  1088. package/dist/record/migration/plan.d.cts +32 -0
  1089. package/dist/record/migration/plan.d.mts +32 -0
  1090. package/dist/record/migration/plan.d.ts +32 -0
  1091. package/dist/record/migration/plan.js +10 -0
  1092. package/dist/record/migration/plan.js.map +1 -0
  1093. package/dist/record/migration/registry.cjs +150 -0
  1094. package/dist/record/migration/registry.cjs.map +1 -0
  1095. package/dist/record/migration/registry.d.cts +61 -0
  1096. package/dist/record/migration/registry.d.mts +61 -0
  1097. package/dist/record/migration/registry.d.ts +61 -0
  1098. package/dist/record/migration/registry.js +14 -0
  1099. package/dist/record/migration/registry.js.map +1 -0
  1100. package/dist/record/migration/storage.cjs +382 -0
  1101. package/dist/record/migration/storage.cjs.map +1 -0
  1102. package/dist/record/migration/storage.d.cts +18 -0
  1103. package/dist/record/migration/storage.d.mts +18 -0
  1104. package/dist/record/migration/storage.d.ts +18 -0
  1105. package/dist/record/migration/storage.js +6 -0
  1106. package/dist/record/migration/storage.js.map +1 -0
  1107. package/dist/record/migration/types.cjs +3 -0
  1108. package/dist/record/migration/types.cjs.map +1 -0
  1109. package/dist/record/migration/types.d.cts +16 -0
  1110. package/dist/record/migration/types.d.mts +16 -0
  1111. package/dist/record/migration/types.d.ts +16 -0
  1112. package/dist/record/migration/types.js +4 -0
  1113. package/dist/record/migration/types.js.map +1 -0
  1114. package/dist/record/model/core.cjs +11 -0
  1115. package/dist/record/model/core.cjs.map +1 -0
  1116. package/dist/record/model/core.d.cts +53 -0
  1117. package/dist/record/model/core.d.mts +53 -0
  1118. package/dist/record/model/core.d.ts +53 -0
  1119. package/dist/record/model/core.js +6 -0
  1120. package/dist/record/model/core.js.map +1 -0
  1121. package/dist/record/model/identifiers.cjs +78 -0
  1122. package/dist/record/model/identifiers.cjs.map +1 -0
  1123. package/dist/record/model/identifiers.d.cts +44 -0
  1124. package/dist/record/model/identifiers.d.mts +44 -0
  1125. package/dist/record/model/identifiers.d.ts +44 -0
  1126. package/dist/record/model/identifiers.js +40 -0
  1127. package/dist/record/model/identifiers.js.map +1 -0
  1128. package/dist/record/model/index.cjs +21 -0
  1129. package/dist/record/model/index.cjs.map +1 -0
  1130. package/dist/record/model/index.d.cts +4 -0
  1131. package/dist/record/model/index.d.mts +4 -0
  1132. package/dist/record/model/index.d.ts +4 -0
  1133. package/dist/record/model/index.js +52 -0
  1134. package/dist/record/model/index.js.map +1 -0
  1135. package/dist/record/model/read-state.cjs +3 -0
  1136. package/dist/record/model/read-state.cjs.map +1 -0
  1137. package/dist/record/model/read-state.d.cts +45 -0
  1138. package/dist/record/model/read-state.d.mts +45 -0
  1139. package/dist/record/model/read-state.d.ts +45 -0
  1140. package/dist/record/model/read-state.js +4 -0
  1141. package/dist/record/model/read-state.js.map +1 -0
  1142. package/dist/record/model/validation.cjs +143 -0
  1143. package/dist/record/model/validation.cjs.map +1 -0
  1144. package/dist/record/model/validation.d.cts +16 -0
  1145. package/dist/record/model/validation.d.mts +16 -0
  1146. package/dist/record/model/validation.d.ts +16 -0
  1147. package/dist/record/model/validation.js +14 -0
  1148. package/dist/record/model/validation.js.map +1 -0
  1149. package/dist/record/platform/errors.cjs +101 -0
  1150. package/dist/record/platform/errors.cjs.map +1 -0
  1151. package/dist/record/platform/errors.d.cts +123 -0
  1152. package/dist/record/platform/errors.d.mts +123 -0
  1153. package/dist/record/platform/errors.d.ts +123 -0
  1154. package/dist/record/platform/errors.js +32 -0
  1155. package/dist/record/platform/errors.js.map +1 -0
  1156. package/dist/record/platform/index.cjs +21 -0
  1157. package/dist/record/platform/index.cjs.map +1 -0
  1158. package/dist/record/platform/index.d.cts +4 -0
  1159. package/dist/record/platform/index.d.mts +4 -0
  1160. package/dist/record/platform/index.d.ts +4 -0
  1161. package/dist/record/platform/index.js +60 -0
  1162. package/dist/record/platform/index.js.map +1 -0
  1163. package/dist/record/platform/node.cjs +715 -0
  1164. package/dist/record/platform/node.cjs.map +1 -0
  1165. package/dist/record/platform/node.d.cts +12 -0
  1166. package/dist/record/platform/node.d.mts +12 -0
  1167. package/dist/record/platform/node.d.ts +12 -0
  1168. package/dist/record/platform/node.js +16 -0
  1169. package/dist/record/platform/node.js.map +1 -0
  1170. package/dist/record/platform/root.cjs +79 -0
  1171. package/dist/record/platform/root.cjs.map +1 -0
  1172. package/dist/record/platform/root.d.cts +35 -0
  1173. package/dist/record/platform/root.d.mts +35 -0
  1174. package/dist/record/platform/root.d.ts +35 -0
  1175. package/dist/record/platform/root.js +8 -0
  1176. package/dist/record/platform/root.js.map +1 -0
  1177. package/dist/record/platform/services.cjs +24 -0
  1178. package/dist/record/platform/services.cjs.map +1 -0
  1179. package/dist/record/platform/services.d.cts +139 -0
  1180. package/dist/record/platform/services.d.mts +139 -0
  1181. package/dist/record/platform/services.d.ts +139 -0
  1182. package/dist/record/platform/services.js +16 -0
  1183. package/dist/record/platform/services.js.map +1 -0
  1184. package/dist/record/reader/errors.cjs +46 -0
  1185. package/dist/record/reader/errors.cjs.map +1 -0
  1186. package/dist/record/reader/errors.d.cts +58 -0
  1187. package/dist/record/reader/errors.d.mts +58 -0
  1188. package/dist/record/reader/errors.d.ts +58 -0
  1189. package/dist/record/reader/errors.js +16 -0
  1190. package/dist/record/reader/errors.js.map +1 -0
  1191. package/dist/record/reader/format.cjs +95 -0
  1192. package/dist/record/reader/format.cjs.map +1 -0
  1193. package/dist/record/reader/format.d.cts +17 -0
  1194. package/dist/record/reader/format.d.mts +17 -0
  1195. package/dist/record/reader/format.d.ts +17 -0
  1196. package/dist/record/reader/format.js +8 -0
  1197. package/dist/record/reader/format.js.map +1 -0
  1198. package/dist/record/reader/identity.cjs +47 -0
  1199. package/dist/record/reader/identity.cjs.map +1 -0
  1200. package/dist/record/reader/identity.d.cts +31 -0
  1201. package/dist/record/reader/identity.d.mts +31 -0
  1202. package/dist/record/reader/identity.d.ts +31 -0
  1203. package/dist/record/reader/identity.js +8 -0
  1204. package/dist/record/reader/identity.js.map +1 -0
  1205. package/dist/record/reader/index.cjs +21 -0
  1206. package/dist/record/reader/index.cjs.map +1 -0
  1207. package/dist/record/reader/index.d.cts +4 -0
  1208. package/dist/record/reader/index.d.mts +4 -0
  1209. package/dist/record/reader/index.d.ts +4 -0
  1210. package/dist/record/reader/index.js +42 -0
  1211. package/dist/record/reader/index.js.map +1 -0
  1212. package/dist/record/reader/internal.cjs +17 -0
  1213. package/dist/record/reader/internal.cjs.map +1 -0
  1214. package/dist/record/reader/internal.d.cts +26 -0
  1215. package/dist/record/reader/internal.d.mts +26 -0
  1216. package/dist/record/reader/internal.d.ts +26 -0
  1217. package/dist/record/reader/internal.js +8 -0
  1218. package/dist/record/reader/internal.js.map +1 -0
  1219. package/dist/record/reader/runtime.cjs +728 -0
  1220. package/dist/record/reader/runtime.cjs.map +1 -0
  1221. package/dist/record/reader/runtime.d.cts +22 -0
  1222. package/dist/record/reader/runtime.d.mts +22 -0
  1223. package/dist/record/reader/runtime.d.ts +22 -0
  1224. package/dist/record/reader/runtime.js +20 -0
  1225. package/dist/record/reader/runtime.js.map +1 -0
  1226. package/dist/record/reader/types.cjs +12 -0
  1227. package/dist/record/reader/types.cjs.map +1 -0
  1228. package/dist/record/reader/types.d.cts +50 -0
  1229. package/dist/record/reader/types.d.mts +50 -0
  1230. package/dist/record/reader/types.d.ts +50 -0
  1231. package/dist/record/reader/types.js +10 -0
  1232. package/dist/record/reader/types.js.map +1 -0
  1233. package/dist/record/source-hash.cjs +30 -0
  1234. package/dist/record/source-hash.cjs.map +1 -0
  1235. package/dist/record/source-hash.d.cts +9 -0
  1236. package/dist/record/source-hash.d.mts +9 -0
  1237. package/dist/record/source-hash.js +8 -25
  1238. package/dist/record/source-hash.js.map +1 -0
  1239. package/dist/record/writer/attachment-payload.cjs +81 -0
  1240. package/dist/record/writer/attachment-payload.cjs.map +1 -0
  1241. package/dist/record/writer/attachment-payload.d.cts +19 -0
  1242. package/dist/record/writer/attachment-payload.d.mts +19 -0
  1243. package/dist/record/writer/attachment-payload.d.ts +19 -0
  1244. package/dist/record/writer/attachment-payload.js +10 -0
  1245. package/dist/record/writer/attachment-payload.js.map +1 -0
  1246. package/dist/record/writer/errors.cjs +35 -0
  1247. package/dist/record/writer/errors.cjs.map +1 -0
  1248. package/dist/record/writer/errors.d.cts +35 -0
  1249. package/dist/record/writer/errors.d.mts +35 -0
  1250. package/dist/record/writer/errors.d.ts +35 -0
  1251. package/dist/record/writer/errors.js +14 -0
  1252. package/dist/record/writer/errors.js.map +1 -0
  1253. package/dist/record/writer/index.cjs +20 -0
  1254. package/dist/record/writer/index.cjs.map +1 -0
  1255. package/dist/record/writer/index.d.cts +3 -0
  1256. package/dist/record/writer/index.d.mts +3 -0
  1257. package/dist/record/writer/index.d.ts +3 -0
  1258. package/dist/record/writer/index.js +22 -0
  1259. package/dist/record/writer/index.js.map +1 -0
  1260. package/dist/record/writer/limits.cjs +16 -0
  1261. package/dist/record/writer/limits.cjs.map +1 -0
  1262. package/dist/record/writer/limits.d.cts +4 -0
  1263. package/dist/record/writer/limits.d.mts +4 -0
  1264. package/dist/record/writer/limits.d.ts +4 -0
  1265. package/dist/record/writer/limits.js +8 -0
  1266. package/dist/record/writer/limits.js.map +1 -0
  1267. package/dist/record/writer/runtime.cjs +656 -0
  1268. package/dist/record/writer/runtime.cjs.map +1 -0
  1269. package/dist/record/writer/runtime.d.cts +7 -0
  1270. package/dist/record/writer/runtime.d.mts +7 -0
  1271. package/dist/record/writer/runtime.d.ts +7 -0
  1272. package/dist/record/writer/runtime.js +6 -0
  1273. package/dist/record/writer/runtime.js.map +1 -0
  1274. package/dist/record/writer/types.cjs +7 -0
  1275. package/dist/record/writer/types.cjs.map +1 -0
  1276. package/dist/record/writer/types.d.cts +56 -0
  1277. package/dist/record/writer/types.d.mts +56 -0
  1278. package/dist/record/writer/types.d.ts +56 -0
  1279. package/dist/record/writer/types.js +10 -0
  1280. package/dist/record/writer/types.js.map +1 -0
  1281. package/dist/report/author/identity.cjs +268 -0
  1282. package/dist/report/author/identity.cjs.map +1 -0
  1283. package/dist/report/author/identity.d.cts +75 -0
  1284. package/dist/report/author/identity.d.mts +75 -0
  1285. package/dist/report/author/identity.d.ts +75 -0
  1286. package/dist/report/author/identity.js +34 -0
  1287. package/dist/report/author/identity.js.map +1 -0
  1288. package/dist/report/author/index.cjs +19 -0
  1289. package/dist/report/author/index.cjs.map +1 -0
  1290. package/dist/report/author/index.d.cts +4 -0
  1291. package/dist/report/author/index.d.mts +4 -0
  1292. package/dist/report/author/index.d.ts +4 -0
  1293. package/dist/report/author/index.js +30 -0
  1294. package/dist/report/author/index.js.map +1 -0
  1295. package/dist/report/author/internal.cjs +98 -0
  1296. package/dist/report/author/internal.cjs.map +1 -0
  1297. package/dist/report/author/internal.d.cts +91 -0
  1298. package/dist/report/author/internal.d.mts +91 -0
  1299. package/dist/report/author/internal.d.ts +91 -0
  1300. package/dist/report/author/internal.js +18 -0
  1301. package/dist/report/author/internal.js.map +1 -0
  1302. package/dist/report/author/model.cjs +467 -0
  1303. package/dist/report/author/model.cjs.map +1 -0
  1304. package/dist/report/author/model.d.cts +241 -0
  1305. package/dist/report/author/model.d.mts +241 -0
  1306. package/dist/report/author/model.d.ts +241 -0
  1307. package/dist/report/author/model.js +32 -0
  1308. package/dist/report/author/model.js.map +1 -0
  1309. package/dist/report/built-in/attempt-overview.cjs +395 -0
  1310. package/dist/report/built-in/attempt-overview.cjs.map +1 -0
  1311. package/dist/report/built-in/attempt-overview.d.cts +10 -0
  1312. package/dist/report/built-in/attempt-overview.d.mts +10 -0
  1313. package/dist/report/built-in/attempt-overview.d.ts +10 -0
  1314. package/dist/report/built-in/attempt-overview.js +9 -0
  1315. package/dist/report/built-in/attempt-overview.js.map +1 -0
  1316. package/dist/report/built-in/execution.cjs +766 -0
  1317. package/dist/report/built-in/execution.cjs.map +1 -0
  1318. package/dist/report/built-in/execution.d.cts +25 -0
  1319. package/dist/report/built-in/execution.d.mts +25 -0
  1320. package/dist/report/built-in/execution.d.ts +25 -0
  1321. package/dist/report/built-in/execution.js +12 -0
  1322. package/dist/report/built-in/execution.js.map +1 -0
  1323. package/dist/report/built-in/index.cjs +31 -0
  1324. package/dist/report/built-in/index.cjs.map +1 -0
  1325. package/dist/report/built-in/index.d.cts +6 -0
  1326. package/dist/report/built-in/index.d.mts +6 -0
  1327. package/dist/report/built-in/index.d.ts +6 -8
  1328. package/dist/report/built-in/index.js +35 -13
  1329. package/dist/report/built-in/index.js.map +1 -0
  1330. package/dist/report/built-in/index.mjs +35 -0
  1331. package/dist/report/built-in/index.mjs.map +1 -0
  1332. package/dist/report/built-in/overview.cjs +206 -0
  1333. package/dist/report/built-in/overview.cjs.map +1 -0
  1334. package/dist/report/built-in/overview.d.cts +6 -0
  1335. package/dist/report/built-in/overview.d.mts +6 -0
  1336. package/dist/report/built-in/overview.d.ts +6 -0
  1337. package/dist/report/built-in/overview.js +11 -0
  1338. package/dist/report/built-in/overview.js.map +1 -0
  1339. package/dist/report/built-in/run-membership-overview.cjs +194 -0
  1340. package/dist/report/built-in/run-membership-overview.cjs.map +1 -0
  1341. package/dist/report/built-in/run-membership-overview.d.cts +6 -0
  1342. package/dist/report/built-in/run-membership-overview.d.mts +6 -0
  1343. package/dist/report/built-in/run-membership-overview.d.ts +6 -0
  1344. package/dist/report/built-in/run-membership-overview.js +9 -0
  1345. package/dist/report/built-in/run-membership-overview.js.map +1 -0
  1346. package/dist/report/built-in/sandbox-history.cjs +384 -0
  1347. package/dist/report/built-in/sandbox-history.cjs.map +1 -0
  1348. package/dist/report/built-in/sandbox-history.d.cts +9 -0
  1349. package/dist/report/built-in/sandbox-history.d.mts +9 -0
  1350. package/dist/report/built-in/sandbox-history.d.ts +9 -0
  1351. package/dist/report/built-in/sandbox-history.js +9 -0
  1352. package/dist/report/built-in/sandbox-history.js.map +1 -0
  1353. package/dist/report/built-in/source.cjs +162 -0
  1354. package/dist/report/built-in/source.cjs.map +1 -0
  1355. package/dist/report/built-in/source.d.cts +11 -0
  1356. package/dist/report/built-in/source.d.mts +11 -0
  1357. package/dist/report/built-in/source.d.ts +11 -0
  1358. package/dist/report/built-in/source.js +8 -0
  1359. package/dist/report/built-in/source.js.map +1 -0
  1360. package/dist/report/execution/index.cjs +20 -0
  1361. package/dist/report/execution/index.cjs.map +1 -0
  1362. package/dist/report/execution/index.d.cts +3 -0
  1363. package/dist/report/execution/index.d.mts +3 -0
  1364. package/dist/report/execution/index.d.ts +3 -0
  1365. package/dist/report/execution/index.js +30 -0
  1366. package/dist/report/execution/index.js.map +1 -0
  1367. package/dist/report/execution/model.cjs +483 -0
  1368. package/dist/report/execution/model.cjs.map +1 -0
  1369. package/dist/report/execution/model.d.cts +50 -0
  1370. package/dist/report/execution/model.d.mts +50 -0
  1371. package/dist/report/execution/model.d.ts +50 -0
  1372. package/dist/report/execution/model.js +16 -0
  1373. package/dist/report/execution/model.js.map +1 -0
  1374. package/dist/report/execution/problems.cjs +210 -0
  1375. package/dist/report/execution/problems.cjs.map +1 -0
  1376. package/dist/report/execution/problems.d.cts +54 -0
  1377. package/dist/report/execution/problems.d.mts +54 -0
  1378. package/dist/report/execution/problems.d.ts +54 -0
  1379. package/dist/report/execution/problems.js +14 -0
  1380. package/dist/report/execution/problems.js.map +1 -0
  1381. package/dist/report/execution/results.cjs +26 -0
  1382. package/dist/report/execution/results.cjs.map +1 -0
  1383. package/dist/report/execution/results.d.cts +102 -0
  1384. package/dist/report/execution/results.d.mts +102 -0
  1385. package/dist/report/execution/results.d.ts +102 -0
  1386. package/dist/report/execution/results.js +8 -0
  1387. package/dist/report/execution/results.js.map +1 -0
  1388. package/dist/report/host/execute.cjs +1287 -0
  1389. package/dist/report/host/execute.cjs.map +1 -0
  1390. package/dist/report/host/execute.d.cts +23 -0
  1391. package/dist/report/host/execute.d.mts +23 -0
  1392. package/dist/report/host/execute.d.ts +23 -0
  1393. package/dist/report/host/execute.js +6 -0
  1394. package/dist/report/host/execute.js.map +1 -0
  1395. package/dist/report/host/from-record.cjs +47 -0
  1396. package/dist/report/host/from-record.cjs.map +1 -0
  1397. package/dist/report/host/from-record.d.cts +36 -0
  1398. package/dist/report/host/from-record.d.mts +36 -0
  1399. package/dist/report/host/from-record.d.ts +36 -0
  1400. package/dist/report/host/from-record.js +8 -0
  1401. package/dist/report/host/from-record.js.map +1 -0
  1402. package/dist/report/host/html.cjs +424 -0
  1403. package/dist/report/host/html.cjs.map +1 -0
  1404. package/dist/report/host/html.d.cts +28 -0
  1405. package/dist/report/host/html.d.mts +28 -0
  1406. package/dist/report/host/html.d.ts +28 -0
  1407. package/dist/report/host/html.js +6 -0
  1408. package/dist/report/host/html.js.map +1 -0
  1409. package/dist/report/host/index.cjs +21 -0
  1410. package/dist/report/host/index.cjs.map +1 -0
  1411. package/dist/report/host/index.d.cts +11 -0
  1412. package/dist/report/host/index.d.mts +11 -0
  1413. package/dist/report/host/index.d.ts +11 -0
  1414. package/dist/report/host/index.js +24 -0
  1415. package/dist/report/host/index.js.map +1 -0
  1416. package/dist/report/host/node/loader.cjs +210 -0
  1417. package/dist/report/host/node/loader.cjs.map +1 -0
  1418. package/dist/report/host/node/loader.d.cts +45 -0
  1419. package/dist/report/host/node/loader.d.mts +45 -0
  1420. package/dist/report/host/node/loader.d.ts +45 -0
  1421. package/dist/report/host/node/loader.js +14 -0
  1422. package/dist/report/host/node/loader.js.map +1 -0
  1423. package/dist/report/host/node/theme.cjs +21 -0
  1424. package/dist/report/host/node/theme.cjs.map +1 -0
  1425. package/dist/report/host/node/theme.d.cts +1 -0
  1426. package/dist/report/host/node/theme.d.mts +1 -0
  1427. package/dist/report/host/node/theme.d.ts +1 -0
  1428. package/dist/report/host/node/theme.js +14 -0
  1429. package/dist/report/host/node/theme.js.map +1 -0
  1430. package/dist/report/host/node.cjs +147 -0
  1431. package/dist/report/host/node.cjs.map +1 -0
  1432. package/dist/report/host/node.d.cts +36 -0
  1433. package/dist/report/host/node.d.mts +36 -0
  1434. package/dist/report/host/node.d.ts +36 -0
  1435. package/dist/report/host/node.js +36 -0
  1436. package/dist/report/host/node.js.map +1 -0
  1437. package/dist/report/host/presentation.cjs +423 -0
  1438. package/dist/report/host/presentation.cjs.map +1 -0
  1439. package/dist/report/host/presentation.d.cts +42 -0
  1440. package/dist/report/host/presentation.d.mts +42 -0
  1441. package/dist/report/host/presentation.d.ts +42 -0
  1442. package/dist/report/host/presentation.js +16 -0
  1443. package/dist/report/host/presentation.js.map +1 -0
  1444. package/dist/report/host/static.cjs +126 -0
  1445. package/dist/report/host/static.cjs.map +1 -0
  1446. package/dist/report/host/static.d.cts +55 -0
  1447. package/dist/report/host/static.d.mts +55 -0
  1448. package/dist/report/host/static.d.ts +55 -0
  1449. package/dist/report/host/static.js +8 -0
  1450. package/dist/report/host/static.js.map +1 -0
  1451. package/dist/report/host/theme.cjs +223 -0
  1452. package/dist/report/host/theme.cjs.map +1 -0
  1453. package/dist/report/host/theme.d.cts +64 -0
  1454. package/dist/report/host/theme.d.mts +64 -0
  1455. package/dist/report/host/theme.d.ts +64 -0
  1456. package/dist/report/host/theme.js +14 -0
  1457. package/dist/report/host/theme.js.map +1 -0
  1458. package/dist/report/host/view-session.cjs +82 -0
  1459. package/dist/report/host/view-session.cjs.map +1 -0
  1460. package/dist/report/host/view-session.d.cts +82 -0
  1461. package/dist/report/host/view-session.d.mts +82 -0
  1462. package/dist/report/host/view-session.d.ts +82 -0
  1463. package/dist/report/host/view-session.js +6 -0
  1464. package/dist/report/host/view-session.js.map +1 -0
  1465. package/dist/report/index.cjs +58 -0
  1466. package/dist/report/index.cjs.map +1 -0
  1467. package/dist/report/index.d.cts +11 -0
  1468. package/dist/report/index.d.mts +11 -0
  1469. package/dist/report/index.d.ts +11 -43
  1470. package/dist/report/index.js +120 -44
  1471. package/dist/report/index.js.map +1 -0
  1472. package/dist/report/index.mjs +120 -0
  1473. package/dist/report/index.mjs.map +1 -0
  1474. package/dist/report/model/panel.cjs +271 -0
  1475. package/dist/report/model/panel.cjs.map +1 -0
  1476. package/dist/report/model/panel.d.cts +109 -0
  1477. package/dist/report/model/panel.d.mts +109 -0
  1478. package/dist/report/model/panel.d.ts +2 -2
  1479. package/dist/report/model/panel.js +22 -260
  1480. package/dist/report/model/panel.js.map +1 -0
  1481. package/dist/report/model/text-layout.cjs +185 -0
  1482. package/dist/report/model/text-layout.cjs.map +1 -0
  1483. package/dist/report/model/text-layout.d.cts +75 -0
  1484. package/dist/report/model/text-layout.d.mts +75 -0
  1485. package/dist/report/model/text-layout.js +22 -173
  1486. package/dist/report/model/text-layout.js.map +1 -0
  1487. package/dist/report/semantic/document.cjs +593 -0
  1488. package/dist/report/semantic/document.cjs.map +1 -0
  1489. package/dist/report/semantic/document.d.cts +162 -0
  1490. package/dist/report/semantic/document.d.mts +162 -0
  1491. package/dist/report/semantic/document.d.ts +162 -0
  1492. package/dist/report/semantic/document.js +38 -0
  1493. package/dist/report/semantic/document.js.map +1 -0
  1494. package/dist/report/semantic/index.cjs +18 -0
  1495. package/dist/report/semantic/index.cjs.map +1 -0
  1496. package/dist/report/semantic/index.d.cts +1 -0
  1497. package/dist/report/semantic/index.d.mts +1 -0
  1498. package/dist/report/semantic/index.d.ts +1 -0
  1499. package/dist/report/semantic/index.js +38 -0
  1500. package/dist/report/semantic/index.js.map +1 -0
  1501. package/dist/runner/accept-prompt.cjs +50 -0
  1502. package/dist/runner/accept-prompt.cjs.map +1 -0
  1503. package/dist/runner/accept-prompt.d.cts +27 -0
  1504. package/dist/runner/accept-prompt.d.mts +27 -0
  1505. package/dist/runner/accept-prompt.d.ts +27 -0
  1506. package/dist/runner/accept-prompt.js +10 -0
  1507. package/dist/runner/accept-prompt.js.map +1 -0
  1508. package/dist/runner/accept.cjs +280 -0
  1509. package/dist/runner/accept.cjs.map +1 -0
  1510. package/dist/runner/accept.d.cts +75 -0
  1511. package/dist/runner/accept.d.mts +75 -0
  1512. package/dist/runner/accept.d.ts +75 -0
  1513. package/dist/runner/accept.js +16 -0
  1514. package/dist/runner/accept.js.map +1 -0
  1515. package/dist/runner/adoption.cjs +859 -0
  1516. package/dist/runner/adoption.cjs.map +1 -0
  1517. package/dist/runner/adoption.d.cts +214 -0
  1518. package/dist/runner/adoption.d.mts +214 -0
  1519. package/dist/runner/adoption.d.ts +214 -0
  1520. package/dist/runner/adoption.js +50 -0
  1521. package/dist/runner/adoption.js.map +1 -0
  1522. package/dist/runner/assert-first-bridge.cjs +203 -0
  1523. package/dist/runner/assert-first-bridge.cjs.map +1 -0
  1524. package/dist/runner/assert-first-bridge.d.cts +51 -0
  1525. package/dist/runner/assert-first-bridge.d.mts +51 -0
  1526. package/dist/runner/assert-first-bridge.d.ts +51 -0
  1527. package/dist/runner/assert-first-bridge.js +6 -0
  1528. package/dist/runner/assert-first-bridge.js.map +1 -0
  1529. package/dist/runner/assertions.cjs +77 -0
  1530. package/dist/runner/assertions.cjs.map +1 -0
  1531. package/dist/runner/assertions.d.cts +8 -0
  1532. package/dist/runner/assertions.d.mts +8 -0
  1533. package/dist/runner/assertions.d.ts +8 -0
  1534. package/dist/runner/assertions.js +6 -0
  1535. package/dist/runner/assertions.js.map +1 -0
  1536. package/dist/runner/attempt.cjs +2057 -0
  1537. package/dist/runner/attempt.cjs.map +1 -0
  1538. package/dist/runner/attempt.d.cts +90 -0
  1539. package/dist/runner/attempt.d.mts +90 -0
  1540. package/dist/runner/attempt.d.ts +90 -0
  1541. package/dist/runner/attempt.js +14 -0
  1542. package/dist/runner/attempt.js.map +1 -0
  1543. package/dist/runner/build-preparation.cjs +87 -0
  1544. package/dist/runner/build-preparation.cjs.map +1 -0
  1545. package/dist/runner/build-preparation.d.cts +23 -0
  1546. package/dist/runner/build-preparation.d.mts +23 -0
  1547. package/dist/runner/build-preparation.d.ts +23 -0
  1548. package/dist/runner/build-preparation.js +8 -0
  1549. package/dist/runner/build-preparation.js.map +1 -0
  1550. package/dist/runner/cleanup-timeout.cjs +40 -0
  1551. package/dist/runner/cleanup-timeout.cjs.map +1 -0
  1552. package/dist/runner/cleanup-timeout.d.cts +21 -0
  1553. package/dist/runner/cleanup-timeout.d.mts +21 -0
  1554. package/dist/runner/cleanup-timeout.d.ts +19 -1
  1555. package/dist/runner/cleanup-timeout.js +12 -0
  1556. package/dist/runner/cleanup-timeout.js.map +1 -0
  1557. package/dist/runner/command-plan.cjs +475 -0
  1558. package/dist/runner/command-plan.cjs.map +1 -0
  1559. package/dist/runner/command-plan.d.cts +106 -0
  1560. package/dist/runner/command-plan.d.mts +106 -0
  1561. package/dist/runner/command-plan.d.ts +106 -0
  1562. package/dist/runner/command-plan.js +6 -0
  1563. package/dist/runner/command-plan.js.map +1 -0
  1564. package/dist/runner/config-identity.cjs +259 -0
  1565. package/dist/runner/config-identity.cjs.map +1 -0
  1566. package/dist/runner/config-identity.d.cts +88 -0
  1567. package/dist/runner/config-identity.d.mts +88 -0
  1568. package/dist/runner/config-identity.d.ts +7 -5
  1569. package/dist/runner/config-identity.js +22 -0
  1570. package/dist/runner/config-identity.js.map +1 -0
  1571. package/dist/runner/direct-agent-sandbox.cjs +64 -0
  1572. package/dist/runner/direct-agent-sandbox.cjs.map +1 -0
  1573. package/dist/runner/direct-agent-sandbox.d.cts +5 -0
  1574. package/dist/runner/direct-agent-sandbox.d.mts +5 -0
  1575. package/dist/runner/direct-agent-sandbox.d.ts +5 -0
  1576. package/dist/runner/direct-agent-sandbox.js +8 -0
  1577. package/dist/runner/direct-agent-sandbox.js.map +1 -0
  1578. package/dist/runner/discover.cjs +628 -0
  1579. package/dist/runner/discover.cjs.map +1 -0
  1580. package/dist/runner/discover.d.cts +29 -0
  1581. package/dist/runner/discover.d.mts +29 -0
  1582. package/dist/runner/discover.d.ts +29 -0
  1583. package/dist/runner/discover.js +12 -0
  1584. package/dist/runner/discover.js.map +1 -0
  1585. package/dist/runner/eval-selection.cjs +95 -0
  1586. package/dist/runner/eval-selection.cjs.map +1 -0
  1587. package/dist/runner/eval-selection.d.cts +37 -0
  1588. package/dist/runner/eval-selection.d.mts +37 -0
  1589. package/dist/runner/eval-selection.d.ts +2 -7
  1590. package/dist/runner/eval-selection.js +12 -0
  1591. package/dist/runner/eval-selection.js.map +1 -0
  1592. package/dist/runner/eval-source.cjs +64 -0
  1593. package/dist/runner/eval-source.cjs.map +1 -0
  1594. package/dist/runner/eval-source.d.cts +28 -0
  1595. package/dist/runner/eval-source.d.mts +28 -0
  1596. package/dist/runner/eval-source.d.ts +1 -1
  1597. package/dist/runner/eval-source.js +26 -0
  1598. package/dist/runner/eval-source.js.map +1 -0
  1599. package/dist/runner/experiment-cleanup-registry.cjs +70 -0
  1600. package/dist/runner/experiment-cleanup-registry.cjs.map +1 -0
  1601. package/dist/runner/experiment-cleanup-registry.d.cts +19 -0
  1602. package/dist/runner/experiment-cleanup-registry.d.mts +19 -0
  1603. package/dist/runner/experiment-cleanup-registry.d.ts +19 -0
  1604. package/dist/runner/experiment-cleanup-registry.js +14 -0
  1605. package/dist/runner/experiment-cleanup-registry.js.map +1 -0
  1606. package/dist/runner/feedback/coordinator.cjs +404 -0
  1607. package/dist/runner/feedback/coordinator.cjs.map +1 -0
  1608. package/dist/runner/feedback/coordinator.d.cts +61 -0
  1609. package/dist/runner/feedback/coordinator.d.mts +61 -0
  1610. package/dist/runner/feedback/coordinator.d.ts +61 -0
  1611. package/dist/runner/feedback/coordinator.js +6 -0
  1612. package/dist/runner/feedback/coordinator.js.map +1 -0
  1613. package/dist/runner/feedback/eval-conclusions.cjs +75 -0
  1614. package/dist/runner/feedback/eval-conclusions.cjs.map +1 -0
  1615. package/dist/runner/feedback/eval-conclusions.d.cts +30 -0
  1616. package/dist/runner/feedback/eval-conclusions.d.mts +30 -0
  1617. package/dist/runner/feedback/eval-conclusions.d.ts +30 -0
  1618. package/dist/runner/feedback/eval-conclusions.js +8 -0
  1619. package/dist/runner/feedback/eval-conclusions.js.map +1 -0
  1620. package/dist/runner/feedback/failure.cjs +194 -0
  1621. package/dist/runner/feedback/failure.cjs.map +1 -0
  1622. package/dist/runner/feedback/failure.d.cts +13 -0
  1623. package/dist/runner/feedback/failure.d.mts +13 -0
  1624. package/dist/runner/feedback/failure.d.ts +13 -0
  1625. package/dist/runner/feedback/failure.js +8 -0
  1626. package/dist/runner/feedback/failure.js.map +1 -0
  1627. package/dist/runner/feedback/human.cjs +1469 -0
  1628. package/dist/runner/feedback/human.cjs.map +1 -0
  1629. package/dist/runner/feedback/human.d.cts +139 -0
  1630. package/dist/runner/feedback/human.d.mts +139 -0
  1631. package/dist/runner/feedback/human.d.ts +139 -0
  1632. package/dist/runner/feedback/human.js +18 -0
  1633. package/dist/runner/feedback/human.js.map +1 -0
  1634. package/dist/runner/feedback/index.cjs +51 -0
  1635. package/dist/runner/feedback/index.cjs.map +1 -0
  1636. package/dist/runner/feedback/index.d.cts +10 -0
  1637. package/dist/runner/feedback/index.d.mts +10 -0
  1638. package/dist/runner/feedback/index.d.ts +10 -0
  1639. package/dist/runner/feedback/index.js +58 -0
  1640. package/dist/runner/feedback/index.js.map +1 -0
  1641. package/dist/runner/feedback/input-guard.cjs +106 -0
  1642. package/dist/runner/feedback/input-guard.cjs.map +1 -0
  1643. package/dist/runner/feedback/input-guard.d.cts +43 -0
  1644. package/dist/runner/feedback/input-guard.d.mts +43 -0
  1645. package/dist/runner/feedback/input-guard.d.ts +43 -0
  1646. package/dist/runner/feedback/input-guard.js +8 -0
  1647. package/dist/runner/feedback/input-guard.js.map +1 -0
  1648. package/dist/runner/feedback/io.cjs +43 -0
  1649. package/dist/runner/feedback/io.cjs.map +1 -0
  1650. package/dist/runner/feedback/io.d.cts +38 -0
  1651. package/dist/runner/feedback/io.d.mts +38 -0
  1652. package/dist/runner/feedback/io.d.ts +38 -0
  1653. package/dist/runner/feedback/io.js +6 -0
  1654. package/dist/runner/feedback/io.js.map +1 -0
  1655. package/dist/runner/feedback/json.cjs +371 -0
  1656. package/dist/runner/feedback/json.cjs.map +1 -0
  1657. package/dist/runner/feedback/json.d.cts +242 -0
  1658. package/dist/runner/feedback/json.d.mts +242 -0
  1659. package/dist/runner/feedback/json.d.ts +242 -0
  1660. package/dist/runner/feedback/json.js +10 -0
  1661. package/dist/runner/feedback/json.js.map +1 -0
  1662. package/dist/runner/feedback/profile.cjs +8 -0
  1663. package/dist/runner/feedback/profile.cjs.map +1 -0
  1664. package/dist/runner/feedback/profile.d.cts +14 -0
  1665. package/dist/runner/feedback/profile.d.mts +14 -0
  1666. package/dist/runner/feedback/profile.d.ts +14 -0
  1667. package/dist/runner/feedback/profile.js +6 -0
  1668. package/dist/runner/feedback/profile.js.map +1 -0
  1669. package/dist/runner/feedback/reducer.cjs +372 -0
  1670. package/dist/runner/feedback/reducer.cjs.map +1 -0
  1671. package/dist/runner/feedback/reducer.d.cts +4 -0
  1672. package/dist/runner/feedback/reducer.d.mts +4 -0
  1673. package/dist/runner/feedback/reducer.d.ts +4 -0
  1674. package/dist/runner/feedback/reducer.js +8 -0
  1675. package/dist/runner/feedback/reducer.js.map +1 -0
  1676. package/dist/runner/feedback/renderer.cjs +3 -0
  1677. package/dist/runner/feedback/renderer.cjs.map +1 -0
  1678. package/dist/runner/feedback/renderer.d.cts +63 -0
  1679. package/dist/runner/feedback/renderer.d.mts +63 -0
  1680. package/dist/runner/feedback/renderer.d.ts +63 -0
  1681. package/dist/runner/feedback/renderer.js +4 -0
  1682. package/dist/runner/feedback/renderer.js.map +1 -0
  1683. package/dist/runner/feedback/sink.cjs +194 -0
  1684. package/dist/runner/feedback/sink.cjs.map +1 -0
  1685. package/dist/runner/feedback/sink.d.cts +187 -0
  1686. package/dist/runner/feedback/sink.d.mts +187 -0
  1687. package/dist/runner/feedback/sink.d.ts +7 -7
  1688. package/dist/runner/feedback/sink.js +34 -0
  1689. package/dist/runner/feedback/sink.js.map +1 -0
  1690. package/dist/runner/feedback/testing.cjs +69 -0
  1691. package/dist/runner/feedback/testing.cjs.map +1 -0
  1692. package/dist/runner/feedback/testing.d.cts +26 -0
  1693. package/dist/runner/feedback/testing.d.mts +26 -0
  1694. package/dist/runner/feedback/testing.d.ts +26 -0
  1695. package/dist/runner/feedback/testing.js +6 -0
  1696. package/dist/runner/feedback/testing.js.map +1 -0
  1697. package/dist/runner/fingerprint.cjs +379 -0
  1698. package/dist/runner/fingerprint.cjs.map +1 -0
  1699. package/dist/runner/fingerprint.d.cts +71 -0
  1700. package/dist/runner/fingerprint.d.mts +71 -0
  1701. package/dist/runner/fingerprint.d.ts +49 -167
  1702. package/dist/runner/fingerprint.js +22 -0
  1703. package/dist/runner/fingerprint.js.map +1 -0
  1704. package/dist/runner/gate-lease.cjs +271 -0
  1705. package/dist/runner/gate-lease.cjs.map +1 -0
  1706. package/dist/runner/gate-lease.d.cts +62 -0
  1707. package/dist/runner/gate-lease.d.mts +62 -0
  1708. package/dist/runner/gate-lease.d.ts +62 -0
  1709. package/dist/runner/gate-lease.js +22 -0
  1710. package/dist/runner/gate-lease.js.map +1 -0
  1711. package/dist/runner/judge-config.cjs +26 -0
  1712. package/dist/runner/judge-config.cjs.map +1 -0
  1713. package/dist/runner/judge-config.d.cts +8 -0
  1714. package/dist/runner/judge-config.d.mts +8 -0
  1715. package/dist/runner/judge-config.d.ts +6 -4
  1716. package/dist/runner/judge-config.js +6 -0
  1717. package/dist/runner/judge-config.js.map +1 -0
  1718. package/dist/runner/leak-gate.cjs +381 -0
  1719. package/dist/runner/leak-gate.cjs.map +1 -0
  1720. package/dist/runner/leak-gate.d.cts +124 -0
  1721. package/dist/runner/leak-gate.d.mts +124 -0
  1722. package/dist/runner/leak-gate.d.ts +36 -8
  1723. package/dist/runner/leak-gate.js +32 -0
  1724. package/dist/runner/leak-gate.js.map +1 -0
  1725. package/dist/runner/ledger.cjs +470 -0
  1726. package/dist/runner/ledger.cjs.map +1 -0
  1727. package/dist/runner/ledger.d.cts +35 -0
  1728. package/dist/runner/ledger.d.mts +35 -0
  1729. package/dist/runner/ledger.d.ts +35 -0
  1730. package/dist/runner/ledger.js +8 -0
  1731. package/dist/runner/ledger.js.map +1 -0
  1732. package/dist/runner/lock.cjs +236 -0
  1733. package/dist/runner/lock.cjs.map +1 -0
  1734. package/dist/runner/lock.d.cts +56 -0
  1735. package/dist/runner/lock.d.mts +56 -0
  1736. package/dist/runner/lock.d.ts +56 -0
  1737. package/dist/runner/lock.js +22 -0
  1738. package/dist/runner/lock.js.map +1 -0
  1739. package/dist/runner/manifest.cjs +179 -0
  1740. package/dist/runner/manifest.cjs.map +1 -0
  1741. package/dist/runner/manifest.d.cts +61 -0
  1742. package/dist/runner/manifest.d.mts +61 -0
  1743. package/dist/runner/manifest.d.ts +4 -4
  1744. package/dist/runner/manifest.js +22 -0
  1745. package/dist/runner/manifest.js.map +1 -0
  1746. package/dist/runner/project-current.cjs +117 -0
  1747. package/dist/runner/project-current.cjs.map +1 -0
  1748. package/dist/runner/project-current.d.cts +29 -0
  1749. package/dist/runner/project-current.d.mts +29 -0
  1750. package/dist/runner/project-current.d.ts +29 -0
  1751. package/dist/runner/project-current.js +8 -0
  1752. package/dist/runner/project-current.js.map +1 -0
  1753. package/dist/runner/project-target.cjs +3 -0
  1754. package/dist/runner/project-target.cjs.map +1 -0
  1755. package/dist/runner/project-target.d.cts +30 -0
  1756. package/dist/runner/project-target.d.mts +30 -0
  1757. package/dist/runner/project-target.d.ts +30 -0
  1758. package/dist/runner/project-target.js +4 -0
  1759. package/dist/runner/project-target.js.map +1 -0
  1760. package/dist/runner/record.cjs +883 -0
  1761. package/dist/runner/record.cjs.map +1 -0
  1762. package/dist/runner/record.d.cts +151 -0
  1763. package/dist/runner/record.d.mts +151 -0
  1764. package/dist/runner/record.d.ts +151 -0
  1765. package/dist/runner/record.js +10 -0
  1766. package/dist/runner/record.js.map +1 -0
  1767. package/dist/runner/rename-experiment.cjs +273 -0
  1768. package/dist/runner/rename-experiment.cjs.map +1 -0
  1769. package/dist/runner/rename-experiment.d.cts +123 -0
  1770. package/dist/runner/rename-experiment.d.mts +123 -0
  1771. package/dist/runner/rename-experiment.d.ts +123 -0
  1772. package/dist/runner/rename-experiment.js +14 -0
  1773. package/dist/runner/rename-experiment.js.map +1 -0
  1774. package/dist/runner/report.cjs +123 -0
  1775. package/dist/runner/report.cjs.map +1 -0
  1776. package/dist/runner/report.d.cts +27 -0
  1777. package/dist/runner/report.d.mts +27 -0
  1778. package/dist/runner/report.d.ts +27 -0
  1779. package/dist/runner/report.js +14 -0
  1780. package/dist/runner/report.js.map +1 -0
  1781. package/dist/runner/reporters/braintrust.cjs +302 -0
  1782. package/dist/runner/reporters/braintrust.cjs.map +1 -0
  1783. package/dist/runner/reporters/braintrust.d.cts +59 -0
  1784. package/dist/runner/reporters/braintrust.d.mts +59 -0
  1785. package/dist/runner/reporters/braintrust.d.ts +59 -0
  1786. package/dist/runner/reporters/braintrust.js +8 -0
  1787. package/dist/runner/reporters/braintrust.js.map +1 -0
  1788. package/dist/runner/reporters/index.cjs +12 -0
  1789. package/dist/runner/reporters/index.cjs.map +1 -0
  1790. package/dist/runner/reporters/index.d.cts +2 -0
  1791. package/dist/runner/reporters/index.d.mts +2 -0
  1792. package/dist/runner/reporters/index.d.ts +2 -0
  1793. package/dist/runner/reporters/index.js +10 -0
  1794. package/dist/runner/reporters/index.js.map +1 -0
  1795. package/dist/runner/reporters/index.mjs +10 -0
  1796. package/dist/runner/reporters/index.mjs.map +1 -0
  1797. package/dist/runner/reporters/json.cjs +116 -0
  1798. package/dist/runner/reporters/json.cjs.map +1 -0
  1799. package/dist/runner/reporters/json.d.cts +3 -0
  1800. package/dist/runner/reporters/json.d.mts +3 -0
  1801. package/dist/runner/reporters/json.d.ts +3 -0
  1802. package/dist/runner/reporters/json.js +8 -0
  1803. package/dist/runner/reporters/json.js.map +1 -0
  1804. package/dist/runner/reporters/shared.cjs +14 -0
  1805. package/dist/runner/reporters/shared.cjs.map +1 -0
  1806. package/dist/runner/reporters/shared.d.cts +3 -0
  1807. package/dist/runner/reporters/shared.d.mts +3 -0
  1808. package/dist/runner/reporters/shared.d.ts +3 -0
  1809. package/dist/runner/reporters/shared.js +8 -0
  1810. package/dist/runner/reporters/shared.js.map +1 -0
  1811. package/dist/runner/reuse-diagnostics.cjs +71 -0
  1812. package/dist/runner/reuse-diagnostics.cjs.map +1 -0
  1813. package/dist/runner/reuse-diagnostics.d.cts +21 -0
  1814. package/dist/runner/reuse-diagnostics.d.mts +21 -0
  1815. package/dist/runner/reuse-diagnostics.d.ts +21 -0
  1816. package/dist/runner/reuse-diagnostics.js +8 -0
  1817. package/dist/runner/reuse-diagnostics.js.map +1 -0
  1818. package/dist/runner/reuse-plan.cjs +739 -0
  1819. package/dist/runner/reuse-plan.cjs.map +1 -0
  1820. package/dist/runner/reuse-plan.d.cts +185 -0
  1821. package/dist/runner/reuse-plan.d.mts +185 -0
  1822. package/dist/runner/reuse-plan.d.ts +185 -0
  1823. package/dist/runner/reuse-plan.js +26 -0
  1824. package/dist/runner/reuse-plan.js.map +1 -0
  1825. package/dist/runner/reuse-readback.cjs +275 -0
  1826. package/dist/runner/reuse-readback.cjs.map +1 -0
  1827. package/dist/runner/reuse-readback.d.cts +169 -0
  1828. package/dist/runner/reuse-readback.d.mts +169 -0
  1829. package/dist/runner/reuse-readback.d.ts +169 -0
  1830. package/dist/runner/reuse-readback.js +20 -0
  1831. package/dist/runner/reuse-readback.js.map +1 -0
  1832. package/dist/runner/run.cjs +2362 -0
  1833. package/dist/runner/run.cjs.map +1 -0
  1834. package/dist/runner/run.d.cts +44 -0
  1835. package/dist/runner/run.d.mts +44 -0
  1836. package/dist/runner/run.d.ts +44 -0
  1837. package/dist/runner/run.js +12 -0
  1838. package/dist/runner/run.js.map +1 -0
  1839. package/dist/runner/sandbox-pool.cjs +312 -0
  1840. package/dist/runner/sandbox-pool.cjs.map +1 -0
  1841. package/dist/runner/sandbox-pool.d.cts +70 -0
  1842. package/dist/runner/sandbox-pool.d.mts +70 -0
  1843. package/dist/runner/sandbox-pool.d.ts +70 -0
  1844. package/dist/runner/sandbox-pool.js +6 -0
  1845. package/dist/runner/sandbox-pool.js.map +1 -0
  1846. package/dist/runner/sandbox-prep.cjs +57 -0
  1847. package/dist/runner/sandbox-prep.cjs.map +1 -0
  1848. package/dist/runner/sandbox-prep.d.cts +8 -0
  1849. package/dist/runner/sandbox-prep.d.mts +8 -0
  1850. package/dist/runner/sandbox-prep.d.ts +8 -0
  1851. package/dist/runner/sandbox-prep.js +8 -0
  1852. package/dist/runner/sandbox-prep.js.map +1 -0
  1853. package/dist/runner/sandbox-record-producer.cjs +142 -0
  1854. package/dist/runner/sandbox-record-producer.cjs.map +1 -0
  1855. package/dist/runner/sandbox-record-producer.d.cts +30 -0
  1856. package/dist/runner/sandbox-record-producer.d.mts +30 -0
  1857. package/dist/runner/sandbox-record-producer.d.ts +30 -0
  1858. package/dist/runner/sandbox-record-producer.js +6 -0
  1859. package/dist/runner/sandbox-record-producer.js.map +1 -0
  1860. package/dist/runner/sandbox-reuse.cjs +57 -0
  1861. package/dist/runner/sandbox-reuse.cjs.map +1 -0
  1862. package/dist/runner/sandbox-reuse.d.cts +43 -0
  1863. package/dist/runner/sandbox-reuse.d.mts +43 -0
  1864. package/dist/runner/sandbox-reuse.d.ts +43 -0
  1865. package/dist/runner/sandbox-reuse.js +8 -0
  1866. package/dist/runner/sandbox-reuse.js.map +1 -0
  1867. package/dist/runner/sandbox-selection.cjs +362 -0
  1868. package/dist/runner/sandbox-selection.cjs.map +1 -0
  1869. package/dist/runner/sandbox-selection.d.cts +87 -0
  1870. package/dist/runner/sandbox-selection.d.mts +87 -0
  1871. package/dist/runner/sandbox-selection.d.ts +17 -6
  1872. package/dist/runner/sandbox-selection.js +22 -0
  1873. package/dist/runner/sandbox-selection.js.map +1 -0
  1874. package/dist/runner/session.cjs +535 -0
  1875. package/dist/runner/session.cjs.map +1 -0
  1876. package/dist/runner/session.d.cts +116 -0
  1877. package/dist/runner/session.d.mts +116 -0
  1878. package/dist/runner/session.d.ts +44 -24
  1879. package/dist/runner/session.js +28 -0
  1880. package/dist/runner/session.js.map +1 -0
  1881. package/dist/runner/source-closure.cjs +51 -0
  1882. package/dist/runner/source-closure.cjs.map +1 -0
  1883. package/dist/runner/source-closure.d.cts +6 -0
  1884. package/dist/runner/source-closure.d.mts +6 -0
  1885. package/dist/runner/source-closure.d.ts +6 -0
  1886. package/dist/runner/source-closure.js +6 -0
  1887. package/dist/runner/source-closure.js.map +1 -0
  1888. package/dist/runner/source-producer.cjs +417 -0
  1889. package/dist/runner/source-producer.cjs.map +1 -0
  1890. package/dist/runner/source-producer.d.cts +70 -0
  1891. package/dist/runner/source-producer.d.mts +70 -0
  1892. package/dist/runner/source-producer.d.ts +70 -0
  1893. package/dist/runner/source-producer.js +10 -0
  1894. package/dist/runner/source-producer.js.map +1 -0
  1895. package/dist/runner/teardown-registry.cjs +112 -0
  1896. package/dist/runner/teardown-registry.cjs.map +1 -0
  1897. package/dist/runner/teardown-registry.d.cts +35 -0
  1898. package/dist/runner/teardown-registry.d.mts +35 -0
  1899. package/dist/runner/teardown-registry.d.ts +35 -0
  1900. package/dist/runner/teardown-registry.js +20 -0
  1901. package/dist/runner/teardown-registry.js.map +1 -0
  1902. package/dist/runner/timeout.cjs +31 -0
  1903. package/dist/runner/timeout.cjs.map +1 -0
  1904. package/dist/runner/timeout.d.cts +30 -0
  1905. package/dist/runner/timeout.d.mts +30 -0
  1906. package/dist/runner/timeout.d.ts +30 -0
  1907. package/dist/runner/timeout.js +8 -0
  1908. package/dist/runner/timeout.js.map +1 -0
  1909. package/dist/runner/timing.cjs +279 -0
  1910. package/dist/runner/timing.cjs.map +1 -0
  1911. package/dist/runner/timing.d.cts +97 -0
  1912. package/dist/runner/timing.d.mts +97 -0
  1913. package/dist/runner/timing.d.ts +2 -2
  1914. package/dist/runner/timing.js +26 -0
  1915. package/dist/runner/timing.js.map +1 -0
  1916. package/dist/runner/types.cjs +135 -0
  1917. package/dist/runner/types.cjs.map +1 -0
  1918. package/dist/runner/types.d.cts +1703 -0
  1919. package/dist/runner/types.d.mts +1703 -0
  1920. package/dist/runner/types.d.ts +214 -166
  1921. package/dist/runner/types.js +32 -109
  1922. package/dist/runner/types.js.map +1 -0
  1923. package/dist/sample/analysis.cjs +1068 -0
  1924. package/dist/sample/analysis.cjs.map +1 -0
  1925. package/dist/sample/analysis.d.cts +153 -0
  1926. package/dist/sample/analysis.d.mts +153 -0
  1927. package/dist/sample/analysis.d.ts +153 -0
  1928. package/dist/sample/analysis.js +30 -0
  1929. package/dist/sample/analysis.js.map +1 -0
  1930. package/dist/sample/index.cjs +16 -0
  1931. package/dist/sample/index.cjs.map +1 -0
  1932. package/dist/sample/index.d.cts +2 -0
  1933. package/dist/sample/index.d.mts +2 -0
  1934. package/dist/sample/index.d.ts +2 -102
  1935. package/dist/sample/index.js +28 -386
  1936. package/dist/sample/index.js.map +1 -0
  1937. package/dist/sandbox/backend.cjs +116 -0
  1938. package/dist/sandbox/backend.cjs.map +1 -0
  1939. package/dist/sandbox/backend.d.cts +58 -0
  1940. package/dist/sandbox/backend.d.mts +58 -0
  1941. package/dist/sandbox/backend.d.ts +9 -3
  1942. package/dist/sandbox/backend.js +26 -0
  1943. package/dist/sandbox/backend.js.map +1 -0
  1944. package/dist/sandbox/build-coordinator.cjs +309 -0
  1945. package/dist/sandbox/build-coordinator.cjs.map +1 -0
  1946. package/dist/sandbox/build-coordinator.d.cts +111 -0
  1947. package/dist/sandbox/build-coordinator.d.mts +111 -0
  1948. package/dist/sandbox/build-coordinator.d.ts +4 -4
  1949. package/dist/sandbox/build-coordinator.js +12 -0
  1950. package/dist/sandbox/build-coordinator.js.map +1 -0
  1951. package/dist/sandbox/case-types.cjs +3 -0
  1952. package/dist/sandbox/case-types.cjs.map +1 -0
  1953. package/dist/sandbox/case-types.d.cts +55 -0
  1954. package/dist/sandbox/case-types.d.mts +55 -0
  1955. package/dist/sandbox/case-types.d.ts +3 -3
  1956. package/dist/sandbox/case-types.js +4 -0
  1957. package/dist/sandbox/case-types.js.map +1 -0
  1958. package/dist/sandbox/checkpoint.cjs +65 -0
  1959. package/dist/sandbox/checkpoint.cjs.map +1 -0
  1960. package/dist/sandbox/checkpoint.d.cts +7 -0
  1961. package/dist/sandbox/checkpoint.d.mts +7 -0
  1962. package/dist/sandbox/checkpoint.d.ts +7 -0
  1963. package/dist/sandbox/checkpoint.js +8 -0
  1964. package/dist/sandbox/checkpoint.js.map +1 -0
  1965. package/dist/sandbox/cli-commands.cjs +535 -0
  1966. package/dist/sandbox/cli-commands.cjs.map +1 -0
  1967. package/dist/sandbox/cli-commands.d.cts +41 -0
  1968. package/dist/sandbox/cli-commands.d.mts +41 -0
  1969. package/dist/sandbox/cli-commands.d.ts +41 -0
  1970. package/dist/sandbox/cli-commands.js +14 -0
  1971. package/dist/sandbox/cli-commands.js.map +1 -0
  1972. package/dist/sandbox/commands.cjs +281 -0
  1973. package/dist/sandbox/commands.cjs.map +1 -0
  1974. package/dist/sandbox/commands.d.cts +141 -0
  1975. package/dist/sandbox/commands.d.mts +141 -0
  1976. package/dist/sandbox/commands.d.ts +64 -3
  1977. package/dist/sandbox/commands.js +20 -0
  1978. package/dist/sandbox/commands.js.map +1 -0
  1979. package/dist/sandbox/compose.cjs +1293 -0
  1980. package/dist/sandbox/compose.cjs.map +1 -0
  1981. package/dist/sandbox/compose.d.cts +215 -0
  1982. package/dist/sandbox/compose.d.mts +215 -0
  1983. package/dist/sandbox/compose.d.ts +32 -16
  1984. package/dist/sandbox/compose.js +38 -0
  1985. package/dist/sandbox/compose.js.map +1 -0
  1986. package/dist/sandbox/content.cjs +153 -0
  1987. package/dist/sandbox/content.cjs.map +1 -0
  1988. package/dist/sandbox/content.d.cts +35 -0
  1989. package/dist/sandbox/content.d.mts +35 -0
  1990. package/dist/sandbox/content.js +10 -0
  1991. package/dist/sandbox/content.js.map +1 -0
  1992. package/dist/sandbox/deadline.cjs +44 -0
  1993. package/dist/sandbox/deadline.cjs.map +1 -0
  1994. package/dist/sandbox/deadline.d.cts +45 -0
  1995. package/dist/sandbox/deadline.d.mts +45 -0
  1996. package/dist/sandbox/deadline.d.ts +2 -2
  1997. package/dist/sandbox/deadline.js +10 -0
  1998. package/dist/sandbox/deadline.js.map +1 -0
  1999. package/dist/sandbox/dind-supervisor.cjs +124 -0
  2000. package/dist/sandbox/dind-supervisor.cjs.map +1 -0
  2001. package/dist/sandbox/dind-supervisor.d.cts +12 -0
  2002. package/dist/sandbox/dind-supervisor.d.mts +12 -0
  2003. package/dist/sandbox/dind-supervisor.d.ts +12 -0
  2004. package/dist/sandbox/dind-supervisor.js +14 -0
  2005. package/dist/sandbox/dind-supervisor.js.map +1 -0
  2006. package/dist/sandbox/docker-agent-image.cjs +36 -0
  2007. package/dist/sandbox/docker-agent-image.cjs.map +1 -0
  2008. package/dist/sandbox/docker-agent-image.d.cts +22 -0
  2009. package/dist/sandbox/docker-agent-image.d.mts +22 -0
  2010. package/dist/sandbox/docker-agent-image.d.ts +22 -0
  2011. package/dist/sandbox/docker-agent-image.js +20 -0
  2012. package/dist/sandbox/docker-agent-image.js.map +1 -0
  2013. package/dist/sandbox/docker-profile/cli.cjs +193 -0
  2014. package/dist/sandbox/docker-profile/cli.cjs.map +1 -0
  2015. package/dist/sandbox/docker-profile/cli.d.cts +12 -0
  2016. package/dist/sandbox/docker-profile/cli.d.mts +12 -0
  2017. package/dist/sandbox/docker-profile/cli.d.ts +12 -0
  2018. package/dist/sandbox/docker-profile/cli.js +12 -0
  2019. package/dist/sandbox/docker-profile/cli.js.map +1 -0
  2020. package/dist/sandbox/docker-profile/errors.cjs +16 -0
  2021. package/dist/sandbox/docker-profile/errors.cjs.map +1 -0
  2022. package/dist/sandbox/docker-profile/errors.d.cts +25 -0
  2023. package/dist/sandbox/docker-profile/errors.d.mts +25 -0
  2024. package/dist/sandbox/docker-profile/errors.d.ts +25 -0
  2025. package/dist/sandbox/docker-profile/errors.js +8 -0
  2026. package/dist/sandbox/docker-profile/errors.js.map +1 -0
  2027. package/dist/sandbox/docker-profile/registry.cjs +377 -0
  2028. package/dist/sandbox/docker-profile/registry.cjs.map +1 -0
  2029. package/dist/sandbox/docker-profile/registry.d.cts +43 -0
  2030. package/dist/sandbox/docker-profile/registry.d.mts +43 -0
  2031. package/dist/sandbox/docker-profile/registry.d.ts +43 -0
  2032. package/dist/sandbox/docker-profile/registry.js +18 -0
  2033. package/dist/sandbox/docker-profile/registry.js.map +1 -0
  2034. package/dist/sandbox/docker-profile/runtime.cjs +198 -0
  2035. package/dist/sandbox/docker-profile/runtime.cjs.map +1 -0
  2036. package/dist/sandbox/docker-profile/runtime.d.cts +36 -0
  2037. package/dist/sandbox/docker-profile/runtime.d.mts +36 -0
  2038. package/dist/sandbox/docker-profile/runtime.d.ts +36 -0
  2039. package/dist/sandbox/docker-profile/runtime.js +20 -0
  2040. package/dist/sandbox/docker-profile/runtime.js.map +1 -0
  2041. package/dist/sandbox/docker-profile/schema.cjs +650 -0
  2042. package/dist/sandbox/docker-profile/schema.cjs.map +1 -0
  2043. package/dist/sandbox/docker-profile/schema.d.cts +129 -0
  2044. package/dist/sandbox/docker-profile/schema.d.mts +129 -0
  2045. package/dist/sandbox/docker-profile/schema.d.ts +129 -0
  2046. package/dist/sandbox/docker-profile/schema.js +38 -0
  2047. package/dist/sandbox/docker-profile/schema.js.map +1 -0
  2048. package/dist/sandbox/docker-stream.cjs +153 -0
  2049. package/dist/sandbox/docker-stream.cjs.map +1 -0
  2050. package/dist/sandbox/docker-stream.d.cts +33 -0
  2051. package/dist/sandbox/docker-stream.d.mts +33 -0
  2052. package/dist/sandbox/docker-stream.js +14 -0
  2053. package/dist/sandbox/docker-stream.js.map +1 -0
  2054. package/dist/sandbox/docker.cjs +1161 -0
  2055. package/dist/sandbox/docker.cjs.map +1 -0
  2056. package/dist/sandbox/docker.d.cts +288 -0
  2057. package/dist/sandbox/docker.d.mts +288 -0
  2058. package/dist/sandbox/docker.d.ts +84 -12
  2059. package/dist/sandbox/docker.js +20 -0
  2060. package/dist/sandbox/docker.js.map +1 -0
  2061. package/dist/sandbox/dockerfile-agent-cache.cjs +104 -0
  2062. package/dist/sandbox/dockerfile-agent-cache.cjs.map +1 -0
  2063. package/dist/sandbox/dockerfile-agent-cache.d.cts +45 -0
  2064. package/dist/sandbox/dockerfile-agent-cache.d.mts +45 -0
  2065. package/dist/sandbox/dockerfile-agent-cache.d.ts +8 -7
  2066. package/dist/sandbox/dockerfile-agent-cache.js +14 -0
  2067. package/dist/sandbox/dockerfile-agent-cache.js.map +1 -0
  2068. package/dist/sandbox/dockerfile-build.cjs +256 -0
  2069. package/dist/sandbox/dockerfile-build.cjs.map +1 -0
  2070. package/dist/sandbox/dockerfile-build.d.cts +59 -0
  2071. package/dist/sandbox/dockerfile-build.d.mts +59 -0
  2072. package/dist/sandbox/dockerfile-build.d.ts +21 -8
  2073. package/dist/sandbox/dockerfile-build.js +16 -0
  2074. package/dist/sandbox/dockerfile-build.js.map +1 -0
  2075. package/dist/sandbox/dockerfile-identity.cjs +124 -0
  2076. package/dist/sandbox/dockerfile-identity.cjs.map +1 -0
  2077. package/dist/sandbox/dockerfile-identity.d.cts +37 -0
  2078. package/dist/sandbox/dockerfile-identity.d.mts +37 -0
  2079. package/dist/sandbox/dockerfile-identity.d.ts +13 -3
  2080. package/dist/sandbox/dockerfile-identity.js +12 -0
  2081. package/dist/sandbox/dockerfile-identity.js.map +1 -0
  2082. package/dist/sandbox/download-directory.cjs +26 -0
  2083. package/dist/sandbox/download-directory.cjs.map +1 -0
  2084. package/dist/sandbox/download-directory.d.cts +9 -0
  2085. package/dist/sandbox/download-directory.d.mts +9 -0
  2086. package/dist/sandbox/download-directory.d.ts +1 -1
  2087. package/dist/sandbox/download-directory.js +6 -0
  2088. package/dist/sandbox/download-directory.js.map +1 -0
  2089. package/dist/sandbox/e2b-agent-template.cjs +140 -0
  2090. package/dist/sandbox/e2b-agent-template.cjs.map +1 -0
  2091. package/dist/sandbox/e2b-agent-template.d.cts +65 -0
  2092. package/dist/sandbox/e2b-agent-template.d.mts +65 -0
  2093. package/dist/sandbox/e2b-agent-template.d.ts +65 -0
  2094. package/dist/sandbox/e2b-agent-template.js +24 -0
  2095. package/dist/sandbox/e2b-agent-template.js.map +1 -0
  2096. package/dist/sandbox/e2b-agent-template.mjs +24 -0
  2097. package/dist/sandbox/e2b-agent-template.mjs.map +1 -0
  2098. package/dist/sandbox/e2b.cjs +664 -0
  2099. package/dist/sandbox/e2b.cjs.map +1 -0
  2100. package/dist/sandbox/e2b.d.cts +124 -0
  2101. package/dist/sandbox/e2b.d.mts +124 -0
  2102. package/dist/sandbox/e2b.d.ts +9 -9
  2103. package/dist/sandbox/e2b.js +10 -0
  2104. package/dist/sandbox/e2b.js.map +1 -0
  2105. package/dist/sandbox/errors.cjs +191 -0
  2106. package/dist/sandbox/errors.cjs.map +1 -0
  2107. package/dist/sandbox/errors.d.cts +60 -0
  2108. package/dist/sandbox/errors.d.mts +60 -0
  2109. package/dist/sandbox/errors.d.ts +1 -1
  2110. package/dist/sandbox/errors.js +20 -0
  2111. package/dist/sandbox/errors.js.map +1 -0
  2112. package/dist/sandbox/identity.cjs +140 -0
  2113. package/dist/sandbox/identity.cjs.map +1 -0
  2114. package/dist/sandbox/identity.d.cts +97 -0
  2115. package/dist/sandbox/identity.d.mts +97 -0
  2116. package/dist/sandbox/identity.d.ts +1 -1
  2117. package/dist/sandbox/identity.js +26 -0
  2118. package/dist/sandbox/identity.js.map +1 -0
  2119. package/dist/sandbox/index.cjs +93 -0
  2120. package/dist/sandbox/index.cjs.map +1 -0
  2121. package/dist/sandbox/index.d.cts +28 -0
  2122. package/dist/sandbox/index.d.mts +28 -0
  2123. package/dist/sandbox/index.d.ts +28 -0
  2124. package/dist/sandbox/index.js +144 -0
  2125. package/dist/sandbox/index.js.map +1 -0
  2126. package/dist/sandbox/index.mjs +144 -0
  2127. package/dist/sandbox/index.mjs.map +1 -0
  2128. package/dist/sandbox/io-retry.cjs +29 -0
  2129. package/dist/sandbox/io-retry.cjs.map +1 -0
  2130. package/dist/sandbox/io-retry.d.cts +17 -0
  2131. package/dist/sandbox/io-retry.d.mts +17 -0
  2132. package/dist/sandbox/io-retry.d.ts +1 -1
  2133. package/dist/sandbox/io-retry.js +6 -0
  2134. package/dist/sandbox/io-retry.js.map +1 -0
  2135. package/dist/sandbox/keep-registry.cjs +269 -0
  2136. package/dist/sandbox/keep-registry.cjs.map +1 -0
  2137. package/dist/sandbox/keep-registry.d.cts +78 -0
  2138. package/dist/sandbox/keep-registry.d.mts +78 -0
  2139. package/dist/sandbox/keep-registry.d.ts +78 -0
  2140. package/dist/sandbox/keep-registry.js +26 -0
  2141. package/dist/sandbox/keep-registry.js.map +1 -0
  2142. package/dist/sandbox/keep.cjs +448 -0
  2143. package/dist/sandbox/keep.cjs.map +1 -0
  2144. package/dist/sandbox/keep.d.cts +64 -0
  2145. package/dist/sandbox/keep.d.mts +64 -0
  2146. package/dist/sandbox/keep.d.ts +64 -0
  2147. package/dist/sandbox/keep.js +28 -0
  2148. package/dist/sandbox/keep.js.map +1 -0
  2149. package/dist/sandbox/layer.cjs +1639 -0
  2150. package/dist/sandbox/layer.cjs.map +1 -0
  2151. package/dist/sandbox/layer.d.cts +565 -0
  2152. package/dist/sandbox/layer.d.mts +565 -0
  2153. package/dist/sandbox/layer.d.ts +179 -32
  2154. package/dist/sandbox/layer.js +42 -0
  2155. package/dist/sandbox/layer.js.map +1 -0
  2156. package/dist/sandbox/ledger-paths.cjs +22 -0
  2157. package/dist/sandbox/ledger-paths.cjs.map +1 -0
  2158. package/dist/sandbox/ledger-paths.d.cts +14 -0
  2159. package/dist/sandbox/ledger-paths.d.mts +14 -0
  2160. package/dist/sandbox/ledger-paths.js +12 -0
  2161. package/dist/sandbox/ledger-paths.js.map +1 -0
  2162. package/dist/sandbox/link.cjs +395 -0
  2163. package/dist/sandbox/link.cjs.map +1 -0
  2164. package/dist/sandbox/link.d.cts +160 -0
  2165. package/dist/sandbox/link.d.mts +160 -0
  2166. package/dist/sandbox/link.d.ts +25 -8
  2167. package/dist/sandbox/link.js +18 -0
  2168. package/dist/sandbox/link.js.map +1 -0
  2169. package/dist/sandbox/local-files.cjs +31 -0
  2170. package/dist/sandbox/local-files.cjs.map +1 -0
  2171. package/dist/sandbox/local-files.d.cts +6 -0
  2172. package/dist/sandbox/local-files.d.mts +6 -0
  2173. package/dist/sandbox/local-files.js +6 -0
  2174. package/dist/sandbox/local-files.js.map +1 -0
  2175. package/dist/sandbox/local.cjs +297 -0
  2176. package/dist/sandbox/local.cjs.map +1 -0
  2177. package/dist/sandbox/local.d.cts +78 -0
  2178. package/dist/sandbox/local.d.mts +78 -0
  2179. package/dist/sandbox/local.d.ts +7 -7
  2180. package/dist/sandbox/local.js +6 -0
  2181. package/dist/sandbox/local.js.map +1 -0
  2182. package/dist/sandbox/operations.cjs +160 -0
  2183. package/dist/sandbox/operations.cjs.map +1 -0
  2184. package/dist/sandbox/operations.d.cts +10 -0
  2185. package/dist/sandbox/operations.d.mts +10 -0
  2186. package/dist/sandbox/operations.d.ts +2 -2
  2187. package/dist/sandbox/operations.js +10 -0
  2188. package/dist/sandbox/operations.js.map +1 -0
  2189. package/dist/sandbox/orphans.cjs +199 -0
  2190. package/dist/sandbox/orphans.cjs.map +1 -0
  2191. package/dist/sandbox/orphans.d.cts +45 -0
  2192. package/dist/sandbox/orphans.d.mts +45 -0
  2193. package/dist/sandbox/orphans.d.ts +45 -0
  2194. package/dist/sandbox/orphans.js +10 -0
  2195. package/dist/sandbox/orphans.js.map +1 -0
  2196. package/dist/sandbox/paths.cjs +102 -0
  2197. package/dist/sandbox/paths.cjs.map +1 -0
  2198. package/dist/sandbox/paths.d.cts +11 -0
  2199. package/dist/sandbox/paths.d.mts +11 -0
  2200. package/dist/sandbox/paths.d.ts +2 -2
  2201. package/dist/sandbox/paths.js +12 -0
  2202. package/dist/sandbox/paths.js.map +1 -0
  2203. package/dist/sandbox/plan.cjs +223 -0
  2204. package/dist/sandbox/plan.cjs.map +1 -0
  2205. package/dist/sandbox/plan.d.cts +88 -0
  2206. package/dist/sandbox/plan.d.mts +88 -0
  2207. package/dist/sandbox/plan.d.ts +4 -3
  2208. package/dist/sandbox/plan.js +20 -0
  2209. package/dist/sandbox/plan.js.map +1 -0
  2210. package/dist/sandbox/prepare-commands.cjs +280 -0
  2211. package/dist/sandbox/prepare-commands.cjs.map +1 -0
  2212. package/dist/sandbox/prepare-commands.d.cts +29 -0
  2213. package/dist/sandbox/prepare-commands.d.mts +29 -0
  2214. package/dist/sandbox/prepare-commands.d.ts +29 -0
  2215. package/dist/sandbox/prepare-commands.js +8 -0
  2216. package/dist/sandbox/prepare-commands.js.map +1 -0
  2217. package/dist/sandbox/record/attachment.cjs +72 -0
  2218. package/dist/sandbox/record/attachment.cjs.map +1 -0
  2219. package/dist/sandbox/record/attachment.d.cts +30 -0
  2220. package/dist/sandbox/record/attachment.d.mts +30 -0
  2221. package/dist/sandbox/record/attachment.d.ts +30 -0
  2222. package/dist/sandbox/record/attachment.js +10 -0
  2223. package/dist/sandbox/record/attachment.js.map +1 -0
  2224. package/dist/sandbox/record/codec.cjs +36 -0
  2225. package/dist/sandbox/record/codec.cjs.map +1 -0
  2226. package/dist/sandbox/record/codec.d.cts +30 -0
  2227. package/dist/sandbox/record/codec.d.mts +30 -0
  2228. package/dist/sandbox/record/codec.d.ts +30 -0
  2229. package/dist/sandbox/record/codec.js +10 -0
  2230. package/dist/sandbox/record/codec.js.map +1 -0
  2231. package/dist/sandbox/record/model.cjs +20 -0
  2232. package/dist/sandbox/record/model.cjs.map +1 -0
  2233. package/dist/sandbox/record/model.d.cts +33 -0
  2234. package/dist/sandbox/record/model.d.mts +33 -0
  2235. package/dist/sandbox/record/model.d.ts +33 -0
  2236. package/dist/sandbox/record/model.js +10 -0
  2237. package/dist/sandbox/record/model.js.map +1 -0
  2238. package/dist/sandbox/record/projector.cjs +29 -0
  2239. package/dist/sandbox/record/projector.cjs.map +1 -0
  2240. package/dist/sandbox/record/projector.d.cts +18 -0
  2241. package/dist/sandbox/record/projector.d.mts +18 -0
  2242. package/dist/sandbox/record/projector.d.ts +18 -0
  2243. package/dist/sandbox/record/projector.js +6 -0
  2244. package/dist/sandbox/record/projector.js.map +1 -0
  2245. package/dist/sandbox/redaction.cjs +59 -0
  2246. package/dist/sandbox/redaction.cjs.map +1 -0
  2247. package/dist/sandbox/redaction.d.cts +19 -0
  2248. package/dist/sandbox/redaction.d.mts +19 -0
  2249. package/dist/sandbox/redaction.js +14 -0
  2250. package/dist/sandbox/redaction.js.map +1 -0
  2251. package/dist/sandbox/registry.cjs +76 -0
  2252. package/dist/sandbox/registry.cjs.map +1 -0
  2253. package/dist/sandbox/registry.d.cts +16 -0
  2254. package/dist/sandbox/registry.d.mts +16 -0
  2255. package/dist/sandbox/registry.d.ts +4 -3
  2256. package/dist/sandbox/registry.js +14 -0
  2257. package/dist/sandbox/registry.js.map +1 -0
  2258. package/dist/sandbox/retry.cjs +82 -0
  2259. package/dist/sandbox/retry.cjs.map +1 -0
  2260. package/dist/sandbox/retry.d.cts +20 -0
  2261. package/dist/sandbox/retry.d.mts +20 -0
  2262. package/dist/sandbox/retry.d.ts +2 -2
  2263. package/dist/sandbox/retry.js +6 -0
  2264. package/dist/sandbox/retry.js.map +1 -0
  2265. package/dist/sandbox/run-identity.cjs +109 -0
  2266. package/dist/sandbox/run-identity.cjs.map +1 -0
  2267. package/dist/sandbox/run-identity.d.cts +38 -0
  2268. package/dist/sandbox/run-identity.d.mts +38 -0
  2269. package/dist/sandbox/run-identity.js +36 -0
  2270. package/dist/sandbox/run-identity.js.map +1 -0
  2271. package/dist/sandbox/runtime.cjs +873 -0
  2272. package/dist/sandbox/runtime.cjs.map +1 -0
  2273. package/dist/sandbox/runtime.d.cts +116 -0
  2274. package/dist/sandbox/runtime.d.mts +116 -0
  2275. package/dist/sandbox/runtime.d.ts +16 -16
  2276. package/dist/sandbox/runtime.js +40 -0
  2277. package/dist/sandbox/runtime.js.map +1 -0
  2278. package/dist/sandbox/shell.cjs +22 -0
  2279. package/dist/sandbox/shell.cjs.map +1 -0
  2280. package/dist/sandbox/shell.d.cts +11 -0
  2281. package/dist/sandbox/shell.d.mts +11 -0
  2282. package/dist/sandbox/shell.js +8 -0
  2283. package/dist/sandbox/shell.js.map +1 -0
  2284. package/dist/sandbox/transfer-errors.cjs +116 -0
  2285. package/dist/sandbox/transfer-errors.cjs.map +1 -0
  2286. package/dist/sandbox/transfer-errors.d.cts +25 -0
  2287. package/dist/sandbox/transfer-errors.d.mts +25 -0
  2288. package/dist/sandbox/transfer-errors.js +14 -0
  2289. package/dist/sandbox/transfer-errors.js.map +1 -0
  2290. package/dist/sandbox/types.cjs +3 -0
  2291. package/dist/sandbox/types.cjs.map +1 -0
  2292. package/dist/sandbox/types.d.cts +177 -0
  2293. package/dist/sandbox/types.d.mts +177 -0
  2294. package/dist/sandbox/types.d.ts +15 -10
  2295. package/dist/sandbox/types.js +4 -3
  2296. package/dist/sandbox/types.js.map +1 -0
  2297. package/dist/sandbox/vercel.cjs +335 -0
  2298. package/dist/sandbox/vercel.cjs.map +1 -0
  2299. package/dist/sandbox/vercel.d.cts +97 -0
  2300. package/dist/sandbox/vercel.d.mts +97 -0
  2301. package/dist/sandbox/vercel.d.ts +9 -9
  2302. package/dist/sandbox/vercel.js +8 -0
  2303. package/dist/sandbox/vercel.js.map +1 -0
  2304. package/dist/shared/aggregate.cjs +97 -0
  2305. package/dist/shared/aggregate.cjs.map +1 -0
  2306. package/dist/shared/aggregate.d.cts +45 -0
  2307. package/dist/shared/aggregate.d.mts +45 -0
  2308. package/dist/shared/aggregate.d.ts +4 -4
  2309. package/dist/shared/aggregate.js +24 -87
  2310. package/dist/shared/aggregate.js.map +1 -0
  2311. package/dist/shared/entry-file-store.cjs +126 -0
  2312. package/dist/shared/entry-file-store.cjs.map +1 -0
  2313. package/dist/shared/entry-file-store.d.cts +46 -0
  2314. package/dist/shared/entry-file-store.d.mts +46 -0
  2315. package/dist/shared/entry-file-store.d.ts +9 -6
  2316. package/dist/shared/entry-file-store.js +18 -0
  2317. package/dist/shared/entry-file-store.js.map +1 -0
  2318. package/dist/shared/external-cause.cjs +278 -0
  2319. package/dist/shared/external-cause.cjs.map +1 -0
  2320. package/dist/shared/external-cause.d.cts +51 -0
  2321. package/dist/shared/external-cause.d.mts +51 -0
  2322. package/dist/shared/external-cause.d.ts +1 -1
  2323. package/dist/shared/external-cause.js +12 -0
  2324. package/dist/shared/external-cause.js.map +1 -0
  2325. package/dist/shared/facts.cjs +24 -0
  2326. package/dist/shared/facts.cjs.map +1 -0
  2327. package/dist/shared/facts.d.cts +7 -0
  2328. package/dist/shared/facts.d.mts +7 -0
  2329. package/dist/shared/facts.d.ts +7 -0
  2330. package/dist/shared/facts.js +6 -0
  2331. package/dist/shared/facts.js.map +1 -0
  2332. package/dist/shared/failure-class.cjs +166 -0
  2333. package/dist/shared/failure-class.cjs.map +1 -0
  2334. package/dist/shared/failure-class.d.cts +92 -0
  2335. package/dist/shared/failure-class.d.mts +92 -0
  2336. package/dist/shared/failure-class.d.ts +2 -2
  2337. package/dist/shared/failure-class.js +20 -0
  2338. package/dist/shared/failure-class.js.map +1 -0
  2339. package/dist/shared/format.cjs +36 -0
  2340. package/dist/shared/format.cjs.map +1 -0
  2341. package/dist/shared/format.d.cts +3 -0
  2342. package/dist/shared/format.d.mts +3 -0
  2343. package/dist/shared/format.d.ts +3 -0
  2344. package/dist/shared/format.js +10 -0
  2345. package/dist/shared/format.js.map +1 -0
  2346. package/dist/shared/json-match.cjs +44 -0
  2347. package/dist/shared/json-match.cjs.map +1 -0
  2348. package/dist/shared/json-match.d.cts +3 -0
  2349. package/dist/shared/json-match.d.mts +3 -0
  2350. package/dist/shared/json-match.d.ts +3 -0
  2351. package/dist/shared/json-match.js +6 -0
  2352. package/dist/shared/json-match.js.map +1 -0
  2353. package/dist/shared/json-value.cjs +45 -0
  2354. package/dist/shared/json-value.cjs.map +1 -0
  2355. package/dist/shared/json-value.d.cts +11 -0
  2356. package/dist/shared/json-value.d.mts +11 -0
  2357. package/dist/shared/json-value.d.ts +11 -0
  2358. package/dist/shared/json-value.js +8 -0
  2359. package/dist/shared/json-value.js.map +1 -0
  2360. package/dist/shared/turn-label.cjs +19 -0
  2361. package/dist/shared/turn-label.cjs.map +1 -0
  2362. package/dist/shared/turn-label.d.cts +9 -0
  2363. package/dist/shared/turn-label.d.mts +9 -0
  2364. package/dist/shared/turn-label.js +8 -14
  2365. package/dist/shared/turn-label.js.map +1 -0
  2366. package/dist/shared/types.cjs +3 -0
  2367. package/dist/shared/types.cjs.map +1 -0
  2368. package/dist/shared/types.d.cts +80 -0
  2369. package/dist/shared/types.d.mts +80 -0
  2370. package/dist/shared/types.d.ts +0 -2
  2371. package/dist/shared/types.js +4 -4
  2372. package/dist/shared/types.js.map +1 -0
  2373. package/dist/shared/verdict.cjs +70 -0
  2374. package/dist/shared/verdict.cjs.map +1 -0
  2375. package/dist/shared/verdict.d.cts +36 -0
  2376. package/dist/shared/verdict.d.mts +36 -0
  2377. package/dist/shared/verdict.d.ts +21 -32
  2378. package/dist/shared/verdict.js +14 -53
  2379. package/dist/shared/verdict.js.map +1 -0
  2380. package/dist/show/command.cjs +20 -0
  2381. package/dist/show/command.cjs.map +1 -0
  2382. package/dist/show/command.d.cts +13 -0
  2383. package/dist/show/command.d.mts +13 -0
  2384. package/dist/show/command.d.ts +13 -0
  2385. package/dist/show/command.js +6 -0
  2386. package/dist/show/command.js.map +1 -0
  2387. package/dist/show/json.cjs +8 -0
  2388. package/dist/show/json.cjs.map +1 -0
  2389. package/dist/show/json.d.cts +2 -0
  2390. package/dist/show/json.d.mts +2 -0
  2391. package/dist/show/json.d.ts +2 -0
  2392. package/dist/show/json.js +8 -0
  2393. package/dist/show/json.js.map +1 -0
  2394. package/dist/show/render.cjs +7 -0
  2395. package/dist/show/render.cjs.map +1 -0
  2396. package/dist/show/render.d.cts +2 -0
  2397. package/dist/show/render.d.mts +2 -0
  2398. package/dist/show/render.d.ts +2 -0
  2399. package/dist/show/render.js +6 -0
  2400. package/dist/show/render.js.map +1 -0
  2401. package/dist/source-loc.cjs +137 -0
  2402. package/dist/source-loc.cjs.map +1 -0
  2403. package/dist/source-loc.d.cts +22 -0
  2404. package/dist/source-loc.d.mts +22 -0
  2405. package/dist/source-loc.d.ts +22 -0
  2406. package/dist/source-loc.js +10 -0
  2407. package/dist/source-loc.js.map +1 -0
  2408. package/dist/sources/assemble.cjs +634 -0
  2409. package/dist/sources/assemble.cjs.map +1 -0
  2410. package/dist/sources/assemble.d.cts +6 -0
  2411. package/dist/sources/assemble.d.mts +6 -0
  2412. package/dist/sources/assemble.d.ts +6 -0
  2413. package/dist/sources/assemble.js +6 -0
  2414. package/dist/sources/assemble.js.map +1 -0
  2415. package/dist/sources/attachment.cjs +272 -0
  2416. package/dist/sources/attachment.cjs.map +1 -0
  2417. package/dist/sources/attachment.d.cts +331 -0
  2418. package/dist/sources/attachment.d.mts +331 -0
  2419. package/dist/sources/attachment.d.ts +331 -0
  2420. package/dist/sources/attachment.js +22 -0
  2421. package/dist/sources/attachment.js.map +1 -0
  2422. package/dist/sources/codec.cjs +220 -0
  2423. package/dist/sources/codec.cjs.map +1 -0
  2424. package/dist/sources/codec.d.cts +408 -0
  2425. package/dist/sources/codec.d.mts +408 -0
  2426. package/dist/sources/codec.d.ts +408 -0
  2427. package/dist/sources/codec.js +56 -0
  2428. package/dist/sources/codec.js.map +1 -0
  2429. package/dist/sources/identity.cjs +10 -0
  2430. package/dist/sources/identity.cjs.map +1 -0
  2431. package/dist/sources/identity.d.cts +10 -0
  2432. package/dist/sources/identity.d.mts +10 -0
  2433. package/dist/sources/identity.d.ts +10 -0
  2434. package/dist/sources/identity.js +10 -0
  2435. package/dist/sources/identity.js.map +1 -0
  2436. package/dist/sources/index.cjs +24 -0
  2437. package/dist/sources/index.cjs.map +1 -0
  2438. package/dist/sources/index.d.cts +7 -0
  2439. package/dist/sources/index.d.mts +7 -0
  2440. package/dist/sources/index.d.ts +7 -0
  2441. package/dist/sources/index.js +90 -0
  2442. package/dist/sources/index.js.map +1 -0
  2443. package/dist/sources/model.cjs +6 -0
  2444. package/dist/sources/model.cjs.map +1 -0
  2445. package/dist/sources/model.d.cts +92 -0
  2446. package/dist/sources/model.d.mts +92 -0
  2447. package/dist/sources/model.d.ts +92 -0
  2448. package/dist/sources/model.js +6 -0
  2449. package/dist/sources/model.js.map +1 -0
  2450. package/dist/sources/projection-model.cjs +3 -0
  2451. package/dist/sources/projection-model.cjs.map +1 -0
  2452. package/dist/sources/projection-model.d.cts +327 -0
  2453. package/dist/sources/projection-model.d.mts +327 -0
  2454. package/dist/sources/projection-model.d.ts +327 -0
  2455. package/dist/sources/projection-model.js +4 -0
  2456. package/dist/sources/projection-model.js.map +1 -0
  2457. package/dist/sources/projector.cjs +282 -0
  2458. package/dist/sources/projector.cjs.map +1 -0
  2459. package/dist/sources/projector.d.cts +8 -0
  2460. package/dist/sources/projector.d.mts +8 -0
  2461. package/dist/sources/projector.d.ts +8 -0
  2462. package/dist/sources/projector.js +10 -0
  2463. package/dist/sources/projector.js.map +1 -0
  2464. package/dist/tty-line.cjs +17 -0
  2465. package/dist/tty-line.cjs.map +1 -0
  2466. package/dist/tty-line.d.cts +2 -0
  2467. package/dist/tty-line.d.mts +2 -0
  2468. package/dist/tty-line.js +6 -0
  2469. package/dist/tty-line.js.map +1 -0
  2470. package/dist/types.cjs +38 -0
  2471. package/dist/types.cjs.map +1 -0
  2472. package/dist/types.d.cts +9 -0
  2473. package/dist/types.d.mts +9 -0
  2474. package/dist/types.d.ts +9 -9
  2475. package/dist/types.js +32 -21
  2476. package/dist/types.js.map +1 -0
  2477. package/dist/util.cjs +193 -0
  2478. package/dist/util.cjs.map +1 -0
  2479. package/dist/util.d.cts +46 -0
  2480. package/dist/util.d.mts +46 -0
  2481. package/dist/util.js +22 -132
  2482. package/dist/util.js.map +1 -0
  2483. package/dist/vendor/remark/remark-gfm.cjs +3484 -0
  2484. package/dist/vendor/remark/remark-gfm.cjs.map +7 -0
  2485. package/dist/vendor/remark/remark-parse.cjs +6975 -0
  2486. package/dist/vendor/remark/remark-parse.cjs.map +7 -0
  2487. package/dist/vendor/remark/remark.cjs +10151 -0
  2488. package/dist/vendor/remark/remark.cjs.map +7 -0
  2489. package/dist/view/data.cjs +3 -0
  2490. package/dist/view/data.cjs.map +1 -0
  2491. package/dist/view/data.d.cts +8 -0
  2492. package/dist/view/data.d.mts +8 -0
  2493. package/dist/view/data.d.ts +8 -0
  2494. package/dist/view/data.js +4 -0
  2495. package/dist/view/data.js.map +1 -0
  2496. package/dist/view/index.cjs +25 -0
  2497. package/dist/view/index.cjs.map +1 -0
  2498. package/dist/view/index.d.cts +9 -0
  2499. package/dist/view/index.d.mts +9 -0
  2500. package/dist/view/index.d.ts +9 -0
  2501. package/dist/view/index.js +30 -0
  2502. package/dist/view/index.js.map +1 -0
  2503. package/dist/view/server.cjs +658 -0
  2504. package/dist/view/server.cjs.map +1 -0
  2505. package/dist/view/server.d.cts +49 -0
  2506. package/dist/view/server.d.mts +49 -0
  2507. package/dist/view/server.d.ts +49 -0
  2508. package/dist/view/server.js +6 -0
  2509. package/dist/view/server.js.map +1 -0
  2510. package/dist/view/shared/types.cjs +3 -0
  2511. package/dist/view/shared/types.cjs.map +1 -0
  2512. package/dist/view/shared/types.d.cts +51 -0
  2513. package/dist/view/shared/types.d.mts +51 -0
  2514. package/dist/view/shared/types.d.ts +51 -0
  2515. package/dist/view/shared/types.js +4 -0
  2516. package/dist/view/shared/types.js.map +1 -0
  2517. package/dist/view/site.cjs +40 -0
  2518. package/dist/view/site.cjs.map +1 -0
  2519. package/dist/view/site.d.cts +26 -0
  2520. package/dist/view/site.d.mts +26 -0
  2521. package/dist/view/site.d.ts +26 -0
  2522. package/dist/view/site.js +10 -0
  2523. package/dist/view/site.js.map +1 -0
  2524. package/dist/view/styles.css +170 -0
  2525. package/docs-site/zh/README.md +6 -6
  2526. package/docs-site/zh/examples/ai-agent-application.mdx +3 -3
  2527. package/docs-site/zh/examples/coding-agent-extensions.mdx +3 -3
  2528. package/docs-site/zh/examples/index.mdx +10 -3
  2529. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +10 -9
  2530. package/docs-site/zh/examples/integrations/claude-sdk.mdx +11 -9
  2531. package/docs-site/zh/examples/integrations/codex-sdk.mdx +14 -13
  2532. package/docs-site/zh/examples/integrations/langgraph.mdx +13 -11
  2533. package/docs-site/zh/examples/integrations/pi-sdk.mdx +11 -9
  2534. package/docs-site/zh/explanation/adapter.mdx +27 -27
  2535. package/docs-site/zh/explanation/assert.mdx +51 -198
  2536. package/docs-site/zh/explanation/drive.mdx +14 -12
  2537. package/docs-site/zh/explanation/evals.mdx +16 -12
  2538. package/docs-site/zh/explanation/experiment.mdx +7 -3
  2539. package/docs-site/zh/explanation/hitl.mdx +7 -7
  2540. package/docs-site/zh/explanation/judge.mdx +67 -96
  2541. package/docs-site/zh/explanation/overview.mdx +59 -100
  2542. package/docs-site/zh/explanation/record.mdx +60 -0
  2543. package/docs-site/zh/explanation/runner.mdx +47 -123
  2544. package/docs-site/zh/explanation/tier.mdx +2 -2
  2545. package/docs-site/zh/index.mdx +15 -13
  2546. package/docs-site/zh/introduction.mdx +15 -13
  2547. package/docs-site/zh/reference/builtin-agents.mdx +60 -37
  2548. package/docs-site/zh/reference/capabilities.mdx +7 -7
  2549. package/docs-site/zh/reference/cli.mdx +146 -80
  2550. package/docs-site/zh/reference/define-agent.mdx +29 -20
  2551. package/docs-site/zh/reference/define-config.mdx +6 -15
  2552. package/docs-site/zh/reference/define-eval.mdx +78 -326
  2553. package/docs-site/zh/reference/events.mdx +70 -21
  2554. package/docs-site/zh/reference/expect.mdx +148 -117
  2555. package/docs-site/zh/reference/official-adapters.mdx +33 -22
  2556. package/docs-site/zh/reference/report-components.mdx +78 -362
  2557. package/docs-site/zh/reference/results-data.mdx +53 -270
  2558. package/docs-site/zh/troubleshooting/debug-sandbox.mdx +8 -6
  2559. package/docs-site/zh/troubleshooting/debugging.mdx +48 -218
  2560. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +3 -3
  2561. package/docs-site/zh/tutorials/agent-feedback-loop.mdx +48 -290
  2562. package/docs-site/zh/tutorials/agent-onboarding.mdx +22 -20
  2563. package/docs-site/zh/tutorials/authoring.mdx +9 -9
  2564. package/docs-site/zh/tutorials/ci-integration.mdx +40 -117
  2565. package/docs-site/zh/tutorials/concurrency.mdx +44 -56
  2566. package/docs-site/zh/tutorials/configuration.mdx +10 -14
  2567. package/docs-site/zh/tutorials/connect-otel.mdx +21 -21
  2568. package/docs-site/zh/tutorials/connect-your-agent.mdx +29 -24
  2569. package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
  2570. package/docs-site/zh/tutorials/custom-reports.mdx +69 -343
  2571. package/docs-site/zh/tutorials/dataset-fanout.mdx +1 -1
  2572. package/docs-site/zh/tutorials/deploy-report-site.mdx +34 -136
  2573. package/docs-site/zh/tutorials/docker-in-docker.mdx +295 -0
  2574. package/docs-site/zh/tutorials/eval-groups.mdx +207 -0
  2575. package/docs-site/zh/tutorials/evaluation-kinds.mdx +67 -103
  2576. package/docs-site/zh/tutorials/experiments.mdx +4 -4
  2577. package/docs-site/zh/tutorials/fixtures.mdx +3 -3
  2578. package/docs-site/zh/tutorials/handle-execution-failures.mdx +114 -0
  2579. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +102 -0
  2580. package/docs-site/zh/tutorials/plugins.mdx +110 -0
  2581. package/docs-site/zh/tutorials/publish-report.mdx +40 -121
  2582. package/docs-site/zh/tutorials/quickstart.mdx +15 -9
  2583. package/docs-site/zh/tutorials/reporters.mdx +40 -90
  2584. package/docs-site/zh/tutorials/rerun-and-cache.mdx +44 -225
  2585. package/docs-site/zh/tutorials/sandbox-agent.mdx +47 -40
  2586. package/docs-site/zh/tutorials/sandbox-providers.mdx +49 -39
  2587. package/docs-site/zh/tutorials/sandbox-reuse.mdx +37 -15
  2588. package/docs-site/zh/tutorials/theming.mdx +21 -156
  2589. package/docs-site/zh/tutorials/viewing-results.mdx +73 -666
  2590. package/docs-site/zh/tutorials/write-experiment.mdx +22 -21
  2591. package/docs-site/zh/tutorials/write-send.mdx +38 -35
  2592. package/package.json +127 -65
  2593. package/dist/context/deferred-file-content.d.ts +0 -15
  2594. package/dist/i18n/zh-CN.d.ts +0 -367
  2595. package/dist/i18n/zh-CN.js +0 -458
  2596. package/dist/record/annotated-source.d.ts +0 -126
  2597. package/dist/record/annotated-source.js +0 -511
  2598. package/dist/record/attempt-evidence.d.ts +0 -84
  2599. package/dist/record/attempt-evidence.js +0 -108
  2600. package/dist/record/attempt-source.d.ts +0 -4
  2601. package/dist/record/attempt-source.js +0 -28
  2602. package/dist/record/format.d.ts +0 -39
  2603. package/dist/record/format.js +0 -75
  2604. package/dist/record/open.d.ts +0 -62
  2605. package/dist/record/open.js +0 -683
  2606. package/dist/record/types.d.ts +0 -297
  2607. package/dist/record/types.js +0 -9
  2608. package/dist/report/assets/colors.d.ts +0 -22
  2609. package/dist/report/assets/colors.js +0 -61
  2610. package/dist/report/assets/series-encoding.d.ts +0 -36
  2611. package/dist/report/assets/series-encoding.js +0 -104
  2612. package/dist/report/built-in/failures.d.ts +0 -1
  2613. package/dist/report/built-in/failures.js +0 -18
  2614. package/dist/report/built-in/result-components.d.ts +0 -10
  2615. package/dist/report/built-in/result-components.js +0 -199
  2616. package/dist/report/built-in/stability.d.ts +0 -1
  2617. package/dist/report/built-in/stability.js +0 -20
  2618. package/dist/report/built-in/standard.d.ts +0 -50
  2619. package/dist/report/built-in/standard.js +0 -93
  2620. package/dist/report/components/attempt-detail/compute.d.ts +0 -51
  2621. package/dist/report/components/attempt-detail/compute.js +0 -512
  2622. package/dist/report/components/attempt-detail/content.d.ts +0 -28
  2623. package/dist/report/components/attempt-detail/content.js +0 -575
  2624. package/dist/report/components/attempt-detail/index.d.ts +0 -15
  2625. package/dist/report/components/attempt-detail/index.js +0 -154
  2626. package/dist/report/components/attempt-detail/validate.d.ts +0 -11
  2627. package/dist/report/components/attempt-detail/validate.js +0 -417
  2628. package/dist/report/components/cell.d.ts +0 -12
  2629. package/dist/report/components/cell.js +0 -10
  2630. package/dist/report/components/entity-lists/compute.d.ts +0 -35
  2631. package/dist/report/components/entity-lists/compute.js +0 -333
  2632. package/dist/report/components/entity-lists/content.d.ts +0 -7
  2633. package/dist/report/components/entity-lists/content.js +0 -483
  2634. package/dist/report/components/entity-lists/index.d.ts +0 -48
  2635. package/dist/report/components/entity-lists/index.js +0 -81
  2636. package/dist/report/components/entity-lists/validate.d.ts +0 -4
  2637. package/dist/report/components/entity-lists/validate.js +0 -155
  2638. package/dist/report/components/experiment-detail/compute.d.ts +0 -7
  2639. package/dist/report/components/experiment-detail/compute.js +0 -32
  2640. package/dist/report/components/experiment-detail/index.d.ts +0 -9
  2641. package/dist/report/components/experiment-detail/index.js +0 -41
  2642. package/dist/report/components/fixtures.d.ts +0 -10
  2643. package/dist/report/components/fixtures.js +0 -341
  2644. package/dist/report/components/shared-compute.d.ts +0 -23
  2645. package/dist/report/components/shared-compute.js +0 -48
  2646. package/dist/report/components/shared-faces.d.ts +0 -8
  2647. package/dist/report/components/shared-faces.js +0 -21
  2648. package/dist/report/components/shared.d.ts +0 -52
  2649. package/dist/report/components/shared.js +0 -95
  2650. package/dist/report/components/site-components/HeroCard.d.ts +0 -14
  2651. package/dist/report/components/site-components/HeroCard.js +0 -35
  2652. package/dist/report/components/site-components/PoweredBy.d.ts +0 -5
  2653. package/dist/report/components/site-components/PoweredBy.js +0 -7
  2654. package/dist/report/components/site-components/compute.d.ts +0 -34
  2655. package/dist/report/components/site-components/compute.js +0 -144
  2656. package/dist/report/components/site-components/content.d.ts +0 -1
  2657. package/dist/report/components/site-components/content.js +0 -2
  2658. package/dist/report/components/site-components/faces.d.ts +0 -9
  2659. package/dist/report/components/site-components/faces.js +0 -34
  2660. package/dist/report/components/site-components/hero-types.d.ts +0 -17
  2661. package/dist/report/components/site-components/index.d.ts +0 -34
  2662. package/dist/report/components/site-components/index.js +0 -55
  2663. package/dist/report/components/site-components/projections.d.ts +0 -12
  2664. package/dist/report/components/site-components/projections.js +0 -67
  2665. package/dist/report/components/site-components/scope-warnings.d.ts +0 -44
  2666. package/dist/report/components/site-components/scope-warnings.js +0 -115
  2667. package/dist/report/components/site-components/snapshot-diagnostics.d.ts +0 -18
  2668. package/dist/report/components/site-components/snapshot-diagnostics.js +0 -42
  2669. package/dist/report/components/site-components/validators.d.ts +0 -6
  2670. package/dist/report/components/site-components/validators.js +0 -115
  2671. package/dist/report/components/summaries/compute.d.ts +0 -7
  2672. package/dist/report/components/summaries/compute.js +0 -60
  2673. package/dist/report/components/summaries/index.d.ts +0 -29
  2674. package/dist/report/components/summaries/index.js +0 -122
  2675. package/dist/report/components/summaries/stability-overview.d.ts +0 -13
  2676. package/dist/report/components/summaries/stability-overview.js +0 -73
  2677. package/dist/report/components/summaries/validate.d.ts +0 -2
  2678. package/dist/report/components/summaries/validate.js +0 -29
  2679. package/dist/report/definition/cell.d.ts +0 -118
  2680. package/dist/report/definition/cell.js +0 -96
  2681. package/dist/report/definition/grid-layout.d.ts +0 -77
  2682. package/dist/report/definition/grid-layout.js +0 -147
  2683. package/dist/report/definition/primitives/callouts-logic.d.ts +0 -26
  2684. package/dist/report/definition/primitives/callouts-logic.js +0 -102
  2685. package/dist/report/definition/primitives/callouts.d.ts +0 -9
  2686. package/dist/report/definition/primitives/callouts.js +0 -101
  2687. package/dist/report/definition/primitives/chart-map.d.ts +0 -74
  2688. package/dist/report/definition/primitives/chart-map.js +0 -124
  2689. package/dist/report/definition/primitives/chart.d.ts +0 -43
  2690. package/dist/report/definition/primitives/chart.js +0 -619
  2691. package/dist/report/definition/primitives/conversation.d.ts +0 -55
  2692. package/dist/report/definition/primitives/conversation.js +0 -216
  2693. package/dist/report/definition/primitives/copy-block.d.ts +0 -19
  2694. package/dist/report/definition/primitives/copy-block.js +0 -51
  2695. package/dist/report/definition/primitives/diff-lines.d.ts +0 -68
  2696. package/dist/report/definition/primitives/diff-lines.js +0 -149
  2697. package/dist/report/definition/primitives/diff-view.d.ts +0 -14
  2698. package/dist/report/definition/primitives/diff-view.js +0 -156
  2699. package/dist/report/definition/primitives/markdown.d.ts +0 -29
  2700. package/dist/report/definition/primitives/markdown.js +0 -278
  2701. package/dist/report/definition/primitives/marks.d.ts +0 -124
  2702. package/dist/report/definition/primitives/marks.js +0 -91
  2703. package/dist/report/definition/primitives/points-dataset.d.ts +0 -17
  2704. package/dist/report/definition/primitives/points-dataset.js +0 -121
  2705. package/dist/report/definition/primitives/source-view.d.ts +0 -43
  2706. package/dist/report/definition/primitives/source-view.js +0 -179
  2707. package/dist/report/definition/primitives/waterfall.d.ts +0 -34
  2708. package/dist/report/definition/primitives/waterfall.js +0 -201
  2709. package/dist/report/definition/primitives.d.ts +0 -154
  2710. package/dist/report/definition/primitives.js +0 -691
  2711. package/dist/report/definition/report.d.ts +0 -200
  2712. package/dist/report/definition/report.js +0 -275
  2713. package/dist/report/definition/table-text.d.ts +0 -14
  2714. package/dist/report/definition/table-text.js +0 -187
  2715. package/dist/report/definition/tree.d.ts +0 -233
  2716. package/dist/report/definition/tree.js +0 -566
  2717. package/dist/report/extension/assets.d.ts +0 -16
  2718. package/dist/report/extension/assets.js +0 -124
  2719. package/dist/report/extension/define.d.ts +0 -9
  2720. package/dist/report/extension/define.js +0 -137
  2721. package/dist/report/extension/index.d.ts +0 -6
  2722. package/dist/report/extension/index.js +0 -5
  2723. package/dist/report/extension/meta.d.ts +0 -9
  2724. package/dist/report/extension/meta.js +0 -11
  2725. package/dist/report/extension/types.d.ts +0 -52
  2726. package/dist/report/extension/types.js +0 -3
  2727. package/dist/report/model/aggregate.d.ts +0 -111
  2728. package/dist/report/model/aggregate.js +0 -396
  2729. package/dist/report/model/calculation.d.ts +0 -139
  2730. package/dist/report/model/calculation.js +0 -447
  2731. package/dist/report/model/chart/math.d.ts +0 -73
  2732. package/dist/report/model/chart/math.js +0 -198
  2733. package/dist/report/model/chart/plot.d.ts +0 -52
  2734. package/dist/report/model/chart/plot.js +0 -89
  2735. package/dist/report/model/conversions.d.ts +0 -40
  2736. package/dist/report/model/conversions.js +0 -88
  2737. package/dist/report/model/dataset.d.ts +0 -18
  2738. package/dist/report/model/dataset.js +0 -74
  2739. package/dist/report/model/evaluation-kind.d.ts +0 -19
  2740. package/dist/report/model/evaluation-kind.js +0 -32
  2741. package/dist/report/model/flag.d.ts +0 -52
  2742. package/dist/report/model/flag.js +0 -157
  2743. package/dist/report/model/format.d.ts +0 -96
  2744. package/dist/report/model/format.js +0 -339
  2745. package/dist/report/model/locale.d.ts +0 -219
  2746. package/dist/report/model/locale.js +0 -426
  2747. package/dist/report/model/metrics.d.ts +0 -44
  2748. package/dist/report/model/metrics.js +0 -255
  2749. package/dist/report/model/types.d.ts +0 -784
  2750. package/dist/report/model/types.js +0 -5
  2751. package/dist/report/presentation.d.ts +0 -114
  2752. package/dist/report/presentation.js +0 -210
  2753. package/dist/report/react/index.d.ts +0 -13
  2754. package/dist/report/react/index.js +0 -18
  2755. package/dist/report/runtime/load.d.ts +0 -17
  2756. package/dist/report/runtime/load.js +0 -146
  2757. package/dist/report/runtime/page-render.d.ts +0 -47
  2758. package/dist/report/runtime/page-render.js +0 -95
  2759. package/dist/report/runtime/resolved-page.d.ts +0 -35
  2760. package/dist/report/runtime/resolved-page.js +0 -122
  2761. package/dist/report/runtime/target.d.ts +0 -19
  2762. package/dist/report/runtime/target.js +0 -42
  2763. package/dist/report/runtime/text.d.ts +0 -76
  2764. package/dist/report/runtime/text.js +0 -78
  2765. package/dist/report/runtime/web.d.ts +0 -37
  2766. package/dist/report/runtime/web.js +0 -34
  2767. package/dist/report/slices/compute.d.ts +0 -83
  2768. package/dist/report/slices/compute.js +0 -808
  2769. package/dist/report/slices/content.d.ts +0 -17
  2770. package/dist/report/slices/content.js +0 -132
  2771. package/dist/report/slices/validate.d.ts +0 -6
  2772. package/dist/report/slices/validate.js +0 -296
  2773. package/dist/report/tasks.d.ts +0 -144
  2774. package/dist/report/tasks.js +0 -313
  2775. package/dist/report/theme.d.ts +0 -51
  2776. package/dist/report/theme.js +0 -112
  2777. package/src/agents/ai-sdk-otel.ts +0 -62
  2778. package/src/agents/ai-sdk.test.ts +0 -35
  2779. package/src/agents/ai-sdk.ts +0 -603
  2780. package/src/agents/bub-install-spec.ts +0 -50
  2781. package/src/agents/bub.ts +0 -293
  2782. package/src/agents/builtin.ts +0 -16
  2783. package/src/agents/cache-marker.ts +0 -6
  2784. package/src/agents/claude-code.ts +0 -439
  2785. package/src/agents/codex-env.test.ts +0 -153
  2786. package/src/agents/codex.ts +0 -727
  2787. package/src/agents/coding-cli-versions.ts +0 -87
  2788. package/src/agents/command-redaction.test.ts +0 -96
  2789. package/src/agents/hermes.ts +0 -269
  2790. package/src/agents/index.ts +0 -149
  2791. package/src/agents/langgraph.test.ts +0 -30
  2792. package/src/agents/langgraph.ts +0 -508
  2793. package/src/agents/marketplace.ts +0 -96
  2794. package/src/agents/mcp.test.ts +0 -41
  2795. package/src/agents/mcp.ts +0 -31
  2796. package/src/agents/native-config.ts +0 -267
  2797. package/src/agents/npm-staged.ts +0 -370
  2798. package/src/agents/openai-compat.test.ts +0 -69
  2799. package/src/agents/openai-compat.ts +0 -205
  2800. package/src/agents/openclaw.ts +0 -275
  2801. package/src/agents/opencode.ts +0 -198
  2802. package/src/agents/post-setup.test.ts +0 -118
  2803. package/src/agents/post-setup.ts +0 -116
  2804. package/src/agents/provisioner.test.ts +0 -291
  2805. package/src/agents/provisioner.ts +0 -593
  2806. package/src/agents/sdk-streams.test.ts +0 -66
  2807. package/src/agents/sdk-streams.ts +0 -542
  2808. package/src/agents/session-slot.ts +0 -15
  2809. package/src/agents/shared.ts +0 -250
  2810. package/src/agents/skills.ts +0 -309
  2811. package/src/agents/streaming.ts +0 -203
  2812. package/src/agents/types.ts +0 -612
  2813. package/src/agents/ui-message-stream.ts +0 -398
  2814. package/src/assertions/collector.test.ts +0 -457
  2815. package/src/assertions/collector.ts +0 -452
  2816. package/src/assertions/coverage.ts +0 -118
  2817. package/src/assertions/diff.ts +0 -120
  2818. package/src/assertions/display.test.ts +0 -175
  2819. package/src/assertions/display.ts +0 -213
  2820. package/src/assertions/evidence.test.ts +0 -194
  2821. package/src/assertions/judge.test.ts +0 -623
  2822. package/src/assertions/judge.ts +0 -448
  2823. package/src/assertions/match.ts +0 -79
  2824. package/src/assertions/scoped.test.ts +0 -359
  2825. package/src/assertions/scoped.ts +0 -551
  2826. package/src/assertions/types.ts +0 -286
  2827. package/src/cli.ts +0 -1762
  2828. package/src/context/context.test.ts +0 -759
  2829. package/src/context/context.ts +0 -816
  2830. package/src/context/control-flow.ts +0 -17
  2831. package/src/context/deferred-file-content.ts +0 -16
  2832. package/src/context/send-failures.test.ts +0 -122
  2833. package/src/context/send-failures.ts +0 -164
  2834. package/src/context/send-retry.test.ts +0 -112
  2835. package/src/context/send-retry.ts +0 -145
  2836. package/src/context/session.test.ts +0 -477
  2837. package/src/context/session.ts +0 -516
  2838. package/src/context/types.ts +0 -409
  2839. package/src/define-agent.test.ts +0 -99
  2840. package/src/define-eval.test.ts +0 -213
  2841. package/src/define-experiment.test.ts +0 -44
  2842. package/src/define.test.ts +0 -25
  2843. package/src/define.ts +0 -238
  2844. package/src/expect/index.test.ts +0 -39
  2845. package/src/expect/index.ts +0 -252
  2846. package/src/fresh-import.ts +0 -34
  2847. package/src/i18n/core.ts +0 -28
  2848. package/src/i18n/en.ts +0 -532
  2849. package/src/i18n/index.ts +0 -40
  2850. package/src/i18n/locale.test.ts +0 -41
  2851. package/src/i18n/zh-CN.ts +0 -533
  2852. package/src/index.ts +0 -91
  2853. package/src/load-config.ts +0 -39
  2854. package/src/loaders/criteria.test.ts +0 -305
  2855. package/src/loaders/glob.ts +0 -149
  2856. package/src/loaders/index.test.ts +0 -166
  2857. package/src/loaders/index.ts +0 -256
  2858. package/src/loaders/private.test.ts +0 -110
  2859. package/src/o11y/cost.test.ts +0 -41
  2860. package/src/o11y/cost.ts +0 -81
  2861. package/src/o11y/derive.test.ts +0 -161
  2862. package/src/o11y/derive.ts +0 -301
  2863. package/src/o11y/execution-tree.test.ts +0 -390
  2864. package/src/o11y/execution-tree.ts +0 -391
  2865. package/src/o11y/otlp/canonical.ts +0 -113
  2866. package/src/o11y/otlp/mappers/bub.ts +0 -30
  2867. package/src/o11y/otlp/mappers/claude-code.ts +0 -24
  2868. package/src/o11y/otlp/mappers/codex.ts +0 -40
  2869. package/src/o11y/otlp/mappers/index.ts +0 -14
  2870. package/src/o11y/otlp/parse.ts +0 -334
  2871. package/src/o11y/otlp/receiver.ts +0 -118
  2872. package/src/o11y/otlp/sandbox-receiver.test.ts +0 -301
  2873. package/src/o11y/otlp/sandbox-receiver.ts +0 -255
  2874. package/src/o11y/otlp/select.ts +0 -86
  2875. package/src/o11y/otlp/turn-otel.ts +0 -132
  2876. package/src/o11y/parsers/bub.test.ts +0 -30
  2877. package/src/o11y/parsers/bub.ts +0 -264
  2878. package/src/o11y/parsers/claude-code.ts +0 -302
  2879. package/src/o11y/parsers/codex.test.ts +0 -19
  2880. package/src/o11y/parsers/codex.ts +0 -476
  2881. package/src/o11y/parsers/hermes.ts +0 -199
  2882. package/src/o11y/parsers/index.ts +0 -28
  2883. package/src/o11y/parsers/openclaw.ts +0 -340
  2884. package/src/o11y/parsers/opencode.ts +0 -300
  2885. package/src/o11y/prices.json +0 -10812
  2886. package/src/o11y/tool-names.ts +0 -74
  2887. package/src/o11y/types.ts +0 -221
  2888. package/src/record/annotated-source.test.ts +0 -329
  2889. package/src/record/annotated-source.ts +0 -643
  2890. package/src/record/attempt-evidence.test.ts +0 -208
  2891. package/src/record/attempt-evidence.ts +0 -184
  2892. package/src/record/attempt-source.ts +0 -37
  2893. package/src/record/copy.ts +0 -303
  2894. package/src/record/evidence-schema.test.ts +0 -85
  2895. package/src/record/format.ts +0 -91
  2896. package/src/record/host-equivalence.test.ts +0 -539
  2897. package/src/record/index.ts +0 -119
  2898. package/src/record/locator.test.ts +0 -125
  2899. package/src/record/locator.ts +0 -178
  2900. package/src/record/manifest.ts +0 -72
  2901. package/src/record/open.ts +0 -758
  2902. package/src/record/publish.ts +0 -7
  2903. package/src/record/results.test.ts +0 -1563
  2904. package/src/record/skipped-notice.ts +0 -44
  2905. package/src/record/source-hash.ts +0 -28
  2906. package/src/record/timing-activity.test.ts +0 -395
  2907. package/src/record/truncate.ts +0 -116
  2908. package/src/record/types.ts +0 -319
  2909. package/src/record/writer.ts +0 -549
  2910. package/src/report/assets/colors.ts +0 -69
  2911. package/src/report/assets/enhance.js +0 -214
  2912. package/src/report/assets/series-encoding.tsx +0 -177
  2913. package/src/report/assets/styles.css +0 -1780
  2914. package/src/report/built-in/failures.tsx +0 -29
  2915. package/src/report/built-in/index.tsx +0 -66
  2916. package/src/report/built-in/result-components.tsx +0 -404
  2917. package/src/report/built-in/stability.tsx +0 -30
  2918. package/src/report/built-in/standard.tsx +0 -132
  2919. package/src/report/components/attempt-detail/attempt-components.test.tsx +0 -706
  2920. package/src/report/components/attempt-detail/compute.ts +0 -544
  2921. package/src/report/components/attempt-detail/content.tsx +0 -633
  2922. package/src/report/components/attempt-detail/index.tsx +0 -285
  2923. package/src/report/components/attempt-detail/validate.test.ts +0 -253
  2924. package/src/report/components/attempt-detail/validate.tsx +0 -361
  2925. package/src/report/components/cell.tsx +0 -79
  2926. package/src/report/components/compute.test.ts +0 -1540
  2927. package/src/report/components/entity-lists/compute.test.ts +0 -38
  2928. package/src/report/components/entity-lists/compute.ts +0 -383
  2929. package/src/report/components/entity-lists/content.test.ts +0 -611
  2930. package/src/report/components/entity-lists/content.ts +0 -591
  2931. package/src/report/components/entity-lists/index.tsx +0 -169
  2932. package/src/report/components/entity-lists/validate.test.ts +0 -161
  2933. package/src/report/components/entity-lists/validate.ts +0 -121
  2934. package/src/report/components/experiment-detail/compute.ts +0 -40
  2935. package/src/report/components/experiment-detail/experiment-detail.test.tsx +0 -181
  2936. package/src/report/components/experiment-detail/index.tsx +0 -89
  2937. package/src/report/components/fixtures.ts +0 -366
  2938. package/src/report/components/scope.harness.ts +0 -83
  2939. package/src/report/components/shared-compute.ts +0 -60
  2940. package/src/report/components/shared-faces.ts +0 -25
  2941. package/src/report/components/shared.test.ts +0 -62
  2942. package/src/report/components/shared.ts +0 -127
  2943. package/src/report/components/site-components/HeroCard.tsx +0 -87
  2944. package/src/report/components/site-components/PoweredBy.tsx +0 -20
  2945. package/src/report/components/site-components/compute.ts +0 -165
  2946. package/src/report/components/site-components/content.ts +0 -8
  2947. package/src/report/components/site-components/faces.ts +0 -46
  2948. package/src/report/components/site-components/hero-types.ts +0 -20
  2949. package/src/report/components/site-components/index.tsx +0 -109
  2950. package/src/report/components/site-components/projections.ts +0 -74
  2951. package/src/report/components/site-components/scope-warnings.ts +0 -160
  2952. package/src/report/components/site-components/site-components.test.tsx +0 -460
  2953. package/src/report/components/site-components/snapshot-diagnostics.ts +0 -69
  2954. package/src/report/components/site-components/validate.test.ts +0 -121
  2955. package/src/report/components/site-components/validators.ts +0 -97
  2956. package/src/report/components/summaries/compute.ts +0 -66
  2957. package/src/report/components/summaries/index.tsx +0 -255
  2958. package/src/report/components/summaries/stability-overview.test.tsx +0 -141
  2959. package/src/report/components/summaries/stability-overview.tsx +0 -105
  2960. package/src/report/components/summaries/validate.test.ts +0 -49
  2961. package/src/report/components/summaries/validate.ts +0 -21
  2962. package/src/report/definition/callouts.test.tsx +0 -146
  2963. package/src/report/definition/cell.ts +0 -203
  2964. package/src/report/definition/chart.test.tsx +0 -285
  2965. package/src/report/definition/conversation.test.tsx +0 -150
  2966. package/src/report/definition/copy-block.test.tsx +0 -71
  2967. package/src/report/definition/diff-view.test.tsx +0 -209
  2968. package/src/report/definition/grid-layout.test.tsx +0 -262
  2969. package/src/report/definition/grid-layout.ts +0 -203
  2970. package/src/report/definition/markdown.test.tsx +0 -179
  2971. package/src/report/definition/primitives/callouts-logic.ts +0 -117
  2972. package/src/report/definition/primitives/callouts.tsx +0 -185
  2973. package/src/report/definition/primitives/chart-map.ts +0 -214
  2974. package/src/report/definition/primitives/chart.tsx +0 -1012
  2975. package/src/report/definition/primitives/conversation.tsx +0 -345
  2976. package/src/report/definition/primitives/copy-block.tsx +0 -87
  2977. package/src/report/definition/primitives/diff-lines.ts +0 -212
  2978. package/src/report/definition/primitives/diff-view.tsx +0 -332
  2979. package/src/report/definition/primitives/markdown.tsx +0 -365
  2980. package/src/report/definition/primitives/marks-contract.test.tsx +0 -45
  2981. package/src/report/definition/primitives/marks.tsx +0 -254
  2982. package/src/report/definition/primitives/points-dataset.test.ts +0 -117
  2983. package/src/report/definition/primitives/points-dataset.ts +0 -168
  2984. package/src/report/definition/primitives/source-view.tsx +0 -359
  2985. package/src/report/definition/primitives/waterfall.tsx +0 -386
  2986. package/src/report/definition/primitives.test.tsx +0 -186
  2987. package/src/report/definition/primitives.tsx +0 -1150
  2988. package/src/report/definition/report-contract.test.ts +0 -119
  2989. package/src/report/definition/report.ts +0 -562
  2990. package/src/report/definition/shell-head.test.ts +0 -100
  2991. package/src/report/definition/source-view.test.tsx +0 -119
  2992. package/src/report/definition/stat.test.tsx +0 -45
  2993. package/src/report/definition/table-text.ts +0 -228
  2994. package/src/report/definition/table.test.tsx +0 -633
  2995. package/src/report/definition/tree.ts +0 -852
  2996. package/src/report/definition/waterfall.test.tsx +0 -581
  2997. package/src/report/extension/assets.ts +0 -154
  2998. package/src/report/extension/define.test.tsx +0 -228
  2999. package/src/report/extension/define.ts +0 -182
  3000. package/src/report/extension/index.ts +0 -23
  3001. package/src/report/extension/meta.ts +0 -21
  3002. package/src/report/extension/types.ts +0 -64
  3003. package/src/report/index.ts +0 -410
  3004. package/src/report/model/aggregate.ts +0 -463
  3005. package/src/report/model/calculation.test.ts +0 -354
  3006. package/src/report/model/calculation.ts +0 -659
  3007. package/src/report/model/chart/math.test.ts +0 -189
  3008. package/src/report/model/chart/math.ts +0 -245
  3009. package/src/report/model/chart/plot.ts +0 -144
  3010. package/src/report/model/conversions.ts +0 -150
  3011. package/src/report/model/dataset.ts +0 -80
  3012. package/src/report/model/evaluation-kind.ts +0 -35
  3013. package/src/report/model/flag.ts +0 -174
  3014. package/src/report/model/format.ts +0 -375
  3015. package/src/report/model/locale.ts +0 -510
  3016. package/src/report/model/metrics.ts +0 -256
  3017. package/src/report/model/panel.test.ts +0 -272
  3018. package/src/report/model/panel.ts +0 -340
  3019. package/src/report/model/presentation.test.ts +0 -141
  3020. package/src/report/model/text-layout.ts +0 -190
  3021. package/src/report/model/types.ts +0 -824
  3022. package/src/report/presentation.test.tsx +0 -474
  3023. package/src/report/presentation.ts +0 -354
  3024. package/src/report/react/index.tsx +0 -96
  3025. package/src/report/runtime/dual-render.test.tsx +0 -1088
  3026. package/src/report/runtime/host.test.ts +0 -86
  3027. package/src/report/runtime/host.ts +0 -317
  3028. package/src/report/runtime/load.test.ts +0 -34
  3029. package/src/report/runtime/load.ts +0 -159
  3030. package/src/report/runtime/page-render.test.tsx +0 -247
  3031. package/src/report/runtime/page-render.ts +0 -147
  3032. package/src/report/runtime/resolved-page.test.tsx +0 -81
  3033. package/src/report/runtime/resolved-page.ts +0 -169
  3034. package/src/report/runtime/target.ts +0 -50
  3035. package/src/report/runtime/text.ts +0 -155
  3036. package/src/report/runtime/web.ts +0 -65
  3037. package/src/report/slices/compute.ts +0 -979
  3038. package/src/report/slices/content.ts +0 -157
  3039. package/src/report/slices/delta-table.test.ts +0 -423
  3040. package/src/report/slices/stability-matrix.test.ts +0 -169
  3041. package/src/report/slices/validate.test.ts +0 -236
  3042. package/src/report/slices/validate.ts +0 -216
  3043. package/src/report/tasks.test.ts +0 -82
  3044. package/src/report/tasks.ts +0 -553
  3045. package/src/report/theme.test.ts +0 -32
  3046. package/src/report/theme.ts +0 -141
  3047. package/src/runner/accept-prompt.test.ts +0 -51
  3048. package/src/runner/accept-prompt.ts +0 -67
  3049. package/src/runner/accept.test.ts +0 -592
  3050. package/src/runner/accept.ts +0 -705
  3051. package/src/runner/attempt.test.ts +0 -1989
  3052. package/src/runner/attempt.ts +0 -1912
  3053. package/src/runner/build-preparation-plan.test.ts +0 -119
  3054. package/src/runner/build-preparation.ts +0 -104
  3055. package/src/runner/cleanup-timeout.test.ts +0 -16
  3056. package/src/runner/cleanup-timeout.ts +0 -23
  3057. package/src/runner/config-identity.test.ts +0 -277
  3058. package/src/runner/config-identity.ts +0 -318
  3059. package/src/runner/direct-agent-sandbox.test.ts +0 -48
  3060. package/src/runner/direct-agent-sandbox.ts +0 -68
  3061. package/src/runner/discover.test.ts +0 -262
  3062. package/src/runner/discover.ts +0 -469
  3063. package/src/runner/eval-selection.test.ts +0 -241
  3064. package/src/runner/eval-selection.ts +0 -139
  3065. package/src/runner/eval-source.test.ts +0 -108
  3066. package/src/runner/eval-source.ts +0 -82
  3067. package/src/runner/experiment-cleanup-registry.test.ts +0 -89
  3068. package/src/runner/experiment-cleanup-registry.ts +0 -39
  3069. package/src/runner/experiment-labels.test.ts +0 -100
  3070. package/src/runner/feedback/coordinator.test.ts +0 -367
  3071. package/src/runner/feedback/coordinator.ts +0 -511
  3072. package/src/runner/feedback/eval-conclusions.test.ts +0 -135
  3073. package/src/runner/feedback/eval-conclusions.ts +0 -115
  3074. package/src/runner/feedback/failure.test.ts +0 -104
  3075. package/src/runner/feedback/failure.ts +0 -60
  3076. package/src/runner/feedback/human.test.ts +0 -1722
  3077. package/src/runner/feedback/human.ts +0 -1499
  3078. package/src/runner/feedback/index.ts +0 -94
  3079. package/src/runner/feedback/input-guard.test.ts +0 -251
  3080. package/src/runner/feedback/input-guard.ts +0 -171
  3081. package/src/runner/feedback/io.ts +0 -82
  3082. package/src/runner/feedback/json.test.ts +0 -617
  3083. package/src/runner/feedback/json.ts +0 -708
  3084. package/src/runner/feedback/profile.test.ts +0 -28
  3085. package/src/runner/feedback/profile.ts +0 -23
  3086. package/src/runner/feedback/reducer.test.ts +0 -908
  3087. package/src/runner/feedback/reducer.ts +0 -411
  3088. package/src/runner/feedback/renderer.ts +0 -83
  3089. package/src/runner/feedback/sink.ts +0 -332
  3090. package/src/runner/feedback/testing.ts +0 -109
  3091. package/src/runner/fingerprint.test.ts +0 -1406
  3092. package/src/runner/fingerprint.ts +0 -924
  3093. package/src/runner/gate-lease.test.ts +0 -555
  3094. package/src/runner/gate-lease.ts +0 -398
  3095. package/src/runner/judge-config.test.ts +0 -32
  3096. package/src/runner/judge-config.ts +0 -26
  3097. package/src/runner/leak-gate.test.ts +0 -195
  3098. package/src/runner/leak-gate.ts +0 -364
  3099. package/src/runner/ledger.test.ts +0 -577
  3100. package/src/runner/ledger.ts +0 -533
  3101. package/src/runner/lock.test.ts +0 -498
  3102. package/src/runner/lock.ts +0 -334
  3103. package/src/runner/manifest.ts +0 -282
  3104. package/src/runner/report.test.ts +0 -238
  3105. package/src/runner/report.ts +0 -127
  3106. package/src/runner/reporters/artifacts.ts +0 -120
  3107. package/src/runner/reporters/braintrust.test.ts +0 -109
  3108. package/src/runner/reporters/braintrust.ts +0 -211
  3109. package/src/runner/reporters/index.ts +0 -7
  3110. package/src/runner/reporters/json.test.ts +0 -163
  3111. package/src/runner/reporters/json.ts +0 -79
  3112. package/src/runner/reporters/shared.ts +0 -14
  3113. package/src/runner/reuse-diagnostics.test.ts +0 -114
  3114. package/src/runner/reuse-diagnostics.ts +0 -92
  3115. package/src/runner/reuse-pool-key.test.ts +0 -22
  3116. package/src/runner/run.test.ts +0 -5319
  3117. package/src/runner/run.ts +0 -2656
  3118. package/src/runner/sandbox-pool-plan.test.ts +0 -180
  3119. package/src/runner/sandbox-pool.test.ts +0 -278
  3120. package/src/runner/sandbox-pool.ts +0 -337
  3121. package/src/runner/sandbox-prep.ts +0 -55
  3122. package/src/runner/sandbox-selection.test.ts +0 -288
  3123. package/src/runner/sandbox-selection.ts +0 -351
  3124. package/src/runner/session.test.ts +0 -112
  3125. package/src/runner/session.ts +0 -466
  3126. package/src/runner/teardown-registry.test.ts +0 -156
  3127. package/src/runner/teardown-registry.ts +0 -146
  3128. package/src/runner/timeout-attribution.test.ts +0 -34
  3129. package/src/runner/timeout.ts +0 -54
  3130. package/src/runner/timing.ts +0 -379
  3131. package/src/runner/types.ts +0 -1733
  3132. package/src/sample/index.ts +0 -483
  3133. package/src/sample/sample.test.ts +0 -622
  3134. package/src/sandbox/backend.ts +0 -140
  3135. package/src/sandbox/build-coordinator.test.ts +0 -333
  3136. package/src/sandbox/build-coordinator.ts +0 -444
  3137. package/src/sandbox/case-types.ts +0 -67
  3138. package/src/sandbox/checkpoint.test.ts +0 -55
  3139. package/src/sandbox/checkpoint.ts +0 -64
  3140. package/src/sandbox/cli-commands.test.ts +0 -524
  3141. package/src/sandbox/cli-commands.ts +0 -593
  3142. package/src/sandbox/commands.ts +0 -287
  3143. package/src/sandbox/compose.test.ts +0 -625
  3144. package/src/sandbox/compose.ts +0 -1291
  3145. package/src/sandbox/content.ts +0 -202
  3146. package/src/sandbox/deadline.ts +0 -73
  3147. package/src/sandbox/docker-agent-image.ts +0 -36
  3148. package/src/sandbox/docker-stream.ts +0 -116
  3149. package/src/sandbox/docker.test.ts +0 -263
  3150. package/src/sandbox/docker.ts +0 -836
  3151. package/src/sandbox/dockerfile-agent-cache.test.ts +0 -157
  3152. package/src/sandbox/dockerfile-agent-cache.ts +0 -155
  3153. package/src/sandbox/dockerfile-agent-runtime.test.ts +0 -166
  3154. package/src/sandbox/dockerfile-build.test.ts +0 -27
  3155. package/src/sandbox/dockerfile-build.ts +0 -269
  3156. package/src/sandbox/dockerfile-identity.ts +0 -129
  3157. package/src/sandbox/download-directory.test.ts +0 -68
  3158. package/src/sandbox/download-directory.ts +0 -36
  3159. package/src/sandbox/e2b-agent-template.test.ts +0 -107
  3160. package/src/sandbox/e2b-agent-template.ts +0 -194
  3161. package/src/sandbox/e2b-reconcile.test.ts +0 -126
  3162. package/src/sandbox/e2b.test.ts +0 -629
  3163. package/src/sandbox/e2b.ts +0 -781
  3164. package/src/sandbox/errors.test.ts +0 -72
  3165. package/src/sandbox/errors.ts +0 -203
  3166. package/src/sandbox/identity.ts +0 -203
  3167. package/src/sandbox/index.ts +0 -138
  3168. package/src/sandbox/io-retry.test.ts +0 -58
  3169. package/src/sandbox/io-retry.ts +0 -45
  3170. package/src/sandbox/keep-registry.test.ts +0 -141
  3171. package/src/sandbox/keep-registry.ts +0 -271
  3172. package/src/sandbox/keep.test.ts +0 -538
  3173. package/src/sandbox/keep.ts +0 -405
  3174. package/src/sandbox/layer.test.ts +0 -343
  3175. package/src/sandbox/layer.ts +0 -1641
  3176. package/src/sandbox/ledger-paths.ts +0 -37
  3177. package/src/sandbox/link.test.ts +0 -321
  3178. package/src/sandbox/link.ts +0 -484
  3179. package/src/sandbox/local-files.ts +0 -31
  3180. package/src/sandbox/local.test.ts +0 -216
  3181. package/src/sandbox/local.ts +0 -364
  3182. package/src/sandbox/official-baselines.test.ts +0 -175
  3183. package/src/sandbox/operations.test.ts +0 -391
  3184. package/src/sandbox/operations.ts +0 -187
  3185. package/src/sandbox/orphans.test.ts +0 -470
  3186. package/src/sandbox/orphans.ts +0 -261
  3187. package/src/sandbox/paths.test.ts +0 -141
  3188. package/src/sandbox/paths.ts +0 -132
  3189. package/src/sandbox/plan.test.ts +0 -487
  3190. package/src/sandbox/plan.ts +0 -353
  3191. package/src/sandbox/prepare-commands.test.ts +0 -168
  3192. package/src/sandbox/prepare-commands.ts +0 -342
  3193. package/src/sandbox/redaction.test.ts +0 -48
  3194. package/src/sandbox/redaction.ts +0 -50
  3195. package/src/sandbox/registry.ts +0 -78
  3196. package/src/sandbox/retry.test.ts +0 -138
  3197. package/src/sandbox/retry.ts +0 -86
  3198. package/src/sandbox/run-identity.ts +0 -120
  3199. package/src/sandbox/runtime.test.ts +0 -551
  3200. package/src/sandbox/runtime.ts +0 -984
  3201. package/src/sandbox/shell.test.ts +0 -23
  3202. package/src/sandbox/shell.ts +0 -18
  3203. package/src/sandbox/transfer-errors.test.ts +0 -116
  3204. package/src/sandbox/transfer-errors.ts +0 -118
  3205. package/src/sandbox/types.ts +0 -196
  3206. package/src/sandbox/vercel.test.ts +0 -180
  3207. package/src/sandbox/vercel.ts +0 -400
  3208. package/src/shared/aggregate.test.ts +0 -52
  3209. package/src/shared/aggregate.ts +0 -99
  3210. package/src/shared/entry-file-store.test.ts +0 -193
  3211. package/src/shared/entry-file-store.ts +0 -145
  3212. package/src/shared/external-cause.ts +0 -322
  3213. package/src/shared/facts.ts +0 -36
  3214. package/src/shared/failure-class.test.ts +0 -195
  3215. package/src/shared/failure-class.ts +0 -206
  3216. package/src/shared/format.ts +0 -26
  3217. package/src/shared/json-match.ts +0 -42
  3218. package/src/shared/json-value.test.ts +0 -24
  3219. package/src/shared/json-value.ts +0 -36
  3220. package/src/shared/turn-label.test.ts +0 -20
  3221. package/src/shared/turn-label.ts +0 -15
  3222. package/src/shared/types.ts +0 -101
  3223. package/src/shared/verdict.ts +0 -82
  3224. package/src/show/command.test.ts +0 -36
  3225. package/src/show/command.ts +0 -18
  3226. package/src/show/compose.ts +0 -89
  3227. package/src/show/index.test.ts +0 -95
  3228. package/src/show/index.ts +0 -1226
  3229. package/src/show/json.test.ts +0 -412
  3230. package/src/show/json.ts +0 -106
  3231. package/src/show/render.test.ts +0 -857
  3232. package/src/show/render.ts +0 -1510
  3233. package/src/source-loc.ts +0 -134
  3234. package/src/tty-line.ts +0 -14
  3235. package/src/types.ts +0 -37
  3236. package/src/util.test.ts +0 -77
  3237. package/src/util.ts +0 -138
  3238. package/src/view/app/App.tsx +0 -351
  3239. package/src/view/app/components/ui/dialog.tsx +0 -36
  3240. package/src/view/app/components/ui/tabs.tsx +0 -30
  3241. package/src/view/app/css.d.ts +0 -3
  3242. package/src/view/app/i18n.ts +0 -65
  3243. package/src/view/app/index.html +0 -13
  3244. package/src/view/app/lib/cn.ts +0 -7
  3245. package/src/view/app/lib/target-dialog.test.ts +0 -105
  3246. package/src/view/app/lib/target-dialog.ts +0 -110
  3247. package/src/view/app/main.tsx +0 -109
  3248. package/src/view/app/types.ts +0 -15
  3249. package/src/view/app/vite.config.ts +0 -26
  3250. package/src/view/data.test.ts +0 -541
  3251. package/src/view/data.ts +0 -950
  3252. package/src/view/index.ts +0 -91
  3253. package/src/view/server-rebuild.test.ts +0 -323
  3254. package/src/view/server-watch.test.ts +0 -106
  3255. package/src/view/server.ts +0 -484
  3256. package/src/view/shared/types.ts +0 -93
  3257. package/src/view/site-base.test.ts +0 -51
  3258. package/src/view/site-head.test.ts +0 -142
  3259. package/src/view/site-param-pages.test.ts +0 -186
  3260. package/src/view/site-renderer-assets.test.ts +0 -68
  3261. package/src/view/site.ts +0 -484
  3262. package/src/view/styles.css +0 -170
  3263. /package/dist/{report/components/site-components/hero-types.js → cli/bootstrap.d.cts} +0 -0
  3264. /package/{src → dist}/view/client-dist/app.css +0 -0
  3265. /package/{src → dist}/view/client-dist/app.js +0 -0
  3266. /package/{src → dist}/view/template.html +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["run.ts"],"names":[],"mappings":"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","sourcesContent":["// 运行器主调度:发现产出的 eval × agent × runs → attempt,有界并发调度。\n// 职责只有编排:指纹缓存在 fingerprint.ts,单 attempt 生命周期在 attempt.ts,\n// reporter 编排 / 汇总在 report.ts,Direct Agent 的 Sandbox 占位适配器在 direct-agent-sandbox.ts。\nimport { Effect, Cause, Data, Deferred, Either, Exit, Option } from \"effect\";\nimport { probeJudgeEffect } from \"../assertions/judge.ts\";\nimport { t } from \"../i18n/index.ts\";\nimport { cacheKey, planProjectTarget } from \"./fingerprint.ts\";\nimport { OtelReceiverPool } from \"../o11y/otlp/turn-otel.ts\";\nimport { errorFromThrown, \n// attemptOrigin re-exported via timing for Run diagnostics\nattemptFailureDeclaration, experimentRunInfo, runAttemptEffect, scoreFactOutcomeForAttemptError, type AttemptFailureDeclaration, } from \"./attempt.ts\";\nimport type { DiagnosticRecord, EvalResult, InvocationShape, InvocationSummary, JsonValue, ResolvedJudgeConfig, Reporter, ReporterRegistration, SandboxBuildRecord, } from \"../types.ts\";\nimport type { AgentRun, Attempt, AttemptError, ExperimentHookContext, LifecyclePhase, InvocationReceipt, AttemptRef, RunOptions, } from \"./types.ts\";\nimport { attemptOrigin, artifactPrepareTimingHook, createRunTimingRecorder, runOrigin } from \"./timing.ts\";\nimport { buildFailureOrigin, startSandboxBuilds } from \"../sandbox/build-coordinator.ts\";\nimport { ArtifactPrepareCoordinator } from \"../agents/provisioner.ts\";\nimport { collectBuildPreparation, toBuildPreparation } from \"./build-preparation.ts\";\nimport type { BuildKey } from \"../sandbox/identity.ts\";\nimport { firstLine, getEnv } from \"../util.ts\";\nimport { recordFact, type FactValue } from \"../shared/facts.ts\";\nimport { runReporter, emitReporterEvent, scopeReporter, summarize } from \"./report.ts\";\nimport { reportAttemptLifecycle, reportBudgetExhausted, reportDiagnostic, reportExperimentHook, reportExperimentProgress, reportFailure, reportInterrupted, reportLockWait, reportPrecheck, reportRunActivity, } from \"./feedback/sink.ts\";\nimport { failureDetailFromCurrentReusedAttempt, failureDetailFromResult } from \"./feedback/failure.ts\";\nimport { EVALUATION_ALGORITHM, runWho, HALT_DIAGNOSTIC_CODE } from \"./types.ts\";\nimport { ReusableSandboxPool } from \"./sandbox-pool.ts\";\nimport { liveSandboxRuntimeServices } from \"../sandbox/runtime.ts\";\nimport { detectReuseContamination, reuseContaminationMessage } from \"./reuse-diagnostics.ts\";\nimport { selectedEvalsForRun } from \"./eval-selection.ts\";\nimport { registerExperimentTeardown, unregisterExperimentTeardown } from \"./experiment-cleanup-registry.ts\";\nimport { cleanupCallback } from \"./cleanup-timeout.ts\";\nimport { resolveAttemptTimeout } from \"./timeout.ts\";\nimport { hostname } from \"node:os\";\nimport { linkPluginLifecycles, type GroupPluginContext } from \"../plugin/contracts.ts\";\nimport { isOrphanedTeardownRegistration, readTeardownRegistrationsEffect, removeTeardownRegistrationIfPresentEffect, teardownEntryId, writeTeardownRegistrationEffect, } from \"./teardown-registry.ts\";\nimport { acquireCaseLockEffect, isCaseLockExpired, readCaseLockEffect, CASE_LOCK_HEARTBEAT_INTERVAL_MS, type CaseLockEffectClaim, type CaseLockRecord, } from \"./lock.ts\";\nimport { acquireGateSlotEffect, type GateLeaseEffectClaim, type GateLeaseRecord, } from \"./gate-lease.ts\";\nimport { openRunnerRecordCoordinator, prepareRunnerRecordReuse, type RunnerRecordAttempt, } from \"./record.ts\";\nimport { bindRunnerRunObservabilityDiagnosticsV1 } from \"../o11y/record/runner-producer.ts\";\nimport { sandboxReusePoolDescriptor } from \"./sandbox-reuse.ts\";\nexport class RunModeConflictError extends Data.TaggedError(\"RunModeConflictError\")<{\n readonly keepSandbox: NonNullable<RunOptions[\"keepSandbox\"]>;\n readonly conflictingExperimentIds: readonly string[];\n readonly conflictingEvalGroups: readonly {\n readonly experimentId: string | undefined;\n readonly evalGroupId: string;\n }[];\n readonly message: string;\n}> {\n}\n/** 反馈层的 attempt 身份 + 展示 label,两个 sink.ts lifecycle 调用点共用,避免各自手写\n * 同一组字段(见 memory 的 live-who-key-mismatch-freezes-rows —— 手写副本漏改是真实事故源)。 */\nfunction feedbackIdentity(a: Attempt): AttemptRef {\n return { experimentId: a.run.experimentId, evalId: a.evalDef.id, attempt: a.attempt };\n}\nfunction feedbackWho(a: Attempt): string {\n return runWho({ agentName: a.run.agent.name, model: a.run.model, experimentId: a.run.experimentId });\n}\nfunction attemptIdentityKey(experimentId: string | undefined, agentName: string, model: string | undefined, evalId: string): string {\n return JSON.stringify([experimentId, agentName, model ?? null, evalId]);\n}\nfunction attemptGroupKey(run: AgentRun, evalId: string): string {\n return attemptIdentityKey(run.experimentId, run.agent.name, run.model, evalId);\n}\nfunction reuseResultRequiresRetirement(result: EvalResult): boolean {\n return result.error?.code === \"timeout\" ||\n result.error?.code === \"agent-send-failed\" ||\n result.error?.code === \"plugin-resource-prepare-failed\" ||\n result.diagnostics?.some((diagnostic) => diagnostic.code === \"teardown-failed\") === true;\n}\nexport type { AgentRun, RunOptions } from \"./types.ts\";\n/** Only declared, configured capabilities are prechecked. A missing model or\n * key is an ordinary consumed-Fact unavailable outcome and does no network I/O. */\nexport function judgeProbeTargets(evals: readonly (ResolvedJudgeConfig | undefined)[]): ResolvedJudgeConfig[] {\n return judgeProbePlan(evals.map((judge, index) => ({ id: `#${index}`, judge }))).targets.map((target) => target.judge);\n}\n/** 一份探测目标的去重键:同一个 (model, baseUrl, apiKeyEnv) 只探一次,也用来把探测结局\n * 归回「哪些 Experiment × Eval pair 依赖这个端点」。 */\nfunction judgeTargetKey(jc: ResolvedJudgeConfig): string {\n return `${jc.model ?? \"\"}|${jc.baseUrl}|${jc.apiKeyEnv}`;\n}\n/** `judgeProbeTargets` 的完整形态:除了去重后的探测目标,还给出「哪个 pair 依赖哪个目标」——\n * 预检失败只作废需要 judge 的那些 pair(见 docs/feature/judge/library.md「派发前预检」),\n * 所以必须能把探测结局按 pair 归因,不能只知道有几个端点要探。 */\nexport function judgeProbePlan(evals: ReadonlyArray<{\n id: string;\n judge: ResolvedJudgeConfig | undefined;\n}>): {\n targets: Array<{\n key: string;\n judge: ResolvedJudgeConfig;\n }>;\n evalKeys: Map<string, string>;\n} {\n const targets: Array<{\n key: string;\n judge: ResolvedJudgeConfig;\n }> = [];\n const evalKeys = new Map<string, string>();\n const seen = new Set<string>();\n for (const e of evals) {\n const jc = e.judge;\n if (jc === undefined || jc.model === undefined || !getEnv(jc.apiKeyEnv))\n continue;\n const key = judgeTargetKey(jc);\n evalKeys.set(e.id, key);\n if (seen.has(key))\n continue;\n seen.add(key);\n targets.push({ key, judge: jc });\n }\n return { targets, evalKeys };\n}\n/** Connect an application-owned AbortSignal to the current Effect Scope. */\nfunction interruptOnAbort(signal: AbortSignal): Effect.Effect<never> {\n return Effect.async((resume) => {\n const abort = () => resume(Effect.interrupt);\n if (signal.aborted) {\n abort();\n return;\n }\n signal.addEventListener(\"abort\", abort, { once: true });\n return Effect.sync(() => signal.removeEventListener(\"abort\", abort));\n });\n}\n/**\n * The Runner is Effect-native from writer acquisition through dispatch and\n * publication. NodeRuntime is deliberately owned by the CLI/application edge.\n */\nexport function runEvals<AttachmentError, AttachmentRequirements>(opts: RunOptions<AttachmentError, AttachmentRequirements>) {\n return Effect.scoped(Effect.gen(function* () {\n const invocationScope = yield* Effect.scope;\n const startedAtMs = Date.now();\n const startedAt = new Date(startedAtMs).toISOString();\n const t0 = startedAtMs;\n const niceevalRoot = opts.niceevalRoot ?? `${process.cwd()}/.niceeval`;\n // `--keep-sandbox` 要把单条 Attempt 的最终现场转交给用户,\n // `sandboxReuse` 则让整个 Invocation 的 pool 继续拥有并在收尾时销毁同一个 Case。\n // 两种 ownership 不能同时成立;在 carry planning/build/provider 等任何资源动作之前\n // 拒绝,避免产生“已登记 kept 但 pool finalizer 又销毁”的假现场。\n if (opts.keepSandbox !== undefined) {\n const conflictingEvalGroups = [...new Map(opts.agentRuns.flatMap((run) => selectedEvalsForRun(opts.evals, run)\n .filter((evalDef) => evalDef.evalGroup !== undefined)\n .map((evalDef) => {\n const value = Object.freeze({\n experimentId: run.experimentId,\n evalGroupId: evalDef.evalGroup!.id,\n });\n return [JSON.stringify([value.experimentId, value.evalGroupId]), value] as const;\n }))).values()];\n const conflictingExperiments = [...new Set(opts.agentRuns\n .filter((run) => run.sandboxReuse || conflictingEvalGroups.some((group) => group.experimentId === run.experimentId))\n .map((run) => run.experimentId))];\n if (conflictingExperiments.length > 0 || conflictingEvalGroups.length > 0) {\n throw new RunModeConflictError({\n keepSandbox: opts.keepSandbox,\n conflictingExperimentIds: Object.freeze(conflictingExperiments),\n conflictingEvalGroups: Object.freeze(conflictingEvalGroups),\n message: `--keep-sandbox cannot be combined with reusable Sandbox ownership` +\n `${conflictingExperiments.length === 0\n ? \"\"\n : ` (experiments: ${conflictingExperiments.map((id) => JSON.stringify(id)).join(\", \")})`}` +\n `${conflictingEvalGroups.length === 0\n ? \"\"\n : ` (Eval Groups: ${conflictingEvalGroups.map(({ experimentId, evalGroupId }) => `${JSON.stringify(experimentId)} / ${JSON.stringify(evalGroupId)}`).join(\", \")})`}. ` +\n \"Drop --keep-sandbox or select only fresh, ungrouped Evals.\",\n });\n }\n }\n // Physical planning produces immutable current inputs. Record reuse receives\n // only this projection and its own frozen view; no historic result facade\n // participates in dispatch or display.\n const targetPlan = yield* planProjectTarget(opts.evals, opts.agentRuns, opts.config.timeoutMs, {\n configJudge: opts.config.judge,\n ...(opts.keepSandbox === undefined ? {} : { keepSandbox: opts.keepSandbox }),\n });\n const { preparedPairsByKey, plannedConfigHashes, resolvedJudgesByKey, plannedFingerprints, } = targetPlan;\n // Plugin link produces one effective immutable AgentRun per source Run. All\n // runtime work after physical planning must consume that same linked value.\n const effectiveRunBySource = new Map<AgentRun, AgentRun>();\n for (const prepared of preparedPairsByKey.values()) {\n const prior = effectiveRunBySource.get(prepared.sourceRun);\n if (prior !== undefined && prior !== prepared.run) {\n throw new Error(`Plugin link produced inconsistent effective runs for Experiment ${JSON.stringify(prepared.sourceRun.experimentId)}.`);\n }\n effectiveRunBySource.set(prepared.sourceRun, prepared.run);\n }\n const effectiveAgentRuns = Object.freeze(opts.agentRuns.map((sourceRun) => effectiveRunBySource.get(sourceRun) ?? sourceRun));\n opts = { ...opts, agentRuns: effectiveAgentRuns };\n const reuse = yield* prepareRunnerRecordReuse({\n evals: opts.evals,\n runs: opts.agentRuns,\n config: opts.config,\n plannedFingerprints,\n plannedConfigHashes,\n ...(opts.rerun === undefined ? {} : { rerun: opts.rerun }),\n ...(opts.keepSandbox === undefined ? {} : { keepSandbox: opts.keepSandbox }),\n });\n // Coordinator creates draft Runs first, then uses their real `draft.runId`\n // values and the frozen Record view to partition every Slot into reuse/gap.\n const recordCoordinator = yield* openRunnerRecordCoordinator({\n niceevalRoot,\n startedAt: t0,\n evals: opts.evals,\n runs: opts.agentRuns,\n reuse,\n ...(opts.recordAttachments === undefined\n ? {}\n : { attachments: opts.recordAttachments }),\n });\n // The draft is the only authority for a Run identity. Session, shape and\n // reporters all observe this same mapping; no caller can replace it with a\n // synthetic legacy value.\n const runIds = recordCoordinator.runIdsByExperiment;\n const carriedAttemptsByKey = recordCoordinator.carriedAttemptsByKey;\n const reusedAttempts = yield* recordCoordinator.readCarriedResults();\n const runsByExperimentId = new Map(opts.agentRuns.map((run) => [run.experimentId, run] as const));\n const runForReusedAttempt = (readback: (typeof reusedAttempts)[number]): AgentRun => {\n const run = runsByExperimentId.get(readback.target.experimentId);\n if (run === undefined) {\n throw new Error(`Record reuse readback references unknown Experiment ${JSON.stringify(readback.target.experimentId)}.`);\n }\n return run;\n };\n // Readback is the sole authority for the externally visible carry count.\n // In particular, the CLI must not guess this before the frozen current view\n // has rejected every non-reusable source.\n const reusedFailures = Object.freeze(reusedAttempts.flatMap((readback) => {\n const failure = failureDetailFromCurrentReusedAttempt(readback, runForReusedAttempt(readback));\n return failure === undefined ? [] : [failure];\n }));\n if (opts.onCurrentRecordReusePlan !== undefined) {\n yield* opts.onCurrentRecordReusePlan({ reused: reusedAttempts.length, reusedFailures });\n }\n else {\n // Direct library callers have no feedback coordinator. Preserve their\n // fallback failure signal without turning a current readback into a legacy\n // result-shaped facade.\n for (const failure of reusedFailures) {\n reportFailure(failure);\n }\n }\n // Session 文件在首次派发前创建;它只记录 Run 身份与轻量计数,锁和实验闸仍各自维护。\n if (opts.session !== undefined) {\n yield* opts.session.start({\n runIds,\n agentRuns: opts.agentRuns,\n carriedAttemptsByKey,\n startedAt,\n });\n }\n const preparedPlansByRun = new Map<AgentRun, globalThis.Record<string, JsonValue>>();\n for (const prepared of preparedPairsByKey.values()) {\n const plans = preparedPlansByRun.get(prepared.run) ?? {};\n plans[prepared.evalDef.id] = prepared.identity;\n preparedPlansByRun.set(prepared.run, plans);\n }\n // 展开 attempts。每个 Eval Group 是一条按规范化 Eval ID 稳定串行的 lane;每个未分组 Eval 是一条\n // attempt-major lane。先按 lane 深度铺成全 Invocation 的 wave,保证任一 lane 的下一槽位\n // 都不会排到其它 lane 的首槽位之前。carried 槽位先从 lane 删除,不占 wave 也不触发 Sandbox。\n const attempts: Attempt[] = [];\n const groupedPredecessors = new WeakMap<Attempt, Promise<void>>();\n const groupedReleases = new WeakMap<Attempt, () => void>();\n const groupedTails = new Map<AgentRun, Map<string, Promise<void>>>();\n const dispatchWaveNumbers = new WeakMap<Attempt, number>();\n type SchedulingSlot = {\n readonly run: AgentRun;\n readonly i: number;\n readonly evalDef: ReturnType<typeof selectedEvalsForRun>[number];\n };\n const lanes: SchedulingSlot[][] = [];\n for (const run of effectiveAgentRuns) {\n // selectedEvalIds 已由 CLI 在构造 AgentRun 时对候选 eval 各求值一次算好(见\n // eval-selection.ts 的 resolveExperimentEvals());这里只按 resolved id 取 eval,\n // 不重新调用用户谓词(见 docs/feature/record/architecture.md「selectedEvalIds」)。\n const evals = selectedEvalsForRun(opts.evals, run);\n const grouped = new Map<string, Array<(typeof evals)[number]>>();\n for (const evalDef of evals) {\n if (evalDef.evalGroup === undefined)\n continue;\n grouped.set(evalDef.evalGroup.id, [...(grouped.get(evalDef.evalGroup.id) ?? []), evalDef]);\n }\n const addedGroups = new Set<string>();\n for (const evalDef of evals) {\n if (evalDef.evalGroup === undefined) {\n lanes.push([...Array(run.attempts).keys()].map((i) => ({ run, i, evalDef })));\n continue;\n }\n if (addedGroups.has(evalDef.evalGroup.id))\n continue;\n addedGroups.add(evalDef.evalGroup.id);\n const groupEvals = grouped.get(evalDef.evalGroup.id) ?? [];\n lanes.push(groupEvals\n .toSorted((left, right) => left.id.localeCompare(right.id))\n .flatMap((groupEval) => [...Array(run.attempts).keys()].map((i) => ({ run, i, evalDef: groupEval }))));\n }\n }\n const runnableLanes = lanes\n .map((lane) => lane.filter(({ run, i, evalDef }) => !carriedAttemptsByKey.get(cacheKey(run, evalDef.id))?.has(i)))\n .filter((lane) => lane.length > 0);\n // LPT 仍作为 wave 内的稳定 tie-breaker:关键路径较长的 Experiment 先入同一波,但每一波\n // 最多只给每条 lane 一个新机会,不能再把整条长 Run 堆到其它 Group 前面。\n const runnableCountByRun = new Map<AgentRun, number>();\n for (const lane of runnableLanes) {\n const run = lane[0]!.run;\n runnableCountByRun.set(run, (runnableCountByRun.get(run) ?? 0) + lane.length);\n }\n const rounds = (run: AgentRun): number => {\n const width = Math.min(run.maxConcurrency ?? opts.maxConcurrency, opts.maxConcurrency);\n return Math.ceil((runnableCountByRun.get(run) ?? 0) / width);\n };\n runnableLanes.sort((left, right) => rounds(right[0]!.run) - rounds(left[0]!.run));\n const slots: Array<SchedulingSlot & {\n readonly wave: number;\n }> = [];\n const waveCount = Math.max(0, ...runnableLanes.map((lane) => lane.length));\n for (let wave = 0; wave < waveCount; wave += 1) {\n for (const lane of runnableLanes) {\n const slot = lane[wave];\n if (slot !== undefined)\n slots.push({ ...slot, wave });\n }\n }\n for (const { run, i, evalDef, wave } of slots) {\n const carryKey = cacheKey(run, evalDef.id);\n // 携带以 attempt 为粒度:只跳过这个具体序号确实被携入的那些(见 fingerprint.ts 的\n // `carriedAttemptsByKey`),不是\"这个组合有过携入就跳过前 N 个\"——attempts:5 里若只有\n // 序号 1 是上一轮的终态、序号 0 是 errored,这里必须只跳过序号 1、照常调度序号 0。\n if (carriedAttemptsByKey.get(carryKey)?.has(i))\n continue;\n // key 标识「同一个运行配置下的同一条 eval」,earlyExit 的跳过/abort 只应作用于\n // 同 key 的重试轮。experimentId 必须进 key:两个实验可以同 agent 同 model、只差\n // flags(feature A/B 正是这种形状),漏掉它会让先过的实验把其它实验的同名 eval\n // 整个跳掉——花了钱还丢结果。\n const key = attemptGroupKey(run, evalDef.id);\n const prepared = preparedPairsByKey.get(cacheKey(run, evalDef.id));\n if (prepared === undefined) {\n throw new Error(`Missing prepared Sandbox plan for ${JSON.stringify(cacheKey(run, evalDef.id))}.`);\n }\n if (prepared.run !== run) {\n throw new Error(`Plugin effective Run invariant failed for ${JSON.stringify(cacheKey(run, evalDef.id))}.`);\n }\n const configHash = plannedConfigHashes.get(cacheKey(run, evalDef.id));\n if (configHash === undefined) {\n throw new Error(`Missing planned config hash for ${JSON.stringify(cacheKey(run, evalDef.id))}.`);\n }\n const fingerprint = plannedFingerprints.get(cacheKey(run, evalDef.id));\n if (fingerprint === undefined) {\n throw new Error(`Missing planned fingerprint for ${JSON.stringify(cacheKey(run, evalDef.id))}.`);\n }\n if (!resolvedJudgesByKey.has(carryKey)) {\n throw new Error(`Missing planned Judge resolution for ${JSON.stringify(carryKey)}.`);\n }\n const sandboxPlansByEval = preparedPlansByRun.get(run);\n if (sandboxPlansByEval === undefined) {\n throw new Error(`Missing Experiment plan map for ${JSON.stringify(run.experimentId)}.`);\n }\n const attempt: Attempt = {\n evalDef,\n run,\n attempt: i,\n key,\n fingerprint,\n configHash,\n judge: resolvedJudgesByKey.get(carryKey),\n plan: prepared.plan,\n sandboxPlansByEval,\n };\n attempts.push(attempt);\n dispatchWaveNumbers.set(attempt, wave);\n if (evalDef.evalGroup !== undefined) {\n let tails = groupedTails.get(run);\n if (tails === undefined)\n groupedTails.set(run, (tails = new Map()));\n const predecessor = tails.get(evalDef.evalGroup.id) ?? Promise.resolve();\n let release!: () => void;\n const settled = new Promise<void>((resolve) => { release = resolve; });\n groupedPredecessors.set(attempt, predecessor);\n groupedReleases.set(attempt, release);\n tails.set(evalDef.evalGroup.id, settled);\n }\n }\n // wave N+1 只有在 wave N 的每条槽位都至少拿到过一次全局并发位(或在此前确定不派发)\n // 后才可排队。这样不依赖 Effect Semaphore 的内部唤醒顺序,也不会让同一 lane 的后续槽位\n // 持续重排到其它 Group / 未分组 Eval 的首槽位之前。\n const dispatchWaveReady = new WeakMap<Attempt, Promise<void>>();\n const dispatchWaveArrive = new WeakMap<Attempt, () => void>();\n const attemptsByWave = new Map<number, Attempt[]>();\n for (const attempt of attempts) {\n const wave = dispatchWaveNumbers.get(attempt)!;\n attemptsByWave.set(wave, [...(attemptsByWave.get(wave) ?? []), attempt]);\n }\n let previousWave = Promise.resolve();\n for (const wave of [...attemptsByWave.keys()].sort((left, right) => left - right)) {\n const members = attemptsByWave.get(wave)!;\n let remaining = members.length;\n let resolveWave!: () => void;\n const settled = new Promise<void>((resolve) => { resolveWave = resolve; });\n for (const attempt of members) {\n dispatchWaveReady.set(attempt, previousWave);\n let arrived = false;\n dispatchWaveArrive.set(attempt, () => {\n if (arrived)\n return;\n arrived = true;\n remaining -= 1;\n if (remaining === 0)\n resolveWave();\n });\n }\n previousWave = settled;\n }\n // 预检 judge:验证 API key + 端点可达,避免跑完 agent 才发现 judge 不通。\n // 放在 attempts 展开之后,fail fast 只对会真正触发 judge 的运行生效\n // (目标收集逻辑见 judgeProbeTargets;全部结果携入、attempts 为空时也自然跳过)。\n // 预检失败的受影响 pair:experimentId|evalId → 失败原因(带实际探测端点)。同一个 Eval\n // 可被多个 Experiment 用不同 Judge 跑 A/B,不能让一个端点的失败连坐另一个配对。\n // 不派发、不建沙箱,逐条落成 errored(见下方 judgePrecheckFailures 的消费点);其余 eval\n // 照常派发——一条 judge 配置问题不没收整批与它无关的结果。\n const judgePrecheckFailures = new Map<string, string>();\n {\n const uniquePairs = [...new Map(attempts.map((a) => [cacheKey(a.run, a.evalDef.id), a])).entries()];\n const { targets, evalKeys } = judgeProbePlan(uniquePairs.map(([id, a]) => ({\n id,\n judge: a.judge,\n })));\n if (targets.length > 0) {\n // judge 预检是一次真实网络往返,可能慢甚至长时间不返回:发运行级行(started/done/failed),\n // 让 live 面板在预检期间显示「为什么还停在 0 running · N queued」,而不是看起来卡死\n // (见 docs/feature/experiments/cli.md「判分预检的显示」)。\n reportPrecheck({ status: \"started\" });\n const precheckStartedAt = Date.now();\n // 逐个目标各记自己的结局:一个端点不通不该作废依赖另一个(可用)端点的 eval,\n // 而落进 attempt 的 error.message 也必须是它自己那个端点的失败原因。\n const failedByKey = new Map<string, string>();\n for (const target of targets) {\n const err = yield* probeJudgeEffect(target.judge, opts.signal);\n if (err)\n failedByKey.set(target.key, err);\n }\n for (const [pairKey, key] of evalKeys) {\n const err = failedByKey.get(key);\n if (err !== undefined)\n judgePrecheckFailures.set(pairKey, err);\n }\n reportPrecheck({\n status: failedByKey.size > 0 ? \"failed\" : \"done\",\n durationMs: Date.now() - precheckStartedAt,\n });\n }\n }\n // Run 级共享构建准备:携带规划后只为仍需 fresh 的 BuildKey 工作。独立并发、不占\n // attempt 并发位;失败按依赖 eval 扇出,origin 指向同一个 sandbox.build timing node。\n // 显式 buildPreparation 优先(测试注入);否则从 pair-owned ProviderPlan 自动收集。\n const runTiming = createRunTimingRecorder();\n let sandboxBuildRecords: SandboxBuildRecord[] = [];\n const buildFailureByPair = new Map<string, AttemptError>();\n const buildLocatorsByPair = new Map<string, Map<BuildKey, JsonValue>>();\n const collected = opts.buildPreparation === undefined\n ? yield* collectBuildPreparation({\n preparedPairs: [...preparedPairsByKey.values()],\n carriedAttemptsByKey,\n })\n : Option.none();\n const buildPreparation = opts.buildPreparation === undefined\n ? Option.flatMap(collected, toBuildPreparation)\n : Option.some(opts.buildPreparation);\n const buildPrep = Option.getOrUndefined(buildPreparation);\n // 共享构建**不阻塞派发**:整批 key 同时开工,每条 attempt 只等自己引用的那几个 key\n // (case.md「Run 级构建协调」第 4 条的逐 key 放行)。全局 barrier 会让 10 个已就绪的镜像\n // 陪着最慢的那个构建干等(台账见 memory/shared-build-single-barrier-not-per-buildkey.md)。\n const runningBuilds = buildPrep && buildPrep.works.length > 0\n ? startSandboxBuilds(buildPrep.works, {\n timing: runTiming,\n provider: buildPrep.provider,\n maxConcurrency: opts.maxBuildConcurrency ?? buildPrep.maxConcurrency ?? 2,\n ...(buildPrep.buildTimeoutMs !== undefined ? { buildTimeoutMs: buildPrep.buildTimeoutMs } : {}),\n ...(buildPrep.prepareBudgetMs !== undefined ? { prepareBudgetMs: buildPrep.prepareBudgetMs } : {}),\n signal: opts.signal,\n // 最小反馈钩子:共享构建投影为运行级 active 行 / 非 TTY 起止事件,不占 attempt 位。\n onActivity: (event) => {\n reportRunActivity({\n id: event.id,\n key: event.key,\n label: event.label,\n status: event.status,\n ...(\"durationMs\" in event ? { durationMs: event.durationMs } : {}),\n });\n },\n })\n : undefined;\n // 逐 pair 的放行闸:第一次问到就记下等待,之后同 pair 的其它 attempt 复用同一条。\n const buildWaits = new Map<string, Promise<void>>();\n const awaitBuildsFor = (pairKey: string): Promise<void> => {\n const keys = buildPrep?.pairBuildKeys[pairKey];\n if (runningBuilds === undefined || keys === undefined || keys.length === 0)\n return Promise.resolve();\n let pending = buildWaits.get(pairKey);\n if (pending !== undefined)\n return pending;\n pending = (async () => {\n for (const key of keys)\n await runningBuilds.settled(key);\n const locators = new Map<BuildKey, JsonValue>();\n for (const key of keys) {\n const failure = runningBuilds.failures.get(key);\n if (failure !== undefined) {\n const originFields = buildFailureOrigin(failure);\n buildFailureByPair.set(pairKey, {\n code: originFields.code,\n message: originFields.message,\n origin: runOrigin(originFields.timingNodeId),\n ...(originFields.cause !== undefined ? { cause: originFields.cause } : {}),\n });\n return;\n }\n const locator = runningBuilds.locators.get(key);\n if (locator !== undefined)\n locators.set(key, locator);\n }\n if (locators.size > 0)\n buildLocatorsByPair.set(pairKey, locators);\n })();\n buildWaits.set(pairKey, pending);\n return pending;\n };\n // Run 级 Agent artifact prepare:由 attempt 内探测到目标 Sandbox 平台后触发 single-flight。\n // 绝不能在这里按宿主平台 eager prepare:macOS 宿主跑 Linux Sandbox 会拿到错误制品。\n const artifactPrepare = opts.artifactPrepare ??\n new ArtifactPrepareCoordinator(artifactPrepareTimingHook(runTiming));\n // The shared receiver belongs to this invocation Scope. Closing through its\n // finalizer covers ordinary completion, Record write failure, and interrupt\n // uniformly; attempts receive the same immutable pool snapshot.\n const otelPool = yield* Effect.acquireRelease(Effect.sync(() => opts.otelPool ?? new OtelReceiverPool(opts.config.telemetry?.port)), (pool) => pool.closeEffect().pipe(Effect.ignore));\n // Runtime dependencies are added to a fresh snapshot; caller-owned planning\n // inputs remain immutable for the duration of this invocation.\n const attemptOptions: RunOptions<AttachmentError, AttachmentRequirements> = {\n ...opts,\n artifactPrepare,\n otelPool,\n };\n // 缓存携入只在 plan 的 Reuse 行给数量,不逐条铺 eval id 清单(见 cli.md「人在终端里怎么用」:\n // 哪些 eval 复用、哪些重跑属于 --dry 与 niceeval view,不占 human 的 scrollback)。\n // onInvocationStart 报「本次实际要跑的 eval」(过滤 + 去重),不是发现到的全部 —— 否则计数误导。\n const runningIds = new Set(attempts.map((a) => a.evalDef.id));\n const runningEvals = [...runningIds].map((id) => ({ id }));\n const shape: InvocationShape = {\n evals: runningEvals.length,\n configs: effectiveAgentRuns.length,\n totalAttempts: attempts.length,\n maxConcurrency: opts.maxConcurrency,\n runIds,\n };\n // eval 级 reporters:实例只观测引用它的 eval(经 scopeReporter 过滤转发)。\n // 已经挂在全局 reporters 里的同一实例不重复挂;同一实例被多个 eval 引用时合并观测集\n // (共享一个目的地,如同一个 Braintrust 实验)。本次没有任何被观测 eval 要跑时整个跳过。\n const scopedSets = new Map<Reporter, Set<string>>();\n for (const e of opts.evals) {\n for (const r of e.reporters ?? []) {\n if (opts.reporters.some((reg) => reg.reporter === r))\n continue;\n let ids = scopedSets.get(r);\n if (!ids)\n scopedSets.set(r, (ids = new Set()));\n ids.add(e.id);\n }\n }\n const reporters: ReporterRegistration[] = [...opts.reporters];\n // EvalDef.reporters 是用户在单个 eval 上挂的补充观测(如「这个 eval 单独也发一份到某个\n // dashboard」),不是 CLI 显式注册的默认/机器出口——与 Config.reporters 同样默认\n // best-effort(见 ReporterRegistration 的字段注释:required 只留给 --junit)。name 用「scope 内第几个」编号,足以在诊断里区分「哪一个 eval 级 reporter」,\n // 不需要用户自己起名字。\n let evalReporterIndex = 0;\n for (const [r, ids] of scopedSets) {\n const scopedRuns = attempts.filter((a) => ids.has(a.evalDef.id)).length;\n if (scopedRuns === 0)\n continue;\n reporters.push({\n reporter: scopeReporter(r, ids, {\n evals: [...ids].filter((id) => runningIds.has(id)).length,\n configs: effectiveAgentRuns.length,\n totalAttempts: scopedRuns,\n maxConcurrency: opts.maxConcurrency,\n runIds,\n }),\n name: `eval-reporter-${evalReporterIndex++}`,\n required: false,\n });\n }\n for (const reg of reporters) {\n // reporter 只是结果消费方:单个 reporter 抛错记 diagnostic,不能让整次调度崩,也不阻断\n // 其它 reporter 的必要收尾(required/best-effort 的判定权重在 runReporter 内部处理)。\n yield* runReporter(reg, \"onInvocationStart\", () => reg.reporter.onInvocationStart?.(runningEvals, shape));\n }\n yield* emitReporterEvent(reporters, {\n type: \"invocation:start\",\n evals: runningEvals,\n shape,\n });\n const results: EvalResult[] = [];\n const passedKeys = new Set<string>();\n // errored = 框架/环境层面的意外(超时、adapter 崩、eval 脚本抛异常……),不是 agent 表现的信号。\n // 同 key 一旦 errored 就会确定性地重复 error,再跑 runs 里剩下的次数纯烧钱;只有 failed(断言\n // 真的没过)才代表 agent 行为的样本,值得跑满 runs 去测通过率。earlyExit 开时两者都提前收尾。\n // run 级 fail-fast(见 docs/runner.md「首过即停」):同一错误 code 在同一 key 连续复现\n // 即判定确定性错误,停止派发受同一配置影响的后续 attempt(如实报 errored 的结果保留;\n // 这是止损,不是「首过即停」,两个机制互不混用)。\n const lastErrorCode = new Map<string, {\n code: string;\n streak: number;\n }>();\n const failFastKeys = new Map<string, {\n code: string;\n skipped: number;\n }>();\n // 当前 Record reuse 的 passed readback 预置进 passedKeys:上面按序号回填的差额 attempt(carriedCount < run.attempts\n // 那部分)如果不预置这个,会在明明已经拿到过 passed 结果的情况下真的再调度一次 agent——\n // earlyExit 的语义是「已知会通过就不用再跑」,携入的 passed 同样是「已知会通过」,理应同等对待\n // (下面 preflight/body 的 earlyExit 判断本来就只在 a.run.earlyExit 为真时读这两个 Set,所以\n // 这里无条件预置对 --no-early-exit 场景没有副作用)。携入的 failed 故意不预置——failed 本来\n // 就不触发 earlyExit,回填的差额必须真的重跑,才对得起用户调大 runs 的意图(想看这次是不是\n // 还失败,或想凑够 pass@N 的样本量)。\n for (const readback of reusedAttempts) {\n if (readback.verdict !== \"passed\" || readback.source.evaluationKind !== \"pass\")\n continue;\n const run = runForReusedAttempt(readback);\n passedKeys.add(attemptGroupKey(run, readback.target.evalId));\n }\n // budget 护栏:只按「已完成 attempt 的实测花费」判断,不做预测性节流。之前的实现会按\n // 「平均成本 × 在飞数」预扣,快到顶就让还没起飞的 attempt 排队等——这在探测阶段(还没有任何\n // 成本样本时)等价于把同一 budgetKey 的并发摁到一个很小的数,且完全没有文档承诺过这个副作用\n // (`docs-site/zh/tutorials/write-experiment.mdx` 对 `budget` 的描述只有一句「这一格配置的预算\n // 上限」)。新语义:已完成 attempt 的花费加总一旦到顶,就不再放新 attempt 起飞(已经在飞的\n // 照常跑完,不会被中途打断);到顶之前不做任何预测性限流,并发完全由 globalSem / runSem 决定。\n // 代价是「已花 + 在飞未结算」的总花费可能短暂超出 budget——这是有意识的取舍:budget 是防止\n // 无限烧钱的安全网,不是精确计费闸,不应该反过来限制吞吐。\n interface BudgetState {\n spent: number;\n /** 已经真正发起过 agent turn、但仍拿不到成本的 attempt 数。provider/setup 在 agent\n * 运行前失败不计入——这种结果没有可执行的计费事实,不能据此声称 adapter 不报成本。 */\n completedAgentRunsNoCost: number;\n unenforceableWarned: boolean;\n /** 因这个 budgetKey 预算到顶而未派发的 attempt 累计数——反馈层 \"budget-exhausted\" 事件\n * (见 sink.ts 的 `BudgetExhaustedInput`)要求 emitter 自己维护这个累计值,reducer 不推导。 */\n unstartedCount: number;\n }\n const budgetStates = new Map<string, BudgetState>();\n const budgetState = (key: string): BudgetState => {\n let s = budgetStates.get(key);\n if (!s) {\n s = { spent: 0, completedAgentRunsNoCost: 0, unenforceableWarned: false, unstartedCount: 0 };\n budgetStates.set(key, s);\n }\n return s;\n };\n const budgetReported = new Set<string>();\n // reporter 的 onEvalComplete 要「每个 attempt 完成即时触发」(保流式输出),又不能让\n // 并发 worker 交错写 → 用一个 permit=1 的信号量串起来(替代原先手搓的 reportQueue 链)。\n const reportMutex = yield* Effect.makeSemaphore(1);\n // 沙箱启动单独限流:与 agent 并发(maxConcurrency)解耦,防高并发下 daemon/API 过载。\n // 未显式指定时跟 maxConcurrency 走——各 provider 的推荐值已在 cli 层写进 maxConcurrency 默认值。\n const sandboxSem = yield* Effect.makeSemaphore(opts.maxConcurrency);\n // 相同 provider physical identity 共享一个按需池;不从 AgentRun 重选 template。\n const reusePools = new Map<AgentRun, Map<string, ReusableSandboxPool>>();\n // A physical Sandbox number is Run-wide, not pool-local: distinct Eval\n // Groups may materialize identical provider plans concurrently and must not\n // both report `reuseSandbox: 1` for different instances.\n const reuseSandboxNumbers = new Map<AgentRun, number>();\n const nextReuseSandboxNumber = (run: AgentRun): number => {\n const next = (reuseSandboxNumbers.get(run) ?? 0) + 1;\n reuseSandboxNumbers.set(run, next);\n return next;\n };\n type ReusePoolSelection = {\n readonly _tag: \"Fresh\";\n } | {\n readonly _tag: \"Reuse\";\n readonly pool: ReusableSandboxPool;\n };\n const reusePoolKeyOf = (a: Attempt): string | undefined => {\n return sandboxReusePoolDescriptor({\n run: a.run,\n evalId: a.evalDef.id,\n ...(a.evalDef.evalGroup === undefined ? {} : { evalGroupId: a.evalDef.evalGroup.id }),\n plan: a.plan,\n })?.key;\n };\n const acquiredReuseAttempts = new WeakSet<Attempt>();\n const authorizedReuseAttempts = new WeakSet<Attempt>();\n const cancelledReuseAttempts = new WeakSet<Attempt>();\n const existingReusePoolFor = (a: Attempt): ReusableSandboxPool | undefined => {\n const key = reusePoolKeyOf(a);\n return key === undefined ? undefined : reusePools.get(a.run)?.get(key);\n };\n const cancelReuseAttempt = (a: Attempt, force = false): boolean => {\n if ((!force && authorizedReuseAttempts.has(a)) || acquiredReuseAttempts.has(a) || cancelledReuseAttempts.has(a)) {\n return false;\n }\n cancelledReuseAttempts.add(a);\n return true;\n };\n const reusePoolFor = (a: Attempt): Effect.Effect<ReusePoolSelection, never, import(\"effect\").Scope.Scope> => {\n const key = reusePoolKeyOf(a);\n if (key === undefined || a.plan._tag !== \"Sandbox\") {\n return Effect.succeed({ _tag: \"Fresh\" });\n }\n let bySpec = reusePools.get(a.run);\n if (bySpec === undefined) {\n bySpec = new Map<string, ReusableSandboxPool>();\n reusePools.set(a.run, bySpec);\n }\n let pool = bySpec.get(key);\n if (!pool) {\n // 物理 Sandbox lifecycle 不属于任一 Attempt;反馈与事实落到所属 Experiment 的 Run。\n const experimentContext = makeExperimentHookContext(a.run, \"sandbox.create\");\n const setupContext = {\n ...experimentContext,\n ...(a.evalDef.evalGroup === undefined ? {} : { evalGroup: {\n id: a.evalDef.evalGroup.id,\n definitionHash: a.evalDef.evalGroup.definitionHash,\n } }),\n };\n const capacity = a.evalDef.evalGroup === undefined\n ? Math.max(1, Math.min(opts.maxConcurrency, a.run.maxConcurrency ?? opts.maxConcurrency))\n : 1;\n const materializationOwnerId = a.evalDef.evalGroup === undefined\n ? a.plan.pair.evalId\n : JSON.stringify([\"eval-group\", a.run.experimentId, a.evalDef.evalGroup.id]);\n const groupPluginContext: GroupPluginContext | undefined = a.evalDef.evalGroup === undefined\n ? undefined\n : {\n experimentId: a.run.experimentId,\n evalGroupId: a.evalDef.evalGroup.id,\n signal: setupContext.signal,\n progress: setupContext.progress,\n diagnostic: setupContext.diagnostic,\n fact: (key, value) => recordExperimentFact(a.run.experimentId, key, value),\n };\n pool = new ReusableSandboxPool(a.plan, capacity, {\n progress: setupContext.progress,\n diagnostic: setupContext.diagnostic,\n }, setupContext, liveSandboxRuntimeServices, a.run.agent.kind === \"sandbox\" ? a.run.agent : undefined, runTiming, materializationOwnerId, () => nextReuseSandboxNumber(a.run), a.evalDef.evalGroup === undefined ? Object.freeze([]) : linkPluginLifecycles(a.evalDef.evalGroup.plugins ?? [], \"group\"), groupPluginContext);\n bySpec.set(key, pool);\n return pool.managed().pipe(Effect.map((managed) => ({ _tag: \"Reuse\", pool: managed }) as const));\n }\n return Effect.succeed({ _tag: \"Reuse\", pool });\n };\n // 两级并发闸:全局(opts.maxConcurrency)+ 实验级(AgentRun.maxConcurrency,可选)。\n // 实验级闸让「有共享状态、必须串行」的实验(如跨 eval 累积记忆,maxConcurrency: 1)只在\n // 自己内部排队,同批其它实验照常并发。它的名额域跨 Invocation 共用(见 gate-lease.ts 与\n // docs/feature/experiments/architecture.md「并发 Invocation:用例锁」末条),所以名额不是\n // 进程内信号量而是磁盘上的逐槽租约——多开不叠加 N,`maxConcurrency: 1` 的临界区声明在\n // 多开下同样成立。全局位反过来是每条 Invocation 私有的吞吐旋钮,仍是进程内信号量。\n const globalSem = yield* Effect.makeSemaphore(opts.maxConcurrency);\n // 实验闸在进程内先垫一层同名额的信号量,再去取租约。两个原因:\n // ① 名额在本进程内部交接是即时的(Effect 信号量把 permit 直接递给排队的下一个 attempt),\n // 不必等租约轮询的下一个周期——单开是绝大多数场景,不该为跨进程协调付整整一个轮询周期\n // 的空转;② 同实验同时去拍磁盘的 attempt 至多 N 个,不让 runs 展开出的一大批兄弟一起\n // 轮询。它只会更严、不会更松:permit 数恒等于该实验 resolved 的 N,真正的名额权威仍是\n // 租约(跨 Invocation 共用、min-N 收紧)。裸 run(没有 experimentId、没有可共享的名额域)\n // 就只有这一层,不产生任何跨进程协调。\n const gateLocalSems = new Map<AgentRun, Effect.Semaphore>();\n for (const run of effectiveAgentRuns) {\n if (run.maxConcurrency !== undefined) {\n gateLocalSems.set(run, yield* Effect.makeSemaphore(Math.max(1, run.maxConcurrency)));\n }\n }\n // provider 级独占串行闸(见 docs/runner.md「调度:有界并发」):声明了 exclusive 的 provider\n // (如 local——同一棵真实工作树不允许并发写)按 provider 名共享一把 permit=1 的信号量,\n // --max-concurrency / 实验级 maxConcurrency 都不解除。核心不认 provider 名分支:这里只读\n // physical plan 的中性 admission/lane 字段;相同 lane 共用一把锁,表示它们竞争同一份\n // 不可并发底层资源,不是 `provider === \"local\"` 的行为分支。\n const providerExclusiveSems = new Map<string, Effect.Semaphore>();\n for (const attempt of attempts) {\n if (attempt.plan._tag === \"Direct\" ||\n attempt.plan.providerPlan.scheduling.admission._tag !== \"Exclusive\") {\n continue;\n }\n const laneKey = attempt.plan.providerPlan.scheduling.lane.key;\n if (!providerExclusiveSems.has(laneKey)) {\n providerExclusiveSems.set(laneKey, yield* Effect.makeSemaphore(1));\n }\n }\n let exclusiveConcurrencyWarned = false;\n const exclusiveSemFor = (plan: Attempt[\"plan\"]): Effect.Semaphore | undefined => {\n if (plan._tag === \"Direct\" || plan.providerPlan.scheduling.admission._tag !== \"Exclusive\")\n return undefined;\n const laneKey = plan.providerPlan.scheduling.lane.key;\n const sem = providerExclusiveSems.get(laneKey);\n if (sem === undefined) {\n throw new Error(`Missing provider-exclusive semaphore for ${laneKey}`);\n }\n // 如实标注串行事实(一次性,不管命中多少条 attempt):全局上限比 1 高时,这个 provider 的\n // attempt 实际仍然一个一个跑——不管 --max-concurrency 写了多少,这是正确性约束不是调度旋钮。\n if (opts.maxConcurrency > 1 && !exclusiveConcurrencyWarned) {\n exclusiveConcurrencyWarned = true;\n reportDiagnostic({\n key: `provider-exclusive-serial:${laneKey}`,\n code: \"provider-exclusive-serial\",\n severity: \"warning\",\n message: t(\"runner.providerExclusiveSerial\", {\n provider: plan.providerPlan.provider,\n concurrency: opts.maxConcurrency,\n }).trimEnd(),\n data: { provider: plan.providerPlan.provider, concurrency: opts.maxConcurrency },\n });\n }\n return sem;\n };\n // 实验级生命周期(见 docs/feature/experiments/architecture.md「实验级生命周期」):\n // setup 整场至多一次——第一个通过派发许可(preflight)的 attempt 触发,后续 attempt 等同一个\n // memoized Effect completion;等待发生在 gated 里、globalSem 之外,不占全局并发位。teardown 是\n // ExperimentDef.teardown 字段,在最后一个 attempt 收尾后执行,当且仅当 setup 时点走到过\n // ——setup 抛错不豁免,未声明 setup 不影响触发。pendingAttempts 按 Attempt 身份结算并挂在\n // Effect.ensuring 上,中断路径同样移除;重复结算不会像数字计数那样下溢。\n type ExperimentSetupOutcome = {\n readonly _tag: \"Succeeded\";\n } | {\n readonly _tag: \"Failed\";\n readonly error: AttemptError;\n };\n type ExperimentSetup = {\n readonly _tag: \"InProgress\";\n readonly completion: Deferred.Deferred<void, unknown>;\n } | ExperimentSetupOutcome;\n /**\n * 生命周期是一条闭合状态链,而不是 optional Promise、boolean 与计数器的笛卡尔积:\n *\n * Dormant → Active(setup 进行中/成功/失败) → TearingDown → TornDown\n * ↘ UntriggeredComplete(所有 attempt 都在触发点前结算)\n *\n * TearingDown/TornDown 仍携带 setup 与 pendingAttempts,因为强清 drain 可以在 setup 或\n * attempt 尚在飞时先取得收尾执行权;后续 attempt 恢复时仍须读到 setup 的失败结果。\n */\n type ExperimentLifecycle = {\n readonly _tag: \"Dormant\";\n readonly pendingAttempts: ReadonlySet<Attempt>;\n } | {\n readonly _tag: \"Active\";\n readonly pendingAttempts: ReadonlySet<Attempt>;\n readonly setup: ExperimentSetup;\n } | {\n readonly _tag: \"TearingDown\";\n readonly pendingAttempts: ReadonlySet<Attempt>;\n readonly setup: ExperimentSetup;\n readonly completion: Deferred.Deferred<void, unknown>;\n } | {\n readonly _tag: \"TornDown\";\n readonly pendingAttempts: ReadonlySet<Attempt>;\n readonly setup: ExperimentSetupOutcome;\n } | {\n readonly _tag: \"UntriggeredComplete\";\n };\n interface ExperimentLifecycleCell {\n state: ExperimentLifecycle;\n readonly mutex: Effect.Semaphore;\n }\n const expLifecycles = new Map<AgentRun, ExperimentLifecycleCell>();\n for (const a of attempts) {\n if (!a.run.setup && !a.run.teardown)\n continue;\n const cell = expLifecycles.get(a.run);\n if (cell) {\n if (cell.state._tag !== \"Dormant\")\n throw new Error(\"Experiment lifecycle initialized after dispatch.\");\n cell.state = { _tag: \"Dormant\", pendingAttempts: new Set([...cell.state.pendingAttempts, a]) };\n }\n else {\n expLifecycles.set(a.run, {\n state: { _tag: \"Dormant\", pendingAttempts: new Set([a]) },\n mutex: yield* Effect.makeSemaphore(1),\n });\n }\n }\n // 实验域诊断累积器(docs/runner.md「实验域诊断持久化」):只接无法归属单 Attempt 的实验\n // 事实——ctx.diagnostic、teardown failed/late、budget-unenforceable。相同 dedupeKey 只在\n // 同一个 experimentId 桶内折叠 count;不同 Experiment 各自独立累计,不跨来源合并。裸 run\n // (没有 experimentId)没有 Run 可挂,直接丢弃不进这个累积器——只留 reportDiagnostic\n // 的运行期反馈。与之配套的收尾时刻(捕捉每个 Experiment 真正完成的那一刻,不是整个\n // Invocation 收尾的那一刻,才诚实)。\n const experimentDiagnostics = new Map<string, DiagnosticRecord[]>();\n const experimentDedupeIndex = new Map<string, Map<string, DiagnosticRecord>>();\n const experimentCompletedAt = new Map<string, string>();\n // experiment 作用域 ctx.fact() 的累加器(与 experimentDiagnostics 同一种「按 experimentId 分桶」\n // 模式):同一实验内后写覆盖先写,与 completedAt 同批在快照封口补写进 RunMeta.facts\n // (见 docs/feature/record/architecture.md#facts运行事实)。没有 experimentId 的裸 run 没有\n // Run 可挂,调用直接丢弃(与 recordExperimentDiagnostic 同一条纪律)。\n const experimentFacts = new Map<string, globalThis.Record<string, FactValue>>();\n const recordExperimentFact = (experimentId: string | undefined, key: string, value: FactValue): void => {\n if (!experimentId)\n return;\n const facts = experimentFacts.get(experimentId) ?? {};\n recordFact(facts, key, value);\n experimentFacts.set(experimentId, facts);\n };\n const recordExperimentDiagnostic = (input: {\n experimentId: string | undefined;\n code: string;\n level: \"warning\" | \"error\";\n message: string;\n phase: LifecyclePhase;\n data?: Readonly<globalThis.Record<string, JsonValue>>;\n command?: string;\n dedupeKey?: string;\n }): void => {\n if (!input.experimentId)\n return;\n const dedupeIndex = experimentDedupeIndex.get(input.experimentId) ?? new Map<string, DiagnosticRecord>();\n experimentDedupeIndex.set(input.experimentId, dedupeIndex);\n if (input.dedupeKey !== undefined) {\n const existing = dedupeIndex.get(input.dedupeKey);\n if (existing) {\n existing.count = (existing.count ?? 1) + 1;\n // 同一运行级事实会随着未派发槽位增加而得到更精确的上下文。反馈 reducer\n // 已经采用最新 data;持久 Run 诊断也必须同样更新,不能把最初的 0 永久写死。\n if (input.data !== undefined || input.command !== undefined) {\n existing.context = {\n ...(input.data ?? {}),\n ...(input.command !== undefined ? { command: input.command } : {}),\n };\n }\n return;\n }\n }\n const record: DiagnosticRecord = {\n code: input.code,\n level: input.level,\n detail: input.message,\n origin: attemptOrigin(input.phase),\n ...(input.data !== undefined || input.command !== undefined\n ? {\n context: {\n ...(input.data ?? {}),\n ...(input.command !== undefined ? { command: input.command } : {}),\n },\n }\n : {}),\n };\n if (input.dedupeKey !== undefined)\n dedupeIndex.set(input.dedupeKey, record);\n const list = experimentDiagnostics.get(input.experimentId) ?? [];\n list.push(record);\n experimentDiagnostics.set(input.experimentId, list);\n };\n // 强杀后的收尾兜底(docs/feature/experiments/architecture.md「强杀后的收尾兜底」)的磁盘登记\n // 挂在结果根下,与留存注册表 `.niceeval/sandboxes/` 同一个根(省略时退回 cwd/.niceeval,\n // 与 attempt.ts 的 niceevalRoot 兜底同一口径)。\n const currentHost = hostname();\n const makeExperimentHookContext = (run: AgentRun, phase: LifecyclePhase): ExperimentHookContext => {\n const experimentId = run.experimentId;\n return {\n experimentId: run.experimentId,\n selectedEvalIds: run.selectedEvalIds,\n signal: opts.signal ?? new AbortController().signal,\n // progress 是短命状态:只更新本实验运行级行的 detail,不属于任何 attempt 的 active 条目。\n progress: (u) => {\n const suffix = u.current !== undefined && u.total !== undefined ? ` (${u.current}/${u.total})` : \"\";\n reportExperimentProgress({ experimentId, detail: `${u.message}${suffix}` });\n },\n // diagnostic 双落:运行级永久事件流(human/json 都有即时反馈)+ 实验域诊断累积器\n // (持久化,该 Experiment 的 Run 封口时一次写入)——两条通路相互独立,互不派生\n // (docs/runner.md「实验域诊断持久化」)。实验级钩子的事实不属于任何单个 Attempt,不落\n // result.json。\n diagnostic: (input) => {\n reportDiagnostic({\n key: input.dedupeKey ?? `${input.code}:experiment:${experimentId}`,\n code: input.code,\n severity: input.level,\n message: input.message,\n data: { experimentId, ...(input.data ?? {}) },\n });\n recordExperimentDiagnostic({\n experimentId: run.experimentId,\n code: input.code,\n level: input.level,\n message: input.message,\n phase,\n ...(input.data !== undefined ? { data: input.data } : {}),\n ...(input.dedupeKey !== undefined ? { dedupeKey: input.dedupeKey } : {}),\n });\n },\n fact: (key, value) => recordExperimentFact(run.experimentId, key, value),\n };\n };\n const replaceSetup = (cell: ExperimentLifecycleCell, setup: ExperimentSetupOutcome): Effect.Effect<void> => cell.mutex.withPermits(1)(Effect.sync(() => {\n const state = cell.state;\n if (state._tag === \"Active\" || state._tag === \"TearingDown\") {\n cell.state = { ...state, setup };\n }\n }));\n const awaitSetup = (setup: ExperimentSetup): Effect.Effect<void, unknown> => setup._tag === \"InProgress\" ? Deferred.await(setup.completion) : Effect.void;\n const setupOutcomeOf = (setup: ExperimentSetup): ExperimentSetupOutcome => {\n if (setup._tag !== \"InProgress\")\n return setup;\n throw new Error(\"Experiment setup completed without recording its terminal outcome.\");\n };\n const runExperimentTeardown = (run: AgentRun, cell: ExperimentLifecycleCell): Effect.Effect<void, unknown> => Effect.uninterruptibleMask((restore) => cell.mutex.withPermits(1)(Effect.gen(function* () {\n const current = cell.state;\n // setup 时点没走到就没有收尾义务;已完成与在飞状态分别复用自己的确定 Effect。\n if (current._tag === \"Dormant\" || current._tag === \"UntriggeredComplete\" || current._tag === \"TornDown\") {\n return undefined;\n }\n if (current._tag === \"TearingDown\")\n return current.completion;\n // 正常路径、强清 drain 与崩溃路径共同把 Active 原子转成 TearingDown;后到者只 await\n // 同一个 Deferred,因此不双跑、也不空转。\n const completion = yield* Deferred.make<void, unknown>();\n const experimentId = run.experimentId ?? run.agent.name;\n cell.state = {\n _tag: \"TearingDown\",\n pendingAttempts: current.pendingAttempts,\n setup: current.setup,\n completion,\n };\n const teardown = Effect.gen(function* () {\n // 强清可能先取得收尾执行权;必须等 setup 的 Effect 结算后再清理。\n yield* awaitSetup(current.setup);\n if (!run.teardown)\n return;\n reportExperimentHook({ experimentId, hook: \"teardown\", status: \"started\" });\n const startedAt = Date.now();\n const ctx = makeExperimentHookContext(run, \"experiment.teardown\");\n yield* cleanupCallback(() => run.teardown!(ctx)).pipe(Effect.matchEffect({\n onSuccess: () => Effect.sync(() => {\n reportExperimentHook({\n experimentId,\n hook: \"teardown\",\n status: \"done\",\n durationMs: Date.now() - startedAt,\n });\n }),\n onFailure: (error) => Effect.sync(() => {\n reportExperimentHook({\n experimentId,\n hook: \"teardown\",\n status: \"failed\",\n durationMs: Date.now() - startedAt,\n });\n // teardown 失败只作运行级诊断,不改任何已产出的 verdict。\n const message = t(\"runner.experimentTeardownFailed\", {\n experimentId,\n message: error instanceof Error ? error.message : String(error),\n }).trimEnd();\n reportDiagnostic({\n key: `experiment-teardown-failed:${experimentId}`,\n code: \"experiment-teardown-failed\",\n severity: \"warning\",\n message,\n data: { experimentId },\n });\n recordExperimentDiagnostic({\n experimentId: run.experimentId,\n code: \"experiment-teardown-failed\",\n level: \"warning\",\n message,\n phase: \"experiment.teardown\",\n });\n }),\n }));\n // 这个 Experiment 真正走完 teardown(不论成败)的时刻。\n experimentCompletedAt.set(experimentId, new Date().toISOString());\n }).pipe(Effect.ensuring(cell.mutex.withPermits(1)(Effect.gen(function* () {\n const state = cell.state;\n const pendingAttempts = state._tag === \"TearingDown\"\n ? state.pendingAttempts\n : current.pendingAttempts;\n const setup = state._tag === \"TearingDown\" ? state.setup : current.setup;\n cell.state = { _tag: \"TornDown\", pendingAttempts, setup: setupOutcomeOf(setup) };\n // settle 后才注销:drain 在执行体在飞时仍能看见本项。\n yield* unregisterExperimentTeardown(experimentId);\n if (run.experimentId) {\n yield* removeTeardownRegistrationIfPresentEffect(niceevalRoot, teardownEntryId(run.experimentId, process.pid)).pipe(Effect.ignore);\n }\n }))));\n const settle = Effect.exit(restore(teardown)).pipe(Effect.flatMap((exit) => Deferred.done(completion, exit)), Effect.asVoid);\n yield* restore(settle).pipe(Effect.forkIn(invocationScope));\n return completion;\n })).pipe(Effect.flatMap((completion) => completion === undefined ? Effect.void : restore(Deferred.await(completion)))));\n /**\n * 启动自愈:本实验触发 setup 之前,先核对磁盘上是否有它自己的遗留登记——上一次运行同一\n * experimentId 被强杀、来不及删除。同宿主且 pid 已死才是遗留义务;pid 活或异宿主可能是\n * 并发 run,不触碰。先原子删登记拿到执行权,再补执行一次它的 teardown(新进程语义:\n * ctx.selectedEvalIds 从登记恢复,不依赖已丢失的 setup 产物)。失败只记诊断,不阻断、\n * 不重试本次 run 的调度——recovery 补偿的是上一次的泄漏,不是这一次的前提条件。\n */\n const recoverOrphanedTeardownRegistration = (run: AgentRun, experimentId: string): Effect.Effect<void, unknown> => Effect.suspend(() => {\n if (!run.experimentId || !run.teardown)\n return Effect.void;\n return Effect.gen(function* () {\n const registrations = yield* readTeardownRegistrationsEffect(niceevalRoot).pipe(Effect.catchAll(() => Effect.succeed([])));\n for (const { id, entry } of registrations) {\n if (entry.experimentId !== run.experimentId || !isOrphanedTeardownRegistration(entry, currentHost))\n continue;\n const claimed = yield* removeTeardownRegistrationIfPresentEffect(niceevalRoot, id).pipe(Effect.catchAll(() => Effect.succeed(false)));\n if (!claimed)\n continue; // 已被另一个进程抢先删除,义务已被别处接手。\n reportExperimentHook({ experimentId, hook: \"teardown\", status: \"started\", recovery: true });\n const startedAt = Date.now();\n const recoveryCtx: ExperimentHookContext = {\n experimentId,\n selectedEvalIds: entry.selectedEvalIds,\n signal: opts.signal ?? new AbortController().signal,\n progress: (u) => {\n const suffix = u.current !== undefined && u.total !== undefined ? ` (${u.current}/${u.total})` : \"\";\n reportExperimentProgress({ experimentId, detail: `${u.message}${suffix}` });\n },\n diagnostic: (input) => {\n reportDiagnostic({\n key: input.dedupeKey ?? `${input.code}:experiment:${experimentId}`,\n code: input.code,\n severity: input.level,\n message: input.message,\n data: { experimentId, ...(input.data ?? {}) },\n });\n recordExperimentDiagnostic({\n experimentId: run.experimentId,\n code: input.code,\n level: input.level,\n message: input.message,\n phase: \"experiment.teardown\",\n ...(input.data !== undefined ? { data: input.data } : {}),\n ...(input.dedupeKey !== undefined ? { dedupeKey: input.dedupeKey } : {}),\n });\n },\n fact: (key, value) => recordExperimentFact(run.experimentId, key, value),\n };\n yield* cleanupCallback(() => run.teardown!(recoveryCtx)).pipe(Effect.matchEffect({\n onSuccess: () => Effect.sync(() => {\n reportExperimentHook({\n experimentId,\n hook: \"teardown\",\n status: \"done\",\n durationMs: Date.now() - startedAt,\n recovery: true,\n });\n }),\n onFailure: (error) => Effect.sync(() => {\n reportExperimentHook({\n experimentId,\n hook: \"teardown\",\n status: \"failed\",\n durationMs: Date.now() - startedAt,\n recovery: true,\n });\n const message = t(\"runner.experimentTeardownFailed\", {\n experimentId,\n message: error instanceof Error ? error.message : String(error),\n }).trimEnd();\n reportDiagnostic({\n key: `experiment-teardown-failed:${experimentId}`,\n code: \"experiment-teardown-failed\",\n severity: \"warning\",\n message,\n data: { experimentId },\n });\n recordExperimentDiagnostic({\n experimentId: run.experimentId,\n code: \"experiment-teardown-failed\",\n level: \"warning\",\n message,\n phase: \"experiment.teardown\",\n });\n }),\n }));\n }\n });\n });\n const ensureExperimentSetup = (a: Attempt): Effect.Effect<void, unknown> => {\n const cell = expLifecycles.get(a.run)!;\n return Effect.uninterruptibleMask((restore) => cell.mutex.withPermits(1)(Effect.gen(function* () {\n const current = cell.state;\n if (current._tag === \"Active\" || current._tag === \"TearingDown\")\n return current.setup;\n if (current._tag === \"TornDown\")\n return undefined;\n if (current._tag === \"UntriggeredComplete\") {\n return yield* Effect.die(new Error(\"Experiment lifecycle cannot be triggered after all attempts settled.\"));\n }\n const run = a.run;\n const experimentId = run.experimentId ?? run.agent.name;\n const completion = yield* Deferred.make<void, unknown>();\n // 先写 Active、再登记和启动 worker:随后任何 attempt 或强清都会复用同一个 Effect 完成点。\n cell.state = {\n _tag: \"Active\",\n pendingAttempts: current.pendingAttempts,\n setup: { _tag: \"InProgress\", completion },\n };\n if (run.teardown) {\n yield* registerExperimentTeardown(experimentId, () => runExperimentTeardown(run, cell));\n }\n let setupStartedAt: number | undefined;\n const setupBody = Effect.gen(function* () {\n // 上一进程的遗留收尾先补做,再原子写入本次登记;两步都先于 setup。\n if (run.teardown && run.experimentId) {\n yield* recoverOrphanedTeardownRegistration(run, experimentId);\n yield* writeTeardownRegistrationEffect(niceevalRoot, {\n experimentId: run.experimentId,\n selectedEvalIds: run.selectedEvalIds,\n pid: process.pid,\n host: currentHost,\n startedAt: new Date().toISOString(),\n }).pipe(Effect.catchAll((error) => Effect.sync(() => {\n const message = t(\"runner.teardownRegistrationWriteFailed\", {\n experimentId,\n message: error instanceof Error ? error.message : String(error),\n }).trimEnd();\n reportDiagnostic({\n key: `teardown-registration-write-failed:${experimentId}`,\n code: \"teardown-registration-write-failed\",\n severity: \"warning\",\n message,\n data: { experimentId },\n });\n recordExperimentDiagnostic({\n experimentId: run.experimentId,\n code: \"teardown-registration-write-failed\",\n level: \"warning\",\n message,\n phase: \"experiment.setup\",\n });\n })));\n }\n if (!run.setup)\n return;\n setupStartedAt = Date.now();\n reportExperimentHook({ experimentId, hook: \"setup\", status: \"started\" });\n const ctx = makeExperimentHookContext(run, \"experiment.setup\");\n const value = yield* Effect.tryPromise({\n try: () => Promise.resolve().then(() => run.setup!(ctx)),\n catch: (error) => error,\n });\n const returned = value as unknown;\n if (typeof returned === \"function\") {\n // tsx 旧式 setup cleanup 只在 author callback 边界适配;主错误说明迁移方向。\n yield* cleanupCallback(returned as () => unknown).pipe(Effect.catchAll(() => Effect.void));\n return yield* Effect.fail(new Error(t(\"runner.setupReturnedCleanup\", {\n layer: `ExperimentDef.setup (${experimentId})`,\n hint: \"ExperimentDef.teardown\",\n }).trimEnd()));\n }\n reportExperimentHook({\n experimentId,\n hook: \"setup\",\n status: \"done\",\n durationMs: Date.now() - (setupStartedAt ?? Date.now()),\n });\n });\n const setupWorker = setupBody.pipe(Effect.matchEffect({\n onSuccess: () => replaceSetup(cell, { _tag: \"Succeeded\" }),\n onFailure: (error) => Effect.sync(() => {\n reportExperimentHook({\n experimentId,\n hook: \"setup\",\n status: \"failed\",\n durationMs: Date.now() - (setupStartedAt ?? Date.now()),\n });\n }).pipe(Effect.zipRight(replaceSetup(cell, {\n _tag: \"Failed\",\n error: { ...errorFromThrown(error, \"experiment.setup\"), code: \"experiment-setup-failed\" },\n }))),\n }), Effect.onExit((exit) => {\n const recordUnexpectedExit = Exit.isFailure(exit)\n ? replaceSetup(cell, {\n _tag: \"Failed\",\n error: {\n ...errorFromThrown(Cause.squash(exit.cause), \"experiment.setup\"),\n code: \"experiment-setup-failed\",\n },\n })\n : Effect.void;\n return recordUnexpectedExit.pipe(Effect.zipRight(Deferred.done(completion, exit)), Effect.asVoid);\n }));\n yield* restore(setupWorker).pipe(Effect.forkIn(invocationScope));\n return cell.state.setup;\n })).pipe(Effect.flatMap((setup) => setup === undefined ? Effect.void : restore(awaitSetup(setup)))));\n };\n // 自愈是「选中实验」的启动期职责,不是首个派发 attempt 的副作用:全携带使 attempts 为空时,\n // 仍必须补上上一进程强杀遗留的收尾。无 teardown 的新定义无法安全补执行,交由 CLI 提醒。\n const recoveredExperimentIds = new Set<string>();\n for (const run of effectiveAgentRuns) {\n if (!run.experimentId || !run.teardown || recoveredExperimentIds.has(run.experimentId))\n continue;\n recoveredExperimentIds.add(run.experimentId);\n yield* recoverOrphanedTeardownRegistration(run, run.experimentId);\n }\n const settleExperimentAttempt = (a: Attempt): Effect.Effect<void, unknown> => {\n const cell = expLifecycles.get(a.run)!;\n return cell.mutex.withPermits(1)(Effect.sync(() => {\n const state = cell.state;\n if (state._tag === \"UntriggeredComplete\")\n return false;\n const pendingAttempts = new Set(state.pendingAttempts);\n pendingAttempts.delete(a);\n if (state._tag === \"Dormant\") {\n cell.state = pendingAttempts.size === 0\n ? { _tag: \"UntriggeredComplete\" }\n : { _tag: \"Dormant\", pendingAttempts };\n return false;\n }\n if (state._tag === \"Active\") {\n cell.state = { ...state, pendingAttempts };\n return pendingAttempts.size === 0;\n }\n cell.state = { ...state, pendingAttempts };\n return false;\n })).pipe(Effect.flatMap((startTeardown) => startTeardown ? runExperimentTeardown(a.run, cell) : Effect.void));\n };\n // ─────────────────────── 派发许可链(docs/runner.md「调度:有界并发」) ───────────────────────\n // 一条 attempt 要真正开跑,顺序通过四道许可,顺序本身是契约:\n // ① 止损闸(checkDispatchHalt)→ ② 实验闸(跨 Invocation 逐槽租约)→ ③ 全局并发位\n // → ④ 派发时刻非阻塞试锁(用例锁)→ preflight → body\n // ②③ 是资源许可,④ 是「这条用例归谁跑」的仲裁。撞上别人持有的新鲜锁时,④ 立刻把 ③ 和 ②\n // 都还回去(不还就会拿着实验闸名额干等持锁方——同一实验的名额域跨 Invocation 共用,\n // maxConcurrency: 1 下这是必然死锁),该用例转 elsewhere 挂起,腾出的位子由排队中的下一条\n // attempt 接手;锁释放/过期后重查携带,仍要自跑的那些从 ① 重新走一遍这条链。\n /**\n * 一把止损闸(docs/feature/error-classification/architecture.md「止损执行体」)。粒度两级:\n * 每个 experiment 一把实验闸,每个 (experiment, eval) 一把 eval 闸;实验闸落下**蕴含**该实验\n * 全部 eval 闸——检查点同时读两把,不做物理级联(eval 闸的数量随选择集变化,级联要遍历,\n * 蕴含只要多读一个字段)。\n *\n * 两个状态载体各有不可替代的角色,不是同一件事的两份副本:\n * - `latch`:`Effect.unsafeMakeLatch(false)`,落闸 = `unsafeOpen()`。`open` 幂等且不可回退,\n * 「落闸幂等、invocation 内不可逆」因此是结构保证而不是调用方自律;`latch.await` 同时是\n * 「等到这把闸落下」的 Effect,给等在全局并发位上的 fiber 当中止信号(见 withGlobalSlot)。\n * - `halted`:同步读的镜像。派发检查点在每轮循环开头问一次,不能为此付一次 await\n * (`Effect.Latch` 没有同步状态读)。恒在 `unsafeOpen()` 之前置位,两者不会互相领先。\n * 实验闸名额租约与撞用例锁后的 elsewhere 轮询都直接竞速 `latch.await`。这样止损只让等待\n * 成功收束;用户取消仍保留为 Effect interruption Cause,不再穿过 AbortSignal / Promise 边界。\n */\n interface HaltGate {\n readonly scope: \"eval\" | \"experiment\";\n /** 展示与折叠用的实验身份(裸 run 退回 agent 名,与 budgetKey / teardown 诊断同一口径)。 */\n readonly experimentId: string;\n /** 持久化用的真实 experimentId;裸 run 没有 Run 可挂,为 undefined。 */\n readonly persistedExperimentId: string | undefined;\n /** eval 闸才有。 */\n readonly evalId: string | undefined;\n /** 两条诊断通路共用的折叠键(= scope + evalId,契约见 architecture.md「诊断」)。 */\n readonly dedupeKey: string;\n readonly latch: Effect.Latch;\n halted: boolean;\n /** 被这把闸拦下、未派发的 attempt 数(进 InvocationCompletion.unstarted)。 */\n unstarted: number;\n /** 触发落闸的失败 message,即作者的修复提示;走完通知与诊断两条通路。 */\n message: string;\n /** 触发落闸的失败所在的生命周期阶段;`--json` 的 warning 事件从 data.phase 读它。 */\n phase: LifecyclePhase;\n }\n const haltGates = new Map<string, HaltGate>();\n const haltGateKey = (run: AgentRun, evalId: string | undefined): string => evalId === undefined\n ? `dispatch-halted:experiment:${run.experimentId ?? run.agent.name}`\n : `dispatch-halted:eval:${run.experimentId ?? run.agent.name}|${evalId}`;\n const haltGateOf = (run: AgentRun, evalId: string | undefined): HaltGate => {\n const dedupeKey = haltGateKey(run, evalId);\n let gate = haltGates.get(dedupeKey);\n if (!gate) {\n gate = {\n scope: evalId === undefined ? \"experiment\" : \"eval\",\n experimentId: run.experimentId ?? run.agent.name,\n persistedExperimentId: run.experimentId,\n evalId,\n dedupeKey,\n latch: Effect.unsafeMakeLatch(false),\n halted: false,\n unstarted: 0,\n message: \"\",\n phase: \"eval.run\",\n };\n haltGates.set(dedupeKey, gate);\n }\n return gate;\n };\n // 闸预先建好(而不是落闸那一刻懒建):等待中的 fiber 要能先订阅 latch / abort,懒建会让\n // 「先开始等、后落闸」的 attempt 订阅到一个已经被换掉的对象上,永远等不到中止。\n for (const a of attempts) {\n haltGateOf(a.run, undefined);\n haltGateOf(a.run, a.evalDef.id);\n }\n /** 这条 attempt 头上的两把闸,实验闸在前(蕴含关系:实验闸落下即视为本 eval 也落闸)。 */\n const haltGatesOf = (a: Attempt): readonly [\n HaltGate,\n HaltGate\n ] => [\n haltGateOf(a.run, undefined),\n haltGateOf(a.run, a.evalDef.id),\n ];\n /**\n * 止损闸检查点:「这条 attempt 是否被作者声明的止损闸拦下」。落闸后本 eval / 本实验剩余\n * attempt 不再派发,计入 `unstarted`、完成状态落 `incomplete`(契约见\n * docs/feature/error-classification/README.md「自愈阶梯与止损阶梯」)。\n *\n * 每轮循环都会重新问一次:挂起在 elsewhere 的用例被唤醒后同样先过这道闸,不会绕开已经落下\n * 的闸重新入场。检查点存在良性竞态——闸落下的瞬间可能有 attempt 已越过检查、照常跑完,\n * 代价是多烧一个沙箱,不为它引入额外互斥(architecture.md「派发」)。\n */\n const checkDispatchHalt = (a: Attempt): {\n halted: false;\n } | {\n halted: true;\n scope: \"eval\" | \"experiment\";\n gate: HaltGate;\n } => {\n const [experimentGate, evalGate] = haltGatesOf(a);\n if (experimentGate.halted)\n return { halted: true, scope: \"experiment\", gate: experimentGate };\n if (evalGate.halted)\n return { halted: true, scope: \"eval\", gate: evalGate };\n return { halted: false };\n };\n /** 「等到这条 attempt 头上任一把闸落下」;给 Effect 世界的等待(全局并发位)当中止信号。 */\n const haltAwait = (a: Attempt): Effect.Effect<void> => {\n const [experimentGate, evalGate] = haltGatesOf(a);\n return Effect.raceFirst(experimentGate.latch.await, evalGate.latch.await);\n };\n /**\n * 运行期即时通知:反馈流一条 error 级通知(architecture.md「观察面」的落闸形态)。与持久化的\n * `dispatch-halted` 诊断**同源互不派生**——两条通路各自从同一份 gate 状态取值,谁都不是谁的\n * 派生物。`data.unstarted` 随未派发数增长刷新(reducer 的 upsert 用最新 data 覆盖、count 自增),\n * cli.ts 的 assembleInvocationCompletion 读它折成 InvocationCompletion.unstarted。\n */\n const reportHaltNotice = (gate: HaltGate): void => {\n reportDiagnostic({\n key: gate.dedupeKey,\n // 稳定词法与持久化侧同一个字面量;折叠到哪一条实验 / 用例由 dedupeKey 与 data 的\n // experimentId / evalId 回答,不编进 code(见 sink.ts 的 DiagnosticInput.code)。\n code: HALT_DIAGNOSTIC_CODE,\n severity: \"error\",\n message: t(gate.scope === \"experiment\" ? \"runner.dispatchHaltedExperiment\" : \"runner.dispatchHaltedEval\", { message: gate.message }).trimEnd(),\n data: {\n experimentId: gate.experimentId,\n scope: gate.scope,\n ...(gate.evalId !== undefined ? { evalId: gate.evalId } : {}),\n phase: gate.phase,\n unstarted: gate.unstarted,\n },\n });\n };\n /**\n * 落闸:attempt 封口的空间轴回执携带超出 `\"attempt\"` 的 scope 时调用(唯一入口)。\n * 幂等——并发 attempt 同时声明同一死因是常态,重复触发只折叠两条通路的诊断计数;不可逆——\n * latch 只开不关,在飞 attempt 之后成功也不重开派发;不抢占——本函数只置状态,不碰任何\n * 已经在跑的 attempt。\n */\n const closeHaltGate = (a: Attempt, declaration: AttemptFailureDeclaration): void => {\n const scope = declaration.class.scope;\n if (scope !== \"eval\" && scope !== \"experiment\")\n return; // 缺省档:死因只属于本次执行,无闸可落\n const gate = haltGateOf(a.run, scope === \"experiment\" ? undefined : a.evalDef.id);\n const message = firstLine(declaration.text);\n // 持久化通路:按 dedupeKey 折叠成一条 dispatch-halted(docs 的形状),落进该 Experiment 的\n // run.json。裸 run 没有 Run 可挂,recordExperimentDiagnostic 自己丢弃。\n recordExperimentDiagnostic({\n experimentId: gate.persistedExperimentId,\n code: HALT_DIAGNOSTIC_CODE,\n level: \"error\",\n message,\n phase: declaration.phase,\n dedupeKey: gate.dedupeKey,\n data: { scope, ...(gate.evalId !== undefined ? { evalId: gate.evalId } : {}) },\n });\n if (!gate.halted) {\n gate.message = message;\n gate.phase = declaration.phase;\n gate.halted = true; // 同步镜像先置位,再开 latch:两者不会互相领先\n gate.latch.unsafeOpen();\n }\n reportHaltNotice(gate);\n };\n /**\n * 未派发记账:与 run 级 fail-fast / budget 停派发同一条通路——每个未派发 attempt 各发一次\n * `attempt:early-exit`(queued → completed,反馈层五项计数守恒),再把当次累计的未派发数刷进\n * 同一条 `dispatch-halted` 诊断。不为没跑过的 attempt 制造 `errored` 记录(architecture.md\n * 「记账」);退出码由观察到失败的那条 `errored` attempt 判红。\n */\n const accountDispatchHalted = (a: Attempt, gate: HaltGate): void => {\n recordCoordinator.markNotDispatched(a);\n gate.unstarted += 1;\n reportAttemptLifecycle({\n type: \"attempt:early-exit\",\n at: Date.now(),\n identity: feedbackIdentity(a),\n who: feedbackWho(a),\n });\n reportHaltNotice(gate);\n };\n /**\n * Eval Group 的不可用策略只约束同一台物理 Sandbox 的后续槽位;它不复用通用\n * dispatch-halted 语义,也绝不把「本来没开始」的槽位伪造成 EvalResult。Group lane\n * 已按规范化 Eval ID 串行,所以 gate 只需同步镜像:前一槽位释放 predecessor 后,下一\n * 槽位在任何 Build / Sandbox 动作前就能看见它。其它 Group 和其它 Experiment 没有共享它。\n */\n interface EvalGroupUnavailableGate {\n readonly experimentId: string | undefined;\n readonly displayExperimentId: string;\n readonly groupId: string;\n readonly onUnavailable: \"stop-group\" | \"replace-sandbox\";\n readonly dedupeKey: string;\n readonly failuresByPhase: Map<\"sandbox.create\" | \"sandbox.prepare\" | \"sandbox.reset\", number>;\n stopped: boolean;\n unstarted: number;\n /** Physical stage is more precise than the closed public LifecyclePhase vocabulary. */\n stage: \"sandbox.create\" | \"sandbox.prepare\" | \"sandbox.reset\";\n /** Durable diagnostic origin stays within the public lifecycle vocabulary. */\n phase: LifecyclePhase;\n message: string;\n }\n const evalGroupUnavailableGates = new Map<string, EvalGroupUnavailableGate>();\n const evalGroupUnavailableGateOf = (a: Attempt): EvalGroupUnavailableGate | undefined => {\n const group = a.evalDef.evalGroup;\n if (group === undefined)\n return undefined;\n const key = JSON.stringify([a.run.experimentId ?? a.run.agent.name, a.run.agent.name, group.id]);\n let gate = evalGroupUnavailableGates.get(key);\n if (gate === undefined) {\n gate = {\n experimentId: a.run.experimentId,\n displayExperimentId: a.run.experimentId ?? a.run.agent.name,\n groupId: group.id,\n onUnavailable: group.onUnavailable,\n dedupeKey: `eval-group-unavailable:${a.run.experimentId ?? a.run.agent.name}|${group.id}`,\n failuresByPhase: new Map(),\n stopped: false,\n unstarted: 0,\n stage: \"sandbox.create\",\n phase: \"sandbox.create\",\n message: \"\",\n };\n evalGroupUnavailableGates.set(key, gate);\n }\n return gate;\n };\n // 预建 gate 和 stop-halt 一样避免「上一槽位刚刚失败、下一槽位已开始等」的换对象竞态。\n for (const a of attempts)\n evalGroupUnavailableGateOf(a);\n const reportEvalGroupUnavailable = (gate: EvalGroupUnavailableGate): void => {\n const message = `Eval Group ${JSON.stringify(gate.groupId)} is unavailable at ${gate.stage}: ${gate.message}`;\n const data = {\n experimentId: gate.displayExperimentId,\n evalGroupId: gate.groupId,\n onUnavailable: gate.onUnavailable,\n phase: gate.stage,\n unstarted: gate.unstarted,\n } as const;\n reportDiagnostic({\n key: gate.dedupeKey,\n code: \"eval-group-unavailable\",\n severity: \"error\",\n message,\n data,\n });\n recordExperimentDiagnostic({\n experimentId: gate.experimentId,\n code: \"eval-group-unavailable\",\n level: \"error\",\n message,\n phase: gate.phase,\n data,\n dedupeKey: gate.dedupeKey,\n });\n };\n /**\n * stop-group 首次物理失败即封住后续 slot。replace-sandbox 留一次机会给**下一** slot;\n * 池的 retire/create 路径完成替换,绝不回跑已经付出成本的 Attempt。同一 lifecycle\n * 阶段第二次失败说明替换也不可用,此时收束该 Group。\n */\n const recordEvalGroupPhysicalFailure = (a: Attempt, phase: \"sandbox.create\" | \"sandbox.prepare\" | \"sandbox.reset\", error: unknown): void => {\n const gate = evalGroupUnavailableGateOf(a);\n if (gate === undefined || gate.stopped)\n return;\n const failures = (gate.failuresByPhase.get(phase) ?? 0) + 1;\n gate.failuresByPhase.set(phase, failures);\n const mustStop = gate.onUnavailable === \"stop-group\" || failures >= 2;\n if (!mustStop) {\n reportDiagnostic({\n key: `eval-group-replacing-sandbox:${gate.displayExperimentId}|${gate.groupId}|${phase}`,\n code: \"eval-group-replacing-sandbox\",\n severity: \"warning\",\n message: `Eval Group ${JSON.stringify(gate.groupId)} will replace its physical Sandbox before a later slot ` +\n `after ${phase} failed: ${firstLine(error instanceof Error ? error.message : String(error))}`,\n data: { experimentId: gate.displayExperimentId, evalGroupId: gate.groupId, phase, onUnavailable: gate.onUnavailable },\n });\n return;\n }\n gate.stopped = true;\n gate.stage = phase;\n gate.phase = phase === \"sandbox.reset\" ? \"sandbox.cleanup\" : phase;\n gate.message = firstLine(error instanceof Error ? error.message : String(error));\n reportEvalGroupUnavailable(gate);\n };\n const accountEvalGroupUnavailable = (a: Attempt, gate: EvalGroupUnavailableGate): void => {\n gate.unstarted += 1;\n cancelReuseAttempt(a);\n // No result, no replacement: this slot never crossed the dispatch boundary.\n reportAttemptLifecycle({\n type: \"attempt:early-exit\",\n at: Date.now(),\n identity: feedbackIdentity(a),\n who: feedbackWho(a),\n });\n reportEvalGroupUnavailable(gate);\n };\n const lockIdentity = { pid: process.pid, host: currentHost };\n // 用例锁(docs/feature/experiments/architecture.md「并发 Invocation:用例锁」):按\n // (experimentId, evalId) 给这批已经确定要真实派发的 attempt 分组——被静态携带筛掉的组合\n // 从不出现在 attempts[] 里,天然满足「全携带用例不取锁」;裸 run(无 experimentId)不接入。\n // 一组(runs > 1 的兄弟 attempt)共享同一把锁:谁先到派发时刻谁试,自己已持有的直接放行,\n // 别人持有则全体挂在同一个等待窗口上,不重复试锁、不各自轮询。\n /** 一次非阻塞试锁的结论。`busy` 直接带出这一条用例的挂起窗口——「发现撞锁」与「挂进哪个\n * 窗口」必须是同一步:分成两步的话,兄弟 attempt 归还许可的那几个 microtask 里窗口可能\n * 已经解决并重新取到锁,它再去建窗口就会读到**自己**的新鲜锁、永久等下去。 */\n type CaseLockTry = {\n kind: \"acquired\";\n } | {\n kind: \"busy\";\n window: Effect.Effect<void>;\n };\n interface CaseLockState {\n experimentId: string;\n evalId: string;\n /** 本用例这次计划的全部 attempt;持有者一次认领它们全部,不按 attempt 拆锁。 */\n group: Attempt[];\n /** 还没收尾的 attempt 序号——`lock_wait` 的计数与「锁还留不留」都读它。 */\n pending: Set<number>;\n /** 本进程此刻持有的锁;undefined = 没持有(还没试 / 撞锁挂起中)。 */\n claim?: CaseLockEffectClaim;\n /** 同组兄弟只允许一条 fiber 做磁盘试锁;后到者在临界区内重读 claim / suspension。 */\n acquireMutex: Effect.Semaphore;\n /** 在飞的挂起窗口:撞锁的兄弟全体等同一个 Deferred。 */\n suspension?: Effect.Effect<void>;\n /** 已经用 `lock_wait started` 报进 `elsewhere`、还没被 `resolved` 报出来的 attempt 数。\n * 五项恒等式要求「报进去多少条就要报出来多少条」:收尾时不能拿当下的 `pending.size`\n * 当迁移数——等待期间被中断而提前 settle 的 attempt 会让 `pending` 缩水,差额就永远\n * 挂在 `elsewhere` 上。 */\n inElsewhere: number;\n }\n const caseLocks = new Map<string, CaseLockState>();\n for (const a of attempts) {\n if (!a.run.experimentId)\n continue;\n const key = cacheKey(a.run, a.evalDef.id);\n let st = caseLocks.get(key);\n if (!st) {\n st = {\n experimentId: a.run.experimentId,\n evalId: a.evalDef.id,\n group: [],\n pending: new Set<number>(),\n acquireMutex: yield* Effect.makeSemaphore(1),\n inElsewhere: 0,\n };\n caseLocks.set(key, st);\n }\n st.group.push(a);\n st.pending.add(a.attempt);\n }\n const caseStateOf = (a: Attempt): CaseLockState | undefined => a.run.experimentId ? caseLocks.get(cacheKey(a.run, a.evalDef.id)) : undefined;\n /**\n * A late on-disk result cannot become a V1 carried Member in this invocation:\n * the writer's frozen view did not receive an exact source capability during\n * planning. Keep the lock protocol's `resolved` accounting, but dispatch all\n * still-pending Slots normally instead of guessing from legacy result files.\n */\n const resolveCaseWaitWithoutCarry = (st: CaseLockState, waitStartedAt: number | undefined): void => {\n const { experimentId, evalId } = st;\n // 这个窗口当初报进 elsewhere 的条数,收尾必须原数报回来(见 CaseLockState.inElsewhere)。\n const inElsewhere = st.inElsewhere;\n st.inElsewhere = 0;\n if (waitStartedAt === undefined) {\n return;\n }\n // 真实挂起窗口收尾:carried + dispatched 恒等于 \"started\" 报进去的 attempts,这条\n // 恒等式是 elsewhere 不挂账的唯一保证(reducer 只按事件携带的数字增减,不自己推)。\n reportLockWait({\n experimentId,\n evalId,\n status: \"resolved\",\n carried: 0,\n dispatched: inElsewhere,\n waitedMs: Date.now() - waitStartedAt,\n });\n };\n /**\n * 撞新鲜锁后的挂起窗口:这一条用例转 `elsewhere`(不占全局并发位、不占实验闸名额),每个\n * 心跳周期重读一次锁文件;锁消失(正常释放)或过期(可接管)即结束等待并重查携带。等待没有\n * 超时——心跳新鲜就一直等,用户中断照常退出。同组兄弟共享同一个窗口。\n */\n const suspendUntilCaseFree = (st: CaseLockState, holder: CaseLockRecord) => Effect.uninterruptibleMask((restore) => Effect.gen(function* () {\n if (st.suspension)\n return st.suspension;\n const startedAt = Date.now();\n // 等待期间本 eval / 本实验的止损闸落下 → 这一轮等待到头(对方可能还要跑很久,没必要陪着)。\n // 窗口照常走完 resolveCaseWaitWithoutCarry 并发出 `lock_wait resolved`:少发一次 resolved,这批 attempt 就\n // 永远挂在 elsewhere 上,五项恒等式当场破。\n const halt = haltAwait(st.group[0]!);\n const stopWaiting = opts.signal === undefined\n ? halt\n : Effect.raceFirst(halt, interruptOnAbort(opts.signal));\n // 窗口打开这一刻本组还没派发的 attempt 全在 queued(本进程没持锁 = 没有一条开跑),\n // 整批迁进 elsewhere;记下条数,收尾的 resolved 原数迁回(见 CaseLockState.inElsewhere)。\n st.inElsewhere = st.pending.size;\n reportLockWait({\n experimentId: st.experimentId,\n evalId: st.evalId,\n status: \"started\",\n holderPid: holder.pid,\n holderHost: holder.host,\n attempts: st.inElsewhere,\n });\n const completion = yield* Deferred.make<void>();\n const window = Deferred.await(completion);\n st.suspension = window;\n const poll = Effect.gen(function* () {\n for (;;) {\n const stopped = yield* Effect.raceFirst(Effect.sleep(CASE_LOCK_HEARTBEAT_INTERVAL_MS).pipe(Effect.as(false)), stopWaiting.pipe(Effect.as(true)));\n if (stopped)\n return;\n const record = yield* readCaseLockEffect(niceevalRoot, st.experimentId, st.evalId).pipe(Effect.catchAll(() => Effect.succeed(undefined)));\n if (record === undefined || isCaseLockExpired(record, Date.now()))\n return;\n }\n }).pipe(Effect.ensuring(Effect.sync(() => resolveCaseWaitWithoutCarry(st, startedAt))));\n // 登记窗口、启动唯一 poller、返回给许可链三步处在同一个 mask 内。poller 本身恢复为可中断,\n // 结算则重新进入 mask:无论用户中断、兄弟 defect 还是 Scope 收尾,所有 follower 都收到原始 Exit,\n // 且 `lock_wait resolved` 与 suspension 清理一定发生。\n const settle = Effect.uninterruptibleMask((restorePoll) => Effect.exit(restorePoll(poll)).pipe(Effect.flatMap((exit) => Deferred.done(completion, exit)), Effect.ensuring(Effect.sync(() => {\n if (st.suspension === window)\n st.suspension = undefined;\n }))));\n yield* Effect.forkScoped(restore(settle));\n return window;\n }));\n /**\n * 派发时刻的一次**非阻塞**试锁。调用直接留在当前 Effect fiber;`onWaitStart` 只用一个局部\n * AbortController 截断 lock.ts 的轮询,把「新鲜锁」转换成 elsewhere,而用户取消仍沿当前\n * fiber 的 interruption Cause 上抛。撞上过期锁属于一次尝试内部的 rename 接管,照常 acquired。\n */\n const tryAcquireCase = (st: CaseLockState) => st.acquireMutex.withPermits(1)(Effect.suspend(() => {\n // 同组兄弟:自己已持有,直接放行。\n if (st.claim)\n return Effect.succeed<CaseLockTry>({ kind: \"acquired\" });\n // 已经有兄弟挂在窗口上:全体等同一个窗口,不重复试锁。\n if (st.suspension)\n return Effect.succeed<CaseLockTry>({ kind: \"busy\", window: st.suspension });\n return Effect.gen(function* () {\n const { experimentId, evalId } = st;\n // 接管诊断要报\"原持有者是谁\",但 acquireCaseLockEffect 只回传 takenOver 布尔值——取锁前先\n // 无副作用地读一眼当前记录(纯尽力而为:极端时序下这份快照可能已经不是真正被接管的\n // 那条记录,但诊断本来就是人读提示,不是判定依据)。\n const priorHolder = yield* readCaseLockEffect(niceevalRoot, experimentId, evalId).pipe(Effect.catchAll(() => Effect.succeed(undefined)));\n const giveUp = new AbortController();\n let busyWith: CaseLockRecord | undefined;\n return yield* Effect.uninterruptibleMask((restore) => restore(acquireCaseLockEffect(niceevalRoot, experimentId, evalId, lockIdentity, {\n signal: giveUp.signal,\n onWaitStart: (holder) => {\n busyWith = holder;\n giveUp.abort(); // 撞上新鲜锁 = 这次尝试到此为止,不进入 acquireCaseLockEffect 自己的轮询\n },\n })).pipe(Effect.matchEffect({\n onFailure: (error) => {\n const holder = busyWith;\n return holder === undefined\n ? Effect.fail(error)\n : suspendUntilCaseFree(st, holder).pipe(Effect.map((window): CaseLockTry => ({ kind: \"busy\", window })));\n },\n onSuccess: ({ claim, takenOver }) => Effect.sync((): CaseLockTry => {\n // acquire 返回到 claim 登记之间保持 masked;否则恰好落在这条缝里的 interruption\n // 会让 heartbeat/held 已启动、CaseLockState 却没有 release 句柄。\n st.claim = claim;\n if (takenOver) {\n const message = t(\"runner.lockTakenOver\", {\n experimentId,\n evalId,\n pid: priorHolder?.pid ?? \"?\",\n host: priorHolder?.host ?? \"?\",\n }).trimEnd();\n reportDiagnostic({\n key: `lock-taken-over:${experimentId}|${evalId}`,\n code: \"lock-taken-over\",\n severity: \"warning\",\n message,\n data: { experimentId, evalId },\n });\n recordExperimentDiagnostic({\n experimentId,\n code: \"lock-taken-over\",\n level: \"warning\",\n message,\n phase: \"eval.run\",\n dedupeKey: `lock-taken-over:${experimentId}|${evalId}`,\n data: { experimentId, evalId },\n });\n }\n // V1 does not convert late legacy rows into carried Members. The frozen writer view is\n // authoritative, so a lock acquired after another Invocation left still dispatches every pending Slot.\n resolveCaseWaitWithoutCarry(st, undefined);\n return { kind: \"acquired\" };\n }),\n })));\n });\n }));\n /** 用例全部 attempt(不论真实派发还是被重查携带命中而跳过)都 settle 后删锁;与\n * ExperimentLifecycle.pendingAttempts 清空触发 teardown 同一种「逐 attempt 身份结算」模式。 */\n const releaseCaseLockIfDone = (st: CaseLockState, attempt: number): Effect.Effect<void> => Effect.sync(() => {\n st.pending.delete(attempt);\n if (st.pending.size > 0)\n return undefined;\n const claim = st.claim;\n st.claim = undefined;\n return claim;\n }).pipe(Effect.flatMap((claim) => claim === undefined ? Effect.void : claim.release.pipe(Effect.ignore)));\n /**\n * 实验闸的取位:声明了 `maxConcurrency` 的实验从**跨 Invocation 共用**的逐槽租约取名额\n * (gate-lease.ts);未声明的实验不走租约、不产生任何跨进程协调。取位在全局位之前——等名额\n * 的 attempt 不占别的实验的并发位。返回 undefined 表示等待期间被中断,这条 attempt 就此放弃。\n */\n /**\n * 撞满实验闸名额时报一条 warning:名额域跨 Invocation,所以「等」的对象是别的进程,用户无从\n * 从本进程的面板推断。生效名额与本次声明分开报——两者不等就是 min-N 夹低了(别的运行声明了\n * 更小的 maxConcurrency),这是「我明明写了 3 却只跑 1 条」的唯一解释,不说清就只能去翻锁目录。\n * 按实验折叠:同一实验的一堆 attempt 会前后脚撞上同一批持有者,不该刷屏。\n */\n const reportGateLeaseWait = (experimentId: string, declaredN: number, holders: readonly GateLeaseRecord[]): void => {\n const effectiveN = holders.reduce((n, h) => Math.min(n, h.declaredN), declaredN);\n const who = [...new Set(holders.map((h) => `pid ${h.pid}@${h.host}`))].join(\", \") || \"another run\";\n reportDiagnostic({\n key: `gate-lease-waiting:${experimentId}`,\n code: \"gate-lease-waiting\",\n severity: \"warning\",\n message: t(\"runner.gateLeaseWaiting\", { experimentId, effectiveN, declaredN, holders: who }).trimEnd(),\n data: { experimentId, effectiveN, declaredN },\n });\n };\n const acquireGateLease = (experimentId: string, maxConcurrency: number): Effect.Effect<GateLeaseEffectClaim, unknown> => Effect.uninterruptibleMask((restore) => restore(acquireGateSlotEffect(niceevalRoot, experimentId, maxConcurrency, lockIdentity, {\n // 撞满名额只发生在「别的 Invocation 正占着这个实验的位子」——本进程自己的并发早被\n // gateLocalSems 挡在这一层之前了。不报的话面板就只剩 `0 running · N queued` 干等,\n // 看不出在等什么、等谁,也看不出生效名额被对方更小的声明夹低了(min-N)。\n onWaitStart: (holders) => reportGateLeaseWait(experimentId, maxConcurrency, holders),\n })).pipe(Effect.map(({ claim, takenOver, takenOverFrom }) => {\n if (takenOver) {\n const message = t(\"runner.gateLeaseTakenOver\", {\n experimentId,\n slot: claim.slot,\n pid: takenOverFrom?.pid ?? \"?\",\n host: takenOverFrom?.host ?? \"?\",\n }).trimEnd();\n const dedupeKey = `gate-lease-taken-over:${experimentId}`;\n reportDiagnostic({ key: dedupeKey, code: \"gate-lease-taken-over\", severity: \"warning\", message, data: { experimentId } });\n recordExperimentDiagnostic({\n experimentId,\n code: \"gate-lease-taken-over\",\n level: \"warning\",\n message,\n phase: \"eval.run\",\n dedupeKey,\n data: { experimentId, slot: claim.slot },\n });\n }\n return claim;\n })));\n /** 派发链一轮的结局:`done` = 这条 attempt 已经了结(跑完 / 被跳过 / 携入 / 中断),\n * `suspend` = 撞上别人持有的用例锁,许可全部归还、挂进 `window` 这个 elsewhere 窗口后重来,\n * `recheck` = 许可获取被止损闸打断,许可全部归还、回到许可链 ① 重新过闸(记账在那里做)。\n * `recheck` 只在闸已经落下时产生,循环顶因此必然收束,不会空转。 */\n type DispatchOutcome = {\n kind: \"done\";\n } | {\n kind: \"suspend\";\n window: Effect.Effect<void>;\n } | {\n kind: \"recheck\";\n };\n /** 全局并发位的显式持有句柄:`withPermits` 的作用域语义没法表达「中途让位、回来再拿」,\n * 而实验级 setup 要求让位(docs/runner.md「调度:有界并发」)。两个成员都\n * 幂等——让位后收尾 finalizer 不会重复归还,回来之后中断也只归还一次。 */\n interface GlobalSlotHold {\n readonly release: Effect.Effect<void>;\n readonly reacquire: Effect.Effect<void>;\n }\n const withGlobalSlot = <E, R>(haltSignal: Effect.Effect<void>, use: (slot: GlobalSlotHold) => Effect.Effect<DispatchOutcome, E, R>): Effect.Effect<DispatchOutcome, E, R> => Effect.uninterruptibleMask((restore) => {\n const state = { held: false };\n const release = Effect.suspend(() => state.held\n ? globalSem.release(1).pipe(Effect.map(() => {\n state.held = false;\n }))\n : Effect.void);\n const reacquire = Effect.suspend(() => state.held\n ? Effect.void\n : globalSem.take(1).pipe(Effect.map(() => {\n state.held = true;\n })));\n // 取位本身可中断(restore):Ctrl+C 不该被「等一个全局位」拖住;拿到之后的执行体同样\n // 可中断,只有归还挂在 ensuring 上,中断路径照样跑。\n //\n // 排队等位期间止损闸落下 → 竞速的 haltSignal 先到,这一轮不进场(交回 recheck,由许可链\n // ① 做未派发记账)。这是「等待集中同闸 attempt 经 interruption 中止」在 Effect 世界的落点;\n // 竞速只覆盖「还在等位」这一段——拿到位子那一刻竞速已结算,之后的执行体不再被抢占。\n // `ensuring(release)` 提到最外层(而不是只挂在拿到位子之后):极端时序下 take 已经成功、\n // 竞速却判 haltSignal 赢,位子照样归还,不泄漏一个全局名额。\n return Effect.raceFirst(restore(reacquire).pipe(Effect.as(true)), restore(haltSignal).pipe(Effect.as(false)))\n .pipe(Effect.flatMap((entered) => entered\n ? restore(use({ release, reacquire }))\n : Effect.succeed<DispatchOutcome>({ kind: \"recheck\" })), Effect.ensuring(release));\n });\n /**\n * 实验闸(② 道许可)的持有作用域:名额与 attempt **同生命周期**——从这里持有到执行体收尾\n * (teardown 链、沙箱销毁)之后才归还,turn 退避等内部等待一律不释放\n * (docs/runner.md「调度:有界并发」)。撞用例锁挂起是唯一的例外:那时执行体以 `suspend`\n * 正常返回,作用域退出、名额归还,挂起结束后重新取——挂起的用例不占名额,否则同实验的\n * 持锁方(可能就在另一条 Invocation 里)会被自己的等待方饿死。\n */\n const withExperimentGate = <E, R>(a: Attempt, use: Effect.Effect<DispatchOutcome, E, R>): Effect.Effect<DispatchOutcome, E | unknown, R> => {\n const { maxConcurrency, experimentId } = a.run;\n const localSem = gateLocalSems.get(a.run);\n if (maxConcurrency === undefined || localSem === undefined)\n return use;\n if (experimentId === undefined)\n return localSem.withPermits(1)(use);\n const leased = Effect.uninterruptibleMask((restore) => Effect.raceFirst(restore(acquireGateLease(experimentId, maxConcurrency)).pipe(Effect.map((claim) => ({ kind: \"acquired\" as const, claim }))), restore(haltAwait(a)).pipe(Effect.as({ kind: \"halted\" as const }))).pipe(Effect.flatMap((lease) => lease.kind === \"halted\"\n ? Effect.succeed<DispatchOutcome>({ kind: \"recheck\" })\n : restore(use).pipe(Effect.ensuring(lease.claim.release.pipe(Effect.ignore))))));\n return localSem.withPermits(1)(leased);\n };\n // earlyExit:为每个 key 各建一个 AbortController。某 attempt 通过或 errored 时 abort 它,\n // 让并发进行中的同 key attempt 通过 signal 尽早退出,而不只是等排队的才能被跳过。\n const evalAbortControllers = new Map<string, AbortController>();\n const recordFatalController = new AbortController();\n for (const a of attempts) {\n if (a.evalDef.evaluationKind === \"pass\" && a.run.earlyExit && !evalAbortControllers.has(a.key)) {\n evalAbortControllers.set(a.key, new AbortController());\n }\n }\n // 有界派发:forEach 的 worker 数就是 maxConcurrency,不先给全部 Slot 建 fiber。\n // worker 内仍按止损闸、实验闸、全局 permit、用例锁的顺序取得资源;退避可以占住\n // 这个有界 worker,避免为了补位再造一层无界 scheduler。\n // runAttemptEffect 只把「执行错误」收进 EvalResult.error(不 fail),\n // 但中断(Ctrl+C / kill)照常向上传播 —— 所以一条挂掉不会中断其它 attempt,而中断能停掉全部。\n //\n // signal:把 opts.signal 喂给 run → abort 触发根 fiber 中断 → forEach 中断所有子 fiber\n // → 每个 attempt 的 Sample 跑 release(sb.stop)→ 容器全部停掉(治孤儿)。Effect 保证\n // 所有 finalizer 跑完后才结算,所以下面 summarize 时容器已清理干净。\n //\n // 外部 AbortSignal 以一个 Effect interrupt race 接入本 Scope。中断仍返回 Exit,\n // 于是可以保留部分汇总;非中断缺陷照常向上交给 application edge。\n let interrupted = false;\n const dispatchEffect = Effect.forEach(attempts, (a) => {\n const budgetKey = a.run.experimentId ?? a.run.agent.name;\n const caseState = caseStateOf(a);\n // preflight:「要不要开始跑」的许可判断(首过即停 + budget 上限检查)。两类判断都是\n // 即时返回、不做任何等待,所以放在授位之后没有「占着全局并发槽位干等」的问题;放在\n // 派发时刻(而不是排队时刻)判,读到的是这一刻最新的通过集与已花费。\n const preflight = Effect.gen(function* () {\n // 首过即停:只由 passed 触发(errored 不中止其余样本,见 docs/feature/experiments/\n // architecture.md「调度接口」)。\n if (a.evalDef.evaluationKind === \"pass\" && a.run.earlyExit && passedKeys.has(a.key)) {\n cancelReuseAttempt(a);\n recordCoordinator.markNotDispatched(a);\n yield* reportMutex.withPermits(1)(emitReporterEvent(reporters, {\n type: \"invocation:earlyExit\",\n evalId: a.evalDef.id,\n experimentId: a.run.experimentId,\n }));\n reportAttemptLifecycle({\n type: \"attempt:early-exit\",\n at: Date.now(),\n identity: feedbackIdentity(a),\n who: feedbackWho(a),\n });\n return false;\n }\n // run 级 fail-fast:确定性错误(同一 code 在同一 key 连续复现)已识别 → 停止派发,\n // 未派发计入 unstarted(结论落 incomplete,不伪装成全绿;与首过即停互不混用)。\n const failFast = failFastKeys.get(a.key);\n if (failFast !== undefined) {\n cancelReuseAttempt(a);\n recordCoordinator.markNotDispatched(a);\n failFast.skipped += 1;\n reportAttemptLifecycle({\n type: \"attempt:early-exit\",\n at: Date.now(),\n identity: feedbackIdentity(a),\n who: feedbackWho(a),\n });\n reportDiagnostic({\n key: `fail-fast:${a.key}`,\n code: \"fail-fast\",\n severity: \"warning\",\n message: t(\"runner.failFast\", { evalId: a.evalDef.id, code: failFast.code }).trimEnd(),\n identity: feedbackIdentity(a),\n data: { evalId: a.evalDef.id, code: failFast.code, ...(a.run.experimentId ? { experimentId: a.run.experimentId } : {}) },\n });\n return false;\n }\n const budget = a.run.budget;\n if (budget !== undefined) {\n // 只看已完成 attempt 的实测花费(见上方 BudgetState 注释),到顶就跳过新 attempt,\n // 没到顶就立即放行——不等待、不做预测性节流。\n const s = budgetState(budgetKey);\n if (s.spent >= budget) {\n cancelReuseAttempt(a);\n recordCoordinator.markNotDispatched(a);\n if (!budgetReported.has(budgetKey)) {\n budgetReported.add(budgetKey);\n yield* reportMutex.withPermits(1)(emitReporterEvent(reporters, { type: \"invocation:budgetExceeded\", budget, spent: s.spent }));\n }\n // 反馈层:对每一个因预算到顶而不派发的 attempt 各发一次(与上面的\n // attempt:early-exit 同构),让 RunFeedbackState 的 queued/completed 计数与\n // cli.ts 的 assembleRunCompletion() 都能感知到「有 attempt 因预算未派发」——\n // 上面 emitReporterEvent 的 invocation:budgetExceeded 只对旧版 Reporter 接口每\n // budgetKey 报一次,不满足反馈层「每个未派发 attempt 各一条」的计数契约,两者\n // 独立并存。只在挂靠 experiment 时报(budget-exhausted 事件要求真实\n // experimentId;裸 run 不产出这类永久事件,与 locator 的省略规则一致)。\n if (a.run.experimentId) {\n s.unstartedCount += 1;\n reportBudgetExhausted({\n experimentId: a.run.experimentId,\n spent: s.spent,\n unstarted: s.unstartedCount,\n });\n }\n return false;\n }\n }\n return true;\n });\n // body:许可链全部通过之后才跑,真正的执行段。\n const body = (_slot: GlobalSlotHold) => Effect.gen(function* () {\n // 合并全局信号与本 eval 的首过即停信号:任一 abort → 本 attempt 的信号 abort。\n const evalAc = evalAbortControllers.get(a.key);\n const attemptSignal = AbortSignal.any([\n recordFatalController.signal,\n ...(evalAc === undefined ? [] : [evalAc.signal]),\n ...(opts.signal === undefined ? [] : [opts.signal]),\n ]);\n // BuildKey / CaseKey 已在 Attempt.plan 的 physical completion state 中确定;\n // 这里只把协调器执行结果作为必填运行输入传给 materializer,不回写 Attempt。\n const buildLocators = buildLocatorsByPair.get(cacheKey(a.run, a.evalDef.id)) ?? new Map<BuildKey, JsonValue>();\n // 派发前的确定性失败(实验级 setup 失败 / 判分预检失败):不派发 agent、不建沙箱。\n // 这类 Slot 没有 origin Attempt,因而会使 V1 draft 保持 incomplete;不能为它\n // 伪造一个没有 sealed Assertions 的 Member。\n const expLc = expLifecycles.get(a.run);\n const setupFailure = expLc === undefined\n ? Option.none<AttemptError>()\n : (() => {\n const state = expLc.state;\n const outcome = state._tag === \"Active\" || state._tag === \"TearingDown\"\n ? setupOutcomeOf(state.setup)\n : state._tag === \"TornDown\"\n ? state.setup\n : undefined;\n if (outcome === undefined) {\n throw new Error(`Experiment setup has no outcome in lifecycle state ${state._tag}.`);\n }\n return outcome._tag === \"Failed\" ? Option.some(outcome.error) : Option.none<AttemptError>();\n })();\n const precheckFailure = judgePrecheckFailures.get(cacheKey(a.run, a.evalDef.id));\n const buildFailure = buildFailureByPair.get(cacheKey(a.run, a.evalDef.id));\n let blockedError: AttemptError | undefined = recordFatalController.signal.aborted\n ? {\n code: \"record-invocation-fatal\",\n message: \"A prior Record Attempt reservation failed; no further Attempt may start.\",\n origin: attemptOrigin(\"sandbox.queue\"),\n }\n : Option.isSome(setupFailure)\n ? setupFailure.value\n : precheckFailure !== undefined\n ? { code: \"judge-precheck-failed\", message: precheckFailure, origin: attemptOrigin(\"judge.precheck\") }\n : buildFailure !== undefined\n ? buildFailure\n : undefined;\n if (blockedError !== undefined)\n cancelReuseAttempt(a, true);\n // A scheduler-admitted Attempt owns a durable identity before any\n // attempt-owned sandbox, Agent, or Eval work begins. Reservation\n // failure is invocation-fatal at the Record publish gate.\n const initialPhase: LifecyclePhase = a.run.agent.kind === \"sandbox\" ? \"sandbox.queue\" : \"eval.run\";\n const reservationAttempted = blockedError === undefined;\n let reservedRecordAttempt: RunnerRecordAttempt | undefined;\n if (reservationAttempted) {\n const reservation = yield* Effect.either(recordCoordinator.reserveAttempt(a));\n if (Either.isLeft(reservation)) {\n recordFatalController.abort();\n blockedError = {\n ...errorFromThrown(reservation.left, initialPhase),\n code: \"record-attempt-reservation-failed\",\n };\n cancelReuseAttempt(a, true);\n }\n else {\n reservedRecordAttempt = reservation.right;\n a.locator = reservation.right.locator;\n }\n }\n yield* reportMutex.withPermits(1)(emitReporterEvent(reporters, {\n type: \"eval:start\",\n eval: { id: a.evalDef.id },\n agent: a.run.agent,\n model: a.run.model,\n attempt: a.attempt,\n experimentId: a.run.experimentId,\n }));\n // attempt:start 是这个 attempt 从 queued 移进 running 的唯一时刻(见\n // src/runner/feedback/reducer.ts 的 attempt:start 分支),必须与 eval:start 同一\n // 调用点、恰好发生一次 —— 否则 RunFeedbackState 的守恒计数会被破坏。phase 只是粗粒度\n // 占位(sandbox 型 attempt 恒为 sandbox.queue,一定正确;非 sandbox 型给\n // eval.run,attempt.ts 内部一旦跑到第一个真实边界会用 attempt:phase 立即纠正,见\n // attempt.ts 的 enterPhase)——attempt.ts 自己不再发 attempt:start,只发\n // attempt:phase,避免两处各发一次导致计数翻倍。\n reportAttemptLifecycle({\n type: \"attempt:start\",\n at: Date.now(),\n identity: feedbackIdentity(a),\n who: feedbackWho(a),\n phase: initialPhase,\n });\n const poolSelection: ReusePoolSelection = blockedError === undefined\n ? yield* reusePoolFor(a)\n : { _tag: \"Fresh\" };\n // 复用池的租借失败(实例创建、SandboxLayer setup 钩子、寿命确认都在池内)是**这条\n // attempt 的终局失败**,不是调度缺陷:失败原样交回这里,先读空间轴回执(作者在\n // setup 钩子里抛的 ExperimentFatalError 由此落闸),再折成 errored 结果走与\n // blockedError 完全相同的下游路径。\n // 拒绝必须经过具名 Effect 边界:否则会变成 defect 打断 forEach,连坐同批其它实验,\n // 且混进兄弟 fiber 的 interrupt 后被当成用户中断吞掉正文(见\n // docs/feature/error-classification/architecture.md「Effect 边界」:attempt fiber 的\n // E 恒为 never;memory/experiment-fatal-presented-as-user-interrupt.md)。\n const completed = yield* Effect.scoped(Effect.gen(function* () {\n const leased = poolSelection._tag === \"Reuse\"\n ? Either.match(yield* Effect.either(poolSelection.pool.acquire(resolveAttemptTimeout(a.run, a.evalDef, opts.config)?.timeoutMs, buildLocators)), {\n onLeft: (error) => ({ _tag: \"Failed\" as const, error }),\n onRight: (lease) => {\n acquiredReuseAttempts.add(a);\n return { _tag: \"Acquired\" as const, lease };\n },\n })\n : { _tag: \"NotRequested\" as const };\n const lease = leased._tag === \"Acquired\" ? leased.lease : undefined;\n // 租借失败归 `sandbox.create` 阶段:池把「创建实例 + 跑 SandboxLayer setup + 确认寿命」\n // 打包成一次借出,调度器这一侧只知道这条 attempt 没能拿到可用实例。\n const leaseError: AttemptError | undefined = leased._tag === \"Failed\" ? errorFromThrown(leased.error, \"sandbox.create\") : undefined;\n if (leased._tag === \"Failed\") {\n cancelReuseAttempt(a, true);\n const declaration = attemptFailureDeclaration(a.run.classifyFailure, \"sandbox.create\", leased.error);\n if (declaration)\n closeHaltGate(a, declaration);\n // This Attempt did start its physical acquisition and is therefore recorded below\n // as an errored result. The Group policy only decides what a later slot may do.\n recordEvalGroupPhysicalFailure(a, \"sandbox.create\", leased.error);\n }\n const failedBeforeDispatch = blockedError ?? leaseError;\n const recordedAttempt = a;\n const evaluated = failedBeforeDispatch\n ? ({\n id: a.evalDef.id,\n description: a.evalDef.description,\n experimentId: a.run.experimentId,\n experiment: experimentRunInfo(a.run, a.plan, a.sandboxPlansByEval, opts.config, a.judge),\n agent: a.run.agent.name,\n model: a.run.model,\n verdict: \"errored\",\n fingerprint: a.fingerprint,\n evaluationAlgorithm: EVALUATION_ALGORITHM,\n attempt: a.attempt,\n startedAt: new Date().toISOString(),\n durationMs: 0,\n factResults: [],\n factUses: [],\n evaluationKind: a.evalDef.evaluationKind,\n ...(a.evalDef.evaluationKind === \"score\"\n ? { scoreResult: scoreFactOutcomeForAttemptError(failedBeforeDispatch) }\n : {}),\n evidenceCoverage: a.run.agent.evidenceCoverage,\n error: failedBeforeDispatch,\n } satisfies EvalResult)\n : yield* runAttemptEffect(recordedAttempt, attemptOptions, sandboxSem, {\n buildLocators,\n runTiming,\n parentSignal: attemptSignal,\n invocationSignal: opts.signal,\n ...(lease\n ? {\n reusedSandbox: {\n sandbox: lease.sandbox,\n reuseSandbox: lease.reuseSandbox,\n reuseOrdinal: lease.reuseOrdinal,\n },\n }\n : {}),\n // 止损闸的消费点:attempt 封口读终局失败的空间轴。scope 经这条**封口回执**\n // 到达调度器,不走错误通道向上传播——attempt fiber 的 E 保持 never,`errored`\n // 仍是 eval runner 的合法结果而不是调度失败(architecture.md「Effect 边界」)。\n onFailureClass: (declaration) => closeHaltGate(a, declaration),\n onSealedEvaluation: (sealed) => recordCoordinator.noteSealedOrMarkIncomplete(recordedAttempt, sealed),\n });\n if (lease) {\n // Attempt 的 Eval/Agent 收尾已在 runAttemptEffect 内完成;reset 失败会淘汰实例,\n // 本条结果如实保留,后续派发创建替代实例。\n // Only the typed plugin resource prepare code carries physical-resource\n // unavailability. An author SandboxLayer prepare command can also fail at\n // `sandbox.prepare`, but it must not retire a pool or trip this Group gate.\n if (evaluated.error?.code === \"plugin-resource-prepare-failed\") {\n recordEvalGroupPhysicalFailure(a, \"sandbox.prepare\", new Error(evaluated.error.message));\n }\n const mustRetire = reuseResultRequiresRetirement(evaluated);\n yield* lease.commit(mustRetire ? { _tag: \"Retire\" } : { _tag: \"Reset\" });\n }\n return Object.freeze({\n result: evaluated,\n executed: failedBeforeDispatch === undefined,\n });\n }));\n // Reset/finalizer failures belong to the physical Group instance and\n // only affect later slots; they never rewrite the sealed Attempt.\n if (poolSelection._tag === \"Reuse\") {\n for (const failure of poolSelection.pool.drainRuntimeFailures()) {\n recordEvalGroupPhysicalFailure(a, failure.stage, failure.error);\n }\n }\n const { result, executed } = completed;\n // A never-started blocked Slot has no origin Attempt. A reserved\n // but unsealed failure keeps its ID in the incomplete draft.\n let locator: string | undefined;\n if (reservedRecordAttempt !== undefined) {\n locator = reservedRecordAttempt.locator;\n result.locator = locator;\n if (executed) {\n const recordAttempt = yield* recordCoordinator.completeAttemptOrMarkIncomplete(a, result);\n if (recordAttempt !== undefined) {\n locator = recordAttempt.locator;\n result.locator = locator;\n }\n }\n }\n else if (!reservationAttempted) {\n recordCoordinator.markNotDispatched(a);\n }\n // attempt:complete 与上面的 attempt:start 严格一一配对(同一个 body Effect,唯一\n // 出口),覆盖每一个真正跑过 runAttemptEffect 的 attempt(包括之后被下面的并发去重\n // 分支丢弃、不计入 results 的那些)——reducer 的 attempt:complete 无条件\n // running-1/completed+1,少配对一次就会让 running 计数漂移。\n reportAttemptLifecycle({\n type: \"attempt:complete\",\n at: Date.now(),\n identity: feedbackIdentity(a),\n who: feedbackWho(a),\n verdict: result.verdict,\n tokenCount: result.usage\n ? (result.usage.inputTokens ?? 0) + (result.usage.outputTokens ?? 0)\n : undefined,\n estimatedCostUSD: result.estimatedCostUSD,\n });\n if (a.run.budget !== undefined) {\n const s = budgetState(budgetKey);\n if (result.estimatedCostUSD !== undefined) {\n s.spent += result.estimatedCostUSD;\n }\n else if (result.phases?.some((phase) => phase.children?.some((child) => child.key === \"agent.turn\"))) {\n s.completedAgentRunsNoCost += 1;\n if (s.spent === 0 && s.completedAgentRunsNoCost >= 3 && !s.unenforceableWarned) {\n // 连续几次真正跑过 agent 的 attempt 都拿不到成本:budget 对这个 agent\n // 不可执行,说清楚一次。sandbox.create/setup 等前置失败没有 turn,跳过这里:\n // 此时应由 attempt error 回答根因,不能再用计费 warning 抢走注意力。\n // s.unenforceableWarned 已经是 per-budgetKey 的一次性闸门;稳定 key 上的\n // reportDiagnostic 去重是双保险,不依赖它单独生效。\n s.unenforceableWarned = true;\n {\n const message = t(\"runner.budgetUnenforceable\", { budgetKey }).trimEnd();\n reportDiagnostic({ key: `budget-unenforceable:${budgetKey}`, code: \"budget-unenforceable\", severity: \"warning\", message, data: { budgetKey } });\n recordExperimentDiagnostic({\n experimentId: a.run.experimentId,\n code: \"budget-unenforceable\",\n level: \"warning\",\n message,\n phase: \"eval.run\",\n data: { budgetKey },\n });\n }\n }\n }\n }\n if (a.evalDef.evaluationKind === \"pass\" && result.verdict === \"passed\") {\n passedKeys.add(a.key);\n lastErrorCode.delete(a.key);\n evalAc?.abort(); // 让同 key 并发 attempt 尽早退出\n }\n else if (a.evalDef.evaluationKind === \"pass\" && a.run.earlyExit && passedKeys.has(a.key)) {\n // 并发情况:同 key 另一个 attempt 已通过后本 attempt 才完成(被 abort 后产出\n // errored),不计入结果。\n return;\n }\n else if (result.verdict === \"errored\" && !blockedError) {\n // errored 不中止其余样本(基建可能自愈);只有同一错误 code 连续复现才判定为\n // 确定性错误,进 run 级 fail-fast 停止派发(不 abort 已在飞的 attempt)。\n // 派发前确定性失败(实验级 setup 失败、判分预检失败)的合成结果不进 fail-fast:\n // 它不派发 agent、零成本,契约是受影响的「所有」attempt 逐条记 errored 进报告,\n // 不该被止损机制截短。\n const code = result.error?.code ?? \"unexpected-error\";\n const prev = lastErrorCode.get(a.key);\n const streak = prev?.code === code ? prev.streak + 1 : 1;\n lastErrorCode.set(a.key, { code, streak });\n if (streak >= 2 && !failFastKeys.has(a.key)) {\n failFastKeys.set(a.key, { code, skipped: 0 });\n }\n }\n else {\n lastErrorCode.delete(a.key);\n }\n results.push(result);\n // 反馈层的永久失败通知(见 sink.ts 的 FailureInput / docs/feature/experiments/\n // cli.md「什么动态更新,什么逐条追加」表的「failed / errored + locator」行)——\n // 只在拿到 locator 时报(裸 run 没有 locator,不产出这类事件,与上面 result.locator\n // 的省略规则一致),且只报真正计入 results 的 attempt(上面的并发去重分支已经\n // return 掉、不会走到这里,不会为一条被丢弃的重复 attempt 误报失败)。\n if (locator) {\n const failure = failureDetailFromResult(result);\n if (failure)\n reportFailure(failure);\n }\n yield* reportMutex.withPermits(1)(\n // 每个 reporter 单独兜错:一个写文件失败 / 自定义 reporter 抛错只记 diagnostic,\n // 不让一个回调中断其它回调或后续 attempt。\n Effect.forEach(reporters, (reg) => runReporter(reg, \"onEvalComplete\", () => reg.reporter.onEvalComplete?.(result)), { concurrency: \"unbounded\", discard: true }));\n // 和上面的 onEvalComplete 同一把 reportMutex:两条回调路径都要串行化,否则并发\n // attempt 各自触发的 eval:complete 会绕开 permit=1 直接并发跑,和文档承诺的\n // 「报告回调串行化」不一致。\n yield* reportMutex.withPermits(1)(emitReporterEvent(reporters, { type: \"eval:complete\", result }));\n });\n // ③ 全局并发位 → ④ 派发时刻试锁 → preflight → 实验级 setup → body。\n // 独占串行 provider(如 local):同一 provider 名的所有 attempt 共享一把 permit=1 的锁,\n // 包在全局位之外(见上面 exclusiveSemFor 的注释)。\n const exclusiveSem = exclusiveSemFor(a.plan);\n const arriveAtDispatchWave = dispatchWaveArrive.get(a)!;\n const dispatch = withGlobalSlot(haltAwait(a), (slot) => Effect.gen(function* () {\n arriveAtDispatchWave();\n // 拿到位子的这一刻再问一次闸:排在独占 provider 锁 / 实验闸本地信号量上的那段等待\n // 不在上面的竞速覆盖范围里(竞速只包全局位),闸可能正是在那段时间落下的。\n if (checkDispatchHalt(a).halted)\n return { kind: \"recheck\" } as const;\n // 派发时刻取锁:授位之后才试,非阻塞。撞上别人持有的新鲜锁就把这个位子连同实验闸\n // 名额一起还回去(返回 \"suspend\"),由外层转入 elsewhere 挂起;位子当场空出来,\n // 排队中的下一条没被锁的用例接手。\n if (caseState) {\n const outcome = yield* tryAcquireCase(caseState);\n if (outcome.kind === \"busy\")\n return { kind: \"suspend\", window: outcome.window } as const;\n }\n const proceed = yield* preflight;\n if (!proceed)\n return { kind: \"done\" } as const;\n authorizedReuseAttempts.add(a);\n if (a.run.setup || a.run.teardown) {\n // 实验级 setup:第一个通过派发许可的 attempt 真正执行,其余等同一个 memoized\n // Effect completion(作者 setup 失败收进 lc.setupFailed,由 body 合成 errored 结果)。\n // 等它的时候让出全局并发位(docs/runner.md「调度:有界并发」——内部等待一律让位,\n // 慢启动的 setup 不许饿死同批其它实验),回来再重新拿位。实验闸名额不让。\n yield* slot.release;\n yield* ensureExperimentSetup(a);\n yield* slot.reacquire;\n }\n yield* body(slot);\n return { kind: \"done\" } as const;\n }));\n const guarded = exclusiveSem ? exclusiveSem.withPermits(1)(dispatch) : dispatch;\n // 许可链的循环外壳:撞锁挂起的用例解决后从 ① 重新走一遍(实验闸名额与全局位都要\n // 重新取,不能拿着别人在等的名额干等)。\n const pipeline = Effect.gen(function* () {\n // Group predecessor has settled before this pipeline begins. A physical failure in\n // that predecessor therefore gates this still-queued slot before build, a provider\n // acquire, resource materialization, or a global dispatch permit.\n const unavailable = evalGroupUnavailableGateOf(a);\n if (unavailable?.stopped) {\n accountEvalGroupUnavailable(a, unavailable);\n return;\n }\n // ⓪ 逐 BuildKey 放行:只等本 eval 引用的那几个 key,不引用任何 key 的 attempt\n // 立刻进入许可链。等在这里不占全局并发位,慢构建因此不挡住同批别的 eval。\n const pairKey = cacheKey(a.run, a.evalDef.id);\n yield* Effect.tryPromise({\n try: () => awaitBuildsFor(pairKey),\n catch: (error) => error,\n });\n for (;;) {\n // ① 止损闸:落闸 → 本 attempt 不派发,计 unstarted(完成状态因此落 incomplete)。\n const halt = checkDispatchHalt(a);\n if (halt.halted) {\n cancelReuseAttempt(a);\n accountDispatchHalted(a, halt.gate);\n return;\n }\n // ② 实验闸 → ③ 全局位 → ④ 用例锁 → preflight → body\n const outcome = yield* withExperimentGate(a, guarded);\n if (outcome.kind === \"done\")\n return;\n // 许可获取被落下的闸打断:许可已随作用域归还,回到 ① 让上面的检查点记账。\n if (outcome.kind === \"recheck\")\n continue;\n // ② ③ 已随作用域归还。挂起等锁:不占并发位、计入 elsewhere;锁释放或过期后\n // 按原优先级回到派发队列(下一轮循环)。\n yield* outcome.window;\n }\n });\n const waveReady = dispatchWaveReady.get(a) ?? Promise.resolve();\n const wavePipeline = Effect.promise(() => waveReady).pipe(Effect.flatMap(() => pipeline));\n const predecessor = groupedPredecessors.get(a);\n const orderedPipeline = predecessor === undefined\n ? wavePipeline\n : Effect.promise(() => predecessor).pipe(Effect.flatMap(() => wavePipeline));\n // 实验级 teardown 结算:每个 attempt 收尾(含被 preflight 跳过、被中断的、被用例锁\n // 被 preflight 跳过、被中断的)都从身份集合移除;最后一个触发 ExperimentDef.teardown。ensuring\n // 在中断路径同样执行,重复 finalizer 也不会让状态下溢。\n const withExpLifecycle = !a.run.setup && !a.run.teardown\n ? orderedPipeline\n : orderedPipeline.pipe(Effect.ensuring(settleExperimentAttempt(a).pipe(Effect.orDie)));\n // 用例锁释放:这个 key 的全部 attempt(真实派发的与被 late-carry 跳过的)都 settle 后\n // 删锁,与上面的实验级 teardown 计数同一种「逐 attempt 收尾时递减,归零触发」模式,\n // 挂在最外层确保晚于实验级 teardown 计数结算(docs「用例全部 attempt 收尾(含沙箱销毁)\n // 后删除自己的锁」)。\n const withCaseLifecycle = !caseState\n ? withExpLifecycle\n : withExpLifecycle.pipe(Effect.ensuring(releaseCaseLockIfDone(caseState, a.attempt)));\n const withWaveLifecycle = withCaseLifecycle.pipe(Effect.ensuring(Effect.sync(arriveAtDispatchWave)));\n if (predecessor === undefined)\n return withWaveLifecycle;\n const releaseSuccessor = groupedReleases.get(a)!;\n return withWaveLifecycle.pipe(Effect.ensuring(Effect.sync(releaseSuccessor)));\n }, { concurrency: opts.maxConcurrency, discard: true }).pipe(\n // 中断(用户 Ctrl+C):finalizer 已在中断过程中跑完(容器已停),这里只是把它咽下,\n // 好让流程走到 summarize / onInvocationComplete,用已完成的 results 出一份部分汇总,而不是抛栈。\n // 判据是 `isInterruptedOnly` 而不是 `isInterrupted`:一条 fiber 的缺陷会连带中断兄弟 fiber,\n // 合成的 cause 里同时有 die 与 interrupt,`isInterrupted` 对它同样为真——按它咽下等于把\n // 真·缺陷的正文吞掉、冒充成用户中断(退出码 130),正是\n // memory/experiment-fatal-presented-as-user-interrupt.md 的现象。\n Effect.catchAllCause((cause) => {\n if (Cause.isInterruptedOnly(cause)) {\n interrupted = true;\n return Effect.void;\n }\n return Effect.failCause(cause); // 非中断的意外缺陷:照常抛出\n }));\n const exit = yield* Effect.exit(opts.signal === undefined\n ? dispatchEffect\n : Effect.raceFirst(dispatchEffect, interruptOnAbort(opts.signal)));\n // provenance 在这里齐全:没有任何 attempt 依赖的 key 也照样跑完并留下自己那条记录,\n // 中断路径下同批构建随 signal 收束成 cancelled,不把 run.json 的 sandboxBuilds 落空。\n if (runningBuilds !== undefined) {\n const completedBuilds = yield* Effect.tryPromise({\n try: () => runningBuilds.done,\n catch: (error) => error,\n });\n sandboxBuildRecords = [...completedBuilds.records];\n }\n // 复用污染线索:按实例 × 承接序号聚合本次 Run 真实跑出的结果(携带条目不参与——复用实验\n // 不消费也不产出结果沿用)。只指路,不改判定(见 reuse-diagnostics.ts)。\n for (const notice of detectReuseContamination(results)) {\n reportDiagnostic({\n key: `sandbox-reuse-contamination:${notice.experimentId ?? \"\"}:${notice.reuseSandbox}:${notice.phase}`,\n code: \"sandbox-reuse-contamination\",\n severity: \"warning\",\n message: reuseContaminationMessage(notice),\n data: {\n ...(notice.experimentId !== undefined ? { experimentId: notice.experimentId } : {}),\n reuseSandbox: notice.reuseSandbox,\n phase: notice.phase,\n fromOrdinal: notice.fromOrdinal,\n toOrdinal: notice.toOrdinal,\n count: notice.count,\n },\n });\n }\n // 实验级 teardown 兜底扫尾:正常路径由 per-attempt ensuring 的身份集合归零触发(见上),但一次\n // 真实批跑观察到过结算路径未触发的间歇现象(根因未定位,排查记录见 memory 的\n // experiment-teardown-missed-once-in-batch)。走到这里时 forEach 的全部 fiber 连同 finalizer\n // 都已结算,任何仍停在 Active 的实验都意味着泄漏;在此强制收尾并报警示诊断——\n // 扫尾幂等(cleanup 消费一次性),宁可多一道兜底,不把宿主机资源(隧道/容器)留给用户手拆。\n // 真·缺陷抛出前同样要扫(finalizer 语义,见 docs/feature/experiments/architecture.md\n // 「实验级生命周期」);cli 的 main().catch() 只兜沙箱,不知道实验级 cleanup 的存在。\n const sweepExperimentTeardowns = (): Effect.Effect<void, unknown> => Effect.forEach([...expLifecycles], ([run, cell]) => cell.mutex.withPermits(1)(Effect.sync(() => {\n const state = cell.state;\n // 未触发、已完成均无事可扫;在飞的 teardown 仍须 await 同一个 completion。\n if (state._tag === \"Dormant\" || state._tag === \"UntriggeredComplete\" || state._tag === \"TornDown\") {\n return { _tag: \"None\" } as const;\n }\n if (state._tag === \"Active\" && run.teardown) {\n return { _tag: \"Late\", remaining: state.pendingAttempts.size } as const;\n }\n return { _tag: \"Await\" } as const;\n })).pipe(Effect.flatMap((action) => {\n if (action._tag === \"None\")\n return Effect.void;\n if (action._tag === \"Late\") {\n const experimentId = run.experimentId ?? run.agent.name;\n const message = t(\"runner.experimentTeardownLate\", { experimentId }).trimEnd();\n return Effect.sync(() => {\n reportDiagnostic({\n key: `experiment-teardown-late:${experimentId}`,\n code: \"experiment-teardown-late\",\n severity: \"warning\",\n message,\n data: { experimentId, remaining: action.remaining },\n });\n recordExperimentDiagnostic({\n experimentId: run.experimentId,\n code: \"experiment-teardown-late\",\n level: \"warning\",\n message,\n phase: \"experiment.teardown\",\n data: { remaining: action.remaining },\n });\n }).pipe(Effect.zipRight(runExperimentTeardown(run, cell)));\n }\n return runExperimentTeardown(run, cell);\n })), { concurrency: 1, discard: true });\n if (Exit.isFailure(exit)) {\n // Only a pure interruption becomes a partial interrupted Invocation. The\n // AbortSignal may have fired concurrently with a real failure/defect, but\n // must never relabel that Cause as a user interrupt or hide it behind 130.\n if (Cause.isInterruptedOnly(exit.cause)) {\n interrupted = true;\n }\n else {\n return yield* Effect.failCause(exit.cause).pipe(Effect.ensuring(sweepExperimentTeardowns().pipe(Effect.orDie)));\n }\n }\n if (interrupted)\n reportInterrupted();\n yield* sweepExperimentTeardowns();\n // Record publication is the intentionally narrow interruption mask. By this\n // point dispatch has stopped and its Scope/finalizers plus experiment\n // teardown have settled; only the durable interrupted state, publish marker,\n // and receipt remain. `uninterruptibleMask` preserves typed failures and\n // defects from the writer, while preventing a pending cancellation from\n // splitting that atomic hand-off after some Runs have become readable.\n const receipt = yield* Effect.uninterruptibleMask(() => Effect.gen(function* () {\n // Missing Members remain missing, while membership-provenance records why\n // each pending gap was interrupted. This never manufactures an Attempt\n // for budget/early-exit/unstarted Slots.\n if (interrupted)\n recordCoordinator.markInterrupted();\n // These diagnostics are already settled and keyed by exact Experiment /\n // AgentRun identity. Bind them only at the final Runner → Record\n // boundary; the invocation-wide Run timing tree deliberately remains\n // unbound because it cannot be safely attributed to individual Runs.\n for (const run of opts.agentRuns) {\n bindRunnerRunObservabilityDiagnosticsV1({\n run,\n diagnostics: experimentDiagnostics.get(run.experimentId) ?? [],\n });\n }\n const receiptCompletedAtMs = Date.now();\n const publishedRuns = yield* recordCoordinator.publish(receiptCompletedAtMs);\n return Object.freeze({\n invocationId: recordCoordinator.reusePlan.target.invocationId,\n runIds: Object.freeze(publishedRuns.map(({ runId }) => String(runId))),\n startedAt,\n completedAt: new Date(receiptCompletedAtMs).toISOString(),\n completion: interrupted ? \"interrupted\" : \"completed\",\n } satisfies InvocationReceipt);\n }));\n // Experiment 收尾协议(docs/runner.md):每个真正出现在这次 Invocation 里的 experimentId\n // 各发一次 experiment:complete,携带它自己的 completedAt(真实 teardown 完成时刻,没有\n // teardown 或未触发时退回当前时刻)与实验域诊断累积器里attribute 给它的记录。全部\n // Experiment 此刻都已经收尾(sweepExperimentTeardowns 已经等过),严格早于下面的\n // invocation:summary——Record 已在上面封口;这个事件只给非持久化的 reporter 消费。\n const invocationExperimentIds = new Set(effectiveAgentRuns.map((r) => r.experimentId).filter((id): id is string => id !== undefined));\n const runTimings = runTiming.finalize();\n for (const experimentId of invocationExperimentIds) {\n yield* emitReporterEvent(reporters, {\n type: \"experiment:complete\",\n experimentId,\n completedAt: experimentCompletedAt.get(experimentId) ?? new Date().toISOString(),\n // Only exact current Record readbacks appear in the invocation snapshot.\n reusedAttempts: reusedAttempts.filter((attempt) => attempt.target.experimentId === experimentId),\n diagnostics: experimentDiagnostics.get(experimentId) ?? [],\n ...(experimentFacts.has(experimentId) ? { facts: experimentFacts.get(experimentId) } : {}),\n // Run 级共享构建时间与 provenance:属于产出它们的 Run;携带条目不继承。\n ...(runTimings !== undefined ? { timings: runTimings } : {}),\n ...(sandboxBuildRecords.length > 0 ? { sandboxBuilds: sandboxBuildRecords } : {}),\n name: opts.config.name,\n });\n }\n // Stable fresh-result ordering is separate from Record readbacks, which retain\n // the planner's target order and are never coerced into EvalResult.\n const order = new Map(opts.evals.map((e, i) => [e.id, i]));\n results.sort((a, b) => (order.get(a.id) ?? 0) - (order.get(b.id) ?? 0) ||\n a.agent.localeCompare(b.agent) ||\n a.attempt - b.attempt);\n const summary = summarize(results, reusedAttempts, startedAt, Date.now() - t0, opts.config.name);\n yield* emitReporterEvent(reporters, { type: \"invocation:summary\", summary });\n for (const reg of reporters) {\n // required reporter(显式 --junit)在这一步失败,不能中断其它\n // reporter 的收尾——继续跑完剩下的循环,让每个 reporter 都拿到 onInvocationComplete 的机会;\n // 失败本身经 runReporter → reportReporterError 折成诊断,由调用方(cli.ts)读取\n // RunFeedbackState 组装成 InvocationCompletion,让最终 completion/退出码判红(见\n // docs/feature/experiments/cli.md「运行完成状态不只看 verdict 计数」)。\n yield* runReporter(reg, \"onInvocationComplete\", () => reg.reporter.onInvocationComplete?.(summary));\n }\n return receipt;\n }));\n}\n"]}