niceeval 0.13.2 → 0.13.3

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 (494) hide show
  1. package/dist/agents/bub.cjs +4 -4
  2. package/dist/agents/bub.cjs.map +1 -1
  3. package/dist/agents/bub.d.cts +2 -2
  4. package/dist/agents/bub.d.mts +2 -2
  5. package/dist/agents/bub.d.ts +2 -2
  6. package/dist/agents/claude-code-native.cjs +213 -0
  7. package/dist/agents/claude-code-native.cjs.map +1 -0
  8. package/dist/agents/claude-code-native.d.cts +5 -0
  9. package/dist/agents/claude-code-native.d.mts +5 -0
  10. package/dist/agents/claude-code-native.d.ts +5 -0
  11. package/dist/agents/claude-code-native.js +6 -0
  12. package/dist/agents/claude-code-native.js.map +1 -0
  13. package/dist/agents/claude-code.cjs +26 -80
  14. package/dist/agents/claude-code.cjs.map +1 -1
  15. package/dist/agents/codex-app-server.cjs +314 -0
  16. package/dist/agents/codex-app-server.cjs.map +1 -0
  17. package/dist/agents/codex-app-server.d.cts +9 -0
  18. package/dist/agents/codex-app-server.d.mts +9 -0
  19. package/dist/agents/codex-app-server.d.ts +9 -0
  20. package/dist/agents/codex-app-server.js +6 -0
  21. package/dist/agents/codex-app-server.js.map +1 -0
  22. package/dist/agents/codex.cjs +19 -68
  23. package/dist/agents/codex.cjs.map +1 -1
  24. package/dist/agents/codex.d.cts +3 -3
  25. package/dist/agents/codex.d.mts +3 -3
  26. package/dist/agents/codex.d.ts +3 -3
  27. package/dist/agents/index.cjs +3 -1
  28. package/dist/agents/index.cjs.map +1 -1
  29. package/dist/agents/index.d.cts +1 -0
  30. package/dist/agents/index.d.mts +1 -0
  31. package/dist/agents/index.d.ts +1 -0
  32. package/dist/agents/index.js +84 -82
  33. package/dist/agents/index.mjs +84 -82
  34. package/dist/agents/managed-jsonl.cjs +207 -0
  35. package/dist/agents/managed-jsonl.cjs.map +1 -0
  36. package/dist/agents/managed-jsonl.d.cts +39 -0
  37. package/dist/agents/managed-jsonl.d.mts +39 -0
  38. package/dist/agents/managed-jsonl.d.ts +39 -0
  39. package/dist/agents/managed-jsonl.js +6 -0
  40. package/dist/agents/managed-jsonl.js.map +1 -0
  41. package/dist/agents/managed-process.cjs +31 -0
  42. package/dist/agents/managed-process.cjs.map +1 -0
  43. package/dist/agents/managed-process.d.cts +3 -0
  44. package/dist/agents/managed-process.d.mts +3 -0
  45. package/dist/agents/managed-process.d.ts +3 -0
  46. package/dist/agents/managed-process.js +6 -0
  47. package/dist/agents/managed-process.js.map +1 -0
  48. package/dist/agents/omp.cjs +18 -1
  49. package/dist/agents/omp.cjs.map +1 -1
  50. package/dist/agents/sdk-streams.cjs +11 -4
  51. package/dist/agents/sdk-streams.cjs.map +1 -1
  52. package/dist/agents/types.cjs.map +1 -1
  53. package/dist/agents/types.d.cts +8 -0
  54. package/dist/agents/types.d.mts +8 -0
  55. package/dist/agents/types.d.ts +8 -0
  56. package/dist/analysis/bindings.cjs +74 -19
  57. package/dist/analysis/bindings.cjs.map +1 -1
  58. package/dist/analysis/bindings.d.cts +534 -156
  59. package/dist/analysis/bindings.d.mts +534 -156
  60. package/dist/analysis/bindings.d.ts +534 -156
  61. package/dist/analysis/domain-view.cjs.map +1 -1
  62. package/dist/analysis/domain-view.d.cts +137 -8
  63. package/dist/analysis/domain-view.d.mts +137 -8
  64. package/dist/analysis/domain-view.d.ts +137 -8
  65. package/dist/analysis/index.cjs.map +1 -1
  66. package/dist/analysis/index.d.cts +1 -1
  67. package/dist/analysis/index.d.mts +1 -1
  68. package/dist/analysis/index.d.ts +1 -1
  69. package/dist/assertions/api.cjs.map +1 -1
  70. package/dist/assertions/api.d.cts +62 -0
  71. package/dist/assertions/api.d.mts +62 -0
  72. package/dist/assertions/api.d.ts +62 -0
  73. package/dist/assertions/judge.cjs +56 -5
  74. package/dist/assertions/judge.cjs.map +1 -1
  75. package/dist/assertions/match.cjs +66 -42
  76. package/dist/assertions/match.cjs.map +1 -1
  77. package/dist/assertions/match.d.cts +13 -0
  78. package/dist/assertions/match.d.mts +13 -0
  79. package/dist/assertions/match.d.ts +13 -0
  80. package/dist/assertions/record/attachment.cjs +104 -33
  81. package/dist/assertions/record/attachment.cjs.map +1 -1
  82. package/dist/assertions/record/attachment.d.cts +294 -57
  83. package/dist/assertions/record/attachment.d.mts +294 -57
  84. package/dist/assertions/record/attachment.d.ts +294 -57
  85. package/dist/assertions/record/codec.cjs +91 -17
  86. package/dist/assertions/record/codec.cjs.map +1 -1
  87. package/dist/assertions/record/codec.d.cts +280 -52
  88. package/dist/assertions/record/codec.d.mts +280 -52
  89. package/dist/assertions/record/codec.d.ts +280 -52
  90. package/dist/assertions/record/index.js +2 -0
  91. package/dist/assertions/record/model.cjs +16 -0
  92. package/dist/assertions/record/model.cjs.map +1 -1
  93. package/dist/assertions/record/model.d.cts +120 -13
  94. package/dist/assertions/record/model.d.mts +120 -13
  95. package/dist/assertions/record/model.d.ts +120 -13
  96. package/dist/assertions/record/model.js +2 -0
  97. package/dist/assertions/record/producer.cjs +70 -50
  98. package/dist/assertions/record/producer.cjs.map +1 -1
  99. package/dist/assertions/record/producer.d.cts +8 -7
  100. package/dist/assertions/record/producer.d.mts +8 -7
  101. package/dist/assertions/record/producer.d.ts +8 -7
  102. package/dist/assertions/runtime.cjs +49 -7
  103. package/dist/assertions/runtime.cjs.map +1 -1
  104. package/dist/cli/application.cjs +40 -0
  105. package/dist/cli/application.cjs.map +1 -0
  106. package/dist/cli/application.d.cts +129 -0
  107. package/dist/cli/application.d.mts +129 -0
  108. package/dist/cli/application.d.ts +129 -0
  109. package/dist/cli/application.js +24 -0
  110. package/dist/cli/application.js.map +1 -0
  111. package/dist/cli/bootstrap.cjs +10 -4
  112. package/dist/cli/bootstrap.cjs.map +1 -1
  113. package/dist/cli/node-application.cjs +123 -0
  114. package/dist/cli/node-application.cjs.map +1 -0
  115. package/dist/cli/node-application.d.cts +14 -0
  116. package/dist/cli/node-application.d.mts +14 -0
  117. package/dist/cli/node-application.d.ts +14 -0
  118. package/dist/cli/node-application.js +26 -0
  119. package/dist/cli/node-application.js.map +1 -0
  120. package/dist/cli/program.cjs +2807 -0
  121. package/dist/cli/program.cjs.map +1 -0
  122. package/dist/cli/program.d.cts +352 -0
  123. package/dist/cli/program.d.mts +352 -0
  124. package/dist/cli/program.d.ts +352 -0
  125. package/dist/cli/program.js +36 -0
  126. package/dist/cli/program.js.map +1 -0
  127. package/dist/cli/project-configuration.cjs +134 -0
  128. package/dist/cli/project-configuration.cjs.map +1 -0
  129. package/dist/cli/project-configuration.d.cts +64 -0
  130. package/dist/cli/project-configuration.d.mts +64 -0
  131. package/dist/cli/project-configuration.d.ts +64 -0
  132. package/dist/cli/project-configuration.js +22 -0
  133. package/dist/cli/project-configuration.js.map +1 -0
  134. package/dist/cli/record.cjs +20 -4
  135. package/dist/cli/record.cjs.map +1 -1
  136. package/dist/cli/record.d.cts +3 -3
  137. package/dist/cli/record.d.mts +3 -3
  138. package/dist/cli/record.d.ts +3 -3
  139. package/dist/cli.cjs +19 -3130
  140. package/dist/cli.cjs.map +1 -1
  141. package/dist/cli.d.cts +2 -148
  142. package/dist/cli.d.mts +2 -148
  143. package/dist/cli.d.ts +2 -148
  144. package/dist/cli.js +22 -30
  145. package/dist/context/assert-first.cjs +21 -15
  146. package/dist/context/assert-first.cjs.map +1 -1
  147. package/dist/context/assert-first.d.cts +1 -0
  148. package/dist/context/assert-first.d.mts +1 -0
  149. package/dist/context/assert-first.d.ts +1 -0
  150. package/dist/context/attempt-resources.cjs +13 -0
  151. package/dist/context/attempt-resources.cjs.map +1 -0
  152. package/dist/context/attempt-resources.d.cts +3 -0
  153. package/dist/context/attempt-resources.d.mts +3 -0
  154. package/dist/context/attempt-resources.d.ts +3 -0
  155. package/dist/context/attempt-resources.js +8 -0
  156. package/dist/context/attempt-resources.js.map +1 -0
  157. package/dist/context/session.cjs +4 -3
  158. package/dist/context/session.cjs.map +1 -1
  159. package/dist/context/session.d.cts +1 -0
  160. package/dist/context/session.d.mts +1 -0
  161. package/dist/context/session.d.ts +1 -0
  162. package/dist/eval/record/verdict.cjs +3 -2
  163. package/dist/eval/record/verdict.cjs.map +1 -1
  164. package/dist/experiment/host/index.cjs +1 -6
  165. package/dist/experiment/host/index.cjs.map +1 -1
  166. package/dist/experiment/host/index.d.cts +1 -0
  167. package/dist/experiment/host/index.d.mts +1 -0
  168. package/dist/experiment/host/index.d.ts +1 -0
  169. package/dist/load-config.cjs +13 -4
  170. package/dist/load-config.cjs.map +1 -1
  171. package/dist/load-config.d.cts +4 -3
  172. package/dist/load-config.d.mts +4 -3
  173. package/dist/load-config.d.ts +4 -3
  174. package/dist/load-config.js +4 -2
  175. package/dist/o11y/parsers/codex.cjs +29 -7
  176. package/dist/o11y/parsers/codex.cjs.map +1 -1
  177. package/dist/record/codec/core.d.cts +0 -2
  178. package/dist/record/codec/core.d.mts +0 -2
  179. package/dist/record/codec/core.d.ts +0 -2
  180. package/dist/record/codec/identifiers.cjs +2 -3
  181. package/dist/record/codec/identifiers.cjs.map +1 -1
  182. package/dist/record/codec/identifiers.d.cts +1 -2
  183. package/dist/record/codec/identifiers.d.mts +1 -2
  184. package/dist/record/codec/identifiers.d.ts +1 -2
  185. package/dist/record/codec/identifiers.js +10 -12
  186. package/dist/record/codec/index.js +42 -44
  187. package/dist/record/definition/attachment.cjs +1 -0
  188. package/dist/record/definition/attachment.cjs.map +1 -1
  189. package/dist/record/definition/attachment.d.cts +14 -0
  190. package/dist/record/definition/attachment.d.mts +14 -0
  191. package/dist/record/definition/attachment.d.ts +14 -0
  192. package/dist/record/family/assertions-v1.cjs +104 -0
  193. package/dist/record/family/assertions-v1.cjs.map +1 -0
  194. package/dist/record/family/assertions-v1.d.cts +2 -0
  195. package/dist/record/family/assertions-v1.d.mts +2 -0
  196. package/dist/record/family/assertions-v1.d.ts +2 -0
  197. package/dist/record/family/assertions-v1.js +6 -0
  198. package/dist/record/family/assertions-v1.js.map +1 -0
  199. package/dist/record/family/assertions.cjs +16 -5
  200. package/dist/record/family/assertions.cjs.map +1 -1
  201. package/dist/record/family/assertions.d.cts +510 -56
  202. package/dist/record/family/assertions.d.mts +510 -56
  203. package/dist/record/family/assertions.d.ts +510 -56
  204. package/dist/record/family/assertions.js +14 -10
  205. package/dist/record/family/catalog.cjs +17 -1
  206. package/dist/record/family/catalog.cjs.map +1 -1
  207. package/dist/record/family/catalog.d.cts +1292 -104
  208. package/dist/record/family/catalog.d.mts +1292 -104
  209. package/dist/record/family/catalog.d.ts +1292 -104
  210. package/dist/record/family/catalog.js +22 -20
  211. package/dist/record/family/index.js +144 -138
  212. package/dist/record/family/observability-v1.cjs +5 -0
  213. package/dist/record/family/observability-v1.cjs.map +1 -1
  214. package/dist/record/family/observability.cjs +1 -1
  215. package/dist/record/family/observability.cjs.map +1 -1
  216. package/dist/record/host/runtime.cjs +323 -173
  217. package/dist/record/host/runtime.cjs.map +1 -1
  218. package/dist/record/host/types.cjs.map +1 -1
  219. package/dist/record/host/types.d.cts +9 -7
  220. package/dist/record/host/types.d.mts +9 -7
  221. package/dist/record/host/types.d.ts +9 -7
  222. package/dist/record/model/core.cjs.map +1 -1
  223. package/dist/record/model/core.d.cts +1 -2
  224. package/dist/record/model/core.d.mts +1 -2
  225. package/dist/record/model/core.d.ts +1 -2
  226. package/dist/record/model/definition.cjs +1 -2
  227. package/dist/record/model/definition.cjs.map +1 -1
  228. package/dist/record/model/definition.d.cts +1 -7
  229. package/dist/record/model/definition.d.mts +1 -7
  230. package/dist/record/model/definition.d.ts +1 -7
  231. package/dist/record/model/identifiers.cjs +2 -3
  232. package/dist/record/model/identifiers.cjs.map +1 -1
  233. package/dist/record/model/identifiers.d.cts +1 -3
  234. package/dist/record/model/identifiers.d.mts +1 -3
  235. package/dist/record/model/identifiers.d.ts +1 -3
  236. package/dist/record/model/identifiers.js +36 -38
  237. package/dist/record/model/index.js +60 -62
  238. package/dist/record/platform/node.cjs +17 -7
  239. package/dist/record/platform/node.cjs.map +1 -1
  240. package/dist/record/platform/services.cjs.map +1 -1
  241. package/dist/record/platform/services.d.cts +8 -3
  242. package/dist/record/platform/services.d.mts +8 -3
  243. package/dist/record/platform/services.d.ts +8 -3
  244. package/dist/record/reader/format.cjs +16 -65
  245. package/dist/record/reader/format.cjs.map +1 -1
  246. package/dist/record/reader/format.d.cts +5 -9
  247. package/dist/record/reader/format.d.mts +5 -9
  248. package/dist/record/reader/format.d.ts +5 -9
  249. package/dist/record/reader/index.js +10 -8
  250. package/dist/record/reader/runtime.cjs +63 -32
  251. package/dist/record/reader/runtime.cjs.map +1 -1
  252. package/dist/record/reader/runtime.d.cts +40 -4
  253. package/dist/record/reader/runtime.d.mts +40 -4
  254. package/dist/record/reader/runtime.d.ts +40 -4
  255. package/dist/record/reader/runtime.js +6 -4
  256. package/dist/report/assets/enhance.js +5 -5
  257. package/dist/report/assets/styles.css +190 -24
  258. package/dist/report/built-in/result-components.cjs +8 -5
  259. package/dist/report/built-in/result-components.cjs.map +1 -1
  260. package/dist/report/built-in/standard.cjs +3 -0
  261. package/dist/report/built-in/standard.cjs.map +1 -1
  262. package/dist/report/built-in/standard.d.cts +2 -0
  263. package/dist/report/built-in/standard.d.mts +2 -0
  264. package/dist/report/built-in/standard.d.ts +2 -0
  265. package/dist/report/client-dist/app.js +53 -0
  266. package/dist/report/components/attempt-detail/compute.cjs +108 -231
  267. package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
  268. package/dist/report/components/attempt-detail/compute.d.cts +11 -45
  269. package/dist/report/components/attempt-detail/compute.d.mts +11 -45
  270. package/dist/report/components/attempt-detail/compute.d.ts +11 -45
  271. package/dist/report/components/attempt-detail/compute.js +2 -4
  272. package/dist/report/components/attempt-detail/content.cjs +4 -4
  273. package/dist/report/components/attempt-detail/content.cjs.map +1 -1
  274. package/dist/report/components/attempt-detail/validate.cjs +47 -4
  275. package/dist/report/components/attempt-detail/validate.cjs.map +1 -1
  276. package/dist/report/components/entity-lists/compute.cjs +9 -15
  277. package/dist/report/components/entity-lists/compute.cjs.map +1 -1
  278. package/dist/report/components/entity-lists/content.cjs +53 -40
  279. package/dist/report/components/entity-lists/content.cjs.map +1 -1
  280. package/dist/report/components/entity-lists/index.cjs +1 -3
  281. package/dist/report/components/entity-lists/index.cjs.map +1 -1
  282. package/dist/report/components/experiment-detail/compute.cjs +4 -6
  283. package/dist/report/components/experiment-detail/compute.cjs.map +1 -1
  284. package/dist/report/components/summaries/index.cjs +5 -1
  285. package/dist/report/components/summaries/index.cjs.map +1 -1
  286. package/dist/report/definition/cell.cjs +14 -7
  287. package/dist/report/definition/cell.cjs.map +1 -1
  288. package/dist/report/definition/cell.d.cts +4 -0
  289. package/dist/report/definition/cell.d.mts +4 -0
  290. package/dist/report/definition/cell.d.ts +4 -0
  291. package/dist/report/definition/primitives/assertion-evidence.cjs +96 -0
  292. package/dist/report/definition/primitives/assertion-evidence.cjs.map +1 -0
  293. package/dist/report/definition/primitives/assertion-evidence.d.cts +11 -0
  294. package/dist/report/definition/primitives/assertion-evidence.d.mts +11 -0
  295. package/dist/report/definition/primitives/assertion-evidence.d.ts +11 -0
  296. package/dist/report/definition/primitives/assertion-evidence.js +6 -0
  297. package/dist/report/definition/primitives/assertion-evidence.js.map +1 -0
  298. package/dist/report/definition/primitives/conversation.cjs +7 -0
  299. package/dist/report/definition/primitives/conversation.cjs.map +1 -1
  300. package/dist/report/definition/primitives/conversation.d.cts +2 -0
  301. package/dist/report/definition/primitives/conversation.d.mts +2 -0
  302. package/dist/report/definition/primitives/conversation.d.ts +2 -0
  303. package/dist/report/definition/primitives/turn-trace.cjs +53 -3
  304. package/dist/report/definition/primitives/turn-trace.cjs.map +1 -1
  305. package/dist/report/definition/primitives.cjs +14 -1
  306. package/dist/report/definition/primitives.cjs.map +1 -1
  307. package/dist/report/definition/report.cjs +16 -8
  308. package/dist/report/definition/report.cjs.map +1 -1
  309. package/dist/report/definition/report.d.cts +6 -0
  310. package/dist/report/definition/report.d.mts +6 -0
  311. package/dist/report/definition/report.d.ts +6 -0
  312. package/dist/report/definition/table-text.cjs +12 -3
  313. package/dist/report/definition/table-text.cjs.map +1 -1
  314. package/dist/report/definition/table-text.d.cts +6 -1
  315. package/dist/report/definition/table-text.d.mts +6 -1
  316. package/dist/report/definition/table-text.d.ts +6 -1
  317. package/dist/report/execution/model.cjs +6 -14
  318. package/dist/report/execution/model.cjs.map +1 -1
  319. package/dist/report/execution/model.d.cts +5 -10
  320. package/dist/report/execution/model.d.mts +5 -10
  321. package/dist/report/execution/model.d.ts +5 -10
  322. package/dist/report/execution/model.js +6 -6
  323. package/dist/report/execution/paths.cjs +0 -11
  324. package/dist/report/execution/paths.cjs.map +1 -1
  325. package/dist/report/execution/paths.d.cts +0 -1
  326. package/dist/report/execution/paths.d.mts +0 -1
  327. package/dist/report/execution/paths.d.ts +0 -1
  328. package/dist/report/execution/paths.js +6 -8
  329. package/dist/report/host/execute.cjs +13 -22
  330. package/dist/report/host/execute.cjs.map +1 -1
  331. package/dist/report/host/execute.d.cts +1 -4
  332. package/dist/report/host/execute.d.mts +1 -4
  333. package/dist/report/host/execute.d.ts +1 -4
  334. package/dist/report/host/from-record.cjs +3 -0
  335. package/dist/report/host/from-record.cjs.map +1 -1
  336. package/dist/report/host/from-record.d.cts +4 -1
  337. package/dist/report/host/from-record.d.mts +4 -1
  338. package/dist/report/host/from-record.d.ts +4 -1
  339. package/dist/report/host/site-assets.cjs +1 -2
  340. package/dist/report/host/site-assets.cjs.map +1 -1
  341. package/dist/report/host/site-assets.d.cts +0 -1
  342. package/dist/report/host/site-assets.d.mts +0 -1
  343. package/dist/report/host/site-assets.d.ts +0 -1
  344. package/dist/report/host/site-assets.js +2 -4
  345. package/dist/report/host/static.cjs +71 -346
  346. package/dist/report/host/static.cjs.map +1 -1
  347. package/dist/report/host/static.d.cts +1 -3
  348. package/dist/report/host/static.d.mts +1 -3
  349. package/dist/report/host/static.d.ts +1 -3
  350. package/dist/report/host/static.js +2 -2
  351. package/dist/report/host/view-session.cjs.map +1 -1
  352. package/dist/report/host/view-session.d.cts +1 -1
  353. package/dist/report/host/view-session.d.mts +1 -1
  354. package/dist/report/host/view-session.d.ts +1 -1
  355. package/dist/report/model/locale.cjs +1 -1
  356. package/dist/report/model/locale.cjs.map +1 -1
  357. package/dist/report/model/locale.d.cts +1 -1
  358. package/dist/report/model/locale.d.mts +1 -1
  359. package/dist/report/model/locale.d.ts +1 -1
  360. package/dist/report/model/pricing.cjs +2 -2
  361. package/dist/report/model/pricing.cjs.map +1 -1
  362. package/dist/report/react/enhance.js +5 -5
  363. package/dist/report/react/styles.css +190 -24
  364. package/dist/runner/adoption.cjs +4 -7
  365. package/dist/runner/adoption.cjs.map +1 -1
  366. package/dist/runner/attempt-resources.cjs +60 -0
  367. package/dist/runner/attempt-resources.cjs.map +1 -0
  368. package/dist/runner/attempt-resources.d.cts +13 -0
  369. package/dist/runner/attempt-resources.d.mts +13 -0
  370. package/dist/runner/attempt-resources.d.ts +13 -0
  371. package/dist/runner/attempt-resources.js +6 -0
  372. package/dist/runner/attempt-resources.js.map +1 -0
  373. package/dist/runner/attempt.cjs +37 -3
  374. package/dist/runner/attempt.cjs.map +1 -1
  375. package/dist/runner/feedback/failure.cjs +77 -2
  376. package/dist/runner/feedback/failure.cjs.map +1 -1
  377. package/dist/runner/feedback/failure.d.cts +2 -1
  378. package/dist/runner/feedback/failure.d.mts +2 -1
  379. package/dist/runner/feedback/failure.d.ts +2 -1
  380. package/dist/runner/project-current.cjs +2 -13
  381. package/dist/runner/project-current.cjs.map +1 -1
  382. package/dist/runner/project-current.d.cts +4 -2
  383. package/dist/runner/project-current.d.mts +4 -2
  384. package/dist/runner/project-current.d.ts +4 -2
  385. package/dist/runner/reporters/braintrust.cjs +7 -7
  386. package/dist/runner/reporters/braintrust.cjs.map +1 -1
  387. package/dist/runner/reuse-readback.cjs +3 -4
  388. package/dist/runner/reuse-readback.cjs.map +1 -1
  389. package/dist/runner/run.cjs +5 -2
  390. package/dist/runner/run.cjs.map +1 -1
  391. package/dist/sandbox/backend.cjs +32 -2
  392. package/dist/sandbox/backend.cjs.map +1 -1
  393. package/dist/sandbox/backend.d.cts +12 -1
  394. package/dist/sandbox/backend.d.mts +12 -1
  395. package/dist/sandbox/backend.d.ts +12 -1
  396. package/dist/sandbox/backend.js +28 -22
  397. package/dist/sandbox/docker.cjs +140 -0
  398. package/dist/sandbox/docker.cjs.map +1 -1
  399. package/dist/sandbox/docker.d.cts +3 -1
  400. package/dist/sandbox/docker.d.mts +3 -1
  401. package/dist/sandbox/docker.d.ts +3 -1
  402. package/dist/sandbox/e2b.cjs +42 -0
  403. package/dist/sandbox/e2b.cjs.map +1 -1
  404. package/dist/sandbox/e2b.d.cts +2 -0
  405. package/dist/sandbox/e2b.d.mts +2 -0
  406. package/dist/sandbox/e2b.d.ts +2 -0
  407. package/dist/sandbox/local.cjs +64 -0
  408. package/dist/sandbox/local.cjs.map +1 -1
  409. package/dist/sandbox/local.d.cts +3 -1
  410. package/dist/sandbox/local.d.mts +3 -1
  411. package/dist/sandbox/local.d.ts +3 -1
  412. package/dist/sandbox/managed-process.cjs +49 -0
  413. package/dist/sandbox/managed-process.cjs.map +1 -0
  414. package/dist/sandbox/managed-process.d.cts +11 -0
  415. package/dist/sandbox/managed-process.d.mts +11 -0
  416. package/dist/sandbox/managed-process.d.ts +11 -0
  417. package/dist/sandbox/managed-process.js +6 -0
  418. package/dist/sandbox/managed-process.js.map +1 -0
  419. package/dist/sandbox/types.cjs.map +1 -1
  420. package/dist/sandbox/types.d.cts +24 -0
  421. package/dist/sandbox/types.d.mts +24 -0
  422. package/dist/sandbox/types.d.ts +24 -0
  423. package/dist/sandbox/vercel.cjs +1 -0
  424. package/dist/sandbox/vercel.cjs.map +1 -1
  425. package/dist/sandbox/vercel.d.cts +1 -0
  426. package/dist/sandbox/vercel.d.mts +1 -0
  427. package/dist/sandbox/vercel.d.ts +1 -0
  428. package/dist/view/server.cjs +2 -37
  429. package/dist/view/server.cjs.map +1 -1
  430. package/dist/view/server.d.cts +0 -3
  431. package/dist/view/server.d.mts +0 -3
  432. package/dist/view/server.d.ts +0 -3
  433. package/docs-site/zh/reference/builtin-agents.mdx +7 -7
  434. package/docs-site/zh/reference/official-adapters.mdx +4 -4
  435. package/docs-site/zh/reference/report-components.mdx +2 -2
  436. package/docs-site/zh/tutorials/configuration.mdx +2 -2
  437. package/docs-site/zh/tutorials/deploy-report-site.mdx +24 -2
  438. package/docs-site/zh/tutorials/publish-report.mdx +4 -4
  439. package/docs-site/zh/tutorials/sandbox-agent.mdx +5 -5
  440. package/docs-site/zh/tutorials/theming.mdx +2 -2
  441. package/package.json +4 -6
  442. package/dist/record/migration/index.cjs +0 -5
  443. package/dist/record/migration/index.cjs.map +0 -1
  444. package/dist/record/migration/index.d.cts +0 -11
  445. package/dist/record/migration/index.d.mts +0 -11
  446. package/dist/record/migration/index.d.ts +0 -11
  447. package/dist/record/migration/index.js +0 -6
  448. package/dist/record/migration/index.js.map +0 -1
  449. package/dist/report/host/site-runtime.cjs +0 -92
  450. package/dist/report/host/site-runtime.cjs.map +0 -1
  451. package/dist/report/host/site-runtime.d.cts +0 -9
  452. package/dist/report/host/site-runtime.d.mts +0 -9
  453. package/dist/report/host/site-runtime.d.ts +0 -9
  454. package/dist/report/host/site-runtime.js +0 -10
  455. package/dist/report/host/site-runtime.js.map +0 -1
  456. package/dist/view/client-dist/app.css +0 -2
  457. package/dist/view/client-dist/app.js +0 -49
  458. package/dist/view/data.cjs +0 -3
  459. package/dist/view/data.cjs.map +0 -1
  460. package/dist/view/data.d.cts +0 -9
  461. package/dist/view/data.d.mts +0 -9
  462. package/dist/view/data.d.ts +0 -9
  463. package/dist/view/data.js +0 -4
  464. package/dist/view/data.js.map +0 -1
  465. package/dist/view/index.cjs +0 -24
  466. package/dist/view/index.cjs.map +0 -1
  467. package/dist/view/index.d.cts +0 -9
  468. package/dist/view/index.d.mts +0 -9
  469. package/dist/view/index.d.ts +0 -9
  470. package/dist/view/index.js +0 -28
  471. package/dist/view/index.js.map +0 -1
  472. package/dist/view/report-view-cache.cjs +0 -200
  473. package/dist/view/report-view-cache.cjs.map +0 -1
  474. package/dist/view/report-view-cache.d.cts +0 -67
  475. package/dist/view/report-view-cache.d.mts +0 -67
  476. package/dist/view/report-view-cache.d.ts +0 -67
  477. package/dist/view/report-view-cache.js +0 -8
  478. package/dist/view/report-view-cache.js.map +0 -1
  479. package/dist/view/shared/types.cjs +0 -3
  480. package/dist/view/shared/types.cjs.map +0 -1
  481. package/dist/view/shared/types.d.cts +0 -51
  482. package/dist/view/shared/types.d.mts +0 -51
  483. package/dist/view/shared/types.d.ts +0 -51
  484. package/dist/view/shared/types.js +0 -4
  485. package/dist/view/shared/types.js.map +0 -1
  486. package/dist/view/site.cjs +0 -32
  487. package/dist/view/site.cjs.map +0 -1
  488. package/dist/view/site.d.cts +0 -24
  489. package/dist/view/site.d.mts +0 -24
  490. package/dist/view/site.d.ts +0 -24
  491. package/dist/view/site.js +0 -8
  492. package/dist/view/site.js.map +0 -1
  493. package/dist/view/styles.css +0 -170
  494. package/dist/view/template.html +0 -17
