niceeval 0.13.2-canary.35 → 0.13.2

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 (485) hide show
  1. package/INDEX.md +24 -2
  2. package/dist/agents/bub-install-spec.cjs +19 -5
  3. package/dist/agents/bub-install-spec.cjs.map +1 -1
  4. package/dist/agents/bub-install-spec.d.cts +9 -2
  5. package/dist/agents/bub-install-spec.d.mts +9 -2
  6. package/dist/agents/bub-install-spec.d.ts +9 -2
  7. package/dist/agents/bub-install-spec.js +14 -12
  8. package/dist/agents/bub.cjs +10 -6
  9. package/dist/agents/bub.cjs.map +1 -1
  10. package/dist/agents/bub.d.cts +2 -2
  11. package/dist/agents/bub.d.mts +2 -2
  12. package/dist/agents/bub.d.ts +2 -2
  13. package/dist/agents/claude-code.cjs.map +1 -1
  14. package/dist/agents/claude-code.d.cts +2 -2
  15. package/dist/agents/claude-code.d.mts +2 -2
  16. package/dist/agents/claude-code.d.ts +2 -2
  17. package/dist/agents/codex.cjs +4 -4
  18. package/dist/agents/codex.cjs.map +1 -1
  19. package/dist/agents/codex.d.cts +3 -3
  20. package/dist/agents/codex.d.mts +3 -3
  21. package/dist/agents/codex.d.ts +3 -3
  22. package/dist/agents/deepseek-harness.cjs +50 -2
  23. package/dist/agents/deepseek-harness.cjs.map +1 -1
  24. package/dist/agents/deepseek-harness.d.cts +2 -0
  25. package/dist/agents/deepseek-harness.d.mts +2 -0
  26. package/dist/agents/deepseek-harness.d.ts +2 -0
  27. package/dist/agents/exact-npm-plugins.cjs +28 -0
  28. package/dist/agents/exact-npm-plugins.cjs.map +1 -0
  29. package/dist/agents/exact-npm-plugins.d.cts +10 -0
  30. package/dist/agents/exact-npm-plugins.d.mts +10 -0
  31. package/dist/agents/exact-npm-plugins.d.ts +10 -0
  32. package/dist/agents/exact-npm-plugins.js +8 -0
  33. package/dist/agents/exact-npm-plugins.js.map +1 -0
  34. package/dist/agents/openclaw.cjs +51 -2
  35. package/dist/agents/openclaw.cjs.map +1 -1
  36. package/dist/agents/openclaw.d.cts +2 -0
  37. package/dist/agents/openclaw.d.mts +2 -0
  38. package/dist/agents/openclaw.d.ts +2 -0
  39. package/dist/agents/types.cjs.map +1 -1
  40. package/dist/agents/types.d.cts +2 -2
  41. package/dist/agents/types.d.mts +2 -2
  42. package/dist/agents/types.d.ts +2 -2
  43. package/dist/agents/ui-message-stream.cjs +24 -7
  44. package/dist/agents/ui-message-stream.cjs.map +1 -1
  45. package/dist/analysis/api.cjs +19 -1
  46. package/dist/analysis/api.cjs.map +1 -1
  47. package/dist/analysis/api.d.cts +2 -2
  48. package/dist/analysis/api.d.mts +2 -2
  49. package/dist/analysis/api.d.ts +2 -2
  50. package/dist/analysis/bindings.cjs +11 -18
  51. package/dist/analysis/bindings.cjs.map +1 -1
  52. package/dist/analysis/bindings.d.cts +177 -49
  53. package/dist/analysis/bindings.d.mts +177 -49
  54. package/dist/analysis/bindings.d.ts +177 -49
  55. package/dist/analysis/contracts.cjs +1 -0
  56. package/dist/analysis/contracts.cjs.map +1 -1
  57. package/dist/analysis/contracts.d.cts +43 -3
  58. package/dist/analysis/contracts.d.mts +43 -3
  59. package/dist/analysis/contracts.d.ts +43 -3
  60. package/dist/analysis/cost-projection.cjs +2 -1
  61. package/dist/analysis/cost-projection.cjs.map +1 -1
  62. package/dist/analysis/cost-projection.d.cts +1 -1
  63. package/dist/analysis/cost-projection.d.mts +1 -1
  64. package/dist/analysis/cost-projection.d.ts +1 -1
  65. package/dist/analysis/cost.cjs +13 -3
  66. package/dist/analysis/cost.cjs.map +1 -1
  67. package/dist/analysis/cost.d.cts +10 -3
  68. package/dist/analysis/cost.d.mts +10 -3
  69. package/dist/analysis/cost.d.ts +10 -3
  70. package/dist/analysis/experiment-groups.cjs +96 -0
  71. package/dist/analysis/experiment-groups.cjs.map +1 -0
  72. package/dist/analysis/experiment-groups.d.cts +9 -0
  73. package/dist/analysis/experiment-groups.d.mts +9 -0
  74. package/dist/analysis/experiment-groups.d.ts +9 -0
  75. package/dist/analysis/experiment-groups.js +10 -0
  76. package/dist/analysis/experiment-groups.js.map +1 -0
  77. package/dist/analysis/index.cjs +4 -1
  78. package/dist/analysis/index.cjs.map +1 -1
  79. package/dist/analysis/index.d.cts +4 -2
  80. package/dist/analysis/index.d.mts +4 -2
  81. package/dist/analysis/index.d.ts +4 -2
  82. package/dist/analysis/index.js +40 -36
  83. package/dist/analysis/index.mjs +40 -36
  84. package/dist/assertions/limits.cjs +4 -0
  85. package/dist/assertions/limits.cjs.map +1 -1
  86. package/dist/assertions/limits.d.cts +4 -0
  87. package/dist/assertions/limits.d.mts +4 -0
  88. package/dist/assertions/limits.d.ts +4 -0
  89. package/dist/assertions/match.cjs +63 -25
  90. package/dist/assertions/match.cjs.map +1 -1
  91. package/dist/assertions/match.d.cts +7 -0
  92. package/dist/assertions/match.d.mts +7 -0
  93. package/dist/assertions/match.d.ts +7 -0
  94. package/dist/assertions/record/attachment.cjs +32 -4
  95. package/dist/assertions/record/attachment.cjs.map +1 -1
  96. package/dist/assertions/record/diff.cjs +10 -4
  97. package/dist/assertions/record/diff.cjs.map +1 -1
  98. package/dist/assertions/record/producer.cjs +101 -4
  99. package/dist/assertions/record/producer.cjs.map +1 -1
  100. package/dist/assertions/record/producer.d.cts +4 -1
  101. package/dist/assertions/record/producer.d.mts +4 -1
  102. package/dist/assertions/record/producer.d.ts +4 -1
  103. package/dist/assertions/runtime.cjs +45 -5
  104. package/dist/assertions/runtime.cjs.map +1 -1
  105. package/dist/cli/record.cjs +113 -8
  106. package/dist/cli/record.cjs.map +1 -1
  107. package/dist/cli/record.d.cts +20 -1
  108. package/dist/cli/record.d.mts +20 -1
  109. package/dist/cli/record.d.ts +20 -1
  110. package/dist/cli/record.js +4 -2
  111. package/dist/cli.cjs +386 -31
  112. package/dist/cli.cjs.map +1 -1
  113. package/dist/cli.d.cts +10 -2
  114. package/dist/cli.d.mts +10 -2
  115. package/dist/cli.d.ts +10 -2
  116. package/dist/context/send-retry.cjs +4 -4
  117. package/dist/context/send-retry.cjs.map +1 -1
  118. package/dist/coordination/host/runtime.cjs +8 -30
  119. package/dist/coordination/host/runtime.cjs.map +1 -1
  120. package/dist/coordination/host/runtime.d.cts +3 -3
  121. package/dist/coordination/host/runtime.d.mts +3 -3
  122. package/dist/coordination/host/runtime.d.ts +3 -3
  123. package/dist/coordination/host/types.cjs.map +1 -1
  124. package/dist/coordination/host/types.d.cts +0 -5
  125. package/dist/coordination/host/types.d.mts +0 -5
  126. package/dist/coordination/host/types.d.ts +0 -5
  127. package/dist/coordination/platform/node.cjs +90 -9
  128. package/dist/coordination/platform/node.cjs.map +1 -1
  129. package/dist/define.cjs +25 -1
  130. package/dist/define.cjs.map +1 -1
  131. package/dist/experiment/host/index.cjs +1 -0
  132. package/dist/experiment/host/index.cjs.map +1 -1
  133. package/dist/i18n/en.cjs +19 -6
  134. package/dist/i18n/en.cjs.map +1 -1
  135. package/dist/i18n/en.d.cts +12 -4
  136. package/dist/i18n/en.d.mts +12 -4
  137. package/dist/i18n/en.d.ts +12 -4
  138. package/dist/index.cjs.map +1 -1
  139. package/dist/index.d.cts +1 -1
  140. package/dist/index.d.mts +1 -1
  141. package/dist/index.d.ts +1 -1
  142. package/dist/o11y/prices.json +1 -1
  143. package/dist/o11y/record/families.cjs +12 -3
  144. package/dist/o11y/record/families.cjs.map +1 -1
  145. package/dist/o11y/record/families.d.cts +8 -8
  146. package/dist/o11y/record/families.d.mts +8 -8
  147. package/dist/o11y/record/families.d.ts +8 -8
  148. package/dist/o11y/record/family-projectors.d.cts +66 -18
  149. package/dist/o11y/record/family-projectors.d.mts +66 -18
  150. package/dist/o11y/record/family-projectors.d.ts +66 -18
  151. package/dist/o11y/record/family-writers.d.cts +11 -3
  152. package/dist/o11y/record/family-writers.d.mts +11 -3
  153. package/dist/o11y/record/family-writers.d.ts +11 -3
  154. package/dist/o11y/record/runner-producer.cjs +14 -4
  155. package/dist/o11y/record/runner-producer.cjs.map +1 -1
  156. package/dist/record/codec/core.d.cts +2 -2
  157. package/dist/record/codec/core.d.mts +2 -2
  158. package/dist/record/codec/core.d.ts +2 -2
  159. package/dist/record/family/catalog.d.cts +44 -12
  160. package/dist/record/family/catalog.d.mts +44 -12
  161. package/dist/record/family/catalog.d.ts +44 -12
  162. package/dist/record/family/index.js +128 -124
  163. package/dist/record/family/observability-v1.cjs +35 -0
  164. package/dist/record/family/observability-v1.cjs.map +1 -0
  165. package/dist/record/family/observability-v1.d.cts +3 -0
  166. package/dist/record/family/observability-v1.d.mts +3 -0
  167. package/dist/record/family/observability-v1.d.ts +3 -0
  168. package/dist/record/family/observability-v1.js +6 -0
  169. package/dist/record/family/observability-v1.js.map +1 -0
  170. package/dist/record/family/observability.cjs +58 -9
  171. package/dist/record/family/observability.cjs.map +1 -1
  172. package/dist/record/family/observability.d.cts +1014 -15
  173. package/dist/record/family/observability.d.mts +1014 -15
  174. package/dist/record/family/observability.d.ts +1014 -15
  175. package/dist/record/family/observability.js +22 -18
  176. package/dist/record/host/runtime.cjs +600 -31
  177. package/dist/record/host/runtime.cjs.map +1 -1
  178. package/dist/record/host/types.cjs.map +1 -1
  179. package/dist/record/host/types.d.cts +33 -9
  180. package/dist/record/host/types.d.mts +33 -9
  181. package/dist/record/host/types.d.ts +33 -9
  182. package/dist/record/maintenance/runtime.cjs +1 -2
  183. package/dist/record/maintenance/runtime.cjs.map +1 -1
  184. package/dist/record/model/core.cjs.map +1 -1
  185. package/dist/record/model/core.d.cts +1 -1
  186. package/dist/record/model/core.d.mts +1 -1
  187. package/dist/record/model/core.d.ts +1 -1
  188. package/dist/record/model/definition.d.cts +6 -6
  189. package/dist/record/model/definition.d.mts +6 -6
  190. package/dist/record/model/definition.d.ts +6 -6
  191. package/dist/record/model/identifiers.cjs +1 -1
  192. package/dist/record/model/identifiers.cjs.map +1 -1
  193. package/dist/record/model/identifiers.d.cts +1 -1
  194. package/dist/record/model/identifiers.d.mts +1 -1
  195. package/dist/record/model/identifiers.d.ts +1 -1
  196. package/dist/record/platform/node.cjs +159 -23
  197. package/dist/record/platform/node.cjs.map +1 -1
  198. package/dist/record/platform/services.cjs.map +1 -1
  199. package/dist/record/platform/services.d.cts +15 -2
  200. package/dist/record/platform/services.d.mts +15 -2
  201. package/dist/record/platform/services.d.ts +15 -2
  202. package/dist/record/reader/errors.cjs +37 -1
  203. package/dist/record/reader/errors.cjs.map +1 -1
  204. package/dist/record/reader/errors.d.cts +49 -1
  205. package/dist/record/reader/errors.d.mts +49 -1
  206. package/dist/record/reader/errors.d.ts +49 -1
  207. package/dist/record/reader/errors.js +22 -12
  208. package/dist/record/reader/format.cjs +76 -17
  209. package/dist/record/reader/format.cjs.map +1 -1
  210. package/dist/record/reader/format.d.cts +11 -4
  211. package/dist/record/reader/format.d.mts +11 -4
  212. package/dist/record/reader/format.d.ts +11 -4
  213. package/dist/record/reader/format.js +2 -0
  214. package/dist/record/reader/index.js +32 -18
  215. package/dist/record/reader/runtime.cjs +64 -0
  216. package/dist/record/reader/runtime.cjs.map +1 -1
  217. package/dist/record/reader/runtime.d.cts +15 -0
  218. package/dist/record/reader/runtime.d.mts +15 -0
  219. package/dist/record/reader/runtime.d.ts +15 -0
  220. package/dist/record/reader/runtime.js +2 -0
  221. package/dist/report/assets/styles.css +53 -29
  222. package/dist/report/built-in/analysis-values.cjs +0 -8
  223. package/dist/report/built-in/analysis-values.cjs.map +1 -1
  224. package/dist/report/built-in/analysis-values.d.cts +0 -13
  225. package/dist/report/built-in/analysis-values.d.mts +0 -13
  226. package/dist/report/built-in/analysis-values.d.ts +0 -13
  227. package/dist/report/built-in/analysis-values.js +4 -6
  228. package/dist/report/built-in/index.cjs +1 -3
  229. package/dist/report/built-in/index.cjs.map +1 -1
  230. package/dist/report/built-in/index.d.cts +1 -1
  231. package/dist/report/built-in/index.d.mts +1 -1
  232. package/dist/report/built-in/index.d.ts +1 -1
  233. package/dist/report/built-in/index.js +4 -8
  234. package/dist/report/built-in/index.mjs +4 -8
  235. package/dist/report/built-in/machine.cjs +0 -2
  236. package/dist/report/built-in/machine.cjs.map +1 -1
  237. package/dist/report/built-in/machine.d.cts +0 -2
  238. package/dist/report/built-in/machine.d.mts +0 -2
  239. package/dist/report/built-in/machine.d.ts +0 -2
  240. package/dist/report/built-in/result-components.cjs +25 -73
  241. package/dist/report/built-in/result-components.cjs.map +1 -1
  242. package/dist/report/built-in/result-components.d.cts +3 -19
  243. package/dist/report/built-in/result-components.d.mts +3 -19
  244. package/dist/report/built-in/result-components.d.ts +3 -19
  245. package/dist/report/built-in/result-components.js +0 -4
  246. package/dist/report/built-in/run-membership-overview.cjs +30 -17
  247. package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
  248. package/dist/report/built-in/run-membership-overview.d.cts +14 -0
  249. package/dist/report/built-in/run-membership-overview.d.mts +14 -0
  250. package/dist/report/built-in/run-membership-overview.d.ts +14 -0
  251. package/dist/report/built-in/run-membership-overview.js +4 -2
  252. package/dist/report/built-in/standard.cjs +80 -46
  253. package/dist/report/built-in/standard.cjs.map +1 -1
  254. package/dist/report/built-in/standard.d.cts +19 -42
  255. package/dist/report/built-in/standard.d.mts +19 -42
  256. package/dist/report/built-in/standard.d.ts +19 -42
  257. package/dist/report/built-in/standard.js +6 -6
  258. package/dist/report/components/attempt-detail/compute.cjs +78 -2
  259. package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
  260. package/dist/report/components/attempt-detail/compute.d.cts +1 -1
  261. package/dist/report/components/attempt-detail/compute.d.mts +1 -1
  262. package/dist/report/components/attempt-detail/compute.d.ts +1 -1
  263. package/dist/report/components/attempt-detail/content.cjs +1 -1
  264. package/dist/report/components/attempt-detail/content.cjs.map +1 -1
  265. package/dist/report/components/entity-lists/compute.cjs +2 -2
  266. package/dist/report/components/entity-lists/compute.cjs.map +1 -1
  267. package/dist/report/components/entity-lists/compute.d.cts +2 -2
  268. package/dist/report/components/entity-lists/compute.d.mts +2 -2
  269. package/dist/report/components/entity-lists/compute.d.ts +2 -2
  270. package/dist/report/components/entity-lists/index.cjs +6 -2
  271. package/dist/report/components/entity-lists/index.cjs.map +1 -1
  272. package/dist/report/components/entity-lists/index.d.cts +3 -6
  273. package/dist/report/components/entity-lists/index.d.mts +3 -6
  274. package/dist/report/components/entity-lists/index.d.ts +3 -6
  275. package/dist/report/components/summaries/compute.cjs +8 -1
  276. package/dist/report/components/summaries/compute.cjs.map +1 -1
  277. package/dist/report/components/summaries/compute.d.cts +9 -1
  278. package/dist/report/components/summaries/compute.d.mts +9 -1
  279. package/dist/report/components/summaries/compute.d.ts +9 -1
  280. package/dist/report/components/summaries/index.cjs +48 -4
  281. package/dist/report/components/summaries/index.cjs.map +1 -1
  282. package/dist/report/components/summaries/index.d.cts +7 -4
  283. package/dist/report/components/summaries/index.d.mts +7 -4
  284. package/dist/report/components/summaries/index.d.ts +7 -4
  285. package/dist/report/definition/primitives/chart.cjs +8 -5
  286. package/dist/report/definition/primitives/chart.cjs.map +1 -1
  287. package/dist/report/definition/primitives/points-dataset.cjs +1 -0
  288. package/dist/report/definition/primitives/points-dataset.cjs.map +1 -1
  289. package/dist/report/definition/primitives.cjs +6 -0
  290. package/dist/report/definition/primitives.cjs.map +1 -1
  291. package/dist/report/definition/report.cjs +27 -3
  292. package/dist/report/definition/report.cjs.map +1 -1
  293. package/dist/report/definition/report.d.cts +8 -0
  294. package/dist/report/definition/report.d.mts +8 -0
  295. package/dist/report/definition/report.d.ts +8 -0
  296. package/dist/report/execution/machine.cjs +30 -14
  297. package/dist/report/execution/machine.cjs.map +1 -1
  298. package/dist/report/execution/machine.d.cts +20 -10
  299. package/dist/report/execution/machine.d.mts +20 -10
  300. package/dist/report/execution/machine.d.ts +20 -10
  301. package/dist/report/execution/machine.js +6 -6
  302. package/dist/report/host/execute.cjs +25 -16
  303. package/dist/report/host/execute.cjs.map +1 -1
  304. package/dist/report/host/execute.d.cts +4 -0
  305. package/dist/report/host/execute.d.mts +4 -0
  306. package/dist/report/host/execute.d.ts +4 -0
  307. package/dist/report/host/from-record.cjs +22 -5
  308. package/dist/report/host/from-record.cjs.map +1 -1
  309. package/dist/report/host/machine.cjs +53 -11
  310. package/dist/report/host/machine.cjs.map +1 -1
  311. package/dist/report/host/site-runtime.cjs +9 -8
  312. package/dist/report/host/site-runtime.cjs.map +1 -1
  313. package/dist/report/host/site-runtime.d.cts +1 -1
  314. package/dist/report/host/site-runtime.d.mts +1 -1
  315. package/dist/report/host/site-runtime.d.ts +1 -1
  316. package/dist/report/host/static.cjs +56 -9
  317. package/dist/report/host/static.cjs.map +1 -1
  318. package/dist/report/index.cjs.map +1 -1
  319. package/dist/report/index.d.cts +1 -1
  320. package/dist/report/index.d.mts +1 -1
  321. package/dist/report/index.d.ts +1 -1
  322. package/dist/report/model/dataset.cjs +7 -2
  323. package/dist/report/model/dataset.cjs.map +1 -1
  324. package/dist/report/model/locale.cjs +2 -0
  325. package/dist/report/model/locale.cjs.map +1 -1
  326. package/dist/report/model/locale.d.cts +1 -0
  327. package/dist/report/model/locale.d.mts +1 -0
  328. package/dist/report/model/locale.d.ts +1 -0
  329. package/dist/report/model/metrics.cjs +3 -1
  330. package/dist/report/model/metrics.cjs.map +1 -1
  331. package/dist/report/model/pricing.cjs +16 -11
  332. package/dist/report/model/pricing.cjs.map +1 -1
  333. package/dist/report/react/styles.css +53 -29
  334. package/dist/runner/adoption.cjs +1 -0
  335. package/dist/runner/adoption.cjs.map +1 -1
  336. package/dist/runner/attempt.cjs +44 -5
  337. package/dist/runner/attempt.cjs.map +1 -1
  338. package/dist/runner/attempt.d.cts +13 -1
  339. package/dist/runner/attempt.d.mts +13 -1
  340. package/dist/runner/attempt.d.ts +13 -1
  341. package/dist/runner/config-identity.cjs +10 -2
  342. package/dist/runner/config-identity.cjs.map +1 -1
  343. package/dist/runner/config-identity.d.cts +4 -2
  344. package/dist/runner/config-identity.d.mts +4 -2
  345. package/dist/runner/config-identity.d.ts +4 -2
  346. package/dist/runner/feedback/human.cjs +139 -64
  347. package/dist/runner/feedback/human.cjs.map +1 -1
  348. package/dist/runner/feedback/json.cjs +14 -6
  349. package/dist/runner/feedback/json.cjs.map +1 -1
  350. package/dist/runner/feedback/json.d.cts +3 -2
  351. package/dist/runner/feedback/json.d.mts +3 -2
  352. package/dist/runner/feedback/json.d.ts +3 -2
  353. package/dist/runner/feedback/reducer.cjs +2 -0
  354. package/dist/runner/feedback/reducer.cjs.map +1 -1
  355. package/dist/runner/judge-config.cjs +1 -1
  356. package/dist/runner/judge-config.cjs.map +1 -1
  357. package/dist/runner/ledger.cjs +124 -12
  358. package/dist/runner/ledger.cjs.map +1 -1
  359. package/dist/runner/project-current.cjs +13 -5
  360. package/dist/runner/project-current.cjs.map +1 -1
  361. package/dist/runner/run.cjs +521 -256
  362. package/dist/runner/run.cjs.map +1 -1
  363. package/dist/runner/sandbox-pool.cjs +161 -30
  364. package/dist/runner/sandbox-pool.cjs.map +1 -1
  365. package/dist/runner/sandbox-pool.d.cts +34 -2
  366. package/dist/runner/sandbox-pool.d.mts +34 -2
  367. package/dist/runner/sandbox-pool.d.ts +34 -2
  368. package/dist/runner/shared-state-lease.cjs +803 -0
  369. package/dist/runner/shared-state-lease.cjs.map +1 -0
  370. package/dist/runner/shared-state-lease.d.cts +121 -0
  371. package/dist/runner/shared-state-lease.d.mts +121 -0
  372. package/dist/runner/shared-state-lease.d.ts +121 -0
  373. package/dist/runner/shared-state-lease.js +24 -0
  374. package/dist/runner/shared-state-lease.js.map +1 -0
  375. package/dist/runner/teardown-registry.cjs +97 -34
  376. package/dist/runner/teardown-registry.cjs.map +1 -1
  377. package/dist/runner/teardown-registry.d.cts +27 -1
  378. package/dist/runner/teardown-registry.d.mts +27 -1
  379. package/dist/runner/teardown-registry.d.ts +27 -1
  380. package/dist/runner/teardown-registry.js +20 -16
  381. package/dist/runner/types.cjs.map +1 -1
  382. package/dist/runner/types.d.cts +31 -5
  383. package/dist/runner/types.d.mts +31 -5
  384. package/dist/runner/types.d.ts +31 -5
  385. package/dist/sample/analysis.cjs +249 -459
  386. package/dist/sample/analysis.cjs.map +1 -1
  387. package/dist/sample/capability.cjs +46 -8
  388. package/dist/sample/capability.cjs.map +1 -1
  389. package/dist/sandbox/docker-profile/schema.cjs +283 -534
  390. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  391. package/dist/sandbox/docker-profile/schema.d.cts +10 -27
  392. package/dist/sandbox/docker-profile/schema.d.mts +10 -27
  393. package/dist/sandbox/docker-profile/schema.d.ts +10 -27
  394. package/dist/sandbox/e2b-agent-template.cjs +5 -2
  395. package/dist/sandbox/e2b-agent-template.cjs.map +1 -1
  396. package/dist/sandbox/keep-registry.cjs +28 -66
  397. package/dist/sandbox/keep-registry.cjs.map +1 -1
  398. package/dist/sandbox/types.cjs.map +1 -1
  399. package/dist/sandbox/types.d.cts +1 -1
  400. package/dist/sandbox/types.d.mts +1 -1
  401. package/dist/sandbox/types.d.ts +1 -1
  402. package/dist/shared/aggregate.cjs +16 -6
  403. package/dist/shared/aggregate.cjs.map +1 -1
  404. package/dist/shared/aggregate.d.cts +12 -4
  405. package/dist/shared/aggregate.d.mts +12 -4
  406. package/dist/shared/aggregate.d.ts +12 -4
  407. package/dist/shared/turn-label.cjs +20 -2
  408. package/dist/shared/turn-label.cjs.map +1 -1
  409. package/dist/shared/turn-label.d.cts +2 -0
  410. package/dist/shared/turn-label.d.mts +2 -0
  411. package/dist/shared/turn-label.d.ts +2 -0
  412. package/dist/shared/turn-label.js +4 -2
  413. package/dist/vendor/remark/remark-gfm.cjs +7 -7
  414. package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
  415. package/dist/vendor/remark/remark-parse.cjs +12 -12
  416. package/dist/vendor/remark/remark-parse.cjs.map +1 -1
  417. package/dist/vendor/remark/remark.cjs +13 -13
  418. package/dist/vendor/remark/remark.cjs.map +1 -1
  419. package/dist/view/server.cjs +6 -0
  420. package/dist/view/server.cjs.map +1 -1
  421. package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
  422. package/docs-site/zh/examples/coding-agent-extensions.mdx +1 -1
  423. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +1 -0
  424. package/docs-site/zh/examples/integrations/langgraph.mdx +1 -1
  425. package/docs-site/zh/explanation/assert.mdx +6 -6
  426. package/docs-site/zh/explanation/drive.mdx +1 -1
  427. package/docs-site/zh/explanation/evals.mdx +9 -9
  428. package/docs-site/zh/explanation/experiment.mdx +2 -2
  429. package/docs-site/zh/explanation/hitl.mdx +3 -3
  430. package/docs-site/zh/explanation/judge.mdx +5 -5
  431. package/docs-site/zh/explanation/overview.mdx +3 -3
  432. package/docs-site/zh/explanation/runner.mdx +1 -1
  433. package/docs-site/zh/index.mdx +3 -3
  434. package/docs-site/zh/reference/builtin-agents.mdx +9 -9
  435. package/docs-site/zh/reference/cli.mdx +18 -12
  436. package/docs-site/zh/reference/define-agent.mdx +130 -5
  437. package/docs-site/zh/reference/define-config.mdx +2 -2
  438. package/docs-site/zh/reference/define-eval.mdx +4 -4
  439. package/docs-site/zh/reference/events.mdx +1 -1
  440. package/docs-site/zh/reference/official-adapters.mdx +5 -5
  441. package/docs-site/zh/troubleshooting/debugging.mdx +1 -1
  442. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +37 -5
  443. package/docs-site/zh/tutorials/accept-results.mdx +72 -0
  444. package/docs-site/zh/tutorials/agent-onboarding.mdx +6 -6
  445. package/docs-site/zh/tutorials/authoring.mdx +9 -13
  446. package/docs-site/zh/tutorials/ci-integration.mdx +6 -6
  447. package/docs-site/zh/tutorials/compare-runs.mdx +61 -0
  448. package/docs-site/zh/tutorials/concurrency.mdx +13 -12
  449. package/docs-site/zh/tutorials/configuration.mdx +4 -6
  450. package/docs-site/zh/tutorials/connect-your-agent.mdx +1 -1
  451. package/docs-site/zh/tutorials/control-run-cost.mdx +58 -0
  452. package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
  453. package/docs-site/zh/tutorials/custom-reports.mdx +2 -2
  454. package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +46 -0
  455. package/docs-site/zh/tutorials/docker-in-docker.mdx +50 -44
  456. package/docs-site/zh/tutorials/eval-groups.mdx +6 -6
  457. package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
  458. package/docs-site/zh/tutorials/experiments.mdx +2 -3
  459. package/docs-site/zh/tutorials/handle-execution-failures.mdx +18 -10
  460. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +16 -8
  461. package/docs-site/zh/tutorials/plugins.mdx +14 -0
  462. package/docs-site/zh/tutorials/rerun-and-cache.mdx +3 -17
  463. package/docs-site/zh/tutorials/sandbox-agent.mdx +17 -11
  464. package/docs-site/zh/tutorials/sandbox-providers.mdx +17 -13
  465. package/docs-site/zh/tutorials/sandbox-reuse.mdx +12 -19
  466. package/docs-site/zh/tutorials/select-and-preview.mdx +65 -0
  467. package/docs-site/zh/tutorials/verify-judge.mdx +78 -0
  468. package/docs-site/zh/tutorials/viewing-results.mdx +27 -8
  469. package/docs-site/zh/tutorials/write-experiment.mdx +7 -5
  470. package/docs-site/zh/tutorials/write-send.mdx +2 -2
  471. package/package.json +9 -5
  472. package/dist/report/built-in/overview.cjs +0 -45
  473. package/dist/report/built-in/overview.cjs.map +0 -1
  474. package/dist/report/built-in/overview.d.cts +0 -6
  475. package/dist/report/built-in/overview.d.mts +0 -6
  476. package/dist/report/built-in/overview.d.ts +0 -6
  477. package/dist/report/built-in/overview.js +0 -9
  478. package/dist/report/built-in/overview.js.map +0 -1
  479. package/dist/runner/gate-lease.cjs +0 -283
  480. package/dist/runner/gate-lease.cjs.map +0 -1
  481. package/dist/runner/gate-lease.d.cts +0 -62
  482. package/dist/runner/gate-lease.d.mts +0 -62
  483. package/dist/runner/gate-lease.d.ts +0 -62
  484. package/dist/runner/gate-lease.js +0 -22
  485. package/dist/runner/gate-lease.js.map +0 -1
