niceeval 0.12.2-canary.31 → 0.13.1

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 (2041) hide show
  1. package/INDEX.md +10 -10
  2. package/README.md +2 -0
  3. package/README.zh.md +2 -0
  4. package/bin/niceeval.js +15 -0
  5. package/dist/agents/claude-code.cjs +9 -1
  6. package/dist/agents/claude-code.cjs.map +1 -1
  7. package/dist/agents/post-setup.cjs +0 -2
  8. package/dist/agents/post-setup.cjs.map +1 -1
  9. package/dist/agents/provisioner.cjs +2 -13
  10. package/dist/agents/provisioner.cjs.map +1 -1
  11. package/dist/agents/provisioner.d.cts +0 -5
  12. package/dist/agents/provisioner.d.mts +0 -5
  13. package/dist/agents/provisioner.d.ts +0 -5
  14. package/dist/agents/provisioner.js +22 -26
  15. package/dist/agents/sdk-streams.cjs +2 -1
  16. package/dist/agents/sdk-streams.cjs.map +1 -1
  17. package/dist/agents/types.cjs.map +1 -1
  18. package/dist/agents/types.d.cts +2 -10
  19. package/dist/agents/types.d.mts +2 -10
  20. package/dist/agents/types.d.ts +2 -10
  21. package/dist/analysis/api.cjs +689 -0
  22. package/dist/analysis/api.cjs.map +1 -0
  23. package/dist/analysis/api.d.cts +126 -0
  24. package/dist/analysis/api.d.mts +126 -0
  25. package/dist/analysis/api.d.ts +126 -0
  26. package/dist/analysis/api.js +24 -0
  27. package/dist/analysis/api.js.map +1 -0
  28. package/dist/analysis/bindings.cjs +617 -0
  29. package/dist/analysis/bindings.cjs.map +1 -0
  30. package/dist/analysis/bindings.d.cts +8313 -0
  31. package/dist/analysis/bindings.d.mts +8313 -0
  32. package/dist/analysis/bindings.d.ts +8313 -0
  33. package/dist/analysis/bindings.js +22 -0
  34. package/dist/analysis/bindings.js.map +1 -0
  35. package/dist/analysis/contracts.cjs +39 -0
  36. package/dist/analysis/contracts.cjs.map +1 -0
  37. package/dist/analysis/contracts.d.cts +293 -0
  38. package/dist/analysis/contracts.d.mts +293 -0
  39. package/dist/analysis/contracts.d.ts +293 -0
  40. package/dist/analysis/contracts.js +12 -0
  41. package/dist/analysis/contracts.js.map +1 -0
  42. package/dist/analysis/cost-decimal.cjs +177 -0
  43. package/dist/analysis/cost-decimal.cjs.map +1 -0
  44. package/dist/analysis/cost-decimal.d.cts +51 -0
  45. package/dist/analysis/cost-decimal.d.mts +51 -0
  46. package/dist/analysis/cost-decimal.d.ts +51 -0
  47. package/dist/analysis/cost-decimal.js +28 -0
  48. package/dist/analysis/cost-decimal.js.map +1 -0
  49. package/dist/analysis/cost-projection.cjs +430 -0
  50. package/dist/analysis/cost-projection.cjs.map +1 -0
  51. package/dist/analysis/cost-projection.d.cts +37 -0
  52. package/dist/analysis/cost-projection.d.mts +37 -0
  53. package/dist/analysis/cost-projection.d.ts +37 -0
  54. package/dist/analysis/cost-projection.js +10 -0
  55. package/dist/analysis/cost-projection.js.map +1 -0
  56. package/dist/analysis/cost.cjs +814 -0
  57. package/dist/analysis/cost.cjs.map +1 -0
  58. package/dist/analysis/cost.d.cts +310 -0
  59. package/dist/analysis/cost.d.mts +310 -0
  60. package/dist/analysis/cost.d.ts +310 -0
  61. package/dist/analysis/cost.js +26 -0
  62. package/dist/analysis/cost.js.map +1 -0
  63. package/dist/analysis/definitions.cjs +346 -0
  64. package/dist/analysis/definitions.cjs.map +1 -0
  65. package/dist/analysis/definitions.d.cts +230 -0
  66. package/dist/analysis/definitions.d.mts +230 -0
  67. package/dist/analysis/definitions.d.ts +230 -0
  68. package/dist/analysis/definitions.js +70 -0
  69. package/dist/analysis/definitions.js.map +1 -0
  70. package/dist/analysis/domain-view.cjs +3 -0
  71. package/dist/analysis/domain-view.cjs.map +1 -0
  72. package/dist/analysis/domain-view.d.cts +367 -0
  73. package/dist/analysis/domain-view.d.mts +367 -0
  74. package/dist/analysis/domain-view.d.ts +367 -0
  75. package/dist/analysis/domain-view.js +4 -0
  76. package/dist/analysis/domain-view.js.map +1 -0
  77. package/dist/analysis/file-changes.cjs +225 -0
  78. package/dist/analysis/file-changes.cjs.map +1 -0
  79. package/dist/analysis/file-changes.d.cts +30 -0
  80. package/dist/analysis/file-changes.d.mts +30 -0
  81. package/dist/analysis/file-changes.d.ts +30 -0
  82. package/dist/analysis/file-changes.js +6 -0
  83. package/dist/analysis/file-changes.js.map +1 -0
  84. package/dist/analysis/host.cjs +8 -0
  85. package/dist/analysis/host.cjs.map +1 -0
  86. package/dist/analysis/host.d.cts +19 -0
  87. package/dist/analysis/host.d.mts +19 -0
  88. package/dist/analysis/host.d.ts +19 -0
  89. package/dist/analysis/host.js +6 -0
  90. package/dist/analysis/host.js.map +1 -0
  91. package/dist/analysis/host.mjs +6 -0
  92. package/dist/analysis/host.mjs.map +1 -0
  93. package/dist/analysis/index.cjs +45 -8
  94. package/dist/analysis/index.cjs.map +1 -1
  95. package/dist/analysis/index.d.cts +10 -2
  96. package/dist/analysis/index.d.mts +10 -2
  97. package/dist/analysis/index.d.ts +10 -2
  98. package/dist/analysis/index.js +70 -6
  99. package/dist/analysis/index.mjs +70 -6
  100. package/dist/assertions/api.cjs.map +1 -1
  101. package/dist/assertions/api.d.cts +1 -1
  102. package/dist/assertions/api.d.mts +1 -1
  103. package/dist/assertions/api.d.ts +1 -1
  104. package/dist/assertions/diff.cjs +2 -2
  105. package/dist/assertions/diff.cjs.map +1 -1
  106. package/dist/assertions/diff.d.cts +2 -2
  107. package/dist/assertions/diff.d.mts +2 -2
  108. package/dist/assertions/diff.d.ts +2 -2
  109. package/dist/assertions/judge.cjs +11 -10
  110. package/dist/assertions/judge.cjs.map +1 -1
  111. package/dist/assertions/record/attachment.cjs +64 -81
  112. package/dist/assertions/record/attachment.cjs.map +1 -1
  113. package/dist/assertions/record/attachment.d.cts +88 -143
  114. package/dist/assertions/record/attachment.d.mts +88 -143
  115. package/dist/assertions/record/attachment.d.ts +88 -143
  116. package/dist/assertions/record/attachment.js +12 -16
  117. package/dist/assertions/record/codec.cjs +178 -100
  118. package/dist/assertions/record/codec.cjs.map +1 -1
  119. package/dist/assertions/record/codec.d.cts +75 -56
  120. package/dist/assertions/record/codec.d.mts +75 -56
  121. package/dist/assertions/record/codec.d.ts +75 -56
  122. package/dist/assertions/record/codec.js +36 -32
  123. package/dist/assertions/record/diff.cjs +545 -134
  124. package/dist/assertions/record/diff.cjs.map +1 -1
  125. package/dist/assertions/record/diff.d.cts +73 -25
  126. package/dist/assertions/record/diff.d.mts +73 -25
  127. package/dist/assertions/record/diff.d.ts +73 -25
  128. package/dist/assertions/record/diff.js +12 -14
  129. package/dist/assertions/record/index.js +70 -72
  130. package/dist/assertions/record/model.cjs.map +1 -1
  131. package/dist/assertions/record/model.d.cts +62 -70
  132. package/dist/assertions/record/model.d.mts +62 -70
  133. package/dist/assertions/record/model.d.ts +62 -70
  134. package/dist/assertions/record/producer.cjs +5 -2
  135. package/dist/assertions/record/producer.cjs.map +1 -1
  136. package/dist/assertions/record/producer.d.cts +18 -18
  137. package/dist/assertions/record/producer.d.mts +18 -18
  138. package/dist/assertions/record/producer.d.ts +18 -18
  139. package/dist/assertions/record/producer.js +2 -2
  140. package/dist/assertions/runtime.cjs +14 -9
  141. package/dist/assertions/runtime.cjs.map +1 -1
  142. package/dist/assertions/workspace-diff.cjs +18 -4
  143. package/dist/assertions/workspace-diff.cjs.map +1 -1
  144. package/dist/assertions/workspace-diff.d.cts +3 -1
  145. package/dist/assertions/workspace-diff.d.mts +3 -1
  146. package/dist/assertions/workspace-diff.d.ts +3 -1
  147. package/dist/assertions/workspace-diff.js +14 -12
  148. package/dist/attempt-locator-resolution.cjs +33 -38
  149. package/dist/attempt-locator-resolution.cjs.map +1 -1
  150. package/dist/attempt-locator-resolution.d.cts +15 -8
  151. package/dist/attempt-locator-resolution.d.mts +15 -8
  152. package/dist/attempt-locator-resolution.d.ts +15 -8
  153. package/dist/cli/record.cjs +16 -89
  154. package/dist/cli/record.cjs.map +1 -1
  155. package/dist/cli/record.d.cts +2 -9
  156. package/dist/cli/record.d.mts +2 -9
  157. package/dist/cli/record.d.ts +2 -9
  158. package/dist/cli/record.js +2 -6
  159. package/dist/cli.cjs +619 -246
  160. package/dist/cli.cjs.map +1 -1
  161. package/dist/cli.d.cts +6 -5
  162. package/dist/cli.d.mts +6 -5
  163. package/dist/cli.d.ts +6 -5
  164. package/dist/context/assert-first.cjs +13 -4
  165. package/dist/context/assert-first.cjs.map +1 -1
  166. package/dist/context/assert-first.d.cts +3 -4
  167. package/dist/context/assert-first.d.mts +3 -4
  168. package/dist/context/assert-first.d.ts +3 -4
  169. package/dist/context/send-retry.cjs +18 -21
  170. package/dist/context/send-retry.cjs.map +1 -1
  171. package/dist/context/send-retry.d.cts +0 -3
  172. package/dist/context/send-retry.d.mts +0 -3
  173. package/dist/context/send-retry.d.ts +0 -3
  174. package/dist/context/session.cjs +46 -42
  175. package/dist/context/session.cjs.map +1 -1
  176. package/dist/context/session.d.cts +4 -6
  177. package/dist/context/session.d.mts +4 -6
  178. package/dist/context/session.d.ts +4 -6
  179. package/dist/coordination/host/index.cjs +10 -0
  180. package/dist/coordination/host/index.cjs.map +1 -0
  181. package/dist/coordination/host/index.d.cts +6 -0
  182. package/dist/coordination/host/index.d.mts +6 -0
  183. package/dist/coordination/host/index.d.ts +6 -0
  184. package/dist/coordination/host/index.js +6 -0
  185. package/dist/coordination/host/index.mjs +6 -0
  186. package/dist/coordination/host/runtime.cjs +57 -0
  187. package/dist/coordination/host/runtime.cjs.map +1 -0
  188. package/dist/coordination/host/runtime.d.cts +13 -0
  189. package/dist/coordination/host/runtime.d.mts +13 -0
  190. package/dist/coordination/host/runtime.d.ts +13 -0
  191. package/dist/coordination/host/runtime.js +8 -0
  192. package/dist/coordination/host/types.cjs.map +1 -0
  193. package/dist/coordination/host/types.d.cts +37 -0
  194. package/dist/coordination/host/types.d.mts +37 -0
  195. package/dist/coordination/host/types.d.ts +37 -0
  196. package/dist/coordination/identity.cjs +48 -0
  197. package/dist/coordination/identity.cjs.map +1 -0
  198. package/dist/coordination/identity.d.cts +14 -0
  199. package/dist/coordination/identity.d.mts +14 -0
  200. package/dist/coordination/identity.d.ts +14 -0
  201. package/dist/coordination/identity.js +6 -0
  202. package/dist/coordination/index.cjs +23 -0
  203. package/dist/coordination/index.cjs.map +1 -0
  204. package/dist/coordination/index.d.cts +6 -0
  205. package/dist/coordination/index.d.mts +6 -0
  206. package/dist/coordination/index.d.ts +6 -0
  207. package/dist/coordination/index.js +16 -0
  208. package/dist/coordination/platform/index.cjs +18 -0
  209. package/dist/coordination/platform/index.cjs.map +1 -0
  210. package/dist/coordination/platform/index.d.cts +1 -0
  211. package/dist/coordination/platform/index.d.mts +1 -0
  212. package/dist/coordination/platform/index.d.ts +1 -0
  213. package/dist/coordination/platform/index.js +6 -0
  214. package/dist/coordination/platform/node.cjs +251 -0
  215. package/dist/coordination/platform/node.cjs.map +1 -0
  216. package/dist/coordination/platform/node.d.cts +3 -0
  217. package/dist/coordination/platform/node.d.mts +3 -0
  218. package/dist/coordination/platform/node.d.ts +3 -0
  219. package/dist/coordination/platform/node.js +6 -0
  220. package/dist/coordination/platform/node.js.map +1 -0
  221. package/dist/coordination/record-leases.cjs +22 -0
  222. package/dist/coordination/record-leases.cjs.map +1 -0
  223. package/dist/coordination/record-leases.d.cts +39 -0
  224. package/dist/coordination/record-leases.d.mts +39 -0
  225. package/dist/coordination/record-leases.d.ts +39 -0
  226. package/dist/coordination/record-leases.js +10 -0
  227. package/dist/coordination/record-leases.js.map +1 -0
  228. package/dist/eval/experiment-id.cjs +1 -5
  229. package/dist/eval/experiment-id.cjs.map +1 -1
  230. package/dist/eval/experiment-id.d.cts +0 -2
  231. package/dist/eval/experiment-id.d.mts +0 -2
  232. package/dist/eval/experiment-id.d.ts +0 -2
  233. package/dist/eval/experiment-id.js +0 -4
  234. package/dist/eval/record/attachment.cjs +7 -47
  235. package/dist/eval/record/attachment.cjs.map +1 -1
  236. package/dist/eval/record/attachment.d.cts +8 -24
  237. package/dist/eval/record/attachment.d.mts +8 -24
  238. package/dist/eval/record/attachment.d.ts +8 -24
  239. package/dist/eval/record/attachment.js +4 -10
  240. package/dist/eval/record/coherence.cjs +6 -6
  241. package/dist/eval/record/coherence.cjs.map +1 -1
  242. package/dist/eval/record/coherence.d.cts +16 -16
  243. package/dist/eval/record/coherence.d.mts +16 -16
  244. package/dist/eval/record/coherence.d.ts +16 -16
  245. package/dist/eval/record/coherence.js +2 -2
  246. package/dist/eval/record/eligibility.cjs +53 -135
  247. package/dist/eval/record/eligibility.cjs.map +1 -1
  248. package/dist/eval/record/eligibility.d.cts +38 -140
  249. package/dist/eval/record/eligibility.d.mts +38 -140
  250. package/dist/eval/record/eligibility.d.ts +38 -140
  251. package/dist/eval/record/eligibility.js +16 -38
  252. package/dist/eval/record/evaluation-plan.cjs +18 -23
  253. package/dist/eval/record/evaluation-plan.cjs.map +1 -1
  254. package/dist/eval/record/evaluation-plan.d.cts +6 -9
  255. package/dist/eval/record/evaluation-plan.d.mts +6 -9
  256. package/dist/eval/record/evaluation-plan.d.ts +6 -9
  257. package/dist/eval/record/evaluation-plan.js +2 -2
  258. package/dist/eval/record/evaluation-record.cjs +161 -454
  259. package/dist/eval/record/evaluation-record.cjs.map +1 -1
  260. package/dist/eval/record/evaluation-record.d.cts +67 -128
  261. package/dist/eval/record/evaluation-record.d.mts +67 -128
  262. package/dist/eval/record/evaluation-record.d.ts +67 -128
  263. package/dist/eval/record/evaluation-record.js +16 -16
  264. package/dist/eval/record/evaluation.cjs +59 -174
  265. package/dist/eval/record/evaluation.cjs.map +1 -1
  266. package/dist/eval/record/evaluation.d.cts +43 -119
  267. package/dist/eval/record/evaluation.d.mts +43 -119
  268. package/dist/eval/record/evaluation.d.ts +43 -119
  269. package/dist/eval/record/evaluation.js +20 -32
  270. package/dist/eval/record/index.js +144 -238
  271. package/dist/eval/record/membership-provenance.cjs +58 -191
  272. package/dist/eval/record/membership-provenance.cjs.map +1 -1
  273. package/dist/eval/record/membership-provenance.d.cts +83 -659
  274. package/dist/eval/record/membership-provenance.d.mts +83 -659
  275. package/dist/eval/record/membership-provenance.d.ts +83 -659
  276. package/dist/eval/record/membership-provenance.js +34 -54
  277. package/dist/eval/record/score.cjs +58 -170
  278. package/dist/eval/record/score.cjs.map +1 -1
  279. package/dist/eval/record/score.d.cts +36 -104
  280. package/dist/eval/record/score.d.mts +36 -104
  281. package/dist/eval/record/score.d.ts +36 -104
  282. package/dist/eval/record/score.js +22 -40
  283. package/dist/eval/record/sealed-assertion.cjs +10 -10
  284. package/dist/eval/record/sealed-assertion.cjs.map +1 -1
  285. package/dist/eval/record/sealed-assertion.d.cts +12 -12
  286. package/dist/eval/record/sealed-assertion.d.mts +12 -12
  287. package/dist/eval/record/sealed-assertion.d.ts +12 -12
  288. package/dist/eval/record/sealed-assertion.js +10 -10
  289. package/dist/eval/record/verdict.cjs +42 -64
  290. package/dist/eval/record/verdict.cjs.map +1 -1
  291. package/dist/eval/record/verdict.d.cts +35 -48
  292. package/dist/eval/record/verdict.d.mts +35 -48
  293. package/dist/eval/record/verdict.d.ts +35 -48
  294. package/dist/eval/record/verdict.js +16 -32
  295. package/dist/experiment/host/index.cjs +210 -0
  296. package/dist/experiment/host/index.cjs.map +1 -0
  297. package/dist/experiment/host/index.d.cts +125 -0
  298. package/dist/experiment/host/index.d.mts +125 -0
  299. package/dist/experiment/host/index.d.ts +125 -0
  300. package/dist/experiment/host/index.js +6 -0
  301. package/dist/experiment/host/index.mjs +6 -0
  302. package/dist/experiment/host/index.mjs.map +1 -0
  303. package/dist/fresh-import.cjs +33 -119
  304. package/dist/fresh-import.cjs.map +1 -1
  305. package/dist/i18n/en.cjs +10 -5
  306. package/dist/i18n/en.cjs.map +1 -1
  307. package/dist/i18n/en.d.cts +9 -4
  308. package/dist/i18n/en.d.mts +9 -4
  309. package/dist/i18n/en.d.ts +9 -4
  310. package/dist/index.cjs +1 -4
  311. package/dist/index.cjs.map +1 -1
  312. package/dist/index.d.cts +0 -2
  313. package/dist/index.d.mts +0 -2
  314. package/dist/index.d.ts +0 -2
  315. package/dist/index.js +18 -20
  316. package/dist/index.mjs +18 -20
  317. package/dist/o11y/cost.cjs +16 -6
  318. package/dist/o11y/cost.cjs.map +1 -1
  319. package/dist/o11y/parsers/bub.cjs +16 -4
  320. package/dist/o11y/parsers/bub.cjs.map +1 -1
  321. package/dist/o11y/parsers/hermes.cjs +19 -6
  322. package/dist/o11y/parsers/hermes.cjs.map +1 -1
  323. package/dist/o11y/parsers/openclaw.cjs +5 -10
  324. package/dist/o11y/parsers/openclaw.cjs.map +1 -1
  325. package/dist/o11y/parsers/opencode.cjs +6 -11
  326. package/dist/o11y/parsers/opencode.cjs.map +1 -1
  327. package/dist/o11y/prices.json +1335 -557
  328. package/dist/o11y/record/capture.cjs +38 -38
  329. package/dist/o11y/record/capture.cjs.map +1 -1
  330. package/dist/o11y/record/capture.d.cts +25 -25
  331. package/dist/o11y/record/capture.d.mts +25 -25
  332. package/dist/o11y/record/capture.d.ts +25 -25
  333. package/dist/o11y/record/capture.js +26 -26
  334. package/dist/o11y/record/codec.cjs +139 -140
  335. package/dist/o11y/record/codec.cjs.map +1 -1
  336. package/dist/o11y/record/codec.d.cts +262 -266
  337. package/dist/o11y/record/codec.d.mts +262 -266
  338. package/dist/o11y/record/codec.d.ts +262 -266
  339. package/dist/o11y/record/codec.js +58 -60
  340. package/dist/o11y/record/errors.cjs +20 -20
  341. package/dist/o11y/record/errors.cjs.map +1 -1
  342. package/dist/o11y/record/errors.d.cts +18 -18
  343. package/dist/o11y/record/errors.d.mts +18 -18
  344. package/dist/o11y/record/errors.d.ts +18 -18
  345. package/dist/o11y/record/errors.js +20 -20
  346. package/dist/o11y/record/families.cjs +269 -264
  347. package/dist/o11y/record/families.cjs.map +1 -1
  348. package/dist/o11y/record/families.d.cts +1589 -1573
  349. package/dist/o11y/record/families.d.mts +1589 -1573
  350. package/dist/o11y/record/families.d.ts +1589 -1573
  351. package/dist/o11y/record/families.js +64 -64
  352. package/dist/o11y/record/family-projectors.cjs +31 -58
  353. package/dist/o11y/record/family-projectors.cjs.map +1 -1
  354. package/dist/o11y/record/family-projectors.d.cts +2933 -34
  355. package/dist/o11y/record/family-projectors.d.mts +2933 -34
  356. package/dist/o11y/record/family-projectors.d.ts +2933 -34
  357. package/dist/o11y/record/family-projectors.js +10 -4
  358. package/dist/o11y/record/family-writers.cjs +207 -336
  359. package/dist/o11y/record/family-writers.cjs.map +1 -1
  360. package/dist/o11y/record/family-writers.d.cts +637 -5260
  361. package/dist/o11y/record/family-writers.d.mts +637 -5260
  362. package/dist/o11y/record/family-writers.d.ts +637 -5260
  363. package/dist/o11y/record/family-writers.js +14 -56
  364. package/dist/o11y/record/index.js +446 -484
  365. package/dist/o11y/record/limits.cjs +45 -45
  366. package/dist/o11y/record/limits.cjs.map +1 -1
  367. package/dist/o11y/record/limits.d.cts +32 -32
  368. package/dist/o11y/record/limits.d.mts +32 -32
  369. package/dist/o11y/record/limits.d.ts +32 -32
  370. package/dist/o11y/record/limits.js +64 -64
  371. package/dist/o11y/record/model.cjs +271 -277
  372. package/dist/o11y/record/model.cjs.map +1 -1
  373. package/dist/o11y/record/model.d.cts +160 -186
  374. package/dist/o11y/record/model.d.mts +160 -186
  375. package/dist/o11y/record/model.d.ts +160 -186
  376. package/dist/o11y/record/model.js +154 -154
  377. package/dist/o11y/record/runner-producer.cjs +649 -520
  378. package/dist/o11y/record/runner-producer.cjs.map +1 -1
  379. package/dist/o11y/record/runner-producer.d.cts +39 -25
  380. package/dist/o11y/record/runner-producer.d.mts +39 -25
  381. package/dist/o11y/record/runner-producer.d.ts +39 -25
  382. package/dist/o11y/record/runner-producer.js +26 -22
  383. package/dist/o11y/record/validation.cjs +75 -75
  384. package/dist/o11y/record/validation.cjs.map +1 -1
  385. package/dist/o11y/record/validation.d.cts +35 -35
  386. package/dist/o11y/record/validation.d.mts +35 -35
  387. package/dist/o11y/record/validation.d.ts +35 -35
  388. package/dist/o11y/record/validation.js +24 -24
  389. package/dist/o11y/types.cjs.map +1 -1
  390. package/dist/o11y/types.d.cts +7 -5
  391. package/dist/o11y/types.d.mts +7 -5
  392. package/dist/o11y/types.d.ts +7 -5
  393. package/dist/plugin/contracts.cjs.map +1 -1
  394. package/dist/plugin/contracts.d.cts +0 -3
  395. package/dist/plugin/contracts.d.mts +0 -3
  396. package/dist/plugin/contracts.d.ts +0 -3
  397. package/dist/plugins/record/attachment.cjs +0 -59
  398. package/dist/plugins/record/attachment.cjs.map +1 -1
  399. package/dist/plugins/record/attachment.d.cts +6 -14
  400. package/dist/plugins/record/attachment.d.mts +6 -14
  401. package/dist/plugins/record/attachment.d.ts +6 -14
  402. package/dist/plugins/record/attachment.js +0 -16
  403. package/dist/plugins/record/capability.cjs +0 -255
  404. package/dist/plugins/record/capability.cjs.map +1 -1
  405. package/dist/plugins/record/capability.d.cts +1 -93
  406. package/dist/plugins/record/capability.d.mts +1 -93
  407. package/dist/plugins/record/capability.d.ts +1 -93
  408. package/dist/plugins/record/capability.js +0 -22
  409. package/dist/plugins/record/codec.cjs +0 -241
  410. package/dist/plugins/record/codec.cjs.map +1 -1
  411. package/dist/plugins/record/codec.d.cts +2 -28
  412. package/dist/plugins/record/codec.d.mts +2 -28
  413. package/dist/plugins/record/codec.d.ts +2 -28
  414. package/dist/plugins/record/codec.js +0 -44
  415. package/dist/plugins/record/index.cjs +0 -51
  416. package/dist/plugins/record/index.cjs.map +1 -1
  417. package/dist/plugins/record/index.d.cts +5 -9
  418. package/dist/plugins/record/index.d.mts +5 -9
  419. package/dist/plugins/record/index.d.ts +5 -9
  420. package/dist/plugins/record/index.js +0 -90
  421. package/dist/plugins/record/migration.cjs +0 -30
  422. package/dist/plugins/record/migration.cjs.map +1 -1
  423. package/dist/plugins/record/migration.d.cts +3 -20
  424. package/dist/plugins/record/migration.d.mts +3 -20
  425. package/dist/plugins/record/migration.d.ts +3 -20
  426. package/dist/plugins/record/migration.js +0 -2
  427. package/dist/plugins/record/model.cjs.map +1 -1
  428. package/dist/plugins/record/model.d.cts +2 -93
  429. package/dist/plugins/record/model.d.mts +2 -93
  430. package/dist/plugins/record/model.d.ts +2 -93
  431. package/dist/plugins/record/provenance.cjs +0 -316
  432. package/dist/plugins/record/provenance.cjs.map +1 -1
  433. package/dist/plugins/record/provenance.d.cts +1 -78
  434. package/dist/plugins/record/provenance.d.mts +1 -78
  435. package/dist/plugins/record/provenance.d.ts +1 -78
  436. package/dist/plugins/record/provenance.js +0 -20
  437. package/dist/record/attachment/blob-policy.cjs +3 -0
  438. package/dist/record/attachment/blob-policy.cjs.map +1 -0
  439. package/dist/record/attachment/blob-policy.d.cts +18 -0
  440. package/dist/record/attachment/blob-policy.d.mts +18 -0
  441. package/dist/record/attachment/blob-policy.d.ts +18 -0
  442. package/dist/record/attachment/blob-policy.js +4 -0
  443. package/dist/record/attachment/blob-policy.js.map +1 -0
  444. package/dist/record/attachment/blob-ref.cjs +42 -0
  445. package/dist/record/attachment/blob-ref.cjs.map +1 -0
  446. package/dist/record/attachment/blob-ref.d.cts +22 -0
  447. package/dist/record/attachment/blob-ref.d.mts +22 -0
  448. package/dist/record/attachment/blob-ref.d.ts +22 -0
  449. package/dist/record/attachment/blob-ref.js +14 -0
  450. package/dist/record/attachment/blob-ref.js.map +1 -0
  451. package/dist/record/attachment/errors.cjs +6 -34
  452. package/dist/record/attachment/errors.cjs.map +1 -1
  453. package/dist/record/attachment/errors.d.cts +2 -24
  454. package/dist/record/attachment/errors.d.mts +2 -24
  455. package/dist/record/attachment/errors.d.ts +2 -24
  456. package/dist/record/attachment/errors.js +4 -10
  457. package/dist/record/attachment/index.cjs +2 -8
  458. package/dist/record/attachment/index.cjs.map +1 -1
  459. package/dist/record/attachment/index.d.cts +3 -3
  460. package/dist/record/attachment/index.d.mts +3 -3
  461. package/dist/record/attachment/index.d.ts +3 -3
  462. package/dist/record/attachment/index.js +6 -18
  463. package/dist/record/attachment/internal.cjs +5 -14
  464. package/dist/record/attachment/internal.cjs.map +1 -1
  465. package/dist/record/attachment/internal.d.cts +3 -2
  466. package/dist/record/attachment/internal.d.mts +3 -2
  467. package/dist/record/attachment/internal.d.ts +3 -2
  468. package/dist/record/attachment/internal.js +12 -30
  469. package/dist/record/attachment/runtime.cjs +155 -745
  470. package/dist/record/attachment/runtime.cjs.map +1 -1
  471. package/dist/record/attachment/runtime.d.cts +25 -68
  472. package/dist/record/attachment/runtime.d.mts +25 -68
  473. package/dist/record/attachment/runtime.d.ts +25 -68
  474. package/dist/record/attachment/runtime.js +16 -48
  475. package/dist/record/attachment/types.cjs +3 -26
  476. package/dist/record/attachment/types.cjs.map +1 -1
  477. package/dist/record/attachment/types.d.cts +33 -132
  478. package/dist/record/attachment/types.d.mts +33 -132
  479. package/dist/record/attachment/types.d.ts +33 -132
  480. package/dist/record/attachment/types.js +10 -22
  481. package/dist/record/codec/core.cjs +102 -85
  482. package/dist/record/codec/core.cjs.map +1 -1
  483. package/dist/record/codec/core.d.cts +205 -55
  484. package/dist/record/codec/core.d.mts +205 -55
  485. package/dist/record/codec/core.d.ts +205 -55
  486. package/dist/record/codec/core.js +50 -42
  487. package/dist/record/codec/identifiers.cjs +24 -2
  488. package/dist/record/codec/identifiers.cjs.map +1 -1
  489. package/dist/record/codec/identifiers.d.cts +11 -2
  490. package/dist/record/codec/identifiers.d.mts +11 -2
  491. package/dist/record/codec/identifiers.d.ts +11 -2
  492. package/dist/record/codec/identifiers.js +36 -18
  493. package/dist/record/codec/index.js +86 -60
  494. package/dist/record/definition/attachment.cjs +108 -0
  495. package/dist/record/definition/attachment.cjs.map +1 -0
  496. package/dist/record/definition/attachment.d.cts +77 -0
  497. package/dist/record/definition/attachment.d.mts +77 -0
  498. package/dist/record/definition/attachment.d.ts +77 -0
  499. package/dist/record/definition/attachment.js +8 -0
  500. package/dist/record/definition/attachment.js.map +1 -0
  501. package/dist/record/definition/canonical.cjs +271 -0
  502. package/dist/record/definition/canonical.cjs.map +1 -0
  503. package/dist/record/definition/canonical.d.cts +38 -0
  504. package/dist/record/definition/canonical.d.mts +38 -0
  505. package/dist/record/definition/canonical.d.ts +38 -0
  506. package/dist/record/definition/canonical.js +10 -0
  507. package/dist/record/definition/canonical.js.map +1 -0
  508. package/dist/record/definition/core.cjs +13 -0
  509. package/dist/record/definition/core.cjs.map +1 -0
  510. package/dist/record/definition/core.d.cts +10 -0
  511. package/dist/record/definition/core.d.mts +10 -0
  512. package/dist/record/definition/core.d.ts +10 -0
  513. package/dist/record/definition/core.js +6 -0
  514. package/dist/record/definition/core.js.map +1 -0
  515. package/dist/record/definition/index.cjs +21 -0
  516. package/dist/record/definition/index.cjs.map +1 -0
  517. package/dist/record/definition/index.d.cts +4 -0
  518. package/dist/record/definition/index.d.mts +4 -0
  519. package/dist/record/definition/index.d.ts +4 -0
  520. package/dist/record/definition/index.js +16 -0
  521. package/dist/record/definition/index.js.map +1 -0
  522. package/dist/record/definition/schema-codec.cjs +347 -0
  523. package/dist/record/definition/schema-codec.cjs.map +1 -0
  524. package/dist/record/definition/schema-codec.d.cts +48 -0
  525. package/dist/record/definition/schema-codec.d.mts +48 -0
  526. package/dist/record/definition/schema-codec.d.ts +48 -0
  527. package/dist/record/definition/schema-codec.js +8 -0
  528. package/dist/record/definition/schema-codec.js.map +1 -0
  529. package/dist/record/errors/record-errors.cjs +2 -2
  530. package/dist/record/errors/record-errors.cjs.map +1 -1
  531. package/dist/record/errors/record-errors.d.cts +2 -2
  532. package/dist/record/errors/record-errors.d.mts +2 -2
  533. package/dist/record/errors/record-errors.d.ts +2 -2
  534. package/dist/record/family/artifacts.cjs +83 -0
  535. package/dist/record/family/artifacts.cjs.map +1 -0
  536. package/dist/record/family/artifacts.d.cts +225 -0
  537. package/dist/record/family/artifacts.d.mts +225 -0
  538. package/dist/record/family/artifacts.d.ts +225 -0
  539. package/dist/record/family/artifacts.js +14 -0
  540. package/dist/record/family/artifacts.js.map +1 -0
  541. package/dist/record/family/assertions.cjs +172 -0
  542. package/dist/record/family/assertions.cjs.map +1 -0
  543. package/dist/record/family/assertions.d.cts +292 -0
  544. package/dist/record/family/assertions.d.mts +292 -0
  545. package/dist/record/family/assertions.d.ts +292 -0
  546. package/dist/record/family/assertions.js +20 -0
  547. package/dist/record/family/assertions.js.map +1 -0
  548. package/dist/record/family/catalog.cjs +91 -0
  549. package/dist/record/family/catalog.cjs.map +1 -0
  550. package/dist/record/family/catalog.d.cts +3653 -0
  551. package/dist/record/family/catalog.d.mts +3653 -0
  552. package/dist/record/family/catalog.d.ts +3653 -0
  553. package/dist/record/family/catalog.js +34 -0
  554. package/dist/record/family/catalog.js.map +1 -0
  555. package/dist/record/family/common.cjs +80 -0
  556. package/dist/record/family/common.cjs.map +1 -0
  557. package/dist/record/family/common.d.cts +44 -0
  558. package/dist/record/family/common.d.mts +44 -0
  559. package/dist/record/family/common.d.ts +44 -0
  560. package/dist/record/family/common.js +28 -0
  561. package/dist/record/family/common.js.map +1 -0
  562. package/dist/record/family/file-changes.cjs +278 -0
  563. package/dist/record/family/file-changes.cjs.map +1 -0
  564. package/dist/record/family/file-changes.d.cts +643 -0
  565. package/dist/record/family/file-changes.d.mts +643 -0
  566. package/dist/record/family/file-changes.d.ts +643 -0
  567. package/dist/record/family/file-changes.js +32 -0
  568. package/dist/record/family/file-changes.js.map +1 -0
  569. package/dist/record/family/index.cjs +24 -0
  570. package/dist/record/family/index.cjs.map +1 -0
  571. package/dist/record/family/index.d.cts +7 -0
  572. package/dist/record/family/index.d.mts +7 -0
  573. package/dist/record/family/index.d.ts +7 -0
  574. package/dist/record/family/index.js +148 -0
  575. package/dist/record/family/index.js.map +1 -0
  576. package/dist/record/family/observability.cjs +511 -0
  577. package/dist/record/family/observability.cjs.map +1 -0
  578. package/dist/record/family/observability.d.cts +2879 -0
  579. package/dist/record/family/observability.d.mts +2879 -0
  580. package/dist/record/family/observability.d.ts +2879 -0
  581. package/dist/record/family/observability.js +30 -0
  582. package/dist/record/family/observability.js.map +1 -0
  583. package/dist/record/family/source-navigation.cjs +215 -0
  584. package/dist/record/family/source-navigation.cjs.map +1 -0
  585. package/dist/record/family/source-navigation.d.cts +330 -0
  586. package/dist/record/family/source-navigation.d.mts +330 -0
  587. package/dist/record/family/source-navigation.d.ts +330 -0
  588. package/dist/record/family/source-navigation.js +24 -0
  589. package/dist/record/family/source-navigation.js.map +1 -0
  590. package/dist/record/family/sources.cjs +82 -0
  591. package/dist/record/family/sources.cjs.map +1 -0
  592. package/dist/record/family/sources.d.cts +81 -0
  593. package/dist/record/family/sources.d.mts +81 -0
  594. package/dist/record/family/sources.d.ts +81 -0
  595. package/dist/record/family/sources.js +14 -0
  596. package/dist/record/family/sources.js.map +1 -0
  597. package/dist/record/host/index.cjs +11 -0
  598. package/dist/record/host/index.cjs.map +1 -0
  599. package/dist/record/host/index.d.cts +7 -0
  600. package/dist/record/host/index.d.mts +7 -0
  601. package/dist/record/host/index.d.ts +7 -0
  602. package/dist/record/host/index.js +6 -0
  603. package/dist/record/host/index.js.map +1 -0
  604. package/dist/record/host/index.mjs +6 -0
  605. package/dist/record/host/index.mjs.map +1 -0
  606. package/dist/record/host/runtime.cjs +1696 -0
  607. package/dist/record/host/runtime.cjs.map +1 -0
  608. package/dist/record/host/runtime.d.cts +2 -0
  609. package/dist/record/host/runtime.d.mts +2 -0
  610. package/dist/record/host/runtime.d.ts +2 -0
  611. package/dist/record/host/runtime.js +6 -0
  612. package/dist/record/host/types.cjs +9 -0
  613. package/dist/record/host/types.cjs.map +1 -0
  614. package/dist/record/host/types.d.cts +259 -0
  615. package/dist/record/host/types.d.mts +259 -0
  616. package/dist/record/host/types.d.ts +259 -0
  617. package/dist/record/host/types.js +14 -0
  618. package/dist/record/host/types.js.map +1 -0
  619. package/dist/record/index.cjs +19 -52
  620. package/dist/record/index.cjs.map +1 -1
  621. package/dist/record/index.d.cts +14 -11
  622. package/dist/record/index.d.mts +14 -11
  623. package/dist/record/index.d.ts +14 -11
  624. package/dist/record/index.js +16 -310
  625. package/dist/record/index.mjs +20 -0
  626. package/dist/record/index.mjs.map +1 -0
  627. package/dist/record/maintenance/runtime.cjs +9 -11
  628. package/dist/record/maintenance/runtime.cjs.map +1 -1
  629. package/dist/record/maintenance/runtime.d.cts +4 -5
  630. package/dist/record/maintenance/runtime.d.mts +4 -5
  631. package/dist/record/maintenance/runtime.d.ts +4 -5
  632. package/dist/record/maintenance/types.cjs.map +1 -1
  633. package/dist/record/maintenance/types.d.cts +7 -8
  634. package/dist/record/maintenance/types.d.mts +7 -8
  635. package/dist/record/maintenance/types.d.ts +7 -8
  636. package/dist/record/migration/index.cjs +2 -25
  637. package/dist/record/migration/index.cjs.map +1 -1
  638. package/dist/record/migration/index.d.cts +11 -8
  639. package/dist/record/migration/index.d.mts +11 -8
  640. package/dist/record/migration/index.d.ts +11 -8
  641. package/dist/record/migration/index.js +2 -44
  642. package/dist/record/model/core.cjs +1 -4
  643. package/dist/record/model/core.cjs.map +1 -1
  644. package/dist/record/model/core.d.cts +59 -39
  645. package/dist/record/model/core.d.mts +59 -39
  646. package/dist/record/model/core.d.ts +59 -39
  647. package/dist/record/model/definition.cjs +147 -0
  648. package/dist/record/model/definition.cjs.map +1 -0
  649. package/dist/record/model/definition.d.cts +463 -0
  650. package/dist/record/model/definition.d.mts +463 -0
  651. package/dist/record/model/definition.d.ts +463 -0
  652. package/dist/record/model/definition.js +40 -0
  653. package/dist/record/model/definition.js.map +1 -0
  654. package/dist/record/model/identifiers.cjs +52 -10
  655. package/dist/record/model/identifiers.cjs.map +1 -1
  656. package/dist/record/model/identifiers.d.cts +44 -3
  657. package/dist/record/model/identifiers.d.mts +44 -3
  658. package/dist/record/model/identifiers.d.ts +44 -3
  659. package/dist/record/model/identifiers.js +62 -36
  660. package/dist/record/model/index.cjs +1 -0
  661. package/dist/record/model/index.cjs.map +1 -1
  662. package/dist/record/model/index.d.cts +1 -0
  663. package/dist/record/model/index.d.mts +1 -0
  664. package/dist/record/model/index.d.ts +1 -0
  665. package/dist/record/model/index.js +86 -48
  666. package/dist/record/model/read-state.cjs.map +1 -1
  667. package/dist/record/model/read-state.d.cts +6 -9
  668. package/dist/record/model/read-state.d.mts +6 -9
  669. package/dist/record/model/read-state.d.ts +6 -9
  670. package/dist/record/model/run-context.cjs +80 -0
  671. package/dist/record/model/run-context.cjs.map +1 -0
  672. package/dist/record/model/run-context.d.cts +30 -0
  673. package/dist/record/model/run-context.d.mts +30 -0
  674. package/dist/record/model/run-context.d.ts +30 -0
  675. package/dist/record/model/run-context.js +14 -0
  676. package/dist/record/model/run-context.js.map +1 -0
  677. package/dist/record/model/validation.cjs +155 -54
  678. package/dist/record/model/validation.cjs.map +1 -1
  679. package/dist/record/model/validation.d.cts +16 -11
  680. package/dist/record/model/validation.d.mts +16 -11
  681. package/dist/record/model/validation.d.ts +16 -11
  682. package/dist/record/model/validation.js +10 -8
  683. package/dist/record/platform/errors.cjs +2 -8
  684. package/dist/record/platform/errors.cjs.map +1 -1
  685. package/dist/record/platform/errors.d.cts +3 -13
  686. package/dist/record/platform/errors.d.mts +3 -13
  687. package/dist/record/platform/errors.d.ts +3 -13
  688. package/dist/record/platform/errors.js +0 -2
  689. package/dist/record/platform/index.js +38 -48
  690. package/dist/record/platform/node.cjs +3 -142
  691. package/dist/record/platform/node.cjs.map +1 -1
  692. package/dist/record/platform/node.d.cts +2 -4
  693. package/dist/record/platform/node.d.mts +2 -4
  694. package/dist/record/platform/node.d.ts +2 -4
  695. package/dist/record/platform/node.js +0 -4
  696. package/dist/record/platform/root.cjs +0 -11
  697. package/dist/record/platform/root.cjs.map +1 -1
  698. package/dist/record/platform/root.d.cts +0 -2
  699. package/dist/record/platform/root.d.mts +0 -2
  700. package/dist/record/platform/root.d.ts +0 -2
  701. package/dist/record/platform/services.cjs +1 -7
  702. package/dist/record/platform/services.cjs.map +1 -1
  703. package/dist/record/platform/services.d.cts +2 -29
  704. package/dist/record/platform/services.d.mts +2 -29
  705. package/dist/record/platform/services.d.ts +2 -29
  706. package/dist/record/platform/services.js +2 -6
  707. package/dist/record/reader/errors.cjs.map +1 -1
  708. package/dist/record/reader/errors.d.cts +3 -2
  709. package/dist/record/reader/errors.d.mts +3 -2
  710. package/dist/record/reader/errors.d.ts +3 -2
  711. package/dist/record/reader/format.cjs +26 -40
  712. package/dist/record/reader/format.cjs.map +1 -1
  713. package/dist/record/reader/format.d.cts +6 -7
  714. package/dist/record/reader/format.d.mts +6 -7
  715. package/dist/record/reader/format.d.ts +6 -7
  716. package/dist/record/reader/index.js +22 -30
  717. package/dist/record/reader/runtime.cjs +112 -636
  718. package/dist/record/reader/runtime.cjs.map +1 -1
  719. package/dist/record/reader/runtime.d.cts +43 -12
  720. package/dist/record/reader/runtime.d.mts +43 -12
  721. package/dist/record/reader/runtime.d.ts +43 -12
  722. package/dist/record/reader/runtime.js +6 -10
  723. package/dist/record/reader/types.cjs +3 -6
  724. package/dist/record/reader/types.cjs.map +1 -1
  725. package/dist/record/reader/types.d.cts +3 -42
  726. package/dist/record/reader/types.d.mts +3 -42
  727. package/dist/record/reader/types.d.ts +3 -42
  728. package/dist/record/reader/types.js +0 -4
  729. package/dist/record/writer/errors.cjs +7 -0
  730. package/dist/record/writer/errors.cjs.map +1 -1
  731. package/dist/record/writer/errors.d.cts +5 -0
  732. package/dist/record/writer/errors.d.mts +5 -0
  733. package/dist/record/writer/errors.d.ts +5 -0
  734. package/dist/record/writer/errors.js +6 -4
  735. package/dist/record/writer/index.cjs +0 -1
  736. package/dist/record/writer/index.cjs.map +1 -1
  737. package/dist/record/writer/index.d.cts +0 -1
  738. package/dist/record/writer/index.d.mts +0 -1
  739. package/dist/record/writer/index.d.ts +0 -1
  740. package/dist/record/writer/index.js +10 -10
  741. package/dist/record/writer/types.cjs.map +1 -1
  742. package/dist/record/writer/types.d.cts +12 -17
  743. package/dist/record/writer/types.d.mts +12 -17
  744. package/dist/record/writer/types.d.ts +12 -17
  745. package/dist/report/assets/colors.cjs +70 -0
  746. package/dist/report/assets/colors.cjs.map +1 -0
  747. package/dist/report/assets/colors.d.cts +22 -0
  748. package/dist/report/assets/colors.d.mts +22 -0
  749. package/dist/report/assets/colors.d.ts +22 -0
  750. package/dist/report/assets/colors.js +18 -0
  751. package/dist/report/assets/colors.js.map +1 -0
  752. package/dist/report/assets/enhance.js +466 -0
  753. package/dist/report/assets/series-encoding.cjs +116 -0
  754. package/dist/report/assets/series-encoding.cjs.map +1 -0
  755. package/dist/report/assets/series-encoding.d.cts +36 -0
  756. package/dist/report/assets/series-encoding.d.mts +36 -0
  757. package/dist/report/assets/series-encoding.d.ts +36 -0
  758. package/dist/report/assets/series-encoding.js +22 -0
  759. package/dist/report/assets/series-encoding.js.map +1 -0
  760. package/dist/report/assets/styles.css +2678 -0
  761. package/dist/report/built-in/analysis-values.cjs +28 -0
  762. package/dist/report/built-in/analysis-values.cjs.map +1 -0
  763. package/dist/report/built-in/analysis-values.d.cts +41 -0
  764. package/dist/report/built-in/analysis-values.d.mts +41 -0
  765. package/dist/report/built-in/analysis-values.d.ts +41 -0
  766. package/dist/report/built-in/analysis-values.js +10 -0
  767. package/dist/report/built-in/analysis-values.js.map +1 -0
  768. package/dist/report/built-in/attempt-overview.cjs +62 -384
  769. package/dist/report/built-in/attempt-overview.cjs.map +1 -1
  770. package/dist/report/built-in/attempt-overview.d.cts +4 -8
  771. package/dist/report/built-in/attempt-overview.d.mts +4 -8
  772. package/dist/report/built-in/attempt-overview.d.ts +4 -8
  773. package/dist/report/built-in/execution.cjs +40 -747
  774. package/dist/report/built-in/execution.cjs.map +1 -1
  775. package/dist/report/built-in/execution.d.cts +10 -19
  776. package/dist/report/built-in/execution.d.mts +10 -19
  777. package/dist/report/built-in/execution.d.ts +10 -19
  778. package/dist/report/built-in/index.cjs +15 -28
  779. package/dist/report/built-in/index.cjs.map +1 -1
  780. package/dist/report/built-in/index.d.cts +4 -6
  781. package/dist/report/built-in/index.d.mts +4 -6
  782. package/dist/report/built-in/index.d.ts +4 -6
  783. package/dist/report/built-in/index.js +22 -31
  784. package/dist/report/built-in/index.mjs +22 -31
  785. package/dist/report/built-in/machine.cjs +41 -0
  786. package/dist/report/built-in/machine.cjs.map +1 -0
  787. package/dist/report/built-in/machine.d.cts +29 -0
  788. package/dist/report/built-in/machine.d.mts +29 -0
  789. package/dist/report/built-in/machine.d.ts +29 -0
  790. package/dist/report/built-in/machine.js +8 -0
  791. package/dist/report/built-in/machine.js.map +1 -0
  792. package/dist/report/built-in/overview.cjs +38 -200
  793. package/dist/report/built-in/overview.cjs.map +1 -1
  794. package/dist/report/built-in/overview.d.cts +5 -5
  795. package/dist/report/built-in/overview.d.mts +5 -5
  796. package/dist/report/built-in/overview.d.ts +5 -5
  797. package/dist/report/built-in/overview.js +0 -2
  798. package/dist/report/built-in/result-components.cjs +325 -0
  799. package/dist/report/built-in/result-components.cjs.map +1 -0
  800. package/dist/report/built-in/result-components.d.cts +94 -0
  801. package/dist/report/built-in/result-components.d.mts +94 -0
  802. package/dist/report/built-in/result-components.d.ts +94 -0
  803. package/dist/report/built-in/result-components.js +24 -0
  804. package/dist/report/built-in/result-components.js.map +1 -0
  805. package/dist/report/built-in/run-membership-overview.cjs +48 -184
  806. package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
  807. package/dist/report/built-in/run-membership-overview.d.cts +5 -5
  808. package/dist/report/built-in/run-membership-overview.d.mts +5 -5
  809. package/dist/report/built-in/run-membership-overview.d.ts +5 -5
  810. package/dist/report/built-in/sandbox-history.cjs +31 -372
  811. package/dist/report/built-in/sandbox-history.cjs.map +1 -1
  812. package/dist/report/built-in/sandbox-history.d.cts +5 -8
  813. package/dist/report/built-in/sandbox-history.d.mts +5 -8
  814. package/dist/report/built-in/sandbox-history.d.ts +5 -8
  815. package/dist/report/built-in/source.cjs +40 -150
  816. package/dist/report/built-in/source.cjs.map +1 -1
  817. package/dist/report/built-in/source.d.cts +10 -11
  818. package/dist/report/built-in/source.d.mts +10 -11
  819. package/dist/report/built-in/source.d.ts +10 -11
  820. package/dist/report/built-in/source.js +1 -0
  821. package/dist/report/built-in/standard.cjs +135 -0
  822. package/dist/report/built-in/standard.cjs.map +1 -0
  823. package/dist/report/built-in/standard.d.cts +91 -0
  824. package/dist/report/built-in/standard.d.mts +91 -0
  825. package/dist/report/built-in/standard.d.ts +91 -0
  826. package/dist/report/built-in/standard.js +17 -0
  827. package/dist/report/built-in/standard.js.map +1 -0
  828. package/dist/report/components/attempt-detail/compute.cjs +763 -0
  829. package/dist/report/components/attempt-detail/compute.cjs.map +1 -0
  830. package/dist/report/components/attempt-detail/compute.d.cts +370 -0
  831. package/dist/report/components/attempt-detail/compute.d.mts +370 -0
  832. package/dist/report/components/attempt-detail/compute.d.ts +370 -0
  833. package/dist/report/components/attempt-detail/compute.js +46 -0
  834. package/dist/report/components/attempt-detail/compute.js.map +1 -0
  835. package/dist/report/components/attempt-detail/content.cjs +411 -0
  836. package/dist/report/components/attempt-detail/content.cjs.map +1 -0
  837. package/dist/report/components/attempt-detail/content.d.cts +34 -0
  838. package/dist/report/components/attempt-detail/content.d.mts +34 -0
  839. package/dist/report/components/attempt-detail/content.d.ts +34 -0
  840. package/dist/report/components/attempt-detail/content.js +30 -0
  841. package/dist/report/components/attempt-detail/content.js.map +1 -0
  842. package/dist/report/components/attempt-detail/index.cjs +314 -0
  843. package/dist/report/components/attempt-detail/index.cjs.map +1 -0
  844. package/dist/report/components/attempt-detail/index.d.cts +27 -0
  845. package/dist/report/components/attempt-detail/index.d.mts +27 -0
  846. package/dist/report/components/attempt-detail/index.d.ts +27 -0
  847. package/dist/report/components/attempt-detail/index.js +34 -0
  848. package/dist/report/components/attempt-detail/index.js.map +1 -0
  849. package/dist/report/components/attempt-detail/validate.cjs +497 -0
  850. package/dist/report/components/attempt-detail/validate.cjs.map +1 -0
  851. package/dist/report/components/attempt-detail/validate.d.cts +14 -0
  852. package/dist/report/components/attempt-detail/validate.d.mts +14 -0
  853. package/dist/report/components/attempt-detail/validate.d.ts +14 -0
  854. package/dist/report/components/attempt-detail/validate.js +30 -0
  855. package/dist/report/components/attempt-detail/validate.js.map +1 -0
  856. package/dist/report/components/entity-lists/compute.cjs +426 -0
  857. package/dist/report/components/entity-lists/compute.cjs.map +1 -0
  858. package/dist/report/components/entity-lists/compute.d.cts +107 -0
  859. package/dist/report/components/entity-lists/compute.d.mts +107 -0
  860. package/dist/report/components/entity-lists/compute.d.ts +107 -0
  861. package/dist/report/components/entity-lists/compute.js +12 -0
  862. package/dist/report/components/entity-lists/compute.js.map +1 -0
  863. package/dist/report/components/entity-lists/content.cjs +275 -0
  864. package/dist/report/components/entity-lists/content.cjs.map +1 -0
  865. package/dist/report/components/entity-lists/content.d.cts +4 -0
  866. package/dist/report/components/entity-lists/content.d.mts +4 -0
  867. package/dist/report/components/entity-lists/content.d.ts +4 -0
  868. package/dist/report/components/entity-lists/content.js +8 -0
  869. package/dist/report/components/entity-lists/content.js.map +1 -0
  870. package/dist/report/components/entity-lists/index.cjs +48 -0
  871. package/dist/report/components/entity-lists/index.cjs.map +1 -0
  872. package/dist/report/components/entity-lists/index.d.cts +39 -0
  873. package/dist/report/components/entity-lists/index.d.mts +39 -0
  874. package/dist/report/components/entity-lists/index.d.ts +39 -0
  875. package/dist/report/components/entity-lists/index.js +22 -0
  876. package/dist/report/components/entity-lists/index.js.map +1 -0
  877. package/dist/report/components/experiment-detail/compute.cjs +228 -0
  878. package/dist/report/components/experiment-detail/compute.cjs.map +1 -0
  879. package/dist/report/components/experiment-detail/compute.d.cts +72 -0
  880. package/dist/report/components/experiment-detail/compute.d.mts +72 -0
  881. package/dist/report/components/experiment-detail/compute.d.ts +72 -0
  882. package/dist/report/components/experiment-detail/compute.js +6 -0
  883. package/dist/report/components/experiment-detail/compute.js.map +1 -0
  884. package/dist/report/components/experiment-detail/index.cjs +84 -0
  885. package/dist/report/components/experiment-detail/index.cjs.map +1 -0
  886. package/dist/report/components/experiment-detail/index.d.cts +13 -0
  887. package/dist/report/components/experiment-detail/index.d.mts +13 -0
  888. package/dist/report/components/experiment-detail/index.d.ts +13 -0
  889. package/dist/report/components/experiment-detail/index.js +6 -0
  890. package/dist/report/components/experiment-detail/index.js.map +1 -0
  891. package/dist/report/components/site-components/HeroCard.cjs +38 -0
  892. package/dist/report/components/site-components/HeroCard.cjs.map +1 -0
  893. package/dist/report/components/site-components/HeroCard.d.cts +14 -0
  894. package/dist/report/components/site-components/HeroCard.d.mts +14 -0
  895. package/dist/report/components/site-components/HeroCard.d.ts +14 -0
  896. package/dist/report/components/site-components/HeroCard.js +6 -0
  897. package/dist/report/components/site-components/HeroCard.js.map +1 -0
  898. package/dist/report/components/site-components/PoweredBy.cjs +12 -0
  899. package/dist/report/components/site-components/PoweredBy.cjs.map +1 -0
  900. package/dist/report/components/site-components/PoweredBy.d.cts +5 -0
  901. package/dist/report/components/site-components/PoweredBy.d.mts +5 -0
  902. package/dist/report/components/site-components/PoweredBy.d.ts +5 -0
  903. package/dist/report/components/site-components/PoweredBy.js +8 -0
  904. package/dist/report/components/site-components/PoweredBy.js.map +1 -0
  905. package/dist/report/components/site-components/compute.cjs +130 -0
  906. package/dist/report/components/site-components/compute.cjs.map +1 -0
  907. package/dist/report/components/site-components/compute.d.cts +36 -0
  908. package/dist/report/components/site-components/compute.d.mts +36 -0
  909. package/dist/report/components/site-components/compute.d.ts +36 -0
  910. package/dist/report/components/site-components/compute.js +16 -0
  911. package/dist/report/components/site-components/compute.js.map +1 -0
  912. package/dist/report/components/site-components/content.cjs +9 -0
  913. package/dist/report/components/site-components/content.cjs.map +1 -0
  914. package/dist/report/components/site-components/content.d.cts +118 -0
  915. package/dist/report/components/site-components/content.d.mts +118 -0
  916. package/dist/report/components/site-components/content.d.ts +118 -0
  917. package/dist/report/components/site-components/content.js +12 -0
  918. package/dist/report/components/site-components/content.js.map +1 -0
  919. package/dist/report/components/site-components/faces.cjs +33 -0
  920. package/dist/report/components/site-components/faces.cjs.map +1 -0
  921. package/dist/report/components/site-components/faces.d.cts +9 -0
  922. package/dist/report/components/site-components/faces.d.mts +9 -0
  923. package/dist/report/components/site-components/faces.d.ts +9 -0
  924. package/dist/report/components/site-components/faces.js +6 -0
  925. package/dist/report/components/site-components/faces.js.map +1 -0
  926. package/dist/report/components/site-components/hero-types.cjs +3 -0
  927. package/dist/report/components/site-components/hero-types.cjs.map +1 -0
  928. package/dist/report/components/site-components/hero-types.d.cts +17 -0
  929. package/dist/report/components/site-components/hero-types.d.mts +17 -0
  930. package/dist/report/components/site-components/hero-types.d.ts +17 -0
  931. package/dist/report/components/site-components/hero-types.js +4 -0
  932. package/dist/report/components/site-components/hero-types.js.map +1 -0
  933. package/dist/report/components/site-components/index.cjs +90 -0
  934. package/dist/report/components/site-components/index.cjs.map +1 -0
  935. package/dist/report/components/site-components/index.d.cts +58 -0
  936. package/dist/report/components/site-components/index.d.mts +58 -0
  937. package/dist/report/components/site-components/index.d.ts +58 -0
  938. package/dist/report/components/site-components/index.js +26 -0
  939. package/dist/report/components/site-components/index.js.map +1 -0
  940. package/dist/report/components/site-components/projections.cjs +86 -0
  941. package/dist/report/components/site-components/projections.cjs.map +1 -0
  942. package/dist/report/components/site-components/projections.d.cts +11 -0
  943. package/dist/report/components/site-components/projections.d.mts +11 -0
  944. package/dist/report/components/site-components/projections.d.ts +11 -0
  945. package/dist/report/components/site-components/projections.js +12 -0
  946. package/dist/report/components/site-components/projections.js.map +1 -0
  947. package/dist/report/components/site-components/scope-warnings.cjs +89 -0
  948. package/dist/report/components/site-components/scope-warnings.cjs.map +1 -0
  949. package/dist/report/components/site-components/scope-warnings.d.cts +34 -0
  950. package/dist/report/components/site-components/scope-warnings.d.mts +34 -0
  951. package/dist/report/components/site-components/scope-warnings.d.ts +34 -0
  952. package/dist/report/components/site-components/scope-warnings.js +8 -0
  953. package/dist/report/components/site-components/scope-warnings.js.map +1 -0
  954. package/dist/report/components/site-components/snapshot-diagnostics.cjs +43 -0
  955. package/dist/report/components/site-components/snapshot-diagnostics.cjs.map +1 -0
  956. package/dist/report/components/site-components/snapshot-diagnostics.d.cts +15 -0
  957. package/dist/report/components/site-components/snapshot-diagnostics.d.mts +15 -0
  958. package/dist/report/components/site-components/snapshot-diagnostics.d.ts +15 -0
  959. package/dist/report/components/site-components/snapshot-diagnostics.js +8 -0
  960. package/dist/report/components/site-components/snapshot-diagnostics.js.map +1 -0
  961. package/dist/report/components/site-components/validators.cjs +140 -0
  962. package/dist/report/components/site-components/validators.cjs.map +1 -0
  963. package/dist/report/components/site-components/validators.d.cts +9 -0
  964. package/dist/report/components/site-components/validators.d.mts +9 -0
  965. package/dist/report/components/site-components/validators.d.ts +9 -0
  966. package/dist/report/components/site-components/validators.js +16 -0
  967. package/dist/report/components/site-components/validators.js.map +1 -0
  968. package/dist/report/components/summaries/compute.cjs +224 -0
  969. package/dist/report/components/summaries/compute.cjs.map +1 -0
  970. package/dist/report/components/summaries/compute.d.cts +78 -0
  971. package/dist/report/components/summaries/compute.d.mts +78 -0
  972. package/dist/report/components/summaries/compute.d.ts +78 -0
  973. package/dist/report/components/summaries/compute.js +10 -0
  974. package/dist/report/components/summaries/compute.js.map +1 -0
  975. package/dist/report/components/summaries/index.cjs +68 -0
  976. package/dist/report/components/summaries/index.cjs.map +1 -0
  977. package/dist/report/components/summaries/index.d.cts +42 -0
  978. package/dist/report/components/summaries/index.d.mts +42 -0
  979. package/dist/report/components/summaries/index.d.ts +42 -0
  980. package/dist/report/components/summaries/index.js +12 -0
  981. package/dist/report/components/summaries/index.js.map +1 -0
  982. package/dist/report/components/summaries/stability-overview.cjs +27 -0
  983. package/dist/report/components/summaries/stability-overview.cjs.map +1 -0
  984. package/dist/report/components/summaries/stability-overview.d.cts +19 -0
  985. package/dist/report/components/summaries/stability-overview.d.mts +19 -0
  986. package/dist/report/components/summaries/stability-overview.d.ts +19 -0
  987. package/dist/report/components/summaries/stability-overview.js +6 -0
  988. package/dist/report/components/summaries/stability-overview.js.map +1 -0
  989. package/dist/report/definition/cell.cjs +90 -0
  990. package/dist/report/definition/cell.cjs.map +1 -0
  991. package/dist/report/definition/cell.d.cts +99 -0
  992. package/dist/report/definition/cell.d.mts +99 -0
  993. package/dist/report/definition/cell.d.ts +99 -0
  994. package/dist/report/definition/cell.js +8 -0
  995. package/dist/report/definition/cell.js.map +1 -0
  996. package/dist/report/definition/grid-layout.cjs +151 -0
  997. package/dist/report/definition/grid-layout.cjs.map +1 -0
  998. package/dist/report/definition/grid-layout.d.cts +77 -0
  999. package/dist/report/definition/grid-layout.d.mts +77 -0
  1000. package/dist/report/definition/grid-layout.d.ts +77 -0
  1001. package/dist/report/definition/grid-layout.js +20 -0
  1002. package/dist/report/definition/grid-layout.js.map +1 -0
  1003. package/dist/report/definition/primitives/callouts-logic.cjs +113 -0
  1004. package/dist/report/definition/primitives/callouts-logic.cjs.map +1 -0
  1005. package/dist/report/definition/primitives/callouts-logic.d.cts +26 -0
  1006. package/dist/report/definition/primitives/callouts-logic.d.mts +26 -0
  1007. package/dist/report/definition/primitives/callouts-logic.d.ts +26 -0
  1008. package/dist/report/definition/primitives/callouts-logic.js +20 -0
  1009. package/dist/report/definition/primitives/callouts-logic.js.map +1 -0
  1010. package/dist/report/definition/primitives/callouts.cjs +105 -0
  1011. package/dist/report/definition/primitives/callouts.cjs.map +1 -0
  1012. package/dist/report/definition/primitives/callouts.d.cts +9 -0
  1013. package/dist/report/definition/primitives/callouts.d.mts +9 -0
  1014. package/dist/report/definition/primitives/callouts.d.ts +9 -0
  1015. package/dist/report/definition/primitives/callouts.js +6 -0
  1016. package/dist/report/definition/primitives/callouts.js.map +1 -0
  1017. package/dist/report/definition/primitives/chart-map.cjs +138 -0
  1018. package/dist/report/definition/primitives/chart-map.cjs.map +1 -0
  1019. package/dist/report/definition/primitives/chart-map.d.cts +77 -0
  1020. package/dist/report/definition/primitives/chart-map.d.mts +77 -0
  1021. package/dist/report/definition/primitives/chart-map.d.ts +77 -0
  1022. package/dist/report/definition/primitives/chart-map.js +12 -0
  1023. package/dist/report/definition/primitives/chart-map.js.map +1 -0
  1024. package/dist/report/definition/primitives/chart.cjs +651 -0
  1025. package/dist/report/definition/primitives/chart.cjs.map +1 -0
  1026. package/dist/report/definition/primitives/chart.d.cts +43 -0
  1027. package/dist/report/definition/primitives/chart.d.mts +43 -0
  1028. package/dist/report/definition/primitives/chart.d.ts +43 -0
  1029. package/dist/report/definition/primitives/chart.js +8 -0
  1030. package/dist/report/definition/primitives/chart.js.map +1 -0
  1031. package/dist/report/definition/primitives/conversation.cjs +255 -0
  1032. package/dist/report/definition/primitives/conversation.cjs.map +1 -0
  1033. package/dist/report/definition/primitives/conversation.d.cts +71 -0
  1034. package/dist/report/definition/primitives/conversation.d.mts +71 -0
  1035. package/dist/report/definition/primitives/conversation.d.ts +71 -0
  1036. package/dist/report/definition/primitives/conversation.js +16 -0
  1037. package/dist/report/definition/primitives/conversation.js.map +1 -0
  1038. package/dist/report/definition/primitives/copy-block.cjs +55 -0
  1039. package/dist/report/definition/primitives/copy-block.cjs.map +1 -0
  1040. package/dist/report/definition/primitives/copy-block.d.cts +19 -0
  1041. package/dist/report/definition/primitives/copy-block.d.mts +19 -0
  1042. package/dist/report/definition/primitives/copy-block.d.ts +19 -0
  1043. package/dist/report/definition/primitives/copy-block.js +6 -0
  1044. package/dist/report/definition/primitives/copy-block.js.map +1 -0
  1045. package/dist/report/definition/primitives/diff-lines.cjs +163 -0
  1046. package/dist/report/definition/primitives/diff-lines.cjs.map +1 -0
  1047. package/dist/report/definition/primitives/diff-lines.d.cts +68 -0
  1048. package/dist/report/definition/primitives/diff-lines.d.mts +68 -0
  1049. package/dist/report/definition/primitives/diff-lines.d.ts +68 -0
  1050. package/dist/report/definition/primitives/diff-lines.js +28 -0
  1051. package/dist/report/definition/primitives/diff-lines.js.map +1 -0
  1052. package/dist/report/definition/primitives/diff-view.cjs +155 -0
  1053. package/dist/report/definition/primitives/diff-view.cjs.map +1 -0
  1054. package/dist/report/definition/primitives/diff-view.d.cts +14 -0
  1055. package/dist/report/definition/primitives/diff-view.d.mts +14 -0
  1056. package/dist/report/definition/primitives/diff-view.d.ts +14 -0
  1057. package/dist/report/definition/primitives/diff-view.js +8 -0
  1058. package/dist/report/definition/primitives/diff-view.js.map +1 -0
  1059. package/dist/report/definition/primitives/downloads.cjs +89 -0
  1060. package/dist/report/definition/primitives/downloads.cjs.map +1 -0
  1061. package/dist/report/definition/primitives/downloads.d.cts +28 -0
  1062. package/dist/report/definition/primitives/downloads.d.mts +28 -0
  1063. package/dist/report/definition/primitives/downloads.d.ts +28 -0
  1064. package/dist/report/definition/primitives/downloads.js +8 -0
  1065. package/dist/report/definition/primitives/downloads.js.map +1 -0
  1066. package/dist/report/definition/primitives/markdown.cjs +290 -0
  1067. package/dist/report/definition/primitives/markdown.cjs.map +1 -0
  1068. package/dist/report/definition/primitives/markdown.d.cts +29 -0
  1069. package/dist/report/definition/primitives/markdown.d.mts +29 -0
  1070. package/dist/report/definition/primitives/markdown.d.ts +29 -0
  1071. package/dist/report/definition/primitives/markdown.js +16 -0
  1072. package/dist/report/definition/primitives/markdown.js.map +1 -0
  1073. package/dist/report/definition/primitives/marks.cjs +96 -0
  1074. package/dist/report/definition/primitives/marks.cjs.map +1 -0
  1075. package/dist/report/definition/primitives/marks.d.cts +125 -0
  1076. package/dist/report/definition/primitives/marks.d.mts +125 -0
  1077. package/dist/report/definition/primitives/marks.d.ts +125 -0
  1078. package/dist/report/definition/primitives/marks.js +14 -0
  1079. package/dist/report/definition/primitives/marks.js.map +1 -0
  1080. package/dist/report/definition/primitives/points-dataset.cjs +147 -0
  1081. package/dist/report/definition/primitives/points-dataset.cjs.map +1 -0
  1082. package/dist/report/definition/primitives/points-dataset.d.cts +17 -0
  1083. package/dist/report/definition/primitives/points-dataset.d.mts +17 -0
  1084. package/dist/report/definition/primitives/points-dataset.d.ts +17 -0
  1085. package/dist/report/definition/primitives/points-dataset.js +6 -0
  1086. package/dist/report/definition/primitives/points-dataset.js.map +1 -0
  1087. package/dist/report/definition/primitives/shared.cjs +131 -0
  1088. package/dist/report/definition/primitives/shared.cjs.map +1 -0
  1089. package/dist/report/definition/primitives/shared.d.cts +67 -0
  1090. package/dist/report/definition/primitives/shared.d.mts +67 -0
  1091. package/dist/report/definition/primitives/shared.d.ts +67 -0
  1092. package/dist/report/definition/primitives/shared.js +34 -0
  1093. package/dist/report/definition/primitives/shared.js.map +1 -0
  1094. package/dist/report/definition/primitives/source-view.cjs +204 -0
  1095. package/dist/report/definition/primitives/source-view.cjs.map +1 -0
  1096. package/dist/report/definition/primitives/source-view.d.cts +47 -0
  1097. package/dist/report/definition/primitives/source-view.d.mts +47 -0
  1098. package/dist/report/definition/primitives/source-view.d.ts +47 -0
  1099. package/dist/report/definition/primitives/source-view.js +8 -0
  1100. package/dist/report/definition/primitives/source-view.js.map +1 -0
  1101. package/dist/report/definition/primitives/text-panel-state.cjs +38 -0
  1102. package/dist/report/definition/primitives/text-panel-state.cjs.map +1 -0
  1103. package/dist/report/definition/primitives/text-panel-state.d.cts +9 -0
  1104. package/dist/report/definition/primitives/text-panel-state.d.mts +9 -0
  1105. package/dist/report/definition/primitives/text-panel-state.d.ts +9 -0
  1106. package/dist/report/definition/primitives/text-panel-state.js +12 -0
  1107. package/dist/report/definition/primitives/text-panel-state.js.map +1 -0
  1108. package/dist/report/definition/primitives/tool-evidence.cjs +95 -0
  1109. package/dist/report/definition/primitives/tool-evidence.cjs.map +1 -0
  1110. package/dist/report/definition/primitives/tool-evidence.d.cts +11 -0
  1111. package/dist/report/definition/primitives/tool-evidence.d.mts +11 -0
  1112. package/dist/report/definition/primitives/tool-evidence.d.ts +11 -0
  1113. package/dist/report/definition/primitives/tool-evidence.js +6 -0
  1114. package/dist/report/definition/primitives/tool-evidence.js.map +1 -0
  1115. package/dist/report/definition/primitives/turn-trace.cjs +205 -0
  1116. package/dist/report/definition/primitives/turn-trace.cjs.map +1 -0
  1117. package/dist/report/definition/primitives/turn-trace.d.cts +8 -0
  1118. package/dist/report/definition/primitives/turn-trace.d.mts +8 -0
  1119. package/dist/report/definition/primitives/turn-trace.d.ts +8 -0
  1120. package/dist/report/definition/primitives/turn-trace.js +6 -0
  1121. package/dist/report/definition/primitives/turn-trace.js.map +1 -0
  1122. package/dist/report/definition/primitives/waterfall.cjs +206 -0
  1123. package/dist/report/definition/primitives/waterfall.cjs.map +1 -0
  1124. package/dist/report/definition/primitives/waterfall.d.cts +34 -0
  1125. package/dist/report/definition/primitives/waterfall.d.mts +34 -0
  1126. package/dist/report/definition/primitives/waterfall.d.ts +34 -0
  1127. package/dist/report/definition/primitives/waterfall.js +8 -0
  1128. package/dist/report/definition/primitives/waterfall.js.map +1 -0
  1129. package/dist/report/definition/primitives.cjs +826 -0
  1130. package/dist/report/definition/primitives.cjs.map +1 -0
  1131. package/dist/report/definition/primitives.d.cts +194 -0
  1132. package/dist/report/definition/primitives.d.mts +194 -0
  1133. package/dist/report/definition/primitives.d.ts +194 -0
  1134. package/dist/report/definition/primitives.js +84 -0
  1135. package/dist/report/definition/primitives.js.map +1 -0
  1136. package/dist/report/definition/report.cjs +778 -0
  1137. package/dist/report/definition/report.cjs.map +1 -0
  1138. package/dist/report/definition/report.d.cts +203 -0
  1139. package/dist/report/definition/report.d.mts +203 -0
  1140. package/dist/report/definition/report.d.ts +203 -0
  1141. package/dist/report/definition/report.js +16 -0
  1142. package/dist/report/definition/report.js.map +1 -0
  1143. package/dist/report/definition/table-text.cjs +184 -0
  1144. package/dist/report/definition/table-text.cjs.map +1 -0
  1145. package/dist/report/definition/table-text.d.cts +14 -0
  1146. package/dist/report/definition/table-text.d.mts +14 -0
  1147. package/dist/report/definition/table-text.d.ts +14 -0
  1148. package/dist/report/definition/table-text.js +6 -0
  1149. package/dist/report/definition/table-text.js.map +1 -0
  1150. package/dist/report/definition/tree.cjs +685 -0
  1151. package/dist/report/definition/tree.cjs.map +1 -0
  1152. package/dist/report/definition/tree.d.cts +165 -0
  1153. package/dist/report/definition/tree.d.mts +165 -0
  1154. package/dist/report/definition/tree.d.ts +165 -0
  1155. package/dist/report/definition/tree.js +44 -0
  1156. package/dist/report/definition/tree.js.map +1 -0
  1157. package/dist/report/execution/machine.cjs +587 -0
  1158. package/dist/report/execution/machine.cjs.map +1 -0
  1159. package/dist/report/execution/machine.d.cts +291 -0
  1160. package/dist/report/execution/machine.d.mts +291 -0
  1161. package/dist/report/execution/machine.d.ts +291 -0
  1162. package/dist/report/execution/machine.js +36 -0
  1163. package/dist/report/execution/machine.js.map +1 -0
  1164. package/dist/report/execution/model.cjs +91 -463
  1165. package/dist/report/execution/model.cjs.map +1 -1
  1166. package/dist/report/execution/model.d.cts +57 -39
  1167. package/dist/report/execution/model.d.mts +57 -39
  1168. package/dist/report/execution/model.d.ts +57 -39
  1169. package/dist/report/execution/model.js +36 -12
  1170. package/dist/report/execution/paths.cjs +182 -0
  1171. package/dist/report/execution/paths.cjs.map +1 -0
  1172. package/dist/report/execution/paths.d.cts +27 -0
  1173. package/dist/report/execution/paths.d.mts +27 -0
  1174. package/dist/report/execution/paths.d.ts +27 -0
  1175. package/dist/report/execution/paths.js +20 -0
  1176. package/dist/report/execution/paths.js.map +1 -0
  1177. package/dist/report/extension/assets.cjs +143 -0
  1178. package/dist/report/extension/assets.cjs.map +1 -0
  1179. package/dist/report/extension/assets.d.cts +17 -0
  1180. package/dist/report/extension/assets.d.mts +17 -0
  1181. package/dist/report/extension/assets.d.ts +17 -0
  1182. package/dist/report/extension/assets.js +10 -0
  1183. package/dist/report/extension/assets.js.map +1 -0
  1184. package/dist/report/extension/define.cjs +119 -0
  1185. package/dist/report/extension/define.cjs.map +1 -0
  1186. package/dist/report/extension/define.d.cts +11 -0
  1187. package/dist/report/extension/define.d.mts +11 -0
  1188. package/dist/report/extension/define.d.ts +11 -0
  1189. package/dist/report/extension/define.js +6 -0
  1190. package/dist/report/extension/define.js.map +1 -0
  1191. package/dist/report/extension/index.cjs +10 -0
  1192. package/dist/report/extension/index.cjs.map +1 -0
  1193. package/dist/report/extension/index.d.cts +6 -0
  1194. package/dist/report/extension/index.d.mts +6 -0
  1195. package/dist/report/extension/index.d.ts +6 -0
  1196. package/dist/report/extension/index.js +10 -0
  1197. package/dist/report/extension/index.js.map +1 -0
  1198. package/dist/report/extension/index.mjs +10 -0
  1199. package/dist/report/extension/index.mjs.map +1 -0
  1200. package/dist/report/extension/meta.cjs +59 -0
  1201. package/dist/report/extension/meta.cjs.map +1 -0
  1202. package/dist/report/extension/meta.d.cts +13 -0
  1203. package/dist/report/extension/meta.d.mts +13 -0
  1204. package/dist/report/extension/meta.d.ts +13 -0
  1205. package/dist/report/extension/meta.js +12 -0
  1206. package/dist/report/extension/meta.js.map +1 -0
  1207. package/dist/report/extension/types.cjs +3 -0
  1208. package/dist/report/extension/types.cjs.map +1 -0
  1209. package/dist/report/extension/types.d.cts +44 -0
  1210. package/dist/report/extension/types.d.mts +44 -0
  1211. package/dist/report/extension/types.d.ts +44 -0
  1212. package/dist/report/extension/types.js +4 -0
  1213. package/dist/report/extension/types.js.map +1 -0
  1214. package/dist/report/host/execute.cjs +467 -1238
  1215. package/dist/report/host/execute.cjs.map +1 -1
  1216. package/dist/report/host/execute.d.cts +71 -19
  1217. package/dist/report/host/execute.d.mts +71 -19
  1218. package/dist/report/host/execute.d.ts +71 -19
  1219. package/dist/report/host/execute.js +10 -2
  1220. package/dist/report/host/from-record.cjs +446 -27
  1221. package/dist/report/host/from-record.cjs.map +1 -1
  1222. package/dist/report/host/from-record.d.cts +67 -30
  1223. package/dist/report/host/from-record.d.mts +67 -30
  1224. package/dist/report/host/from-record.d.ts +67 -30
  1225. package/dist/report/host/from-record.js +8 -4
  1226. package/dist/report/host/index.cjs +31 -18
  1227. package/dist/report/host/index.cjs.map +1 -1
  1228. package/dist/report/host/index.d.cts +20 -11
  1229. package/dist/report/host/index.d.mts +20 -11
  1230. package/dist/report/host/index.d.ts +20 -11
  1231. package/dist/report/host/index.js +2 -20
  1232. package/dist/report/host/index.mjs +6 -0
  1233. package/dist/report/host/index.mjs.map +1 -0
  1234. package/dist/report/host/machine.cjs +102 -0
  1235. package/dist/report/host/machine.cjs.map +1 -0
  1236. package/dist/report/host/machine.d.cts +7 -0
  1237. package/dist/report/host/machine.d.mts +7 -0
  1238. package/dist/report/host/machine.d.ts +7 -0
  1239. package/dist/report/host/machine.js +6 -0
  1240. package/dist/report/host/machine.js.map +1 -0
  1241. package/dist/report/host/node/loader.cjs +40 -19
  1242. package/dist/report/host/node/loader.cjs.map +1 -1
  1243. package/dist/report/host/node/loader.d.cts +8 -7
  1244. package/dist/report/host/node/loader.d.mts +8 -7
  1245. package/dist/report/host/node/loader.d.ts +8 -7
  1246. package/dist/report/host/node.cjs +1 -1
  1247. package/dist/report/host/node.cjs.map +1 -1
  1248. package/dist/report/host/node.d.cts +3 -3
  1249. package/dist/report/host/node.d.mts +3 -3
  1250. package/dist/report/host/node.d.ts +3 -3
  1251. package/dist/report/host/progress.cjs +41 -0
  1252. package/dist/report/host/progress.cjs.map +1 -0
  1253. package/dist/report/host/progress.d.cts +22 -0
  1254. package/dist/report/host/progress.d.mts +22 -0
  1255. package/dist/report/host/progress.d.ts +22 -0
  1256. package/dist/report/host/progress.js +8 -0
  1257. package/dist/report/host/progress.js.map +1 -0
  1258. package/dist/report/host/show-target.cjs +214 -0
  1259. package/dist/report/host/show-target.cjs.map +1 -0
  1260. package/dist/report/host/show-target.d.cts +107 -0
  1261. package/dist/report/host/show-target.d.mts +107 -0
  1262. package/dist/report/host/show-target.d.ts +107 -0
  1263. package/dist/report/host/show-target.js +8 -0
  1264. package/dist/report/host/show-target.js.map +1 -0
  1265. package/dist/report/host/site-assets.cjs +11 -0
  1266. package/dist/report/host/site-assets.cjs.map +1 -0
  1267. package/dist/report/host/site-assets.d.cts +7 -0
  1268. package/dist/report/host/site-assets.d.mts +7 -0
  1269. package/dist/report/host/site-assets.d.ts +7 -0
  1270. package/dist/report/host/site-assets.js +8 -0
  1271. package/dist/report/host/site-assets.js.map +1 -0
  1272. package/dist/report/host/site-runtime.cjs +91 -0
  1273. package/dist/report/host/site-runtime.cjs.map +1 -0
  1274. package/dist/report/host/site-runtime.d.cts +9 -0
  1275. package/dist/report/host/site-runtime.d.mts +9 -0
  1276. package/dist/report/host/site-runtime.d.ts +9 -0
  1277. package/dist/report/host/site-runtime.js +10 -0
  1278. package/dist/report/host/site-runtime.js.map +1 -0
  1279. package/dist/report/host/static.cjs +694 -99
  1280. package/dist/report/host/static.cjs.map +1 -1
  1281. package/dist/report/host/static.d.cts +36 -19
  1282. package/dist/report/host/static.d.mts +36 -19
  1283. package/dist/report/host/static.d.ts +36 -19
  1284. package/dist/report/host/static.js +14 -4
  1285. package/dist/report/host/target-route.cjs +58 -0
  1286. package/dist/report/host/target-route.cjs.map +1 -0
  1287. package/dist/report/host/target-route.d.cts +15 -0
  1288. package/dist/report/host/target-route.d.mts +15 -0
  1289. package/dist/report/host/target-route.d.ts +15 -0
  1290. package/dist/report/host/target-route.js +8 -0
  1291. package/dist/report/host/target-route.js.map +1 -0
  1292. package/dist/report/host/view-session.cjs +68 -51
  1293. package/dist/report/host/view-session.cjs.map +1 -1
  1294. package/dist/report/host/view-session.d.cts +38 -44
  1295. package/dist/report/host/view-session.d.mts +38 -44
  1296. package/dist/report/host/view-session.d.ts +38 -44
  1297. package/dist/report/index.cjs +111 -52
  1298. package/dist/report/index.cjs.map +1 -1
  1299. package/dist/report/index.d.cts +39 -11
  1300. package/dist/report/index.d.mts +39 -11
  1301. package/dist/report/index.d.ts +39 -11
  1302. package/dist/report/index.js +188 -116
  1303. package/dist/report/index.mjs +188 -116
  1304. package/dist/report/library/details.cjs +166 -0
  1305. package/dist/report/library/details.cjs.map +1 -0
  1306. package/dist/report/library/details.d.cts +29 -0
  1307. package/dist/report/library/details.d.mts +29 -0
  1308. package/dist/report/library/details.d.ts +29 -0
  1309. package/dist/report/library/details.js +18 -0
  1310. package/dist/report/library/details.js.map +1 -0
  1311. package/dist/report/model/aggregate.cjs +243 -0
  1312. package/dist/report/model/aggregate.cjs.map +1 -0
  1313. package/dist/report/model/aggregate.d.cts +88 -0
  1314. package/dist/report/model/aggregate.d.mts +88 -0
  1315. package/dist/report/model/aggregate.d.ts +88 -0
  1316. package/dist/report/model/aggregate.js +26 -0
  1317. package/dist/report/model/aggregate.js.map +1 -0
  1318. package/dist/report/model/chart/math.cjs +206 -0
  1319. package/dist/report/model/chart/math.cjs.map +1 -0
  1320. package/dist/report/model/chart/math.d.cts +73 -0
  1321. package/dist/report/model/chart/math.d.mts +73 -0
  1322. package/dist/report/model/chart/math.d.ts +73 -0
  1323. package/dist/report/model/chart/math.js +14 -0
  1324. package/dist/report/model/chart/math.js.map +1 -0
  1325. package/dist/report/model/chart/plot.cjs +94 -0
  1326. package/dist/report/model/chart/plot.cjs.map +1 -0
  1327. package/dist/report/model/chart/plot.d.cts +52 -0
  1328. package/dist/report/model/chart/plot.d.mts +52 -0
  1329. package/dist/report/model/chart/plot.d.ts +52 -0
  1330. package/dist/report/model/chart/plot.js +8 -0
  1331. package/dist/report/model/chart/plot.js.map +1 -0
  1332. package/dist/report/model/conversions.cjs +100 -0
  1333. package/dist/report/model/conversions.cjs.map +1 -0
  1334. package/dist/report/model/conversions.d.cts +40 -0
  1335. package/dist/report/model/conversions.d.mts +40 -0
  1336. package/dist/report/model/conversions.d.ts +40 -0
  1337. package/dist/report/model/conversions.js +24 -0
  1338. package/dist/report/model/conversions.js.map +1 -0
  1339. package/dist/report/model/dataset.cjs +255 -0
  1340. package/dist/report/model/dataset.cjs.map +1 -0
  1341. package/dist/report/model/dataset.d.cts +33 -0
  1342. package/dist/report/model/dataset.d.mts +33 -0
  1343. package/dist/report/model/dataset.d.ts +33 -0
  1344. package/dist/report/model/dataset.js +22 -0
  1345. package/dist/report/model/dataset.js.map +1 -0
  1346. package/dist/report/model/format.cjs +377 -0
  1347. package/dist/report/model/format.cjs.map +1 -0
  1348. package/dist/report/model/format.d.cts +98 -0
  1349. package/dist/report/model/format.d.mts +98 -0
  1350. package/dist/report/model/format.d.ts +98 -0
  1351. package/dist/report/model/format.js +38 -0
  1352. package/dist/report/model/format.js.map +1 -0
  1353. package/dist/report/model/locale.cjs +437 -0
  1354. package/dist/report/model/locale.cjs.map +1 -0
  1355. package/dist/report/model/locale.d.cts +220 -0
  1356. package/dist/report/model/locale.d.mts +220 -0
  1357. package/dist/report/model/locale.d.ts +220 -0
  1358. package/dist/report/model/locale.js +20 -0
  1359. package/dist/report/model/locale.js.map +1 -0
  1360. package/dist/report/model/metrics.cjs +254 -0
  1361. package/dist/report/model/metrics.cjs.map +1 -0
  1362. package/dist/report/model/metrics.d.cts +73 -0
  1363. package/dist/report/model/metrics.d.mts +73 -0
  1364. package/dist/report/model/metrics.d.ts +73 -0
  1365. package/dist/report/model/metrics.js +26 -0
  1366. package/dist/report/model/metrics.js.map +1 -0
  1367. package/dist/report/model/pricing.cjs +126 -0
  1368. package/dist/report/model/pricing.cjs.map +1 -0
  1369. package/dist/report/model/pricing.d.cts +37 -0
  1370. package/dist/report/model/pricing.d.mts +37 -0
  1371. package/dist/report/model/pricing.d.ts +37 -0
  1372. package/dist/report/model/pricing.js +16 -0
  1373. package/dist/report/model/pricing.js.map +1 -0
  1374. package/dist/report/model/text-layout.cjs +8 -0
  1375. package/dist/report/model/text-layout.cjs.map +1 -1
  1376. package/dist/report/model/text-layout.d.cts +7 -0
  1377. package/dist/report/model/text-layout.d.mts +7 -0
  1378. package/dist/report/model/text-layout.d.ts +7 -0
  1379. package/dist/report/model/text-layout.js +30 -18
  1380. package/dist/report/model/types.cjs +3 -0
  1381. package/dist/report/model/types.cjs.map +1 -0
  1382. package/dist/report/model/types.d.cts +64 -0
  1383. package/dist/report/model/types.d.mts +64 -0
  1384. package/dist/report/model/types.d.ts +64 -0
  1385. package/dist/report/model/types.js +4 -0
  1386. package/dist/report/model/types.js.map +1 -0
  1387. package/dist/report/presentation.cjs +219 -0
  1388. package/dist/report/presentation.cjs.map +1 -0
  1389. package/dist/report/presentation.d.cts +114 -0
  1390. package/dist/report/presentation.d.mts +114 -0
  1391. package/dist/report/presentation.d.ts +114 -0
  1392. package/dist/report/presentation.js +18 -0
  1393. package/dist/report/react/enhance.js +466 -0
  1394. package/dist/report/react/index.cjs +40 -0
  1395. package/dist/report/react/index.cjs.map +1 -0
  1396. package/dist/report/react/index.d.cts +9 -0
  1397. package/dist/report/react/index.d.mts +9 -0
  1398. package/dist/report/react/index.d.ts +9 -0
  1399. package/dist/report/react/index.js +64 -0
  1400. package/dist/report/react/index.js.map +1 -0
  1401. package/dist/report/react/index.mjs +64 -0
  1402. package/dist/report/react/index.mjs.map +1 -0
  1403. package/dist/report/react/styles.css +2678 -0
  1404. package/dist/report/runtime/resolved-page.cjs +327 -0
  1405. package/dist/report/runtime/resolved-page.cjs.map +1 -0
  1406. package/dist/report/runtime/resolved-page.d.cts +136 -0
  1407. package/dist/report/runtime/resolved-page.d.mts +136 -0
  1408. package/dist/report/runtime/resolved-page.d.ts +136 -0
  1409. package/dist/report/runtime/resolved-page.js +14 -0
  1410. package/dist/report/runtime/resolved-page.js.map +1 -0
  1411. package/dist/report/runtime/text.cjs +33 -0
  1412. package/dist/report/runtime/text.cjs.map +1 -0
  1413. package/dist/report/runtime/text.d.cts +28 -0
  1414. package/dist/report/runtime/text.d.mts +28 -0
  1415. package/dist/report/runtime/text.d.ts +28 -0
  1416. package/dist/report/runtime/text.js +8 -0
  1417. package/dist/report/runtime/text.js.map +1 -0
  1418. package/dist/report/runtime/web.cjs +31 -0
  1419. package/dist/report/runtime/web.cjs.map +1 -0
  1420. package/dist/report/runtime/web.d.cts +21 -0
  1421. package/dist/report/runtime/web.d.mts +21 -0
  1422. package/dist/report/runtime/web.d.ts +21 -0
  1423. package/dist/report/runtime/web.js +8 -0
  1424. package/dist/report/runtime/web.js.map +1 -0
  1425. package/dist/report/theme.cjs +141 -0
  1426. package/dist/report/theme.cjs.map +1 -0
  1427. package/dist/report/theme.d.cts +57 -0
  1428. package/dist/report/theme.d.mts +57 -0
  1429. package/dist/report/theme.d.ts +57 -0
  1430. package/dist/report/theme.js +20 -0
  1431. package/dist/runner/accept.cjs +74 -87
  1432. package/dist/runner/accept.cjs.map +1 -1
  1433. package/dist/runner/accept.d.cts +14 -17
  1434. package/dist/runner/accept.d.mts +14 -17
  1435. package/dist/runner/accept.d.ts +14 -17
  1436. package/dist/runner/accept.js +4 -8
  1437. package/dist/runner/adoption.cjs +346 -408
  1438. package/dist/runner/adoption.cjs.map +1 -1
  1439. package/dist/runner/adoption.d.cts +132 -116
  1440. package/dist/runner/adoption.d.mts +132 -116
  1441. package/dist/runner/adoption.d.ts +132 -116
  1442. package/dist/runner/adoption.js +42 -46
  1443. package/dist/runner/attempt.cjs +175 -74
  1444. package/dist/runner/attempt.cjs.map +1 -1
  1445. package/dist/runner/attempt.d.cts +1 -1
  1446. package/dist/runner/attempt.d.mts +1 -1
  1447. package/dist/runner/attempt.d.ts +1 -1
  1448. package/dist/runner/cleanup-timeout.cjs +12 -6
  1449. package/dist/runner/cleanup-timeout.cjs.map +1 -1
  1450. package/dist/runner/cleanup-timeout.d.cts +5 -5
  1451. package/dist/runner/cleanup-timeout.d.mts +5 -5
  1452. package/dist/runner/cleanup-timeout.d.ts +5 -5
  1453. package/dist/runner/execution-identity.cjs +25 -0
  1454. package/dist/runner/execution-identity.cjs.map +1 -0
  1455. package/dist/runner/execution-identity.d.cts +39 -0
  1456. package/dist/runner/execution-identity.d.mts +39 -0
  1457. package/dist/runner/execution-identity.d.ts +39 -0
  1458. package/dist/runner/execution-identity.js +8 -0
  1459. package/dist/runner/execution-identity.js.map +1 -0
  1460. package/dist/runner/feedback/failure.cjs +0 -2
  1461. package/dist/runner/feedback/failure.cjs.map +1 -1
  1462. package/dist/runner/feedback/human.cjs +47 -20
  1463. package/dist/runner/feedback/human.cjs.map +1 -1
  1464. package/dist/runner/feedback/index.cjs.map +1 -1
  1465. package/dist/runner/feedback/index.d.cts +1 -1
  1466. package/dist/runner/feedback/index.d.mts +1 -1
  1467. package/dist/runner/feedback/index.d.ts +1 -1
  1468. package/dist/runner/feedback/json.cjs +29 -7
  1469. package/dist/runner/feedback/json.cjs.map +1 -1
  1470. package/dist/runner/feedback/json.d.cts +14 -1
  1471. package/dist/runner/feedback/json.d.mts +14 -1
  1472. package/dist/runner/feedback/json.d.ts +14 -1
  1473. package/dist/runner/feedback/reducer.cjs +3 -1
  1474. package/dist/runner/feedback/reducer.cjs.map +1 -1
  1475. package/dist/runner/feedback/sink.cjs +1 -1
  1476. package/dist/runner/feedback/sink.cjs.map +1 -1
  1477. package/dist/runner/feedback/sink.d.cts +6 -6
  1478. package/dist/runner/feedback/sink.d.mts +6 -6
  1479. package/dist/runner/feedback/sink.d.ts +6 -6
  1480. package/dist/runner/fingerprint.cjs +8 -2
  1481. package/dist/runner/fingerprint.cjs.map +1 -1
  1482. package/dist/runner/fingerprint.d.cts +9 -0
  1483. package/dist/runner/fingerprint.d.mts +9 -0
  1484. package/dist/runner/fingerprint.d.ts +9 -0
  1485. package/dist/runner/fingerprint.js +4 -2
  1486. package/dist/runner/gate-lease.cjs +24 -12
  1487. package/dist/runner/gate-lease.cjs.map +1 -1
  1488. package/dist/runner/ledger.cjs +27 -5
  1489. package/dist/runner/ledger.cjs.map +1 -1
  1490. package/dist/runner/lock.cjs +24 -11
  1491. package/dist/runner/lock.cjs.map +1 -1
  1492. package/dist/runner/project-current.cjs +63 -0
  1493. package/dist/runner/project-current.cjs.map +1 -1
  1494. package/dist/runner/project-current.d.cts +2 -0
  1495. package/dist/runner/project-current.d.mts +2 -0
  1496. package/dist/runner/project-current.d.ts +2 -0
  1497. package/dist/runner/record.cjs +659 -667
  1498. package/dist/runner/record.cjs.map +1 -1
  1499. package/dist/runner/record.d.cts +54 -81
  1500. package/dist/runner/record.d.mts +54 -81
  1501. package/dist/runner/record.d.ts +54 -81
  1502. package/dist/runner/rename-experiment.cjs +95 -54
  1503. package/dist/runner/rename-experiment.cjs.map +1 -1
  1504. package/dist/runner/rename-experiment.d.cts +19 -21
  1505. package/dist/runner/rename-experiment.d.mts +19 -21
  1506. package/dist/runner/rename-experiment.d.ts +19 -21
  1507. package/dist/runner/rename-experiment.js +2 -4
  1508. package/dist/runner/report.cjs +7 -2
  1509. package/dist/runner/report.cjs.map +1 -1
  1510. package/dist/runner/reporters/braintrust.cjs +4 -16
  1511. package/dist/runner/reporters/braintrust.cjs.map +1 -1
  1512. package/dist/runner/reporters/braintrust.d.cts +22 -5
  1513. package/dist/runner/reporters/braintrust.d.mts +22 -5
  1514. package/dist/runner/reporters/braintrust.d.ts +22 -5
  1515. package/dist/runner/reuse-plan.cjs +256 -435
  1516. package/dist/runner/reuse-plan.cjs.map +1 -1
  1517. package/dist/runner/reuse-plan.d.cts +43 -63
  1518. package/dist/runner/reuse-plan.d.mts +43 -63
  1519. package/dist/runner/reuse-plan.d.ts +43 -63
  1520. package/dist/runner/reuse-plan.js +6 -8
  1521. package/dist/runner/reuse-readback.cjs +157 -170
  1522. package/dist/runner/reuse-readback.cjs.map +1 -1
  1523. package/dist/runner/reuse-readback.d.cts +46 -62
  1524. package/dist/runner/reuse-readback.d.mts +46 -62
  1525. package/dist/runner/reuse-readback.d.ts +46 -62
  1526. package/dist/runner/reuse-readback.js +0 -2
  1527. package/dist/runner/run.cjs +110 -135
  1528. package/dist/runner/run.cjs.map +1 -1
  1529. package/dist/runner/run.d.cts +1 -1
  1530. package/dist/runner/run.d.mts +1 -1
  1531. package/dist/runner/run.d.ts +1 -1
  1532. package/dist/runner/sandbox-pool.cjs +55 -43
  1533. package/dist/runner/sandbox-pool.cjs.map +1 -1
  1534. package/dist/runner/sandbox-record-producer.cjs +21 -6
  1535. package/dist/runner/sandbox-record-producer.cjs.map +1 -1
  1536. package/dist/runner/sandbox-record-producer.d.cts +6 -4
  1537. package/dist/runner/sandbox-record-producer.d.mts +6 -4
  1538. package/dist/runner/sandbox-record-producer.d.ts +6 -4
  1539. package/dist/runner/sandbox-record-producer.js +4 -0
  1540. package/dist/runner/source-producer.cjs +208 -268
  1541. package/dist/runner/source-producer.cjs.map +1 -1
  1542. package/dist/runner/source-producer.d.cts +32 -17
  1543. package/dist/runner/source-producer.d.mts +32 -17
  1544. package/dist/runner/source-producer.d.ts +32 -17
  1545. package/dist/runner/source-producer.js +6 -4
  1546. package/dist/runner/timing.cjs +13 -9
  1547. package/dist/runner/timing.cjs.map +1 -1
  1548. package/dist/runner/types.cjs +3 -2
  1549. package/dist/runner/types.cjs.map +1 -1
  1550. package/dist/runner/types.d.cts +34 -52
  1551. package/dist/runner/types.d.mts +34 -52
  1552. package/dist/runner/types.d.ts +34 -52
  1553. package/dist/runner/types.js +30 -28
  1554. package/dist/sample/analysis.cjs +925 -919
  1555. package/dist/sample/analysis.cjs.map +1 -1
  1556. package/dist/sample/analysis.d.cts +32 -144
  1557. package/dist/sample/analysis.d.mts +32 -144
  1558. package/dist/sample/analysis.d.ts +32 -144
  1559. package/dist/sample/analysis.js +14 -26
  1560. package/dist/sample/capability.cjs +761 -0
  1561. package/dist/sample/capability.cjs.map +1 -0
  1562. package/dist/sample/capability.d.cts +189 -0
  1563. package/dist/sample/capability.d.mts +189 -0
  1564. package/dist/sample/capability.d.ts +189 -0
  1565. package/dist/sample/capability.js +36 -0
  1566. package/dist/sample/capability.js.map +1 -0
  1567. package/dist/sample/index.cjs +9 -13
  1568. package/dist/sample/index.cjs.map +1 -1
  1569. package/dist/sample/index.d.cts +2 -2
  1570. package/dist/sample/index.d.mts +2 -2
  1571. package/dist/sample/index.d.ts +2 -2
  1572. package/dist/sample/index.js +10 -24
  1573. package/dist/sandbox/build-coordinator.cjs +146 -147
  1574. package/dist/sandbox/build-coordinator.cjs.map +1 -1
  1575. package/dist/sandbox/case-types.cjs.map +1 -1
  1576. package/dist/sandbox/case-types.d.cts +6 -0
  1577. package/dist/sandbox/case-types.d.mts +6 -0
  1578. package/dist/sandbox/case-types.d.ts +6 -0
  1579. package/dist/sandbox/commands.cjs.map +1 -1
  1580. package/dist/sandbox/commands.d.cts +0 -2
  1581. package/dist/sandbox/commands.d.mts +0 -2
  1582. package/dist/sandbox/commands.d.ts +0 -2
  1583. package/dist/sandbox/compose.cjs +212 -153
  1584. package/dist/sandbox/compose.cjs.map +1 -1
  1585. package/dist/sandbox/compose.d.cts +11 -2
  1586. package/dist/sandbox/compose.d.mts +11 -2
  1587. package/dist/sandbox/compose.d.ts +11 -2
  1588. package/dist/sandbox/compose.js +32 -30
  1589. package/dist/sandbox/docker.cjs +59 -38
  1590. package/dist/sandbox/docker.cjs.map +1 -1
  1591. package/dist/sandbox/docker.d.cts +2 -1
  1592. package/dist/sandbox/docker.d.mts +2 -1
  1593. package/dist/sandbox/docker.d.ts +2 -1
  1594. package/dist/sandbox/e2b.cjs +30 -18
  1595. package/dist/sandbox/e2b.cjs.map +1 -1
  1596. package/dist/sandbox/index.cjs +2 -2
  1597. package/dist/sandbox/index.cjs.map +1 -1
  1598. package/dist/sandbox/index.d.cts +2 -2
  1599. package/dist/sandbox/index.d.mts +2 -2
  1600. package/dist/sandbox/index.d.ts +2 -2
  1601. package/dist/sandbox/index.js +52 -52
  1602. package/dist/sandbox/index.mjs +52 -52
  1603. package/dist/sandbox/io-retry.cjs +18 -14
  1604. package/dist/sandbox/io-retry.cjs.map +1 -1
  1605. package/dist/sandbox/io-retry.d.cts +7 -4
  1606. package/dist/sandbox/io-retry.d.mts +7 -4
  1607. package/dist/sandbox/io-retry.d.ts +7 -4
  1608. package/dist/sandbox/keep.cjs +79 -52
  1609. package/dist/sandbox/keep.cjs.map +1 -1
  1610. package/dist/sandbox/layer.cjs.map +1 -1
  1611. package/dist/sandbox/layer.d.cts +3 -3
  1612. package/dist/sandbox/layer.d.mts +3 -3
  1613. package/dist/sandbox/layer.d.ts +3 -3
  1614. package/dist/sandbox/paths.cjs +96 -12
  1615. package/dist/sandbox/paths.cjs.map +1 -1
  1616. package/dist/sandbox/paths.d.cts +16 -0
  1617. package/dist/sandbox/paths.d.mts +16 -0
  1618. package/dist/sandbox/paths.d.ts +16 -0
  1619. package/dist/sandbox/paths.js +10 -8
  1620. package/dist/sandbox/prepare-commands.cjs +0 -5
  1621. package/dist/sandbox/prepare-commands.cjs.map +1 -1
  1622. package/dist/sandbox/prepare-commands.d.cts +1 -1
  1623. package/dist/sandbox/prepare-commands.d.mts +1 -1
  1624. package/dist/sandbox/prepare-commands.d.ts +1 -1
  1625. package/dist/sandbox/record/attachment.cjs +16 -53
  1626. package/dist/sandbox/record/attachment.cjs.map +1 -1
  1627. package/dist/sandbox/record/attachment.d.cts +11 -15
  1628. package/dist/sandbox/record/attachment.d.mts +11 -15
  1629. package/dist/sandbox/record/attachment.d.ts +11 -15
  1630. package/dist/sandbox/record/attachment.js +2 -6
  1631. package/dist/sandbox/record/codec.cjs +17 -17
  1632. package/dist/sandbox/record/codec.cjs.map +1 -1
  1633. package/dist/sandbox/record/codec.d.cts +12 -12
  1634. package/dist/sandbox/record/codec.d.mts +12 -12
  1635. package/dist/sandbox/record/codec.d.ts +12 -12
  1636. package/dist/sandbox/record/codec.js +4 -4
  1637. package/dist/sandbox/record/model.cjs +7 -7
  1638. package/dist/sandbox/record/model.cjs.map +1 -1
  1639. package/dist/sandbox/record/model.d.cts +13 -13
  1640. package/dist/sandbox/record/model.d.mts +13 -13
  1641. package/dist/sandbox/record/model.d.ts +13 -13
  1642. package/dist/sandbox/record/model.js +6 -6
  1643. package/dist/sandbox/record/projector.cjs +16 -25
  1644. package/dist/sandbox/record/projector.cjs.map +1 -1
  1645. package/dist/sandbox/record/projector.d.cts +4 -18
  1646. package/dist/sandbox/record/projector.d.mts +4 -18
  1647. package/dist/sandbox/record/projector.d.ts +4 -18
  1648. package/dist/sandbox/record/projector.js +2 -2
  1649. package/dist/sandbox/registry.cjs +19 -9
  1650. package/dist/sandbox/registry.cjs.map +1 -1
  1651. package/dist/sandbox/request-executor.cjs +63 -0
  1652. package/dist/sandbox/request-executor.cjs.map +1 -0
  1653. package/dist/sandbox/request-executor.d.cts +16 -0
  1654. package/dist/sandbox/request-executor.d.mts +16 -0
  1655. package/dist/sandbox/request-executor.d.ts +16 -0
  1656. package/dist/sandbox/request-executor.js +8 -0
  1657. package/dist/sandbox/request-executor.js.map +1 -0
  1658. package/dist/sandbox/retry.cjs +42 -38
  1659. package/dist/sandbox/retry.cjs.map +1 -1
  1660. package/dist/sandbox/retry.d.cts +6 -6
  1661. package/dist/sandbox/retry.d.mts +6 -6
  1662. package/dist/sandbox/retry.d.ts +6 -6
  1663. package/dist/sandbox/runtime.cjs +47 -56
  1664. package/dist/sandbox/runtime.cjs.map +1 -1
  1665. package/dist/sandbox/runtime.d.cts +1 -1
  1666. package/dist/sandbox/runtime.d.mts +1 -1
  1667. package/dist/sandbox/runtime.d.ts +1 -1
  1668. package/dist/sandbox/transfer-errors.cjs +37 -5
  1669. package/dist/sandbox/transfer-errors.cjs.map +1 -1
  1670. package/dist/sandbox/transfer-errors.d.cts +14 -0
  1671. package/dist/sandbox/transfer-errors.d.mts +14 -0
  1672. package/dist/sandbox/transfer-errors.d.ts +14 -0
  1673. package/dist/sandbox/transfer-errors.js +12 -8
  1674. package/dist/sandbox/types.cjs.map +1 -1
  1675. package/dist/sandbox/types.d.cts +0 -7
  1676. package/dist/sandbox/types.d.mts +0 -7
  1677. package/dist/sandbox/types.d.ts +0 -7
  1678. package/dist/sandbox/vercel.cjs +10 -14
  1679. package/dist/sandbox/vercel.cjs.map +1 -1
  1680. package/dist/sources/attachment.cjs +103 -248
  1681. package/dist/sources/attachment.cjs.map +1 -1
  1682. package/dist/sources/attachment.d.cts +47 -319
  1683. package/dist/sources/attachment.d.mts +47 -319
  1684. package/dist/sources/attachment.d.ts +47 -319
  1685. package/dist/sources/attachment.js +8 -18
  1686. package/dist/sources/codec.cjs +56 -56
  1687. package/dist/sources/codec.cjs.map +1 -1
  1688. package/dist/sources/codec.d.cts +63 -63
  1689. package/dist/sources/codec.d.mts +63 -63
  1690. package/dist/sources/codec.d.ts +63 -63
  1691. package/dist/sources/codec.js +44 -44
  1692. package/dist/sources/index.cjs +0 -2
  1693. package/dist/sources/index.cjs.map +1 -1
  1694. package/dist/sources/index.d.cts +0 -2
  1695. package/dist/sources/index.d.mts +0 -2
  1696. package/dist/sources/index.d.ts +0 -2
  1697. package/dist/sources/index.js +72 -86
  1698. package/dist/sources/model.cjs +2 -2
  1699. package/dist/sources/model.cjs.map +1 -1
  1700. package/dist/sources/model.d.cts +41 -41
  1701. package/dist/sources/model.d.mts +41 -41
  1702. package/dist/sources/model.d.ts +41 -41
  1703. package/dist/sources/model.js +2 -2
  1704. package/dist/sources/projector.cjs +39 -268
  1705. package/dist/sources/projector.cjs.map +1 -1
  1706. package/dist/sources/projector.d.cts +40 -8
  1707. package/dist/sources/projector.d.mts +40 -8
  1708. package/dist/sources/projector.d.ts +40 -8
  1709. package/dist/sources/projector.js +4 -6
  1710. package/dist/types.js +30 -28
  1711. package/dist/view/data.cjs.map +1 -1
  1712. package/dist/view/data.d.cts +5 -4
  1713. package/dist/view/data.d.mts +5 -4
  1714. package/dist/view/data.d.ts +5 -4
  1715. package/dist/view/index.cjs +3 -4
  1716. package/dist/view/index.cjs.map +1 -1
  1717. package/dist/view/index.d.cts +2 -2
  1718. package/dist/view/index.d.mts +2 -2
  1719. package/dist/view/index.d.ts +2 -2
  1720. package/dist/view/index.js +2 -4
  1721. package/dist/view/report-view-cache.cjs +200 -0
  1722. package/dist/view/report-view-cache.cjs.map +1 -0
  1723. package/dist/view/report-view-cache.d.cts +67 -0
  1724. package/dist/view/report-view-cache.d.mts +67 -0
  1725. package/dist/view/report-view-cache.d.ts +67 -0
  1726. package/dist/view/report-view-cache.js +8 -0
  1727. package/dist/view/report-view-cache.js.map +1 -0
  1728. package/dist/view/server.cjs +99 -102
  1729. package/dist/view/server.cjs.map +1 -1
  1730. package/dist/view/server.d.cts +0 -6
  1731. package/dist/view/server.d.mts +0 -6
  1732. package/dist/view/server.d.ts +0 -6
  1733. package/dist/view/shared/types.cjs.map +1 -1
  1734. package/dist/view/site.cjs +19 -27
  1735. package/dist/view/site.cjs.map +1 -1
  1736. package/dist/view/site.d.cts +10 -12
  1737. package/dist/view/site.d.mts +10 -12
  1738. package/dist/view/site.d.ts +10 -12
  1739. package/dist/view/site.js +2 -4
  1740. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +8 -8
  1741. package/docs-site/zh/examples/integrations/claude-sdk.mdx +8 -8
  1742. package/docs-site/zh/examples/integrations/codex-sdk.mdx +4 -4
  1743. package/docs-site/zh/examples/integrations/langgraph.mdx +6 -6
  1744. package/docs-site/zh/examples/integrations/pi-sdk.mdx +9 -9
  1745. package/docs-site/zh/explanation/adapter.mdx +3 -1
  1746. package/docs-site/zh/explanation/assert.mdx +6 -6
  1747. package/docs-site/zh/explanation/drive.mdx +1 -1
  1748. package/docs-site/zh/explanation/evals.mdx +6 -3
  1749. package/docs-site/zh/explanation/hitl.mdx +4 -2
  1750. package/docs-site/zh/explanation/judge.mdx +6 -6
  1751. package/docs-site/zh/explanation/overview.mdx +28 -29
  1752. package/docs-site/zh/explanation/record.mdx +26 -36
  1753. package/docs-site/zh/explanation/runner.mdx +9 -10
  1754. package/docs-site/zh/index.mdx +3 -3
  1755. package/docs-site/zh/introduction.mdx +1 -1
  1756. package/docs-site/zh/reference/cli.mdx +27 -30
  1757. package/docs-site/zh/reference/define-agent.mdx +0 -8
  1758. package/docs-site/zh/reference/define-config.mdx +6 -2
  1759. package/docs-site/zh/reference/define-eval.mdx +7 -5
  1760. package/docs-site/zh/reference/events.mdx +7 -4
  1761. package/docs-site/zh/reference/report-components.mdx +92 -88
  1762. package/docs-site/zh/reference/results-data.mdx +39 -49
  1763. package/docs-site/zh/troubleshooting/debug-sandbox.mdx +1 -1
  1764. package/docs-site/zh/troubleshooting/debugging.mdx +27 -28
  1765. package/docs-site/zh/tutorials/agent-feedback-loop.mdx +6 -6
  1766. package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
  1767. package/docs-site/zh/tutorials/authoring.mdx +6 -3
  1768. package/docs-site/zh/tutorials/ci-integration.mdx +1 -1
  1769. package/docs-site/zh/tutorials/connect-your-agent.mdx +4 -4
  1770. package/docs-site/zh/tutorials/custom-reports.mdx +148 -76
  1771. package/docs-site/zh/tutorials/deploy-report-site.mdx +16 -19
  1772. package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
  1773. package/docs-site/zh/tutorials/experiments.mdx +2 -2
  1774. package/docs-site/zh/tutorials/fixtures.mdx +5 -5
  1775. package/docs-site/zh/tutorials/handle-execution-failures.mdx +1 -1
  1776. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +1 -1
  1777. package/docs-site/zh/tutorials/publish-report.mdx +30 -30
  1778. package/docs-site/zh/tutorials/quickstart.mdx +2 -2
  1779. package/docs-site/zh/tutorials/reporters.mdx +5 -5
  1780. package/docs-site/zh/tutorials/rerun-and-cache.mdx +5 -5
  1781. package/docs-site/zh/tutorials/sandbox-agent.mdx +2 -2
  1782. package/docs-site/zh/tutorials/sandbox-providers.mdx +3 -3
  1783. package/docs-site/zh/tutorials/theming.mdx +47 -19
  1784. package/docs-site/zh/tutorials/viewing-results.mdx +45 -82
  1785. package/docs-site/zh/tutorials/write-experiment.mdx +16 -11
  1786. package/docs-site/zh/tutorials/write-send.mdx +11 -3
  1787. package/package.json +83 -11
  1788. package/dist/assertions/record/diff-model.cjs +0 -120
  1789. package/dist/assertions/record/diff-model.cjs.map +0 -1
  1790. package/dist/assertions/record/diff-model.d.cts +0 -47
  1791. package/dist/assertions/record/diff-model.d.mts +0 -47
  1792. package/dist/assertions/record/diff-model.d.ts +0 -47
  1793. package/dist/assertions/record/diff-model.js +0 -12
  1794. package/dist/assertions/record/diff-model.js.map +0 -1
  1795. package/dist/projection/attachment-result.cjs +0 -50
  1796. package/dist/projection/attachment-result.cjs.map +0 -1
  1797. package/dist/projection/attachment-result.d.cts +0 -38
  1798. package/dist/projection/attachment-result.d.mts +0 -38
  1799. package/dist/projection/attachment-result.d.ts +0 -38
  1800. package/dist/projection/attachment-result.js +0 -6
  1801. package/dist/projection/attachment-result.js.map +0 -1
  1802. package/dist/projection/attempt-selection.cjs +0 -87
  1803. package/dist/projection/attempt-selection.cjs.map +0 -1
  1804. package/dist/projection/attempt-selection.d.cts +0 -40
  1805. package/dist/projection/attempt-selection.d.mts +0 -40
  1806. package/dist/projection/attempt-selection.d.ts +0 -40
  1807. package/dist/projection/attempt-selection.js +0 -8
  1808. package/dist/projection/attempt-selection.js.map +0 -1
  1809. package/dist/projection/coverage.cjs +0 -106
  1810. package/dist/projection/coverage.cjs.map +0 -1
  1811. package/dist/projection/coverage.d.cts +0 -43
  1812. package/dist/projection/coverage.d.mts +0 -43
  1813. package/dist/projection/coverage.d.ts +0 -43
  1814. package/dist/projection/coverage.js +0 -6
  1815. package/dist/projection/coverage.js.map +0 -1
  1816. package/dist/projection/index.cjs +0 -36
  1817. package/dist/projection/index.cjs.map +0 -1
  1818. package/dist/projection/index.d.cts +0 -25
  1819. package/dist/projection/index.d.mts +0 -25
  1820. package/dist/projection/index.d.ts +0 -25
  1821. package/dist/projection/index.js +0 -46
  1822. package/dist/projection/index.mjs +0 -46
  1823. package/dist/projection/model.cjs +0 -3
  1824. package/dist/projection/model.cjs.map +0 -1
  1825. package/dist/projection/model.d.cts +0 -49
  1826. package/dist/projection/model.d.mts +0 -49
  1827. package/dist/projection/model.d.ts +0 -49
  1828. package/dist/projection/model.js +0 -4
  1829. package/dist/projection/model.js.map +0 -1
  1830. package/dist/projection/projector.cjs +0 -111
  1831. package/dist/projection/projector.cjs.map +0 -1
  1832. package/dist/projection/projector.d.cts +0 -51
  1833. package/dist/projection/projector.d.mts +0 -51
  1834. package/dist/projection/projector.d.ts +0 -51
  1835. package/dist/projection/projector.js +0 -16
  1836. package/dist/projection/projector.js.map +0 -1
  1837. package/dist/projection/runtime.cjs +0 -246
  1838. package/dist/projection/runtime.cjs.map +0 -1
  1839. package/dist/projection/runtime.d.cts +0 -14
  1840. package/dist/projection/runtime.d.mts +0 -14
  1841. package/dist/projection/runtime.d.ts +0 -14
  1842. package/dist/projection/runtime.js +0 -6
  1843. package/dist/record/migration/errors.cjs +0 -68
  1844. package/dist/record/migration/errors.cjs.map +0 -1
  1845. package/dist/record/migration/errors.d.cts +0 -73
  1846. package/dist/record/migration/errors.d.mts +0 -73
  1847. package/dist/record/migration/errors.d.ts +0 -73
  1848. package/dist/record/migration/errors.js +0 -22
  1849. package/dist/record/migration/errors.js.map +0 -1
  1850. package/dist/record/migration/identity.cjs +0 -27
  1851. package/dist/record/migration/identity.cjs.map +0 -1
  1852. package/dist/record/migration/identity.d.cts +0 -5
  1853. package/dist/record/migration/identity.d.mts +0 -5
  1854. package/dist/record/migration/identity.d.ts +0 -5
  1855. package/dist/record/migration/identity.js +0 -8
  1856. package/dist/record/migration/internal.cjs +0 -3
  1857. package/dist/record/migration/internal.cjs.map +0 -1
  1858. package/dist/record/migration/internal.d.cts +0 -111
  1859. package/dist/record/migration/internal.d.mts +0 -111
  1860. package/dist/record/migration/internal.d.ts +0 -111
  1861. package/dist/record/migration/internal.js +0 -4
  1862. package/dist/record/migration/internal.js.map +0 -1
  1863. package/dist/record/migration/orchestrate.cjs +0 -368
  1864. package/dist/record/migration/orchestrate.cjs.map +0 -1
  1865. package/dist/record/migration/orchestrate.d.cts +0 -113
  1866. package/dist/record/migration/orchestrate.d.mts +0 -113
  1867. package/dist/record/migration/orchestrate.d.ts +0 -113
  1868. package/dist/record/migration/orchestrate.js +0 -16
  1869. package/dist/record/migration/orchestrate.js.map +0 -1
  1870. package/dist/record/migration/plan.cjs +0 -63
  1871. package/dist/record/migration/plan.cjs.map +0 -1
  1872. package/dist/record/migration/plan.d.cts +0 -32
  1873. package/dist/record/migration/plan.d.mts +0 -32
  1874. package/dist/record/migration/plan.d.ts +0 -32
  1875. package/dist/record/migration/plan.js +0 -10
  1876. package/dist/record/migration/plan.js.map +0 -1
  1877. package/dist/record/migration/registry.cjs +0 -150
  1878. package/dist/record/migration/registry.cjs.map +0 -1
  1879. package/dist/record/migration/registry.d.cts +0 -61
  1880. package/dist/record/migration/registry.d.mts +0 -61
  1881. package/dist/record/migration/registry.d.ts +0 -61
  1882. package/dist/record/migration/registry.js +0 -14
  1883. package/dist/record/migration/registry.js.map +0 -1
  1884. package/dist/record/migration/storage.cjs +0 -382
  1885. package/dist/record/migration/storage.cjs.map +0 -1
  1886. package/dist/record/migration/storage.d.cts +0 -18
  1887. package/dist/record/migration/storage.d.mts +0 -18
  1888. package/dist/record/migration/storage.d.ts +0 -18
  1889. package/dist/record/migration/storage.js +0 -6
  1890. package/dist/record/migration/storage.js.map +0 -1
  1891. package/dist/record/migration/types.cjs.map +0 -1
  1892. package/dist/record/migration/types.d.cts +0 -16
  1893. package/dist/record/migration/types.d.mts +0 -16
  1894. package/dist/record/migration/types.d.ts +0 -16
  1895. package/dist/record/reader/internal.cjs +0 -17
  1896. package/dist/record/reader/internal.cjs.map +0 -1
  1897. package/dist/record/reader/internal.d.cts +0 -26
  1898. package/dist/record/reader/internal.d.mts +0 -26
  1899. package/dist/record/reader/internal.d.ts +0 -26
  1900. package/dist/record/reader/internal.js +0 -8
  1901. package/dist/record/reader/internal.js.map +0 -1
  1902. package/dist/record/writer/runtime.cjs +0 -656
  1903. package/dist/record/writer/runtime.cjs.map +0 -1
  1904. package/dist/record/writer/runtime.d.cts +0 -7
  1905. package/dist/record/writer/runtime.d.mts +0 -7
  1906. package/dist/record/writer/runtime.d.ts +0 -7
  1907. package/dist/record/writer/runtime.js +0 -6
  1908. package/dist/report/author/identity.cjs +0 -268
  1909. package/dist/report/author/identity.cjs.map +0 -1
  1910. package/dist/report/author/identity.d.cts +0 -75
  1911. package/dist/report/author/identity.d.mts +0 -75
  1912. package/dist/report/author/identity.d.ts +0 -75
  1913. package/dist/report/author/identity.js +0 -34
  1914. package/dist/report/author/identity.js.map +0 -1
  1915. package/dist/report/author/index.cjs +0 -19
  1916. package/dist/report/author/index.cjs.map +0 -1
  1917. package/dist/report/author/index.d.cts +0 -4
  1918. package/dist/report/author/index.d.mts +0 -4
  1919. package/dist/report/author/index.d.ts +0 -4
  1920. package/dist/report/author/index.js +0 -30
  1921. package/dist/report/author/internal.cjs +0 -98
  1922. package/dist/report/author/internal.cjs.map +0 -1
  1923. package/dist/report/author/internal.d.cts +0 -91
  1924. package/dist/report/author/internal.d.mts +0 -91
  1925. package/dist/report/author/internal.d.ts +0 -91
  1926. package/dist/report/author/internal.js +0 -18
  1927. package/dist/report/author/internal.js.map +0 -1
  1928. package/dist/report/author/model.cjs +0 -467
  1929. package/dist/report/author/model.cjs.map +0 -1
  1930. package/dist/report/author/model.d.cts +0 -241
  1931. package/dist/report/author/model.d.mts +0 -241
  1932. package/dist/report/author/model.d.ts +0 -241
  1933. package/dist/report/author/model.js +0 -32
  1934. package/dist/report/author/model.js.map +0 -1
  1935. package/dist/report/execution/index.cjs +0 -20
  1936. package/dist/report/execution/index.cjs.map +0 -1
  1937. package/dist/report/execution/index.d.cts +0 -3
  1938. package/dist/report/execution/index.d.mts +0 -3
  1939. package/dist/report/execution/index.d.ts +0 -3
  1940. package/dist/report/execution/index.js +0 -30
  1941. package/dist/report/execution/problems.cjs +0 -210
  1942. package/dist/report/execution/problems.cjs.map +0 -1
  1943. package/dist/report/execution/problems.d.cts +0 -54
  1944. package/dist/report/execution/problems.d.mts +0 -54
  1945. package/dist/report/execution/problems.d.ts +0 -54
  1946. package/dist/report/execution/problems.js +0 -14
  1947. package/dist/report/execution/problems.js.map +0 -1
  1948. package/dist/report/execution/results.cjs +0 -26
  1949. package/dist/report/execution/results.cjs.map +0 -1
  1950. package/dist/report/execution/results.d.cts +0 -102
  1951. package/dist/report/execution/results.d.mts +0 -102
  1952. package/dist/report/execution/results.d.ts +0 -102
  1953. package/dist/report/execution/results.js +0 -8
  1954. package/dist/report/execution/results.js.map +0 -1
  1955. package/dist/report/host/html.cjs +0 -424
  1956. package/dist/report/host/html.cjs.map +0 -1
  1957. package/dist/report/host/html.d.cts +0 -28
  1958. package/dist/report/host/html.d.mts +0 -28
  1959. package/dist/report/host/html.d.ts +0 -28
  1960. package/dist/report/host/html.js +0 -6
  1961. package/dist/report/host/html.js.map +0 -1
  1962. package/dist/report/host/node/theme.cjs +0 -21
  1963. package/dist/report/host/node/theme.cjs.map +0 -1
  1964. package/dist/report/host/node/theme.d.cts +0 -1
  1965. package/dist/report/host/node/theme.d.mts +0 -1
  1966. package/dist/report/host/node/theme.d.ts +0 -1
  1967. package/dist/report/host/node/theme.js +0 -14
  1968. package/dist/report/host/presentation.cjs +0 -423
  1969. package/dist/report/host/presentation.cjs.map +0 -1
  1970. package/dist/report/host/presentation.d.cts +0 -42
  1971. package/dist/report/host/presentation.d.mts +0 -42
  1972. package/dist/report/host/presentation.d.ts +0 -42
  1973. package/dist/report/host/presentation.js +0 -16
  1974. package/dist/report/host/theme.cjs +0 -223
  1975. package/dist/report/host/theme.cjs.map +0 -1
  1976. package/dist/report/host/theme.d.cts +0 -64
  1977. package/dist/report/host/theme.d.mts +0 -64
  1978. package/dist/report/host/theme.d.ts +0 -64
  1979. package/dist/report/host/theme.js +0 -14
  1980. package/dist/report/host/theme.js.map +0 -1
  1981. package/dist/report/semantic/document.cjs +0 -593
  1982. package/dist/report/semantic/document.cjs.map +0 -1
  1983. package/dist/report/semantic/document.d.cts +0 -162
  1984. package/dist/report/semantic/document.d.mts +0 -162
  1985. package/dist/report/semantic/document.d.ts +0 -162
  1986. package/dist/report/semantic/document.js +0 -38
  1987. package/dist/report/semantic/document.js.map +0 -1
  1988. package/dist/report/semantic/index.cjs +0 -18
  1989. package/dist/report/semantic/index.cjs.map +0 -1
  1990. package/dist/report/semantic/index.d.cts +0 -1
  1991. package/dist/report/semantic/index.d.mts +0 -1
  1992. package/dist/report/semantic/index.d.ts +0 -1
  1993. package/dist/report/semantic/index.js +0 -38
  1994. package/dist/shared/facts.cjs +0 -24
  1995. package/dist/shared/facts.cjs.map +0 -1
  1996. package/dist/shared/facts.d.cts +0 -7
  1997. package/dist/shared/facts.d.mts +0 -7
  1998. package/dist/shared/facts.d.ts +0 -7
  1999. package/dist/shared/facts.js +0 -6
  2000. package/dist/shared/facts.js.map +0 -1
  2001. package/dist/show/json.cjs +0 -8
  2002. package/dist/show/json.cjs.map +0 -1
  2003. package/dist/show/json.d.cts +0 -2
  2004. package/dist/show/json.d.mts +0 -2
  2005. package/dist/show/json.d.ts +0 -2
  2006. package/dist/show/json.js +0 -8
  2007. package/dist/show/json.js.map +0 -1
  2008. package/dist/show/render.cjs +0 -7
  2009. package/dist/show/render.cjs.map +0 -1
  2010. package/dist/show/render.d.cts +0 -2
  2011. package/dist/show/render.d.mts +0 -2
  2012. package/dist/show/render.d.ts +0 -2
  2013. package/dist/show/render.js +0 -6
  2014. package/dist/show/render.js.map +0 -1
  2015. package/dist/sources/assemble.cjs +0 -634
  2016. package/dist/sources/assemble.cjs.map +0 -1
  2017. package/dist/sources/assemble.d.cts +0 -6
  2018. package/dist/sources/assemble.d.mts +0 -6
  2019. package/dist/sources/assemble.d.ts +0 -6
  2020. package/dist/sources/assemble.js +0 -6
  2021. package/dist/sources/assemble.js.map +0 -1
  2022. package/dist/sources/projection-model.cjs +0 -3
  2023. package/dist/sources/projection-model.cjs.map +0 -1
  2024. package/dist/sources/projection-model.d.cts +0 -327
  2025. package/dist/sources/projection-model.d.mts +0 -327
  2026. package/dist/sources/projection-model.d.ts +0 -327
  2027. package/dist/sources/projection-model.js +0 -4
  2028. package/dist/sources/projection-model.js.map +0 -1
  2029. /package/dist/{projection → coordination/host}/index.js.map +0 -0
  2030. /package/dist/{projection → coordination/host}/index.mjs.map +0 -0
  2031. /package/dist/{projection → coordination/host}/runtime.js.map +0 -0
  2032. /package/dist/{record/migration → coordination/host}/types.cjs +0 -0
  2033. /package/dist/{record/migration → coordination/host}/types.js +0 -0
  2034. /package/dist/{record/migration → coordination/host}/types.js.map +0 -0
  2035. /package/dist/{record/migration → coordination}/identity.js.map +0 -0
  2036. /package/dist/{report/author → coordination}/index.js.map +0 -0
  2037. /package/dist/{report/execution → coordination/platform}/index.js.map +0 -0
  2038. /package/dist/{report/semantic → experiment/host}/index.js.map +0 -0
  2039. /package/dist/record/{writer → host}/runtime.js.map +0 -0
  2040. /package/dist/report/{host/presentation.js.map → presentation.js.map} +0 -0
  2041. /package/dist/report/{host/node/theme.js.map → theme.js.map} +0 -0