@@ -331,6 +331,17 @@ table.niceeval-report,
331
331
  color: var(--muted);
332
332
  font-size: 12px;
333
333
  }
334
+ .niceeval-report .niceeval-cell-stack {
335
+ display: inline-flex;
336
+ flex-wrap: wrap;
337
+ align-items: baseline;
338
+ gap: 4px 10px;
339
+ }
340
+ .niceeval-report .niceeval-cell-stack-item + .niceeval-cell-stack-item::before {
341
+ content: "·";
342
+ margin-right: 10px;
343
+ color: var(--soft);
344
+ }
334
345
 
335
346
  /* ---- MetricValue:缺数据 / 覆盖率角标 / 证据链接 ---- */
336
347
  .niceeval-report .niceeval-value { white-space: nowrap; }
@@ -1314,7 +1325,7 @@ table.niceeval-report,
1314
1325
  }
1315
1326
 
1316
1327
  /* Ledger:turn rail + compact kind tag + one-line summary。evidence 默认在行内
1317
- <details>,所以关 JavaScript 时页面仍是完整的可读正文。 */
1328
+ <details>,app 增强前仍保留完整的语义结构。 */
1318
1329
  .niceeval-turn-trace .niceeval-trace-ledger { min-width: 0; }
1319
1330
  .niceeval-turn-trace .niceeval-trace-turn {
1320
1331
  position: relative;
@@ -1462,6 +1473,10 @@ table.niceeval-report,
1462
1473
  white-space: nowrap;
1463
1474
  }