@@ -387,15 +387,23 @@ export declare const attemptConversationProjector: Readonly<{
387
387
  readonly commandId: string;
388
388
  })[]];
389
389
  };
390
- readonly intervals: readonly {
390
+ readonly intervals: readonly ({
391
391
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
392
392
  readonly label: string;
393
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
393
+ readonly phase: "agent.send";
394
394
  readonly startOffsetMs: number;
395
395
  readonly durationMs: number;
396
396
  readonly intervalId: string;
397
397
  readonly parentIntervalId: string | null;
398
- }[];
398
+ } | {
399
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
400
+ readonly label: string;
401
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
402
+ readonly startOffsetMs: number;
403
+ readonly durationMs: number;
404
+ readonly intervalId: string;
405
+ readonly parentIntervalId: string | null;
406
+ })[];
399
407
  };
400
408
  readonly diagnostics: {
401
409
  readonly collection: {
@@ -929,15 +937,23 @@ export declare const attemptCommandsProjector: Readonly<{
929
937
  readonly commandId: string;
930
938
  })[]];
931
939
  };
932
- readonly intervals: readonly {
940
+ readonly intervals: readonly ({
933
941
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
934
942
  readonly label: string;
935
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
943
+ readonly phase: "agent.send";
936
944
  readonly startOffsetMs: number;
937
945
  readonly durationMs: number;
938
946
  readonly intervalId: string;
939
947
  readonly parentIntervalId: string | null;
940
- }[];
948
+ } | {
949
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
950
+ readonly label: string;
951
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
952
+ readonly startOffsetMs: number;
953
+ readonly durationMs: number;
954
+ readonly intervalId: string;
955
+ readonly parentIntervalId: string | null;
956
+ })[];
941
957
  };