@@ -10,6 +10,7 @@ exports.classifyProvisionError = classifyProvisionError;
10
10
  // 模板:opts.template 选 e2b 模板名/ID;省略用 e2b 默认 "base"。预制模板(烘焙好
11
11
  // codex/claude-code/bub 的 "niceeval-agents")见 sandbox/e2b/。
12
12
  const e2b_1 = require("e2b");
13
+ const effect_1 = require("effect");
13
14
  const node_crypto_1 = require("node:crypto");
14
15
  const index_ts_1 = require("../i18n/index.cjs");
15
16
  const promises_1 = require("node:fs/promises");
@@ -26,6 +27,11 @@ const operations_ts_1 = require("./operations.cjs");
26
27
  const backend_ts_1 = require("./backend.cjs");
27
28
  // e2b 默认用户 "user",home 在 /home/user;工作区放其下。
28
29
  const E2B_WORKDIR = "/home/user/workspace";
30
+ /** SDK/event Promises stay at the boundary; Effect owns which outcome wins and interrupts its waiter fibers. */
31
+ function raceCommandOutcomes(outcomes) {
32
+ const effects = outcomes.map((outcome) => effect_1.Effect.promise(() => outcome));
33
+ return effect_1.Effect.runPromise(effect_1.Effect.raceAll(effects));
34
+ }
29
35
  /**
30
36
  * 把 marker 编成 bash 的 printf `%b` 输入。wrapper 源码与 xtrace 诊断因此不会直接包含
31
37
  * 可被 parser 当成一整帧的 prefix/suffix;实际字节仍由同一个 bash supervisor 生成。
@@ -261,24 +267,30 @@ async function reconcileProvision(token) {
261
267
  /**
262
268
  * `nextItems()` 按类型契约总是 resolve 成数组(SDK 内部对空响应也兜了 `?? []`),但对账这条
263
269
  * 路径线上真实撞见过它 resolve 成非数组的一次——没能复现出确切成因,不排它,原样让下面的
264
- * `for...of` 抛出,但换一句能定位的诊断,而不是留一条裸的 "X is not iterable"。
270
+ * 类型守卫抛出,但换一句能定位的诊断,而不是留一条裸的 "X is not iterable"。
271
+ *
272
+ * 重试是 NiceEval 内部策略(attempt 数、delay 公式与错误分类和原来完全一致):
273
+ * 等待用 `Effect.sleep`(Clock)、SDK Promise 在 `tryPromise` 边界适配一次,
274
+ * 原始错误对象原样留在失败通道,耗尽重试时抛回的是同一个对象。
265
275
  */