1464
1475
  .niceeval-turn-trace .niceeval-trace-event-row--failed .niceeval-trace-event-status { color: var(--bad); }
1476
+ .niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="completed"] { color: var(--good); }
1477
+ .niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="failed"] { color: var(--bad); }
1478
+ .niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="rejected"],
1479
+ .niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="cancelled"] { color: var(--warn); }
1465
1480
  .niceeval-turn-trace .niceeval-trace-evidence {
1466
1481
  position: relative;
1467
1482
  z-index: 2;
@@ -1586,6 +1601,77 @@ table.niceeval-report,
1586
1601
  border-color: color-mix(in oklch, var(--bad), transparent 58%);
1587
1602
  color: color-mix(in oklch, var(--bad), var(--text) 38%);
1588
1603
  }
1604
+ .niceeval-assertion-evidence {
1605
+ display: grid;
1606
+ min-width: 0;
1607
+ gap: 12px;
1608
+ }
1609
+ .niceeval-assertion-evidence-section { min-width: 0; }
1610
+ .niceeval-assertion-evidence-section > h5 {
1611
+ margin: 0 0 5px;
1612
+ color: var(--soft);
1613
+ font: 9px/1.2 var(--font-mono);
1614
+ font-weight: 650;
1615
+ letter-spacing: .055em;
1616
+ text-transform: uppercase;
1617
+ }
1618
+ .niceeval-assertion-evidence-section p,
1619
+ .niceeval-assertion-evidence-list,
1620
+ .niceeval-assertion-evidence-fields { margin: 0; }
1621
+ .niceeval-assertion-evidence-code {
1622
+ box-sizing: border-box;
1623
+ width: 100%;
1624
+ max-width: 100%;
1625
+ max-height: 24rem;
1626
+ margin: 0;
1627
+ overflow: auto;
1628
+ padding: 10px 11px;
1629
+ border: 1px solid var(--line);
1630
+ background: color-mix(in oklch, var(--panel), black 8%);
1631
+ color: var(--muted);
1632
+ font: 11px/1.5 var(--font-mono);
1633
+ white-space: pre-wrap;
1634
+ overflow-wrap: anywhere;
1635
+ }
1636
+ .niceeval-assertion-evidence-long-value {
1637
+ min-width: 0;
1638
+ border: 1px solid var(--line);
1639
+ background: color-mix(in oklch, var(--panel), black 8%);
1640
+ }
1641
+ .niceeval-assertion-evidence-long-value > summary {
1642
+ overflow: hidden;
1643
+ padding: 8px 10px;
1644
+ color: var(--soft);
1645
+ font: 11px/1.5 var(--font-mono);
1646
+ text-overflow: ellipsis;
1647
+ white-space: nowrap;
1648
+ cursor: pointer;
1649
+ }
1650
+ .niceeval-assertion-evidence-long-value[open] > summary {
1651
+ border-bottom: 1px solid var(--line);
1652
+ }
1653
+ .niceeval-assertion-evidence-long-value > .niceeval-assertion-evidence-code {
1654
+ border: 0;
1655
+ }
1656
+ .niceeval-assertion-evidence-state {
1657
+ display: flex;
1658
+ flex-wrap: wrap;
1659
+ align-items: baseline;
1660
+ gap: 5px 9px;
1661
+ color: var(--soft);
1662
+ }
1663
+ .niceeval-assertion-evidence-fields {
1664
+ display: grid;
1665
+ gap: 6px;
1666
+ }
1667
+ .niceeval-assertion-evidence-fields > div {
1668
+ display: grid;
1669
+ grid-template-columns: minmax(7rem, max-content) minmax(0, 1fr);
1670
+ gap: 10px;
1671
+ }
1672
+ .niceeval-assertion-evidence-fields dt { color: var(--soft); }
1673
+ .niceeval-assertion-evidence-fields dd { min-width: 0; margin: 0; }
1674
+ .niceeval-assertion-evidence-list { padding-inline-start: 18px; }
1589
1675
  .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence > summary { display: none; }