942
958
  readonly diagnostics: {
943
959
  readonly collection: {
@@ -1382,15 +1398,23 @@ export declare const attemptUsageProjector: Readonly<{
1382
1398
  readonly commandId: string;
1383
1399
  })[]];
1384
1400
  };
1385
- readonly intervals: readonly {
1401
+ readonly intervals: readonly ({
1386
1402
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1387
1403
  readonly label: string;
1388
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
1404
+ readonly phase: "agent.send";
1389
1405
  readonly startOffsetMs: number;
1390
1406
  readonly durationMs: number;
1391
1407
  readonly intervalId: string;
1392
1408
  readonly parentIntervalId: string | null;
1393
- }[];
1409
+ } | {
1410
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1411
+ readonly label: string;
1412
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
1413
+ readonly startOffsetMs: number;
1414
+ readonly durationMs: number;
1415
+ readonly intervalId: string;
1416
+ readonly parentIntervalId: string | null;
1417
+ })[];
1394
1418
  };
1395
1419
  readonly diagnostics: {
1396
1420
  readonly collection: {
@@ -1884,15 +1908,23 @@ export declare const attemptTimingProjector: Readonly<{
1884
1908
  readonly commandId: string;
1885
1909
  })[]];
1886
1910
  };
1887
- readonly intervals: readonly {
1911
+ readonly intervals: readonly ({
1888
1912
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1889
1913
  readonly label: string;
1890
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
1914
+ readonly phase: "agent.send";
1891
1915
  readonly startOffsetMs: number;
1892
1916
  readonly durationMs: number;
1893
1917
  readonly intervalId: string;
1894
1918
  readonly parentIntervalId: string | null;
1895
- }[];
1919
+ } | {
1920
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1921
+ readonly label: string;
1922
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
1923
+ readonly startOffsetMs: number;
1924
+ readonly durationMs: number;
1925
+ readonly intervalId: string;
1926
+ readonly parentIntervalId: string | null;
1927
+ })[];
1896
1928
  };