276
+ function fetchNextItemsWithRetryEffect(paginator) {
277
+ const attempt = (n) => effect_1.Effect.tryPromise({
278
+ try: () => paginator.nextItems(),
279
+ catch: (cause) => cause,
280
+ }).pipe(effect_1.Effect.flatMap((items) => {
281
+ if (Array.isArray(items))
282
+ return effect_1.Effect.succeed(items);
283
+ return effect_1.Effect.fail(new Error((0, index_ts_1.t)("e2b.listNextItemsNotArray", { type: typeof items })));
284
+ }), effect_1.Effect.catchAll((error) => {
285
+ const kind = (0, errors_ts_1.classifyProvisionErrorFallback)(error);
286
+ if (n >= RECONCILE_LIST_MAX_ATTEMPTS - 1 || !(0, errors_ts_1.isRetryableProvisionError)(kind))
287
+ return effect_1.Effect.fail(error);
288
+ return effect_1.Clock.sleep(RECONCILE_LIST_RETRY_DELAY_MS * 2 ** n).pipe(effect_1.Effect.zipRight(attempt(n + 1)));
289
+ }));
290
+ return attempt(0);
291
+ }
266
292
  async function fetchNextItemsWithRetry(paginator) {
267
- for (let attempt = 0;; attempt += 1) {
268
- try {
269
- const items = await paginator.nextItems();
270
- if (!Array.isArray(items)) {
271
- throw new Error((0, index_ts_1.t)("e2b.listNextItemsNotArray", { type: typeof items }));
272
- }
273
- return items;
274
- }
275
- catch (e) {
276
- const kind = (0, errors_ts_1.classifyProvisionErrorFallback)(e);
277
- if (attempt >= RECONCILE_LIST_MAX_ATTEMPTS - 1 || !(0, errors_ts_1.isRetryableProvisionError)(kind))
278
- throw e;
279
- await new Promise((resolve) => setTimeout(resolve, RECONCILE_LIST_RETRY_DELAY_MS * 2 ** attempt));
280
- }
281
- }
293
+ return effect_1.Effect.runPromise(fetchNextItemsWithRetryEffect(paginator));
282
294
  }
