niceeval 0.12.2-canary.31 → 0.13.0

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 (2039) 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 +609 -245
  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 +457 -1238
  1215. package/dist/report/host/execute.cjs.map +1 -1
  1216. package/dist/report/host/execute.d.cts +66 -19
  1217. package/dist/report/host/execute.d.mts +66 -19
  1218. package/dist/report/host/execute.d.ts +66 -19
  1219. package/dist/report/host/execute.js +10 -2
  1220. package/dist/report/host/from-record.cjs +441 -27
  1221. package/dist/report/host/from-record.cjs.map +1 -1
  1222. package/dist/report/host/from-record.d.cts +62 -30
  1223. package/dist/report/host/from-record.d.mts +62 -30
  1224. package/dist/report/host/from-record.d.ts +62 -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 +317 -0
  1405. package/dist/report/runtime/resolved-page.cjs.map +1 -0
  1406. package/dist/report/runtime/resolved-page.d.cts +133 -0
  1407. package/dist/report/runtime/resolved-page.d.mts +133 -0
  1408. package/dist/report/runtime/resolved-page.d.ts +133 -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 +32 -0
  1412. package/dist/report/runtime/text.cjs.map +1 -0
  1413. package/dist/report/runtime/text.d.cts +24 -0
  1414. package/dist/report/runtime/text.d.mts +24 -0
  1415. package/dist/report/runtime/text.d.ts +24 -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 +7 -8
  1754. package/docs-site/zh/index.mdx +1 -1
  1755. package/docs-site/zh/introduction.mdx +1 -1
  1756. package/docs-site/zh/reference/cli.mdx +16 -19
  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 +6 -3
  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 +4 -4
  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/connect-your-agent.mdx +2 -2
  1769. package/docs-site/zh/tutorials/custom-reports.mdx +148 -76
  1770. package/docs-site/zh/tutorials/deploy-report-site.mdx +14 -17
  1771. package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
  1772. package/docs-site/zh/tutorials/fixtures.mdx +5 -5
  1773. package/docs-site/zh/tutorials/handle-execution-failures.mdx +1 -1
  1774. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +1 -1
  1775. package/docs-site/zh/tutorials/publish-report.mdx +28 -28
  1776. package/docs-site/zh/tutorials/quickstart.mdx +2 -2
  1777. package/docs-site/zh/tutorials/reporters.mdx +4 -4
  1778. package/docs-site/zh/tutorials/rerun-and-cache.mdx +5 -5
  1779. package/docs-site/zh/tutorials/sandbox-agent.mdx +2 -2
  1780. package/docs-site/zh/tutorials/sandbox-providers.mdx +3 -3
  1781. package/docs-site/zh/tutorials/theming.mdx +47 -19
  1782. package/docs-site/zh/tutorials/viewing-results.mdx +43 -80
  1783. package/docs-site/zh/tutorials/write-experiment.mdx +16 -11
  1784. package/docs-site/zh/tutorials/write-send.mdx +11 -3
  1785. package/package.json +83 -11
  1786. package/dist/assertions/record/diff-model.cjs +0 -120
  1787. package/dist/assertions/record/diff-model.cjs.map +0 -1
  1788. package/dist/assertions/record/diff-model.d.cts +0 -47
  1789. package/dist/assertions/record/diff-model.d.mts +0 -47
  1790. package/dist/assertions/record/diff-model.d.ts +0 -47
  1791. package/dist/assertions/record/diff-model.js +0 -12
  1792. package/dist/assertions/record/diff-model.js.map +0 -1
  1793. package/dist/projection/attachment-result.cjs +0 -50
  1794. package/dist/projection/attachment-result.cjs.map +0 -1
  1795. package/dist/projection/attachment-result.d.cts +0 -38
  1796. package/dist/projection/attachment-result.d.mts +0 -38
  1797. package/dist/projection/attachment-result.d.ts +0 -38
  1798. package/dist/projection/attachment-result.js +0 -6
  1799. package/dist/projection/attachment-result.js.map +0 -1
  1800. package/dist/projection/attempt-selection.cjs +0 -87
  1801. package/dist/projection/attempt-selection.cjs.map +0 -1
  1802. package/dist/projection/attempt-selection.d.cts +0 -40
  1803. package/dist/projection/attempt-selection.d.mts +0 -40
  1804. package/dist/projection/attempt-selection.d.ts +0 -40
  1805. package/dist/projection/attempt-selection.js +0 -8
  1806. package/dist/projection/attempt-selection.js.map +0 -1
  1807. package/dist/projection/coverage.cjs +0 -106
  1808. package/dist/projection/coverage.cjs.map +0 -1
  1809. package/dist/projection/coverage.d.cts +0 -43
  1810. package/dist/projection/coverage.d.mts +0 -43
  1811. package/dist/projection/coverage.d.ts +0 -43
  1812. package/dist/projection/coverage.js +0 -6
  1813. package/dist/projection/coverage.js.map +0 -1
  1814. package/dist/projection/index.cjs +0 -36
  1815. package/dist/projection/index.cjs.map +0 -1
  1816. package/dist/projection/index.d.cts +0 -25
  1817. package/dist/projection/index.d.mts +0 -25
  1818. package/dist/projection/index.d.ts +0 -25
  1819. package/dist/projection/index.js +0 -46
  1820. package/dist/projection/index.mjs +0 -46
  1821. package/dist/projection/model.cjs +0 -3
  1822. package/dist/projection/model.cjs.map +0 -1
  1823. package/dist/projection/model.d.cts +0 -49
  1824. package/dist/projection/model.d.mts +0 -49
  1825. package/dist/projection/model.d.ts +0 -49
  1826. package/dist/projection/model.js +0 -4
  1827. package/dist/projection/model.js.map +0 -1
  1828. package/dist/projection/projector.cjs +0 -111
  1829. package/dist/projection/projector.cjs.map +0 -1
  1830. package/dist/projection/projector.d.cts +0 -51
  1831. package/dist/projection/projector.d.mts +0 -51
  1832. package/dist/projection/projector.d.ts +0 -51
  1833. package/dist/projection/projector.js +0 -16
  1834. package/dist/projection/projector.js.map +0 -1
  1835. package/dist/projection/runtime.cjs +0 -246
  1836. package/dist/projection/runtime.cjs.map +0 -1
  1837. package/dist/projection/runtime.d.cts +0 -14
  1838. package/dist/projection/runtime.d.mts +0 -14
  1839. package/dist/projection/runtime.d.ts +0 -14
  1840. package/dist/projection/runtime.js +0 -6
  1841. package/dist/record/migration/errors.cjs +0 -68
  1842. package/dist/record/migration/errors.cjs.map +0 -1
  1843. package/dist/record/migration/errors.d.cts +0 -73
  1844. package/dist/record/migration/errors.d.mts +0 -73
  1845. package/dist/record/migration/errors.d.ts +0 -73
  1846. package/dist/record/migration/errors.js +0 -22
  1847. package/dist/record/migration/errors.js.map +0 -1
  1848. package/dist/record/migration/identity.cjs +0 -27
  1849. package/dist/record/migration/identity.cjs.map +0 -1
  1850. package/dist/record/migration/identity.d.cts +0 -5
  1851. package/dist/record/migration/identity.d.mts +0 -5
  1852. package/dist/record/migration/identity.d.ts +0 -5
  1853. package/dist/record/migration/identity.js +0 -8
  1854. package/dist/record/migration/internal.cjs +0 -3
  1855. package/dist/record/migration/internal.cjs.map +0 -1
  1856. package/dist/record/migration/internal.d.cts +0 -111
  1857. package/dist/record/migration/internal.d.mts +0 -111
  1858. package/dist/record/migration/internal.d.ts +0 -111
  1859. package/dist/record/migration/internal.js +0 -4
  1860. package/dist/record/migration/internal.js.map +0 -1
  1861. package/dist/record/migration/orchestrate.cjs +0 -368
  1862. package/dist/record/migration/orchestrate.cjs.map +0 -1
  1863. package/dist/record/migration/orchestrate.d.cts +0 -113
  1864. package/dist/record/migration/orchestrate.d.mts +0 -113
  1865. package/dist/record/migration/orchestrate.d.ts +0 -113
  1866. package/dist/record/migration/orchestrate.js +0 -16
  1867. package/dist/record/migration/orchestrate.js.map +0 -1
  1868. package/dist/record/migration/plan.cjs +0 -63
  1869. package/dist/record/migration/plan.cjs.map +0 -1
  1870. package/dist/record/migration/plan.d.cts +0 -32
  1871. package/dist/record/migration/plan.d.mts +0 -32
  1872. package/dist/record/migration/plan.d.ts +0 -32
  1873. package/dist/record/migration/plan.js +0 -10
  1874. package/dist/record/migration/plan.js.map +0 -1
  1875. package/dist/record/migration/registry.cjs +0 -150
  1876. package/dist/record/migration/registry.cjs.map +0 -1
  1877. package/dist/record/migration/registry.d.cts +0 -61
  1878. package/dist/record/migration/registry.d.mts +0 -61
  1879. package/dist/record/migration/registry.d.ts +0 -61
  1880. package/dist/record/migration/registry.js +0 -14
  1881. package/dist/record/migration/registry.js.map +0 -1
  1882. package/dist/record/migration/storage.cjs +0 -382
  1883. package/dist/record/migration/storage.cjs.map +0 -1
  1884. package/dist/record/migration/storage.d.cts +0 -18
  1885. package/dist/record/migration/storage.d.mts +0 -18
  1886. package/dist/record/migration/storage.d.ts +0 -18
  1887. package/dist/record/migration/storage.js +0 -6
  1888. package/dist/record/migration/storage.js.map +0 -1
  1889. package/dist/record/migration/types.cjs.map +0 -1
  1890. package/dist/record/migration/types.d.cts +0 -16
  1891. package/dist/record/migration/types.d.mts +0 -16
  1892. package/dist/record/migration/types.d.ts +0 -16
  1893. package/dist/record/reader/internal.cjs +0 -17
  1894. package/dist/record/reader/internal.cjs.map +0 -1
  1895. package/dist/record/reader/internal.d.cts +0 -26
  1896. package/dist/record/reader/internal.d.mts +0 -26
  1897. package/dist/record/reader/internal.d.ts +0 -26
  1898. package/dist/record/reader/internal.js +0 -8
  1899. package/dist/record/reader/internal.js.map +0 -1
  1900. package/dist/record/writer/runtime.cjs +0 -656
  1901. package/dist/record/writer/runtime.cjs.map +0 -1
  1902. package/dist/record/writer/runtime.d.cts +0 -7
  1903. package/dist/record/writer/runtime.d.mts +0 -7
  1904. package/dist/record/writer/runtime.d.ts +0 -7
  1905. package/dist/record/writer/runtime.js +0 -6
  1906. package/dist/report/author/identity.cjs +0 -268
  1907. package/dist/report/author/identity.cjs.map +0 -1
  1908. package/dist/report/author/identity.d.cts +0 -75
  1909. package/dist/report/author/identity.d.mts +0 -75
  1910. package/dist/report/author/identity.d.ts +0 -75
  1911. package/dist/report/author/identity.js +0 -34
  1912. package/dist/report/author/identity.js.map +0 -1
  1913. package/dist/report/author/index.cjs +0 -19
  1914. package/dist/report/author/index.cjs.map +0 -1
  1915. package/dist/report/author/index.d.cts +0 -4
  1916. package/dist/report/author/index.d.mts +0 -4
  1917. package/dist/report/author/index.d.ts +0 -4
  1918. package/dist/report/author/index.js +0 -30
  1919. package/dist/report/author/internal.cjs +0 -98
  1920. package/dist/report/author/internal.cjs.map +0 -1
  1921. package/dist/report/author/internal.d.cts +0 -91
  1922. package/dist/report/author/internal.d.mts +0 -91
  1923. package/dist/report/author/internal.d.ts +0 -91
  1924. package/dist/report/author/internal.js +0 -18
  1925. package/dist/report/author/internal.js.map +0 -1
  1926. package/dist/report/author/model.cjs +0 -467
  1927. package/dist/report/author/model.cjs.map +0 -1
  1928. package/dist/report/author/model.d.cts +0 -241
  1929. package/dist/report/author/model.d.mts +0 -241
  1930. package/dist/report/author/model.d.ts +0 -241
  1931. package/dist/report/author/model.js +0 -32
  1932. package/dist/report/author/model.js.map +0 -1
  1933. package/dist/report/execution/index.cjs +0 -20
  1934. package/dist/report/execution/index.cjs.map +0 -1
  1935. package/dist/report/execution/index.d.cts +0 -3
  1936. package/dist/report/execution/index.d.mts +0 -3
  1937. package/dist/report/execution/index.d.ts +0 -3
  1938. package/dist/report/execution/index.js +0 -30
  1939. package/dist/report/execution/problems.cjs +0 -210
  1940. package/dist/report/execution/problems.cjs.map +0 -1
  1941. package/dist/report/execution/problems.d.cts +0 -54
  1942. package/dist/report/execution/problems.d.mts +0 -54
  1943. package/dist/report/execution/problems.d.ts +0 -54
  1944. package/dist/report/execution/problems.js +0 -14
  1945. package/dist/report/execution/problems.js.map +0 -1
  1946. package/dist/report/execution/results.cjs +0 -26
  1947. package/dist/report/execution/results.cjs.map +0 -1
  1948. package/dist/report/execution/results.d.cts +0 -102
  1949. package/dist/report/execution/results.d.mts +0 -102
  1950. package/dist/report/execution/results.d.ts +0 -102
  1951. package/dist/report/execution/results.js +0 -8
  1952. package/dist/report/execution/results.js.map +0 -1
  1953. package/dist/report/host/html.cjs +0 -424
  1954. package/dist/report/host/html.cjs.map +0 -1
  1955. package/dist/report/host/html.d.cts +0 -28
  1956. package/dist/report/host/html.d.mts +0 -28
  1957. package/dist/report/host/html.d.ts +0 -28
  1958. package/dist/report/host/html.js +0 -6
  1959. package/dist/report/host/html.js.map +0 -1
  1960. package/dist/report/host/node/theme.cjs +0 -21
  1961. package/dist/report/host/node/theme.cjs.map +0 -1
  1962. package/dist/report/host/node/theme.d.cts +0 -1
  1963. package/dist/report/host/node/theme.d.mts +0 -1
  1964. package/dist/report/host/node/theme.d.ts +0 -1
  1965. package/dist/report/host/node/theme.js +0 -14
  1966. package/dist/report/host/presentation.cjs +0 -423
  1967. package/dist/report/host/presentation.cjs.map +0 -1
  1968. package/dist/report/host/presentation.d.cts +0 -42
  1969. package/dist/report/host/presentation.d.mts +0 -42
  1970. package/dist/report/host/presentation.d.ts +0 -42
  1971. package/dist/report/host/presentation.js +0 -16
  1972. package/dist/report/host/theme.cjs +0 -223
  1973. package/dist/report/host/theme.cjs.map +0 -1
  1974. package/dist/report/host/theme.d.cts +0 -64
  1975. package/dist/report/host/theme.d.mts +0 -64
  1976. package/dist/report/host/theme.d.ts +0 -64
  1977. package/dist/report/host/theme.js +0 -14
  1978. package/dist/report/host/theme.js.map +0 -1
  1979. package/dist/report/semantic/document.cjs +0 -593
  1980. package/dist/report/semantic/document.cjs.map +0 -1
  1981. package/dist/report/semantic/document.d.cts +0 -162
  1982. package/dist/report/semantic/document.d.mts +0 -162
  1983. package/dist/report/semantic/document.d.ts +0 -162
  1984. package/dist/report/semantic/document.js +0 -38
  1985. package/dist/report/semantic/document.js.map +0 -1
  1986. package/dist/report/semantic/index.cjs +0 -18
  1987. package/dist/report/semantic/index.cjs.map +0 -1
  1988. package/dist/report/semantic/index.d.cts +0 -1
  1989. package/dist/report/semantic/index.d.mts +0 -1
  1990. package/dist/report/semantic/index.d.ts +0 -1
  1991. package/dist/report/semantic/index.js +0 -38
  1992. package/dist/shared/facts.cjs +0 -24
  1993. package/dist/shared/facts.cjs.map +0 -1
  1994. package/dist/shared/facts.d.cts +0 -7
  1995. package/dist/shared/facts.d.mts +0 -7
  1996. package/dist/shared/facts.d.ts +0 -7
  1997. package/dist/shared/facts.js +0 -6
  1998. package/dist/shared/facts.js.map +0 -1
  1999. package/dist/show/json.cjs +0 -8
  2000. package/dist/show/json.cjs.map +0 -1
  2001. package/dist/show/json.d.cts +0 -2
  2002. package/dist/show/json.d.mts +0 -2
  2003. package/dist/show/json.d.ts +0 -2
  2004. package/dist/show/json.js +0 -8
  2005. package/dist/show/json.js.map +0 -1
  2006. package/dist/show/render.cjs +0 -7
  2007. package/dist/show/render.cjs.map +0 -1
  2008. package/dist/show/render.d.cts +0 -2
  2009. package/dist/show/render.d.mts +0 -2
  2010. package/dist/show/render.d.ts +0 -2
  2011. package/dist/show/render.js +0 -6
  2012. package/dist/show/render.js.map +0 -1
  2013. package/dist/sources/assemble.cjs +0 -634
  2014. package/dist/sources/assemble.cjs.map +0 -1
  2015. package/dist/sources/assemble.d.cts +0 -6
  2016. package/dist/sources/assemble.d.mts +0 -6
  2017. package/dist/sources/assemble.d.ts +0 -6
  2018. package/dist/sources/assemble.js +0 -6
  2019. package/dist/sources/assemble.js.map +0 -1
  2020. package/dist/sources/projection-model.cjs +0 -3
  2021. package/dist/sources/projection-model.cjs.map +0 -1
  2022. package/dist/sources/projection-model.d.cts +0 -327
  2023. package/dist/sources/projection-model.d.mts +0 -327
  2024. package/dist/sources/projection-model.d.ts +0 -327
  2025. package/dist/sources/projection-model.js +0 -4
  2026. package/dist/sources/projection-model.js.map +0 -1
  2027. /package/dist/{projection → coordination/host}/index.js.map +0 -0
  2028. /package/dist/{projection → coordination/host}/index.mjs.map +0 -0
  2029. /package/dist/{projection → coordination/host}/runtime.js.map +0 -0
  2030. /package/dist/{record/migration → coordination/host}/types.cjs +0 -0
  2031. /package/dist/{record/migration → coordination/host}/types.js +0 -0
  2032. /package/dist/{record/migration → coordination/host}/types.js.map +0 -0
  2033. /package/dist/{record/migration → coordination}/identity.js.map +0 -0
  2034. /package/dist/{report/author → coordination}/index.js.map +0 -0
  2035. /package/dist/{report/execution → coordination/platform}/index.js.map +0 -0
  2036. /package/dist/{report/semantic → experiment/host}/index.js.map +0 -0
  2037. /package/dist/record/{writer → host}/runtime.js.map +0 -0
  2038. /package/dist/report/{host/presentation.js.map → presentation.js.map} +0 -0
  2039. /package/dist/report/{host/node/theme.js.map → theme.js.map} +0 -0
