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
package/dist/cli.cjs CHANGED
@@ -19,11 +19,12 @@ exports.experimentRenameExitCode = experimentRenameExitCode;
19
19
  // niceeval exp [组|配置] [pattern] 跑实验
20
20
  // niceeval debug <配置> <eval> 只规划一个配对的 Sandbox / Plugin lifecycle
21
21
  // niceeval accept @<locator>... 接受多条历史结果并重锚到当前配置
22
- // niceeval show [selection] 终端渲染一次固定的 ReportExecution
22
+ // niceeval show [selection] 终端渲染固定 Sample 的一个目标 Page
23
23
  // niceeval list 只列出发现到的 eval
24
24
  // niceeval clean [--record <root>] [--yes] 删除未完成 Run
25
25
  // niceeval migrate [--record <root>] [--yes] 显式迁移 Record
26
26
  const node_child_process_1 = require("node:child_process");
27
+ const node_crypto_1 = require("node:crypto");
27
28
  const node_os_1 = require("node:os");
28
29
  const promises_1 = require("node:fs/promises");
29
30
  const node_fs_1 = require("node:fs");
@@ -31,22 +32,25 @@ const node_path_1 = require("node:path");
31
32
  const node_util_1 = require("node:util");
32
33
  const effect_1 = require("effect");
33
34
  const attempt_locator_ts_1 = require("./attempt-locator.cjs");
34
- const discover_ts_1 = require("./runner/discover.cjs");
35
35
  const aggregate_ts_1 = require("./shared/aggregate.cjs");
36
- const run_ts_1 = require("./runner/run.cjs");
37
- const fingerprint_ts_1 = require("./runner/fingerprint.cjs");
36
+ const index_ts_1 = require("./experiment/host/index.cjs");
38
37
  const project_current_ts_1 = require("./runner/project-current.cjs");
39
- const index_ts_1 = require("./record/index.cjs");
40
- const index_ts_2 = require("./analysis/index.cjs");
38
+ const index_ts_2 = require("./record/index.cjs");
39
+ const identifiers_ts_1 = require("./record/codec/identifiers.cjs");
41
40
  const attempt_overview_ts_1 = require("./report/built-in/attempt-overview.cjs");
42
41
  const overview_ts_1 = require("./report/built-in/overview.cjs");
43
42
  const run_membership_overview_ts_1 = require("./report/built-in/run-membership-overview.cjs");
44
43
  const execution_ts_1 = require("./report/built-in/execution.cjs");
45
44
  const source_ts_1 = require("./report/built-in/source.cjs");
46
- const identity_ts_1 = require("./report/author/identity.cjs");
45
+ const model_ts_1 = require("./report/execution/model.cjs");
46
+ const from_record_ts_1 = require("./report/host/from-record.cjs");
47
+ const execute_ts_1 = require("./report/host/execute.cjs");
48
+ const paths_ts_1 = require("./report/execution/paths.cjs");
47
49
  const index_ts_3 = require("./report/host/index.cjs");
50
+ const panel_ts_1 = require("./report/model/panel.cjs");
51
+ const progress_ts_1 = require("./report/host/progress.cjs");
52
+ const static_ts_1 = require("./report/host/static.cjs");
48
53
  const node_ts_1 = require("./report/host/node.cjs");
49
- const server_ts_1 = require("./view/server.cjs");
50
54
  const record_ts_1 = require("./cli/record.cjs");
51
55
  const eval_selection_ts_1 = require("./runner/eval-selection.cjs");
52
56
  const registry_ts_1 = require("./sandbox/registry.cjs");