1897
1929
  readonly diagnostics: {
1898
1930
  readonly collection: {
@@ -2010,15 +2042,23 @@ export declare const attemptTimingProjector: Readonly<{
2010
2042
  readonly commandId: string;
2011
2043
  })[];
2012
2044
  };
2013
- readonly intervals: readonly {
2045
+ readonly intervals: readonly ({
2014
2046
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2015
2047
  readonly label: string;
2016
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
2048
+ readonly phase: "agent.send";
2017
2049
  readonly startOffsetMs: number;
2018
2050
  readonly durationMs: number;
2019
2051
  readonly intervalId: string;
2020
2052
  readonly parentIntervalId: string | null;
2021
- }[];
2053
+ } | {
2054
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2055
+ readonly label: string;
2056
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
2057
+ readonly startOffsetMs: number;
2058
+ readonly durationMs: number;
2059
+ readonly intervalId: string;
2060
+ readonly parentIntervalId: string | null;
2061
+ })[];
2022
2062
  };
2023
2063
  }>;
2024
2064
  export declare const attemptDiagnosticsProjector: Readonly<{
@@ -2377,15 +2417,23 @@ export declare const attemptDiagnosticsProjector: Readonly<{
2377
2417
  readonly commandId: string;
2378
2418
  })[]];