@@ -0,0 +1,2678 @@
1
+ /*
2
+ * niceeval/report/react/styles.css —— 随包发布的默认样式。
3
+ * 契约(docs/feature/reports/library.md):
4
+ * - 所有节点都有稳定的 niceeval-* 类名;这份 CSS + 类名 = 静态页零依赖成立;
5
+ * - 外观全部经公开令牌进来:每个用点读 var(--niceeval-*, <兜底>),本文件不声明
6
+ * 任何 --niceeval-* 变量,主题/宿主的令牌块因此直接生效;
7
+ * - 兜底值 = 内建主题 basalt(src/report/theme.ts 单源),由
8
+ * test/unit/report-theme-tokens.test.ts 守护逐项相等:不装主题 = 装 basalt;
9
+ * - SVG 图形零内联 hex:挂 niceeval-series-cN 类,由 --series 上色。
10
+ */
11
+
12
+ .niceeval-report {
13
+ /* 公开令牌折成私有短名,用点只读短名。改观感改主题,不改这里的兜底。 */
14
+ color-scheme: dark; /* basalt 锁暗;主题令牌块在级联后位以同名规则覆盖 */
15
+ --page: var(--niceeval-color-page, #050505);
16
+ --panel: var(--niceeval-color-surface, #0b0b0b);
17
+ --panel-2: var(--niceeval-color-surface-subtle, #111111);
18
+ --line: var(--niceeval-color-border, #262626);
19
+ --line-strong: var(--niceeval-color-border-strong, #343434);
20
+ --text: var(--niceeval-color-text, #ededed);
21
+ --muted: var(--niceeval-color-text-secondary, #a1a1aa);
22
+ --soft: var(--niceeval-color-text-tertiary, #74747b);
23
+ --accent: var(--niceeval-color-accent, #cbd6dc);
24
+ --focus: var(--niceeval-color-focus, #cbd6dc);
25
+ --good: var(--niceeval-color-positive, #3ddc97);
26
+ --bad: var(--niceeval-color-negative, #ff6b6b);
27
+ --warn: var(--niceeval-color-warning, #e8b84a);
28
+
29
+ /* 六色 CVD 分类色板;colors.ts 的散列下标指到这里,顺序不重排 */
30
+ --c0: var(--niceeval-color-series-1, #3987e5);
31
+ --c1: var(--niceeval-color-series-2, #199e70);
32
+ --c2: var(--niceeval-color-series-3, #c98500);
33
+ --c3: var(--niceeval-color-series-4, #008300);
34
+ --c4: var(--niceeval-color-series-5, #e66767);
35
+ --c5: var(--niceeval-color-series-6, #d95926);
36
+ /* 系列色的缺省(无系列的点/柱):中性,不冒充身份 */
37
+ --series: var(--muted);
38
+
39
+ --radius: var(--niceeval-radius, 0);
40
+ --font-sans: var(--niceeval-font-sans, ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "PingFang SC", sans-serif);
41
+ --font-mono: var(--niceeval-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
42
+
43
+ font-family: var(--font-sans);
44
+ font-size: var(--niceeval-font-size, 13px);
45
+ line-height: 1.5;
46
+ color: var(--text);
47
+ margin: 1rem 0;
48
+ }
49
+ /* 键盘 focus 环:1px 实线,贴边不外扩 */
50
+ .niceeval-report :focus-visible { outline: 1px solid var(--focus); outline-offset: 0; }
51
+
52
+ /* ---- locator 与判定符:实体行共用的最小单元 ---- */
53
+ .niceeval-report .niceeval-locator { display:inline-flex; align-items:center; gap:4px; color:var(--accent); font-variant-numeric:tabular-nums; text-decoration:none; white-space:nowrap; }
54
+ .niceeval-report .niceeval-locator:hover { text-decoration:underline; }
55
+ /* attempt 行的判定长在 locator 上:判定符与语义色同场,不靠颜色单独表意
56
+ (docs/feature/reports/library.md) */
57
+ .niceeval-report .niceeval-locator.niceeval-verdict-passed { color: var(--good); }
58
+ .niceeval-report .niceeval-locator.niceeval-verdict-failed { color: var(--bad); }
59
+ .niceeval-report .niceeval-locator.niceeval-verdict-errored { color: var(--warn); }
60
+ .niceeval-report .niceeval-locator.niceeval-verdict-unreadable,
61
+ .niceeval-report .niceeval-locator.niceeval-verdict-skipped { color: var(--soft); }
62
+ .niceeval-report .niceeval-locator-mark { font-weight: 650; }
63
+
64
+ .niceeval-report .niceeval-missing-reason { color: var(--muted); }
65
+
66
+ /* ---- 维度键上色:同一个 key 在任何块里同色(文字) ---- */
67
+ .niceeval-report .niceeval-c0 { color: var(--c0); }
68
+ .niceeval-report .niceeval-c1 { color: var(--c1); }
69
+ .niceeval-report .niceeval-c2 { color: var(--c2); }
70
+ .niceeval-report .niceeval-c3 { color: var(--c3); }
71
+ .niceeval-report .niceeval-c4 { color: var(--c4); }
72
+ .niceeval-report .niceeval-c5 { color: var(--c5); }
73
+
74
+ /* ---- 系列上色(SVG 图形):niceeval-series-cN 设 --series,fill/stroke 走 var ---- */
75
+ .niceeval-report .niceeval-series-c0 { --series: var(--c0); }
76
+ .niceeval-report .niceeval-series-c1 { --series: var(--c1); }
77
+ .niceeval-report .niceeval-series-c2 { --series: var(--c2); }
78
+ .niceeval-report .niceeval-series-c3 { --series: var(--c3); }
79
+ .niceeval-report .niceeval-series-c4 { --series: var(--c4); }
80
+ .niceeval-report .niceeval-series-c5 { --series: var(--c5); }
81
+ .niceeval-report .niceeval-series-none { --series: var(--muted); }
82
+
83
+ /*
84
+ * HTML 横向柱的 variant 填充图案(CSS 等效 SVG <pattern>)。
85
+ * variant 1 = 实心(默认 .niceeval-chart-bar-fill);2 对角斜线 / 3 水平条纹 / 4 点阵。
86
+ * 颜色始终读 --series,换主题令牌自动换色,不写死 hex。
87
+ */
88
+ .niceeval-report .niceeval-series-fill-v2 {
89
+ background-color: transparent;
90
+ background-image: repeating-linear-gradient(
91
+ -45deg,
92
+ color-mix(in srgb, var(--series) 78%, var(--panel)),
93
+ color-mix(in srgb, var(--series) 78%, var(--panel)) 2px,
94
+ color-mix(in srgb, var(--series) 28%, var(--panel)) 2px,
95
+ color-mix(in srgb, var(--series) 28%, var(--panel)) 5px
96
+ );
97
+ }
98
+ .niceeval-report .niceeval-series-fill-v3 {
99
+ background-color: transparent;
100
+ background-image: repeating-linear-gradient(
101
+ 0deg,
102
+ color-mix(in srgb, var(--series) 78%, var(--panel)),
103
+ color-mix(in srgb, var(--series) 78%, var(--panel)) 2px,
104
+ color-mix(in srgb, var(--series) 28%, var(--panel)) 2px,
105
+ color-mix(in srgb, var(--series) 28%, var(--panel)) 5px
106
+ );
107
+ }
108
+ .niceeval-report .niceeval-series-fill-v4 {
109
+ background-color: color-mix(in srgb, var(--series) 28%, var(--panel));
110
+ background-image: radial-gradient(
111
+ circle at 25% 25%,
112
+ color-mix(in srgb, var(--series) 88%, var(--panel)) 1.2px,
113
+ transparent 1.3px
114
+ );
115
+ background-size: 6px 6px;
116
+ }
117
+
118
+ /* ---- 表格通用:圆角 panel、细分隔线、tabular-nums 数字、uppercase 小标签 ---- */
119
+ table.niceeval-report,
120
+ .niceeval-report table {
121
+ border-collapse: separate;
122
+ border-spacing: 0;
123
+ width: 100%;
124
+ border: 1px solid var(--line);
125
+ border-radius: var(--radius);
126
+ overflow: hidden;
127
+ background: var(--panel);
128
+ }
129
+ .niceeval-report th,
130
+ .niceeval-report td {
131
+ border-bottom: 1px solid var(--line);
132
+ padding: 9px 14px;
133
+ text-align: left;
134
+ vertical-align: top;
135
+ font-size: 13.5px;
136
+ }
137
+ .niceeval-report thead th {
138
+ color: var(--muted);
139
+ font-weight: 500;
140
+ font-size: 12px;
141
+ text-transform: uppercase;
142
+ letter-spacing: 0.05em;
143
+ background: var(--panel);
144
+ white-space: nowrap;
145
+ }
146
+ .niceeval-report tbody tr:last-child th,
147
+ .niceeval-report tbody tr:last-child td {
148
+ border-bottom: 0;
149
+ }
150
+ .niceeval-report tbody th[sample="row"] {
151
+ font-weight: 610;
152
+ }
153
+ .niceeval-report td {
154
+ font-variant-numeric: tabular-nums;
155
+ font-feature-settings: "tnum";
156
+ }
157
+
158
+ /* ---- <Table> 原语:作者自定义列;右对齐是 class,不是内联样式 ---- */
159
+ .niceeval-report th.niceeval-align-right,
160
+ .niceeval-report td.niceeval-align-right {
161
+ text-align: right;
162
+ }
163
+
164
+ /* ---- 渐进增强:排序指示(enhance.js 点表头时切类)与行过滤 ---- */
165
+ .niceeval-report th[data-niceeval-sort] {
166
+ cursor: pointer;
167
+ user-select: none;
168
+ }
169
+ .niceeval-report th[data-niceeval-sort]:hover { color: var(--text); }
170
+ .niceeval-report th[data-niceeval-sort]::after {
171
+ content: "↕";
172
+ margin-left: 6px;
173
+ color: var(--soft);
174
+ font-size: 11px;
175
+ opacity: 0;
176
+ }
177
+ .niceeval-report th[data-niceeval-sort]:hover::after,
178
+ .niceeval-report th[data-niceeval-sort]:focus-visible::after { opacity: 1; }
179
+ .niceeval-report th[data-niceeval-sort].niceeval-sort-asc::after { content: "↑"; color: var(--text); opacity: 1; }
180
+ .niceeval-report th[data-niceeval-sort].niceeval-sort-desc::after { content: "↓"; color: var(--text); opacity: 1; }
181
+ .niceeval-report .niceeval-row-hidden { display: none; }
182
+ /* Hierarchy rows later establish `display: grid`; this more specific rule
183
+ preserves the filter's hidden state against that layout declaration. */
184
+ .niceeval-report.niceeval-table--hierarchical .niceeval-table-hierarchy-row.niceeval-row-hidden { display: none; }
185
+
186
+ /* ---- 通用 Table 的过滤外壳与层级行 ---- */
187
+ .niceeval-table-wrap > .niceeval-filter {
188
+ display: block;
189
+ width: min(100%, 280px);
190
+ height: 34px;
191
+ min-width: 0;
192
+ margin: 0 0 12px auto;
193
+ border: 1px solid var(--line);
194
+ border-radius: var(--radius);
195
+ padding: 0 11px;
196
+ background: var(--panel);
197
+ color: var(--text);
198
+ font: inherit;
199
+ outline: none;
200
+ }
201
+ .niceeval-table-wrap > .niceeval-filter:focus { border-color: var(--line-strong); }
202
+ .niceeval-table-wrap > .niceeval-filter::placeholder { color: var(--soft); }
203
+
204
+ .niceeval-report .niceeval-cell-text { display: block; min-width: 0; }
205
+ .niceeval-report .niceeval-cell-detail {
206
+ display: block;
207
+ margin-top: 3px;
208
+ color: var(--muted);
209
+ font-size: 12px;
210
+ font-weight: 400;
211
+ }
212
+ /* 层级表:整表只有一个 grid,表头与每一层行都用 subgrid 挂在它的列上。列宽因此由全表内容
213
+ 一次算出(--table-grid 只声明"身份列吃余量、读数列贴内容"这条规则,不写每列宽度),
214
+ 跨层对齐由 subgrid 保证,不靠各行复读同一份列模板。 */
215
+ .niceeval-table--hierarchical {
216
+ display: grid;
217
+ grid-template-columns: var(--table-grid);
218
+ column-gap: 14px;
219
+ overflow-x: auto;
220
+ }
221
+ .niceeval-table--hierarchical thead,
222
+ .niceeval-table--hierarchical tbody,
223
+ .niceeval-table--hierarchical tbody > tr,
224
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-body,
225
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-children,
226
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-group,
227
+ .niceeval-table--hierarchical thead tr,
228
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary,
229
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-row:not(details) {
230
+ display: grid;
231
+ grid-template-columns: subgrid;
232
+ grid-column: 1 / -1;
233
+ }
234
+ /* Chrome 把 <details> 的非 summary 内容包进 ::details-content 匿名盒,subgrid 链要穿过它;
235
+ 没有这个伪元素的浏览器里子行容器本身就是 details 的直接 grid item,两种情形都成立。 */
236
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-group::details-content {
237
+ display: grid;
238
+ grid-template-columns: subgrid;
239
+ grid-column: 1 / -1;
240
+ }
241
+ .niceeval-table--hierarchical thead tr,
242
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary,
243
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-row:not(details) {
244
+ align-items: center;
245
+ }
246
+ .niceeval-table--hierarchical thead tr { padding: 0 20px; }
247
+ .niceeval-table--hierarchical thead th {
248
+ display: block;
249
+ border: 0;
250
+ padding: 12px 0;
251
+ }
252
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-body {
253
+ border: 0;
254
+ padding: 0;
255
+ }
256
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-row {
257
+ border-bottom: 1px solid var(--line);
258
+ }
259
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-body > .niceeval-table-hierarchy-row:last-child {
260
+ border-bottom: 0;
261
+ }
262
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary,
263
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-row:not(details) {
264
+ box-sizing: border-box;
265
+ padding: 12px 20px;
266
+ list-style: none;
267
+ }
268
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary {
269
+ position: relative;
270
+ cursor: pointer;
271
+ transition: background .12s;
272
+ }
273
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary::-webkit-details-marker { display: none; }
274
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary:hover {
275
+ background: color-mix(in oklch, var(--panel-2), var(--panel) 25%);
276
+ }
277
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary .niceeval-table-hierarchy-cell:first-child {
278
+ position: relative;
279
+ padding-left: 28px;
280
+ }
281
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-summary .niceeval-table-hierarchy-cell:first-child::before {
282
+ content: "";
283
+ position: absolute;
284
+ left: 4px;
285
+ top: .45em;
286
+ width: 7px;
287
+ height: 7px;
288
+ border-right: 1.5px solid var(--muted);
289
+ border-bottom: 1.5px solid var(--muted);
290
+ transform: rotate(-45deg);
291
+ transition: transform .15s;
292
+ }
293
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-group[open] > .niceeval-table-hierarchy-summary
294
+ .niceeval-table-hierarchy-cell:first-child::before {
295
+ transform: rotate(45deg);
296
+ }
297
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-children {
298
+ border-top: 1px solid var(--line);
299
+ background: color-mix(in oklch, var(--panel-2), var(--panel) 24%);
300
+ }
301
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-children .niceeval-table-hierarchy-row {
302
+ border-color: color-mix(in oklch, var(--line), transparent 28%);
303
+ }
304
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-cell {
305
+ min-width: 0;
306
+ overflow-wrap: anywhere;
307
+ }
308
+ /* 读数列的可读下限:窄到这里就整表横向滚动,不把 "gpt-5.6-luna" 拆成三行。身份列自己的
309
+ 下限写在列轨里(见 hierarchyGrid)。 */
310
+ .niceeval-table--hierarchical thead th:not(:first-child),
311
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-cell:not(:first-child) {
312
+ min-width: 5rem;
313
+ }
314
+ .niceeval-table--hierarchical .niceeval-table-hierarchy-cell.niceeval-align-right {
315
+ text-align: right;
316
+ white-space: nowrap;
317
+ }
318
+ .niceeval-table--hierarchical .niceeval-row-placeholder { color: var(--soft); }
319
+ .niceeval-table--hierarchical .niceeval-row-group > .niceeval-table-hierarchy-summary,
320
+ .niceeval-table--hierarchical .niceeval-row-group.niceeval-table-hierarchy-row {
321
+ font-weight: 600;
322
+ color: var(--fg);
323
+ }
324
+ .niceeval-table--hierarchical tr.niceeval-row-group {
325
+ font-weight: 600;
326
+ }
327
+ .niceeval-report .niceeval-verdict-tally {
328
+ display: inline-flex;
329
+ flex-wrap: wrap;
330
+ gap: 4px 10px;
331
+ color: var(--muted);
332
+ font-size: 12px;
333
+ }
334
+
335
+ /* ---- MetricValue:缺数据 / 覆盖率角标 / 证据链接 ---- */
336
+ .niceeval-report .niceeval-value { white-space: nowrap; }
337
+ .niceeval-report .niceeval-missing {
338
+ color: var(--soft);
339
+ font-style: italic;
340
+ }
341
+ .niceeval-report .niceeval-coverage {
342
+ color: var(--warn);
343
+ font-size: 0.72em;
344
+ margin-left: 0.3em;
345
+ }
346
+ .niceeval-report .niceeval-refs {
347
+ position: relative;
348
+ display: inline-block;
349
+ margin-left: 0.4em;
350
+ }
351
+ .niceeval-report .niceeval-refs-summary {
352
+ color: var(--c0);
353
+ cursor: pointer;
354
+ font-size: 0.8em;
355
+ list-style: none;
356
+ white-space: nowrap;
357
+ }
358
+ .niceeval-report .niceeval-refs-summary::-webkit-details-marker { display: none; }
359
+ .niceeval-report .niceeval-refs-summary::after { content: " ▸"; }
360
+ .niceeval-report .niceeval-refs[open] > .niceeval-refs-summary::after { content: " ▾"; }
361
+ .niceeval-report .niceeval-refs-summary:hover { text-decoration: underline; }
362
+ .niceeval-report .niceeval-refs-list {
363
+ position: absolute;
364
+ z-index: 5;
365
+ right: 0;
366
+ bottom: calc(100% + 4px);
367
+ display: flex;
368
+ flex-wrap: wrap;
369
+ gap: 4px;
370
+ width: max-content;
371
+ max-width: min(24rem, calc(100vw - 2rem));
372
+ padding: 8px;
373
+ border: 1px solid var(--line);
374
+ border-radius: var(--radius);
375
+ background: var(--panel);
376
+ box-shadow: 0 8px 24px color-mix(in oklch, black, transparent 78%);
377
+ }
378
+ .niceeval-report .niceeval-ref {
379
+ color: var(--c0);
380
+ font-size: 0.85em;
381
+ text-decoration: none;
382
+ margin-right: 0.25em;
383
+ }
384
+ .niceeval-report .niceeval-ref:hover {
385
+ text-decoration: underline;
386
+ }
387
+ /* 数据侧没给的格子:呈现层画软色缺失符,不进 textContent、不参与排序取值 */
388
+
389
+ /* ---- verdict 语义色与计票 pill ---- */
390
+ .niceeval-report .niceeval-verdict-passed { color: var(--good); }
391
+ .niceeval-report .niceeval-verdict-failed { color: var(--bad); }
392
+ .niceeval-report .niceeval-verdict-errored { color: var(--warn); }
393
+ .niceeval-report .niceeval-verdict-unreadable { color: var(--soft); }
394
+ .niceeval-report .niceeval-verdict-tally {
395
+ display: inline-flex;
396
+ flex-wrap: wrap;
397
+ gap: 6px;
398
+ }
399
+ .niceeval-report .niceeval-verdict-pill {
400
+ display: inline-flex;
401
+ align-items: center;
402
+ height: 22px;
403
+ border: 1px solid var(--line);
404
+ border-radius: var(--radius);
405
+ padding: 0 8px;
406
+ font-size: 12px;
407
+ white-space: nowrap;
408
+ background: var(--panel);
409
+ }
410
+ .niceeval-report .niceeval-verdict-pill.niceeval-verdict-passed { border-color: color-mix(in oklch, var(--good), var(--line) 55%); }
411
+ .niceeval-report .niceeval-verdict-pill.niceeval-verdict-failed { border-color: color-mix(in oklch, var(--bad), var(--line) 55%); }
412
+ .niceeval-report .niceeval-verdict-pill.niceeval-verdict-errored { border-color: color-mix(in oklch, var(--warn), var(--line) 55%); }
413
+
414
+ /* ---- SampleSummary:范围摘要卡的范围行 ---- */
415
+ .niceeval-report .niceeval-sample-summary-range {
416
+ color: var(--soft);
417
+ font-size: 0.85em;
418
+ margin: 0.25rem 0 0;
419
+ }
420
+
421
+ /* ---- Hero / PoweredBy(站点标题区与品牌行) ---- */
422
+ /* 居中大标题:hero 是页首的门面块,整块占满内容列宽、文本水平居中,标题随视口 clamp 放大,
423
+ meta 与品牌行居中跟随。不设 max-width——窄框居中在宽内容列里会读成左偏,占满列宽才真居中。 */
424
+ .niceeval-hero {
425
+ text-align: center;
426
+ margin: 0 0 clamp(28px, 5vw, 44px);
427
+ }
428
+ .niceeval-hero .niceeval-hero-logo {
429
+ display: block;
430
+ width: clamp(64px, 8vw, 80px);
431
+ height: clamp(64px, 8vw, 80px);
432
+ object-fit: contain;
433
+ margin: 0 auto 22px;
434
+ }
435
+ .niceeval-hero .niceeval-hero-title {
436
+ margin: 0;
437
+ font-size: clamp(38px, 5vw, 60px);
438
+ line-height: 0.98;
439
+ font-weight: 760;
440
+ letter-spacing: -0.01em;
441
+ }
442
+ .niceeval-hero .niceeval-hero-description {
443
+ max-width: 720px;
444
+ margin: 18px auto 0;
445
+ color: var(--muted);
446
+ font-size: clamp(15px, 1.7vw, 17px);
447
+ line-height: 1.65;
448
+ }
449
+ .niceeval-hero .niceeval-hero-links {
450
+ display: flex;
451
+ flex-wrap: wrap;
452
+ justify-content: center;
453
+ gap: 10px;
454
+ margin: 22px 0 0;
455
+ }
456
+ .niceeval-hero .niceeval-hero-link {
457
+ display: inline-flex;
458
+ align-items: center;
459
+ min-height: 40px;
460
+ padding: 0 16px;
461
+ border: 1px solid color-mix(in oklch, var(--accent), var(--line) 55%);
462
+ border-radius: var(--radius);
463
+ background: color-mix(in oklch, var(--accent), transparent 90%);
464
+ color: var(--text);
465
+ font-size: 14px;
466
+ font-weight: 650;
467
+ text-decoration: none;
468
+ }
469
+ .niceeval-hero .niceeval-hero-link:hover {
470
+ border-color: var(--accent);
471
+ background: color-mix(in oklch, var(--accent), transparent 84%);
472
+ }
473
+ .niceeval-hero .niceeval-hero-meta {
474
+ margin: 14px 0 0;
475
+ color: var(--muted);
476
+ font-size: 14px;
477
+ }
478
+ .niceeval-powered-by {
479
+ margin: 10px 0 0;
480
+ font-size: 12px;
481
+ }
482
+ .niceeval-powered-by a {
483
+ color: var(--soft);
484
+ text-decoration: none;
485
+ }
486
+ .niceeval-powered-by a:hover { color: var(--text); text-decoration: underline; }
487
+
488
+ /* ---- Callouts(分级提示区:双层 details,不占框) ---- */
489
+ .niceeval-callouts {
490
+ margin: 0;
491
+ font-size: 13px;
492
+ }
493
+ .niceeval-callouts-root > .niceeval-callouts-summary {
494
+ font-weight: 650;
495
+ cursor: pointer;
496
+ }
497
+ .niceeval-callouts-summary--error { color: var(--bad); }
498
+ .niceeval-callouts-summary--warning { color: var(--warn); }
499
+ .niceeval-callouts-summary--info { color: var(--soft); }
500
+ .niceeval-callout-groups {
501
+ list-style: none;
502
+ margin: 8px 0 0;
503
+ padding: 0;
504
+ }
505
+ .niceeval-callout-group + .niceeval-callout-group {
506
+ margin-top: 10px;
507
+ padding-top: 10px;
508
+ border-top: 1px solid var(--line);
509
+ }
510
+ .niceeval-callout-head {
511
+ display: flex;
512
+ flex-wrap: wrap;
513
+ align-items: baseline;
514
+ gap: 4px 10px;
515
+ }
516
+ .niceeval-callout-head--error .niceeval-callout-title { color: var(--bad); }
517
+ .niceeval-callout-head--warning .niceeval-callout-title { color: var(--warn); }
518
+ .niceeval-callout-title { font-weight: 650; }
519
+ .niceeval-callout-badge {
520
+ padding: 1px 8px;
521
+ border: 1px solid color-mix(in oklch, var(--warn), var(--line) 35%);
522
+ border-radius: var(--radius);
523
+ background: color-mix(in oklch, var(--warn), var(--panel) 84%);
524
+ font-size: 0.9em;
525
+ white-space: nowrap;
526
+ }
527
+ .niceeval-callout-details { margin: 4px 0 0; }
528
+ .niceeval-callout-details > summary {
529
+ color: var(--soft);
530
+ font-size: 0.9em;
531
+ cursor: pointer;
532
+ }
533
+ .niceeval-callout-items {
534
+ list-style: none;
535
+ margin: 6px 0 0;
536
+ padding: 0;
537
+ }
538
+ .niceeval-callout-item {
539
+ display: flex;
540
+ flex-wrap: wrap;
541
+ align-items: baseline;
542
+ gap: 4px 10px;
543
+ }
544
+ .niceeval-callout-item + .niceeval-callout-item { margin-top: 8px; }
545
+ .niceeval-callout-item--error .niceeval-callout-message { color: var(--bad); }
546
+ .niceeval-callout-item--warning .niceeval-callout-message { color: var(--warn); }
547
+ .niceeval-callout-nested {
548
+ list-style: none;
549
+ margin: 6px 0 0;
550
+ padding: 0 0 0 12px;
551
+ }
552
+ .niceeval-callout-command {
553
+ display: inline-block;
554
+ padding: 1px 6px;
555
+ border: 1px solid var(--line);
556
+ border-radius: var(--radius);
557
+ background: var(--panel);
558
+ font-size: 0.92em;
559
+ white-space: pre-wrap;
560
+ overflow-wrap: anywhere;
561
+ user-select: all;
562
+ }
563
+ :root.niceeval-js .niceeval-callout-command { cursor: copy; }
564
+
565
+ /* ---- CopyBlock(可折叠复制块:text 面零输出) ---- */
566
+ .niceeval-copy-block {
567
+ margin: 0 0 16px;
568
+ border: 1px solid var(--line);
569
+ border-radius: var(--radius);
570
+ background: var(--panel);
571
+ padding: 8px 12px;
572
+ }
573
+ .niceeval-copy-block > summary {
574
+ cursor: pointer;
575
+ font-weight: 620;
576
+ font-size: 13px;
577
+ }
578
+ .niceeval-copy-block .niceeval-copy-block-copy {
579
+ margin: 8px 0 0;
580
+ padding: 4px 10px;
581
+ border: 1px solid var(--line);
582
+ border-radius: var(--radius);
583
+ background: var(--panel);
584
+ color: var(--text);
585
+ font: inherit;
586
+ font-size: 12px;
587
+ }
588
+ :root.niceeval-js .niceeval-copy-block .niceeval-copy-block-copy { cursor: copy; }
589
+ .niceeval-copy-block .niceeval-copy-block-text {
590
+ margin: 8px 0 0;
591
+ padding: 8px 10px;
592
+ border: 1px solid var(--line);
593
+ border-radius: var(--radius);
594
+ background: var(--page);
595
+ font-size: 12px;
596
+ line-height: 1.5;
597
+ overflow-x: auto;
598
+ white-space: pre-wrap;
599
+ overflow-wrap: anywhere;
600
+ }
601
+
602
+ /* ---- CopyFixPrompt(批量修复 prompt:折叠块 + 增强层复制) ---- */
603
+ .niceeval-copy-fix-prompt {
604
+ margin: 0 0 16px;
605
+ border: 1px solid var(--line);
606
+ border-radius: var(--radius);
607
+ background: var(--panel);
608
+ padding: 8px 12px;
609
+ }
610
+ .niceeval-copy-fix-prompt > summary {
611
+ cursor: pointer;
612
+ font-weight: 620;
613
+ font-size: 13px;
614
+ }
615
+ .niceeval-copy-fix-prompt .niceeval-copy-fix-prompt-copy {
616
+ margin: 8px 0 0;
617
+ padding: 4px 10px;
618
+ border: 1px solid var(--line);
619
+ border-radius: var(--radius);
620
+ background: var(--panel);
621
+ color: var(--text);
622
+ font: inherit;
623
+ font-size: 12px;
624
+ }
625
+ :root.niceeval-js .niceeval-copy-fix-prompt .niceeval-copy-fix-prompt-copy { cursor: copy; }
626
+ .niceeval-copy-fix-prompt .niceeval-copy-fix-prompt-copy[data-niceeval-copied]::after {
627
+ content: "✓";
628
+ margin-left: 0.6em;
629
+ color: var(--good);
630
+ }
631
+ .niceeval-copy-fix-prompt .niceeval-copy-fix-prompt-text {
632
+ margin: 8px 0 0;
633
+ padding: 8px 10px;
634
+ border: 1px solid var(--line);
635
+ border-radius: var(--radius);
636
+ background: var(--page);
637
+ font-size: 12px;
638
+ line-height: 1.5;
639
+ overflow-x: auto;
640
+ white-space: pre-wrap;
641
+ overflow-wrap: anywhere;
642
+ }
643
+
644
+ /* ---- Waterfall 原语(时间树与瀑布) ---- */
645
+ .niceeval-waterfall .niceeval-waterfall-list {
646
+ list-style: none;
647
+ margin: 0;
648
+ padding: 0;
649
+ }
650
+ .niceeval-waterfall .niceeval-waterfall-row {
651
+ border: 1px solid var(--line);
652
+ border-radius: var(--radius);
653
+ padding: 10px 14px;
654
+ margin-bottom: 8px;
655
+ background: var(--panel);
656
+ }
657
+ .niceeval-waterfall .niceeval-waterfall-head {
658
+ display: flex;
659
+ flex-wrap: wrap;
660
+ gap: 0.75em;
661
+ align-items: baseline;
662
+ }
663
+ .niceeval-waterfall .niceeval-waterfall-label { font-weight: 620; }
664
+ .niceeval-waterfall .niceeval-waterfall-duration,
665
+ .niceeval-waterfall .niceeval-waterfall-count {
666
+ color: var(--muted);
667
+ font-size: 0.9em;
668
+ font-variant-numeric: tabular-nums;
669
+ }
670
+ .niceeval-waterfall .niceeval-waterfall-failed { color: var(--bad); font-size: 0.9em; }
671
+ .niceeval-waterfall .niceeval-waterfall-track {
672
+ position: relative;
673
+ height: 14px;
674
+ margin-top: 8px;
675
+ border-radius: var(--radius);
676
+ background: color-mix(in oklch, var(--line), var(--panel) 60%);
677
+ overflow: hidden;
678
+ }
679
+ /* 条上的类别着色:kind 稳定散列到分类色槽,原语不认词表
680
+ (docs/feature/reports/library.md「类别与着色」)。
681
+ 五槽跳过 --c4:它离 --bad 太近,失败段就分不出来了。失败规则在后位覆盖分类色。
682
+ 分类色按整段面积铺,兑进面色收一档:色板是给线和点定的,原样铺满整条会盖过页面。 */
683
+ .niceeval-waterfall .niceeval-waterfall-bar {
684
+ position: absolute;
685
+ top: 2px;
686
+ bottom: 2px;
687
+ border-radius: var(--radius);
688
+ background: color-mix(in oklch, var(--series), var(--panel) 32%);
689
+ }
690
+ .niceeval-waterfall .niceeval-span-kind-0 { --series: var(--c0); }
691
+ .niceeval-waterfall .niceeval-span-kind-1 { --series: var(--c1); }
692
+ .niceeval-waterfall .niceeval-span-kind-2 { --series: var(--c2); }
693
+ .niceeval-waterfall .niceeval-span-kind-3 { --series: var(--c3); }
694
+ .niceeval-waterfall .niceeval-span-kind-4 { --series: var(--c5); }
695
+ .niceeval-waterfall .niceeval-span-failed { background: var(--bad); }
696
+ .niceeval-waterfall .niceeval-waterfall-nodes {
697
+ list-style: none;
698
+ margin: 10px 0 0;
699
+ padding: 0;
700
+ }
701
+ /* 清单是三列:类别、名字、时长,外加一列展开指示符。定宽列让同层各行的数字对齐。 */
702
+ .niceeval-waterfall .niceeval-waterfall-node {
703
+ display: flex;
704
+ gap: 0.5em;
705
+ align-items: baseline;
706
+ font-size: 0.92em;
707
+ line-height: 1.6;
708
+ white-space: nowrap;
709
+ }
710
+ /* 指示符列:原语自绘,不靠浏览器给 <summary> 的默认标记——flex 行里它不出现。
711
+ 叶子行留空占位,三列仍然对齐。 */
712
+ .niceeval-waterfall .niceeval-waterfall-node::before {
713
+ content: "";
714
+ flex: none;
715
+ width: 0.9em;
716
+ color: var(--soft);
717
+ }
718
+ .niceeval-waterfall details > summary.niceeval-waterfall-node::before { content: "\25B8"; }
719
+ .niceeval-waterfall details[open] > summary.niceeval-waterfall-node::before { content: "\25BE"; }
720
+ .niceeval-waterfall summary.niceeval-waterfall-node {
721
+ cursor: pointer;
722
+ list-style: none;
723
+ }
724
+ .niceeval-waterfall summary.niceeval-waterfall-node::-webkit-details-marker { display: none; }
725
+ .niceeval-waterfall .niceeval-waterfall-node--failed { color: var(--bad); }
726
+ .niceeval-waterfall .niceeval-waterfall-node-failed { flex: none; }
727
+ .niceeval-waterfall .niceeval-waterfall-node-kind {
728
+ flex: none;
729
+ width: 5em;
730
+ color: var(--soft);
731
+ overflow: hidden;
732
+ text-overflow: ellipsis;
733
+ }
734
+ .niceeval-waterfall .niceeval-waterfall-node-name {
735
+ flex: 1 1 auto;
736
+ min-width: 0;
737
+ overflow: hidden;
738
+ text-overflow: ellipsis;
739
+ }
740
+ .niceeval-waterfall .niceeval-waterfall-node-dur {
741
+ flex: none;
742
+ min-width: 5.5em;
743
+ text-align: right;
744
+ color: var(--muted);
745
+ font-variant-numeric: tabular-nums;
746
+ }
747
+ .niceeval-waterfall .niceeval-waterfall-node-children {
748
+ list-style: none;
749
+ margin: 0 0 0 0.45em;
750
+ padding: 0 0 0 0.6em;
751
+ border-left: 1px solid var(--line);
752
+ }
753
+ .niceeval-waterfall .niceeval-waterfall-title {
754
+ font-weight: 620;
755
+ margin-bottom: 8px;
756
+ }
757
+ .niceeval-waterfall .niceeval-waterfall-fold-summary { color: var(--muted); }
758
+ .niceeval-waterfall .niceeval-waterfall-fold[open] > .niceeval-waterfall-fold-summary { margin-bottom: 2px; }
759
+
760
+ /* ---- DiffView 原语(路径树与逐窗口 patch) ---- */
761
+ .niceeval-diff-view {
762
+ display: flex;
763
+ flex-direction: column;
764
+ gap: 14px;
765
+ }
766
+ .niceeval-diff-view .niceeval-diff-tree {
767
+ list-style: none;
768
+ margin: 0;
769
+ padding: 0;
770
+ overflow: hidden;
771
+ border: 1px solid var(--line);
772
+ border-radius: var(--radius);
773
+ background: var(--panel);
774
+ }
775
+ /* 子树只留缩进与一条竖线:层级靠位置表达,不给每层再套一个面板。 */
776
+ .niceeval-diff-view .niceeval-diff-tree .niceeval-diff-tree {
777
+ margin: 0 0 0 0.75em;
778
+ border: 0;
779
+ border-left: 1px solid var(--line);
780
+ border-radius: 0;
781
+ background: transparent;
782
+ overflow: visible;
783
+ }
784
+ .niceeval-diff-view .niceeval-diff-dir { border-bottom: 1px solid var(--line); }
785
+ .niceeval-diff-view .niceeval-diff-dir:last-child { border-bottom: 0; }
786
+ .niceeval-diff-view .niceeval-diff-dir-summary {
787
+ display: grid;
788
+ grid-template-columns: minmax(0, 1fr) max-content max-content;
789
+ align-items: baseline;
790
+ gap: 10px;
791
+ padding: 8px 12px;
792
+ cursor: pointer;
793
+ list-style: none;
794
+ font-size: 12px;
795
+ }
796
+ .niceeval-diff-view .niceeval-diff-dir-summary::-webkit-details-marker { display: none; }
797
+ .niceeval-diff-view .niceeval-diff-dir-name {
798
+ min-width: 0;
799
+ font-family: var(--font-mono);
800
+ font-weight: 600;
801
+ overflow-wrap: anywhere;
802
+ }
803
+ .niceeval-diff-view .niceeval-diff-dir-count {
804
+ color: var(--muted);
805
+ font-variant-numeric: tabular-nums;
806
+ white-space: nowrap;
807
+ }
808
+ .niceeval-diff-view .niceeval-diff-file {
809
+ border-bottom: 1px solid var(--line);
810
+ font-size: 12px;
811
+ }
812
+ .niceeval-diff-view .niceeval-diff-file:last-child { border-bottom: 0; }
813
+ .niceeval-diff-view .niceeval-diff-file-summary {
814
+ display: grid;
815
+ grid-template-columns: 1.25em minmax(0, 1fr) max-content;
816
+ align-items: baseline;
817
+ gap: 10px;
818
+ padding: 8px 12px;
819
+ cursor: pointer;
820
+ list-style: none;
821
+ }
822
+ .niceeval-diff-view .niceeval-diff-file-summary::-webkit-details-marker { display: none; }
823
+ .niceeval-diff-view .niceeval-diff-change {
824
+ color: var(--soft);
825
+ font-size: 10px;
826
+ font-weight: 650;
827
+ letter-spacing: 0.04em;
828
+ text-transform: uppercase;
829
+ }
830
+ .niceeval-diff-view .niceeval-diff-added .niceeval-diff-change { color: var(--good); }
831
+ .niceeval-diff-view .niceeval-diff-modified .niceeval-diff-change { color: var(--warn); }
832
+ .niceeval-diff-view .niceeval-diff-deleted .niceeval-diff-change { color: var(--bad); }
833
+ .niceeval-diff-view .niceeval-diff-path {
834
+ min-width: 0;
835
+ font-family: var(--font-mono);
836
+ overflow-wrap: anywhere;
837
+ }
838
+ .niceeval-diff-view .niceeval-diff-lines {
839
+ color: var(--muted);
840
+ font-variant-numeric: tabular-nums;
841
+ white-space: nowrap;
842
+ }
843
+ .niceeval-diff-view .niceeval-diff-lines-added { color: var(--good); }
844
+ .niceeval-diff-view .niceeval-diff-lines-removed { color: var(--bad); }
845
+ .niceeval-diff-view .niceeval-diff-patch {
846
+ margin: 0;
847
+ padding: 8px 0;
848
+ border-top: 1px solid var(--line);
849
+ background: color-mix(in oklch, var(--panel), black 4%);
850
+ font: 11px/1.45 var(--font-mono);
851
+ overflow-x: auto;
852
+ }
853
+ .niceeval-diff-view .niceeval-diff-patch-line {
854
+ display: grid;
855
+ grid-template-columns: 3.5em 3.5em minmax(0, 1fr);
856
+ gap: 0 8px;
857
+ padding: 0 12px;
858
+ white-space: pre;
859
+ }
860
+ .niceeval-diff-view .niceeval-diff-patch-ln {
861
+ color: var(--soft);
862
+ text-align: right;
863
+ user-select: none;
864
+ }
865
+ .niceeval-diff-view .niceeval-diff-patch-line--add { background: color-mix(in oklch, var(--good), transparent 88%); }
866
+ .niceeval-diff-view .niceeval-diff-patch-line--add .niceeval-diff-patch-text { color: var(--good); }
867
+ .niceeval-diff-view .niceeval-diff-patch-line--remove { background: color-mix(in oklch, var(--bad), transparent 88%); }
868
+ .niceeval-diff-view .niceeval-diff-patch-line--remove .niceeval-diff-patch-text { color: var(--bad); }
869
+ .niceeval-diff-view .niceeval-diff-patch-line--meta .niceeval-diff-patch-text { color: var(--muted); }
870
+ .niceeval-diff-view .niceeval-diff-patch-missing,
871
+ .niceeval-diff-view .niceeval-diff-patch-omitted {
872
+ margin: 0;
873
+ padding: 10px 12px;
874
+ border-top: 1px solid var(--line);
875
+ color: var(--muted);
876
+ font-size: 12px;
877
+ }
878
+ .niceeval-diff-view .niceeval-diff-patch-omitted code {
879
+ font-family: var(--font-mono);
880
+ overflow-wrap: anywhere;
881
+ }
882
+ .niceeval-diff-view .niceeval-diff-bytes {
883
+ color: var(--muted);
884
+ font-variant-numeric: tabular-nums;
885
+ white-space: nowrap;
886
+ }
887
+ /* 窗口分段:段头点明轮次,patch 正文保持逐行可复制。 */
888
+ .niceeval-diff-view .niceeval-diff-window-title {
889
+ margin: 0;
890
+ padding: 6px 12px;
891
+ border-top: 1px solid var(--line);
892
+ color: var(--soft);
893
+ font-family: var(--font-mono);
894
+ font-size: 11px;
895
+ font-weight: 600;
896
+ }
897
+ .niceeval-diff-view .niceeval-diff-window .niceeval-diff-patch { border-top: 0; }
898
+
899
+ /* ---- Conversation 原语(分轮事件流) ---- */
900
+ .niceeval-conversation {
901
+ display: flex;
902
+ flex-direction: column;
903
+ gap: 0;
904
+ overflow: hidden;
905
+ border: 1px solid var(--line);
906
+ border-radius: var(--radius);
907
+ background: color-mix(in oklch, var(--panel), black 4%);
908
+ }
909
+ .niceeval-conversation .niceeval-conversation-session-head {
910
+ display: flex;
911
+ align-items: center;
912
+ justify-content: space-between;
913
+ gap: 18px;
914
+ min-height: 42px;
915
+ padding: 8px 12px;
916
+ border-bottom: 1px solid var(--line);
917
+ background: color-mix(in oklch, var(--panel), white 2%);
918
+ }
919
+ .niceeval-conversation .niceeval-conversation-session-title {
920
+ color: var(--text);
921
+ font-size: 13px;
922
+ font-weight: 680;
923
+ }
924
+ .niceeval-conversation .niceeval-conversation-session-stats {
925
+ display: flex;
926
+ gap: 16px;
927
+ margin: 0;
928
+ }
929
+ .niceeval-conversation .niceeval-conversation-session-stats > div {
930
+ display: grid;
931
+ grid-template-columns: auto auto;
932
+ gap: 5px;
933
+ align-items: baseline;
934
+ }
935
+ .niceeval-conversation .niceeval-conversation-session-stats dt {
936
+ color: var(--soft);
937
+ font-size: 10px;
938
+ }
939
+ .niceeval-conversation .niceeval-conversation-session-stats dd {
940
+ margin: 0;
941
+ color: var(--muted);
942
+ font: 11px/1.2 var(--font-mono);
943
+ }
944
+ .niceeval-conversation .niceeval-conversation-turn {
945
+ position: relative;
946
+ border: 0;
947
+ border-left: 3px solid transparent;
948
+ border-bottom: 1px solid var(--line);
949
+ border-radius: 0;
950
+ background: transparent;
951
+ padding: 12px 14px 12px 16px;
952
+ }
953
+ .niceeval-conversation .niceeval-conversation-turn:last-child { border-bottom: 0; }
954
+ .niceeval-conversation .niceeval-conversation-turn--passed { border-left-color: var(--good); }
955
+ .niceeval-conversation .niceeval-conversation-turn--failed { border-left-color: var(--bad); }
956
+ .niceeval-conversation .niceeval-conversation-turn--errored { border-left-color: var(--bad); }
957
+ .niceeval-conversation .niceeval-conversation-turn--skipped { border-left-color: var(--warn); }
958
+ .niceeval-conversation .niceeval-conversation-turn-head {
959
+ display: flex;
960
+ flex-wrap: wrap;
961
+ gap: 0.5em 0.75em;
962
+ align-items: baseline;
963
+ margin-bottom: 8px;
964
+ }
965
+ .niceeval-conversation .niceeval-conversation-turn-label {
966
+ font-weight: 650;
967
+ font-size: 13px;
968
+ }
969
+ .niceeval-conversation .niceeval-conversation-turn-duration {
970
+ color: var(--muted);
971
+ font: 11px/1.2 var(--font-mono);
972
+ }
973
+ .niceeval-conversation .niceeval-conversation-turn-verdict {
974
+ color: var(--muted);
975
+ font-size: 11px;
976
+ text-transform: uppercase;
977
+ letter-spacing: 0.04em;
978
+ }
979
+ .niceeval-conversation .niceeval-conversation-entries {
980
+ position: relative;
981
+ display: flex;
982
+ flex-direction: column;
983
+ gap: 0;
984
+ margin-left: 5px;
985
+ padding-left: 16px;
986
+ }
987
+ .niceeval-conversation .niceeval-conversation-entries::before {
988
+ content: "";
989
+ position: absolute;
990
+ inset: 8px auto 8px 4px;
991
+ width: 1px;
992
+ background: var(--line);
993
+ }
994
+ .niceeval-conversation .niceeval-conversation-entry,
995
+ .niceeval-conversation .niceeval-conversation-entry > summary {
996
+ position: relative;
997
+ display: flex;
998
+ flex-wrap: wrap;
999
+ gap: 0.5em;
1000
+ align-items: baseline;
1001
+ font-size: 12px;
1002
+ line-height: 1.45;
1003
+ }
1004
+ .niceeval-conversation .niceeval-conversation-entry {
1005
+ min-height: 30px;
1006
+ padding: 6px 0;
1007
+ }
1008
+ .niceeval-conversation .niceeval-conversation-entry::before {
1009
+ content: "";
1010
+ position: absolute;
1011
+ top: 13px;
1012
+ left: -16px;
1013
+ width: 7px;
1014
+ height: 7px;
1015
+ border: 2px solid color-mix(in oklch, var(--panel), white 8%);
1016
+ border-radius: 50%;
1017
+ background: var(--soft);
1018
+ box-sizing: border-box;
1019
+ }
1020
+ .niceeval-conversation .niceeval-conversation-entry--failed::before { background: var(--bad); }
1021
+ .niceeval-conversation .niceeval-conversation-entry--expandable > summary {
1022
+ cursor: pointer;
1023
+ list-style: none;
1024
+ }
1025
+ .niceeval-conversation .niceeval-conversation-entry--expandable > summary::-webkit-details-marker { display: none; }
1026
+ .niceeval-conversation .niceeval-conversation-entry-kind {
1027
+ color: var(--soft);
1028
+ font-size: 10px;
1029
+ font-weight: 650;
1030
+ letter-spacing: 0.04em;
1031
+ text-transform: uppercase;
1032
+ }
1033
+ .niceeval-conversation .niceeval-conversation-entry-preview {
1034
+ min-width: 0;
1035
+ color: var(--text);
1036
+ overflow-wrap: anywhere;
1037
+ }
1038
+ .niceeval-conversation .niceeval-conversation-entry--failed .niceeval-conversation-entry-preview { color: var(--bad); }
1039
+ .niceeval-conversation .niceeval-conversation-entry-detail {
1040
+ width: 100%;
1041
+ margin-top: 6px;
1042
+ padding-top: 6px;
1043
+ border-top: 1px dashed var(--line);
1044
+ }
1045
+ @media (max-width: 640px) {
1046
+ .niceeval-conversation .niceeval-conversation-session-head {
1047
+ align-items: flex-start;
1048
+ flex-direction: column;
1049
+ }
1050
+ .niceeval-conversation .niceeval-conversation-session-stats {
1051
+ width: 100%;
1052
+ justify-content: space-between;
1053
+ }
1054
+ }
1055
+ .niceeval-conversation .niceeval-conversation-failed-command { border-left-color: var(--bad); }
1056
+ .niceeval-conversation .niceeval-conversation-failed-display {
1057
+ margin-bottom: 8px;
1058
+ color: var(--muted);
1059
+ font-family: var(--font-mono);
1060
+ font-size: 12px;
1061
+ white-space: pre-wrap;
1062
+ overflow-wrap: anywhere;
1063
+ }
1064
+ .niceeval-conversation .niceeval-conversation-io {
1065
+ max-height: 220px;
1066
+ overflow: auto;
1067
+ margin: 6px 0 0;
1068
+ padding: 8px 10px;
1069
+ border: 1px solid var(--line);
1070
+ border-radius: var(--radius);
1071
+ background: color-mix(in oklch, var(--panel), black 8%);
1072
+ color: var(--muted);
1073
+ font: 11px/1.45 var(--font-mono);
1074
+ white-space: pre-wrap;
1075
+ overflow-wrap: anywhere;
1076
+ }
1077
+
1078
+ /* ---- TurnTrace:紧凑 trajectory ledger + inline evidence accordion ----
1079
+ 版式借鉴 ui-trajectory 的 toolbar / 50px 三 lane overview / 30px ledger
1080
+ rhythm;颜色只消费 Report token。静态页保持完整 ledger 和每条 evidence,
1081
+ .niceeval-js 下的 selector 只打开原位细节、过滤和折叠。 */
1082
+ .niceeval-turn-trace {
1083
+ --trace-toolbar-height: 32px;
1084
+ overflow: clip;
1085
+ border: 1px solid var(--line);
1086
+ border-radius: var(--radius);
1087
+ background: var(--panel);
1088
+ color: var(--text);
1089
+ }
1090
+ .niceeval-turn-trace button,
1091
+ .niceeval-turn-trace input { font: inherit; }
1092
+ .niceeval-turn-trace button:disabled { cursor: not-allowed; opacity: .42; }
1093
+ .niceeval-turn-trace .niceeval-trace-visually-hidden {
1094
+ position: absolute;
1095
+ width: 1px;
1096
+ height: 1px;
1097
+ overflow: hidden;
1098
+ clip: rect(0 0 0 0);
1099
+ white-space: nowrap;
1100
+ }
1101
+
1102
+ /* 参考实现的低矮 toolbar:标题、三个内联动作和右对齐搜索框。 */
1103
+ .niceeval-turn-trace .niceeval-trace-toolbar {
1104
+ position: sticky;
1105
+ z-index: 5;
1106
+ top: 0;
1107
+ display: flex;
1108
+ align-items: center;
1109
+ min-height: var(--trace-toolbar-height);
1110
+ gap: 8px;
1111
+ padding: 0 6px;
1112
+ border-bottom: 1px solid var(--line);
1113
+ background: var(--panel);
1114
+ }
1115
+ .niceeval-turn-trace .niceeval-trace-toolbar-main,
1116
+ .niceeval-turn-trace .niceeval-trace-toolbar-actions {
1117
+ display: flex;
1118
+ min-width: 0;
1119
+ align-items: center;
1120
+ }
1121
+ .niceeval-turn-trace .niceeval-trace-toolbar-main { gap: 8px; }
1122
+ .niceeval-turn-trace .niceeval-trace-toolbar-actions { gap: 2px; }
1123
+ .niceeval-turn-trace .niceeval-trace-toolbar-title {
1124
+ flex: none;
1125
+ color: var(--muted);
1126
+ font-size: 11px;
1127
+ font-weight: 650;
1128
+ letter-spacing: .01em;
1129
+ white-space: nowrap;
1130
+ }
1131
+ .niceeval-turn-trace .niceeval-trace-toolbar-button {
1132
+ display: inline-flex;
1133
+ flex: none;
1134
+ height: 21px;
1135
+ align-items: center;
1136
+ gap: 4px;
1137
+ border: 0;
1138
+ border-radius: 3px;
1139
+ padding: 0 5px;
1140
+ background: transparent;
1141
+ color: var(--soft);
1142
+ cursor: pointer;
1143
+ font-size: 11px;
1144
+ line-height: 1;
1145
+ white-space: nowrap;
1146
+ }
1147
+ .niceeval-turn-trace .niceeval-trace-toolbar-button:hover,
1148
+ .niceeval-turn-trace .niceeval-trace-toolbar-button[aria-pressed="true"] {
1149
+ background: color-mix(in oklch, var(--accent), transparent 91%);
1150
+ color: var(--text);
1151
+ }
1152
+ .niceeval-turn-trace .niceeval-trace-toolbar-button:focus-visible {
1153
+ outline: 1px solid var(--focus);
1154
+ outline-offset: 1px;
1155
+ }
1156
+ .niceeval-turn-trace .niceeval-trace-toolbar-button svg,
1157
+ .niceeval-turn-trace .niceeval-trace-search svg {
1158
+ width: 12px;
1159
+ height: 12px;
1160
+ fill: none;
1161
+ stroke: currentColor;
1162
+ stroke-width: 1.25;
1163
+ stroke-linecap: round;
1164
+ stroke-linejoin: round;
1165
+ }
1166
+ .niceeval-turn-trace .niceeval-trace-toolbar-glyph {
1167
+ color: currentColor;
1168
+ font: 14px/12px var(--font-mono);
1169
+ }
1170
+ .niceeval-turn-trace .niceeval-trace-toolbar-button b {
1171
+ color: var(--muted);
1172
+ font: 10px/1.1 var(--font-mono);
1173
+ font-weight: 500;
1174
+ }
1175
+ .niceeval-turn-trace .niceeval-trace-search {
1176
+ display: flex;
1177
+ flex: 0 1 176px;
1178
+ min-width: 82px;
1179
+ height: 22px;
1180
+ align-items: center;
1181
+ margin-left: auto;
1182
+ gap: 4px;
1183
+ border: 1px solid var(--line);
1184
+ border-radius: 4px;
1185
+ padding: 0 6px;
1186
+ color: var(--soft);
1187
+ background: var(--panel-2);
1188
+ }
1189
+ .niceeval-turn-trace .niceeval-trace-search:hover { border-color: var(--line-strong); }
1190
+ .niceeval-turn-trace .niceeval-trace-search:focus-within {
1191
+ border-color: var(--accent);
1192
+ background: var(--panel);
1193
+ }
1194
+ .niceeval-turn-trace .niceeval-trace-search input {
1195
+ width: 100%;
1196
+ min-width: 0;
1197
+ border: 0;
1198
+ outline: 0;
1199
+ padding: 0;
1200
+ color: var(--text);
1201
+ background: transparent;
1202
+ font-size: 11px;
1203
+ }
1204
+ .niceeval-turn-trace .niceeval-trace-search input::placeholder { color: var(--soft); }
1205
+
1206
+ /* 50px overview:横轴是 event sequence 或完整轮次时长投影,纵轴固定三个语义 lane。 */
1207
+ .niceeval-turn-trace .niceeval-trace-timeline {
1208
+ border-bottom: 1px solid var(--line);
1209
+ background: var(--panel-2);
1210
+ }
1211
+ .niceeval-turn-trace .niceeval-trace-timeline-plot {
1212
+ display: grid;
1213
+ grid-template-columns: 72px minmax(0, 1fr);
1214
+ height: 50px;
1215
+ }
1216
+ .niceeval-turn-trace .niceeval-trace-timeline-labels {
1217
+ position: relative;
1218
+ display: grid;
1219
+ grid-template-rows: repeat(3, 1fr);
1220
+ border-right: 1px solid var(--line);
1221
+ padding: 4px 5px;
1222
+ color: var(--soft);
1223
+ font: 9px/1 var(--font-mono);
1224
+ text-align: right;
1225
+ }
1226
+ .niceeval-turn-trace .niceeval-trace-timeline-labels span {
1227
+ align-self: center;
1228
+ overflow: hidden;
1229
+ text-overflow: ellipsis;
1230
+ white-space: nowrap;
1231
+ }
1232
+ .niceeval-turn-trace .niceeval-trace-timeline-track {
1233
+ position: relative;
1234
+ min-width: 0;
1235
+ overflow: hidden;
1236
+ background-image: linear-gradient(
1237
+ to bottom,
1238
+ transparent 32%,
1239
+ color-mix(in oklch, var(--line), transparent 12%) 33%,
1240
+ transparent 34%,
1241
+ transparent 65%,
1242
+ color-mix(in oklch, var(--line), transparent 12%) 66%,
1243
+ transparent 67%
1244
+ );
1245
+ }
1246
+ .niceeval-turn-trace .niceeval-trace-timeline-empty {
1247
+ position: absolute;
1248
+ top: 50%;
1249
+ left: 50%;
1250
+ color: var(--soft);
1251
+ font-size: 11px;
1252
+ transform: translate(-50%, -50%);
1253
+ white-space: nowrap;
1254
+ }
1255
+ .niceeval-turn-trace .niceeval-trace-timeline-boundary {
1256
+ position: absolute;
1257
+ z-index: 1;
1258
+ top: 0;
1259
+ bottom: 0;
1260
+ left: var(--niceeval-trace-sequence-left);
1261
+ width: 1px;
1262
+ background: color-mix(in oklch, var(--line-strong), transparent 14%);
1263
+ pointer-events: none;
1264
+ }
1265
+ .niceeval-turn-trace[data-niceeval-duration-mode="duration"] .niceeval-trace-timeline-boundary {
1266
+ left: var(--niceeval-trace-duration-left);
1267
+ }
1268
+ .niceeval-turn-trace .niceeval-trace-timeline-span {
1269
+ position: absolute;
1270
+ z-index: 2;
1271
+ top: calc(7px + var(--niceeval-trace-lane) * 14px);
1272
+ left: calc(var(--niceeval-trace-sequence-left) + 1px);
1273
+ width: max(2px, calc(var(--niceeval-trace-sequence-width) - 2px));
1274
+ height: 8px;
1275
+ min-width: 2px;
1276
+ border: 0;
1277
+ border-radius: 1px;
1278
+ padding: 0;
1279
+ background: var(--muted);
1280
+ box-shadow: none;
1281
+ cursor: pointer;
1282
+ opacity: .8;
1283
+ }
1284
+ .niceeval-turn-trace[data-niceeval-duration-mode="duration"] .niceeval-trace-timeline-span {
1285
+ left: calc(var(--niceeval-trace-duration-left) + 1px);
1286
+ width: max(2px, calc(var(--niceeval-trace-duration-width) - 2px));
1287
+ }
1288
+ .niceeval-turn-trace .niceeval-trace-timeline-span[data-lane="input"] { background: var(--c0); }
1289
+ .niceeval-turn-trace .niceeval-trace-timeline-span[data-lane="model"] {
1290
+ background: color-mix(in oklch, var(--accent), var(--bad) 36%);
1291
+ opacity: 1;
1292
+ }
1293
+ .niceeval-turn-trace .niceeval-trace-timeline-span[data-lane="tools"] {
1294
+ background: var(--warn);
1295
+ opacity: 1;
1296
+ }
1297
+ .niceeval-turn-trace .niceeval-trace-timeline-span[data-failed="true"] { background: var(--bad); }
1298
+ .niceeval-turn-trace .niceeval-trace-timeline-span:hover,
1299
+ .niceeval-turn-trace .niceeval-trace-timeline-span:focus-visible,
1300
+ .niceeval-turn-trace .niceeval-trace-timeline-span[aria-pressed="true"] {
1301
+ z-index: 3;
1302
+ outline: 0;
1303
+ opacity: 1;
1304
+ box-shadow: 0 0 0 1px var(--panel-2), 0 0 0 2px var(--focus);
1305
+ }
1306
+ .niceeval-turn-trace .niceeval-trace-timeline-span[data-search-match="false"] { opacity: .14; }
1307
+ .niceeval-turn-trace .niceeval-trace-timeline-note {
1308
+ margin: 0;
1309
+ padding: 3px 8px 4px 72px;
1310
+ border-top: 1px solid color-mix(in oklch, var(--line), transparent 40%);
1311
+ color: var(--soft);
1312
+ font-size: 10px;
1313
+ line-height: 1.35;
1314
+ }
1315
+
1316
+ /* Ledger:turn rail + compact kind tag + one-line summary。evidence 默认在行内
1317
+ <details>,所以关 JavaScript 时页面仍是完整的可读正文。 */
1318
+ .niceeval-turn-trace .niceeval-trace-ledger { min-width: 0; }
1319
+ .niceeval-turn-trace .niceeval-trace-turn {
1320
+ position: relative;
1321
+ border-bottom: 1px solid var(--line);
1322
+ background: var(--panel);
1323
+ }
1324
+ .niceeval-turn-trace .niceeval-trace-turn:last-child { border-bottom: 0; }
1325
+ .niceeval-turn-trace .niceeval-trace-turn-head {
1326
+ min-height: 29px;
1327
+ border-bottom: 1px solid color-mix(in oklch, var(--line), transparent 24%);
1328
+ background: color-mix(in oklch, var(--panel-2), var(--panel) 32%);
1329
+ }
1330
+ .niceeval-turn-trace .niceeval-trace-turn-toggle {
1331
+ display: grid;
1332
+ grid-template-columns: 13px max-content minmax(0, 1fr) max-content;
1333
+ width: 100%;
1334
+ min-height: 29px;
1335
+ align-items: center;
1336
+ gap: 5px;
1337
+ border: 0;
1338
+ padding: 0 9px;
1339
+ background: transparent;
1340
+ color: var(--text);
1341
+ cursor: pointer;
1342
+ text-align: left;
1343
+ }
1344
+ .niceeval-turn-trace .niceeval-trace-turn-toggle:hover,
1345
+ .niceeval-turn-trace .niceeval-trace-turn-toggle:focus-visible {
1346
+ outline: 0;
1347
+ background: color-mix(in oklch, var(--accent), transparent 93%);
1348
+ }
1349
+ .niceeval-turn-trace .niceeval-trace-turn-chevron {
1350
+ color: var(--soft);
1351
+ font: 14px/1 var(--font-mono);
1352
+ text-align: center;
1353
+ transition: transform .12s ease;
1354
+ }
1355
+ .niceeval-turn-trace .niceeval-trace-turn-toggle[aria-expanded="false"] .niceeval-trace-turn-chevron { transform: rotate(-90deg); }
1356
+ .niceeval-turn-trace .niceeval-trace-turn-label { font-size: 11px; font-weight: 650; white-space: nowrap; }
1357
+ .niceeval-turn-trace .niceeval-trace-turn-facts {
1358
+ display: flex;
1359
+ min-width: 0;
1360
+ gap: 8px;
1361
+ overflow: hidden;
1362
+ color: var(--soft);
1363
+ font: 10px/1 var(--font-mono);
1364
+ text-overflow: ellipsis;
1365
+ white-space: nowrap;
1366
+ }
1367
+ .niceeval-turn-trace .niceeval-trace-turn-verdict {
1368
+ color: var(--muted);
1369
+ font: 9px/1 var(--font-mono);
1370
+ letter-spacing: .04em;
1371
+ text-transform: uppercase;
1372
+ }
1373
+ .niceeval-turn-trace .niceeval-trace-turn--failed .niceeval-trace-turn-label,
1374
+ .niceeval-turn-trace .niceeval-trace-turn--failed-events .niceeval-trace-turn-label { color: var(--bad); }
1375
+ .niceeval-turn-trace .niceeval-trace-turn--passed .niceeval-trace-turn-label { color: var(--good); }
1376
+ .niceeval-turn-trace .niceeval-trace-empty-turn {
1377
+ margin: 0;
1378
+ padding: 8px 14px 9px 30px;
1379
+ color: var(--soft);
1380
+ font-size: 11px;
1381
+ }
1382
+ .niceeval-turn-trace .niceeval-trace-event-row {
1383
+ --trace-rail: var(--line-strong);
1384
+ position: relative;
1385
+ min-width: 0;
1386
+ border-bottom: 1px solid color-mix(in oklch, var(--line), transparent 34%);
1387
+ }
1388
+ .niceeval-turn-trace .niceeval-trace-event-row:last-child { border-bottom: 0; }
1389
+ .niceeval-turn-trace .niceeval-trace-event-row--failed { --trace-rail: var(--bad); }
1390
+ .niceeval-turn-trace .niceeval-trace-turn--passed .niceeval-trace-event-row { --trace-rail: var(--good); }
1391
+ .niceeval-turn-trace .niceeval-trace-event-turn-rail {
1392
+ position: absolute;
1393
+ z-index: 1;
1394
+ top: 0;
1395
+ bottom: 0;
1396
+ left: 12px;
1397
+ width: 1px;
1398
+ background: color-mix(in oklch, var(--trace-rail), transparent 36%);
1399
+ pointer-events: none;
1400
+ }
1401
+ .niceeval-turn-trace .niceeval-trace-event-row--tool .niceeval-trace-event-turn-rail {
1402
+ left: 31px;
1403
+ background: color-mix(in oklch, var(--warn), transparent 36%);
1404
+ }
1405
+ .niceeval-turn-trace .niceeval-trace-event-select {
1406
+ position: relative;
1407
+ z-index: 2;
1408
+ display: grid;
1409
+ grid-template-columns: 74px minmax(0, 1fr) 70px 68px;
1410
+ width: 100%;
1411
+ min-height: 30px;
1412
+ align-items: center;
1413
+ gap: 8px;
1414
+ border: 0;
1415
+ border-left: 2px solid transparent;
1416
+ padding: 0 9px 0 23px;
1417
+ background: transparent;
1418
+ color: var(--text);
1419
+ cursor: pointer;
1420
+ text-align: left;
1421
+ }
1422
+ .niceeval-turn-trace .niceeval-trace-event-row--tool .niceeval-trace-event-select { padding-left: 42px; }
1423
+ .niceeval-turn-trace .niceeval-trace-event-select:hover,
1424
+ .niceeval-turn-trace .niceeval-trace-event-select:focus-visible,
1425
+ .niceeval-turn-trace .niceeval-trace-event-select[aria-pressed="true"] {
1426
+ outline: 0;
1427
+ border-left-color: var(--focus);
1428
+ background: color-mix(in oklch, var(--accent), transparent 92%);
1429
+ }
1430
+ .niceeval-turn-trace .niceeval-trace-event-kind {
1431
+ display: block;
1432
+ min-width: 0;
1433
+ overflow: hidden;
1434
+ color: var(--soft);
1435
+ font: 10px/1 var(--font-mono);
1436
+ font-weight: 650;
1437
+ letter-spacing: .035em;
1438
+ text-overflow: ellipsis;
1439
+ text-transform: uppercase;
1440
+ white-space: nowrap;
1441
+ }
1442
+ .niceeval-turn-trace .niceeval-trace-event-kind[data-lane="input"] { color: var(--c0); }
1443
+ .niceeval-turn-trace .niceeval-trace-event-kind[data-lane="model"] { color: var(--accent); }
1444
+ .niceeval-turn-trace .niceeval-trace-event-kind[data-lane="tools"] { color: var(--warn); }
1445
+ .niceeval-turn-trace .niceeval-trace-event-summary {
1446
+ min-width: 0;
1447
+ overflow: hidden;
1448
+ color: var(--text);
1449
+ font-size: 12px;
1450
+ line-height: 1.2;
1451
+ text-overflow: ellipsis;
1452
+ white-space: nowrap;
1453
+ }
1454
+ .niceeval-turn-trace .niceeval-trace-event-row--failed .niceeval-trace-event-summary { color: var(--bad); }
1455
+ .niceeval-turn-trace .niceeval-trace-event-meta,
1456
+ .niceeval-turn-trace .niceeval-trace-event-status {
1457
+ overflow: hidden;
1458
+ color: var(--soft);
1459
+ font: 10px/1 var(--font-mono);
1460
+ text-align: right;
1461
+ text-overflow: ellipsis;
1462
+ white-space: nowrap;
1463
+ }
1464
+ .niceeval-turn-trace .niceeval-trace-event-row--failed .niceeval-trace-event-status { color: var(--bad); }
1465
+ .niceeval-turn-trace .niceeval-trace-evidence {
1466
+ position: relative;
1467
+ z-index: 2;
1468
+ margin: 0 9px 0 23px;
1469
+ border-top: 1px dashed color-mix(in oklch, var(--line), transparent 25%);
1470
+ }
1471
+ .niceeval-turn-trace .niceeval-trace-event-row--tool .niceeval-trace-evidence { margin-left: 42px; }
1472
+ .niceeval-turn-trace .niceeval-trace-evidence > summary {
1473
+ min-height: 24px;
1474
+ padding: 6px 0;
1475
+ color: var(--soft);
1476
+ cursor: pointer;
1477
+ font: 10px/1.2 var(--font-mono);
1478
+ list-style: none;
1479
+ }
1480
+ .niceeval-turn-trace .niceeval-trace-evidence > summary::-webkit-details-marker { display: none; }
1481
+ .niceeval-turn-trace .niceeval-trace-evidence > summary::before { content: "›"; display: inline-block; margin-right: 5px; font-size: 13px; transition: transform .12s ease; }
1482
+ .niceeval-turn-trace .niceeval-trace-evidence[open] > summary::before { transform: rotate(90deg); }
1483
+ .niceeval-turn-trace .niceeval-trace-evidence-body {
1484
+ display: grid;
1485
+ gap: 8px;
1486
+ padding: 0 0 10px;
1487
+ }
1488
+ .niceeval-turn-trace .niceeval-trace-evidence-raw {
1489
+ max-width: 100%;
1490
+ margin: 0;
1491
+ overflow: auto;
1492
+ padding: 8px 9px;
1493
+ border: 1px solid var(--line);
1494
+ background: color-mix(in oklch, var(--panel), black 7%);
1495
+ color: var(--muted);
1496
+ font: 11px/1.45 var(--font-mono);
1497
+ tab-size: 2;
1498
+ white-space: pre-wrap;
1499
+ overflow-wrap: anywhere;
1500
+ }
1501
+ .niceeval-turn-trace .niceeval-trace-evidence-detail {
1502
+ min-width: 0;
1503
+ overflow-wrap: anywhere;
1504
+ }
1505
+ .niceeval-turn-trace .niceeval-trace-evidence-meta {
1506
+ display: flex;
1507
+ min-width: 0;
1508
+ flex-wrap: wrap;
1509
+ gap: 4px 18px;
1510
+ margin: 0;
1511
+ padding: 8px 10px;
1512
+ border: 1px solid var(--line);
1513
+ background: color-mix(in oklch, var(--panel-2), var(--panel) 38%);
1514
+ font-size: 10px;
1515
+ }
1516
+ .niceeval-turn-trace .niceeval-trace-evidence-meta > div { display: flex; min-width: 0; gap: 6px; }
1517
+ .niceeval-turn-trace .niceeval-trace-evidence-meta dt { color: var(--soft); }
1518
+ .niceeval-turn-trace .niceeval-trace-evidence-meta dd { min-width: 0; margin: 0; color: var(--text); }
1519
+ .niceeval-turn-trace .niceeval-trace-evidence-tabs { display: none; }
1520
+ .niceeval-turn-trace .niceeval-trace-evidence-panel {
1521
+ min-width: 0;
1522
+ padding: 9px 10px 10px;
1523
+ border: 1px solid var(--line);
1524
+ background: color-mix(in oklch, var(--panel), black 5%);
1525
+ }
1526
+ .niceeval-turn-trace .niceeval-trace-evidence-panel + .niceeval-trace-evidence-panel { margin-top: 8px; }
1527
+ .niceeval-turn-trace .niceeval-trace-evidence-panel > h4 {
1528
+ margin: 0 0 7px;
1529
+ color: var(--soft);
1530
+ font: 10px/1.2 var(--font-mono);
1531
+ letter-spacing: .04em;
1532
+ text-transform: uppercase;
1533
+ }
1534
+ .niceeval-turn-trace .niceeval-trace-evidence-panel .niceeval-text {
1535
+ margin: 0;
1536
+ white-space: pre-wrap;
1537
+ overflow-wrap: anywhere;
1538
+ }
1539
+ .niceeval-tool-evidence {
1540
+ display: grid;
1541
+ min-width: 0;
1542
+ gap: 9px;
1543
+ }
1544
+ .niceeval-tool-evidence-context {
1545
+ display: flex;
1546
+ min-width: 0;
1547
+ flex-wrap: wrap;
1548
+ align-items: baseline;
1549
+ gap: 5px 18px;
1550
+ color: var(--soft);
1551
+ font: 10px/1.35 var(--font-mono);
1552
+ }
1553
+ .niceeval-tool-evidence-context code,
1554
+ .niceeval-tool-evidence-context strong {
1555
+ color: var(--text);
1556
+ font: inherit;
1557
+ font-weight: 650;
1558
+ }
1559
+ .niceeval-tool-evidence-context strong[data-failed="true"] { color: var(--bad); }
1560
+ .niceeval-tool-evidence-section { min-width: 0; }
1561
+ .niceeval-tool-evidence-section > h5 {
1562
+ margin: 0 0 5px;
1563
+ color: var(--soft);
1564
+ font: 9px/1.2 var(--font-mono);
1565
+ font-weight: 650;
1566
+ letter-spacing: .055em;
1567
+ text-transform: uppercase;
1568
+ }
1569
+ .niceeval-tool-evidence-code {
1570
+ box-sizing: border-box;
1571
+ width: 100%;
1572
+ max-width: 100%;
1573
+ max-height: 36rem;
1574
+ margin: 0;
1575
+ overflow: auto;
1576
+ padding: 10px 11px;
1577
+ border: 1px solid var(--line);
1578
+ background: color-mix(in oklch, var(--panel), black 8%);
1579
+ color: var(--muted);
1580
+ font: 11px/1.5 var(--font-mono);
1581
+ tab-size: 2;
1582
+ white-space: pre-wrap;
1583
+ overflow-wrap: anywhere;
1584
+ }
1585
+ .niceeval-tool-evidence-code--error {
1586
+ border-color: color-mix(in oklch, var(--bad), transparent 58%);
1587
+ color: color-mix(in oklch, var(--bad), var(--text) 38%);
1588
+ }
1589
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence > summary { display: none; }
1590
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence[open] { padding-bottom: 8px; }
1591
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs {
1592
+ display: flex;
1593
+ overflow-x: auto;
1594
+ border: 1px solid var(--line);
1595
+ border-top: 0;
1596
+ padding: 0 6px;
1597
+ background: var(--panel);
1598
+ }
1599
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs button {
1600
+ position: relative;
1601
+ height: 30px;
1602
+ flex: none;
1603
+ border: 0;
1604
+ padding: 0 8px;
1605
+ background: transparent;
1606
+ color: var(--soft);
1607
+ cursor: pointer;
1608
+ font-size: 11px;
1609
+ }
1610
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs button:hover,
1611
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs button[aria-selected="true"] { color: var(--text); }
1612
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs button[aria-selected="true"]::after {
1613
+ position: absolute;
1614
+ right: 8px;
1615
+ bottom: -1px;
1616
+ left: 8px;
1617
+ height: 1px;
1618
+ background: var(--accent);
1619
+ content: "";
1620
+ }
1621
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs button:focus-visible { outline: 1px solid var(--focus); outline-offset: -1px; }
1622
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-panel { margin-top: 0; border-top: 0; }
1623
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-panel[data-active="false"] { display: none; }
1624
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-panel > h4 { display: none; }
1625
+
1626
+ /* Toolbar-driven collapse/search remains additive to static HTML. */
1627
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-turn[data-collapsed="true"] .niceeval-trace-turn-events { display: none; }
1628
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-turn[data-collapsed="true"][data-search-active="true"] .niceeval-trace-turn-events { display: block; }
1629
+ .niceeval-js .niceeval-turn-trace[data-calls-collapsed="true"] .niceeval-trace-event-row[data-tool-row="true"] { display: none; }
1630
+ .niceeval-js .niceeval-turn-trace[data-calls-collapsed="true"] .niceeval-trace-event-row[data-tool-row="true"][data-search-match="true"] { display: block; }
1631
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-event-row.niceeval-row-hidden { display: none; }
1632
+ .niceeval-js .niceeval-turn-trace .niceeval-trace-turn[data-search-empty="true"] { display: none; }
1633
+
1634
+ @media (max-width: 600px) {
1635
+ .niceeval-turn-trace .niceeval-trace-toolbar { align-items: stretch; flex-wrap: wrap; padding: 5px 6px; }
1636
+ .niceeval-turn-trace .niceeval-trace-toolbar-main { width: 100%; overflow-x: auto; }
1637
+ .niceeval-turn-trace .niceeval-trace-search { flex-basis: 100%; margin-left: 0; }
1638
+ .niceeval-turn-trace .niceeval-trace-timeline-plot { grid-template-columns: 54px minmax(0, 1fr); }
1639
+ .niceeval-turn-trace .niceeval-trace-timeline-note { padding-left: 54px; }
1640
+ .niceeval-turn-trace .niceeval-trace-timeline-labels { font-size: 8px; }
1641
+ .niceeval-turn-trace .niceeval-trace-event-select { grid-template-columns: 58px minmax(0, 1fr) 48px; gap: 6px; }
1642
+ .niceeval-turn-trace .niceeval-trace-event-status { display: none; }
1643
+ .niceeval-turn-trace .niceeval-trace-turn-facts span:not(:first-child) { display: none; }
1644
+ }
1645
+ .niceeval-command-evidence {
1646
+ display: block;
1647
+ }
1648
+ .niceeval-command-evidence-region {
1649
+ border: 1px solid var(--line);
1650
+ border-radius: var(--radius);
1651
+ background: var(--panel);
1652
+ }
1653
+ .niceeval-command-evidence-summary {
1654
+ cursor: pointer;
1655
+ list-style: none;
1656
+ padding: 10px 12px;
1657
+ color: var(--muted);
1658
+ font-size: 12px;
1659
+ font-weight: 650;
1660
+ }
1661
+ .niceeval-command-evidence-summary::-webkit-details-marker { display: none; }
1662
+ .niceeval-command-evidence-summary::after {
1663
+ content: "›";
1664
+ float: right;
1665
+ color: var(--soft);
1666
+ font-size: 16px;
1667
+ line-height: 1;
1668
+ transition: transform 0.14s ease;
1669
+ }
1670
+ .niceeval-command-evidence-region[open] > .niceeval-command-evidence-summary::after {
1671
+ transform: rotate(90deg);
1672
+ }
1673
+ .niceeval-command-evidence-cards {
1674
+ display: flex;
1675
+ flex-direction: column;
1676
+ gap: 10px;
1677
+ padding: 0 10px 10px;
1678
+ }
1679
+ .niceeval-command-evidence-card {
1680
+ border: 1px solid var(--line);
1681
+ border-left: 3px solid var(--muted);
1682
+ border-radius: var(--radius);
1683
+ background: var(--panel);
1684
+ padding: 10px 12px;
1685
+ }
1686
+ .niceeval-command-evidence--failed { border-left-color: var(--bad); }
1687
+ .niceeval-command-evidence--observed { border-left-color: var(--muted); }
1688
+ .niceeval-command-evidence--succeeded { border-left-color: var(--good); }
1689
+ .niceeval-command-evidence-card .niceeval-conversation-turn-head {
1690
+ display: flex;
1691
+ flex-wrap: wrap;
1692
+ gap: 0.5em 0.75em;
1693
+ align-items: baseline;
1694
+ margin-bottom: 8px;
1695
+ }
1696
+ .niceeval-command-evidence-card .niceeval-conversation-turn-label {
1697
+ font-weight: 650;
1698
+ font-size: 13px;
1699
+ }
1700
+ .niceeval-command-evidence-display {
1701
+ margin-bottom: 8px;
1702
+ color: var(--muted);
1703
+ font-family: var(--font-mono);
1704
+ font-size: 12px;
1705
+ white-space: pre-wrap;
1706
+ overflow-wrap: anywhere;
1707
+ }
1708
+ .niceeval-command-evidence-card .niceeval-conversation-entry,
1709
+ .niceeval-command-evidence-card .niceeval-conversation-entry > summary {
1710
+ display: flex;
1711
+ flex-wrap: wrap;
1712
+ gap: 0.5em;
1713
+ align-items: baseline;
1714
+ font-size: 12px;
1715
+ line-height: 1.45;
1716
+ }
1717
+ .niceeval-command-evidence-card .niceeval-conversation-entry > summary {
1718
+ cursor: pointer;
1719
+ list-style: none;
1720
+ }
1721
+ .niceeval-command-evidence-card .niceeval-conversation-entry > summary::-webkit-details-marker { display: none; }
1722
+ .niceeval-command-evidence-card .niceeval-conversation-io {
1723
+ max-height: 220px;
1724
+ overflow: auto;
1725
+ margin: 6px 0 0;
1726
+ padding: 8px 10px;
1727
+ border: 1px solid var(--line);
1728
+ border-radius: var(--radius);
1729
+ background: color-mix(in oklch, var(--panel), black 8%);
1730
+ color: var(--muted);
1731
+ font: 11px/1.45 var(--font-mono);
1732
+ white-space: pre-wrap;
1733
+ overflow-wrap: anywhere;
1734
+ }
1735
+
1736
+ /* ---- 图表通用:panel 卡片、轴/网格/tooltip ---- */
1737
+ .niceeval-chart {
1738
+ position: relative; /* tooltip 的定位根 */
1739
+ border: 1px solid var(--line);
1740
+ border-radius: var(--radius);
1741
+ padding: 14px 16px 8px;
1742
+ margin: 1rem 0;
1743
+ background: var(--panel);
1744
+ }
1745
+ .niceeval-chart .niceeval-chart-svg {
1746
+ max-width: 880px;
1747
+ width: 100%;
1748
+ height: auto;
1749
+ margin-inline: auto;
1750
+ display: block;
1751
+ overflow: visible;
1752
+ }
1753
+ .niceeval-report .niceeval-chart-grid line { stroke: var(--line); stroke-width: 1; }
1754
+ .niceeval-report .niceeval-chart-tick { fill: var(--muted); font-size: 10px; }
1755
+ .niceeval-report .niceeval-chart-xlabel,
1756
+ .niceeval-report .niceeval-chart-ylabel { fill: var(--muted); font-size: 12px; }
1757
+ .niceeval-report .niceeval-chart-better-hint { fill: var(--soft); font-size: 11px; }
1758
+ .niceeval-report .niceeval-chart-line {
1759
+ stroke: var(--series);
1760
+ stroke-width: 1.5;
1761
+ fill: none;
1762
+ }
1763
+ .niceeval-report .niceeval-chart-area {
1764
+ fill: color-mix(in srgb, var(--series) 28%, transparent);
1765
+ stroke: none;
1766
+ }
1767
+ .niceeval-report .niceeval-chart-bar {
1768
+ fill: var(--series);
1769
+ }
1770
+ .niceeval-report .niceeval-chart-dot {
1771
+ fill: var(--series);
1772
+ stroke: var(--panel);
1773
+ stroke-width: 2;
1774
+ }
1775
+ .niceeval-report .niceeval-chart-point-label { fill: var(--text); font-size: 11px; }
1776
+ .niceeval-chart--bars-horizontal {
1777
+ padding: 14px 16px;
1778
+ }
1779
+ .niceeval-chart .niceeval-chart-bars-heading {
1780
+ margin-bottom: 10px;
1781
+ color: var(--muted);
1782
+ font-size: 11px;
1783
+ font-weight: 650;
1784
+ letter-spacing: 0.04em;
1785
+ text-transform: uppercase;
1786
+ }
1787
+ .niceeval-chart .niceeval-chart-bars {
1788
+ display: grid;
1789
+ grid-template-columns: max-content minmax(80px, 1fr) max-content;
1790
+ align-items: center;
1791
+ gap: 7px 10px;
1792
+ margin: 0;
1793
+ padding: 0;
1794
+ list-style: none;
1795
+ }
1796
+ .niceeval-chart .niceeval-chart-bar-row {
1797
+ display: grid;
1798
+ grid-column: 1 / -1;
1799
+ grid-template-columns: subgrid;
1800
+ align-items: center;
1801
+ }
1802
+ .niceeval-chart .niceeval-chart-bar-label {
1803
+ min-width: 0;
1804
+ max-width: 24ch;
1805
+ overflow: hidden;
1806
+ font-weight: 600;
1807
+ text-overflow: ellipsis;
1808
+ white-space: nowrap;
1809
+ }
1810
+ .niceeval-chart .niceeval-chart-bar-track {
1811
+ height: 24px;
1812
+ overflow: hidden;
1813
+ background: var(--panel-2);
1814
+ }
1815
+ .niceeval-chart .niceeval-chart-bar-fill {
1816
+ display: block;
1817
+ height: 100%;
1818
+ min-width: 2px;
1819
+ }
1820
+ .niceeval-chart
1821
+ .niceeval-chart-bar-fill:not(.niceeval-series-fill-v2):not(.niceeval-series-fill-v3):not(.niceeval-series-fill-v4) {
1822
+ background: color-mix(in srgb, var(--series) 74%, var(--panel));
1823
+ }
1824
+ .niceeval-chart .niceeval-chart-bar-value {
1825
+ display: inline-flex;
1826
+ gap: 3px;
1827
+ justify-content: flex-end;
1828
+ min-width: 5ch;
1829
+ color: var(--text);
1830
+ font-variant-numeric: tabular-nums;
1831
+ font-weight: 650;
1832
+ text-align: right;
1833
+ }
1834
+ .niceeval-chart .niceeval-chart-bar-value sup {
1835
+ color: var(--muted);
1836
+ font-size: 10px;
1837
+ font-weight: 400;
1838
+ }
1839
+ @media (max-width: 560px) {
1840
+ .niceeval-chart .niceeval-chart-bars {
1841
+ grid-template-columns: minmax(7ch, max-content) minmax(48px, 1fr) max-content;
1842
+ gap: 6px 8px;
1843
+ }
1844
+ .niceeval-chart .niceeval-chart-bar-track { height: 20px; }
1845
+ }
1846
+ .niceeval-chart .niceeval-chart-legend {
1847
+ display: flex;
1848
+ max-width: 880px;
1849
+ flex-wrap: wrap;
1850
+ gap: 0.35rem 0.9rem;
1851
+ color: var(--muted);
1852
+ font-size: 0.85em;
1853
+ margin: 0.5rem auto 0;
1854
+ padding: 0;
1855
+ list-style: none;
1856
+ }
1857
+ .niceeval-chart .niceeval-chart-legend-item {
1858
+ display: inline-flex;
1859
+ align-items: center;
1860
+ gap: 5px;
1861
+ }
1862
+ /* 图例色块由 renderer 显式输出(含 variant 图案 / 线型 / marker),不再用 ::before 单色方块。 */
1863
+ .niceeval-chart .niceeval-chart-legend-swatch {
1864
+ display: inline-block;
1865
+ width: 10px;
1866
+ height: 10px;
1867
+ flex: 0 0 auto;
1868
+ border-radius: var(--radius);
1869
+ }
1870
+ .niceeval-chart
1871
+ .niceeval-chart-legend-swatch:not(.niceeval-series-fill-v2):not(.niceeval-series-fill-v3):not(.niceeval-series-fill-v4) {
1872
+ background: color-mix(in srgb, var(--series) 74%, var(--panel));
1873
+ }
1874
+ .niceeval-chart .niceeval-chart-legend-swatch-svg {
1875
+ display: block;
1876
+ flex: 0 0 auto;
1877
+ overflow: visible;
1878
+ }
1879
+ .niceeval-chart .niceeval-chart-missing {
1880
+ max-width: 880px;
1881
+ color: var(--warn);
1882
+ font-size: 0.85em;
1883
+ margin: 0.35rem auto 0;
1884
+ }
1885
+ .niceeval-chart .niceeval-chart-empty {
1886
+ color: var(--muted);
1887
+ padding: 1.5rem 0.5rem;
1888
+ text-align: center;
1889
+ }
1890
+
1891
+ .niceeval-report .niceeval-scatter-point { cursor: default; }
1892
+ .niceeval-report .niceeval-line-point { fill: var(--series); }
1893
+
1894
+ /* enhance.js 的样式化 tooltip(无 JS 时退化为 SVG <title>) */
1895
+ .niceeval-report .niceeval-tooltip {
1896
+ position: absolute;
1897
+ transform: translate(-50%, -100%);
1898
+ margin-top: -12px;
1899
+ background: var(--panel);
1900
+ border: 1px solid var(--line-strong);
1901
+ border-radius: var(--radius);
1902
+ padding: 8px 10px;
1903
+ font-size: 12px;
1904
+ white-space: pre;
1905
+ pointer-events: none;
1906
+ z-index: 5;
1907
+ }
1908
+ .niceeval-report .niceeval-tooltip b { font-size: 13px; display: block; }
1909
+ .niceeval-report .niceeval-tooltip .niceeval-tooltip-meta { color: var(--muted); margin-top: 2px; }
1910
+
1911
+ /* ---- Attempt 详情组件族 ---------------------------------------------------
1912
+ 这些规则属于 report web face,不属于 view dialog chrome:同一份 AttemptDetails
1913
+ 无论直接打开独立文档、塞进 view dialog,还是嵌入用户自己的 React 页面,都必须
1914
+ 只靠 niceeval/report/react/styles.css 得到完整可读的结构化布局。 ---- */
1915
+
1916
+ /* Summary:判定与 locator 是标题行,身份/时间/成本是一片 Grid。标题行与能力行在面板外
1917
+ ——面板那一圈框由 Grid 自己画,这里再套一层就是贴着的双线。 */
1918
+ .niceeval-attempt-summary {
1919
+ display: grid;
1920
+ gap: 10px;
1921
+ }
1922
+ .niceeval-attempt-summary .niceeval-attempt-summary-head {
1923
+ display: flex;
1924
+ flex-wrap: wrap;
1925
+ align-items: center;
1926
+ gap: 8px;
1927
+ }
1928
+ .niceeval-attempt-summary .niceeval-attempt-summary-locator {
1929
+ min-width: 0;
1930
+ color: var(--text);
1931
+ font-family: var(--font-mono);
1932
+ font-size: 13px;
1933
+ font-weight: 650;
1934
+ overflow-wrap: anywhere;
1935
+ }
1936
+ /* 格内容:紧凑身份表,不是读数卡——所以用自己的 label/value 排版,不复用 Stat 的字号。
1937
+ 一行几格、什么宽度换列、格内多密仍由 Grid 算,这里一个像素都不写。 */
1938
+ .niceeval-kpi {
1939
+ display: grid;
1940
+ gap: 5px;
1941
+ min-width: 0;
1942
+ }
1943
+ .niceeval-kpi-label {
1944
+ color: var(--soft);
1945
+ font-size: 11px;
1946
+ font-weight: 560;
1947
+ letter-spacing: 0.06em;
1948
+ text-transform: uppercase;
1949
+ }
1950
+ .niceeval-kpi-value {
1951
+ color: var(--text);
1952
+ font-size: 13px;
1953
+ font-variant-numeric: tabular-nums;
1954
+ overflow-wrap: anywhere;
1955
+ }
1956
+ .niceeval-attempt-summary .niceeval-attempt-summary-caps {
1957
+ margin: 0;
1958
+ color: var(--soft);
1959
+ font-size: 11px;
1960
+ letter-spacing: 0.04em;
1961
+ }
1962
+
1963
+ /* Error 与断言:中性底 + 失败左边条;可展开明细。 */
1964
+ /* 只有 gate failed(tone-bad)留左边色条;soft/passed/na 用 hairline */
1965
+ .niceeval-report .niceeval-tone-good { color: var(--good); }
1966
+ .niceeval-report .niceeval-tone-warn { color: var(--warn); }
1967
+ .niceeval-report .niceeval-tone-bad { color: var(--bad); }
1968
+ .niceeval-report .niceeval-tone-na { color: var(--soft); }
1969
+
1970
+ /* SourceView 原语:GitHub diff 式带标注源码。整行浅染 + 2px 左缘 + 行号位标记,整块统一横向
1971
+ 滚动;视觉规范单源见 docs/feature/reports/library.md
1972
+ 「web 面视觉规范」,DOM 骨架见同目录 presentation.md「SourceView 的 DOM 骨架」。
1973
+ 普通行是 div,带证据的行是可点击 details;展开区钉在可视左缘,不跟代码横滚。 */
1974
+ .niceeval-source-view {
1975
+ overflow: hidden;
1976
+ border: 1px solid var(--line);
1977
+ border-radius: var(--radius);
1978
+ background: var(--panel);
1979
+ /* 给 .niceeval-source-line-detail 提供 cqw:展开区按面板可视宽度换行,不跟代码横滚。 */
1980
+ container-type: inline-size;
1981
+ }
1982
+ .niceeval-source-view .niceeval-source-block + .niceeval-source-block,
1983
+ .niceeval-source-view .niceeval-source-block + .niceeval-source-unmapped {
1984
+ border-top: 1px solid var(--line);
1985
+ }
1986
+ .niceeval-source-view .niceeval-source-block-path {
1987
+ padding: 7px 12px;
1988
+ border-bottom: 1px solid var(--line);
1989
+ color: var(--muted);
1990
+ font-family: var(--font-mono);
1991
+ font-size: 12px;
1992
+ font-weight: 600;
1993
+ overflow-wrap: anywhere;
1994
+ background: color-mix(in oklch, var(--panel-2), var(--line) 35%);
1995
+ }
1996
+ .niceeval-source-view .niceeval-source-block--nested > .niceeval-source-block-path {
1997
+ font-size: 11px;
1998
+ font-weight: 550;
1999
+ }
2000
+ .niceeval-source-view .niceeval-source-lines {
2001
+ overflow-x: auto;
2002
+ padding: 6px 0;
2003
+ background: color-mix(in oklch, var(--panel-2), var(--panel) 48%);
2004
+ font: 12.5px/1.65 var(--font-mono);
2005
+ /* 横滚时行盒要撑到最长行宽度,底色/左缘才能盖满整行,展开区的 sticky 才有位移空间。 */
2006
+ display: grid;
2007
+ }
2008
+ .niceeval-source-view .niceeval-source-line { color: var(--text); }
2009
+ .niceeval-source-view .niceeval-source-line > summary {
2010
+ cursor: pointer;
2011
+ list-style: none;
2012
+ }
2013
+ .niceeval-source-view .niceeval-source-line > summary::-webkit-details-marker { display: none; }
2014
+ /* 行盒:行号位 / 代码 / 右缘 meta 三列。div 行与 details 行共用同一个内层 span,
2015
+ 状态底色与左缘因此对两种行一致生效。 */
2016
+ .niceeval-source-view .niceeval-source-line-summary {
2017
+ display: grid;
2018
+ grid-template-columns: 44px minmax(0, 1fr) auto;
2019
+ align-items: center;
2020
+ min-width: 100%;
2021
+ width: max-content;
2022
+ padding: 1px 0;
2023
+ }
2024
+ .niceeval-source-view details.niceeval-source-line > summary:hover .niceeval-source-line-summary {
2025
+ background-image: linear-gradient(
2026
+ color-mix(in oklch, var(--text), transparent 95%),
2027
+ color-mix(in oklch, var(--text), transparent 95%)
2028
+ );
2029
+ }
2030
+ .niceeval-source-view .niceeval-source-gutter {
2031
+ align-self: stretch;
2032
+ display: flex;
2033
+ align-items: center;
2034
+ justify-content: flex-end;
2035
+ padding-right: 12px;
2036
+ color: var(--soft);
2037
+ font-size: 11px;
2038
+ user-select: none;
2039
+ }
2040
+ .niceeval-source-view .niceeval-source-gutter-mark svg {
2041
+ width: 13px;
2042
+ height: 13px;
2043
+ fill: none;
2044
+ stroke: currentColor;
2045
+ stroke-linecap: round;
2046
+ stroke-linejoin: round;
2047
+ stroke-width: 2;
2048
+ }
2049
+ .niceeval-source-view .niceeval-source-code {
2050
+ color: var(--text);
2051
+ font: inherit;
2052
+ white-space: pre;
2053
+ }
2054
+ /* 右缘 meta 钉在滚动视口右缘,横滚时始终可见。它盖在代码上,所以自带与所在行同色的
2055
+ 不透明底:基色是源码块底色,叠一层该行的 tone 浅染,视觉上与行底连成一片。 */
2056
+ .niceeval-source-view .niceeval-source-meta {
2057
+ position: sticky;
2058
+ right: 0;
2059
+ display: flex;
2060
+ align-items: center;
2061
+ gap: 8px;
2062
+ padding: 0 12px 0 16px;
2063
+ font: 11px/1.65 var(--font-mono);
2064
+ white-space: nowrap;
2065
+ background-color: color-mix(in oklch, var(--panel-2), var(--panel) 48%);
2066
+ background-image: linear-gradient(
2067
+ color-mix(in oklch, var(--line-tone, transparent), transparent 92%),
2068
+ color-mix(in oklch, var(--line-tone, transparent), transparent 92%)
2069
+ );
2070
+ }
2071
+ .niceeval-source-view .niceeval-source-pill {
2072
+ padding: 1px 8px;
2073
+ border-radius: var(--radius);
2074
+ background: color-mix(in oklch, var(--text), transparent 90%);
2075
+ font-weight: 650;
2076
+ }
2077
+ .niceeval-source-view .niceeval-source-abort-mark {
2078
+ color: var(--bad);
2079
+ font-weight: 700;
2080
+ }
2081
+ /* 展开 chevron 是可点击行的纯呈现记号,由 CSS 提供,组件不为它发一个节点。 */
2082
+ .niceeval-source-view details.niceeval-source-line > summary .niceeval-source-meta::after {
2083
+ content: "›";
2084
+ color: var(--soft);
2085
+ font-size: 16px;
2086
+ line-height: 1;
2087
+ transition: transform 0.14s ease;
2088
+ }
2089
+ .niceeval-source-view details.niceeval-source-line[open] > summary .niceeval-source-meta::after {
2090
+ color: var(--text);
2091
+ transform: rotate(90deg);
2092
+ }
2093
+ /* 行状态:每档只声明一个 tone 色,染色 / 左缘 / 行号位取同一个变量。 */
2094
+ .niceeval-source-view .niceeval-source-line--send { --line-tone: var(--c0); }
2095
+ .niceeval-source-view .niceeval-source-line--passed { --line-tone: var(--good); }
2096
+ .niceeval-source-view .niceeval-source-line--gate-fail { --line-tone: var(--bad); }
2097
+ .niceeval-source-view .niceeval-source-line--soft-fail,
2098
+ .niceeval-source-view .niceeval-source-line--unavailable { --line-tone: var(--warn); }
2099
+ .niceeval-source-view .niceeval-source-line--send > summary > .niceeval-source-line-summary,
2100
+ .niceeval-source-view .niceeval-source-line--passed > summary > .niceeval-source-line-summary,
2101
+ .niceeval-source-view .niceeval-source-line--gate-fail > summary > .niceeval-source-line-summary,
2102
+ .niceeval-source-view .niceeval-source-line--soft-fail > summary > .niceeval-source-line-summary,
2103
+ .niceeval-source-view .niceeval-source-line--unavailable > summary > .niceeval-source-line-summary,
2104
+ .niceeval-source-view .niceeval-source-line--send > .niceeval-source-line-summary,
2105
+ .niceeval-source-view .niceeval-source-line--passed > .niceeval-source-line-summary,
2106
+ .niceeval-source-view .niceeval-source-line--gate-fail > .niceeval-source-line-summary,
2107
+ .niceeval-source-view .niceeval-source-line--soft-fail > .niceeval-source-line-summary,
2108
+ .niceeval-source-view .niceeval-source-line--unavailable > .niceeval-source-line-summary {
2109
+ background-color: color-mix(in oklch, var(--line-tone), transparent 92%);
2110
+ box-shadow: inset 2px 0 0 var(--line-tone);
2111
+ }
2112
+ .niceeval-source-view .niceeval-source-line--send .niceeval-source-gutter,
2113
+ .niceeval-source-view .niceeval-source-line--passed .niceeval-source-gutter,
2114
+ .niceeval-source-view .niceeval-source-line--gate-fail .niceeval-source-gutter,
2115
+ .niceeval-source-view .niceeval-source-line--soft-fail .niceeval-source-gutter,
2116
+ .niceeval-source-view .niceeval-source-line--unavailable .niceeval-source-gutter {
2117
+ color: var(--line-tone);
2118
+ }
2119
+ /* 中止行之后的源码行没跑到:整体降灰,行号照常。 */
2120
+ .niceeval-source-view .niceeval-source-line-unreached { opacity: 0.45; }
2121
+ .niceeval-source-view .niceeval-source-line-detail {
2122
+ border-top: 1px dashed var(--line);
2123
+ padding: 8px 12px 10px 44px;
2124
+ background: var(--panel);
2125
+ position: sticky;
2126
+ left: 0;
2127
+ width: 100cqw;
2128
+ max-width: 100cqw;
2129
+ box-sizing: border-box;
2130
+ white-space: normal;
2131
+ overflow-wrap: anywhere;
2132
+ box-shadow: inset 2px 0 0 var(--line-tone, transparent);
2133
+ }
2134
+ /* 展开区内容:判定摘要一行、细节正文等宽、给分记录一行。同行重复 send
2135
+ 复用 Conversation 的完整轮卡;轮头必须保留,才能区分 outcome 与 duration。 */
2136
+ .niceeval-source-view .niceeval-source-line-detail .niceeval-conversation-turn { border-left: 0; padding-left: 0; }
2137
+ .niceeval-source-view .niceeval-source-line-detail > * + * { margin-top: 6px; }
2138
+ .niceeval-source-view .niceeval-source-assertion {
2139
+ margin: 0;
2140
+ font-family: var(--font-mono);
2141
+ font-size: 12px;
2142
+ font-weight: 650;
2143
+ }
2144
+ .niceeval-source-view .niceeval-source-assertion-body {
2145
+ margin: 0;
2146
+ padding: 6px 10px;
2147
+ border-radius: var(--radius);
2148
+ background: var(--panel-2);
2149
+ color: var(--muted);
2150
+ font-family: var(--font-mono);
2151
+ font-size: 12px;
2152
+ white-space: pre-wrap;
2153
+ overflow-wrap: anywhere;
2154
+ }
2155
+ .niceeval-source-view .niceeval-source-score-entry {
2156
+ margin: 0;
2157
+ color: var(--muted);
2158
+ font-size: 12px;
2159
+ font-variant-numeric: tabular-nums;
2160
+ }
2161
+ .niceeval-source-view .niceeval-source-unmapped .niceeval-source-assertion,
2162
+ .niceeval-source-view .niceeval-source-unmapped .niceeval-source-score-entry { margin-bottom: 4px; }
2163
+
2164
+ /* 调用片段:每层一条左缘层级线,summary 自己就是计票 / 挣分摘要。展开区已经缩到代码列,
2165
+ 这里只加一层缩进,不再叠加行号列宽度。 */
2166
+ .niceeval-source-view .niceeval-source-calls {
2167
+ padding-left: 10px;
2168
+ border-left: 2px solid var(--line-strong);
2169
+ }
2170
+ /* opaque 帧下继续挂调用树时,层级线接着往里缩一层。 */
2171
+ .niceeval-source-view .niceeval-source-opaque > .niceeval-source-calls { margin-top: 2px; }
2172
+ .niceeval-source-view .niceeval-source-call > summary {
2173
+ cursor: pointer;
2174
+ list-style: none;
2175
+ padding: 4px 12px;
2176
+ color: var(--muted);
2177
+ font-size: 11px;
2178
+ font-weight: 650;
2179
+ }
2180
+ .niceeval-source-view .niceeval-source-call > summary::-webkit-details-marker { display: none; }
2181
+ .niceeval-source-view .niceeval-source-call--passed > summary { color: var(--good); }
2182
+ .niceeval-source-view .niceeval-source-call--gate-fail > summary { color: var(--bad); }
2183
+ .niceeval-source-view .niceeval-source-call--soft-fail > summary,
2184
+ .niceeval-source-view .niceeval-source-call--unavailable > summary { color: var(--warn); }
2185
+ .niceeval-source-view .niceeval-source-call .niceeval-source-block { border-top: 1px solid var(--line); }
2186
+ /* package 帧与缺正文的帧:不可展开的中间 label,更深的项目源码继续显示。 */
2187
+ .niceeval-source-view .niceeval-source-opaque-label {
2188
+ padding: 4px 12px;
2189
+ color: var(--muted);
2190
+ font-size: 11px;
2191
+ font-style: italic;
2192
+ }
2193
+ /* 兜底区:源码块之后、与源码块同宽。 */
2194
+ .niceeval-source-view .niceeval-source-unmapped {
2195
+ padding: 8px 12px 10px;
2196
+ background: color-mix(in oklch, var(--panel-2), var(--panel) 48%);
2197
+ }
2198
+ .niceeval-source-view .tok-comment { color: light-dark(#6e7781, #6a9955); font-style: italic; }
2199
+ .niceeval-source-view .tok-str { color: light-dark(#953800, #ce9178); }
2200
+ .niceeval-source-view .tok-kw { color: light-dark(#0b62d6, #569cd6); }
2201
+ .niceeval-source-view .tok-num { color: light-dark(#116329, #b5cea8); }
2202
+ .niceeval-source-view .tok-fn { color: light-dark(#755f00, #dcdcaa); }
2203
+
2204
+ /* Diagnostics 与 usage:技术信息保持紧凑。usage 就是一片 Grid,自己不写几何,也不按视口
2205
+ 换形态——视口 media query 量的是窗口,不是这块内容实际拿到多宽;attempt 详情塞进 view
2206
+ 的 dialog 时,窄面板配宽窗口会照着窗口排版。 */
2207
+ .niceeval-usage-table .niceeval-kpi-value { font-family: var(--font-mono); }
2208
+
2209
+ /* ---- 排版原语 Row / Col / Section / Text ---- */
2210
+ .niceeval-col {
2211
+ display: flex;
2212
+ flex-direction: column;
2213
+ gap: 1.25rem;
2214
+ }
2215
+ .niceeval-col > .niceeval-report { margin: 0; }
2216
+ .niceeval-row {
2217
+ display: flex;
2218
+ flex-wrap: wrap;
2219
+ gap: 1.5rem;
2220
+ align-items: flex-start;
2221
+ }
2222
+ .niceeval-row > * {
2223
+ flex: 1 1 20rem;
2224
+ min-width: 0;
2225
+ }
2226
+ .niceeval-section .niceeval-section-title {
2227
+ font-size: 17px;
2228
+ font-weight: 700;
2229
+ line-height: 1.2;
2230
+ margin: 0 0 10px;
2231
+ }
2232
+ .niceeval-section > .niceeval-report { margin: 0 0 1rem; }
2233
+ .niceeval-text {
2234
+ color: var(--muted);
2235
+ margin: 0.25rem 0;
2236
+ }
2237
+
2238
+ /* ---- Section header:标题行右侧短元信息(meta),同一行右对齐,空间不足自动换行
2239
+ (docs/feature/reports/library.md「Grid 与 Stat」)。省略 meta 时 Section
2240
+ 渲染的是裸 <h2>(既有结构),不套这层 header——旧行为逐字节不变。 ---- */
2241
+ .niceeval-section-header {
2242
+ display: flex;
2243
+ flex-wrap: wrap;
2244
+ align-items: baseline;
2245
+ justify-content: space-between;
2246
+ gap: 4px 16px;
2247
+ margin: 0 0 10px;
2248
+ }
2249
+ .niceeval-section-header .niceeval-section-title { margin: 0; }
2250
+ .niceeval-section-header .niceeval-section-meta {
2251
+ margin: 0;
2252
+ color: var(--muted);
2253
+ font-size: 13px;
2254
+ white-space: nowrap;
2255
+ }
2256
+
2257
+ /* ---- Grid:自由摘要面板的格子容器(docs/feature/reports/architecture.md「排版原语的语义层
2258
+ 与面内布局」、library/layout.md「换列规则」「体裁与体量」)。外层 .niceeval-grid-fit
2259
+ 是具名 inline-size 容器——容器查询查的是祖先,Grid 自己声明 container-type 查不到
2260
+ 自己。基线一列;≥2 列的断点由每个 Grid 随身的 @container 规则写出(格数的纯函数,
2261
+ 几何常量在 grid-layout.ts)。stylesheet 不为某个格数写死断点,随身规则也不写留白和
2262
+ 字号——它只声明 --grid-columns,体量在这里按算出来的实际格宽插值。末行恰一格时同行
2263
+ 规则附带 grid-column:1/-1 铺满;短于一行但不止一格时按上面各行格宽左对齐,不拉伸。
2264
+ 容器查询未生效时仍是一列,节点与文本完整。 ---- */
2265
+ .niceeval-grid-fit {
2266
+ container-type: inline-size;
2267
+ container-name: niceeval-grid;
2268
+ }
2269
+ .niceeval-grid {
2270
+ --grid-columns: 1;
2271
+ /* 实际格宽:容器宽扣掉格线后除以列数。体量是它的函数,不是作者选的档—— 160px(最小
2272
+ 格宽)取下限,涨到 220px 到上限,中间线性过渡。 */
2273
+ --grid-cell-width: calc((100cqi - (var(--grid-columns) - 1) * 1px) / var(--grid-columns));
2274
+ --grid-cell-padding: clamp(10px, calc(10px + (var(--grid-cell-width) - 160px) * 0.1), 16px);
2275
+ --stat-value-size: clamp(16px, calc(16px + (var(--grid-cell-width) - 160px) * 0.0667), 20px);
2276
+ display: grid;
2277
+ grid-template-columns: minmax(0, 1fr);
2278
+ gap: 0;
2279
+ overflow: hidden;
2280
+ margin: 1rem 0;
2281
+ border: 1px solid var(--line);
2282
+ border-radius: var(--radius);
2283
+ background: var(--panel);
2284
+ }
2285
+ /* 一片格子读成一个面板:每格只向右、向下各投一条线,落到面板边界外的那几条被
2286
+ overflow 裁掉——不靠每格自画四边框,也不靠相邻项拼半边框,所以换行、末行变短、
2287
+ 末行只剩一格都不会缺边或双线。末格右边没有邻居,只留下面那条。 */
2288
+ .niceeval-grid-cell {
2289
+ min-width: 0;
2290
+ padding: var(--grid-cell-padding);
2291
+ box-shadow: 1px 0 0 var(--line), 0 1px 0 var(--line);
2292
+ }
2293
+ .niceeval-grid > .niceeval-grid-cell:last-child { box-shadow: 0 1px 0 var(--line); }
2294
+ /* 格内留白由 Grid 给:直接放进格子的区块不再自带块间距,否则每格都比内容高出一圈,
2295
+ 矮格底部那片空白会读成「这张卡没填满」。 */
2296
+ .niceeval-grid-cell > .niceeval-report { margin: 0; }
2297
+ /* 一个 cell 里嵌套多个 Stat(Col 归拢):只有纵向留白,没有内部分隔线。 */
2298
+ .niceeval-grid-cell > .niceeval-col { gap: calc(var(--grid-cell-padding) * 0.75); }
2299
+
2300
+ /* ---- Stat:label / 主值 / detail 三段;label 与 detail 弱化层级,value 用 tabular
2301
+ numerals;tone 是主值的语义色,只染 value——positive 不会把 label 和 detail
2302
+ 一并染色。 ---- */
2303
+ .niceeval-stat {
2304
+ display: flex;
2305
+ flex-direction: column;
2306
+ gap: 4px;
2307
+ min-width: 0;
2308
+ }
2309
+ .niceeval-stat .niceeval-stat-label {
2310
+ color: var(--soft);
2311
+ font-size: 12px;
2312
+ font-weight: 560;
2313
+ overflow-wrap: anywhere;
2314
+ }
2315
+ .niceeval-stat .niceeval-stat-value {
2316
+ font-size: var(--stat-value-size);
2317
+ font-weight: 700;
2318
+ line-height: 1.15;
2319
+ font-variant-numeric: tabular-nums;
2320
+ font-feature-settings: "tnum";
2321
+ overflow-wrap: anywhere;
2322
+ }
2323
+ /* Generic table values stay on one line, but a Stat can carry an auditable
2324
+ cost projection summary. Let that value wrap inside its Grid cell instead
2325
+ of being clipped by the panel's border-overflow mask. */
2326
+ .niceeval-stat .niceeval-value { white-space: normal; }
2327
+ .niceeval-stat .niceeval-stat-detail {
2328
+ color: var(--muted);
2329
+ font-size: 12px;
2330
+ overflow-wrap: anywhere;
2331
+ }
2332
+ .niceeval-stat--positive .niceeval-stat-value { color: var(--good); }
2333
+ .niceeval-stat--negative .niceeval-stat-value { color: var(--bad); }
2334
+ .niceeval-stat--warning .niceeval-stat-value { color: var(--warn); }
2335
+
2336
+ /* SampleOverview 把通用 Grid / Stat 组合成官方摘要条;数据与 Cell 仍走原语。摘要条上没有
2337
+ 第二层皮肤:一行摆几格、什么宽度换列、格内多密、边框长什么样全归 Grid 自己算,这里只剩
2338
+ 摘要条自己那行时间范围文案(docs/feature/reports/library.md
2339
+ 「摘要条的外观」)。 */
2340
+ .niceeval-sample-summary .niceeval-grid { margin: 0; }
2341
+ .niceeval-sample-summary .niceeval-sample-summary-range {
2342
+ margin: -0.35rem 0 0;
2343
+ color: var(--soft);
2344
+ font-size: 13px;
2345
+ }
2346
+
2347
+ /* ---- Tabs:静态 HTML 每 tab 一个 <details> 且仅首个 open(无 JS = 手风琴卡片,内容完整);
2348
+ enhance.js 在 <html> 上打 niceeval-js 后升级为单选 tab 条:收起的 tab 缩成一枚标题排在首行,
2349
+ 唯一展开的 tab 以 100% 宽 + order:1 换行到下方,活动标题带高亮下划线、贴着面板顶部。
2350
+ 不能用 display:contents 把 summary/body 直接投影进 flex 容器——Chrome 里 <details> 的
2351
+ UA shadow slot 会成为 flex item,子元素的 order 失效、收起面板还留 0 宽盒 ---- */
2352
+ .niceeval-tabs > .niceeval-tab {
2353
+ border: 1px solid var(--line);
2354
+ border-radius: var(--radius);
2355
+ background: var(--panel);
2356
+ margin-bottom: 8px;
2357
+ }
2358
+ .niceeval-tabs > .niceeval-tab > .niceeval-tab-title {
2359
+ padding: 10px 14px;
2360
+ cursor: pointer;
2361
+ user-select: none;
2362
+ font-weight: 620;
2363
+ list-style: none;
2364
+ }
2365
+ .niceeval-tabs > .niceeval-tab > .niceeval-tab-title::-webkit-details-marker { display: none; }
2366
+ .niceeval-tabs > .niceeval-tab > .niceeval-tab-title::before {
2367
+ content: "";
2368
+ display: inline-block;
2369
+ width: 7px;
2370
+ height: 7px;
2371
+ margin-right: 10px;
2372
+ border-right: 1.5px solid var(--muted);
2373
+ border-bottom: 1.5px solid var(--muted);
2374
+ transform: rotate(-45deg);
2375
+ transition: transform 0.15s;
2376
+ vertical-align: 1px;
2377
+ }
2378
+ .niceeval-tabs > .niceeval-tab[open] > .niceeval-tab-title::before { transform: rotate(45deg); }
2379
+ .niceeval-tabs > .niceeval-tab > .niceeval-tab-body { padding: 2px 14px 12px; }
2380
+ .niceeval-tabs .niceeval-tab-body > .niceeval-report:first-child { margin-top: 0; }
2381
+ .niceeval-tabs .niceeval-tab-body > .niceeval-report:last-child { margin-bottom: 0; }
2382
+
2383
+ :root.niceeval-js .niceeval-tabs {
2384
+ display: flex;
2385
+ flex-wrap: wrap;
2386
+ align-items: stretch;
2387
+ column-gap: 2px;
2388
+ }
2389
+ :root.niceeval-js .niceeval-tabs > .niceeval-tab {
2390
+ margin: 0;
2391
+ border: 0;
2392
+ border-radius: 0;
2393
+ background: transparent;
2394
+ flex: 0 0 auto;
2395
+ min-width: 0;
2396
+ }
2397
+ :root.niceeval-js .niceeval-tabs > .niceeval-tab[open] {
2398
+ flex: 1 1 100%;
2399
+ order: 1;
2400
+ }
2401
+ :root.niceeval-js .niceeval-tabs > .niceeval-tab > .niceeval-tab-title {
2402
+ padding: 8px 14px 9px;
2403
+ border-radius: var(--radius) var(--radius) 0 0;
2404
+ color: var(--muted);
2405
+ font-weight: 560;
2406
+ box-shadow: inset 0 -1px 0 var(--line);
2407
+ }
2408
+ :root.niceeval-js .niceeval-tabs > .niceeval-tab > .niceeval-tab-title::before { content: none; }
2409
+ :root.niceeval-js .niceeval-tabs > .niceeval-tab > .niceeval-tab-title:hover {
2410
+ color: var(--text);
2411
+ background: color-mix(in oklch, var(--panel-2), var(--panel) 35%);
2412
+ }
2413
+ :root.niceeval-js .niceeval-tabs > .niceeval-tab[open] > .niceeval-tab-title {
2414
+ width: max-content;
2415
+ max-width: 100%;
2416
+ color: var(--text);
2417
+ font-weight: 650;
2418
+ box-shadow: inset 0 -2px 0 var(--c0);
2419
+ cursor: default;
2420
+ }
2421
+ :root.niceeval-js .niceeval-tabs > .niceeval-tab > .niceeval-tab-body { padding: 14px 0 0; }
2422
+
2423
+ /* ---- View document + Host shell -------------------------------------------------
2424
+ * This is intentionally the only shell stylesheet. The HTML Host emits structure
2425
+ * and theme variables, but owns no competing reset or Report-content rules.
2426
+ */
2427
+ html.niceeval-view-document {
2428
+ box-sizing: border-box;
2429
+ min-width: 320px;
2430
+ color-scheme: dark;
2431
+ background: var(--niceeval-color-page, #050505);
2432
+ color: var(--niceeval-color-text, #ededed);
2433
+ font-family: var(--niceeval-font-sans, ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "PingFang SC", sans-serif);
2434
+ font-size: 16px;
2435
+ line-height: 1.5;
2436
+ text-size-adjust: 100%;
2437
+ }
2438
+
2439
+ html.niceeval-view-document *,
2440
+ html.niceeval-view-document *::before,
2441
+ html.niceeval-view-document *::after { box-sizing: inherit; }
2442
+
2443
+ html.niceeval-view-document body {
2444
+ min-height: 100vh;
2445
+ margin: 0;
2446
+ background: var(--niceeval-color-page, #050505);
2447
+ color: var(--niceeval-color-text, #ededed);
2448
+ letter-spacing: 0;
2449
+ }
2450
+
2451
+ .niceeval-view-shell {
2452
+ min-height: 64px;
2453
+ padding: 0 clamp(20px, 5vw, 80px);
2454
+ border-bottom: 1px solid var(--niceeval-color-border, #262626);
2455
+ background: var(--niceeval-color-page, #050505);
2456
+ position: sticky;
2457
+ top: 0;
2458
+ z-index: 10;
2459
+ display: flex;
2460
+ align-items: center;
2461
+ justify-content: space-between;
2462
+ gap: 28px;
2463
+ }
2464
+
2465
+ .niceeval-view-brand,
2466
+ .niceeval-view-nav a {
2467
+ color: inherit;
2468
+ text-decoration: none;
2469
+ }
2470
+
2471
+ .niceeval-view-brand {
2472
+ display: flex;
2473
+ flex: 0 0 auto;
2474
+ align-items: baseline;
2475
+ gap: 12px;
2476
+ font-size: 20px;
2477
+ font-weight: 690;
2478
+ }
2479
+
2480
+ .niceeval-view-mark {
2481
+ display: inline-block;
2482
+ width: 18px;
2483
+ height: 18px;
2484
+ border: 1.25px solid currentColor;
2485
+ transform: rotate(45deg);
2486
+ }
2487
+
2488
+ .niceeval-view-nav {
2489
+ display: flex;
2490
+ min-width: 0;
2491
+ align-items: center;
2492
+ gap: 22px;
2493
+ color: var(--niceeval-color-text-secondary, #a1a1aa);
2494
+ font-size: 14px;
2495
+ }
2496
+
2497
+ .niceeval-view-nav ul {
2498
+ display: flex;
2499
+ min-width: 0;
2500
+ margin: 0;
2501
+ padding: 0;
2502
+ gap: 22px;
2503
+ list-style: none;
2504
+ }
2505
+
2506
+ .niceeval-view-nav a {
2507
+ font: inherit;
2508
+ white-space: nowrap;
2509
+ transition: color 120ms ease;
2510
+ }
2511
+
2512
+ .niceeval-view-nav a:hover,
2513
+ .niceeval-view-nav a[aria-current="page"] {
2514
+ color: var(--niceeval-color-text, #ededed);
2515
+ }
2516
+
2517
+ .niceeval-view-nav a[aria-current="page"] { font-weight: 560; }
2518
+
2519
+ .niceeval-view-locale {
2520
+ display: inline-flex;
2521
+ flex: 0 0 auto;
2522
+ align-items: center;
2523
+ overflow: hidden;
2524
+ border: 1px solid var(--niceeval-color-border, #262626);
2525
+ border-radius: var(--niceeval-radius, 0);
2526
+ background: var(--niceeval-color-surface, #0b0b0b);
2527
+ }
2528
+
2529
+ .niceeval-view-locale button {
2530
+ height: 30px;
2531
+ min-width: 44px;
2532
+ border: 0;
2533
+ border-right: 1px solid var(--niceeval-color-border, #262626);
2534
+ padding: 0;
2535
+ color: var(--niceeval-color-text-secondary, #a1a1aa);
2536
+ background: transparent;
2537
+ font: inherit;
2538
+ font-size: 12px;
2539
+ line-height: 1;
2540
+ cursor: pointer;
2541
+ }
2542
+
2543
+ .niceeval-view-locale button:last-child { border-right: 0; }
2544
+ .niceeval-view-locale button:hover { color: var(--niceeval-color-text, #ededed); }
2545
+ .niceeval-view-locale button.is-active {
2546
+ color: var(--niceeval-color-text, #ededed);
2547
+ background: var(--niceeval-color-surface-subtle, #111111);
2548
+ font-weight: 620;
2549
+ }
2550
+
2551
+ .niceeval-view-nav a:focus-visible,
2552
+ .niceeval-view-locale button:focus-visible,
2553
+ .niceeval-view-brand:focus-visible {
2554
+ outline: 1px solid var(--niceeval-color-focus, #cbd6dc);
2555
+ outline-offset: 2px;
2556
+ }
2557
+
2558
+ .niceeval-view-main {
2559
+ width: min(1120px, calc(100vw - 40px));
2560
+ margin: 0 auto;
2561
+ padding: clamp(52px, 7vw, 82px) 0 72px;
2562
+ }
2563
+
2564
+ .niceeval-view-report-slot { margin: 0 auto 36px; }
2565
+
2566
+ /* View shell owns only the modal chrome. The report body inside the dialog
2567
+ keeps the same closed product markup and the same stylesheet as its direct
2568
+ route; the runtime injects no second CSS owner. */
2569
+ .niceeval-view-dialog {
2570
+ /* Matches the old Radix DialogContent utility contract:
2571
+ `flex ... flex-col overflow-hidden`. Without this, a long closed detail
2572
+ document is laid out at its full height and then clipped by max-height,
2573
+ instead of giving its body the old independently-scrollable viewport. */
2574
+ display: flex;
2575
+ flex-direction: column;
2576
+ width: min(1120px, calc(100vw - 48px));
2577
+ max-width: none;
2578
+ max-height: min(86vh, 820px);
2579
+ margin: auto;
2580
+ padding: 0;
2581
+ overflow: hidden;
2582
+ border: 1px solid var(--niceeval-color-border-strong, #343434);
2583
+ border-radius: var(--niceeval-radius, 0);
2584
+ color: var(--niceeval-color-text, #ededed);
2585
+ background: var(--niceeval-color-surface, #0b0b0b);
2586
+ box-shadow: 0 20px 60px rgb(0 0 0 / 45%);
2587
+ }
2588
+
2589
+ /* An author display declaration overrides the browser's default
2590
+ `dialog:not([open]) { display: none }` rule. Preserve the legacy Radix
2591
+ unmount result when native dialog.close() removes [open]. */
2592
+ .niceeval-view-dialog:not([open]) { display: none; }
2593
+
2594
+ .niceeval-view-dialog::backdrop { background: rgb(0 0 0 / 90%); }
2595
+
2596
+ .niceeval-view-dialog-head {
2597
+ flex: 0 0 auto;
2598
+ position: sticky;
2599
+ top: 0;
2600
+ z-index: 1;
2601
+ display: flex;
2602
+ align-items: center;
2603
+ justify-content: flex-end;
2604
+ padding: 16px 28px 12px;
2605
+ border-bottom: 1px solid var(--niceeval-color-border, #262626);
2606
+ background: var(--niceeval-color-surface, #0b0b0b);
2607
+ }
2608
+
2609
+ .niceeval-view-dialog-title {
2610
+ position: absolute;
2611
+ width: 1px;
2612
+ height: 1px;
2613
+ margin: -1px;
2614
+ padding: 0;
2615
+ overflow: hidden;
2616
+ clip: rect(0, 0, 0, 0);
2617
+ white-space: nowrap;
2618
+ border: 0;
2619
+ }
2620
+
2621
+ .niceeval-view-dialog-close {
2622
+ width: 28px;
2623
+ height: 28px;
2624
+ padding: 0;
2625
+ border: 1px solid transparent;
2626
+ border-radius: var(--niceeval-radius, 0);
2627
+ color: var(--niceeval-color-text-secondary, #a1a1aa);
2628
+ background: none;
2629
+ font: inherit;
2630
+ font-size: 14px;
2631
+ line-height: 1;
2632
+ cursor: pointer;
2633
+ }
2634
+
2635
+ .niceeval-view-dialog-close:hover {
2636
+ border-color: var(--niceeval-color-border, #262626);
2637
+ color: var(--niceeval-color-text, #ededed);
2638
+ background: var(--niceeval-color-surface-subtle, #111);
2639
+ }
2640
+ .niceeval-view-dialog-close:focus-visible {
2641
+ outline: 1px solid var(--niceeval-color-focus, #cbd6dc);
2642
+ outline-offset: 2px;
2643
+ }
2644
+
2645
+ .niceeval-view-dialog-body {
2646
+ flex: 1;
2647
+ min-height: 0;
2648
+ margin: 0;
2649
+ padding: 8px 28px 28px;
2650
+ overflow-y: auto;
2651
+ }
2652
+
2653
+ .niceeval-view-problems {
2654
+ margin: 24px 0 0;
2655
+ padding: 10px;
2656
+ border: 1px solid var(--niceeval-color-warning, #e8b84a);
2657
+ color: var(--niceeval-color-warning, #e8b84a);
2658
+ background: var(--niceeval-color-surface, #0b0b0b);
2659
+ }
2660
+
2661
+ .niceeval-view-problems h2 { margin: 0 0 8px; font-size: 14px; }
2662
+ .niceeval-view-problems ul { margin: 0; padding-left: 20px; }
2663
+ .niceeval-view-noscript { margin: 0; color: var(--niceeval-color-text-secondary, #a1a1aa); }
2664
+
2665
+ [data-niceeval-locale][hidden] { display: none !important; }
2666
+
2667
+ @media (max-width: 760px) {
2668
+ .niceeval-view-shell { padding: 0 20px; }
2669
+ .niceeval-view-nav { display: none; }
2670
+ .niceeval-view-locale button { min-width: 40px; }
2671
+ .niceeval-view-main { width: min(calc(100vw - 28px), 1120px); padding-top: 42px; }
2672
+ }
2673
+
2674
+ @media print {
2675
+ .niceeval-view-shell { position: static; }
2676
+ .niceeval-view-locale { display: none; }
2677
+ .niceeval-view-main { width: auto; padding: 0; }
2678
+ }