1590
1676
  .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence[open] { padding-bottom: 8px; }
1591
1677
  .niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs {
@@ -1891,7 +1977,7 @@ table.niceeval-report,
1891
1977
  .niceeval-report .niceeval-scatter-point { cursor: default; }
1892
1978
  .niceeval-report .niceeval-line-point { fill: var(--series); }
1893
1979
 
1894
- /* enhance.js 的样式化 tooltip(无 JS 时退化为 SVG <title>) */
1980
+ /* enhance.js 的样式化 tooltip(增强前保留 SVG <title>) */
1895
1981
  .niceeval-report .niceeval-tooltip {
1896
1982
  position: absolute;
1897
1983
  transform: translate(-50%, -100%);
@@ -2131,7 +2217,7 @@ table.niceeval-report,
2131
2217
  overflow-wrap: anywhere;
2132
2218
  box-shadow: inset 2px 0 0 var(--line-tone, transparent);
2133
2219
  }
2134
- /* 展开区内容:判定摘要一行、细节正文等宽、给分记录一行。同行重复 send
2220
+ /* 展开区内容:判定摘要一行、五段结构化证据、给分记录一行。同行重复 send
2135
2221
  复用 Conversation 的完整轮卡;轮头必须保留,才能区分 outcome 与 duration。 */
2136
2222
  .niceeval-source-view .niceeval-source-line-detail .niceeval-conversation-turn { border-left: 0; padding-left: 0; }
2137
2223
  .niceeval-source-view .niceeval-source-line-detail > * + * { margin-top: 6px; }
@@ -2141,17 +2227,6 @@ table.niceeval-report,
2141
2227
  font-size: 12px;
2142
2228
  font-weight: 650;
2143
2229
  }
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
2230
  .niceeval-source-view .niceeval-source-score-entry {
2156
2231
  margin: 0;
2157
2232
  color: var(--muted);
@@ -2344,7 +2419,7 @@ table.niceeval-report,
2344
2419
  font-size: 13px;
2345
2420
  }
2346
2421
 
2347
- /* ---- Tabs:静态 HTML 每 tab 一个 <details> 且仅首个 open(无 JS = 手风琴卡片,内容完整);
2422
+ /* ---- Tabs:fragment HTML 每 tab 一个 <details> 且仅首个 open
2348
2423
  enhance.js 在 <html> 上打 niceeval-js 后升级为单选 tab 条:收起的 tab 缩成一枚标题排在首行,
2349
2424
  唯一展开的 tab 以 100% 宽 + order:1 换行到下方,活动标题带高亮下划线、贴着面板顶部。
2350
2425
  不能用 display:contents 把 summary/body 直接投影进 flex 容器——Chrome 里 <details> 的
@@ -2580,6 +2655,90 @@ html.niceeval-view-document body {
2580
2655
 
2581
2656
  .niceeval-view-report-slot { margin: 0 auto 36px; }
2582
2657
 
2658
+ .niceeval-view-sr-only {
2659
+ position: absolute;
2660
+ width: 1px;
2661
+ height: 1px;
2662
+ margin: -1px;
2663
+ padding: 0;
2664
+ overflow: hidden;
2665
+ clip: rect(0, 0, 0, 0);
2666
+ white-space: nowrap;
2667
+ border: 0;
2668
+ }
2669
+
2670
+ .niceeval-view-skeleton {
2671
+ --niceeval-skeleton-base: var(--niceeval-color-surface-subtle, #151515);
2672
+ --niceeval-skeleton-shine: var(--niceeval-color-border-strong, #343434);
2673
+ display: grid;
2674
+ gap: 28px;
2675
+ width: 100%;
2676
+ min-height: 440px;
2677
+ }
2678
+
2679
+ .niceeval-view-skeleton-line,
2680
+ .niceeval-view-skeleton-cards > span,
2681
+ .niceeval-view-skeleton-chart,
2682
+ .niceeval-view-skeleton-table,
2683
+ .niceeval-view-skeleton-table > i {
2684
+ display: block;
2685
+ border-radius: var(--niceeval-radius, 0);
2686
+ background: linear-gradient(
2687
+ 100deg,
2688
+ var(--niceeval-skeleton-base) 25%,
2689
+ var(--niceeval-skeleton-shine) 44%,
2690
+ var(--niceeval-skeleton-base) 63%
2691
+ );
2692
+ background-size: 300% 100%;
2693
+ animation: niceeval-view-skeleton-shimmer 1.7s ease-in-out infinite;
2694
+ }
2695
+
2696
+ .niceeval-view-skeleton-heading { display: grid; gap: 12px; }
2697
+ .niceeval-view-skeleton-eyebrow { width: 92px; height: 10px; }
2698
+ .niceeval-view-skeleton-title { width: min(440px, 68%); height: 32px; }
2699
+ .niceeval-view-skeleton-copy { width: min(620px, 86%); height: 14px; }
2700
+
2701
+ .niceeval-view-skeleton-cards {
2702
+ display: grid;
2703
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2704
+ gap: 14px;
2705
+ }
2706
+
2707
+ .niceeval-view-skeleton-cards > span { height: 104px; }
2708
+
2709
+ .niceeval-view-skeleton-content {
2710
+ display: grid;
2711
+ grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
2712
+ gap: 18px;
2713
+ }
2714
+
2715
+ .niceeval-view-skeleton-chart { min-height: 230px; }
2716
+ .niceeval-view-skeleton-table { min-height: 230px; padding: 24px 20px; }
2717
+ .niceeval-view-skeleton-table > i { height: 12px; margin-bottom: 24px; }
2718
+ .niceeval-view-skeleton-table > i:nth-child(2) { width: 82%; }
2719
+ .niceeval-view-skeleton-table > i:nth-child(3) { width: 91%; }
2720
+ .niceeval-view-skeleton-table > i:nth-child(4) { width: 68%; }
2721
+
2722
+ .niceeval-view-skeleton-overlay {
2723
+ min-height: 360px;
2724
+ padding-top: 12px;
2725
+ }
2726
+
2727
+ @keyframes niceeval-view-skeleton-shimmer {
2728
+ from { background-position: 100% 0; }
2729
+ to { background-position: 0 0; }
2730
+ }
2731
+
2732
+ @media (prefers-reduced-motion: reduce) {
2733
+ .niceeval-view-skeleton-line,
2734
+ .niceeval-view-skeleton-cards > span,
2735
+ .niceeval-view-skeleton-chart,
2736
+ .niceeval-view-skeleton-table,
2737
+ .niceeval-view-skeleton-table > i {
2738
+ animation: none;
2739
+ }
2740
+ }
2741
+
2583
2742
  /* View shell owns only the modal chrome. The report body inside the dialog
2584
2743
  keeps the same closed product markup and the same stylesheet as its direct
2585
2744
  route; the runtime injects no second CSS owner. */
@@ -2603,13 +2762,6 @@ html.niceeval-view-document body {
2603
2762
  box-shadow: 0 20px 60px rgb(0 0 0 / 45%);
2604
2763
  }
2605
2764
 