2379
2419
  };
2380
- readonly intervals: readonly {
2420
+ readonly intervals: readonly ({
2381
2421
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2382
2422
  readonly label: string;
2383
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
2423
+ readonly phase: "agent.send";
2384
2424
  readonly startOffsetMs: number;
2385
2425
  readonly durationMs: number;
2386
2426
  readonly intervalId: string;
2387
2427
  readonly parentIntervalId: string | null;
2388
- }[];
2428
+ } | {
2429
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2430
+ readonly label: string;
2431
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
2432
+ readonly startOffsetMs: number;
2433
+ readonly durationMs: number;
2434
+ readonly intervalId: string;
2435
+ readonly parentIntervalId: string | null;
2436
+ })[];
2389
2437
  };
2390
2438
  readonly diagnostics: {
2391
2439
  readonly collection: {
@@ -387,15 +387,23 @@ export declare const attemptConversationProjector: Readonly<{
387
387
  readonly commandId: string;
388
388
  })[]];
389
389
  };
390
- readonly intervals: readonly {
390
+ readonly intervals: readonly ({
391
391
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
392
392
  readonly label: string;
393
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
393
+ readonly phase: "agent.send";
394
394
  readonly startOffsetMs: number;
395
395
  readonly durationMs: number;
396
396
  readonly intervalId: string;
397
397
  readonly parentIntervalId: string | null;
398
- }[];
398
+ } | {
399
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
400
+ readonly label: string;
401
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
402
+ readonly startOffsetMs: number;
403
+ readonly durationMs: number;
404
+ readonly intervalId: string;
405
+ readonly parentIntervalId: string | null;
406
+ })[];
399
407
  };