@@ -57,15 +61,12 @@ const experiment_cleanup_registry_ts_1 = require("./runner/experiment-cleanup-re
57
61
  const lock_ts_1 = require("./runner/lock.cjs");
58
62
  const gate_lease_ts_1 = require("./runner/gate-lease.cjs");
59
63
  const cleanup_timeout_ts_1 = require("./runner/cleanup-timeout.cjs");
64
+ const report_view_cache_ts_1 = require("./view/report-view-cache.cjs");
60
65
  const timeout_ts_1 = require("./runner/timeout.cjs");
61
- const record_ts_2 = require("./runner/record.cjs");
62
- const reuse_readback_ts_1 = require("./runner/reuse-readback.cjs");
63
66
  const teardown_registry_ts_1 = require("./runner/teardown-registry.cjs");
64
67
  const rename_experiment_ts_1 = require("./runner/rename-experiment.cjs");
65
68
  const verdict_ts_1 = require("./shared/verdict.cjs");
66
- const facts_ts_1 = require("./shared/facts.cjs");
67
69
  const sandbox_selection_ts_1 = require("./runner/sandbox-selection.cjs");
68
- const plan_ts_2 = require("./sandbox/plan.cjs");
69
70
  const json_ts_1 = require("./runner/reporters/json.cjs");
70
71
  const index_ts_4 = require("./runner/feedback/index.cjs");
71
72
  const index_ts_5 = require("./i18n/index.cjs");
@@ -112,14 +113,28 @@ function renderCliFailure(failure) {
112
113
  if (isReportCliOperation(failure.operation)) {
113
114
  const code = failureCode(failure.cause);
114
115
  if (code !== undefined) {
115
- const reason = failure.cause instanceof node_ts_1.ReportModuleLoadError ? `: ${failure.cause.reason}` : "";
116
- return `${code}${reason}\n`;
116
+ if (failure.cause instanceof node_ts_1.ReportModuleLoadError) {
117
+ return `${code}: ${failure.cause.reason}\n`;
118
+ }
119
+ const reason = stringProperty(failure.cause, "reason");
120
+ const operation = stringProperty(failure.cause, "operation");
121
+ if (reason !== undefined) {
122
+ const stage = operation === undefined ? "" : `${operation}: `;
123
+ const retry = code === "report-view-server-failed" && operation === "listen"
124
+ ? "\nChoose another port with --port <port>, or stop the process already listening there."
125
+ : "";
126
+ return `${code}: ${stage}${reason}${retry}\n`;
127
+ }
128
+ return `${code}\n`;
117
129
  }
118
130
  }
119
131
  return (0, index_ts_5.t)("cli.error", { error: (0, util_ts_1.formatThrown)(failure.cause) });
120
132
  }
121
133
  function isReportCliOperation(operation) {
122
- return operation === "execute report from Record" ||
134
+ return operation === "load trusted Report config" ||
135
+ operation === "load trusted Report module" ||
136
+ operation === "load trusted Theme module" ||
137
+ operation === "execute report from Record" ||
123
138
  operation === "render Report show output" ||
124
139
  operation === "open report view session" ||
125
140
  operation === "open report view" ||
@@ -169,7 +184,7 @@ const FLAG_OPTIONS = {
169
184
  tag: { type: "string" },
170
185
  /** 额外写一份 JUnit XML 报告到指定路径,供 CI 消费。 */
171
186
  junit: { type: "string" },
172
- /** `exp` 运行在 stdout 输出单一有序的 NDJSON 事件流;`exp --dry` 与 `debug` 输出各自的单个 JSON 计划文档。`show` 输出同一 ReportExecution 的宿主数据与状态,不打开第二条取数路径。 */
187
+ /** `exp` 运行在 stdout 输出单一有序的 NDJSON 事件流;`exp --dry` 与 `debug` 输出各自的单个 JSON 计划文档。`show` 输出 Host 拥有的内建或自定义单目标机器文档,不形成完整站点或打开第二条取数路径。 */
173
188
  json: { type: "boolean" },
174
189
  /** `docker profile doctor` 专用:启动受限 DinD 容器并运行内层容器。 */
175
190
  smoke: { type: "boolean" },
@@ -421,7 +436,7 @@ function parseArgs(argv) {
421
436
  function projectCurrentDryPlan(input) {
422
437
  return Object.freeze({
423
438
  slots: Object.freeze(input.slots.map(projectCurrentDryPlanSlot)),
424
- readbacks: Object.freeze(input.readbacks.map(reuse_readback_ts_1.projectCurrentReuseReadback)),
439
+ readbacks: Object.freeze([...input.readbacks]),
425
440
  });
426
441
  }
427
442
  function projectCurrentDryPlanSlot(slot) {
@@ -557,8 +572,6 @@ function firstViewerOnlyFlag(flags) {
557
572
  return { flag: "--stats", command: SHOW };
558
573
  if (flags.experiment !== undefined)
559
574
  return { flag: "--experiment", command: BOTH };
560
- if (flags.record !== undefined)
561
- return { flag: "--record", command: BOTH };
562
575
  if (flags.report !== undefined)
563
576
  return { flag: "--report", command: BOTH };
564
577
  if (flags.theme !== undefined)
@@ -691,8 +704,7 @@ function parseAcceptLocators(positionals, flags) {
691
704
  /** 调用 acceptance core;CLI 只负责 cwd/记录根边界、输出与退出码,不重建结果或启动 runner。 */
692
705
  function runAcceptCommand(cwd, locators, recordRoot) {
693
706
  return effect_1.Effect.gen(function* () {
694
- const mod = (yield* cliPromise("load acceptance command", () => __niceevalDynamicImport("./runner/accept.cjs")));
695
- const results = yield* cliEffect("accept locators", mod.acceptLocators({
707
+ const results = yield* cliEffect("accept locators", index_ts_1.experimentHost.accept({
696
708
  cwd,
697
709
  locators,
698
710
  ...(recordRoot !== undefined ? { recordRoot } : {}),
@@ -1289,12 +1301,6 @@ function agentRunFromExperiment(experiment, selectedEvalIds, overrides = {}) {
1289
1301
  classifyFailure: experiment.classifyFailure,
1290
1302
  };
1291
1303
  }
1292
- function uniqueExactOrPrefix(candidates, selector) {
1293
- const exact = candidates.find((candidate) => candidate.id === selector);
1294
- return exact === undefined
1295
- ? candidates.filter((candidate) => candidate.id.startsWith(selector))
1296
- : [exact];
1297
- }
1298
1304
  function renderDebugPlanJson(input) {
1299
1305
  return `${JSON.stringify({
1300
1306
  format: "niceeval.debug-plan/v1",
@@ -1311,89 +1317,68 @@ function runDebugCommand(cwd, positionals, flags) {
1311
1317
  return 1;
1312
1318
  }
1313
1319
  const [experimentSelector, evalSelector] = positionals;
1314
- const config = yield* loadConfig(cwd);
1315
- const evals = yield* cliEffect("discover evals for lifecycle debug", (0, discover_ts_1.discoverEvals)(cwd));
1316
- const experiments = yield* cliEffect("discover experiments for lifecycle debug", (0, discover_ts_1.discoverExperiments)(cwd));
1317
- const experimentIds = experiments.map((experiment) => experiment.id);
1318
- const matchedExperiments = uniqueExactOrPrefix(experiments, experimentSelector)
1319
- .slice()
1320
- .sort((left, right) => left.id.localeCompare(right.id));
1321
- if (matchedExperiments.length === 0) {
1322
- yield* writeStderr((0, index_ts_5.t)("cli.debug.experimentNoMatch", {
1323
- selector: experimentSelector,
1324
- candidates: [...experimentIds].sort().join(", ") || (0, index_ts_5.t)("cli.none"),
1325
- }));
1326
- return 1;
1327
- }
1328
- if (matchedExperiments.length > 1) {
1329
- yield* writeStderr((0, index_ts_5.t)("cli.debug.experimentAmbiguous", {
1330
- selector: experimentSelector,
1331
- candidates: matchedExperiments.map((experiment) => experiment.id).join(", "),
1332
- }));
1333
- return 1;
1334
- }
1335
- const experiment = matchedExperiments[0];
1336
- const { selectorEvals } = (0, eval_selection_ts_1.resolveExperimentEvals)({
1337
- experimentId: experiment.id,
1338
- selector: experiment.evals,
1339
- cliPatterns: [],
1340
- evals,
1341
- });
1342
- const matchedEvals = uniqueExactOrPrefix(selectorEvals, evalSelector)
1343
- .slice()
1344
- .sort((left, right) => left.id.localeCompare(right.id));
1345
- if (matchedEvals.length === 0) {
1346
- yield* writeStderr((0, index_ts_5.t)("cli.debug.evalNoMatch", {
1347
- selector: evalSelector,
1348
- experimentId: experiment.id,
1349
- candidates: selectorEvals.map((evalDef) => evalDef.id).sort().join(", ") || (0, index_ts_5.t)("cli.none"),
1350
- }));
1351
- return 1;
1352
- }
1353
- if (matchedEvals.length > 1) {
1354
- yield* writeStderr((0, index_ts_5.t)("cli.debug.evalAmbiguous", {
1355
- selector: evalSelector,
1356
- experimentId: experiment.id,
1357
- candidates: matchedEvals.map((evalDef) => evalDef.id).join(", "),
1358
- }));
1359
- return 1;
1360
- }
1361
- const evalDef = matchedEvals[0];
1362
- const run = agentRunFromExperiment(experiment, [evalDef.id]);
1363
- const prepared = yield* cliEffect("plan sandbox lifecycle debug", (0, sandbox_selection_ts_1.prepareRunSandboxes)(evals, [run], (0, plan_ts_2.liveSandboxPlanningServices)(), {
1364
- ...(config.timeoutMs === undefined ? {} : { configTimeoutMs: config.timeoutMs }),
1320
+ const result = yield* cliEffect("debug Experiment lifecycle", index_ts_1.experimentHost.debug({
1321
+ cwd,
1322
+ experimentSelector,
1323
+ evalSelector,
1365
1324
  }));
1366
- const commandPlan = (0, index_ts_4.assembleCommandPlan)({
1367
- rows: [{
1368
- experimentId: experiment.id,
1369
- evalId: evalDef.id,
1370
- ...(evalDef.evalGroup === undefined ? {} : { evalGroupId: evalDef.evalGroup.id }),
1371
- attempts: run.attempts,
1372
- dispatch: [{ attempts: Array.from({ length: run.attempts }, (_, attempt) => attempt) }],
1373
- }],
1374
- preparedPairsByKey: (0, sandbox_selection_ts_1.preparedPairsByKey)(prepared),
1375
- });
1376
- yield* writeStdout(flags.json
1377
- ? renderDebugPlanJson({ experimentId: experiment.id, evalId: evalDef.id, commandPlan })
1378
- : (0, index_ts_4.renderHumanCommandPlan)(commandPlan, {
1379
- isTTY: process.stdout.isTTY,
1380
- noColor: process.env.NO_COLOR,
1381
- width: process.stdout.columns,
1382
- }));
1383
- return 0;
1325
+ switch (result.status) {
1326
+ case "experiment-no-match":
1327
+ yield* writeStderr((0, index_ts_5.t)("cli.debug.experimentNoMatch", {
1328
+ selector: result.selector,
1329
+ candidates: result.candidates.join(", ") || (0, index_ts_5.t)("cli.none"),
1330
+ }));
1331
+ return 1;
1332
+ case "experiment-ambiguous":
1333
+ yield* writeStderr((0, index_ts_5.t)("cli.debug.experimentAmbiguous", {
1334
+ selector: result.selector,
1335
+ candidates: result.candidates.join(", "),
1336
+ }));
1337
+ return 1;
1338
+ case "eval-no-match":
1339
+ yield* writeStderr((0, index_ts_5.t)("cli.debug.evalNoMatch", {
1340
+ selector: result.selector,
1341
+ experimentId: result.experimentId,
1342
+ candidates: result.candidates.join(", ") || (0, index_ts_5.t)("cli.none"),
1343
+ }));
1344
+ return 1;
1345
+ case "eval-ambiguous":
1346
+ yield* writeStderr((0, index_ts_5.t)("cli.debug.evalAmbiguous", {
1347
+ selector: result.selector,
1348
+ experimentId: result.experimentId,
1349
+ candidates: result.candidates.join(", "),
1350
+ }));
1351
+ return 1;
1352
+ case "planned":
1353
+ yield* writeStdout(flags.json
1354
+ ? renderDebugPlanJson(result)
1355
+ : (0, index_ts_4.renderHumanCommandPlan)(result.commandPlan, {
1356
+ isTTY: process.stdout.isTTY,
1357
+ noColor: process.env.NO_COLOR,
1358
+ width: process.stdout.columns,
1359
+ }));
1360
+ return 0;
1361
+ }
1384
1362
  });
1385
1363
  }
1386
1364
  function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1387
1365
  return effect_1.Effect.gen(function* () {
1366
+ // Keep project-local coordination (sessions, locks, kept sandboxes) separate
1367
+ // from the portable Record root selected by `--record` below.
1368
+ const coordinationRoot = (0, node_path_1.resolve)(cwd, ".niceeval");
1388
1369
  const config = yield* loadConfig(cwd);
1389
1370
  const maxBuildConcurrency = flags.maxBuildConcurrency ?? config.maxBuildConcurrency ?? 2;
1390
1371
  if (!Number.isInteger(maxBuildConcurrency) || maxBuildConcurrency <= 0) {
1391
1372
  yield* writeStderr(`maxBuildConcurrency must be a positive integer, got ${maxBuildConcurrency}.\n`);
1392
1373
  return 1;
1393
1374
  }
1394
- const allEvals = yield* cliEffect("discover evals", (0, discover_ts_1.discoverEvals)(cwd));
1395
- const evals = flags.tag ? allEvals.filter((evalDefinition) => evalDefinition.tags?.includes(flags.tag)) : allEvals;
1375
+ let evals = Object.freeze([]);
1396
1376
  if (command === "list") {
1377
+ const listed = yield* cliEffect("list evals", index_ts_1.experimentHost.list({
1378
+ cwd,
1379
+ ...(flags.tag === undefined ? {} : { tag: flags.tag }),
1380
+ }));
1381
+ evals = listed.evals;
1397
1382
  yield* writeStdout((0, index_ts_5.t)("cli.list.header", { count: evals.length }));
1398
1383
  for (const evalDefinition of evals) {
1399
1384
  yield* writeStdout(` ${evalDefinition.id}${evalDefinition.description ? ` — ${evalDefinition.description}` : ""}\n`);
@@ -1412,35 +1397,36 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1412
1397
  yield* writeStderr((0, index_ts_5.t)("cli.exp.forceUnsupported"));
1413
1398
  return 1;
1414
1399
  }
1400
+ // `--record` selects the fact root for `exp`; `check` has no Record
1401
+ // reader or writer, so accepting it there would silently discard input.
1402
+ if (command === "check" && flags.record !== undefined) {
1403
+ yield* writeStderr((0, index_ts_5.t)("cli.check.recordUnsupported"));
1404
+ return 1;
1405
+ }
1415
1406
  const viewerFlag = firstViewerOnlyFlag(flags);
1416
1407
  if (viewerFlag) {
1417
1408
  yield* writeStderr((0, index_ts_5.t)("cli.exp.viewerFlagUnsupported", { flag: viewerFlag.flag, command: viewerFlag.command }));
1418
1409
  return 1;
1419
1410
  }
1420
- const experiments = yield* cliEffect("discover experiments", (0, discover_ts_1.discoverExperiments)(cwd));
1421
1411
  if (command === "exp" && positionals[0] === "list") {
1422
1412
  if (positionals.length > 2) {
1423
1413
  yield* writeStderr("niceeval exp list accepts at most one experiment prefix.\n");
1424
1414
  return 1;
1425
1415
  }
1426
1416
  const selector = positionals[1];
1427
- const ids = experiments.map((experiment) => experiment.id);
1428
- const selectedIds = selector === undefined ? new Set(ids) : new Set((0, aggregate_ts_1.matchExperimentSelector)(ids, selector));
1429
- const selected = experiments.filter((experiment) => selectedIds.has(experiment.id));
1430
- if (selected.length === 0 && selector !== undefined) {
1417
+ const listed = yield* cliEffect("list experiments", index_ts_1.experimentHost.list({
1418
+ cwd,
1419
+ ...(flags.tag === undefined ? {} : { tag: flags.tag }),
1420
+ ...(selector === undefined ? {} : { selector }),
1421
+ }));
1422
+ if (listed.selections.length === 0 && selector !== undefined) {
1431
1423
  yield* writeStderr((0, index_ts_5.t)("cli.experiment.noMatch", {
1432
1424
  arg: selector,
1433
- experiments: (0, aggregate_ts_1.browsableExperimentPaths)(ids).join(", ") || (0, index_ts_5.t)("cli.none"),
1425
+ experiments: (0, aggregate_ts_1.browsableExperimentPaths)(listed.experimentIds).join(", ") || (0, index_ts_5.t)("cli.none"),
1434
1426
  }));
1435
1427
  return 1;
1436
1428
  }
1437
- const rows = selected.map((experiment) => {
1438
- const { selectedEvalIds } = (0, eval_selection_ts_1.resolveExperimentEvals)({
1439
- experimentId: experiment.id,
1440
- selector: experiment.evals,
1441
- cliPatterns: [],
1442
- evals,
1443
- });
1429
+ const rows = listed.selections.map(({ experiment, selectedEvalIds }) => {
1444
1430
  return {
1445
1431
  experimentId: experiment.id,
1446
1432
  ...(experiment.description !== undefined ? { description: experiment.description } : {}),
@@ -1473,9 +1459,15 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1473
1459
  const expArg = positionals[0];
1474
1460
  const extraPatterns = positionals.slice(1);
1475
1461
  experimentSelection = positionals.join(" ") || (0, index_ts_5.t)("cli.all");
1476
- availableExperimentPaths = (0, aggregate_ts_1.browsableExperimentPaths)(experiments.map((experiment) => experiment.id)).join(", ") || (0, index_ts_5.t)("cli.none");
1477
- const selectedIds = expArg === undefined ? undefined : new Set((0, aggregate_ts_1.matchExperimentSelector)(experiments.map((experiment) => experiment.id), expArg));
1478
- const selected = selectedIds === undefined ? experiments : experiments.filter((experiment) => selectedIds.has(experiment.id));
1462
+ const listed = yield* cliEffect("select experiments", index_ts_1.experimentHost.list({
1463
+ cwd,
1464
+ ...(flags.tag === undefined ? {} : { tag: flags.tag }),
1465
+ ...(expArg === undefined ? {} : { selector: expArg }),
1466
+ ...(extraPatterns.length === 0 ? {} : { evalPatterns: extraPatterns }),
1467
+ }));
1468
+ evals = listed.evals;
1469
+ const selected = listed.selections;
1470
+ availableExperimentPaths = (0, aggregate_ts_1.browsableExperimentPaths)(listed.experimentIds).join(", ") || (0, index_ts_5.t)("cli.none");
1479
1471
  if (selected.length === 0) {
1480
1472
  yield* writeStderr((0, index_ts_5.t)("cli.experiment.noMatch", {
1481
1473
  arg: expArg ?? (0, index_ts_5.t)("cli.all"),
@@ -1495,7 +1487,9 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1495
1487
  const orphans = yield* (0, cli_commands_ts_1.orphanReminderEffect)(cwd).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.succeed(undefined)));
1496
1488
  if (orphans)
1497
1489
  yield* writeStderr(orphans);
1498
- const teardownReminder = yield* (0, teardown_registry_ts_1.orphanedTeardownReminderEffect)((0, node_path_1.resolve)(cwd, ".niceeval"), new Set(selected.filter((experiment) => experiment.teardown).map((experiment) => experiment.id)), (0, node_os_1.hostname)()).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.succeed(undefined)));
1490
+ const teardownReminder = yield* (0, teardown_registry_ts_1.orphanedTeardownReminderEffect)(coordinationRoot, new Set(selected
1491
+ .filter(({ experiment }) => experiment.teardown)
1492
+ .map(({ experiment }) => experiment.id)), (0, node_os_1.hostname)()).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.succeed(undefined)));
1499
1493
  if (teardownReminder)
1500
1494
  yield* writeStderr(teardownReminder);
1501
1495
  if (flags.teardown) {
@@ -1503,24 +1497,17 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1503
1497
  yield* writeStderr((0, index_ts_5.t)("cli.exp.teardownNoEvalPatterns"));
1504
1498
  return 1;
1505
1499
  }
1506
- const niceevalRootForTeardown = (0, node_path_1.resolve)(cwd, ".niceeval");
1500
+ const niceevalRootForTeardown = coordinationRoot;
1507
1501
  let anyFailed = false;
1508
- for (const experiment of selected) {
1502
+ for (const { experiment, selectedEvalIds } of selected) {
1509
1503
  if (!experiment.teardown)
1510
1504
  continue;
1511
- const { selectedEvalIds } = (0, eval_selection_ts_1.resolveExperimentEvals)({
1512
- experimentId: experiment.id,
1513
- selector: experiment.evals,
1514
- cliPatterns: [],
1515
- evals,
1516
- });
1517
1505
  const ctx = {
1518
1506
  experimentId: experiment.id,
1519
1507
  selectedEvalIds,
1520
1508
  signal: new AbortController().signal,
1521
1509
  progress: () => { },
1522
1510
  diagnostic: (input) => process.stderr.write(`${input.message}\n`),
1523
- fact: (key, value) => (0, facts_ts_1.recordFact)({}, key, value),
1524
1511
  };
1525
1512
  const registrations = yield* (0, teardown_registry_ts_1.readTeardownRegistrationsEffect)(niceevalRootForTeardown).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.succeed([])));
1526
1513
  const matching = registrations.filter(({ entry }) => entry.experimentId === experiment.id);
@@ -1546,15 +1533,9 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1546
1533
  return anyFailed ? 1 : 0;
1547
1534
  }
1548
1535
  const experimentScopeIds = new Set();
1549
- for (const experiment of selected) {
1550
- const { selectedEvalIds, selectorEvals } = (0, eval_selection_ts_1.resolveExperimentEvals)({
1551
- experimentId: experiment.id,
1552
- selector: experiment.evals,
1553
- cliPatterns: extraPatterns,
1554
- evals,
1555
- });
1556
- for (const evalDefinition of selectorEvals)
1557
- experimentScopeIds.add(evalDefinition.id);
1536
+ for (const { experiment, selectedEvalIds, selectorEvalIds } of selected) {
1537
+ for (const evalId of selectorEvalIds)
1538
+ experimentScopeIds.add(evalId);
1558
1539
  agentRuns.push(agentRunFromExperiment(experiment, selectedEvalIds, flags));
1559
1540
  }
1560
1541
  for (const pattern of extraPatterns) {
@@ -1569,10 +1550,18 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1569
1550
  }
1570
1551
  }
1571
1552
  else {
1572
- const experiments = yield* cliEffect("discover experiments", (0, discover_ts_1.discoverExperiments)(cwd));
1573
- const ids = experiments.map((experiment) => experiment.id);
1574
- const matchedIds = new Set(positionals.flatMap((pattern) => (0, aggregate_ts_1.matchExperimentSelector)(ids, pattern)));
1575
- const asExp = experiments.filter((experiment) => matchedIds.has(experiment.id));
1553
+ const listed = yield* cliEffect("list experiments", index_ts_1.experimentHost.list({
1554
+ cwd,
1555
+ ...(flags.tag === undefined ? {} : { tag: flags.tag }),
1556
+ }));
1557
+ const selectedByPattern = yield* effect_1.Effect.all(positionals.map((selector) => cliEffect("select experiments", index_ts_1.experimentHost.list({
1558
+ cwd,
1559
+ ...(flags.tag === undefined ? {} : { tag: flags.tag }),
1560
+ selector,
1561
+ }))));
1562
+ const asExp = [...new Map(selectedByPattern
1563
+ .flatMap((selection) => selection.selections)
1564
+ .map(({ experiment }) => [experiment.id, experiment])).values()];
1576
1565
  yield* writeStderr((0, index_ts_5.t)("cli.run.experimentRequired"));
1577
1566
  if (asExp.length > 0) {
1578
1567
  yield* writeStderr((0, index_ts_5.t)("cli.run.experimentRequiredHint", {
@@ -1582,7 +1571,7 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1582
1571
  }
1583
1572
  else {
1584
1573
  yield* writeStderr((0, index_ts_5.t)("cli.run.experimentRequiredKnown", {
1585
- experiments: experiments.map((experiment) => experiment.id).join(", ") || (0, index_ts_5.t)("cli.none"),
1574
+ experiments: listed.experimentIds.join(", ") || (0, index_ts_5.t)("cli.none"),
1586
1575
  }));
1587
1576
  }
1588
1577
  return 1;
@@ -1604,33 +1593,29 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1604
1593
  yield* writeStdout(`Sandbox layers linked: ${pairCount} pair${pairCount === 1 ? "" : "s"}.\n`);
1605
1594
  return 0;
1606
1595
  }
1607
- const targetPlan = yield* cliEffect("plan current ProjectTarget", (0, fingerprint_ts_1.planProjectTarget)(evals, agentRuns, config.timeoutMs, {
1608
- configJudge: config.judge,
1609
- keepSandbox: flags.keepSandbox,
1596
+ const recordTarget = yield* effect_1.Effect.try({
1597
+ try: () => parseActualRecordRoot(cwd, flags.record),
1598
+ catch: (cause) => cliFailure("parse experiment Record root", cause),
1599
+ });
1600
+ const experimentPlan = yield* cliEffect("plan Experiment", index_ts_1.experimentHost.plan({
1601
+ evals,
1602
+ agentRuns,
1603
+ config,
1604
+ recordRoot: recordTarget.root,
1605
+ ...(flags.rerun === undefined ? {} : { rerun: flags.rerun }),
1606
+ ...(flags.keepSandbox === undefined ? {} : { keepSandbox: flags.keepSandbox }),
1607
+ ...(flags.dry ? { previewStartedAt: Date.now() } : {}),
1610
1608
  }));
1609
+ const targetPlan = experimentPlan.target;
1611
1610
  if (flags.dry) {
1612
- const reuse = yield* cliEffect("prepare current Record reuse", (0, record_ts_2.prepareRunnerRecordReuse)({
1613
- evals,
1614
- runs: agentRuns,
1615
- config: { timeoutMs: config.timeoutMs },
1616
- plannedFingerprints: targetPlan.plannedFingerprints,
1617
- plannedConfigHashes: targetPlan.plannedConfigHashes,
1618
- rerun: flags.rerun,
1619
- keepSandbox: flags.keepSandbox,
1620
- }));
1621
- const currentPlan = yield* cliEffect("preview current Record reuse", (0, record_ts_2.withRunnerCurrentReusePreview)({
1622
- niceevalRoot: (0, node_path_1.resolve)(cwd, ".niceeval"),
1623
- startedAt: Date.now(),
1624
- evals,
1625
- runs: agentRuns,
1626
- reuse,
1627
- // `readReadbacks` is deliberately consumed and projected before this
1628
- // callback returns, while the exact frozen Record capability is live.
1629
- use: ({ reusePlan, readReadbacks }) => readReadbacks().pipe(effect_1.Effect.map((readbacks) => projectCurrentDryPlan({ slots: reusePlan.slots, readbacks }))),
1630
- }));
1611
+ const current = experimentPlan.current;
1612
+ if (current === undefined) {
1613
+ return yield* effect_1.Effect.fail(cliFailure("preview Experiment", new Error("Experiment Host did not return the requested dry plan.")));
1614
+ }
1615
+ const currentPlan = projectCurrentDryPlan(current);
1631
1616
  const rows = currentDryPlanRows(currentPlan);
1632
1617
  const now = Date.now();
1633
- const lockedFlags = yield* effect_1.Effect.all(rows.map((row) => (0, lock_ts_1.readCaseLockEffect)((0, node_path_1.resolve)(cwd, ".niceeval"), row.experimentId, row.evalId).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.succeed(undefined)), effect_1.Effect.map((lock) => lock !== undefined && !(0, lock_ts_1.isCaseLockExpired)(lock, now)))), { concurrency: "unbounded" });
1618
+ const lockedFlags = yield* effect_1.Effect.all(rows.map((row) => (0, lock_ts_1.readCaseLockEffect)(coordinationRoot, row.experimentId, row.evalId).pipe(effect_1.Effect.catchAll(() => effect_1.Effect.succeed(undefined)), effect_1.Effect.map((lock) => lock !== undefined && !(0, lock_ts_1.isCaseLockExpired)(lock, now)))), { concurrency: "unbounded" });
1634
1619
  const evalGroupsByEvalId = new Map(evals.flatMap((evalDef) => evalDef.evalGroup === undefined ? [] : [[evalDef.id, {
1635
1620
  ...evalDef.evalGroup,
1636
1621
  index: evalDef.evalGroup.evalIds.indexOf(evalDef.id),
@@ -1686,7 +1671,7 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1686
1671
  const renderer = outputForm === "human"
1687
1672
  ? (0, index_ts_4.createHumanRenderer)({ io, command: commandLabel })
1688
1673
  : (0, index_ts_4.createJsonRenderer)({ io });
1689
- const sessionTracker = new session_ts_1.SessionTracker((0, node_path_1.resolve)(cwd, ".niceeval"));
1674
+ const sessionTracker = new session_ts_1.SessionTracker(coordinationRoot);
1690
1675
  const coordinator = (0, index_ts_4.createFeedbackCoordinator)({
1691
1676
  profile: outputForm,
1692
1677
  renderer,
@@ -1729,7 +1714,7 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1729
1714
  },
1730
1715
  },
1731
1716
  });
1732
- // This synchronous hand-off and the following `runEvals` yield have no
1717
+ // This synchronous hand-off and the following Experiment Host yield have no
1733
1718
  // asynchronous gap. A first signal therefore either interrupts the root
1734
1719
  // before dispatch begins, or aborts this Invocation so it can close its
1735
1720
  // durable interrupted receipt before the CLI returns.
@@ -1739,7 +1724,7 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1739
1724
  // Runner remains Effect-native. During graceful dispatch the application
1740
1725
  // edge translates SIGINT into this Invocation signal, letting dispatch
1741
1726
  // settle and the receipt close before the process exits with 130.
1742
- const receipt = yield* cliEffect("run evaluations", (0, run_ts_1.runEvals)({
1727
+ const receipt = yield* cliEffect("run Experiment", index_ts_1.experimentHost.run({
1743
1728
  config,
1744
1729
  evals,
1745
1730
  agentRuns,
@@ -1748,7 +1733,8 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1748
1733
  maxBuildConcurrency,
1749
1734
  keepSandbox: flags.keepSandbox,
1750
1735
  rerun: flags.rerun,
1751
- niceevalRoot: (0, node_path_1.resolve)(cwd, ".niceeval"),
1736
+ coordinationRoot,
1737
+ recordRoot: recordTarget.root,
1752
1738
  session: sessionTracker,
1753
1739
  onCurrentRecordReusePlan: (current) => effect_1.Effect.sync(() => coordinator.start({
1754
1740
  ...plan,
@@ -1769,6 +1755,18 @@ function runEvaluationCommand(cwd, command, positionals, flags, interruption) {
1769
1755
  return (0, index_ts_4.computeExitCode)({ ...summary, failed: foldedStats.failed, errored: foldedStats.errored }, completion);
1770
1756
  });
1771
1757
  }
1758
+ /** Resolve the CLI's one portable Record target without treating `.niceeval` as Record data. */
1759
+ function parseActualRecordRoot(cwd, rootText) {
1760
+ if (rootText !== undefined && rootText.trim() === "") {
1761
+ throw usageError("--record requires an actual Record root directory.\n");
1762
+ }
1763
+ const rootPath = (0, node_path_1.resolve)(cwd, rootText ?? ".niceeval/record");
1764
+ const root = (0, index_ts_2.makeRecordRoot)(rootPath);
1765
+ if (effect_1.Either.isLeft(root)) {
1766
+ throw usageError(`Invalid --record root: ${root.left.code}.\n`);
1767
+ }
1768
+ return Object.freeze({ root: root.right, rootPath });
1769
+ }
1772
1770
  /**
1773
1771
  * The CLI validates selection identity before Record I/O. It never turns a
1774
1772
  * prefix, a path, or a directory entry into a Run / Experiment selection.
@@ -1779,15 +1777,7 @@ function parseReportCliRequest(input) {
1779
1777
  throw usageError(`niceeval ${input.command} does not accept ${unsupported}.\n`);
1780
1778
  }
1781
1779
  const runs = input.flags.run ?? [];
1782
- const rootText = input.flags.record;
1783
- if (rootText !== undefined && rootText.trim() === "") {
1784
- throw usageError("--record requires an actual Record root directory.\n");
1785
- }
1786
- const rootPath = (0, node_path_1.resolve)(input.cwd, rootText ?? ".niceeval/record");
1787
- const root = (0, index_ts_1.makeRecordRoot)(rootPath);
1788
- if (effect_1.Either.isLeft(root)) {
1789
- throw usageError(`Invalid --record root: ${root.left.code}.\n`);
1790
- }
1780
+ const { root, rootPath } = parseActualRecordRoot(input.cwd, input.flags.record);
1791
1781
  const page = parseReportRoute(input.flags.page);
1792
1782
  const evidenceReports = [
1793
1783
  input.flags.source !== undefined ? "--source" : undefined,
@@ -1819,7 +1809,7 @@ function parseReportCliRequest(input) {
1819
1809
  return Object.freeze({
1820
1810
  command: input.command,
1821
1811
  cwd: input.cwd,
1822
- root: root.right,
1812
+ root,
1823
1813
  rootPath,
1824
1814
  target: Object.freeze({ kind: "attempt", locator: parsedLocator }),
1825
1815
  reportSelection: Object.freeze({ kind: "fixed", report }),
@@ -1845,7 +1835,7 @@ function parseReportCliRequest(input) {
1845
1835
  return Object.freeze({
1846
1836
  command: input.command,
1847
1837
  cwd: input.cwd,
1848
- root: root.right,
1838
+ root,
1849
1839
  rootPath,
1850
1840
  target: Object.freeze({ kind: "attempt", locator: parsedLocator }),
1851
1841
  reportSelection: Object.freeze({
@@ -1871,11 +1861,13 @@ function parseReportCliRequest(input) {
1871
1861
  throw usageError("niceeval show --source requires one current Record Attempt locator.\n");
1872
1862
  }
1873
1863
  const parsedLocator = parseCurrentAttemptLocator(locator);
1874
- const report = (0, source_ts_1.sourceEvidenceReport)();
1864
+ const report = (0, source_ts_1.sourceEvidenceReport)({
1865
+ ...(typeof input.flags.source === "string" ? { file: input.flags.source } : {}),
1866
+ });
1875
1867
  return Object.freeze({
1876
1868
  command: input.command,
1877
1869
  cwd: input.cwd,
1878
- root: root.right,
1870
+ root,
1879
1871
  rootPath,
1880
1872
  target: Object.freeze({ kind: "attempt", locator: parsedLocator }),
1881
1873
  reportSelection: Object.freeze({ kind: "fixed", report }),
@@ -1898,7 +1890,7 @@ function parseReportCliRequest(input) {
1898
1890
  return Object.freeze({
1899
1891
  command: input.command,
1900
1892
  cwd: input.cwd,
1901
- root: root.right,
1893
+ root,
1902
1894
  rootPath,
1903
1895
  target: Object.freeze({ kind: "attempt", locator: parsedLocator }),
1904
1896
  reportSelection: input.flags.report === undefined
@@ -1926,7 +1918,7 @@ function parseReportCliRequest(input) {
1926
1918
  return Object.freeze({
1927
1919
  command: input.command,
1928
1920
  cwd: input.cwd,
1929
- root: root.right,
1921
+ root,
1930
1922
  rootPath,
1931
1923
  target,
1932
1924
  reportSelection: report,
@@ -1989,11 +1981,11 @@ function reportUnsupportedFlag(command, flags) {
1989
1981
  function parseReportRoute(value) {
1990
1982
  if (value === undefined)
1991
1983
  return undefined;
1992
- const parsed = (0, identity_ts_1.reportRoute)(value);
1993
- if (effect_1.Either.isLeft(parsed)) {
1994
- throw usageError(`Invalid --page route "${value}": ${parsed.left.reason}.\n`);
1984
+ const issue = (0, paths_ts_1.validateReportRoute)(value);
1985
+ if (issue !== undefined) {
1986
+ throw usageError(`Invalid --page route "${value}": ${issue.reason}.\n`);
1995
1987
  }
1996
- return parsed.right;
1988
+ return value;
1997
1989
  }
1998
1990
  function reportSelection(cwd, value) {
1999
1991
  if (value === undefined)
@@ -2028,14 +2020,14 @@ function explicitSelection(values) {
2028
2020
  const nonEmptyRunIds = [first, ...rest];
2029
2021
  return Object.freeze({
2030
2022
  policy: "explicit-runs",
2031
- input: Object.freeze({ runIds: nonEmptyRunIds }),
2023
+ runIds: nonEmptyRunIds,
2032
2024
  });
2033
2025
  }
2034
2026
  function uniqueExactRunIds(values) {
2035
2027
  const result = [];
2036
2028
  const seen = new Set();
2037
2029
  for (const value of values) {
2038
- const decoded = effect_1.Schema.decodeUnknownEither(index_ts_1.RunIdSchema)(value);
2030
+ const decoded = effect_1.Schema.decodeUnknownEither(index_ts_2.RunIdSchema)(value);
2039
2031
  if (effect_1.Either.isLeft(decoded)) {
2040
2032
  throw usageError(`Invalid --run value "${value}": expected one exact portable RunId.\n`);
2041
2033
  }
@@ -2050,7 +2042,7 @@ function uniqueExactExperimentIds(values) {
2050
2042
  const result = [];
2051
2043
  const seen = new Set();
2052
2044
  for (const value of values) {
2053
- const decoded = effect_1.Schema.decodeUnknownEither(index_ts_2.ExperimentIdSchema)(value);
2045
+ const decoded = effect_1.Schema.decodeUnknownEither(identifiers_ts_1.ExperimentIdSchema)(value);
2054
2046
  if (effect_1.Either.isLeft(decoded)) {
2055
2047
  throw usageError(`Invalid --experiment value "${value}": expected one exact ExperimentId.\n`);
2056
2048
  }
@@ -2085,38 +2077,44 @@ function loadCliReportInputs(request) {
2085
2077
  }))
2086
2078
  : undefined;
2087
2079
  const configured = yield* cliEffect("load trusted Report config", (0, node_ts_1.loadTrustedReportConfig)(request.cwd));
2088
- const selectedReport = yield* reportFromSelection(request.reportSelection, configured.report);
2080
+ const selectedReport = yield* reportFromSelection(request.reportSelection, configured.report, configured.watchInputs);
2089
2081
  const selectedTheme = yield* themeFromSelection(request.themeSelection, configured.theme);
2090
2082
  const projectCurrentSelection = projectCurrent === undefined
2091
2083
  ? undefined
2092
2084
  : Object.freeze({
2093
2085
  policy: "project-current",
2094
- input: Object.freeze({
2095
- target: projectCurrent.target,
2096
- }),
2086
+ currentSlots: projectCurrent.currentSlots,
2087
+ ...(request.target.kind === "project-current" && request.target.experimentIds !== undefined
2088
+ ? { experimentIds: request.target.experimentIds }
2089
+ : {}),
2097
2090
  });
2091
+ const sourceWatchInputs = uniqueWatchInputs([
2092
+ ...(projectCurrent?.watchInputs ?? []),
2093
+ ...configured.watchInputs,
2094
+ ...selectedReport.watchInputs,
2095
+ ...selectedTheme.watchInputs,
2096
+ ]);
2098
2097
  return Object.freeze({
2099
2098
  report: selectedReport.value,
2100
2099
  theme: selectedTheme.value,
2100
+ reportWatchInputs: uniqueWatchInputs(selectedReport.watchInputs),
2101
+ sourceWatchInputs,
2101
2102
  ...(projectCurrentSelection === undefined ? {} : { projectCurrentSelection }),
2102
2103
  watchInputs: uniqueWatchInputs([
2103
2104
  request.rootPath,
2104
- ...(projectCurrent?.watchInputs ?? []),
2105
- ...configured.watchInputs,
2106
- ...selectedReport.watchInputs,
2107
- ...selectedTheme.watchInputs,
2105
+ ...sourceWatchInputs,
2108
2106
  ]),
2109
2107
  });
2110
2108
  });
2111
2109
  }
2112
- function reportFromSelection(selection, configured) {
2110
+ function reportFromSelection(selection, configured, configuredWatchInputs) {
2113
2111
  switch (selection.kind) {
2114
2112
  case "fixed":
2115
2113
  return effect_1.Effect.succeed(Object.freeze({ value: selection.report, watchInputs: Object.freeze([]) }));
2116
2114
  case "config":
2117
2115
  return effect_1.Effect.succeed(Object.freeze({
2118
2116
  value: configured ?? overview_ts_1.defaultOverviewReport,
2119
- watchInputs: Object.freeze([]),
2117
+ watchInputs: configured === undefined ? Object.freeze([]) : configuredWatchInputs,
2120
2118
  }));
2121
2119
  case "built-in":
2122
2120
  return effect_1.Effect.succeed(Object.freeze({ value: overview_ts_1.defaultOverviewReport, watchInputs: Object.freeze([]) }));
@@ -2140,21 +2138,23 @@ function themeFromSelection(selection, configured) {
2140
2138
  function uniqueWatchInputs(paths) {
2141
2139
  return Object.freeze([...new Set(paths.map((path) => (0, node_path_1.resolve)(path)))].sort());
2142
2140
  }
2143
- function executeCliReport(request, inputs) {
2144
- const execution = request.target.kind === "attempt"
2145
- ? (0, index_ts_3.executeReportForAttemptFromRecord)({
2141
+ function buildCliReportSite(request, inputs) {
2142
+ const revision = request.target.kind === "attempt"
2143
+ ? (0, from_record_ts_1.buildReportSiteFromRecord)({
2146
2144
  root: request.root,
2147
2145
  locator: request.target.locator,
2148
2146
  report: inputs.report,
2147
+ theme: inputs.theme,
2149
2148
  })
2150
- : (0, index_ts_3.executeReportFromRecord)({
2149
+ : (0, from_record_ts_1.buildReportSiteFromRecord)({
2151
2150
  root: request.root,
2152
2151
  selection: request.target.kind === "selection"
2153
2152
  ? request.target.selection
2154
2153
  : inputs.projectCurrentSelection,
2155
2154
  report: inputs.report,
2155
+ theme: inputs.theme,
2156
2156
  });
2157
- return execution.pipe(effect_1.Effect.mapError(reportExecutionFailure));
2157
+ return revision.pipe(effect_1.Effect.mapError(reportExecutionFailure));
2158
2158
  }
2159
2159
  function reportExecutionFailure(error) {
2160
2160
  switch (failureCode(error)) {
@@ -2177,27 +2177,92 @@ function reportExecutionFailure(error) {
2177
2177
  case "record-bootstrap-invalid":
2178
2178
  return usageError("record-bootstrap-invalid\nPass --record <actual-record-root> or create a current NiceEval Record.\n");
2179
2179
  case "record-format-unsupported":
2180
- return usageError("record-format-unsupported\nUse a NiceEval version that supports this Record format.\n");
2180
+ return usageError("record-format-unsupported\nThis Record was created by a NiceEval version that is no longer supported. Remove .niceeval (for example, rm -rf .niceeval) and rerun the evaluation.\n");
2181
2181
  case "record-migration-interrupted":
2182
2182
  return usageError("record-migration-interrupted\nRestore the Record from Git or a backup before retrying.\n");
2183
+ case "report-route-invalid":
2184
+ return usageError(`Unknown Report route "${stringProperty(error, "route") ?? "unknown"}".\n`);
2185
+ case "report-build-budget-exceeded":
2186
+ return usageError(reportBuildBudgetExceededMessage(error));
2187
+ case "report-site-execution-problem":
2188
+ return usageError(reportSiteExecutionProblemMessage(error));
2183
2189
  default:
2184
2190
  return cliFailure("execute report from Record", error);
2185
2191
  }
2186
2192
  }
2193
+ /** Preserve the actionable dimension and target from the Host's closed budget error. */
2194
+ function reportBuildBudgetExceededMessage(error) {
2195
+ const budget = stringProperty(error, "budget");
2196
+ const maximum = finiteNumberProperty(error, "maximum");
2197
+ const observedAtLeast = finiteNumberProperty(error, "observedAtLeast");
2198
+ if (budget === undefined || maximum === undefined || observedAtLeast === undefined) {
2199
+ return "report-build-budget-exceeded\n";
2200
+ }
2201
+ const pageId = stringProperty(error, "pageId");
2202
+ const route = stringProperty(error, "route");
2203
+ const target = pageId === undefined && route === undefined
2204
+ ? ""
2205
+ : ` (${[
2206
+ ...(pageId === undefined ? [] : [`page ${JSON.stringify(pageId)}`]),
2207
+ ...(route === undefined ? [] : [`route ${JSON.stringify(route)}`]),
2208
+ ].join(", ")})`;
2209
+ return `report-build-budget-exceeded: ${budget} observed at least ${observedAtLeast}; maximum ${maximum}${target}\n`;
2210
+ }
2211
+ const REPORT_CLI_PROBLEMS_MAX = 20;
2212
+ const REPORT_CLI_PROBLEM_TEXT_MAX = 1024;
2213
+ /** Keep the concrete closed-problem reason while bounding author-controlled diagnostics. */
2214
+ function reportSiteExecutionProblemMessage(error) {
2215
+ if (typeof error !== "object" || error === null)
2216
+ return "report-site-execution-problem\n";
2217
+ const problems = Reflect.get(error, "problems");
2218
+ if (!Array.isArray(problems))
2219
+ return "report-site-execution-problem\n";
2220
+ const lines = problems
2221
+ .slice(0, REPORT_CLI_PROBLEMS_MAX)
2222
+ .flatMap((problem) => {
2223
+ const code = boundedReportCliProblemText(stringProperty(problem, "code"));
2224
+ const summary = boundedReportCliProblemText(stringProperty(problem, "summary"));
2225
+ if (code === undefined && summary === undefined)
2226
+ return [];
2227
+ if (code === undefined)
2228
+ return [summary];
2229
+ return [summary === undefined ? code : `${code}: ${summary}`];
2230
+ });
2231
+ const omitted = Math.max(0, problems.length - REPORT_CLI_PROBLEMS_MAX);
2232
+ return [
2233
+ "report-site-execution-problem",
2234
+ ...lines,
2235
+ ...(omitted === 0 ? [] : [`${omitted} additional Report problem(s) omitted.`]),
2236
+ "",
2237
+ ].join("\n");
2238
+ }
2239
+ function boundedReportCliProblemText(value) {
2240
+ if (value === undefined)
2241
+ return undefined;
2242
+ const bounded = value
2243
+ .replace(/[\u0000-\u001f\u007f-\u009f]/g, " ")
2244
+ .slice(0, REPORT_CLI_PROBLEM_TEXT_MAX)
2245
+ .trim();
2246
+ return bounded === "" ? undefined : bounded;
2247
+ }
2187
2248
  function stringProperty(value, key) {
2188
2249
  if (typeof value !== "object" || value === null)
2189
2250
  return undefined;
2190
2251
  const candidate = Reflect.get(value, key);
2191
2252
  return typeof candidate === "string" ? candidate : undefined;
2192
2253
  }
2193
- function requireKnownReportPage(execution, page) {
2194
- if (page === undefined || execution.pages.some((candidate) => candidate.route === page)) {
2254
+ function finiteNumberProperty(value, key) {
2255
+ if (typeof value !== "object" || value === null)
2256
+ return undefined;
2257
+ const candidate = Reflect.get(value, key);
2258
+ return typeof candidate === "number" && Number.isFinite(candidate) ? candidate : undefined;
2259
+ }
2260
+ function requireKnownReportPage(revision, page) {
2261
+ const routes = (0, model_ts_1.closedSiteRevisionData)(revision).routes;
2262
+ if (page === undefined || routes.includes(page)) {
2195
2263
  return effect_1.Effect.void;
2196
2264
  }
2197
- const available = execution.pages
2198
- .flatMap((candidate) => candidate.route === undefined ? [] : [candidate.route])
2199
- .sort()
2200
- .join(", ");
2265
+ const available = [...routes].sort().join(", ");
2201
2266
  return effect_1.Effect.fail(usageError(`Unknown Report route "${page}". Available routes: ${available || "none"}.\n`));
2202
2267
  }
2203
2268
  const cliReportConsole = Object.freeze({
@@ -2211,32 +2276,149 @@ const cliReportConsole = Object.freeze({
2211
2276
  }),
2212
2277
  }),
2213
2278
  });
2279
+ const reportHostPhaseLabels = Object.freeze({
2280
+ "record-open": "Open Record",
2281
+ "selection": "Select runs and attempts",
2282
+ "sample-open": "Open analysis Sample",
2283
+ "report-execution": "Execute Report and read requested facts",
2284
+ });
2285
+ function formatReportProgressDuration(durationMs) {
2286
+ if (durationMs < 1000)
2287
+ return `${Math.round(durationMs)}ms`;
2288
+ return `${(durationMs / 1000).toFixed(1)}s`;
2289
+ }
2290
+ function writeReportProgress(text) {
2291
+ try {
2292
+ process.stderr.write(text);
2293
+ }
2294
+ catch {
2295
+ // Progress is diagnostic only; it must never alter Report execution.
2296
+ }
2297
+ }
2298
+ const cliProgressFrames = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
2299
+ /**
2300
+ * Keeps interactive progress on one terminal line, while preserving plain
2301
+ * line-oriented diagnostics when stderr is redirected to a file or CI log.
2302
+ */
2303
+ class CliReportProgress {
2304
+ active;
2305
+ start(label) {
2306
+ if (!process.stderr.isTTY) {
2307
+ writeReportProgress(`⠋ ${label}…\n`);
2308
+ return () => undefined;
2309
+ }
2310
+ if (this.active !== undefined)
2311
+ clearInterval(this.active.timer);
2312
+ let frame = 0;
2313
+ const render = () => writeReportProgress(`\r\u001b[2K${cliProgressFrames[frame++ % cliProgressFrames.length]} ${label}…`);
2314
+ render();
2315
+ const timer = setInterval(render, 80);
2316
+ const active = { label, timer };
2317
+ this.active = active;
2318
+ return () => {
2319
+ if (this.active !== active)
2320
+ return;
2321
+ clearInterval(timer);
2322
+ this.active = undefined;
2323
+ };
2324
+ }
2325
+ complete(label, text) {
2326
+ if (process.stderr.isTTY) {
2327
+ if (this.active?.label === label) {
2328
+ clearInterval(this.active.timer);
2329
+ this.active = undefined;
2330
+ }
2331
+ writeReportProgress(`\r\u001b[2K${text}\n`);
2332
+ return;
2333
+ }
2334
+ writeReportProgress(`${text}\n`);
2335
+ }
2336
+ }
2337
+ function makeCliReportProgress(rootPath, progress) {
2338
+ return Object.freeze({
2339
+ report: (event) => {
2340
+ const label = event.phase === "record-open"
2341
+ ? `${reportHostPhaseLabels[event.phase]} (${rootPath})`
2342
+ : reportHostPhaseLabels[event.phase];
2343
+ if (event.type === "start") {
2344
+ progress.start(label);
2345
+ return;
2346
+ }
2347
+ const marker = event.outcome === "success" ? "✓" : "×";
2348
+ const outcome = event.outcome === "success" ? "" : ` · ${event.outcome}`;
2349
+ progress.complete(label, `${marker} ${label} (${formatReportProgressDuration(event.durationMs)}${outcome})`);
2350
+ },
2351
+ });
2352
+ }
2353
+ function cliPhaseOutcome(exit) {
2354
+ if (effect_1.Exit.isSuccess(exit))
2355
+ return "success";
2356
+ if (effect_1.Cause.isInterruptedOnly(exit.cause))
2357
+ return "interrupted";
2358
+ return effect_1.Cause.defects(exit.cause).pipe((defects) => defects.length > 0) ? "defect" : "failure";
2359
+ }
2360
+ function withCliReportPhase(progress, label, effect) {
2361
+ return effect_1.Effect.gen(function* () {
2362
+ const startedAt = yield* effect_1.Clock.currentTimeNanos;
2363
+ const stopProgress = yield* effect_1.Effect.sync(() => progress.start(label));
2364
+ return yield* effect.pipe(effect_1.Effect.onExit((exit) => effect_1.Effect.gen(function* () {
2365
+ const completedAt = yield* effect_1.Clock.currentTimeNanos;
2366
+ const durationMs = Math.max(0, Number(completedAt - startedAt) / 1000000);
2367
+ const outcome = cliPhaseOutcome(exit);
2368
+ const marker = outcome === "success" ? "✓" : "×";
2369
+ const detail = outcome === "success" ? "" : ` · ${outcome}`;
2370
+ yield* effect_1.Effect.sync(() => {
2371
+ stopProgress();
2372
+ progress.complete(label, `${marker} ${label} (${formatReportProgressDuration(durationMs)}${detail})`);
2373
+ });
2374
+ })));
2375
+ });
2376
+ }
2214
2377
  function runShowCommand(cwd, positionals, flags) {
2215
2378
  return effect_1.Effect.gen(function* () {
2379
+ const progress = new CliReportProgress();
2216
2380
  const request = yield* effect_1.Effect.try({
2217
2381
  try: () => parseReportCliRequest({ command: "show", cwd, positionals, flags }),
2218
2382
  catch: (cause) => cliFailure("parse show arguments", cause),
2219
2383
  });
2220
- const inputs = yield* loadCliReportInputs(request);
2221
- const execution = yield* executeCliReport(request, inputs);
2222
- yield* requireKnownReportPage(execution, request.page);
2223
- yield* (0, index_ts_3.showReport)({
2224
- execution,
2225
- ...(flags.json ? { format: "json" } : {}),
2226
- ...(request.page === undefined ? {} : { page: request.page }),
2227
- }).pipe(effect_1.Effect.provideService(index_ts_3.ReportConsole, cliReportConsole), effect_1.Effect.mapError((error) => cliFailure("render Report show output", error)));
2384
+ const inputs = yield* withCliReportPhase(progress, "Load project, config, Report, and Theme", loadCliReportInputs(request));
2385
+ const textProjection = flags.json
2386
+ ? undefined
2387
+ : (0, panel_ts_1.panelCapabilityOf)({
2388
+ isTTY: process.stdout.isTTY,
2389
+ width: process.stdout.columns,
2390
+ });
2391
+ const show = request.target.kind === "attempt"
2392
+ ? index_ts_3.reportHost.show({
2393
+ root: request.root,
2394
+ locator: request.target.locator,
2395
+ report: inputs.report,
2396
+ ...(request.page === undefined ? {} : { route: request.page }),
2397
+ ...(textProjection === undefined ? {} : { textProjection: { width: textProjection.width, panelMode: textProjection.mode } }),
2398
+ format: flags.json ? "json" : "text",
2399
+ })
2400
+ : index_ts_3.reportHost.show({
2401
+ root: request.root,
2402
+ selection: request.target.kind === "selection"
2403
+ ? request.target.selection
2404
+ : inputs.projectCurrentSelection,
2405
+ report: inputs.report,
2406
+ ...(request.page === undefined ? {} : { route: request.page }),
2407
+ ...(textProjection === undefined ? {} : { textProjection: { width: textProjection.width, panelMode: textProjection.mode } }),
2408
+ format: flags.json ? "json" : "text",
2409
+ });
2410
+ const output = yield* show.pipe(effect_1.Effect.provideService(progress_ts_1.ReportHostProgressObserver, makeCliReportProgress(request.rootPath, progress)), effect_1.Effect.mapError(reportExecutionFailure));
2411
+ yield* cliReportConsole.write(output).pipe(effect_1.Effect.mapError((error) => cliFailure("render Report show output", error)));
2228
2412
  return 0;
2229
2413
  });
2230
2414
  }
2231
2415
  function runViewCommand(cwd, positionals, flags) {
2232
2416
  return effect_1.Effect.gen(function* () {
2417
+ const progress = new CliReportProgress();
2233
2418
  const request = yield* effect_1.Effect.try({
2234
2419
  try: () => parseReportCliRequest({ command: "view", cwd, positionals, flags }),
2235
2420
  catch: (cause) => cliFailure("parse view arguments", cause),
2236
2421
  });
2237
- const initialInputs = yield* loadCliReportInputs(request);
2238
- const initial = yield* executeCliReport(request, initialInputs);
2239
- yield* requireKnownReportPage(initial, request.page);
2240
2422
  if (flags.out !== undefined) {
2241
2423
  if (flags.out.trim() === "") {
2242
2424
  return yield* effect_1.Effect.fail(usageError("--out requires a target directory.\n"));
@@ -2244,32 +2426,34 @@ function runViewCommand(cwd, positionals, flags) {
2244
2426
  if (flags.port !== undefined || flags.host !== undefined || flags.open === true) {
2245
2427
  return yield* effect_1.Effect.fail(usageError("view --out does not start a server; remove --port, --host, and --open.\n"));
2246
2428
  }
2247
- const receipt = yield* (0, index_ts_3.exportStaticReport)({
2248
- execution: initial,
2429
+ if (request.page !== undefined) {
2430
+ return yield* effect_1.Effect.fail(usageError("view --out does not accept --page.\n"));
2431
+ }
2432
+ const inputs = yield* withCliReportPhase(progress, "Load project, config, Report, and Theme", loadCliReportInputs(request));
2433
+ const revision = yield* buildCliReportSite(request, inputs).pipe(effect_1.Effect.provideService(progress_ts_1.ReportHostProgressObserver, makeCliReportProgress(request.rootPath, progress)));
2434
+ const receipt = yield* withCliReportPhase(progress, "Export static report site", index_ts_3.reportHost.export({
2435
+ revision,
2249
2436
  out: (0, node_path_1.resolve)(cwd, flags.out),
2250
- theme: initialInputs.theme,
2251
- }).pipe(effect_1.Effect.provideService(index_ts_3.ReportFileSystem, (0, node_ts_1.makeNodeReportFileSystem)()), effect_1.Effect.mapError((error) => staticExportFailure(error, (0, node_path_1.resolve)(cwd, flags.out))));
2437
+ }).pipe(effect_1.Effect.provideService(static_ts_1.ReportFileSystem, (0, node_ts_1.makeNodeReportFileSystem)()), effect_1.Effect.mapError((error) => staticExportFailure(error, (0, node_path_1.resolve)(cwd, flags.out)))));
2252
2438
  yield* writeStdout(`Exported static report site: ${receipt.out}\n`);
2253
2439
  return 0;
2254
2440
  }
2441
+ const initialInputs = yield* withCliReportPhase(progress, "Load project, config, Report, and Theme", loadCliReportInputs(request));
2442
+ const initial = yield* buildCliReportSite(request, initialInputs).pipe(effect_1.Effect.provideService(progress_ts_1.ReportHostProgressObserver, makeCliReportProgress(request.rootPath, progress)));
2443
+ yield* requireKnownReportPage(initial, request.page);
2444
+ const buildCache = yield* makeReportViewBuildCache(request, initialInputs, initial);
2255
2445
  const { host, port } = yield* effect_1.Effect.try({
2256
2446
  try: () => ({ host: viewHost(flags.host), port: viewPort(flags.port) }),
2257
2447
  catch: (cause) => cliFailure("parse view server arguments", cause),
2258
2448
  });
2259
- const session = yield* (0, index_ts_3.openReportViewSession)({
2449
+ const server = yield* withCliReportPhase(progress, "Start HTTP server and file watcher", index_ts_3.reportHost.serve({
2260
2450
  url: `http://${host.includes(":") ? `[${host}]` : host}:${port}/`,
2261
- theme: initialInputs.theme,
2262
2451
  watchInputs: initialInputs.watchInputs,
2263
2452
  initial: effect_1.Effect.succeed(initial),
2264
- rebuild: () => rebuildReportView(request),
2265
- }).pipe(effect_1.Effect.mapError((error) => cliFailure("open report view session", error)));
2266
- // Watch set is owned by the session revision; openViewServer only transports
2267
- // fs.watch hints and replaces them after each successful rebuild.
2268
- const server = yield* (0, server_ts_1.openViewServer)({
2269
- session,
2453
+ rebuild: () => rebuildReportView(request, buildCache),
2270
2454
  host,
2271
2455
  port,
2272
- }).pipe(effect_1.Effect.mapError((error) => cliFailure("open report view", error)));
2456
+ }).pipe(effect_1.Effect.mapError((error) => cliFailure("open report view", error))));
2273
2457
  const urls = server.urls.map((url) => request.page === undefined ? url : new URL(request.page, url).toString());
2274
2458
  const url = urls[0];
2275
2459
  if (!isLoopbackViewHost(host)) {
@@ -2283,21 +2467,72 @@ function runViewCommand(cwd, positionals, flags) {
2283
2467
  return yield* effect_1.Effect.never;
2284
2468
  });
2285
2469
  }
2286
- /**
2287
- * A watcher signal is only a hint. Every refresh re-reads config plus its
2288
- * fresh author graph and Record before one completed immutable revision is
2289
- * published with its next recoverable watch set; a typed boundary failure is
2290
- * logged once and leaves last-good execution and the prior watch set.
2291
- */
2292
- function rebuildReportView(request) {
2470
+ function rebuildReportView(request, cache) {
2293
2471
  return effect_1.Effect.gen(function* () {
2294
2472
  const inputs = yield* loadCliReportInputs(request);
2295
- const execution = yield* executeCliReport(request, inputs);
2296
- yield* requireKnownReportPage(execution, request.page);
2473
+ const [snapshotIdentity, sourceFingerprint, reportInputFingerprint, themeCss] = yield* effect_1.Effect.all([
2474
+ readReportSnapshotIdentity(request, inputs),
2475
+ fingerprintReportSourceInputs(inputs.sourceWatchInputs),
2476
+ fingerprintReportSourceInputs(inputs.reportWatchInputs),
2477
+ closeReportThemeStylesheet(inputs.theme),
2478
+ ]);
2479
+ const pageIdentity = reportPageCacheIdentity(request, inputs, {
2480
+ snapshotIdentity,
2481
+ reportInputs: reportInputFingerprint,
2482
+ });
2483
+ const themeIdentity = reportCacheBytesIdentity(themeCss);
2484
+ const cachedPages = cache.pageBytes;
2485
+ const reusePages = cachedPages !== undefined &&
2486
+ snapshotIdentity === cache.snapshotIdentity &&
2487
+ pageIdentity !== undefined && pageIdentity === cache.pageIdentity;
2488
+ const exactNoop = reusePages && themeIdentity === cache.themeIdentity &&
2489
+ sameReportInputFingerprint(sourceFingerprint, cache.sourceFingerprint);
2490
+ let revision;
2491
+ let pageBytes;
2492
+ if (exactNoop) {
2493
+ revision = cache.revision;
2494
+ pageBytes = cachedPages;
2495
+ }
2496
+ else if (reusePages && themeIdentity !== cache.themeIdentity) {
2497
+ const rethemed = (0, report_view_cache_ts_1.rethemeClosedReportPageBytes)(cachedPages, themeCss, static_ts_1.signClosedSiteRevision);
2498
+ if (rethemed === undefined) {
2499
+ revision = yield* buildCliReportSite(request, inputs);
2500
+ pageBytes = (0, report_view_cache_ts_1.closeReportPageBytes)(revision, {
2501
+ selectionIdentity: reportSelectionCacheIdentity(request, inputs),
2502
+ themeIdentity,
2503
+ });
2504
+ }
2505
+ else {
2506
+ revision = rethemed;
2507
+ pageBytes = (0, report_view_cache_ts_1.closeReportPageBytes)(revision, {
2508
+ selectionIdentity: reportSelectionCacheIdentity(request, inputs),
2509
+ themeIdentity,
2510
+ });
2511
+ }
2512
+ }
2513
+ else {
2514
+ revision = yield* buildCliReportSite(request, inputs);
2515
+ pageBytes = (0, report_view_cache_ts_1.closeReportPageBytes)(revision, {
2516
+ selectionIdentity: reportSelectionCacheIdentity(request, inputs),
2517
+ themeIdentity,
2518
+ });
2519
+ }
2520
+ yield* requireKnownReportPage(revision, request.page);
2521
+ cache.revision = revision;
2522
+ cache.pageBytes = pageBytes;
2523
+ cache.watchInputs = inputs.watchInputs;
2524
+ cache.sourceFingerprint = sourceFingerprint;
2525
+ cache.snapshotIdentity = pageBytes?.sampleIdentity ?? snapshotIdentity;
2526
+ cache.pageIdentity = pageBytes === undefined
2527
+ ? undefined
2528
+ : reportPageCacheIdentity(request, inputs, {
2529
+ snapshotIdentity: pageBytes.sampleIdentity,
2530
+ reportInputs: reportInputFingerprint,
2531
+ });
2532
+ cache.themeIdentity = themeIdentity;
2297
2533
  return Object.freeze({
2298
- kind: "execution",
2299
- execution,
2300
- theme: inputs.theme,
2534
+ kind: "site",
2535
+ site: revision,
2301
2536
  watchInputs: inputs.watchInputs,
2302
2537
  });
2303
2538
  }).pipe(effect_1.Effect.catchAll((failure) => {
@@ -2305,6 +2540,144 @@ function rebuildReportView(request) {
2305
2540
  return writeStderr(`view rebuild failed: ${problem.summary}\n`).pipe(effect_1.Effect.zipRight(effect_1.Effect.fail(problem)));
2306
2541
  }));
2307
2542
  }
2543
+ function makeReportViewBuildCache(request, inputs, revision) {
2544
+ return effect_1.Effect.gen(function* () {
2545
+ const [sourceFingerprint, reportInputFingerprint, themeCss] = yield* effect_1.Effect.all([
2546
+ fingerprintReportSourceInputs(inputs.sourceWatchInputs),
2547
+ fingerprintReportSourceInputs(inputs.reportWatchInputs),
2548
+ closeReportThemeStylesheet(inputs.theme),
2549
+ ]);
2550
+ const themeIdentity = reportCacheBytesIdentity(themeCss);
2551
+ const selectionIdentity = reportSelectionCacheIdentity(request, inputs);
2552
+ const pageBytes = (0, report_view_cache_ts_1.closeReportPageBytes)(revision, { selectionIdentity, themeIdentity });
2553
+ const pageIdentity = reportPageCacheIdentity(request, inputs, {
2554
+ snapshotIdentity: pageBytes?.sampleIdentity ?? "",
2555
+ reportInputs: reportInputFingerprint,
2556
+ });
2557
+ return {
2558
+ revision,
2559
+ ...(pageBytes === undefined ? {} : { pageBytes }),
2560
+ watchInputs: inputs.watchInputs,
2561
+ sourceFingerprint,
2562
+ snapshotIdentity: pageBytes?.sampleIdentity ?? "",
2563
+ ...(pageBytes === undefined || pageIdentity === undefined ? {} : { pageIdentity }),
2564
+ themeIdentity,
2565
+ };
2566
+ });
2567
+ }
2568
+ function sameReportInputFingerprint(left, right) {
2569
+ return left.complete && right.complete && left.digest === right.digest;
2570
+ }
2571
+ function reportPageCacheIdentity(request, inputs, input) {
2572
+ if (input.snapshotIdentity.length === 0 || !input.reportInputs.complete)
2573
+ return undefined;
2574
+ return (0, node_crypto_1.createHash)("sha256").update(JSON.stringify([
2575
+ "niceeval.report-page-bytes/v1",
2576
+ static_ts_1.REPORT_STATIC_RENDERER,
2577
+ input.snapshotIdentity,
2578
+ input.reportInputs.digest,
2579
+ (0, execute_ts_1.reportDefinitionIdentity)(inputs.report),
2580
+ reportSelectionCacheIdentity(request, inputs),
2581
+ ])).digest("hex");
2582
+ }
2583
+ function reportCacheBytesIdentity(bytes) {
2584
+ return (0, node_crypto_1.createHash)("sha256").update(bytes).digest("hex");
2585
+ }
2586
+ /** Delegates the exact Theme stylesheet closure to the static Host. */
2587
+ function closeReportThemeStylesheet(theme) {
2588
+ return effect_1.Effect.try({
2589
+ try: () => (0, static_ts_1.closeStaticThemeStylesheet)(theme),
2590
+ catch: (cause) => cliFailure("close Report theme stylesheet", cause),
2591
+ });
2592
+ }
2593
+ /**
2594
+ * The Host owns Record selection, project-current narrowing, and semantic
2595
+ * snapshot construction. This probe deliberately never opens a Sample.
2596
+ */
2597
+ function readReportSnapshotIdentity(request, inputs) {
2598
+ const target = request.target.kind === "attempt"
2599
+ ? Object.freeze({ root: request.root, locator: request.target.locator })
2600
+ : Object.freeze({
2601
+ root: request.root,
2602
+ selection: request.target.kind === "selection"
2603
+ ? request.target.selection
2604
+ : inputs.projectCurrentSelection,
2605
+ });
2606
+ return (0, from_record_ts_1.reportSnapshotIdentityFromRecord)(target).pipe(effect_1.Effect.mapError(reportExecutionFailure));
2607
+ }
2608
+ function reportSelectionCacheIdentity(request, inputs) {
2609
+ const target = request.target.kind === "project-current"
2610
+ ? inputs.projectCurrentSelection
2611
+ : request.target;
2612
+ return (0, node_crypto_1.createHash)("sha256").update(JSON.stringify(target)).digest("hex");
2613
+ }
2614
+ /**
2615
+ * A source-watch signal is only a hint. This digest deliberately excludes the
2616
+ * Record root: selected Record equivalence comes only from the Host-owned
2617
+ * semantic snapshot probe. Links and special files make the result incomplete,
2618
+ * so unprovable input can never produce an exact no-op; a missing optional
2619
+ * path is a complete, watchable source-state observation.
2620
+ */
2621
+ function fingerprintReportSourceInputs(paths) {
2622
+ return effect_1.Effect.tryPromise({
2623
+ try: async () => {
2624
+ const hash = (0, node_crypto_1.createHash)("sha256");
2625
+ const visited = new Set();
2626
+ let complete = true;
2627
+ const visit = async (path) => {
2628
+ const absolute = (0, node_path_1.resolve)(path);
2629
+ if (visited.has(absolute))
2630
+ return;
2631
+ visited.add(absolute);
2632
+ let info;
2633
+ try {
2634
+ info = await (0, promises_1.lstat)(absolute);
2635
+ }
2636
+ catch (cause) {
2637
+ if (typeof cause === "object" && cause !== null && Reflect.get(cause, "code") === "ENOENT") {
2638
+ // An absent optional config/module entry is itself a complete
2639
+ // source-state observation. A later creation emits a watcher
2640
+ // signal and changes this digest.
2641
+ hash.update(`missing\0${absolute}\0`);
2642
+ return;
2643
+ }
2644
+ throw cause;
2645
+ }
2646
+ hash.update(`path\0${absolute}\0`);
2647
+ if (info.isSymbolicLink()) {
2648
+ complete = false;
2649
+ hash.update(`link\0${await (0, promises_1.readlink)(absolute)}\0`);
2650
+ return;
2651
+ }
2652
+ if (info.isFile()) {
2653
+ hash.update("file\0");
2654
+ hash.update(await (0, promises_1.readFile)(absolute));
2655
+ hash.update("\0");
2656
+ return;
2657
+ }
2658
+ if (!info.isDirectory()) {
2659
+ complete = false;
2660
+ hash.update(`opaque\0${info.mode}\0`);
2661
+ return;
2662
+ }
2663
+ hash.update("directory\0");
2664
+ const names = (await (0, promises_1.readdir)(absolute)).sort();
2665
+ for (const name of names)
2666
+ yieldName(hash, name);
2667
+ for (const name of names)
2668
+ await visit((0, node_path_1.join)(absolute, name));
2669
+ };
2670
+ for (const path of [...new Set(paths.map((entry) => (0, node_path_1.resolve)(entry)))].sort()) {
2671
+ await visit(path);
2672
+ }
2673
+ return Object.freeze({ digest: hash.digest("hex"), complete });
2674
+ },
2675
+ catch: (cause) => cliFailure("fingerprint Report source inputs", cause),
2676
+ });
2677
+ }
2678
+ function yieldName(hash, name) {
2679
+ hash.update(`entry\0${name}\0`);
2680
+ }
2308
2681
  function staticExportFailure(error, out) {
2309
2682
  if (failureCode(error) === "report-export-target-exists") {
2310
2683
  return usageError(`report-export-target-exists\nRemove ${out} before retrying.\n`);
@@ -2321,7 +2694,7 @@ function isLoopbackViewHost(host) {
2321
2694
  return host === "127.0.0.1" || host === "::1" || host === "localhost";
2322
2695
  }
2323
2696
  function viewPort(value) {
2324
- const port = value ?? 4173;
2697
+ const port = value ?? 0;
2325
2698
  if (!Number.isInteger(port) || port < 0 || port > 65535) {
2326
2699
  throw usageError(`--port must be an integer from 0 through 65535, got ${port}.\n`);
2327
2700
  }