2606
- /* An author display declaration overrides the browser's default
2607
- `dialog:not([open]) { display: none }` rule. Preserve the legacy Radix
2608
- unmount result when native dialog.close() removes [open]. */
2609
- .niceeval-view-dialog:not([open]) { display: none; }
2610
-
2611
- .niceeval-view-dialog::backdrop { background: rgb(0 0 0 / 90%); }
2612
-
2613
2765
  .niceeval-view-dialog-head {
2614
2766
  flex: 0 0 auto;
2615
2767
  position: sticky;
@@ -2677,7 +2829,16 @@ html.niceeval-view-document body {
2677
2829
 
2678
2830
  .niceeval-view-problems h2 { margin: 0 0 8px; font-size: 14px; }
2679
2831
  .niceeval-view-problems ul { margin: 0; padding-left: 20px; }
2680
- .niceeval-view-noscript { margin: 0; color: var(--niceeval-color-text-secondary, #a1a1aa); }
2832
+ .niceeval-view-js-required {
2833
+ width: min(calc(100vw - 48px), 720px);
2834
+ margin: 18vh auto 0;
2835
+ padding: 28px;
2836
+ border: 1px solid var(--niceeval-color-border, #262626);
2837
+ color: var(--niceeval-color-text, #ededed);
2838
+ background: var(--niceeval-color-surface, #0b0b0b);
2839
+ }
2840
+ .niceeval-view-js-required h1 { margin: 0 0 12px; font-size: 22px; }
2841
+ .niceeval-view-js-required p { margin: 0; color: var(--niceeval-color-text-secondary, #a1a1aa); }
2681
2842
 
2682
2843
  [data-niceeval-locale][hidden] { display: none !important; }
2683
2844
 
@@ -2688,11 +2849,16 @@ html.niceeval-view-document body {
2688
2849
  }
2689
2850
  .niceeval-view-pages { display: none; }
2690
2851
  .niceeval-view-controls { grid-column: 2; }
2691
- .niceeval-view-experiment noscript .niceeval-view-nav { display: none; }
2692
2852
  .niceeval-view-experiment label > span { display: none; }
2693
2853
  .niceeval-view-experiment select { min-width: 108px; }
2694
2854
  .niceeval-view-language select { min-width: 68px; }
2695
2855
  .niceeval-view-main { width: min(calc(100vw - 28px), 1120px); padding-top: 42px; }
2856
+ .niceeval-view-skeleton { min-height: 380px; gap: 20px; }
2857
+ .niceeval-view-skeleton-cards { grid-template-columns: 1fr; }
2858
+ .niceeval-view-skeleton-cards > span:nth-child(n + 2) { display: none; }
2859
+ .niceeval-view-skeleton-content { grid-template-columns: 1fr; }
2860
+ .niceeval-view-skeleton-chart { min-height: 190px; }
2861
+ .niceeval-view-skeleton-table { display: none; }
2696
2862
  }
2697
2863
 
2698
2864
  @media print {
@@ -30,6 +30,9 @@ function issueSection(view) {
30
30
  function membershipTable(rows) {
31
31
  const normalized = rows.map((row) => ({
32
32
  ...row,
33
+ locator: row.locator === null
34
+ ? null
35
+ : { kind: "locator", locator: row.locator },
33
36
  outcome: row.outcome ?? null,
34
37
  phase: row.phase ?? null,
35
38
  error: row.error ?? null,
@@ -72,10 +75,10 @@ function assertionRows(entry) {
72
75
  return entry.detail.entries.map((assertion) => ({
73
76
  key: assertion.entryId,
74
77
  assertion: assertion.entryId,
75
- display: jsonText(assertion.display),
76
- criterion: jsonText(assertion.criterion),
77
- result: jsonText(assertion.result),
78
- coverage: jsonText(assertion.coverage),
78
+ display: assertion.display.label ?? assertion.display.key ?? assertion.entryId,
79
+ check: JSON.stringify(assertion.check),
80
+ result: assertion.decision.result,
81
+ coverage: assertion.source.coverage.state,
79
82
  }));
80
83
  }
81
84
  function attemptEvidenceTree(props) {
@@ -84,7 +87,7 @@ function attemptEvidenceTree(props) {
84
87
  const available = props.view.entries.filter((entry) => (props.locator === undefined || entry.attempt.locator === props.locator) && entry.state === "available");
85
88
  return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Section, { title: "Assessment evidence", meta: `${entries.length} attempt${entries.length === 1 ? "" : "s"}`, children: [visible.length === 0 ? (0, jsx_runtime_1.jsx)(primitives_tsx_1.Text, { children: "No closed assessment evidence matches this target." }) : ((0, jsx_runtime_1.jsx)(primitives_tsx_1.Table, { rows: visible, columns: ["locator", "originRun", "state", "outcome", "verdict", "assertions", "sourceSites"] })), omittedText(entries.length, visible.length, "assessment evidence rows"), available.map((entry) => {
86
89
  const assertions = limited(assertionRows(entry));
87
- return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Section, { title: `Assertions · ${entry.attempt.locator}`, children: [assertions.length === 0 ? (0, jsx_runtime_1.jsx)(primitives_tsx_1.Text, { children: "No recorded assertions." }) : ((0, jsx_runtime_1.jsx)(primitives_tsx_1.Table, { rows: assertions, columns: ["assertion", "display", "criterion", "result", "coverage"] })), omittedText(entry.detail.entries.length, assertions.length, "assertions")] }, entry.attempt.locator));
90
+ return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Section, { title: `Assertions · ${entry.attempt.locator}`, children: [assertions.length === 0 ? (0, jsx_runtime_1.jsx)(primitives_tsx_1.Text, { children: "No recorded assertions." }) : ((0, jsx_runtime_1.jsx)(primitives_tsx_1.Table, { rows: assertions, columns: ["assertion", "display", "check", "result", "coverage"] })), omittedText(entry.detail.entries.length, assertions.length, "assertions")] }, entry.attempt.locator));
88
91
  }), issueSection(props.view)] }));
89
92
  }
90
93
  exports.AttemptEvidenceResultView = (0, tree_ts_1.defineComponent)((props) => attemptEvidenceTree(props));
@@ -1 +1 @@
1
- {"version":3,"file":"result-components.js","sourceRoot":"","sources":["result-components.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Built-in report composition over already-closed values.\n *\n * Nothing in this module accepts a Sample, storage capability, attachment, or\n * Effect Scope. Page loaders own Analysis and DomainView acquisition; these\n * components only arrange their rows and views into the report product.\n */\nimport type { AttemptEvidenceDomainView, AttemptObservabilityDomainView, ClosedCommandEntry, ClosedConversationItem, ClosedUsageObservation, FileChangesDomainView, JsonValue, MetricValue, SandboxHistoryDomainView, SourcesDomainView, } from \"../../analysis/index.ts\";\nimport type { AttemptLocator } from \"../../attempt-locator.ts\";\nimport { Hero, type HeroData } from \"../components/site-components/index.tsx\";\nimport { defineComponent } from \"../definition/tree.ts\";\nimport { Col, Grid, Section, Stat, Table, Text, } from \"../definition/primitives.tsx\";\nimport type { Cell } from \"../definition/cell.tsx\";\nimport type { BuiltInExperimentRows, BuiltInSummaryRows, } from \"./analysis-values.ts\";\nconst DETAIL_ROWS_MAX = 200;\nconst SOURCE_TEXT_MAX = 12000;\n/** Display-safe membership facts prepared by the Page loader from Snapshot. */\nexport interface MembershipRow {\n readonly key: string;\n readonly experiment: string;\n readonly eval: string;\n readonly attempt: number;\n readonly selectedRun: string;\n readonly slot: string;\n readonly state: string;\n readonly relation: string | null;\n readonly locator: string | null;\n readonly outcome?: string | null;\n readonly verdict?: string | null;\n readonly phase?: string | null;\n readonly error?: string | null;\n readonly sharedFailure?: string | null;\n}\nexport interface RunErrorRow {\n readonly key: string;\n readonly failure: string;\n readonly phase: string;\n readonly affected: string;\n readonly affectedCount: number;\n readonly error: string;\n readonly message: string;\n readonly fix: string | null;\n}\nexport interface ExperimentDetailResult {\n readonly hero: HeroData;\n readonly experiment: string;\n readonly rows: BuiltInExperimentRows;\n readonly members: readonly MembershipRow[];\n}\nexport interface AttemptDetailResult {\n readonly hero: HeroData;\n readonly locator: AttemptLocator | null;\n readonly members: readonly MembershipRow[];\n readonly evidence: AttemptEvidenceDomainView;\n readonly observability: AttemptObservabilityDomainView;\n readonly fileChanges: FileChangesDomainView;\n readonly sources: SourcesDomainView;\n readonly sandbox: SandboxHistoryDomainView;\n}\nexport interface RunMembershipResult {\n readonly hero: HeroData;\n readonly summary: BuiltInSummaryRows;\n readonly members: readonly MembershipRow[];\n readonly errors: readonly RunErrorRow[];\n readonly evidence: AttemptEvidenceDomainView;\n}\nexport interface AttemptTraceProps {\n readonly view: AttemptObservabilityDomainView;\n readonly locator?: AttemptLocator;\n readonly mode: \"execution\" | \"timing\";\n readonly grep?: string;\n readonly timingMode?: \"summary\" | \"full\";\n}\nexport interface FileChangesTrajectoryProps {\n readonly view: FileChangesDomainView;\n readonly locator?: AttemptLocator;\n}\nexport interface SourcesResultProps {\n readonly view: SourcesDomainView;\n readonly locator?: AttemptLocator;\n readonly file?: string;\n}\nexport interface SandboxHistoryResultProps {\n readonly view: SandboxHistoryDomainView;\n readonly locator?: AttemptLocator;\n}\nfunction metricCell(metric: MetricValue): Cell {\n return { kind: \"metric\", metric };\n}\nfunction limited<Row>(rows: readonly Row[], maximum = DETAIL_ROWS_MAX): readonly Row[] {\n return rows.slice(0, maximum);\n}\nfunction omittedText(total: number, visible: number, label: string) {\n return total === visible ? null : <Text>{`${total - visible} additional ${label} omitted from this page.`}</Text>;\n}\nfunction issueRows(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n return view.issues.map((issue, index) => ({\n key: `${issue.code}:${index}`,\n code: issue.code,\n message: issue.message,\n }));\n}\nfunction issueSection(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n const rows = issueRows(view);\n return rows.length === 0 ? null : (<Section title=\"Analysis notes\" meta={`${rows.length}`}>\n <Table rows={rows} columns={[\"code\", \"message\"]}/>\n </Section>);\n}\nfunction membershipTable(rows: readonly MembershipRow[]) {\n const normalized = rows.map((row) => ({\n ...row,\n outcome: row.outcome ?? null,\n phase: row.phase ?? null,\n error: row.error ?? null,\n sharedFailure: row.sharedFailure ?? null,\n }));\n return (<Table rows={normalized} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"state\", label: \"Membership\" },\n { field: \"outcome\", label: \"Outcome\" },\n { field: \"error\", label: \"Error\" },\n { field: \"phase\", label: \"Phase\" },\n { field: \"sharedFailure\", label: \"Shared failure\" },\n { field: \"locator\", label: \"Attempt locator\" },\n { field: \"selectedRun\", label: \"Selected run\" },\n { field: \"slot\", label: \"Slot\" },\n { field: \"relation\", label: \"Relation\" },\n ]}/>);\n}\nfunction runErrorsSection(rows: readonly RunErrorRow[]) {\n const notStarted = rows.reduce((total, row) => total + row.affectedCount, 0);\n return rows.length === 0 ? null : (<Section title=\"Run errors\" meta={`${notStarted} attempt${notStarted === 1 ? \"\" : \"s\"} not started`}>\n {rows.map((row) => (<Section key={row.key} title=\"Sandbox image build failed\">\n <Text>{`affected: ${row.affected}`}</Text>\n <Text>{`error: ${row.message}`}</Text>\n </Section>))}\n </Section>);\n}\nfunction evidenceEntryRows(view: AttemptEvidenceDomainView, locator?: AttemptLocator) {\n return view.entries\n .filter((entry) => locator === undefined || entry.attempt.locator === locator)\n .map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n originRun: entry.attempt.originRunId,\n state: entry.state,\n outcome: entry.state === \"available\" ? entry.detail.outcome : null,\n verdict: entry.state === \"available\" ? entry.detail.verdict : null,\n assertions: entry.state === \"available\" ? entry.detail.entries.length : null,\n sourceSites: entry.state === \"available\" ? entry.detail.sourceSites.length : null,\n }));\n}\nfunction assertionRows(entry: Extract<AttemptEvidenceDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>) {\n return entry.detail.entries.map((assertion) => ({\n key: assertion.entryId,\n assertion: assertion.entryId,\n display: jsonText(assertion.display),\n criterion: jsonText(assertion.criterion),\n result: jsonText(assertion.result),\n coverage: jsonText(assertion.coverage),\n }));\n}\nfunction attemptEvidenceTree(props: {\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}) {\n const entries = evidenceEntryRows(props.view, props.locator);\n const visible = limited(entries);\n const available = props.view.entries.filter((entry): entry is Extract<typeof entry, {\n readonly state: \"available\";\n }> => (props.locator === undefined || entry.attempt.locator === props.locator) && entry.state === \"available\");\n return (<Section title=\"Assessment evidence\" meta={`${entries.length} attempt${entries.length === 1 ? \"\" : \"s\"}`}>\n {visible.length === 0 ? <Text>No closed assessment evidence matches this target.</Text> : (<Table rows={visible} columns={[\"locator\", \"originRun\", \"state\", \"outcome\", \"verdict\", \"assertions\", \"sourceSites\"]}/>)}\n {omittedText(entries.length, visible.length, \"assessment evidence rows\")}\n {available.map((entry) => {\n const assertions = limited(assertionRows(entry));\n return (<Section key={entry.attempt.locator} title={`Assertions · ${entry.attempt.locator}`}>\n {assertions.length === 0 ? <Text>No recorded assertions.</Text> : (<Table rows={assertions} columns={[\"assertion\", \"display\", \"criterion\", \"result\", \"coverage\"]}/>)}\n {omittedText(entry.detail.entries.length, assertions.length, \"assertions\")}\n </Section>);\n })}\n {issueSection(props.view)}\n </Section>);\n}\nexport const AttemptEvidenceResultView = defineComponent<{\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}>((props) => attemptEvidenceTree(props));\nAttemptEvidenceResultView.displayName = \"AttemptEvidenceResultView\";\nfunction conversationText(item: ClosedConversationItem): string {\n switch (item.kind) {\n case \"message\":\n return `${item.role}: ${item.text}`;\n case \"tool-call\":\n return `${item.tool}(${item.inputSummary})`;\n case \"tool-result\":\n return `${item.outcome}: ${item.outputSummary}`;\n case \"thinking-summary\":\n case \"compaction\":\n case \"context-injection\":\n return item.summary;\n case \"subagent\":\n return `${item.label} · ${item.state} · ${item.summary}`;\n case \"input-request\":\n return `${item.state} · ${item.promptSummary}${item.responseSummary === null ? \"\" : ` · ${item.responseSummary}`}`;\n case \"skill-load\":\n case \"conversation-error\":\n return `${item.code} · ${item.summary}`;\n }\n}\nfunction commandText(command: ClosedCommandEntry) {\n const invocation = command.manifest.invocation.kind === \"argv\"\n ? [command.manifest.invocation.executable, ...command.manifest.invocation.arguments].join(\" \")\n : command.manifest.invocation.command;\n const outcome = command.result.outcome.kind === \"exited\"\n ? `exit ${command.result.outcome.exitCode}`\n : `${command.result.outcome.kind}: ${command.result.outcome.reason}`;\n return { invocation, outcome };\n}\nfunction usageValue(observation: ClosedUsageObservation) {\n switch (observation.kind) {\n case \"token-bucket\":\n return `${observation.bucket}: ${observation.tokens}`;\n case \"request\":\n return observation.requestKind;\n case \"provider-cost\":\n return `${observation.amount} ${observation.currency}`;\n }\n}\nfunction traceEntryTree(entry: Extract<AttemptObservabilityDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>, props: AttemptTraceProps) {\n const detail = entry.detail;\n const filter = props.grep === undefined ? undefined : new RegExp(props.grep);\n const conversationRows = detail.conversation.items\n .map((item) => ({\n key: item.itemId,\n sequence: item.sequence,\n turn: item.turnId,\n event: item.kind,\n detail: conversationText(item),\n }))\n .filter((row) => filter === undefined || filter.test(`${row.event}\\n${row.detail}`));\n const commands = detail.commands.entries.map((command) => ({\n key: command.commandId,\n phase: command.manifest.phase,\n command: commandText(command).invocation,\n outcome: commandText(command).outcome,\n workingDirectory: command.manifest.workingDirectory.kind === \"project-relative\"\n ? command.manifest.workingDirectory.path\n : command.manifest.workingDirectory.kind,\n })).filter((row) => filter === undefined || filter.test(`${row.command}\\n${row.outcome}`));\n const timings = detail.timing.intervals.map((interval) => ({\n key: interval.intervalId,\n phase: interval.phase,\n label: interval.label,\n startMs: interval.startOffsetMs,\n durationMs: interval.durationMs,\n outcome: interval.outcome,\n parent: props.timingMode === \"full\" ? interval.parentIntervalId : null,\n }));\n const usage = detail.usage.observations.map((observation, index) => ({\n key: `${observation.provider}:${observation.kind}:${index}`,\n provider: observation.provider,\n kind: observation.kind,\n value: usageValue(observation),\n }));\n const diagnostics = detail.diagnostics.diagnostics.map((diagnostic) => ({\n key: diagnostic.diagnosticId,\n kind: diagnostic.kind,\n phase: diagnostic.phase,\n code: diagnostic.code,\n summary: diagnostic.summary,\n redaction: diagnostic.redaction.state === \"applied\" ? `${diagnostic.redaction.replacements} replacements` : \"none\",\n }));\n if (props.mode === \"timing\") {\n return (<Section title={`Timing · ${entry.attempt.locator}`} meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={timings} columns={props.timingMode === \"full\"\n ? [\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\", \"parent\"]\n : [\"phase\", \"label\", \"durationMs\", \"outcome\"]}/>)}\n </Section>);\n }\n return (<Section title={`Execution trace · ${entry.attempt.locator}`} meta={detail.conversation.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n turns: detail.conversation.turns.length,\n conversationItems: detail.conversation.items.length,\n commands: detail.commands.entries.length,\n timingIntervals: detail.timing.intervals.length,\n diagnostics: detail.diagnostics.diagnostics.length,\n }]} columns={[\"turns\", \"conversationItems\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>\n <Section title=\"Conversation\" meta={detail.conversation.collection.state}>\n {conversationRows.length === 0 ? <Text>No recorded conversation entries match this view.</Text> : (<Table rows={limited(conversationRows)} columns={[\"sequence\", \"turn\", \"event\", \"detail\"]}/>)}\n {omittedText(conversationRows.length, Math.min(conversationRows.length, DETAIL_ROWS_MAX), \"conversation entries\")}\n </Section>\n <Section title=\"Commands\" meta={detail.commands.collection.state}>\n {commands.length === 0 ? <Text>No recorded commands match this view.</Text> : (<Table rows={limited(commands)} columns={[\"phase\", \"command\", \"outcome\", \"workingDirectory\"]}/>)}\n {omittedText(commands.length, Math.min(commands.length, DETAIL_ROWS_MAX), \"commands\")}\n </Section>\n <Section title=\"Timing\" meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={limited(timings)} columns={[\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\"]}/>)}\n </Section>\n <Section title=\"Usage\" meta={detail.usage.collection.state}>\n {usage.length === 0 ? <Text>No recorded provider usage.</Text> : <Table rows={limited(usage)} columns={[\"provider\", \"kind\", \"value\"]}/>}\n </Section>\n <Section title=\"Diagnostics\" meta={detail.diagnostics.collection.state}>\n {diagnostics.length === 0 ? <Text>No recorded diagnostics.</Text> : (<Table rows={limited(diagnostics)} columns={[\"kind\", \"phase\", \"code\", \"summary\", \"redaction\"]}/>)}\n </Section>\n </Section>);\n}\nfunction attemptTraceTree(props: AttemptTraceProps) {\n const entries = props.view.entries\n .filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator)\n .slice(0, DETAIL_ROWS_MAX);\n return (<Col>\n {entries.length === 0 ? <Section title={props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"}><Text>No matching closed trace data.</Text></Section> : null}\n {entries.map((entry) => entry.state === \"available\"\n ? <>{traceEntryTree(entry, props)}</>\n : <Section key={entry.attempt.locator} title={`${props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"} · ${entry.attempt.locator}`}><Text>{`Trace data is ${entry.state}.`}</Text></Section>)}\n {issueSection(props.view)}\n </Col>);\n}\n/** Execution and timing never query: their only input is a closed observability DomainView. */\nexport const AttemptTrace = defineComponent<AttemptTraceProps>((props) => attemptTraceTree(props));\nAttemptTrace.displayName = \"AttemptTrace\";\nfunction endpointText(endpoint: {\n readonly state: \"absent\";\n} | {\n readonly state: \"present\";\n readonly revision: {\n readonly kind: string;\n };\n}): string {\n return endpoint.state === \"absent\" ? \"absent\" : endpoint.revision.kind;\n}\nfunction fileChangesTree(props: FileChangesTrajectoryProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"File changes\"><Text>No matching closed file-change data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`}><Text>{`File changes are ${entry.state}.`}</Text></Section>;\n }\n const changes = entry.detail.trajectory.flatMap((window) => window.changes.map((change) => ({\n key: `${window.windowId}:${change.changeId}`,\n window: window.sequence,\n path: change.path,\n kind: change.kind,\n before: endpointText(change.before),\n after: endpointText(change.after),\n })));\n const paths = entry.detail.paths.map((path) => ({\n key: path.path,\n path: path.path,\n changes: path.changes.length,\n net: path.net.state === \"available\" ? path.net.kind : path.net.reason,\n }));\n return (<Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`} meta={entry.detail.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n attribution: entry.detail.attribution.kind,\n windows: entry.detail.trajectory.length,\n paths: entry.detail.paths.length,\n limitations: entry.detail.collection.limitations.length,\n }]} columns={[\"attribution\", \"windows\", \"paths\", \"limitations\"]}/>\n <Section title=\"Change trajectory\">\n {changes.length === 0 ? <Text>No retained changed paths.</Text> : <Table rows={limited(changes)} columns={[\"window\", \"path\", \"kind\", \"before\", \"after\"]}/>}\n {omittedText(changes.length, Math.min(changes.length, DETAIL_ROWS_MAX), \"file changes\")}\n </Section>\n <Section title=\"Path summary\">\n {paths.length === 0 ? <Text>No retained path summaries.</Text> : <Table rows={limited(paths)} columns={[\"path\", \"changes\", \"net\"]}/>}\n </Section>\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const FileChangesTrajectory = defineComponent<FileChangesTrajectoryProps>((props) => fileChangesTree(props));\nFileChangesTrajectory.displayName = \"FileChangesTrajectory\";\nfunction sourceContentText(content: {\n readonly state: \"available\";\n readonly text: string;\n} | {\n readonly state: \"unavailable\" | \"binary\";\n}): string {\n if (content.state !== \"available\")\n return content.state;\n return content.text.length <= SOURCE_TEXT_MAX\n ? content.text\n : `${content.text.slice(0, SOURCE_TEXT_MAX)}\\n… source text truncated for this page.`;\n}\nfunction sourcesTree(props: SourcesResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"Recorded source\"><Text>No matching closed source data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}><Text>{`Sources are ${entry.state}.`}</Text></Section>;\n }\n const items = entry.detail.items.filter((item) => props.file === undefined || item.path === props.file);\n return (<Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}>\n {items.length === 0 ? <Text>{props.file === undefined ? \"No recorded source files.\" : `No recorded source matches ${props.file}.`}</Text> : null}\n {items.map((item) => (<Section key={item.sourceItemId} title={item.path} meta={item.sha256}>\n <Table rows={[{\n key: item.sourceItemId,\n sourceItem: item.sourceItemId,\n content: item.content.state,\n }]} columns={[\"sourceItem\", \"content\"]}/>\n <Text>{sourceContentText(item.content)}</Text>\n </Section>))}\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const SourcesResultView = defineComponent<SourcesResultProps>((props) => sourcesTree(props));\nSourcesResultView.displayName = \"SourcesResultView\";\nfunction sandboxTree(props: SandboxHistoryResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n const rows = entries.map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n state: entry.state,\n commands: entry.state === \"available\" ? entry.detail.commands.entries.length : null,\n timingIntervals: entry.state === \"available\" ? entry.detail.timing.intervals.length : null,\n diagnostics: entry.state === \"available\" ? entry.detail.diagnostics.diagnostics.length : null,\n }));\n return (<Section title=\"Sandbox history\" meta={`${rows.length} attempt${rows.length === 1 ? \"\" : \"s\"}`}>\n {rows.length === 0 ? <Text>No matching closed sandbox history.</Text> : (<Table rows={limited(rows)} columns={[\"locator\", \"state\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>)}\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"sandbox history rows\")}\n {issueSection(props.view)}\n </Section>);\n}\nexport const SandboxHistoryResultView = defineComponent<SandboxHistoryResultProps>((props) => sandboxTree(props));\nSandboxHistoryResultView.displayName = \"SandboxHistoryResultView\";\nfunction runMembershipTree(input: RunMembershipResult) {\n const hasAttempts = input.members.some((member) => member.locator !== null);\n const rows = input.members.map((member) => ({\n key: member.key,\n experiment: member.experiment,\n eval: member.eval,\n attempt: `#${member.attempt + 1}`,\n result: member.locator === null\n ? member.outcome === \"errored\" ? \"errored\" : \"not started\"\n : member.relation === \"reference\" || member.state === \"carried\" || member.state === \"accepted\"\n ? `using result ${member.locator}`\n : member.verdict ?? member.outcome ?? member.state,\n details: member.locator === null\n ? null\n : { kind: \"locator\" as const, locator: member.locator as AttemptLocator },\n }));\n return (<Col>\n <Hero data={input.hero}/>\n {runErrorsSection(input.errors)}\n <Section title=\"Planned attempts\" meta={`${input.members.length} attempt${input.members.length === 1 ? \"\" : \"s\"}`}>\n <Table rows={limited(rows)} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"result\", label: \"Result\" },\n { field: \"details\", label: \"Details\" },\n ]}/>\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"planned attempts\")}\n </Section>\n {hasAttempts ? <AttemptEvidenceResultView view={input.evidence}/> : null}\n {hasAttempts ? issueSection(input.summary) : null}\n </Col>);\n}\nexport const RunMembershipResultView = defineComponent<RunMembershipResult>((input) => runMembershipTree(input));\nRunMembershipResultView.displayName = \"RunMembershipResultView\";\nfunction attemptDetailTree(input: AttemptDetailResult) {\n const locator = input.locator ?? undefined;\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Attempt · ${input.locator ?? \"unavailable\"}`}>\n {membershipTable(input.members)}\n </Section>\n <AttemptEvidenceResultView view={input.evidence} locator={locator}/>\n <AttemptTrace view={input.observability} locator={locator} mode=\"execution\" timingMode=\"full\"/>\n <FileChangesTrajectory view={input.fileChanges} locator={locator}/>\n <SourcesResultView view={input.sources} locator={locator}/>\n <SandboxHistoryResultView view={input.sandbox} locator={locator}/>\n </Col>);\n}\nexport const AttemptDetailResultView = defineComponent<AttemptDetailResult>((input) => attemptDetailTree(input));\nAttemptDetailResultView.displayName = \"AttemptDetailResultView\";\nfunction experimentDetailTree(input: ExperimentDetailResult) {\n const rows = input.rows.filter((row) => String(row.experiment) === input.experiment);\n const hasScore = rows.some((row) => row.evaluationKind !== \"pass\");\n const hasPass = rows.some((row) => row.evaluationKind === \"pass\");\n const columns = [\n \"experiment\",\n ...(hasPass ? [\"passRate\"] : []),\n ...(hasScore ? [\"totalScore\"] : []),\n \"durationMs\",\n \"tokens\",\n ];\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Experiment · ${input.experiment}`}>\n <Table rows={rows} columns={columns}/>\n </Section>\n <Section title=\"Experiment members\" meta={`${input.members.length} slots`}>\n {membershipTable(limited(input.members))}\n {omittedText(input.members.length, Math.min(input.members.length, DETAIL_ROWS_MAX), \"member rows\")}\n </Section>\n {issueSection(input.rows)}\n </Col>);\n}\nexport const ExperimentDetailResultView = defineComponent<ExperimentDetailResult>((input) => experimentDetailTree(input));\nExperimentDetailResultView.displayName = \"ExperimentDetailResultView\";\nfunction jsonText(value: JsonValue): string {\n const text = JSON.stringify(value);\n return text.length <= 1000 ? text : `${text.slice(0, 1000)}…`;\n}\n"]}
1
+ {"version":3,"file":"result-components.js","sourceRoot":"","sources":["result-components.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Built-in report composition over already-closed values.\n *\n * Nothing in this module accepts a Sample, storage capability, attachment, or\n * Effect Scope. Page loaders own Analysis and DomainView acquisition; these\n * components only arrange their rows and views into the report product.\n */\nimport type { AttemptEvidenceDomainView, AttemptObservabilityDomainView, ClosedCommandEntry, ClosedConversationItem, ClosedUsageObservation, FileChangesDomainView, JsonValue, MetricValue, SandboxHistoryDomainView, SourcesDomainView, } from \"../../analysis/index.ts\";\nimport type { AttemptLocator } from \"../../attempt-locator.ts\";\nimport { Hero, type HeroData } from \"../components/site-components/index.tsx\";\nimport { defineComponent } from \"../definition/tree.ts\";\nimport { Col, Grid, Section, Stat, Table, Text, } from \"../definition/primitives.tsx\";\nimport type { Cell } from \"../definition/cell.tsx\";\nimport type { BuiltInExperimentRows, BuiltInSummaryRows, } from \"./analysis-values.ts\";\nconst DETAIL_ROWS_MAX = 200;\nconst SOURCE_TEXT_MAX = 12000;\n/** Display-safe membership facts prepared by the Page loader from Snapshot. */\nexport interface MembershipRow {\n readonly key: string;\n readonly experiment: string;\n readonly eval: string;\n readonly attempt: number;\n readonly selectedRun: string;\n readonly slot: string;\n readonly state: string;\n readonly relation: string | null;\n readonly locator: string | null;\n readonly outcome?: string | null;\n readonly verdict?: string | null;\n readonly phase?: string | null;\n readonly error?: string | null;\n readonly sharedFailure?: string | null;\n}\nexport interface RunErrorRow {\n readonly key: string;\n readonly failure: string;\n readonly phase: string;\n readonly affected: string;\n readonly affectedCount: number;\n readonly error: string;\n readonly message: string;\n readonly fix: string | null;\n}\nexport interface ExperimentDetailResult {\n readonly hero: HeroData;\n readonly experiment: string;\n readonly rows: BuiltInExperimentRows;\n readonly members: readonly MembershipRow[];\n}\nexport interface AttemptDetailResult {\n readonly hero: HeroData;\n readonly locator: AttemptLocator | null;\n readonly members: readonly MembershipRow[];\n readonly evidence: AttemptEvidenceDomainView;\n readonly observability: AttemptObservabilityDomainView;\n readonly fileChanges: FileChangesDomainView;\n readonly sources: SourcesDomainView;\n readonly sandbox: SandboxHistoryDomainView;\n}\nexport interface RunMembershipResult {\n readonly hero: HeroData;\n readonly summary: BuiltInSummaryRows;\n readonly members: readonly MembershipRow[];\n readonly errors: readonly RunErrorRow[];\n readonly evidence: AttemptEvidenceDomainView;\n}\nexport interface AttemptTraceProps {\n readonly view: AttemptObservabilityDomainView;\n readonly locator?: AttemptLocator;\n readonly mode: \"execution\" | \"timing\";\n readonly grep?: string;\n readonly timingMode?: \"summary\" | \"full\";\n}\nexport interface FileChangesTrajectoryProps {\n readonly view: FileChangesDomainView;\n readonly locator?: AttemptLocator;\n}\nexport interface SourcesResultProps {\n readonly view: SourcesDomainView;\n readonly locator?: AttemptLocator;\n readonly file?: string;\n}\nexport interface SandboxHistoryResultProps {\n readonly view: SandboxHistoryDomainView;\n readonly locator?: AttemptLocator;\n}\nfunction metricCell(metric: MetricValue): Cell {\n return { kind: \"metric\", metric };\n}\nfunction limited<Row>(rows: readonly Row[], maximum = DETAIL_ROWS_MAX): readonly Row[] {\n return rows.slice(0, maximum);\n}\nfunction omittedText(total: number, visible: number, label: string) {\n return total === visible ? null : <Text>{`${total - visible} additional ${label} omitted from this page.`}</Text>;\n}\nfunction issueRows(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n return view.issues.map((issue, index) => ({\n key: `${issue.code}:${index}`,\n code: issue.code,\n message: issue.message,\n }));\n}\nfunction issueSection(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n const rows = issueRows(view);\n return rows.length === 0 ? null : (<Section title=\"Analysis notes\" meta={`${rows.length}`}>\n <Table rows={rows} columns={[\"code\", \"message\"]}/>\n </Section>);\n}\nfunction membershipTable(rows: readonly MembershipRow[]) {\n const normalized = rows.map((row) => ({\n ...row,\n locator: row.locator === null\n ? null\n : ({ kind: \"locator\", locator: row.locator as AttemptLocator } satisfies Cell),\n outcome: row.outcome ?? null,\n phase: row.phase ?? null,\n error: row.error ?? null,\n sharedFailure: row.sharedFailure ?? null,\n }));\n return (<Table rows={normalized} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"state\", label: \"Membership\" },\n { field: \"outcome\", label: \"Outcome\" },\n { field: \"error\", label: \"Error\" },\n { field: \"phase\", label: \"Phase\" },\n { field: \"sharedFailure\", label: \"Shared failure\" },\n { field: \"locator\", label: \"Attempt locator\" },\n { field: \"selectedRun\", label: \"Selected run\" },\n { field: \"slot\", label: \"Slot\" },\n { field: \"relation\", label: \"Relation\" },\n ]}/>);\n}\nfunction runErrorsSection(rows: readonly RunErrorRow[]) {\n const notStarted = rows.reduce((total, row) => total + row.affectedCount, 0);\n return rows.length === 0 ? null : (<Section title=\"Run errors\" meta={`${notStarted} attempt${notStarted === 1 ? \"\" : \"s\"} not started`}>\n {rows.map((row) => (<Section key={row.key} title=\"Sandbox image build failed\">\n <Text>{`affected: ${row.affected}`}</Text>\n <Text>{`error: ${row.message}`}</Text>\n </Section>))}\n </Section>);\n}\nfunction evidenceEntryRows(view: AttemptEvidenceDomainView, locator?: AttemptLocator) {\n return view.entries\n .filter((entry) => locator === undefined || entry.attempt.locator === locator)\n .map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n originRun: entry.attempt.originRunId,\n state: entry.state,\n outcome: entry.state === \"available\" ? entry.detail.outcome : null,\n verdict: entry.state === \"available\" ? entry.detail.verdict : null,\n assertions: entry.state === \"available\" ? entry.detail.entries.length : null,\n sourceSites: entry.state === \"available\" ? entry.detail.sourceSites.length : null,\n }));\n}\nfunction assertionRows(entry: Extract<AttemptEvidenceDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>) {\n return entry.detail.entries.map((assertion) => ({\n key: assertion.entryId,\n assertion: assertion.entryId,\n display: assertion.display.label ?? assertion.display.key ?? assertion.entryId,\n check: JSON.stringify(assertion.check),\n result: assertion.decision.result,\n coverage: assertion.source.coverage.state,\n }));\n}\nfunction attemptEvidenceTree(props: {\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}) {\n const entries = evidenceEntryRows(props.view, props.locator);\n const visible = limited(entries);\n const available = props.view.entries.filter((entry): entry is Extract<typeof entry, {\n readonly state: \"available\";\n }> => (props.locator === undefined || entry.attempt.locator === props.locator) && entry.state === \"available\");\n return (<Section title=\"Assessment evidence\" meta={`${entries.length} attempt${entries.length === 1 ? \"\" : \"s\"}`}>\n {visible.length === 0 ? <Text>No closed assessment evidence matches this target.</Text> : (<Table rows={visible} columns={[\"locator\", \"originRun\", \"state\", \"outcome\", \"verdict\", \"assertions\", \"sourceSites\"]}/>)}\n {omittedText(entries.length, visible.length, \"assessment evidence rows\")}\n {available.map((entry) => {\n const assertions = limited(assertionRows(entry));\n return (<Section key={entry.attempt.locator} title={`Assertions · ${entry.attempt.locator}`}>\n {assertions.length === 0 ? <Text>No recorded assertions.</Text> : (<Table rows={assertions} columns={[\"assertion\", \"display\", \"check\", \"result\", \"coverage\"]}/>)}\n {omittedText(entry.detail.entries.length, assertions.length, \"assertions\")}\n </Section>);\n })}\n {issueSection(props.view)}\n </Section>);\n}\nexport const AttemptEvidenceResultView = defineComponent<{\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}>((props) => attemptEvidenceTree(props));\nAttemptEvidenceResultView.displayName = \"AttemptEvidenceResultView\";\nfunction conversationText(item: ClosedConversationItem): string {\n switch (item.kind) {\n case \"message\":\n return `${item.role}: ${item.text}`;\n case \"tool-call\":\n return `${item.tool}(${item.inputSummary})`;\n case \"tool-result\":\n return `${item.outcome}: ${item.outputSummary}`;\n case \"thinking-summary\":\n case \"compaction\":\n case \"context-injection\":\n return item.summary;\n case \"subagent\":\n return `${item.label} · ${item.state} · ${item.summary}`;\n case \"input-request\":\n return `${item.state} · ${item.promptSummary}${item.responseSummary === null ? \"\" : ` · ${item.responseSummary}`}`;\n case \"skill-load\":\n case \"conversation-error\":\n return `${item.code} · ${item.summary}`;\n }\n}\nfunction commandText(command: ClosedCommandEntry) {\n const invocation = command.manifest.invocation.kind === \"argv\"\n ? [command.manifest.invocation.executable, ...command.manifest.invocation.arguments].join(\" \")\n : command.manifest.invocation.command;\n const outcome = command.result.outcome.kind === \"exited\"\n ? `exit ${command.result.outcome.exitCode}`\n : `${command.result.outcome.kind}: ${command.result.outcome.reason}`;\n return { invocation, outcome };\n}\nfunction usageValue(observation: ClosedUsageObservation) {\n switch (observation.kind) {\n case \"token-bucket\":\n return `${observation.bucket}: ${observation.tokens}`;\n case \"request\":\n return observation.requestKind;\n case \"provider-cost\":\n return `${observation.amount} ${observation.currency}`;\n }\n}\nfunction traceEntryTree(entry: Extract<AttemptObservabilityDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>, props: AttemptTraceProps) {\n const detail = entry.detail;\n const filter = props.grep === undefined ? undefined : new RegExp(props.grep);\n const conversationRows = detail.conversation.items\n .map((item) => ({\n key: item.itemId,\n sequence: item.sequence,\n turn: item.turnId,\n event: item.kind,\n detail: conversationText(item),\n }))\n .filter((row) => filter === undefined || filter.test(`${row.event}\\n${row.detail}`));\n const commands = detail.commands.entries.map((command) => ({\n key: command.commandId,\n phase: command.manifest.phase,\n command: commandText(command).invocation,\n outcome: commandText(command).outcome,\n workingDirectory: command.manifest.workingDirectory.kind === \"project-relative\"\n ? command.manifest.workingDirectory.path\n : command.manifest.workingDirectory.kind,\n })).filter((row) => filter === undefined || filter.test(`${row.command}\\n${row.outcome}`));\n const timings = detail.timing.intervals.map((interval) => ({\n key: interval.intervalId,\n phase: interval.phase,\n label: interval.label,\n startMs: interval.startOffsetMs,\n durationMs: interval.durationMs,\n outcome: interval.outcome,\n parent: props.timingMode === \"full\" ? interval.parentIntervalId : null,\n }));\n const usage = detail.usage.observations.map((observation, index) => ({\n key: `${observation.provider}:${observation.kind}:${index}`,\n provider: observation.provider,\n kind: observation.kind,\n value: usageValue(observation),\n }));\n const diagnostics = detail.diagnostics.diagnostics.map((diagnostic) => ({\n key: diagnostic.diagnosticId,\n kind: diagnostic.kind,\n phase: diagnostic.phase,\n code: diagnostic.code,\n summary: diagnostic.summary,\n redaction: diagnostic.redaction.state === \"applied\" ? `${diagnostic.redaction.replacements} replacements` : \"none\",\n }));\n if (props.mode === \"timing\") {\n return (<Section title={`Timing · ${entry.attempt.locator}`} meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={timings} columns={props.timingMode === \"full\"\n ? [\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\", \"parent\"]\n : [\"phase\", \"label\", \"durationMs\", \"outcome\"]}/>)}\n </Section>);\n }\n return (<Section title={`Execution trace · ${entry.attempt.locator}`} meta={detail.conversation.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n turns: detail.conversation.turns.length,\n conversationItems: detail.conversation.items.length,\n commands: detail.commands.entries.length,\n timingIntervals: detail.timing.intervals.length,\n diagnostics: detail.diagnostics.diagnostics.length,\n }]} columns={[\"turns\", \"conversationItems\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>\n <Section title=\"Conversation\" meta={detail.conversation.collection.state}>\n {conversationRows.length === 0 ? <Text>No recorded conversation entries match this view.</Text> : (<Table rows={limited(conversationRows)} columns={[\"sequence\", \"turn\", \"event\", \"detail\"]}/>)}\n {omittedText(conversationRows.length, Math.min(conversationRows.length, DETAIL_ROWS_MAX), \"conversation entries\")}\n </Section>\n <Section title=\"Commands\" meta={detail.commands.collection.state}>\n {commands.length === 0 ? <Text>No recorded commands match this view.</Text> : (<Table rows={limited(commands)} columns={[\"phase\", \"command\", \"outcome\", \"workingDirectory\"]}/>)}\n {omittedText(commands.length, Math.min(commands.length, DETAIL_ROWS_MAX), \"commands\")}\n </Section>\n <Section title=\"Timing\" meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={limited(timings)} columns={[\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\"]}/>)}\n </Section>\n <Section title=\"Usage\" meta={detail.usage.collection.state}>\n {usage.length === 0 ? <Text>No recorded provider usage.</Text> : <Table rows={limited(usage)} columns={[\"provider\", \"kind\", \"value\"]}/>}\n </Section>\n <Section title=\"Diagnostics\" meta={detail.diagnostics.collection.state}>\n {diagnostics.length === 0 ? <Text>No recorded diagnostics.</Text> : (<Table rows={limited(diagnostics)} columns={[\"kind\", \"phase\", \"code\", \"summary\", \"redaction\"]}/>)}\n </Section>\n </Section>);\n}\nfunction attemptTraceTree(props: AttemptTraceProps) {\n const entries = props.view.entries\n .filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator)\n .slice(0, DETAIL_ROWS_MAX);\n return (<Col>\n {entries.length === 0 ? <Section title={props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"}><Text>No matching closed trace data.</Text></Section> : null}\n {entries.map((entry) => entry.state === \"available\"\n ? <>{traceEntryTree(entry, props)}</>\n : <Section key={entry.attempt.locator} title={`${props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"} · ${entry.attempt.locator}`}><Text>{`Trace data is ${entry.state}.`}</Text></Section>)}\n {issueSection(props.view)}\n </Col>);\n}\n/** Execution and timing never query: their only input is a closed observability DomainView. */\nexport const AttemptTrace = defineComponent<AttemptTraceProps>((props) => attemptTraceTree(props));\nAttemptTrace.displayName = \"AttemptTrace\";\nfunction endpointText(endpoint: {\n readonly state: \"absent\";\n} | {\n readonly state: \"present\";\n readonly revision: {\n readonly kind: string;\n };\n}): string {\n return endpoint.state === \"absent\" ? \"absent\" : endpoint.revision.kind;\n}\nfunction fileChangesTree(props: FileChangesTrajectoryProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"File changes\"><Text>No matching closed file-change data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`}><Text>{`File changes are ${entry.state}.`}</Text></Section>;\n }\n const changes = entry.detail.trajectory.flatMap((window) => window.changes.map((change) => ({\n key: `${window.windowId}:${change.changeId}`,\n window: window.sequence,\n path: change.path,\n kind: change.kind,\n before: endpointText(change.before),\n after: endpointText(change.after),\n })));\n const paths = entry.detail.paths.map((path) => ({\n key: path.path,\n path: path.path,\n changes: path.changes.length,\n net: path.net.state === \"available\" ? path.net.kind : path.net.reason,\n }));\n return (<Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`} meta={entry.detail.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n attribution: entry.detail.attribution.kind,\n windows: entry.detail.trajectory.length,\n paths: entry.detail.paths.length,\n limitations: entry.detail.collection.limitations.length,\n }]} columns={[\"attribution\", \"windows\", \"paths\", \"limitations\"]}/>\n <Section title=\"Change trajectory\">\n {changes.length === 0 ? <Text>No retained changed paths.</Text> : <Table rows={limited(changes)} columns={[\"window\", \"path\", \"kind\", \"before\", \"after\"]}/>}\n {omittedText(changes.length, Math.min(changes.length, DETAIL_ROWS_MAX), \"file changes\")}\n </Section>\n <Section title=\"Path summary\">\n {paths.length === 0 ? <Text>No retained path summaries.</Text> : <Table rows={limited(paths)} columns={[\"path\", \"changes\", \"net\"]}/>}\n </Section>\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const FileChangesTrajectory = defineComponent<FileChangesTrajectoryProps>((props) => fileChangesTree(props));\nFileChangesTrajectory.displayName = \"FileChangesTrajectory\";\nfunction sourceContentText(content: {\n readonly state: \"available\";\n readonly text: string;\n} | {\n readonly state: \"unavailable\" | \"binary\";\n}): string {\n if (content.state !== \"available\")\n return content.state;\n return content.text.length <= SOURCE_TEXT_MAX\n ? content.text\n : `${content.text.slice(0, SOURCE_TEXT_MAX)}\\n… source text truncated for this page.`;\n}\nfunction sourcesTree(props: SourcesResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"Recorded source\"><Text>No matching closed source data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}><Text>{`Sources are ${entry.state}.`}</Text></Section>;\n }\n const items = entry.detail.items.filter((item) => props.file === undefined || item.path === props.file);\n return (<Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}>\n {items.length === 0 ? <Text>{props.file === undefined ? \"No recorded source files.\" : `No recorded source matches ${props.file}.`}</Text> : null}\n {items.map((item) => (<Section key={item.sourceItemId} title={item.path} meta={item.sha256}>\n <Table rows={[{\n key: item.sourceItemId,\n sourceItem: item.sourceItemId,\n content: item.content.state,\n }]} columns={[\"sourceItem\", \"content\"]}/>\n <Text>{sourceContentText(item.content)}</Text>\n </Section>))}\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const SourcesResultView = defineComponent<SourcesResultProps>((props) => sourcesTree(props));\nSourcesResultView.displayName = \"SourcesResultView\";\nfunction sandboxTree(props: SandboxHistoryResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n const rows = entries.map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n state: entry.state,\n commands: entry.state === \"available\" ? entry.detail.commands.entries.length : null,\n timingIntervals: entry.state === \"available\" ? entry.detail.timing.intervals.length : null,\n diagnostics: entry.state === \"available\" ? entry.detail.diagnostics.diagnostics.length : null,\n }));\n return (<Section title=\"Sandbox history\" meta={`${rows.length} attempt${rows.length === 1 ? \"\" : \"s\"}`}>\n {rows.length === 0 ? <Text>No matching closed sandbox history.</Text> : (<Table rows={limited(rows)} columns={[\"locator\", \"state\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>)}\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"sandbox history rows\")}\n {issueSection(props.view)}\n </Section>);\n}\nexport const SandboxHistoryResultView = defineComponent<SandboxHistoryResultProps>((props) => sandboxTree(props));\nSandboxHistoryResultView.displayName = \"SandboxHistoryResultView\";\nfunction runMembershipTree(input: RunMembershipResult) {\n const hasAttempts = input.members.some((member) => member.locator !== null);\n const rows = input.members.map((member) => ({\n key: member.key,\n experiment: member.experiment,\n eval: member.eval,\n attempt: `#${member.attempt + 1}`,\n result: member.locator === null\n ? member.outcome === \"errored\" ? \"errored\" : \"not started\"\n : member.relation === \"reference\" || member.state === \"carried\" || member.state === \"accepted\"\n ? `using result ${member.locator}`\n : member.verdict ?? member.outcome ?? member.state,\n details: member.locator === null\n ? null\n : { kind: \"locator\" as const, locator: member.locator as AttemptLocator },\n }));\n return (<Col>\n <Hero data={input.hero}/>\n {runErrorsSection(input.errors)}\n <Section title=\"Planned attempts\" meta={`${input.members.length} attempt${input.members.length === 1 ? \"\" : \"s\"}`}>\n <Table rows={limited(rows)} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"result\", label: \"Result\" },\n { field: \"details\", label: \"Details\" },\n ]}/>\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"planned attempts\")}\n </Section>\n {hasAttempts ? <AttemptEvidenceResultView view={input.evidence}/> : null}\n {hasAttempts ? issueSection(input.summary) : null}\n </Col>);\n}\nexport const RunMembershipResultView = defineComponent<RunMembershipResult>((input) => runMembershipTree(input));\nRunMembershipResultView.displayName = \"RunMembershipResultView\";\nfunction attemptDetailTree(input: AttemptDetailResult) {\n const locator = input.locator ?? undefined;\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Attempt · ${input.locator ?? \"unavailable\"}`}>\n {membershipTable(input.members)}\n </Section>\n <AttemptEvidenceResultView view={input.evidence} locator={locator}/>\n <AttemptTrace view={input.observability} locator={locator} mode=\"execution\" timingMode=\"full\"/>\n <FileChangesTrajectory view={input.fileChanges} locator={locator}/>\n <SourcesResultView view={input.sources} locator={locator}/>\n <SandboxHistoryResultView view={input.sandbox} locator={locator}/>\n </Col>);\n}\nexport const AttemptDetailResultView = defineComponent<AttemptDetailResult>((input) => attemptDetailTree(input));\nAttemptDetailResultView.displayName = \"AttemptDetailResultView\";\nfunction experimentDetailTree(input: ExperimentDetailResult) {\n const rows = input.rows.filter((row) => String(row.experiment) === input.experiment);\n const hasScore = rows.some((row) => row.evaluationKind !== \"pass\");\n const hasPass = rows.some((row) => row.evaluationKind === \"pass\");\n const columns = [\n \"experiment\",\n ...(hasPass ? [\"passRate\"] : []),\n ...(hasScore ? [\"totalScore\"] : []),\n \"durationMs\",\n \"tokens\",\n ];\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Experiment · ${input.experiment}`}>\n <Table rows={rows} columns={columns}/>\n </Section>\n <Section title=\"Experiment members\" meta={`${input.members.length} slots`}>\n {membershipTable(limited(input.members))}\n {omittedText(input.members.length, Math.min(input.members.length, DETAIL_ROWS_MAX), \"member rows\")}\n </Section>\n {issueSection(input.rows)}\n </Col>);\n}\nexport const ExperimentDetailResultView = defineComponent<ExperimentDetailResult>((input) => experimentDetailTree(input));\nExperimentDetailResultView.displayName = \"ExperimentDetailResultView\";\nfunction jsonText(value: JsonValue): string {\n const text = JSON.stringify(value);\n return text.length <= 1000 ? text : `${text.slice(0, 1000)}…`;\n}\n"]}
@@ -94,6 +94,7 @@ function standardGroupPage(input) {
94
94
  path: input.path,
95
95
  title: { en: "Experiment group", "zh-CN": "实验组" },
96
96
  navigation: false,
97
+ presentation: "page",
97
98
  role: { kind: "experiment-group", groupKind: input.groupKind },
98
99
  params: input.params,
99
100
  load: (sample, params) => (0, index_ts_1.experimentComparisonScope)(sample, params),
@@ -118,6 +119,7 @@ exports.standardAttemptPage = {
118
119
  path: "/attempt",
119
120
  title: "Attempt",
120
121
  navigation: false,
122
+ presentation: "overlay",
121
123
  params: details_ts_1.attemptDetailParams,
122
124
  load: async (_sample, params, context) => Object.freeze({
123
125
  target: params,
@@ -143,6 +145,7 @@ exports.standardExperimentPage = {
143
145
  path: "/experiment",
144
146
  title: "Experiment",
145
147
  navigation: false,
148
+ presentation: "overlay",
146
149
  params: details_ts_1.experimentDetailParams,
147
150
  load: async (sample, params) => {
148
151
  const experiment = experimentForTarget(sample, params);