283
295
  function classifyProvisionError(e) {
284
296
  // SDK 原生限流先归拒绝类;没认出的过与文件 IO 共用的保守瞬时兜底分类器
@@ -481,7 +493,7 @@ class E2BSandbox {
481
493
  // Starting a background command is itself a remote RPC and can hang. Race handle acquisition
482
494
  // against the abort retirement, while eagerly handling a late start rejection.
483
495
  const commandStartOutcome = this.sbx.commands.run(completion.script, commandOptions).then((handle) => ({ _tag: "HandleReady", handle }), (error) => ({ _tag: "HandleFailed", error }));
484
- const startOutcome = await Promise.race([
496
+ const startOutcome = await raceCommandOutcomes([
485
497
  commandStartOutcome,
486
498
  ...(abortOutcome ? [abortOutcome] : []),
487
499
  ]);
@@ -492,7 +504,7 @@ class E2BSandbox {
492
504
  throw startOutcome.error;
493
505
  const handle = startOutcome.handle;
494
506
  const streamOutcome = handle.wait().then((result) => ({ _tag: "SdkStreamEnded", result }), (error) => ({ _tag: "SdkStreamFailed", error }));
495
- const outcome = await Promise.race([
507
+ const outcome = await raceCommandOutcomes([
496
508
  completionOutcome,
497
509
  streamOutcome,
498
510
  ...(abortOutcome ? [abortOutcome] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"e2b.js","sourceRoot":"","sources":["e2b.ts"],"names":[],"mappings":"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","sourcesContent":["// E2B 沙箱 provider:用 e2b SDK 把 E2B microVM 当隔离工作区跑 eval。\n// 契约对齐 ../types.ts 的 Sandbox 接口,与 DockerSandbox / VercelSandbox 可互换。\n//\n// 鉴权:E2B_API_KEY(team 级,e2b CLI `e2b auth login` 后也写在 ~/.e2b)。\n// 模板:opts.template 选 e2b 模板名/ID;省略用 e2b 默认 \"base\"。预制模板(烘焙好\n// codex/claude-code/bub 的 \"niceeval-agents\")见 sandbox/e2b/。\nimport { Sandbox as E2BSdkSandbox, CommandExitError, NotFoundError, RateLimitError } from \"e2b\";\nimport { randomUUID } from \"node:crypto\";\nimport { t } from \"../i18n/index.ts\";\nimport { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\nimport type { CommandResult, CommandOptions, SandboxReuseCapability, SuccessfulCommandResult, } from \"../types.ts\";\nimport { classifyProvisionErrorFallback, isRetryableProvisionError, type SandboxProvisionErrorKind, } from \"./errors.ts\";\nimport { classifySandboxIoError } from \"./errors.ts\";\nimport { downloadDirectoryByList } from \"./download-directory.ts\";\nimport { collectLocalFiles, type CollectedLocalFile } from \"./local-files.ts\";\nimport { shellQuote } from \"./shell.ts\";\nimport { resolveLocalPath, resolveSandboxPath } from \"./paths.ts\";\nimport { e2bRunIdentityMetadata, type RunIdentity } from \"./run-identity.ts\";\nimport { commandLimit, SandboxCommandTimeoutError } from \"./deadline.ts\";\nimport { successfulCommandResult } from \"./operations.ts\";\nimport { supportedBackendCapability, unsupportedBackendCapability, type SandboxProviderBackend } from \"./backend.ts\";\n// e2b 默认用户 \"user\",home 在 /home/user;工作区放其下。\nconst E2B_WORKDIR = \"/home/user/workspace\";\ntype E2BCommandOutputChannel = \"stdout\" | \"stderr\";\ninterface E2BCommandOutputState {\n pending: string;\n output: string;\n markerStarted: boolean;\n complete: boolean;\n exitCode?: number;\n invalidMarkerPayload?: string;\n}\n/**\n * 把 marker 编成 bash 的 printf `%b` 输入。wrapper 源码与 xtrace 诊断因此不会直接包含\n * 可被 parser 当成一整帧的 prefix/suffix;实际字节仍由同一个 bash supervisor 生成。\n */\nfunction shellByteEscapes(value: string): string {\n return [...Buffer.from(value, \"utf8\")]\n .map((byte) => `\\\\x${byte.toString(16).padStart(2, \"0\")}`)\n .join(\"\");\n}\n/** 当前内容仍可能是 `digits + suffix` 的跨 chunk 前缀。 */\nfunction isCompletionFramePrefix(encoded: string, suffix: string): boolean {\n if (encoded.length === 0)\n return true;\n let firstNonDigit = 0;\n while (firstNonDigit < encoded.length && /\\d/.test(encoded[firstNonDigit]!))\n firstNonDigit += 1;\n if (firstNonDigit === encoded.length)\n return true;\n if (firstNonDigit === 0)\n return false;\n const suffixPrefix = encoded.slice(firstNonDigit);\n return suffixPrefix.length < suffix.length && suffix.startsWith(suffixPrefix);\n}\n/**\n * E2B 的 command RPC 把进程终局与 stdout/stderr event stream 绑在一起。shell 已退出、但它\n * 有意留下的后台服务仍继承管道时,SDK `wait()` 会继续等 event stream EOF。这里给直接 shell\n * 加一个不改写输出目的地的 supervisor:两路 marker 都由直接 shell 结束后写出;收到后只\n * disconnect transport,不 kill 后台服务。timeout / cancellation 仍由调用方退休整台 VM。\n */\nclass E2BCommandCompletion {\n readonly script: string;\n readonly completion: Promise<number>;\n private readonly prefix: string;\n private readonly suffix: string;\n private readonly states: globalThis.Record<E2BCommandOutputChannel, E2BCommandOutputState> = {\n stdout: { pending: \"\", output: \"\", markerStarted: false, complete: false },\n stderr: { pending: \"\", output: \"\", markerStarted: false, complete: false },\n };\n private readonly callbacks: Partial<globalThis.Record<E2BCommandOutputChannel, (chunk: string) => void | Promise<void>>>;\n private readonly resolveCompletion: (exitCode: number) => void;\n private readonly rejectCompletion: (error: Error) => void;\n constructor(script: string, opts: Pick<CommandOptions, \"onStdout\" | \"onStderr\">) {\n const id = randomUUID().replaceAll(\"-\", \"\");\n this.prefix = `__niceeval_e2b_command_${id}_exit_`;\n this.suffix = `__niceeval_e2b_command_${id}_end__`;\n this.callbacks = {\n ...(opts.onStdout ? { stdout: opts.onStdout } : {}),\n ...(opts.onStderr ? { stderr: opts.onStderr } : {}),\n };\n let resolveCompletion!: (exitCode: number) => void;\n let rejectCompletion!: (error: Error) => void;\n this.completion = new Promise<number>((resolve, reject) => {\n resolveCompletion = resolve;\n rejectCompletion = reject;\n });\n this.resolveCompletion = resolveCompletion;\n this.rejectCompletion = rejectCompletion;\n // 原脚本住在异步 subshell:它继续继承 E2B login shell 的变量、函数、cwd 与 shell option,\n // `exit` / `exec` / EXIT trap 只结束自己的 shell。外层只 wait 这个直接 shell,不会等它\n // 有意留下的孙进程;因此能在 `nohup ... &` 之后可靠写出两路终局 marker。\n const encodedPrefix = shellQuote(shellByteEscapes(this.prefix));\n const encodedSuffix = shellQuote(shellByteEscapes(this.suffix));\n this.script = [\n \"(\",\n script,\n \") &\",\n \"__niceeval_e2b_command_pid=$!\",\n \"if wait \\\"$__niceeval_e2b_command_pid\\\"; then\",\n \" __niceeval_e2b_command_exit=0\",\n \"else\",\n \" __niceeval_e2b_command_exit=$?\",\n \"fi\",\n `__niceeval_e2b_command_prefix=$(printf '%b' ${encodedPrefix})`,\n `__niceeval_e2b_command_suffix=$(printf '%b' ${encodedSuffix})`,\n `printf '%s%s%s' \\\"$__niceeval_e2b_command_prefix\\\" \\\"$__niceeval_e2b_command_exit\\\" \\\"$__niceeval_e2b_command_suffix\\\"`,\n `printf '%s%s%s' \\\"$__niceeval_e2b_command_prefix\\\" \\\"$__niceeval_e2b_command_exit\\\" \\\"$__niceeval_e2b_command_suffix\\\" >&2`,\n \"exit \\\"$__niceeval_e2b_command_exit\\\"\",\n ].join(\"\\n\");\n }\n readonly onStdout = async (chunk: string): Promise<void> => this.consume(\"stdout\", chunk);\n readonly onStderr = async (chunk: string): Promise<void> => this.consume(\"stderr\", chunk);\n result(exitCode: number): CommandResult {\n return {\n stdout: this.states.stdout.output,\n stderr: this.states.stderr.output,\n exitCode,\n };\n }\n /** SDK 在 marker 前先结束时,把为跨 chunk 匹配暂存的普通输出交还调用方。 */\n async finish(): Promise<void> {\n for (const channel of [\"stdout\", \"stderr\"] as const) {\n const state = this.states[channel];\n if (!state.complete && !state.markerStarted && state.pending.length > 0) {\n const pending = state.pending;\n state.pending = \"\";\n await this.emit(channel, pending);\n }\n }\n const invalid = ([\"stdout\", \"stderr\"] as const)\n .map((channel) => ({ channel, state: this.states[channel] }))\n .find(({ state }) => !state.complete && state.invalidMarkerPayload !== undefined);\n if (invalid !== undefined) {\n throw new Error(`e2b command completion marker carried an invalid exit code: ${JSON.stringify(invalid.state.invalidMarkerPayload)}`);\n }\n const mismatch = this.exitCodeMismatch();\n if (mismatch !== undefined)\n throw mismatch;\n const partial = ([\"stdout\", \"stderr\"] as const).filter((channel) => {\n const state = this.states[channel];\n return state.markerStarted && !state.complete;\n });\n if (partial.length > 0) {\n throw new Error(`e2b command completion marker was truncated on ${partial.join(\" and \")}`);\n }\n const completed = ([\"stdout\", \"stderr\"] as const).filter((channel) => this.states[channel].complete);\n if (completed.length === 1) {\n throw new Error(`e2b command completion marker was received only on ${completed[0]}`);\n }\n }\n private async consume(channel: E2BCommandOutputChannel, chunk: string): Promise<void> {\n const state = this.states[channel];\n // 直接 shell 已结束后的输出只能来自它留下的后台服务;command transport 到这里已经封口。\n if (state.complete)\n return;\n state.pending += chunk;\n while (!state.complete) {\n if (!state.markerStarted) {\n const markerAt = state.pending.indexOf(this.prefix);\n if (markerAt < 0) {\n // marker 可能跨 SDK chunk;只保留足以匹配 prefix 的尾巴,其余实时透传。\n const safeLength = Math.max(0, state.pending.length - this.prefix.length + 1);\n if (safeLength > 0) {\n const safe = state.pending.slice(0, safeLength);\n state.pending = state.pending.slice(safeLength);\n await this.emit(channel, safe);\n }\n return;\n }\n const before = state.pending.slice(0, markerAt);\n state.pending = state.pending.slice(markerAt);\n await this.emit(channel, before);\n state.markerStarted = true;\n }\n const encoded = state.pending.slice(this.prefix.length);\n const markerEnd = encoded.indexOf(this.suffix);\n if (markerEnd >= 0) {\n const encodedExitCode = encoded.slice(0, markerEnd);\n if (!/^\\d+$/.test(encodedExitCode) || !Number.isSafeInteger(Number(encodedExitCode))) {\n // wrapper 源码、bash -x 和 SDK 转义诊断都可能带 marker 字面量。它们不是完成帧,\n // 作为普通输出保留,并继续寻找后面的真实帧;只有 stream 结束仍没有真实帧时,\n // finish() 才把这条协议错误交给调用方。\n state.invalidMarkerPayload ??= encodedExitCode;\n const invalid = state.pending.slice(0, this.prefix.length + markerEnd + this.suffix.length);\n state.pending = encoded.slice(markerEnd + this.suffix.length);\n state.markerStarted = false;\n await this.emit(channel, invalid);\n continue;\n }\n state.exitCode = Number(encodedExitCode);\n state.complete = true;\n // suffix 后同一个 chunk 里的字节来自后台服务;它们不属于已经 settle 的直接命令。\n state.pending = \"\";\n this.maybeComplete();\n return;\n }\n if (isCompletionFramePrefix(encoded, this.suffix))\n return;\n // 当前 prefix 后的内容已经不可能组成数字帧。先把 prefix 当普通输出吐出,再从\n // 剩余文本继续扫描;这样 source/diagnostic 中的假 prefix 不会吞掉后面的真实帧。\n state.pending = encoded;\n state.markerStarted = false;\n await this.emit(channel, this.prefix);\n }\n }\n private async emit(channel: E2BCommandOutputChannel, chunk: string): Promise<void> {\n if (chunk.length === 0)\n return;\n this.states[channel].output += chunk;\n await this.callbacks[channel]?.(chunk);\n }\n private maybeComplete(): void {\n const stdoutExit = this.states.stdout.exitCode;\n const stderrExit = this.states.stderr.exitCode;\n if (stdoutExit === undefined || stderrExit === undefined)\n return;\n const mismatch = this.exitCodeMismatch();\n if (mismatch !== undefined) {\n this.rejectCompletion(mismatch);\n return;\n }\n this.resolveCompletion(stdoutExit);\n }\n private exitCodeMismatch(): Error | undefined {\n const stdoutExit = this.states.stdout.exitCode;\n const stderrExit = this.states.stderr.exitCode;\n if (stdoutExit === undefined || stderrExit === undefined || stdoutExit === stderrExit)\n return undefined;\n return new Error(`e2b command completion markers disagreed on exit code: stdout=${stdoutExit}, stderr=${stderrExit}`);\n }\n}\n/** e2b 的限流错误是 SDK 原生的 RateLimitError(HTTP 429 映射而来);见 retry.ts 的 withProvisionRetry。 */\n// 对账本身只有一次机会:retry.ts 的 withProvisionRetry 对账失败就直接放弃重试、抛回原始\n// create() 错误(见那边的注释)。对账走的这次 list 请求跟刚失败的 create() 往往挨得很近,\n// 大概率处在同一段网络抖动里——不给它自己的重试,一次瞬时失败就会把本可能自愈的 attempt\n// 判死。这里给 nextItems() 单独包一层短重试,只吃与 create() 侧同一套分类下的瞬时错误。\nconst RECONCILE_LIST_MAX_ATTEMPTS = 3;\nconst RECONCILE_LIST_RETRY_DELAY_MS = 500;\n/**\n * E2B 创建请求必须明确说明寿命是作者声明、attempt deadline 派生,还是没有 deadline 可派生。\n * 把这个区分留在类型里,运行时就不会再把「没有显式 lifetimeMs」误传成 SDK 的短默认值。\n */\nexport type E2BSandboxLifetime = {\n readonly _tag: \"ProviderDefault\";\n} | {\n readonly _tag: \"Requested\";\n readonly milliseconds: number;\n readonly source: \"explicit\" | \"attempt-deadline\";\n};\ninterface E2BSandboxCreateOptions {\n readonly timeout?: number;\n /** attempt deadline 的截止时刻(epoch ms);单条命令按剩余量取上限。 */\n readonly deadlineAt?: number;\n readonly runtime?: \"node20\" | \"node24\";\n readonly template?: string;\n /** 覆盖整个 Sandbox 的默认执行身份;省略时沿用 template 的默认用户。 */\n readonly user?: string;\n /**\n * 按序前置到受管 `PATH` 的目录;省略 = 不改 PATH(见 docs/feature/sandbox/library.md\n * 「PATH:受管变量与 pathPrepend」)。\n */\n readonly pathPrepend?: readonly string[];\n readonly provisionToken?: string;\n /** 运行时已解析的实例寿命;bounded attempt 不能退回 E2B 的 SDK 默认值。 */\n readonly lifetime: E2BSandboxLifetime;\n /** 创建期写入的运行标识(host/pid/startedAt),供强杀之后的孤儿核对按 metadata 事后收回\n * (见 docs/feature/sandbox/architecture.md「孤儿核对」)。 */\n readonly runIdentity?: RunIdentity;\n}\n/**\n * Provisioning 重试前的对账:按 metadata 里的 provision token 检索远端实例,查到即 kill。\n * 检索或销毁失败必须抛出——对账是重试的硬前置,静默放行等于盲重试,会复制计费实例\n * (见 docs/feature/sandbox/architecture.md「Provisioning 失败与重试」)。\n * 唯一的例外:实例已不存在(NotFound),视作对账完成。\n */\nexport async function reconcileProvision(token: string): Promise<void> {\n const apiKey = process.env.E2B_API_KEY;\n // Sandbox.list() 是同步方法,返回分页器(SandboxPaginator),不是 Promise<数组>——用\n // hasNext/nextItems() 翻页,不能直接 for...of。metadata 过滤走服务端 query,一次 token\n // 命中的实例数极少,通常一页打完。\n const paginator = E2BSdkSandbox.list({ apiKey, query: { metadata: { \"niceeval-provision-token\": token } } });\n while (paginator.hasNext) {\n const sandboxes = await fetchNextItemsWithRetry(paginator);\n for (const info of sandboxes) {\n try {\n await E2BSdkSandbox.kill(info.sandboxId, { apiKey });\n }\n catch (e) {\n if (!(e instanceof NotFoundError))\n throw e;\n }\n }\n }\n}\n/**\n * `nextItems()` 按类型契约总是 resolve 成数组(SDK 内部对空响应也兜了 `?? []`),但对账这条\n * 路径线上真实撞见过它 resolve 成非数组的一次——没能复现出确切成因,不排它,原样让下面的\n * `for...of` 抛出,但换一句能定位的诊断,而不是留一条裸的 \"X is not iterable\"。\n */\nasync function fetchNextItemsWithRetry(paginator: ReturnType<typeof E2BSdkSandbox.list>): Promise<Awaited<ReturnType<typeof paginator.nextItems>>> {\n for (let attempt = 0;; attempt += 1) {\n try {\n const items = await paginator.nextItems();\n if (!Array.isArray(items)) {\n throw new Error(t(\"e2b.listNextItemsNotArray\", { type: typeof items }));\n }\n return items;\n }\n catch (e) {\n const kind = classifyProvisionErrorFallback(e);\n if (attempt >= RECONCILE_LIST_MAX_ATTEMPTS - 1 || !isRetryableProvisionError(kind))\n throw e;\n await new Promise((resolve) => setTimeout(resolve, RECONCILE_LIST_RETRY_DELAY_MS * 2 ** attempt));\n }\n }\n}\nexport function classifyProvisionError(e: unknown): SandboxProvisionErrorKind {\n // SDK 原生限流先归拒绝类;没认出的过与文件 IO 共用的保守瞬时兜底分类器\n // (真实跑分里出现过 create 阶段 `fetch failed · other side closed`,属歧义类)。\n if (e instanceof RateLimitError)\n return \"rate_limit\";\n return classifyProvisionErrorFallback(e);\n}\nexport class E2BSandbox implements SandboxProviderBackend, SandboxReuseCapability {\n readonly workdir = E2B_WORKDIR;\n readonly otlpHost = null;\n private sbx: E2BSdkSandbox;\n private commandTimeoutMs?: number;\n /** A VM retirement is idempotent across abort, transport failure, and the scope finalizer. */\n private retirement?: Promise<void>;\n private retired = false;\n /** 已实际请求的实例寿命;复用下续期一律续到这个值(滑动窗口)。 */\n private lifetime: E2BSandboxLifetime;\n /** 起点覆盖(factory `user`);省略 = 沿用 template 的默认用户。 */\n private readonly userOverride?: string;\n /** factory `pathPrepend`;按声明顺序前置到受管 PATH,省略 = 空数组。 */\n private readonly pathPrepend: readonly string[];\n readonly sandboxId: string;\n private deadlineAt?: number;\n readonly capabilities = {\n rootCommands: supportedBackendCapability(true as const),\n appendLog: unsupportedBackendCapability,\n suspend: supportedBackendCapability(() => this.suspend()),\n ensureLifetime: supportedBackendCapability((minRemainingMs: number) => this.ensureLifetime(minRemainingMs)),\n setCommandDeadline: supportedBackendCapability((deadlineAt?: number) => this.setCommandDeadline(deadlineAt)),\n };\n private constructor(sbx: E2BSdkSandbox, id: string, commandTimeoutMs: number | undefined, lifetime: E2BSandboxLifetime, userOverride: string | undefined, pathPrepend: readonly string[] = [], deadlineAt?: number) {\n this.sbx = sbx;\n this.sandboxId = id;\n this.commandTimeoutMs = commandTimeoutMs;\n this.lifetime = lifetime;\n this.userOverride = userOverride;\n this.pathPrepend = pathPrepend;\n this.deadlineAt = deadlineAt;\n }\n /** 复用下由池在每次借出时换成承接者自己的 deadline(见 sandbox/deadline.ts)。 */\n setCommandDeadline(deadlineAt?: number): void {\n this.deadlineAt = deadlineAt;\n }\n /**\n * 寿命确认:先问远端真实到期时刻,不够再续,续完**重新问一次**。\n *\n * 两处都读 `getInfo().endAt` 而不是复读我们请求的值,是这条能力的全部要害——e2b 的账号档位\n * 会把 `setTimeout` 的请求值压到平台上限(免费档尤其明显)。拿请求值记账等于把「平台压短了」\n * 伪装成「作者声明生效了」,而症状要到 attempt 跑到一半、实例被回收时才出现,那时只剩一句\n * 无归属的 sandbox 消失。宁可在这里如实报 `ready: false` 让 runner 轮换实例。\n */\n async ensureLifetime(minRemainingMs: number): Promise<{\n ready: true;\n expiresAt?: string;\n } | {\n ready: false;\n reason: string;\n }> {\n if (this.lifetime._tag === \"ProviderDefault\") {\n return {\n ready: false,\n reason: \"the e2b sandbox has no requested lifetime; an unlimited attempt must declare lifetimeMs before sandboxReuse\",\n };\n }\n try {\n const remainingMs = async () => (await this.sbx.getInfo()).endAt.getTime() - Date.now();\n const before = await remainingMs();\n if (before >= minRemainingMs)\n return { ready: true, expiresAt: new Date(Date.now() + before).toISOString() };\n // setTimeout 是「从此刻起再活这么久」,不是增量;续到创建期实际请求的完整寿命。\n await this.sbx.setTimeout(this.lifetime.milliseconds);\n const after = await remainingMs();\n return after >= minRemainingMs\n ? { ready: true, expiresAt: new Date(Date.now() + after).toISOString() }\n : {\n ready: false,\n reason: `e2b capped this sandbox's lifetime at ${Math.round(after / 1000)}s after renewing to the ${this.lifetime.source === \"explicit\" ? \"declared\" : \"attempt-deadline-derived\"} ` +\n `lifetimeMs=${this.lifetime.milliseconds}ms; the next attempt needs ${Math.round(minRemainingMs / 1000)}s`,\n };\n }\n catch (e) {\n return { ready: false, reason: `e2b could not confirm this sandbox's lifetime: ${String(e)}` };\n }\n }\n static async create(opts: E2BSandboxCreateOptions): Promise<E2BSandbox> {\n // 单条命令没有 provider 级默认:上限恒从 attempt deadline 派生(见 deadline.ts)。\n const commandTimeoutMs = opts.timeout;\n // e2b 的 node 版本由模板决定,runtime 仅作记录(不在创建时选)。\n const apiKey = process.env.E2B_API_KEY;\n // provision token 与运行标识都经 metadata 打进实例(同一通道):歧义类失败(fetch failed ·\n // other side closed)重试前按 token 检索远端、销毁可能已创建的实例(见 reconcileProvision);\n // 运行标识供 `sandbox list --orphans` 按 metadata 过滤事后核对。\n const metadata: globalThis.Record<string, string> = {\n ...(opts.provisionToken ? { \"niceeval-provision-token\": opts.provisionToken } : {}),\n ...(opts.runIdentity ? e2bRunIdentityMetadata(opts.runIdentity) : {}),\n };\n // bounded attempt 一定携带由 runtime 派生的 timeoutMs;只有没有 deadline 可派生的\n // unlimited attempt 才允许 ProviderDefault。NiceEval 不把某个账号档位观测到的上限硬编码\n // 成全体用户的契约。\n const sdkOpts = {\n apiKey,\n ...(opts.lifetime._tag === \"Requested\" ? { timeoutMs: opts.lifetime.milliseconds } : {}),\n ...(Object.keys(metadata).length > 0 ? { metadata } : {}),\n } as const;\n // 有 template 就从模板起,否则用 e2b 默认 \"base\"。\n const sbx = await (async () => {\n try {\n return opts.template ? await E2BSdkSandbox.create(opts.template, sdkOpts) : await E2BSdkSandbox.create(sdkOpts);\n }\n catch (e) {\n // 声明的寿命超出账号档位上限时,e2b 返回 400「Timeout cannot be greater than N hours」。\n // 这是确定性配置死因(同一个值重试多少次都是同一个 400),而裸 SDK 栈既不说是哪个字段\n // 惹的祸、也不说上限是多少。把 provider 的理由原样带出来并指到 lifetimeMs 上——\n // 「不能静默压短」的另一半是「压不下就把原因说清楚」\n // (见 docs/feature/sandbox/reuse.md「派发前确认」)。\n if (opts.lifetime._tag === \"Requested\" && /timeout cannot be greater than/i.test(e instanceof Error ? e.message : String(e))) {\n throw new Error(`e2b rejected the ${opts.lifetime.source === \"explicit\" ? \"declared\" : \"attempt-deadline-derived\"} ` +\n `lifetimeMs=${opts.lifetime.milliseconds}ms for this account: ${e instanceof Error ? e.message : String(e)}. ` +\n \"Lower the attempt timeout or lifetimeMs to fit the plan's maximum sandbox lifetime, or raise that maximum \" +\n \"on the e2b side; niceeval will not silently shorten it.\", { cause: e });\n }\n throw e;\n }\n })();\n // kill-on-failure:实例句柄已到手,创建之后的初始化请求(如下面的 mkdir 撞 429)一旦失败,\n // 先尽力销毁实例再抛出原始错误——否则重试层按「拒绝类=远端没有实例」盲重试,就会复制一台\n // 计费实例(见 docs/feature/sandbox/architecture.md「Provisioning 失败与重试」)。\n try {\n // 备好工作区目录(模板默认 cwd 是 home,workspace 子目录可能不存在)。\n await sbx.commands.run(`mkdir -p ${E2B_WORKDIR}`);\n return new E2BSandbox(sbx, sbx.sandboxId, commandTimeoutMs, opts.lifetime, opts.user, opts.pathPrepend ?? [], opts.deadlineAt);\n }\n catch (e) {\n await sbx.kill().catch(() => { });\n throw e;\n }\n }\n async runCommand(cmd: string, args: readonly string[] = [], opts: CommandOptions = {}): Promise<CommandResult> {\n const line = [cmd, ...args.map(shellQuote)].join(\" \");\n return this.runShell(line, opts);\n }\n async runShell(script: string, opts: CommandOptions = {}): Promise<CommandResult> {\n // e2b commands.run 直接透传同名 user 参数;省略时沿用 Sandbox 默认身份(factory `user`\n // 覆盖后的身份,否则 template 默认用户)—— 跨 provider 语义一致\n // (见 docs/feature/sandbox/library.md「执行身份」)。\n const limit = commandLimit(opts, { commandTimeoutMs: this.commandTimeoutMs, deadlineAt: this.deadlineAt });\n // pathPrepend 是受管 PATH,在脚本自己的 shell 里对 `$PATH` 前置——env 走的是 SDK 的\n // envs 参数(可能被 opts.env.PATH 覆盖),而这一行在它之后执行,始终生效\n // (见 docs/feature/sandbox/library.md「PATH:受管变量与 pathPrepend」)。\n const scriptWithPath = this.pathPrepend.length > 0\n ? `PATH=${shellQuote(this.pathPrepend.join(\":\"))}:\"$PATH\"\\n${script}`\n : script;\n const completion = new E2BCommandCompletion(scriptWithPath, opts);\n // Attach a rejection handler before starting the SDK command. A malformed marker can reject while\n // commands.run() is still delivering its initial events; keeping this outcome fulfilled avoids an\n // unhandled rejection before the command handle is returned.\n const completionOutcome = completion.completion.then((exitCode) => ({ _tag: \"DirectShellExited\" as const, exitCode }), (error: unknown) => ({ _tag: \"CompletionFailed\" as const, error }));\n const signal = opts.signal;\n let aborted = false;\n let cancellationReason: unknown = new DOMException(\"sandbox command aborted\", \"AbortError\");\n let abortRetirement: Promise<void> | undefined;\n let resolveAbort: ((outcome: {\n readonly _tag: \"Aborted\";\n readonly reason: unknown;\n }) => void) | undefined;\n const abortOutcome = signal === undefined\n ? undefined\n : new Promise<{\n readonly _tag: \"Aborted\";\n readonly reason: unknown;\n }>((resolve) => {\n resolveAbort = resolve;\n });\n const onAbort = signal === undefined\n ? undefined\n : () => {\n if (aborted)\n return;\n // This flag must change synchronously. Marker delivery can finish while kill() is still in\n // flight; every success path checks it before settling and awaits the same retirement.\n aborted = true;\n cancellationReason = signal.reason ?? new DOMException(\"sandbox command aborted\", \"AbortError\");\n abortRetirement ??= this.retire();\n // Cancellation waits for retirement to settle, but a kill transport failure must not\n // replace the caller's AbortSignal reason. A later stop() may retry a failed kill.\n void abortRetirement.then(() => resolveAbort?.({ _tag: \"Aborted\", reason: cancellationReason }), () => resolveAbort?.({ _tag: \"Aborted\", reason: cancellationReason }));\n };\n const throwIfAborted = async (): Promise<void> => {\n if (!aborted)\n return;\n await abortRetirement?.catch(() => undefined);\n throw cancellationReason;\n };\n if (signal !== undefined) {\n signal.addEventListener(\"abort\", onAbort!, { once: true });\n // Close the check/listener race: AbortSignal does not replay an abort to a late listener.\n if (signal.aborted)\n onAbort!();\n }\n try {\n const commandOptions = {\n cwd: resolveSandboxPath(this.workdir, opts.cwd),\n envs: opts.env,\n user: opts.user ?? this.userOverride,\n ...(limit.timeoutMs !== undefined ? { timeoutMs: limit.timeoutMs } : {}),\n onStdout: completion.onStdout,\n onStderr: completion.onStderr,\n background: true as const,\n };\n await throwIfAborted();\n // Starting a background command is itself a remote RPC and can hang. Race handle acquisition\n // against the abort retirement, while eagerly handling a late start rejection.\n const commandStartOutcome = this.sbx.commands.run(completion.script, commandOptions).then((handle) => ({ _tag: \"HandleReady\" as const, handle }), (error: unknown) => ({ _tag: \"HandleFailed\" as const, error }));\n const startOutcome = await Promise.race([\n commandStartOutcome,\n ...(abortOutcome ? [abortOutcome] : []),\n ]);\n await throwIfAborted();\n if (startOutcome._tag === \"Aborted\")\n throw startOutcome.reason;\n if (startOutcome._tag === \"HandleFailed\")\n throw startOutcome.error;\n const handle = startOutcome.handle;\n const streamOutcome = handle.wait().then((result) => ({ _tag: \"SdkStreamEnded\" as const, result }), (error: unknown) => ({ _tag: \"SdkStreamFailed\" as const, error }));\n const outcome = await Promise.race([\n completionOutcome,\n streamOutcome,\n ...(abortOutcome ? [abortOutcome] : []),\n ]);\n await throwIfAborted();\n if (outcome._tag === \"DirectShellExited\") {\n // SDK 文档保证 disconnect 只断 event transport、不 kill command。直接 shell 已退出;仍持有\n // stdout/stderr 的只能是它有意留下的后台服务,正是这条路径要保留的对象。\n await handle.disconnect();\n await throwIfAborted();\n return completion.result(outcome.exitCode);\n }\n if (outcome._tag === \"CompletionFailed\" || outcome._tag === \"SdkStreamFailed\") {\n throw outcome.error;\n }\n if (outcome._tag === \"Aborted\")\n throw outcome.reason;\n await completion.finish();\n await throwIfAborted();\n return completion.result(outcome.result.exitCode);\n }\n catch (e) {\n if (aborted) {\n await abortRetirement?.catch(() => undefined);\n throw cancellationReason;\n }\n // e2b 在退出码非 0 时【抛】CommandExitError;但 Sandbox 契约要求【返回】带 exitCode 的结果\n // (与 docker / vercel 一致)——否则 agent 命令 / build / 测试一旦非 0 退出就会炸,而不是被判分。\n if (e instanceof CommandExitError) {\n try {\n await completion.finish();\n }\n catch (callbackError) {\n if (aborted) {\n await abortRetirement?.catch(() => undefined);\n throw cancellationReason;\n }\n await this.retire();\n throw callbackError;\n }\n await throwIfAborted();\n return completion.result(e.exitCode);\n }\n // 撞的是我们给的那条线时,把归属一起抛出去(runner 据此落 error.timeout)。\n if (limit.timeoutMs !== undefined && isTimeoutError(e)) {\n // SDK timeout 只保证终止入口进程,不能证明命令树已经消失;按公共契约退休整台 VM。\n await this.retire();\n throw new SandboxCommandTimeoutError(`e2b command timed out after ${limit.timeoutMs}ms`, limit.timeoutMs, limit.explicit);\n }\n // Stream transport, output callbacks, marker integrity, and disconnect failures all leave the\n // managed command tree in an unknown state. Retire the VM before exposing the original error.\n await this.retire();\n throw e;\n }\n finally {\n if (onAbort !== undefined)\n signal?.removeEventListener(\"abort\", onAbort);\n }\n }\n private abs(path: string): string {\n return resolveSandboxPath(this.workdir, path);\n }\n async runCommandOrThrow(cmd: string, args: readonly string[] = [], opts: CommandOptions = {}): Promise<SuccessfulCommandResult> {\n return successfulCommandResult(await this.runCommand(cmd, args, opts), opts.sensitiveValues);\n }\n async runShellOrThrow(script: string, opts: CommandOptions = {}): Promise<SuccessfulCommandResult> {\n return successfulCommandResult(await this.runShell(script, opts), opts.sensitiveValues);\n }\n async readText(path: string): Promise<string> {\n return this.sbx.files.read(this.abs(path), { format: \"text\" });\n }\n async pathExists(path: string): Promise<boolean> {\n try {\n return await this.sbx.files.exists(this.abs(path));\n }\n catch (error) {\n // 不把瞬时网络/服务错误伪装成“不存在”,交给统一 IO 层重试。\n if (classifySandboxIoError(error) !== \"unknown\")\n throw error;\n return false;\n }\n }\n // targetDir 已由 paths.ts 的 normalizeSandboxPaths 解析成绝对路径;这里再解析一次\n // 只是对直接使用 provider 实例(未包 normalize)的幂等防御,提到 map 外只算一次。\n private async writeCollectedFiles(files: readonly CollectedLocalFile[], targetDir?: string): Promise<void> {\n const base = resolveSandboxPath(this.workdir, targetDir);\n const entries = files.map(({ path, content }) => ({\n path: resolveSandboxPath(base, path),\n data: toArrayBuffer(content),\n }));\n if (entries.length === 0)\n return;\n await this.sbx.files.write(entries);\n }\n async writeText(path: string, content: string): Promise<void> {\n await this.sbx.files.write(this.abs(path), content);\n }\n async readBytes(path: string): Promise<Uint8Array> {\n return this.sbx.files.read(this.abs(path), { format: \"bytes\" });\n }\n async writeBytes(path: string, content: Uint8Array): Promise<void> {\n await this.sbx.files.write(this.abs(path), toArrayBuffer(content));\n }\n async uploadFile(source: string | URL, targetPath: string): Promise<void> {\n await this.writeBytes(targetPath, await readFile(resolveLocalPath(undefined, source)));\n }\n async uploadDirectory(sourceDir: string | URL, targetDir?: string, opts: {\n readonly ignore?: readonly string[];\n } = {}): Promise<void> {\n await this.writeCollectedFiles(await collectLocalFiles(resolveLocalPath(undefined, sourceDir), opts.ignore), targetDir);\n }\n /**\n * 递归下载沙箱内一个目录到本地磁盘,与 uploadDirectory 对称:两阶段模板(与 vercel provider\n * 共用)——find 列路径 + 逐文件 files.read(bytes) 独立读取,写回本地磁盘。\n */\n async downloadFile(sourcePath: string, target: string | URL): Promise<void> {\n const destination = resolveLocalPath(undefined, target);\n await mkdir(dirname(destination), { recursive: true });\n await writeFile(destination, await this.readBytes(sourcePath));\n }\n async downloadDirectory(sourceDir: string, targetDir: string | URL, opts: {\n readonly ignore?: readonly string[];\n } = {}): Promise<void> {\n const remoteDir = resolveSandboxPath(this.workdir, sourceDir);\n await downloadDirectoryByList({\n localDir: resolveLocalPath(undefined, targetDir),\n ignore: opts.ignore ?? [],\n runShell: (script) => this.runShell(script, { cwd: remoteDir }),\n readOne: (relPath) => this.readBytes(`${remoteDir}/${relPath}`),\n });\n }\n async stop(): Promise<void> {\n await this.retire();\n }\n private retire(): Promise<void> {\n if (this.retired)\n return Promise.resolve();\n if (this.retirement !== undefined)\n return this.retirement;\n let attempt!: Promise<void>;\n attempt = this.sbx.kill().then(() => {\n this.retired = true;\n if (this.retirement === attempt)\n this.retirement = undefined;\n }, (error: unknown) => {\n if (this.retirement === attempt)\n this.retirement = undefined;\n throw error;\n });\n this.retirement = attempt;\n return attempt;\n }\n /**\n * 留存休眠(suspend):e2b `pause`——文件系统与内存整体持久化,暂停期间停止计费,\n * 现场无限期保留、可 resume 找回(没有自然过期时刻,注册表不写 expiresAt)。\n * SDK 版本差异按能力探测(betaPause 是旧名),都没有则如实抛错(现场保持 alive)。\n */\n async suspend(): Promise<void> {\n await this.sbx.pause();\n }\n}\n/** Uint8Array → ArrayBuffer(e2b files.write 接受 string | ArrayBuffer | Blob | ReadableStream)。 */\nfunction toArrayBuffer(bytes: Uint8Array): ArrayBuffer {\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;\n}\n/** e2b SDK 的命令超时:SDK 不导出可 instanceof 的类型,按错误名与文案判定(只用于归属标注)。 */\nfunction isTimeoutError(e: unknown): boolean {\n if (!(e instanceof Error))\n return false;\n return e.name === \"TimeoutError\" || /timed? ?out/i.test(e.message);\n}\n"]}
1
+ {"version":3,"file":"e2b.js","sourceRoot":"","sources":["e2b.ts"],"names":[],"mappings":"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","sourcesContent":["// E2B 沙箱 provider:用 e2b SDK 把 E2B microVM 当隔离工作区跑 eval。\n// 契约对齐 ../types.ts 的 Sandbox 接口,与 DockerSandbox / VercelSandbox 可互换。\n//\n// 鉴权:E2B_API_KEY(team 级,e2b CLI `e2b auth login` 后也写在 ~/.e2b)。\n// 模板:opts.template 选 e2b 模板名/ID;省略用 e2b 默认 \"base\"。预制模板(烘焙好\n// codex/claude-code/bub 的 \"niceeval-agents\")见 sandbox/e2b/。\nimport { Sandbox as E2BSdkSandbox, CommandExitError, NotFoundError, RateLimitError } from \"e2b\";\nimport { Clock, Effect } from \"effect\";\nimport { randomUUID } from \"node:crypto\";\nimport { t } from \"../i18n/index.ts\";\nimport { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\nimport type { CommandResult, CommandOptions, SandboxReuseCapability, SuccessfulCommandResult, } from \"../types.ts\";\nimport { classifyProvisionErrorFallback, isRetryableProvisionError, type SandboxProvisionErrorKind, } from \"./errors.ts\";\nimport { classifySandboxIoError } from \"./errors.ts\";\nimport { downloadDirectoryByList } from \"./download-directory.ts\";\nimport { collectLocalFiles, type CollectedLocalFile } from \"./local-files.ts\";\nimport { shellQuote } from \"./shell.ts\";\nimport { resolveLocalPath, resolveSandboxPath } from \"./paths.ts\";\nimport { e2bRunIdentityMetadata, type RunIdentity } from \"./run-identity.ts\";\nimport { commandLimit, SandboxCommandTimeoutError } from \"./deadline.ts\";\nimport { successfulCommandResult } from \"./operations.ts\";\nimport { supportedBackendCapability, unsupportedBackendCapability, type SandboxProviderBackend } from \"./backend.ts\";\n// e2b 默认用户 \"user\",home 在 /home/user;工作区放其下。\nconst E2B_WORKDIR = \"/home/user/workspace\";\ntype E2BCommandOutputChannel = \"stdout\" | \"stderr\";\ninterface E2BCommandOutputState {\n pending: string;\n output: string;\n markerStarted: boolean;\n complete: boolean;\n exitCode?: number;\n invalidMarkerPayload?: string;\n}\n/** SDK/event Promises stay at the boundary; Effect owns which outcome wins and interrupts its waiter fibers. */\nfunction raceCommandOutcomes<const Outcomes extends readonly [\n Promise<unknown>,\n ...Promise<unknown>[]\n]>(outcomes: Outcomes): Promise<Awaited<Outcomes[number]>> {\n const effects = outcomes.map((outcome) => Effect.promise(() => outcome)) as [\n Effect.Effect<unknown>,\n ...Effect.Effect<unknown>[]\n ];\n return Effect.runPromise(Effect.raceAll(effects)) as Promise<Awaited<Outcomes[number]>>;\n}\n/**\n * 把 marker 编成 bash 的 printf `%b` 输入。wrapper 源码与 xtrace 诊断因此不会直接包含\n * 可被 parser 当成一整帧的 prefix/suffix;实际字节仍由同一个 bash supervisor 生成。\n */\nfunction shellByteEscapes(value: string): string {\n return [...Buffer.from(value, \"utf8\")]\n .map((byte) => `\\\\x${byte.toString(16).padStart(2, \"0\")}`)\n .join(\"\");\n}\n/** 当前内容仍可能是 `digits + suffix` 的跨 chunk 前缀。 */\nfunction isCompletionFramePrefix(encoded: string, suffix: string): boolean {\n if (encoded.length === 0)\n return true;\n let firstNonDigit = 0;\n while (firstNonDigit < encoded.length && /\\d/.test(encoded[firstNonDigit]!))\n firstNonDigit += 1;\n if (firstNonDigit === encoded.length)\n return true;\n if (firstNonDigit === 0)\n return false;\n const suffixPrefix = encoded.slice(firstNonDigit);\n return suffixPrefix.length < suffix.length && suffix.startsWith(suffixPrefix);\n}\n/**\n * E2B 的 command RPC 把进程终局与 stdout/stderr event stream 绑在一起。shell 已退出、但它\n * 有意留下的后台服务仍继承管道时,SDK `wait()` 会继续等 event stream EOF。这里给直接 shell\n * 加一个不改写输出目的地的 supervisor:两路 marker 都由直接 shell 结束后写出;收到后只\n * disconnect transport,不 kill 后台服务。timeout / cancellation 仍由调用方退休整台 VM。\n */\nclass E2BCommandCompletion {\n readonly script: string;\n readonly completion: Promise<number>;\n private readonly prefix: string;\n private readonly suffix: string;\n private readonly states: globalThis.Record<E2BCommandOutputChannel, E2BCommandOutputState> = {\n stdout: { pending: \"\", output: \"\", markerStarted: false, complete: false },\n stderr: { pending: \"\", output: \"\", markerStarted: false, complete: false },\n };\n private readonly callbacks: Partial<globalThis.Record<E2BCommandOutputChannel, (chunk: string) => void | Promise<void>>>;\n private readonly resolveCompletion: (exitCode: number) => void;\n private readonly rejectCompletion: (error: Error) => void;\n constructor(script: string, opts: Pick<CommandOptions, \"onStdout\" | \"onStderr\">) {\n const id = randomUUID().replaceAll(\"-\", \"\");\n this.prefix = `__niceeval_e2b_command_${id}_exit_`;\n this.suffix = `__niceeval_e2b_command_${id}_end__`;\n this.callbacks = {\n ...(opts.onStdout ? { stdout: opts.onStdout } : {}),\n ...(opts.onStderr ? { stderr: opts.onStderr } : {}),\n };\n let resolveCompletion!: (exitCode: number) => void;\n let rejectCompletion!: (error: Error) => void;\n this.completion = new Promise<number>((resolve, reject) => {\n resolveCompletion = resolve;\n rejectCompletion = reject;\n });\n this.resolveCompletion = resolveCompletion;\n this.rejectCompletion = rejectCompletion;\n // 原脚本住在异步 subshell:它继续继承 E2B login shell 的变量、函数、cwd 与 shell option,\n // `exit` / `exec` / EXIT trap 只结束自己的 shell。外层只 wait 这个直接 shell,不会等它\n // 有意留下的孙进程;因此能在 `nohup ... &` 之后可靠写出两路终局 marker。\n const encodedPrefix = shellQuote(shellByteEscapes(this.prefix));\n const encodedSuffix = shellQuote(shellByteEscapes(this.suffix));\n this.script = [\n \"(\",\n script,\n \") &\",\n \"__niceeval_e2b_command_pid=$!\",\n \"if wait \\\"$__niceeval_e2b_command_pid\\\"; then\",\n \" __niceeval_e2b_command_exit=0\",\n \"else\",\n \" __niceeval_e2b_command_exit=$?\",\n \"fi\",\n `__niceeval_e2b_command_prefix=$(printf '%b' ${encodedPrefix})`,\n `__niceeval_e2b_command_suffix=$(printf '%b' ${encodedSuffix})`,\n `printf '%s%s%s' \\\"$__niceeval_e2b_command_prefix\\\" \\\"$__niceeval_e2b_command_exit\\\" \\\"$__niceeval_e2b_command_suffix\\\"`,\n `printf '%s%s%s' \\\"$__niceeval_e2b_command_prefix\\\" \\\"$__niceeval_e2b_command_exit\\\" \\\"$__niceeval_e2b_command_suffix\\\" >&2`,\n \"exit \\\"$__niceeval_e2b_command_exit\\\"\",\n ].join(\"\\n\");\n }\n readonly onStdout = async (chunk: string): Promise<void> => this.consume(\"stdout\", chunk);\n readonly onStderr = async (chunk: string): Promise<void> => this.consume(\"stderr\", chunk);\n result(exitCode: number): CommandResult {\n return {\n stdout: this.states.stdout.output,\n stderr: this.states.stderr.output,\n exitCode,\n };\n }\n /** SDK 在 marker 前先结束时,把为跨 chunk 匹配暂存的普通输出交还调用方。 */\n async finish(): Promise<void> {\n for (const channel of [\"stdout\", \"stderr\"] as const) {\n const state = this.states[channel];\n if (!state.complete && !state.markerStarted && state.pending.length > 0) {\n const pending = state.pending;\n state.pending = \"\";\n await this.emit(channel, pending);\n }\n }\n const invalid = ([\"stdout\", \"stderr\"] as const)\n .map((channel) => ({ channel, state: this.states[channel] }))\n .find(({ state }) => !state.complete && state.invalidMarkerPayload !== undefined);\n if (invalid !== undefined) {\n throw new Error(`e2b command completion marker carried an invalid exit code: ${JSON.stringify(invalid.state.invalidMarkerPayload)}`);\n }\n const mismatch = this.exitCodeMismatch();\n if (mismatch !== undefined)\n throw mismatch;\n const partial = ([\"stdout\", \"stderr\"] as const).filter((channel) => {\n const state = this.states[channel];\n return state.markerStarted && !state.complete;\n });\n if (partial.length > 0) {\n throw new Error(`e2b command completion marker was truncated on ${partial.join(\" and \")}`);\n }\n const completed = ([\"stdout\", \"stderr\"] as const).filter((channel) => this.states[channel].complete);\n if (completed.length === 1) {\n throw new Error(`e2b command completion marker was received only on ${completed[0]}`);\n }\n }\n private async consume(channel: E2BCommandOutputChannel, chunk: string): Promise<void> {\n const state = this.states[channel];\n // 直接 shell 已结束后的输出只能来自它留下的后台服务;command transport 到这里已经封口。\n if (state.complete)\n return;\n state.pending += chunk;\n while (!state.complete) {\n if (!state.markerStarted) {\n const markerAt = state.pending.indexOf(this.prefix);\n if (markerAt < 0) {\n // marker 可能跨 SDK chunk;只保留足以匹配 prefix 的尾巴,其余实时透传。\n const safeLength = Math.max(0, state.pending.length - this.prefix.length + 1);\n if (safeLength > 0) {\n const safe = state.pending.slice(0, safeLength);\n state.pending = state.pending.slice(safeLength);\n await this.emit(channel, safe);\n }\n return;\n }\n const before = state.pending.slice(0, markerAt);\n state.pending = state.pending.slice(markerAt);\n await this.emit(channel, before);\n state.markerStarted = true;\n }\n const encoded = state.pending.slice(this.prefix.length);\n const markerEnd = encoded.indexOf(this.suffix);\n if (markerEnd >= 0) {\n const encodedExitCode = encoded.slice(0, markerEnd);\n if (!/^\\d+$/.test(encodedExitCode) || !Number.isSafeInteger(Number(encodedExitCode))) {\n // wrapper 源码、bash -x 和 SDK 转义诊断都可能带 marker 字面量。它们不是完成帧,\n // 作为普通输出保留,并继续寻找后面的真实帧;只有 stream 结束仍没有真实帧时,\n // finish() 才把这条协议错误交给调用方。\n state.invalidMarkerPayload ??= encodedExitCode;\n const invalid = state.pending.slice(0, this.prefix.length + markerEnd + this.suffix.length);\n state.pending = encoded.slice(markerEnd + this.suffix.length);\n state.markerStarted = false;\n await this.emit(channel, invalid);\n continue;\n }\n state.exitCode = Number(encodedExitCode);\n state.complete = true;\n // suffix 后同一个 chunk 里的字节来自后台服务;它们不属于已经 settle 的直接命令。\n state.pending = \"\";\n this.maybeComplete();\n return;\n }\n if (isCompletionFramePrefix(encoded, this.suffix))\n return;\n // 当前 prefix 后的内容已经不可能组成数字帧。先把 prefix 当普通输出吐出,再从\n // 剩余文本继续扫描;这样 source/diagnostic 中的假 prefix 不会吞掉后面的真实帧。\n state.pending = encoded;\n state.markerStarted = false;\n await this.emit(channel, this.prefix);\n }\n }\n private async emit(channel: E2BCommandOutputChannel, chunk: string): Promise<void> {\n if (chunk.length === 0)\n return;\n this.states[channel].output += chunk;\n await this.callbacks[channel]?.(chunk);\n }\n private maybeComplete(): void {\n const stdoutExit = this.states.stdout.exitCode;\n const stderrExit = this.states.stderr.exitCode;\n if (stdoutExit === undefined || stderrExit === undefined)\n return;\n const mismatch = this.exitCodeMismatch();\n if (mismatch !== undefined) {\n this.rejectCompletion(mismatch);\n return;\n }\n this.resolveCompletion(stdoutExit);\n }\n private exitCodeMismatch(): Error | undefined {\n const stdoutExit = this.states.stdout.exitCode;\n const stderrExit = this.states.stderr.exitCode;\n if (stdoutExit === undefined || stderrExit === undefined || stdoutExit === stderrExit)\n return undefined;\n return new Error(`e2b command completion markers disagreed on exit code: stdout=${stdoutExit}, stderr=${stderrExit}`);\n }\n}\n/** e2b 的限流错误是 SDK 原生的 RateLimitError(HTTP 429 映射而来);见 retry.ts 的 withProvisionRetry。 */\n// 对账本身只有一次机会:retry.ts 的 withProvisionRetry 对账失败就直接放弃重试、抛回原始\n// create() 错误(见那边的注释)。对账走的这次 list 请求跟刚失败的 create() 往往挨得很近,\n// 大概率处在同一段网络抖动里——不给它自己的重试,一次瞬时失败就会把本可能自愈的 attempt\n// 判死。这里给 nextItems() 单独包一层短重试,只吃与 create() 侧同一套分类下的瞬时错误。\nconst RECONCILE_LIST_MAX_ATTEMPTS = 3;\nconst RECONCILE_LIST_RETRY_DELAY_MS = 500;\n/**\n * E2B 创建请求必须明确说明寿命是作者声明、attempt deadline 派生,还是没有 deadline 可派生。\n * 把这个区分留在类型里,运行时就不会再把「没有显式 lifetimeMs」误传成 SDK 的短默认值。\n */\nexport type E2BSandboxLifetime = {\n readonly _tag: \"ProviderDefault\";\n} | {\n readonly _tag: \"Requested\";\n readonly milliseconds: number;\n readonly source: \"explicit\" | \"attempt-deadline\";\n};\ninterface E2BSandboxCreateOptions {\n readonly timeout?: number;\n /** attempt deadline 的截止时刻(epoch ms);单条命令按剩余量取上限。 */\n readonly deadlineAt?: number;\n readonly runtime?: \"node20\" | \"node24\";\n readonly template?: string;\n /** 覆盖整个 Sandbox 的默认执行身份;省略时沿用 template 的默认用户。 */\n readonly user?: string;\n /**\n * 按序前置到受管 `PATH` 的目录;省略 = 不改 PATH(见 docs/feature/sandbox/library.md\n * 「PATH:受管变量与 pathPrepend」)。\n */\n readonly pathPrepend?: readonly string[];\n readonly provisionToken?: string;\n /** 运行时已解析的实例寿命;bounded attempt 不能退回 E2B 的 SDK 默认值。 */\n readonly lifetime: E2BSandboxLifetime;\n /** 创建期写入的运行标识(host/pid/startedAt),供强杀之后的孤儿核对按 metadata 事后收回\n * (见 docs/feature/sandbox/architecture.md「孤儿核对」)。 */\n readonly runIdentity?: RunIdentity;\n}\n/**\n * Provisioning 重试前的对账:按 metadata 里的 provision token 检索远端实例,查到即 kill。\n * 检索或销毁失败必须抛出——对账是重试的硬前置,静默放行等于盲重试,会复制计费实例\n * (见 docs/feature/sandbox/architecture.md「Provisioning 失败与重试」)。\n * 唯一的例外:实例已不存在(NotFound),视作对账完成。\n */\nexport async function reconcileProvision(token: string): Promise<void> {\n const apiKey = process.env.E2B_API_KEY;\n // Sandbox.list() 是同步方法,返回分页器(SandboxPaginator),不是 Promise<数组>——用\n // hasNext/nextItems() 翻页,不能直接 for...of。metadata 过滤走服务端 query,一次 token\n // 命中的实例数极少,通常一页打完。\n const paginator = E2BSdkSandbox.list({ apiKey, query: { metadata: { \"niceeval-provision-token\": token } } });\n while (paginator.hasNext) {\n const sandboxes = await fetchNextItemsWithRetry(paginator);\n for (const info of sandboxes) {\n try {\n await E2BSdkSandbox.kill(info.sandboxId, { apiKey });\n }\n catch (e) {\n if (!(e instanceof NotFoundError))\n throw e;\n }\n }\n }\n}\ntype E2BReconcilePaginator = ReturnType<typeof E2BSdkSandbox.list>;\ntype E2BReconcileListPage = Awaited<ReturnType<E2BReconcilePaginator[\"nextItems\"]>>;\n/**\n * `nextItems()` 按类型契约总是 resolve 成数组(SDK 内部对空响应也兜了 `?? []`),但对账这条\n * 路径线上真实撞见过它 resolve 成非数组的一次——没能复现出确切成因,不排它,原样让下面的\n * 类型守卫抛出,但换一句能定位的诊断,而不是留一条裸的 \"X is not iterable\"。\n *\n * 重试是 NiceEval 内部策略(attempt 数、delay 公式与错误分类和原来完全一致):\n * 等待用 `Effect.sleep`(Clock)、SDK Promise 在 `tryPromise` 边界适配一次,\n * 原始错误对象原样留在失败通道,耗尽重试时抛回的是同一个对象。\n */\nfunction fetchNextItemsWithRetryEffect(paginator: E2BReconcilePaginator): Effect.Effect<E2BReconcileListPage, unknown> {\n const attempt = (n: number): Effect.Effect<E2BReconcileListPage, unknown> => Effect.tryPromise({\n try: () => paginator.nextItems(),\n catch: (cause) => cause,\n }).pipe(Effect.flatMap((items) => {\n if (Array.isArray(items))\n return Effect.succeed(items);\n return Effect.fail(new Error(t(\"e2b.listNextItemsNotArray\", { type: typeof items })));\n }), Effect.catchAll((error) => {\n const kind = classifyProvisionErrorFallback(error);\n if (n >= RECONCILE_LIST_MAX_ATTEMPTS - 1 || !isRetryableProvisionError(kind))\n return Effect.fail(error);\n return Clock.sleep(RECONCILE_LIST_RETRY_DELAY_MS * 2 ** n).pipe(Effect.zipRight(attempt(n + 1)));\n }));\n return attempt(0);\n}\nasync function fetchNextItemsWithRetry(paginator: E2BReconcilePaginator): Promise<E2BReconcileListPage> {\n return Effect.runPromise(fetchNextItemsWithRetryEffect(paginator));\n}\nexport function classifyProvisionError(e: unknown): SandboxProvisionErrorKind {\n // SDK 原生限流先归拒绝类;没认出的过与文件 IO 共用的保守瞬时兜底分类器\n // (真实跑分里出现过 create 阶段 `fetch failed · other side closed`,属歧义类)。\n if (e instanceof RateLimitError)\n return \"rate_limit\";\n return classifyProvisionErrorFallback(e);\n}\nexport class E2BSandbox implements SandboxProviderBackend, SandboxReuseCapability {\n readonly workdir = E2B_WORKDIR;\n readonly otlpHost = null;\n private sbx: E2BSdkSandbox;\n private commandTimeoutMs?: number;\n /** A VM retirement is idempotent across abort, transport failure, and the scope finalizer. */\n private retirement?: Promise<void>;\n private retired = false;\n /** 已实际请求的实例寿命;复用下续期一律续到这个值(滑动窗口)。 */\n private lifetime: E2BSandboxLifetime;\n /** 起点覆盖(factory `user`);省略 = 沿用 template 的默认用户。 */\n private readonly userOverride?: string;\n /** factory `pathPrepend`;按声明顺序前置到受管 PATH,省略 = 空数组。 */\n private readonly pathPrepend: readonly string[];\n readonly sandboxId: string;\n private deadlineAt?: number;\n readonly capabilities = {\n rootCommands: supportedBackendCapability(true as const),\n appendLog: unsupportedBackendCapability,\n suspend: supportedBackendCapability(() => this.suspend()),\n ensureLifetime: supportedBackendCapability((minRemainingMs: number) => this.ensureLifetime(minRemainingMs)),\n setCommandDeadline: supportedBackendCapability((deadlineAt?: number) => this.setCommandDeadline(deadlineAt)),\n };\n private constructor(sbx: E2BSdkSandbox, id: string, commandTimeoutMs: number | undefined, lifetime: E2BSandboxLifetime, userOverride: string | undefined, pathPrepend: readonly string[] = [], deadlineAt?: number) {\n this.sbx = sbx;\n this.sandboxId = id;\n this.commandTimeoutMs = commandTimeoutMs;\n this.lifetime = lifetime;\n this.userOverride = userOverride;\n this.pathPrepend = pathPrepend;\n this.deadlineAt = deadlineAt;\n }\n /** 复用下由池在每次借出时换成承接者自己的 deadline(见 sandbox/deadline.ts)。 */\n setCommandDeadline(deadlineAt?: number): void {\n this.deadlineAt = deadlineAt;\n }\n /**\n * 寿命确认:先问远端真实到期时刻,不够再续,续完**重新问一次**。\n *\n * 两处都读 `getInfo().endAt` 而不是复读我们请求的值,是这条能力的全部要害——e2b 的账号档位\n * 会把 `setTimeout` 的请求值压到平台上限(免费档尤其明显)。拿请求值记账等于把「平台压短了」\n * 伪装成「作者声明生效了」,而症状要到 attempt 跑到一半、实例被回收时才出现,那时只剩一句\n * 无归属的 sandbox 消失。宁可在这里如实报 `ready: false` 让 runner 轮换实例。\n */\n async ensureLifetime(minRemainingMs: number): Promise<{\n ready: true;\n expiresAt?: string;\n } | {\n ready: false;\n reason: string;\n }> {\n if (this.lifetime._tag === \"ProviderDefault\") {\n return {\n ready: false,\n reason: \"the e2b sandbox has no requested lifetime; an unlimited attempt must declare lifetimeMs before sandboxReuse\",\n };\n }\n try {\n const remainingMs = async () => (await this.sbx.getInfo()).endAt.getTime() - Date.now();\n const before = await remainingMs();\n if (before >= minRemainingMs)\n return { ready: true, expiresAt: new Date(Date.now() + before).toISOString() };\n // setTimeout 是「从此刻起再活这么久」,不是增量;续到创建期实际请求的完整寿命。\n await this.sbx.setTimeout(this.lifetime.milliseconds);\n const after = await remainingMs();\n return after >= minRemainingMs\n ? { ready: true, expiresAt: new Date(Date.now() + after).toISOString() }\n : {\n ready: false,\n reason: `e2b capped this sandbox's lifetime at ${Math.round(after / 1000)}s after renewing to the ${this.lifetime.source === \"explicit\" ? \"declared\" : \"attempt-deadline-derived\"} ` +\n `lifetimeMs=${this.lifetime.milliseconds}ms; the next attempt needs ${Math.round(minRemainingMs / 1000)}s`,\n };\n }\n catch (e) {\n return { ready: false, reason: `e2b could not confirm this sandbox's lifetime: ${String(e)}` };\n }\n }\n static async create(opts: E2BSandboxCreateOptions): Promise<E2BSandbox> {\n // 单条命令没有 provider 级默认:上限恒从 attempt deadline 派生(见 deadline.ts)。\n const commandTimeoutMs = opts.timeout;\n // e2b 的 node 版本由模板决定,runtime 仅作记录(不在创建时选)。\n const apiKey = process.env.E2B_API_KEY;\n // provision token 与运行标识都经 metadata 打进实例(同一通道):歧义类失败(fetch failed ·\n // other side closed)重试前按 token 检索远端、销毁可能已创建的实例(见 reconcileProvision);\n // 运行标识供 `sandbox list --orphans` 按 metadata 过滤事后核对。\n const metadata: globalThis.Record<string, string> = {\n ...(opts.provisionToken ? { \"niceeval-provision-token\": opts.provisionToken } : {}),\n ...(opts.runIdentity ? e2bRunIdentityMetadata(opts.runIdentity) : {}),\n };\n // bounded attempt 一定携带由 runtime 派生的 timeoutMs;只有没有 deadline 可派生的\n // unlimited attempt 才允许 ProviderDefault。NiceEval 不把某个账号档位观测到的上限硬编码\n // 成全体用户的契约。\n const sdkOpts = {\n apiKey,\n ...(opts.lifetime._tag === \"Requested\" ? { timeoutMs: opts.lifetime.milliseconds } : {}),\n ...(Object.keys(metadata).length > 0 ? { metadata } : {}),\n } as const;\n // 有 template 就从模板起,否则用 e2b 默认 \"base\"。\n const sbx = await (async () => {\n try {\n return opts.template ? await E2BSdkSandbox.create(opts.template, sdkOpts) : await E2BSdkSandbox.create(sdkOpts);\n }\n catch (e) {\n // 声明的寿命超出账号档位上限时,e2b 返回 400「Timeout cannot be greater than N hours」。\n // 这是确定性配置死因(同一个值重试多少次都是同一个 400),而裸 SDK 栈既不说是哪个字段\n // 惹的祸、也不说上限是多少。把 provider 的理由原样带出来并指到 lifetimeMs 上——\n // 「不能静默压短」的另一半是「压不下就把原因说清楚」\n // (见 docs/feature/sandbox/reuse.md「派发前确认」)。\n if (opts.lifetime._tag === \"Requested\" && /timeout cannot be greater than/i.test(e instanceof Error ? e.message : String(e))) {\n throw new Error(`e2b rejected the ${opts.lifetime.source === \"explicit\" ? \"declared\" : \"attempt-deadline-derived\"} ` +\n `lifetimeMs=${opts.lifetime.milliseconds}ms for this account: ${e instanceof Error ? e.message : String(e)}. ` +\n \"Lower the attempt timeout or lifetimeMs to fit the plan's maximum sandbox lifetime, or raise that maximum \" +\n \"on the e2b side; niceeval will not silently shorten it.\", { cause: e });\n }\n throw e;\n }\n })();\n // kill-on-failure:实例句柄已到手,创建之后的初始化请求(如下面的 mkdir 撞 429)一旦失败,\n // 先尽力销毁实例再抛出原始错误——否则重试层按「拒绝类=远端没有实例」盲重试,就会复制一台\n // 计费实例(见 docs/feature/sandbox/architecture.md「Provisioning 失败与重试」)。\n try {\n // 备好工作区目录(模板默认 cwd 是 home,workspace 子目录可能不存在)。\n await sbx.commands.run(`mkdir -p ${E2B_WORKDIR}`);\n return new E2BSandbox(sbx, sbx.sandboxId, commandTimeoutMs, opts.lifetime, opts.user, opts.pathPrepend ?? [], opts.deadlineAt);\n }\n catch (e) {\n await sbx.kill().catch(() => { });\n throw e;\n }\n }\n async runCommand(cmd: string, args: readonly string[] = [], opts: CommandOptions = {}): Promise<CommandResult> {\n const line = [cmd, ...args.map(shellQuote)].join(\" \");\n return this.runShell(line, opts);\n }\n async runShell(script: string, opts: CommandOptions = {}): Promise<CommandResult> {\n // e2b commands.run 直接透传同名 user 参数;省略时沿用 Sandbox 默认身份(factory `user`\n // 覆盖后的身份,否则 template 默认用户)—— 跨 provider 语义一致\n // (见 docs/feature/sandbox/library.md「执行身份」)。\n const limit = commandLimit(opts, { commandTimeoutMs: this.commandTimeoutMs, deadlineAt: this.deadlineAt });\n // pathPrepend 是受管 PATH,在脚本自己的 shell 里对 `$PATH` 前置——env 走的是 SDK 的\n // envs 参数(可能被 opts.env.PATH 覆盖),而这一行在它之后执行,始终生效\n // (见 docs/feature/sandbox/library.md「PATH:受管变量与 pathPrepend」)。\n const scriptWithPath = this.pathPrepend.length > 0\n ? `PATH=${shellQuote(this.pathPrepend.join(\":\"))}:\"$PATH\"\\n${script}`\n : script;\n const completion = new E2BCommandCompletion(scriptWithPath, opts);\n // Attach a rejection handler before starting the SDK command. A malformed marker can reject while\n // commands.run() is still delivering its initial events; keeping this outcome fulfilled avoids an\n // unhandled rejection before the command handle is returned.\n const completionOutcome = completion.completion.then((exitCode) => ({ _tag: \"DirectShellExited\" as const, exitCode }), (error: unknown) => ({ _tag: \"CompletionFailed\" as const, error }));\n const signal = opts.signal;\n let aborted = false;\n let cancellationReason: unknown = new DOMException(\"sandbox command aborted\", \"AbortError\");\n let abortRetirement: Promise<void> | undefined;\n let resolveAbort: ((outcome: {\n readonly _tag: \"Aborted\";\n readonly reason: unknown;\n }) => void) | undefined;\n const abortOutcome = signal === undefined\n ? undefined\n : new Promise<{\n readonly _tag: \"Aborted\";\n readonly reason: unknown;\n }>((resolve) => {\n resolveAbort = resolve;\n });\n const onAbort = signal === undefined\n ? undefined\n : () => {\n if (aborted)\n return;\n // This flag must change synchronously. Marker delivery can finish while kill() is still in\n // flight; every success path checks it before settling and awaits the same retirement.\n aborted = true;\n cancellationReason = signal.reason ?? new DOMException(\"sandbox command aborted\", \"AbortError\");\n abortRetirement ??= this.retire();\n // Cancellation waits for retirement to settle, but a kill transport failure must not\n // replace the caller's AbortSignal reason. A later stop() may retry a failed kill.\n void abortRetirement.then(() => resolveAbort?.({ _tag: \"Aborted\", reason: cancellationReason }), () => resolveAbort?.({ _tag: \"Aborted\", reason: cancellationReason }));\n };\n const throwIfAborted = async (): Promise<void> => {\n if (!aborted)\n return;\n await abortRetirement?.catch(() => undefined);\n throw cancellationReason;\n };\n if (signal !== undefined) {\n signal.addEventListener(\"abort\", onAbort!, { once: true });\n // Close the check/listener race: AbortSignal does not replay an abort to a late listener.\n if (signal.aborted)\n onAbort!();\n }\n try {\n const commandOptions = {\n cwd: resolveSandboxPath(this.workdir, opts.cwd),\n envs: opts.env,\n user: opts.user ?? this.userOverride,\n ...(limit.timeoutMs !== undefined ? { timeoutMs: limit.timeoutMs } : {}),\n onStdout: completion.onStdout,\n onStderr: completion.onStderr,\n background: true as const,\n };\n await throwIfAborted();\n // Starting a background command is itself a remote RPC and can hang. Race handle acquisition\n // against the abort retirement, while eagerly handling a late start rejection.\n const commandStartOutcome = this.sbx.commands.run(completion.script, commandOptions).then((handle) => ({ _tag: \"HandleReady\" as const, handle }), (error: unknown) => ({ _tag: \"HandleFailed\" as const, error }));\n const startOutcome = await raceCommandOutcomes([\n commandStartOutcome,\n ...(abortOutcome ? [abortOutcome] : []),\n ]);\n await throwIfAborted();\n if (startOutcome._tag === \"Aborted\")\n throw startOutcome.reason;\n if (startOutcome._tag === \"HandleFailed\")\n throw startOutcome.error;\n const handle = startOutcome.handle;\n const streamOutcome = handle.wait().then((result) => ({ _tag: \"SdkStreamEnded\" as const, result }), (error: unknown) => ({ _tag: \"SdkStreamFailed\" as const, error }));\n const outcome = await raceCommandOutcomes([\n completionOutcome,\n streamOutcome,\n ...(abortOutcome ? [abortOutcome] : []),\n ]);\n await throwIfAborted();\n if (outcome._tag === \"DirectShellExited\") {\n // SDK 文档保证 disconnect 只断 event transport、不 kill command。直接 shell 已退出;仍持有\n // stdout/stderr 的只能是它有意留下的后台服务,正是这条路径要保留的对象。\n await handle.disconnect();\n await throwIfAborted();\n return completion.result(outcome.exitCode);\n }\n if (outcome._tag === \"CompletionFailed\" || outcome._tag === \"SdkStreamFailed\") {\n throw outcome.error;\n }\n if (outcome._tag === \"Aborted\")\n throw outcome.reason;\n await completion.finish();\n await throwIfAborted();\n return completion.result(outcome.result.exitCode);\n }\n catch (e) {\n if (aborted) {\n await abortRetirement?.catch(() => undefined);\n throw cancellationReason;\n }\n // e2b 在退出码非 0 时【抛】CommandExitError;但 Sandbox 契约要求【返回】带 exitCode 的结果\n // (与 docker / vercel 一致)——否则 agent 命令 / build / 测试一旦非 0 退出就会炸,而不是被判分。\n if (e instanceof CommandExitError) {\n try {\n await completion.finish();\n }\n catch (callbackError) {\n if (aborted) {\n await abortRetirement?.catch(() => undefined);\n throw cancellationReason;\n }\n await this.retire();\n throw callbackError;\n }\n await throwIfAborted();\n return completion.result(e.exitCode);\n }\n // 撞的是我们给的那条线时,把归属一起抛出去(runner 据此落 error.timeout)。\n if (limit.timeoutMs !== undefined && isTimeoutError(e)) {\n // SDK timeout 只保证终止入口进程,不能证明命令树已经消失;按公共契约退休整台 VM。\n await this.retire();\n throw new SandboxCommandTimeoutError(`e2b command timed out after ${limit.timeoutMs}ms`, limit.timeoutMs, limit.explicit);\n }\n // Stream transport, output callbacks, marker integrity, and disconnect failures all leave the\n // managed command tree in an unknown state. Retire the VM before exposing the original error.\n await this.retire();\n throw e;\n }\n finally {\n if (onAbort !== undefined)\n signal?.removeEventListener(\"abort\", onAbort);\n }\n }\n private abs(path: string): string {\n return resolveSandboxPath(this.workdir, path);\n }\n async runCommandOrThrow(cmd: string, args: readonly string[] = [], opts: CommandOptions = {}): Promise<SuccessfulCommandResult> {\n return successfulCommandResult(await this.runCommand(cmd, args, opts), opts.sensitiveValues);\n }\n async runShellOrThrow(script: string, opts: CommandOptions = {}): Promise<SuccessfulCommandResult> {\n return successfulCommandResult(await this.runShell(script, opts), opts.sensitiveValues);\n }\n async readText(path: string): Promise<string> {\n return this.sbx.files.read(this.abs(path), { format: \"text\" });\n }\n async pathExists(path: string): Promise<boolean> {\n try {\n return await this.sbx.files.exists(this.abs(path));\n }\n catch (error) {\n // 不把瞬时网络/服务错误伪装成“不存在”,交给统一 IO 层重试。\n if (classifySandboxIoError(error) !== \"unknown\")\n throw error;\n return false;\n }\n }\n // targetDir 已由 paths.ts 的 normalizeSandboxPaths 解析成绝对路径;这里再解析一次\n // 只是对直接使用 provider 实例(未包 normalize)的幂等防御,提到 map 外只算一次。\n private async writeCollectedFiles(files: readonly CollectedLocalFile[], targetDir?: string): Promise<void> {\n const base = resolveSandboxPath(this.workdir, targetDir);\n const entries = files.map(({ path, content }) => ({\n path: resolveSandboxPath(base, path),\n data: toArrayBuffer(content),\n }));\n if (entries.length === 0)\n return;\n await this.sbx.files.write(entries);\n }\n async writeText(path: string, content: string): Promise<void> {\n await this.sbx.files.write(this.abs(path), content);\n }\n async readBytes(path: string): Promise<Uint8Array> {\n return this.sbx.files.read(this.abs(path), { format: \"bytes\" });\n }\n async writeBytes(path: string, content: Uint8Array): Promise<void> {\n await this.sbx.files.write(this.abs(path), toArrayBuffer(content));\n }\n async uploadFile(source: string | URL, targetPath: string): Promise<void> {\n await this.writeBytes(targetPath, await readFile(resolveLocalPath(undefined, source)));\n }\n async uploadDirectory(sourceDir: string | URL, targetDir?: string, opts: {\n readonly ignore?: readonly string[];\n } = {}): Promise<void> {\n await this.writeCollectedFiles(await collectLocalFiles(resolveLocalPath(undefined, sourceDir), opts.ignore), targetDir);\n }\n /**\n * 递归下载沙箱内一个目录到本地磁盘,与 uploadDirectory 对称:两阶段模板(与 vercel provider\n * 共用)——find 列路径 + 逐文件 files.read(bytes) 独立读取,写回本地磁盘。\n */\n async downloadFile(sourcePath: string, target: string | URL): Promise<void> {\n const destination = resolveLocalPath(undefined, target);\n await mkdir(dirname(destination), { recursive: true });\n await writeFile(destination, await this.readBytes(sourcePath));\n }\n async downloadDirectory(sourceDir: string, targetDir: string | URL, opts: {\n readonly ignore?: readonly string[];\n } = {}): Promise<void> {\n const remoteDir = resolveSandboxPath(this.workdir, sourceDir);\n await downloadDirectoryByList({\n localDir: resolveLocalPath(undefined, targetDir),\n ignore: opts.ignore ?? [],\n runShell: (script) => this.runShell(script, { cwd: remoteDir }),\n readOne: (relPath) => this.readBytes(`${remoteDir}/${relPath}`),\n });\n }\n async stop(): Promise<void> {\n await this.retire();\n }\n private retire(): Promise<void> {\n if (this.retired)\n return Promise.resolve();\n if (this.retirement !== undefined)\n return this.retirement;\n let attempt!: Promise<void>;\n attempt = this.sbx.kill().then(() => {\n this.retired = true;\n if (this.retirement === attempt)\n this.retirement = undefined;\n }, (error: unknown) => {\n if (this.retirement === attempt)\n this.retirement = undefined;\n throw error;\n });\n this.retirement = attempt;\n return attempt;\n }\n /**\n * 留存休眠(suspend):e2b `pause`——文件系统与内存整体持久化,暂停期间停止计费,\n * 现场无限期保留、可 resume 找回(没有自然过期时刻,注册表不写 expiresAt)。\n * SDK 版本差异按能力探测(betaPause 是旧名),都没有则如实抛错(现场保持 alive)。\n */\n async suspend(): Promise<void> {\n await this.sbx.pause();\n }\n}\n/** Uint8Array → ArrayBuffer(e2b files.write 接受 string | ArrayBuffer | Blob | ReadableStream)。 */\nfunction toArrayBuffer(bytes: Uint8Array): ArrayBuffer {\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;\n}\n/** e2b SDK 的命令超时:SDK 不导出可 instanceof 的类型,按错误名与文案判定(只用于归属标注)。 */\nfunction isTimeoutError(e: unknown): boolean {\n if (!(e instanceof Error))\n return false;\n return e.name === \"TimeoutError\" || /timed? ?out/i.test(e.message);\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DOCKER_PROFILE_NETWORK_DENY_CIDRS = exports.DOCKER_PROFILE_NETWORK_POLICY_VERSION = exports.DOCKER_PROFILE_SCHEMA_VERSION = exports.DOCKER_EXECUTION_PROFILE_SCHEMA_VERSION = exports.dockerProfileError = exports.DockerProfileError = exports.NICEEVAL_OPENCODE_DOCKER_IMAGE = exports.NICEEVAL_OPENCLAW_DOCKER_IMAGE = exports.NICEEVAL_HERMES_DOCKER_IMAGE = exports.NICEEVAL_CODEX_DOCKER_IMAGE = exports.NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE = exports.NICEEVAL_BUB_DOCKER_IMAGE = exports.createSandboxAttachmentWrite = exports.restoreCheckpoint = exports.createCheckpoint = exports.buildFailureOrigin = exports.startSandboxBuilds = exports.prepareSandboxBuilds = exports.SANDBOX_BUILD_ACTIVITY = exports.looksLikeDigestRef = exports.assertPureDataIdentity = exports.credentialIdentityContribution = exports.resolveFloatingImageTag = exports.computeCaseKey = exports.computeBuildKey = exports.materializeDockerComposeProviderCase = exports.buildComposeOverlay = exports.findComposeBlacklistViolations = exports.assertComposeBlacklist = exports.inspectComposeYaml = exports.leakGateHintsFromComposeFile = exports.collectComposeBuilds = exports.dockerComposeBuildProvider = exports.COMPOSE_MATERIALIZER_REVISION = exports.registerSandboxContent = exports.SandboxCommandExitError = exports.installTool = exports.checkout = exports.defineSandboxCommand = exports.shell = exports.command = exports.defineSandboxCase = exports.localSandbox = exports.vercelSandbox = exports.e2bSandbox = exports.dockerComposeSandbox = exports.dockerSandbox = exports.sandboxLayer = exports.CustomSandboxMaterializationError = exports.defineSandbox = void 0;
3
+ exports.DOCKER_PROFILE_NETWORK_DENY_CIDRS = exports.DOCKER_PROFILE_NETWORK_POLICY_VERSION = exports.DOCKER_PROFILE_SCHEMA_VERSION = exports.DOCKER_EXECUTION_PROFILE_SCHEMA_VERSION = exports.dockerProfileError = exports.DockerProfileError = exports.NICEEVAL_OPENCODE_DOCKER_IMAGE = exports.NICEEVAL_OPENCLAW_DOCKER_IMAGE = exports.NICEEVAL_HERMES_DOCKER_IMAGE = exports.NICEEVAL_CODEX_DOCKER_IMAGE = exports.NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE = exports.NICEEVAL_BUB_DOCKER_IMAGE = exports.normalizeSandboxCapture = exports.restoreCheckpoint = exports.createCheckpoint = exports.buildFailureOrigin = exports.startSandboxBuilds = exports.prepareSandboxBuilds = exports.SANDBOX_BUILD_ACTIVITY = exports.looksLikeDigestRef = exports.assertPureDataIdentity = exports.credentialIdentityContribution = exports.resolveFloatingImageTag = exports.computeCaseKey = exports.computeBuildKey = exports.materializeDockerComposeProviderCase = exports.buildComposeOverlay = exports.findComposeBlacklistViolations = exports.assertComposeBlacklist = exports.inspectComposeYaml = exports.leakGateHintsFromComposeFile = exports.collectComposeBuilds = exports.dockerComposeBuildProvider = exports.COMPOSE_MATERIALIZER_REVISION = exports.registerSandboxContent = exports.SandboxCommandExitError = exports.installTool = exports.checkout = exports.defineSandboxCommand = exports.shell = exports.command = exports.defineSandboxCase = exports.localSandbox = exports.vercelSandbox = exports.e2bSandbox = exports.dockerComposeSandbox = exports.dockerSandbox = exports.sandboxLayer = exports.CustomSandboxMaterializationError = exports.defineSandbox = void 0;
4
4
  exports.resolveDockerProfileSelector = exports.resolveDockerProfileAlias = exports.resolveDockerProfile = exports.resolveDockerExecutionProfile = exports.parseDockerProfileRegistry = exports.indexDockerProfiles = exports.createDockerProfileRegistry = exports.parseDockerExecutionProfileV1 = exports.parseDockerExecutionProfile = exports.makeDockerExecutionProfileV1 = exports.isDockerExecutionProfileV1 = exports.dockerProfilePublicSummaryOf = exports.dockerProfileDigestOf = exports.dockerExecutionProfileV1Digest = exports.dockerProfileSemanticPolicyRevisionOf = exports.dockerExecutionProfileSemanticPolicyRevisionOf = exports.decodeDockerExecutionProfileV1 = exports.createDockerExecutionProfileV1 = exports.DockerExecutionProfileSchema = exports.DockerExecutionProfileV1Schema = void 0;
5
5
  // niceeval/sandbox 公开导出:「在哪里跑」相关的类型 + 工厂 + 扩展点。
6
6
  // 具体 provider 实现类(DockerSandbox / VercelSandbox / E2BSandbox)是内部实现细节,不在此导出——
@@ -53,7 +53,7 @@ var checkpoint_ts_1 = require("./checkpoint.cjs");
53
53
  Object.defineProperty(exports, "createCheckpoint", { enumerable: true, get: function () { return checkpoint_ts_1.createCheckpoint; } });
54
54
  Object.defineProperty(exports, "restoreCheckpoint", { enumerable: true, get: function () { return checkpoint_ts_1.restoreCheckpoint; } });
55
55
  var attachment_ts_1 = require("./record/attachment.cjs");
56
- Object.defineProperty(exports, "createSandboxAttachmentWrite", { enumerable: true, get: function () { return attachment_ts_1.createSandboxAttachmentWrite; } });
56
+ Object.defineProperty(exports, "normalizeSandboxCapture", { enumerable: true, get: function () { return attachment_ts_1.normalizeSandboxCapture; } });
57
57
  var docker_agent_image_ts_1 = require("./docker-agent-image.cjs");
58
58
  Object.defineProperty(exports, "NICEEVAL_BUB_DOCKER_IMAGE", { enumerable: true, get: function () { return docker_agent_image_ts_1.NICEEVAL_BUB_DOCKER_IMAGE; } });
59
59
  Object.defineProperty(exports, "NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE", { enumerable: true, get: function () { return docker_agent_image_ts_1.NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;AAAA,gDAAgD;AAChD,6EAA6E;AAC7E,qDAAqD;AACrD,0CAA6C;AAApC,0GAAA,aAAa,OAAA;AACtB,uCAA+K;AAAtK,6HAAA,iCAAiC,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AACzJ,6CAAqE;AAA5D,sGAAA,OAAO,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAC7C,6DAA8D;AAArD,+GAAA,QAAQ,OAAA;AAAE,kHAAA,WAAW,OAAA;AAC9B,iDAA0D;AAAjD,wHAAA,uBAAuB,OAAA;AAChC,2CAAsD;AAA7C,oHAAA,sBAAsB,OAAA;AAC/B,2CAAqR;AAA5Q,2HAAA,6BAA6B,OAAA;AAAE,wHAAA,0BAA0B,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAAE,0HAAA,4BAA4B,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AAAE,4HAAA,8BAA8B,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAE,kIAAA,oCAAoC,OAAA;AAC7P,6CAAsK;AAA7J,8GAAA,eAAe,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAAE,6HAAA,8BAA8B,OAAA;AAAE,qHAAA,sBAAsB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAC7I,+DAA+H;AAAtH,8HAAA,sBAAsB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAC7F,iDAAsE;AAA7D,iHAAA,gBAAgB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAC5C,wDAAsE;AAA7D,6HAAA,4BAA4B,OAAA;AAErC,iEAAmO;AAA1N,kIAAA,yBAAyB,OAAA;AAAE,0IAAA,iCAAiC,OAAA;AAAE,oIAAA,2BAA2B,OAAA;AAAE,qIAAA,4BAA4B,OAAA;AAAE,uIAAA,8BAA8B,OAAA;AAAE,uIAAA,8BAA8B,OAAA;AAUhM,wDAAqF;AAA5E,+GAAA,kBAAkB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAE/C,wDAA+lB;AAAtlB,oIAAA,uCAAuC,OAAA;AAAE,0HAAA,6BAA6B,OAAA;AAAE,kIAAA,qCAAqC,OAAA;AAAE,8HAAA,iCAAiC,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,2IAAA,8CAA8C,OAAA;AAAE,kIAAA,qCAAqC,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,uHAAA,0BAA0B,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,wHAAA,2BAA2B,OAAA;AAAE,0HAAA,6BAA6B,OAAA;AAEzjB,4DAA2O;AAAlO,0HAAA,2BAA2B,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,yHAAA,0BAA0B,OAAA;AAAE,4HAAA,6BAA6B,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,2HAAA,4BAA4B,OAAA","sourcesContent":["// niceeval/sandbox 公开导出:「在哪里跑」相关的类型 + 工厂 + 扩展点。\n// 具体 provider 实现类(DockerSandbox / VercelSandbox / E2BSandbox)是内部实现细节,不在此导出——\n// 需要自定义 provider 时用 defineSandbox(),不需要直接 new 内置实现类。\nexport { defineSandbox } from \"../define.ts\";\nexport { CustomSandboxMaterializationError, sandboxLayer, dockerSandbox, dockerComposeSandbox, e2bSandbox, vercelSandbox, localSandbox, defineSandboxCase, } from \"./layer.ts\";\nexport { command, shell, defineSandboxCommand } from \"./commands.ts\";\nexport { checkout, installTool } from \"./prepare-commands.ts\";\nexport { SandboxCommandExitError } from \"./operations.ts\";\nexport { registerSandboxContent } from \"./content.ts\";\nexport { COMPOSE_MATERIALIZER_REVISION, dockerComposeBuildProvider, collectComposeBuilds, leakGateHintsFromComposeFile, inspectComposeYaml, assertComposeBlacklist, findComposeBlacklistViolations, buildComposeOverlay, materializeDockerComposeProviderCase, } from \"./compose.ts\";\nexport { computeBuildKey, computeCaseKey, resolveFloatingImageTag, credentialIdentityContribution, assertPureDataIdentity, looksLikeDigestRef, } from \"./identity.ts\";\nexport { SANDBOX_BUILD_ACTIVITY, prepareSandboxBuilds, startSandboxBuilds, buildFailureOrigin, } from \"./build-coordinator.ts\";\nexport { createCheckpoint, restoreCheckpoint } from \"./checkpoint.ts\";\nexport { createSandboxAttachmentWrite } from \"./record/attachment.ts\";\nexport type { SandboxAttachmentInput, SandboxAttachmentWriteError, } from \"./record/attachment.ts\";\nexport { NICEEVAL_BUB_DOCKER_IMAGE, NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE, NICEEVAL_CODEX_DOCKER_IMAGE, NICEEVAL_HERMES_DOCKER_IMAGE, NICEEVAL_OPENCLAW_DOCKER_IMAGE, NICEEVAL_OPENCODE_DOCKER_IMAGE, } from \"./docker-agent-image.ts\";\nexport type { SandboxLayer, SandboxLayerKind, SandboxLayerLifecycle, DockerImageSource, DockerfileSource, DockerSandboxSource, DockerSandboxAccess, DockerSandboxOptions, DockerSandboxCommonOptions, DockerSandboxReadiness, ManagedDockerResources, DockerComposeSandboxOptions, DockerSandboxResources, DockerSandboxTmpfsOptions, E2BSandboxOptions, VercelSandboxOptions, LocalSandboxOptions, CustomProviderSandboxOptions, CustomCaseSandboxOptions, CustomCaseServices, CustomCaseMaterializedServices, CustomCaseMaterializeResult, SandboxTargetPlatform, SandboxLeakGate, } from \"./layer.ts\";\nexport type { SandboxCommand, SandboxCommandContext, SandboxCommandTarget, SandboxCleanupCommand, SandboxCommandIdentity, SandboxCommandIdentityValue, SandboxCommandOptions, StableSandboxCommand, AttemptRef, } from \"./commands.ts\";\nexport type { CheckoutOptions, InstallToolOptions } from \"./prepare-commands.ts\";\nexport type { RegisteredSandboxContent } from \"./content.ts\";\nexport type { Sandbox, SandboxOperations, SandboxTransferOperations, SandboxProvider, SandboxRuntime, SandboxHook, SandboxHookContext, CommandResult, CommandOptions, SuccessfulCommandResult, } from \"../types.ts\";\nexport type { SandboxCaseKind, ServiceController, MaterializedSandboxCase, SandboxGroupEntry, SandboxResourceGroup, SandboxMaterializeContext, } from \"./case-types.ts\";\nexport type { BuildKey, CaseKey, BuildKeyInput, CaseKeyInput, ImageRefResolution, CredentialRef, } from \"./identity.ts\";\nexport type { ComposeBuildCollection, ComposeInspection, ComposeServiceInspection, ComposeBlacklistFinding, ComposeOverlay, MaterializeComposeOpts, } from \"./compose.ts\";\nexport type { SandboxBuildWork, SandboxBuildProvider, SandboxBuildExecutionContext, SandboxBuildPreparation, SandboxBuildFailure, PrepareSandboxBuildsOptions, } from \"./build-coordinator.ts\";\nexport { DockerProfileError, dockerProfileError, } from \"./docker-profile/errors.ts\";\nexport type { DockerProfileErrorCode, DockerProfileErrorOptions, } from \"./docker-profile/errors.ts\";\nexport { DOCKER_EXECUTION_PROFILE_SCHEMA_VERSION, DOCKER_PROFILE_SCHEMA_VERSION, DOCKER_PROFILE_NETWORK_POLICY_VERSION, DOCKER_PROFILE_NETWORK_DENY_CIDRS, DockerExecutionProfileV1Schema, DockerExecutionProfileSchema, createDockerExecutionProfileV1, decodeDockerExecutionProfileV1, dockerExecutionProfileSemanticPolicyRevisionOf, dockerProfileSemanticPolicyRevisionOf, dockerExecutionProfileV1Digest, dockerProfileDigestOf, dockerProfilePublicSummaryOf, isDockerExecutionProfileV1, makeDockerExecutionProfileV1, parseDockerExecutionProfile, parseDockerExecutionProfileV1, } from \"./docker-profile/schema.ts\";\nexport type { DockerExecutionProfileSecurityLevel, DockerExecutionProfileV1, DockerExecutionProfileV1Draft, DockerProfileNetworkPolicy, DockerProfilePublicSummary, DockerProfileUnixEndpoint, } from \"./docker-profile/schema.ts\";\nexport { createDockerProfileRegistry, indexDockerProfiles, parseDockerProfileRegistry, resolveDockerExecutionProfile, resolveDockerProfile, resolveDockerProfileAlias, resolveDockerProfileSelector, } from \"./docker-profile/registry.ts\";\nexport type { DockerProfileRegistryEntry, DockerProfileRegistryFileFacts, DockerProfileRegistryIndex, DockerProfileRegistryInput, DockerProfileRegistryOptions, ResolvedDockerProfileEntry, } from \"./docker-profile/registry.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;AAAA,gDAAgD;AAChD,6EAA6E;AAC7E,qDAAqD;AACrD,0CAA6C;AAApC,0GAAA,aAAa,OAAA;AACtB,uCAA+K;AAAtK,6HAAA,iCAAiC,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,wGAAA,YAAY,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AACzJ,6CAAqE;AAA5D,sGAAA,OAAO,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAC7C,6DAA8D;AAArD,+GAAA,QAAQ,OAAA;AAAE,kHAAA,WAAW,OAAA;AAC9B,iDAA0D;AAAjD,wHAAA,uBAAuB,OAAA;AAChC,2CAAsD;AAA7C,oHAAA,sBAAsB,OAAA;AAC/B,2CAAqR;AAA5Q,2HAAA,6BAA6B,OAAA;AAAE,wHAAA,0BAA0B,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAAE,0HAAA,4BAA4B,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AAAE,4HAAA,8BAA8B,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAE,kIAAA,oCAAoC,OAAA;AAC7P,6CAAsK;AAA7J,8GAAA,eAAe,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAAE,6HAAA,8BAA8B,OAAA;AAAE,qHAAA,sBAAsB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAC7I,+DAA+H;AAAtH,8HAAA,sBAAsB,OAAA;AAAE,4HAAA,oBAAoB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAC7F,iDAAsE;AAA7D,iHAAA,gBAAgB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAC5C,wDAAkE;AAAzD,wHAAA,uBAAuB,OAAA;AAEhC,iEAAmO;AAA1N,kIAAA,yBAAyB,OAAA;AAAE,0IAAA,iCAAiC,OAAA;AAAE,oIAAA,2BAA2B,OAAA;AAAE,qIAAA,4BAA4B,OAAA;AAAE,uIAAA,8BAA8B,OAAA;AAAE,uIAAA,8BAA8B,OAAA;AAUhM,wDAAqF;AAA5E,+GAAA,kBAAkB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAE/C,wDAA+lB;AAAtlB,oIAAA,uCAAuC,OAAA;AAAE,0HAAA,6BAA6B,OAAA;AAAE,kIAAA,qCAAqC,OAAA;AAAE,8HAAA,iCAAiC,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,2IAAA,8CAA8C,OAAA;AAAE,kIAAA,qCAAqC,OAAA;AAAE,2HAAA,8BAA8B,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,uHAAA,0BAA0B,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,wHAAA,2BAA2B,OAAA;AAAE,0HAAA,6BAA6B,OAAA;AAEzjB,4DAA2O;AAAlO,0HAAA,2BAA2B,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,yHAAA,0BAA0B,OAAA;AAAE,4HAAA,6BAA6B,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,2HAAA,4BAA4B,OAAA","sourcesContent":["// niceeval/sandbox 公开导出:「在哪里跑」相关的类型 + 工厂 + 扩展点。\n// 具体 provider 实现类(DockerSandbox / VercelSandbox / E2BSandbox)是内部实现细节,不在此导出——\n// 需要自定义 provider 时用 defineSandbox(),不需要直接 new 内置实现类。\nexport { defineSandbox } from \"../define.ts\";\nexport { CustomSandboxMaterializationError, sandboxLayer, dockerSandbox, dockerComposeSandbox, e2bSandbox, vercelSandbox, localSandbox, defineSandboxCase, } from \"./layer.ts\";\nexport { command, shell, defineSandboxCommand } from \"./commands.ts\";\nexport { checkout, installTool } from \"./prepare-commands.ts\";\nexport { SandboxCommandExitError } from \"./operations.ts\";\nexport { registerSandboxContent } from \"./content.ts\";\nexport { COMPOSE_MATERIALIZER_REVISION, dockerComposeBuildProvider, collectComposeBuilds, leakGateHintsFromComposeFile, inspectComposeYaml, assertComposeBlacklist, findComposeBlacklistViolations, buildComposeOverlay, materializeDockerComposeProviderCase, } from \"./compose.ts\";\nexport { computeBuildKey, computeCaseKey, resolveFloatingImageTag, credentialIdentityContribution, assertPureDataIdentity, looksLikeDigestRef, } from \"./identity.ts\";\nexport { SANDBOX_BUILD_ACTIVITY, prepareSandboxBuilds, startSandboxBuilds, buildFailureOrigin, } from \"./build-coordinator.ts\";\nexport { createCheckpoint, restoreCheckpoint } from \"./checkpoint.ts\";\nexport { normalizeSandboxCapture, } from \"./record/attachment.ts\";\nexport type { SandboxCaptureInput, SandboxCaptureInputError, } from \"./record/attachment.ts\";\nexport { NICEEVAL_BUB_DOCKER_IMAGE, NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE, NICEEVAL_CODEX_DOCKER_IMAGE, NICEEVAL_HERMES_DOCKER_IMAGE, NICEEVAL_OPENCLAW_DOCKER_IMAGE, NICEEVAL_OPENCODE_DOCKER_IMAGE, } from \"./docker-agent-image.ts\";\nexport type { SandboxLayer, SandboxLayerKind, SandboxLayerLifecycle, DockerImageSource, DockerfileSource, DockerSandboxSource, DockerSandboxAccess, DockerSandboxOptions, DockerSandboxCommonOptions, DockerSandboxReadiness, ManagedDockerResources, DockerComposeSandboxOptions, DockerSandboxResources, DockerSandboxTmpfsOptions, E2BSandboxOptions, VercelSandboxOptions, LocalSandboxOptions, CustomProviderSandboxOptions, CustomCaseSandboxOptions, CustomCaseServices, CustomCaseMaterializedServices, CustomCaseMaterializeResult, SandboxTargetPlatform, SandboxLeakGate, } from \"./layer.ts\";\nexport type { SandboxCommand, SandboxCommandContext, SandboxCommandTarget, SandboxCleanupCommand, SandboxCommandIdentity, SandboxCommandIdentityValue, SandboxCommandOptions, StableSandboxCommand, AttemptRef, } from \"./commands.ts\";\nexport type { CheckoutOptions, InstallToolOptions } from \"./prepare-commands.ts\";\nexport type { RegisteredSandboxContent } from \"./content.ts\";\nexport type { Sandbox, SandboxOperations, SandboxTransferOperations, SandboxProvider, SandboxRuntime, SandboxHook, SandboxHookContext, CommandResult, CommandOptions, SuccessfulCommandResult, } from \"../types.ts\";\nexport type { SandboxCaseKind, ServiceController, MaterializedSandboxCase, SandboxGroupEntry, SandboxResourceGroup, SandboxMaterializeContext, } from \"./case-types.ts\";\nexport type { BuildKey, CaseKey, BuildKeyInput, CaseKeyInput, ImageRefResolution, CredentialRef, } from \"./identity.ts\";\nexport type { ComposeBuildCollection, ComposeInspection, ComposeServiceInspection, ComposeBlacklistFinding, ComposeOverlay, MaterializeComposeOpts, } from \"./compose.ts\";\nexport type { SandboxBuildWork, SandboxBuildProvider, SandboxBuildExecutionContext, SandboxBuildPreparation, SandboxBuildFailure, PrepareSandboxBuildsOptions, } from \"./build-coordinator.ts\";\nexport { DockerProfileError, dockerProfileError, } from \"./docker-profile/errors.ts\";\nexport type { DockerProfileErrorCode, DockerProfileErrorOptions, } from \"./docker-profile/errors.ts\";\nexport { DOCKER_EXECUTION_PROFILE_SCHEMA_VERSION, DOCKER_PROFILE_SCHEMA_VERSION, DOCKER_PROFILE_NETWORK_POLICY_VERSION, DOCKER_PROFILE_NETWORK_DENY_CIDRS, DockerExecutionProfileV1Schema, DockerExecutionProfileSchema, createDockerExecutionProfileV1, decodeDockerExecutionProfileV1, dockerExecutionProfileSemanticPolicyRevisionOf, dockerProfileSemanticPolicyRevisionOf, dockerExecutionProfileV1Digest, dockerProfileDigestOf, dockerProfilePublicSummaryOf, isDockerExecutionProfileV1, makeDockerExecutionProfileV1, parseDockerExecutionProfile, parseDockerExecutionProfileV1, } from \"./docker-profile/schema.ts\";\nexport type { DockerExecutionProfileSecurityLevel, DockerExecutionProfileV1, DockerExecutionProfileV1Draft, DockerProfileNetworkPolicy, DockerProfilePublicSummary, DockerProfileUnixEndpoint, } from \"./docker-profile/schema.ts\";\nexport { createDockerProfileRegistry, indexDockerProfiles, parseDockerProfileRegistry, resolveDockerExecutionProfile, resolveDockerProfile, resolveDockerProfileAlias, resolveDockerProfileSelector, } from \"./docker-profile/registry.ts\";\nexport type { DockerProfileRegistryEntry, DockerProfileRegistryFileFacts, DockerProfileRegistryIndex, DockerProfileRegistryInput, DockerProfileRegistryOptions, ResolvedDockerProfileEntry, } from \"./docker-profile/registry.ts\";\n"]}
@@ -8,8 +8,8 @@ export { COMPOSE_MATERIALIZER_REVISION, dockerComposeBuildProvider, collectCompo
8
8
  export { computeBuildKey, computeCaseKey, resolveFloatingImageTag, credentialIdentityContribution, assertPureDataIdentity, looksLikeDigestRef, } from "./identity.cjs";
9
9
  export { SANDBOX_BUILD_ACTIVITY, prepareSandboxBuilds, startSandboxBuilds, buildFailureOrigin, } from "./build-coordinator.cjs";
10
10
  export { createCheckpoint, restoreCheckpoint } from "./checkpoint.cjs";
11
- export { createSandboxAttachmentWrite } from "./record/attachment.cjs";
12
- export type { SandboxAttachmentInput, SandboxAttachmentWriteError, } from "./record/attachment.cjs";
11
+ export { normalizeSandboxCapture, } from "./record/attachment.cjs";
12
+ export type { SandboxCaptureInput, SandboxCaptureInputError, } from "./record/attachment.cjs";
13
13
  export { NICEEVAL_BUB_DOCKER_IMAGE, NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE, NICEEVAL_CODEX_DOCKER_IMAGE, NICEEVAL_HERMES_DOCKER_IMAGE, NICEEVAL_OPENCLAW_DOCKER_IMAGE, NICEEVAL_OPENCODE_DOCKER_IMAGE, } from "./docker-agent-image.cjs";
14
14
  export type { SandboxLayer, SandboxLayerKind, SandboxLayerLifecycle, DockerImageSource, DockerfileSource, DockerSandboxSource, DockerSandboxAccess, DockerSandboxOptions, DockerSandboxCommonOptions, DockerSandboxReadiness, ManagedDockerResources, DockerComposeSandboxOptions, DockerSandboxResources, DockerSandboxTmpfsOptions, E2BSandboxOptions, VercelSandboxOptions, LocalSandboxOptions, CustomProviderSandboxOptions, CustomCaseSandboxOptions, CustomCaseServices, CustomCaseMaterializedServices, CustomCaseMaterializeResult, SandboxTargetPlatform, SandboxLeakGate, } from "./layer.cjs";
15
15
  export type { SandboxCommand, SandboxCommandContext, SandboxCommandTarget, SandboxCleanupCommand, SandboxCommandIdentity, SandboxCommandIdentityValue, SandboxCommandOptions, StableSandboxCommand, AttemptRef, } from "./commands.cjs";
@@ -8,8 +8,8 @@ export { COMPOSE_MATERIALIZER_REVISION, dockerComposeBuildProvider, collectCompo
8
8
  export { computeBuildKey, computeCaseKey, resolveFloatingImageTag, credentialIdentityContribution, assertPureDataIdentity, looksLikeDigestRef, } from "./identity.mjs";
9
9
  export { SANDBOX_BUILD_ACTIVITY, prepareSandboxBuilds, startSandboxBuilds, buildFailureOrigin, } from "./build-coordinator.mjs";
10
10
  export { createCheckpoint, restoreCheckpoint } from "./checkpoint.mjs";
11
- export { createSandboxAttachmentWrite } from "./record/attachment.mjs";
12
- export type { SandboxAttachmentInput, SandboxAttachmentWriteError, } from "./record/attachment.mjs";
11
+ export { normalizeSandboxCapture, } from "./record/attachment.mjs";
12
+ export type { SandboxCaptureInput, SandboxCaptureInputError, } from "./record/attachment.mjs";
13
13
  export { NICEEVAL_BUB_DOCKER_IMAGE, NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE, NICEEVAL_CODEX_DOCKER_IMAGE, NICEEVAL_HERMES_DOCKER_IMAGE, NICEEVAL_OPENCLAW_DOCKER_IMAGE, NICEEVAL_OPENCODE_DOCKER_IMAGE, } from "./docker-agent-image.mjs";
14
14
  export type { SandboxLayer, SandboxLayerKind, SandboxLayerLifecycle, DockerImageSource, DockerfileSource, DockerSandboxSource, DockerSandboxAccess, DockerSandboxOptions, DockerSandboxCommonOptions, DockerSandboxReadiness, ManagedDockerResources, DockerComposeSandboxOptions, DockerSandboxResources, DockerSandboxTmpfsOptions, E2BSandboxOptions, VercelSandboxOptions, LocalSandboxOptions, CustomProviderSandboxOptions, CustomCaseSandboxOptions, CustomCaseServices, CustomCaseMaterializedServices, CustomCaseMaterializeResult, SandboxTargetPlatform, SandboxLeakGate, } from "./layer.mjs";
15
15
  export type { SandboxCommand, SandboxCommandContext, SandboxCommandTarget, SandboxCleanupCommand, SandboxCommandIdentity, SandboxCommandIdentityValue, SandboxCommandOptions, StableSandboxCommand, AttemptRef, } from "./commands.mjs";
@@ -8,8 +8,8 @@ export { COMPOSE_MATERIALIZER_REVISION, dockerComposeBuildProvider, collectCompo
8
8
  export { computeBuildKey, computeCaseKey, resolveFloatingImageTag, credentialIdentityContribution, assertPureDataIdentity, looksLikeDigestRef, } from "./identity.js";
9
9
  export { SANDBOX_BUILD_ACTIVITY, prepareSandboxBuilds, startSandboxBuilds, buildFailureOrigin, } from "./build-coordinator.js";
10
10
  export { createCheckpoint, restoreCheckpoint } from "./checkpoint.js";
11
- export { createSandboxAttachmentWrite } from "./record/attachment.js";
12
- export type { SandboxAttachmentInput, SandboxAttachmentWriteError, } from "./record/attachment.js";
11
+ export { normalizeSandboxCapture, } from "./record/attachment.js";
12
+ export type { SandboxCaptureInput, SandboxCaptureInputError, } from "./record/attachment.js";
13
13
  export { NICEEVAL_BUB_DOCKER_IMAGE, NICEEVAL_CLAUDE_CODE_DOCKER_IMAGE, NICEEVAL_CODEX_DOCKER_IMAGE, NICEEVAL_HERMES_DOCKER_IMAGE, NICEEVAL_OPENCLAW_DOCKER_IMAGE, NICEEVAL_OPENCODE_DOCKER_IMAGE, } from "./docker-agent-image.js";
14
14
  export type { SandboxLayer, SandboxLayerKind, SandboxLayerLifecycle, DockerImageSource, DockerfileSource, DockerSandboxSource, DockerSandboxAccess, DockerSandboxOptions, DockerSandboxCommonOptions, DockerSandboxReadiness, ManagedDockerResources, DockerComposeSandboxOptions, DockerSandboxResources, DockerSandboxTmpfsOptions, E2BSandboxOptions, VercelSandboxOptions, LocalSandboxOptions, CustomProviderSandboxOptions, CustomCaseSandboxOptions, CustomCaseServices, CustomCaseMaterializedServices, CustomCaseMaterializeResult, SandboxTargetPlatform, SandboxLeakGate, } from "./layer.js";
15
15
  export type { SandboxCommand, SandboxCommandContext, SandboxCommandTarget, SandboxCleanupCommand, SandboxCommandIdentity, SandboxCommandIdentityValue, SandboxCommandOptions, StableSandboxCommand, AttemptRef, } from "./commands.js";