400
408
  readonly diagnostics: {
401
409
  readonly collection: {
@@ -929,15 +937,23 @@ export declare const attemptCommandsProjector: Readonly<{
929
937
  readonly commandId: string;
930
938
  })[]];
931
939
  };
932
- readonly intervals: readonly {
940
+ readonly intervals: readonly ({
933
941
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
934
942
  readonly label: string;
935
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
943
+ readonly phase: "agent.send";
936
944
  readonly startOffsetMs: number;
937
945
  readonly durationMs: number;
938
946
  readonly intervalId: string;
939
947
  readonly parentIntervalId: string | null;
940
- }[];
948
+ } | {
949
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
950
+ readonly label: string;
951
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
952
+ readonly startOffsetMs: number;
953
+ readonly durationMs: number;
954
+ readonly intervalId: string;
955
+ readonly parentIntervalId: string | null;
956
+ })[];
941
957
  };
942
958
  readonly diagnostics: {
943
959
  readonly collection: {
@@ -1382,15 +1398,23 @@ export declare const attemptUsageProjector: Readonly<{
1382
1398
  readonly commandId: string;
1383
1399
  })[]];
1384
1400
  };
1385
- readonly intervals: readonly {
1401
+ readonly intervals: readonly ({
1386
1402
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1387
1403
  readonly label: string;
1388
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
1404
+ readonly phase: "agent.send";
1389
1405
  readonly startOffsetMs: number;
1390
1406
  readonly durationMs: number;
1391
1407
  readonly intervalId: string;
1392
1408
  readonly parentIntervalId: string | null;
1393
- }[];
1409
+ } | {
1410
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1411
+ readonly label: string;
1412
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
1413
+ readonly startOffsetMs: number;
1414
+ readonly durationMs: number;
1415
+ readonly intervalId: string;
1416
+ readonly parentIntervalId: string | null;
1417
+ })[];
1394
1418
  };
1395
1419
  readonly diagnostics: {
1396
1420
  readonly collection: {
@@ -1884,15 +1908,23 @@ export declare const attemptTimingProjector: Readonly<{
1884
1908
  readonly commandId: string;
1885
1909
  })[]];
1886
1910
  };
1887
- readonly intervals: readonly {
1911
+ readonly intervals: readonly ({
1888
1912
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1889
1913
  readonly label: string;
1890
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
1914
+ readonly phase: "agent.send";
1891
1915
  readonly startOffsetMs: number;
1892
1916
  readonly durationMs: number;
1893
1917
  readonly intervalId: string;
1894
1918
  readonly parentIntervalId: string | null;
1895
- }[];
1919
+ } | {
1920
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1921
+ readonly label: string;
1922
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
1923
+ readonly startOffsetMs: number;
1924
+ readonly durationMs: number;
1925
+ readonly intervalId: string;
1926
+ readonly parentIntervalId: string | null;
1927
+ })[];
1896
1928
  };
1897
1929
  readonly diagnostics: {
1898
1930
  readonly collection: {
@@ -2010,15 +2042,23 @@ export declare const attemptTimingProjector: Readonly<{
2010
2042
  readonly commandId: string;
2011
2043
  })[];
2012
2044
  };
2013
- readonly intervals: readonly {
2045
+ readonly intervals: readonly ({
2014
2046
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2015
2047
  readonly label: string;
2016
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
2048
+ readonly phase: "agent.send";
2017
2049
  readonly startOffsetMs: number;
2018
2050
  readonly durationMs: number;
2019
2051
  readonly intervalId: string;
2020
2052
  readonly parentIntervalId: string | null;
2021
- }[];
2053
+ } | {
2054
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2055
+ readonly label: string;
2056
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
2057
+ readonly startOffsetMs: number;
2058
+ readonly durationMs: number;
2059
+ readonly intervalId: string;
2060
+ readonly parentIntervalId: string | null;
2061
+ })[];
2022
2062
  };
2023
2063
  }>;
2024
2064
  export declare const attemptDiagnosticsProjector: Readonly<{
@@ -2377,15 +2417,23 @@ export declare const attemptDiagnosticsProjector: Readonly<{
2377
2417
  readonly commandId: string;
2378
2418
  })[]];
2379
2419
  };
2380
- readonly intervals: readonly {
2420
+ readonly intervals: readonly ({
2381
2421
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2382
2422
  readonly label: string;
2383
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
2423
+ readonly phase: "agent.send";
2384
2424
  readonly startOffsetMs: number;
2385
2425
  readonly durationMs: number;
2386
2426
  readonly intervalId: string;
2387
2427
  readonly parentIntervalId: string | null;
2388
- }[];
2428
+ } | {
2429
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2430
+ readonly label: string;
2431
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
2432
+ readonly startOffsetMs: number;
2433
+ readonly durationMs: number;
2434
+ readonly intervalId: string;
2435
+ readonly parentIntervalId: string | null;
2436
+ })[];
2389
2437
  };
2390
2438
  readonly diagnostics: {
2391
2439
  readonly collection: {
@@ -387,15 +387,23 @@ export declare const attemptConversationProjector: Readonly<{
387
387
  readonly commandId: string;
388
388
  })[]];
389
389
  };
390
- readonly intervals: readonly {
390
+ readonly intervals: readonly ({
391
391
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
392
392
  readonly label: string;
393
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
393
+ readonly phase: "agent.send";
394
394
  readonly startOffsetMs: number;
395
395
  readonly durationMs: number;
396
396
  readonly intervalId: string;
397
397
  readonly parentIntervalId: string | null;
398
- }[];
398
+ } | {
399
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
400
+ readonly label: string;
401
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
402
+ readonly startOffsetMs: number;
403
+ readonly durationMs: number;
404
+ readonly intervalId: string;
405
+ readonly parentIntervalId: string | null;
406
+ })[];
399
407
  };
400
408
  readonly diagnostics: {
401
409
  readonly collection: {
@@ -929,15 +937,23 @@ export declare const attemptCommandsProjector: Readonly<{
929
937
  readonly commandId: string;
930
938
  })[]];
931
939
  };
932
- readonly intervals: readonly {
940
+ readonly intervals: readonly ({
933
941
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
934
942
  readonly label: string;
935
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
943
+ readonly phase: "agent.send";
936
944
  readonly startOffsetMs: number;
937
945
  readonly durationMs: number;
938
946
  readonly intervalId: string;
939
947
  readonly parentIntervalId: string | null;
940
- }[];
948
+ } | {
949
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
950
+ readonly label: string;
951
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
952
+ readonly startOffsetMs: number;
953
+ readonly durationMs: number;
954
+ readonly intervalId: string;
955
+ readonly parentIntervalId: string | null;
956
+ })[];
941
957
  };
942
958
  readonly diagnostics: {
943
959
  readonly collection: {
@@ -1382,15 +1398,23 @@ export declare const attemptUsageProjector: Readonly<{
1382
1398
  readonly commandId: string;
1383
1399
  })[]];
1384
1400
  };
1385
- readonly intervals: readonly {
1401
+ readonly intervals: readonly ({
1386
1402
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1387
1403
  readonly label: string;
1388
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
1404
+ readonly phase: "agent.send";
1389
1405
  readonly startOffsetMs: number;
1390
1406
  readonly durationMs: number;
1391
1407
  readonly intervalId: string;
1392
1408
  readonly parentIntervalId: string | null;
1393
- }[];
1409
+ } | {
1410
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1411
+ readonly label: string;
1412
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
1413
+ readonly startOffsetMs: number;
1414
+ readonly durationMs: number;
1415
+ readonly intervalId: string;
1416
+ readonly parentIntervalId: string | null;
1417
+ })[];
1394
1418
  };
1395
1419
  readonly diagnostics: {
1396
1420
  readonly collection: {
@@ -1884,15 +1908,23 @@ export declare const attemptTimingProjector: Readonly<{
1884
1908
  readonly commandId: string;
1885
1909
  })[]];
1886
1910
  };
1887
- readonly intervals: readonly {
1911
+ readonly intervals: readonly ({
1888
1912
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1889
1913
  readonly label: string;
1890
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
1914
+ readonly phase: "agent.send";
1891
1915
  readonly startOffsetMs: number;
1892
1916
  readonly durationMs: number;
1893
1917
  readonly intervalId: string;
1894
1918
  readonly parentIntervalId: string | null;
1895
- }[];
1919
+ } | {
1920
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
1921
+ readonly label: string;
1922
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
1923
+ readonly startOffsetMs: number;
1924
+ readonly durationMs: number;
1925
+ readonly intervalId: string;
1926
+ readonly parentIntervalId: string | null;
1927
+ })[];
1896
1928
  };
1897
1929
  readonly diagnostics: {
1898
1930
  readonly collection: {
@@ -2010,15 +2042,23 @@ export declare const attemptTimingProjector: Readonly<{
2010
2042
  readonly commandId: string;
2011
2043
  })[];
2012
2044
  };
2013
- readonly intervals: readonly {
2045
+ readonly intervals: readonly ({
2014
2046
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2015
2047
  readonly label: string;
2016
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
2048
+ readonly phase: "agent.send";
2017
2049
  readonly startOffsetMs: number;
2018
2050
  readonly durationMs: number;
2019
2051
  readonly intervalId: string;
2020
2052
  readonly parentIntervalId: string | null;
2021
- }[];
2053
+ } | {
2054
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2055
+ readonly label: string;
2056
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
2057
+ readonly startOffsetMs: number;
2058
+ readonly durationMs: number;
2059
+ readonly intervalId: string;
2060
+ readonly parentIntervalId: string | null;
2061
+ })[];
2022
2062
  };
2023
2063
  }>;
2024
2064
  export declare const attemptDiagnosticsProjector: Readonly<{
@@ -2377,15 +2417,23 @@ export declare const attemptDiagnosticsProjector: Readonly<{
2377
2417
  readonly commandId: string;
2378
2418
  })[]];
2379
2419
  };
2380
- readonly intervals: readonly {
2420
+ readonly intervals: readonly ({
2381
2421
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2382
2422
  readonly label: string;
2383
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
2423
+ readonly phase: "agent.send";
2384
2424
  readonly startOffsetMs: number;
2385
2425
  readonly durationMs: number;
2386
2426
  readonly intervalId: string;
2387
2427
  readonly parentIntervalId: string | null;
2388
- }[];
2428
+ } | {
2429
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
2430
+ readonly label: string;
2431
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
2432
+ readonly startOffsetMs: number;
2433
+ readonly durationMs: number;
2434
+ readonly intervalId: string;
2435
+ readonly parentIntervalId: string | null;
2436
+ })[];
2389
2437
  };
2390
2438
  readonly diagnostics: {
2391
2439
  readonly collection: {
@@ -421,15 +421,23 @@ export declare const attemptObservabilityAttachmentWrite: import("../../record/a
421
421
  readonly commandId: string;
422
422
  })[]];
423
423
  };
424
- readonly intervals: readonly {
424
+ readonly intervals: readonly ({
425
425
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
426
426
  readonly label: string;
427
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
427
+ readonly phase: "agent.send";
428
428
  readonly startOffsetMs: number;
429
429
  readonly durationMs: number;
430
430
  readonly intervalId: string;
431
431
  readonly parentIntervalId: string | null;
432
- }[];
432
+ } | {
433
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
434
+ readonly label: string;
435
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
436
+ readonly startOffsetMs: number;
437
+ readonly durationMs: number;
438
+ readonly intervalId: string;
439
+ readonly parentIntervalId: string | null;
440
+ })[];
433
441
  };
434
442
  readonly diagnostics: {
435
443
  readonly collection: {
@@ -421,15 +421,23 @@ export declare const attemptObservabilityAttachmentWrite: import("../../record/a
421
421
  readonly commandId: string;
422
422
  })[]];
423
423
  };
424
- readonly intervals: readonly {
424
+ readonly intervals: readonly ({
425
425
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
426
426
  readonly label: string;
427
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
427
+ readonly phase: "agent.send";
428
428
  readonly startOffsetMs: number;
429
429
  readonly durationMs: number;
430
430
  readonly intervalId: string;
431
431
  readonly parentIntervalId: string | null;
432
- }[];
432
+ } | {
433
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
434
+ readonly label: string;
435
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
436
+ readonly startOffsetMs: number;
437
+ readonly durationMs: number;
438
+ readonly intervalId: string;
439
+ readonly parentIntervalId: string | null;
440
+ })[];
433
441
  };
434
442
  readonly diagnostics: {
435
443
  readonly collection: {
@@ -421,15 +421,23 @@ export declare const attemptObservabilityAttachmentWrite: import("../../record/a
421
421
  readonly commandId: string;
422
422
  })[]];
423
423
  };
424
- readonly intervals: readonly {
424
+ readonly intervals: readonly ({
425
425
  readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
426
426
  readonly label: string;
427
- readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "agent.send" | "assertion.evaluate" | "verdict.fold";
427
+ readonly phase: "agent.send";
428
428
  readonly startOffsetMs: number;
429
429
  readonly durationMs: number;
430
430
  readonly intervalId: string;
431
431
  readonly parentIntervalId: string | null;
432
- }[];
432
+ } | {
433
+ readonly outcome: "completed" | "cancelled" | "interrupted" | "failed" | "unknown";
434
+ readonly label: string;
435
+ readonly phase: "agent.ensure" | "sandbox.prepare" | "eval.run" | "sandbox.command" | "attempt.setup" | "attempt.teardown" | "assertion.evaluate" | "verdict.fold";
436
+ readonly startOffsetMs: number;
437
+ readonly durationMs: number;
438
+ readonly intervalId: string;
439
+ readonly parentIntervalId: string | null;
440
+ })[];
433
441
  };
434
442
  readonly diagnostics: {
435
443
  readonly collection: {
@@ -16,6 +16,7 @@ exports.createRunnerRunObservabilityCapture = createRunnerRunObservabilityCaptur
16
16
  const node_crypto_1 = require("node:crypto");
17
17
  const effect_1 = require("effect");
18
18
  const redaction_ts_1 = require("../../sandbox/redaction.cjs");
19
+ const turn_label_ts_1 = require("../../shared/turn-label.cjs");
19
20
  const capture_ts_1 = require("./capture.cjs");
20
21
  const limits_ts_1 = require("./limits.cjs");
21
22
  const model_ts_1 = require("./model.cjs");
@@ -1231,7 +1232,10 @@ function normalizeCommands(runtime) {
1231
1232
  function normalizeUsage(input) {
1232
1233
  // EvalResult.usage remains an aggregate for legacy consumers. Only records
1233
1234
  // captured from actual Session onTurn values above enter this family.
1234
- if (input.result.evidenceCoverage.usage.status !== "complete") {
1235
+ if (input.result.evidenceCoverage.usage.status === "unavailable") {
1236
+ input.runtime.usageLimitations.addUnsupported("usage-observation");
1237
+ }
1238
+ else if (input.result.evidenceCoverage.usage.status === "partial") {
1235
1239
  input.runtime.usageLimitations.addCaptureFailed("usage-capture", "usage-observation");
1236
1240
  }
1237
1241
  if (input.result.retryAttempts?.some((attempt) => attempt.usage !== undefined) === true) {
@@ -1307,9 +1311,15 @@ function timingActivityProjection(activity) {
1307
1311
  if (phase === undefined)
1308
1312
  return undefined;
1309
1313
  // Runner's activity label is human-facing and can contain spaces or other
1310
- // SafeText punctuation. v1 persists only StableLabel, so standard activities
1311
- // retain a stable key when their display label cannot cross that boundary.
1312
- const label = stableLabel(activity.label) ?? stableLabel(activity.key);
1314
+ // SafeText punctuation. Standard activities retain a stable key when their
1315
+ // display label cannot cross the durable boundary. Native agent turns keep
1316
+ // their canonical slash coordinate so the Record writer never invents a
1317
+ // dot-encoded historical label.
1318
+ const label = activity.key === "agent.turn"
1319
+ && activity.sessionIndex !== undefined
1320
+ && activity.turnIndex !== undefined
1321
+ ? (0, turn_label_ts_1.formatTurnLabel)(activity.sessionIndex, activity.turnIndex)
1322
+ : stableLabel(activity.label) ?? stableLabel(activity.key);
1313
1323
  if (label === undefined)
1314
1324
  return undefined;
1315
1325
  return Object.freeze({ phase, label });