niceeval 0.15.1-canary.76 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/INDEX.md +45 -40
  2. package/dist/adapter-execution-trace.cjs.map +1 -1
  3. package/dist/adapter-execution-trace.d.cts +26 -0
  4. package/dist/adapter-execution-trace.d.mts +26 -0
  5. package/dist/adapter-execution-trace.d.ts +26 -0
  6. package/dist/adapter-usage.cjs.map +1 -1
  7. package/dist/adapter-usage.d.cts +9 -0
  8. package/dist/adapter-usage.d.mts +9 -0
  9. package/dist/adapter-usage.d.ts +9 -0
  10. package/dist/adapter.cjs +19 -4
  11. package/dist/adapter.cjs.map +1 -1
  12. package/dist/adapter.d.cts +37 -12
  13. package/dist/adapter.d.mts +37 -12
  14. package/dist/adapter.d.ts +37 -12
  15. package/dist/agents/ai-sdk.cjs +3 -0
  16. package/dist/agents/ai-sdk.cjs.map +1 -1
  17. package/dist/agents/bub.cjs +3 -0
  18. package/dist/agents/bub.cjs.map +1 -1
  19. package/dist/agents/claude-code-native.cjs +28 -2
  20. package/dist/agents/claude-code-native.cjs.map +1 -1
  21. package/dist/agents/claude-code.cjs +3 -0
  22. package/dist/agents/claude-code.cjs.map +1 -1
  23. package/dist/agents/codex.cjs +3 -0
  24. package/dist/agents/codex.cjs.map +1 -1
  25. package/dist/agents/coding-cli-versions.cjs +9 -10
  26. package/dist/agents/coding-cli-versions.cjs.map +1 -1
  27. package/dist/agents/coding-cli-versions.d.cts +1 -1
  28. package/dist/agents/coding-cli-versions.d.mts +1 -1
  29. package/dist/agents/coding-cli-versions.d.ts +1 -1
  30. package/dist/agents/deepseek-harness.cjs +3 -0
  31. package/dist/agents/deepseek-harness.cjs.map +1 -1
  32. package/dist/agents/hermes.cjs +3 -0
  33. package/dist/agents/hermes.cjs.map +1 -1
  34. package/dist/agents/index.cjs.map +1 -1
  35. package/dist/agents/index.d.cts +3 -2
  36. package/dist/agents/index.d.mts +3 -2
  37. package/dist/agents/index.d.ts +3 -2
  38. package/dist/agents/omp.cjs +3 -0
  39. package/dist/agents/omp.cjs.map +1 -1
  40. package/dist/agents/openai-compat.cjs +6 -0
  41. package/dist/agents/openai-compat.cjs.map +1 -1
  42. package/dist/agents/openclaw.cjs +3 -0
  43. package/dist/agents/openclaw.cjs.map +1 -1
  44. package/dist/agents/opencode.cjs +3 -0
  45. package/dist/agents/opencode.cjs.map +1 -1
  46. package/dist/agents/sdk-streams.cjs +9 -0
  47. package/dist/agents/sdk-streams.cjs.map +1 -1
  48. package/dist/agents/ui-message-stream.cjs +3 -0
  49. package/dist/agents/ui-message-stream.cjs.map +1 -1
  50. package/dist/assertions/api.cjs.map +1 -1
  51. package/dist/assertions/api.d.cts +27 -5
  52. package/dist/assertions/api.d.mts +27 -5
  53. package/dist/assertions/api.d.ts +27 -5
  54. package/dist/assertions/collection.cjs +6 -0
  55. package/dist/assertions/collection.cjs.map +1 -1
  56. package/dist/assertions/collection.d.cts +4 -2
  57. package/dist/assertions/collection.d.mts +4 -2
  58. package/dist/assertions/collection.d.ts +4 -2
  59. package/dist/assertions/collection.js +12 -8
  60. package/dist/assertions/context-match.cjs +70 -0
  61. package/dist/assertions/context-match.cjs.map +1 -0
  62. package/dist/assertions/context-match.d.cts +107 -0
  63. package/dist/assertions/context-match.d.mts +107 -0
  64. package/dist/assertions/context-match.d.ts +107 -0
  65. package/dist/assertions/context-match.js +12 -0
  66. package/dist/assertions/context-match.js.map +1 -0
  67. package/dist/assertions/full-content.cjs +109 -0
  68. package/dist/assertions/full-content.cjs.map +1 -0
  69. package/dist/assertions/full-content.d.cts +6 -0
  70. package/dist/assertions/full-content.d.mts +6 -0
  71. package/dist/assertions/full-content.d.ts +6 -0
  72. package/dist/assertions/full-content.js +12 -0
  73. package/dist/assertions/full-content.js.map +1 -0
  74. package/dist/assertions/judge-presets.cjs +2 -34
  75. package/dist/assertions/judge-presets.cjs.map +1 -1
  76. package/dist/assertions/judge-presets.d.cts +6 -9
  77. package/dist/assertions/judge-presets.d.mts +6 -9
  78. package/dist/assertions/judge-presets.d.ts +6 -9
  79. package/dist/assertions/judge-presets.js +8 -8
  80. package/dist/assertions/judge.cjs +107 -29
  81. package/dist/assertions/judge.cjs.map +1 -1
  82. package/dist/assertions/judge.d.cts +2 -0
  83. package/dist/assertions/judge.d.mts +2 -0
  84. package/dist/assertions/judge.d.ts +2 -0
  85. package/dist/assertions/match.cjs +244 -5
  86. package/dist/assertions/match.cjs.map +1 -1
  87. package/dist/assertions/match.d.cts +43 -3
  88. package/dist/assertions/match.d.mts +43 -3
  89. package/dist/assertions/match.d.ts +43 -3
  90. package/dist/assertions/match.js +88 -78
  91. package/dist/assertions/material.cjs +520 -0
  92. package/dist/assertions/material.cjs.map +1 -0
  93. package/dist/assertions/material.d.cts +56 -0
  94. package/dist/assertions/material.d.mts +56 -0
  95. package/dist/assertions/material.d.ts +56 -0
  96. package/dist/assertions/material.js +20 -0
  97. package/dist/assertions/material.js.map +1 -0
  98. package/dist/assertions/record/attachment.cjs +5 -2
  99. package/dist/assertions/record/attachment.cjs.map +1 -1
  100. package/dist/assertions/record/codec.cjs +2 -1
  101. package/dist/assertions/record/codec.cjs.map +1 -1
  102. package/dist/assertions/record/model.cjs.map +1 -1
  103. package/dist/assertions/record/model.d.cts +6 -1
  104. package/dist/assertions/record/model.d.mts +6 -1
  105. package/dist/assertions/record/model.d.ts +6 -1
  106. package/dist/assertions/runtime.cjs +207 -14
  107. package/dist/assertions/runtime.cjs.map +1 -1
  108. package/dist/assertions/runtime.d.cts +9 -0
  109. package/dist/assertions/runtime.d.mts +9 -0
  110. package/dist/assertions/runtime.d.ts +9 -0
  111. package/dist/assertions/runtime.js +14 -8
  112. package/dist/assertions/score-match-audit.cjs +18 -8
  113. package/dist/assertions/score-match-audit.cjs.map +1 -1
  114. package/dist/assertions/score-match-gateway.cjs +83 -25
  115. package/dist/assertions/score-match-gateway.cjs.map +1 -1
  116. package/dist/assertions/score-match-gateway.d.cts +2 -0
  117. package/dist/assertions/score-match-gateway.d.mts +2 -0
  118. package/dist/assertions/score-match-gateway.d.ts +2 -0
  119. package/dist/assertions/value-composition.test-d.cjs +77 -0
  120. package/dist/assertions/value-composition.test-d.cjs.map +1 -0
  121. package/dist/assertions/value-composition.test-d.d.cts +1 -0
  122. package/dist/assertions/value-composition.test-d.d.mts +1 -0
  123. package/dist/assertions/value-composition.test-d.d.ts +1 -0
  124. package/dist/assertions/value-composition.test-d.js +4 -0
  125. package/dist/assertions/value-composition.test-d.js.map +1 -0
  126. package/dist/context/assert-first.cjs +207 -213
  127. package/dist/context/assert-first.cjs.map +1 -1
  128. package/dist/context/assert-first.d.cts +49 -23
  129. package/dist/context/assert-first.d.mts +49 -23
  130. package/dist/context/assert-first.d.ts +49 -23
  131. package/dist/context/session.cjs +111 -9
  132. package/dist/context/session.cjs.map +1 -1
  133. package/dist/context/session.d.cts +18 -0
  134. package/dist/context/session.d.mts +18 -0
  135. package/dist/context/session.d.ts +18 -0
  136. package/dist/define.cjs +17 -1
  137. package/dist/define.cjs.map +1 -1
  138. package/dist/eval/cli/contribution.cjs +2 -0
  139. package/dist/eval/cli/contribution.cjs.map +1 -1
  140. package/dist/eval/host/index.cjs +2 -0
  141. package/dist/eval/host/index.cjs.map +1 -1
  142. package/dist/eval/record/evaluation.cjs +3 -0
  143. package/dist/eval/record/evaluation.cjs.map +1 -1
  144. package/dist/eval/record/membership-provenance.d.cts +15 -15
  145. package/dist/eval/record/membership-provenance.d.mts +15 -15
  146. package/dist/eval/record/membership-provenance.d.ts +15 -15
  147. package/dist/eval/record/score.cjs +7 -0
  148. package/dist/eval/record/score.cjs.map +1 -1
  149. package/dist/eval/record/sealed-assertion.cjs +3 -0
  150. package/dist/eval/record/sealed-assertion.cjs.map +1 -1
  151. package/dist/eval/record/verdict.cjs +7 -0
  152. package/dist/eval/record/verdict.cjs.map +1 -1
  153. package/dist/expect/index.cjs +8 -2
  154. package/dist/expect/index.cjs.map +1 -1
  155. package/dist/expect/index.d.cts +9 -4
  156. package/dist/expect/index.d.mts +9 -4
  157. package/dist/expect/index.d.ts +9 -4
  158. package/dist/expect/index.js +72 -62
  159. package/dist/expect/index.mjs +72 -62
  160. package/dist/experiment/host/cli/contribution.cjs +37 -23
  161. package/dist/experiment/host/cli/contribution.cjs.map +1 -1
  162. package/dist/experiment/host/cli/contribution.d.cts +9 -1
  163. package/dist/experiment/host/cli/contribution.d.mts +9 -1
  164. package/dist/experiment/host/cli/contribution.d.ts +9 -1
  165. package/dist/experiment/host/current.cjs +74 -0
  166. package/dist/experiment/host/current.cjs.map +1 -0
  167. package/dist/experiment/host/current.d.cts +33 -0
  168. package/dist/experiment/host/current.d.mts +33 -0
  169. package/dist/experiment/host/current.d.ts +33 -0
  170. package/dist/experiment/host/current.js +10 -0
  171. package/dist/experiment/host/current.js.map +1 -0
  172. package/dist/experiment/host/index.cjs +17 -174
  173. package/dist/experiment/host/index.cjs.map +1 -1
  174. package/dist/experiment/host/index.d.cts +8 -54
  175. package/dist/experiment/host/index.d.mts +8 -54
  176. package/dist/experiment/host/index.d.ts +8 -54
  177. package/dist/experiment/host/operations.cjs +33 -10
  178. package/dist/experiment/host/operations.cjs.map +1 -1
  179. package/dist/experiment/host/operations.d.cts +29 -1
  180. package/dist/experiment/host/operations.d.mts +29 -1
  181. package/dist/experiment/host/operations.d.ts +29 -1
  182. package/dist/experiment/host/operations.js +6 -4
  183. package/dist/experiment/host/requirements.cjs +3 -0
  184. package/dist/experiment/host/requirements.cjs.map +1 -0
  185. package/dist/experiment/host/requirements.d.cts +3 -0
  186. package/dist/experiment/host/requirements.d.mts +3 -0
  187. package/dist/experiment/host/requirements.d.ts +3 -0
  188. package/dist/experiment/host/requirements.js +4 -0
  189. package/dist/experiment/host/requirements.js.map +1 -0
  190. package/dist/experiment/host/runtime.cjs +179 -0
  191. package/dist/experiment/host/runtime.cjs.map +1 -0
  192. package/dist/experiment/host/runtime.d.cts +79 -0
  193. package/dist/experiment/host/runtime.d.mts +79 -0
  194. package/dist/experiment/host/runtime.d.ts +79 -0
  195. package/dist/experiment/host/runtime.js +6 -0
  196. package/dist/experiment/host/runtime.js.map +1 -0
  197. package/dist/experiment/host/types.cjs.map +1 -1
  198. package/dist/experiment/host/types.d.cts +17 -16
  199. package/dist/experiment/host/types.d.mts +17 -16
  200. package/dist/experiment/host/types.d.ts +17 -16
  201. package/dist/fresh-import.cjs +2 -1
  202. package/dist/fresh-import.cjs.map +1 -1
  203. package/dist/index.cjs +4 -2
  204. package/dist/index.cjs.map +1 -1
  205. package/dist/index.d.cts +12 -6
  206. package/dist/index.d.mts +12 -6
  207. package/dist/index.d.ts +12 -6
  208. package/dist/index.js +32 -30
  209. package/dist/index.mjs +32 -30
  210. package/dist/inspection/artifacts.cjs +83 -54
  211. package/dist/inspection/artifacts.cjs.map +1 -1
  212. package/dist/inspection/artifacts.d.cts +8 -0
  213. package/dist/inspection/artifacts.d.mts +8 -0
  214. package/dist/inspection/artifacts.d.ts +8 -0
  215. package/dist/inspection/artifacts.js +2 -0
  216. package/dist/inspection/assertions.cjs +4 -1
  217. package/dist/inspection/assertions.cjs.map +1 -1
  218. package/dist/inspection/cli/contribution.cjs +27 -4
  219. package/dist/inspection/cli/contribution.cjs.map +1 -1
  220. package/dist/inspection/cli/contribution.d.cts +2 -1
  221. package/dist/inspection/cli/contribution.d.mts +2 -1
  222. package/dist/inspection/cli/contribution.d.ts +2 -1
  223. package/dist/inspection/execution-traces.cjs +114 -8
  224. package/dist/inspection/execution-traces.cjs.map +1 -1
  225. package/dist/inspection/execution-traces.d.cts +38 -0
  226. package/dist/inspection/execution-traces.d.mts +38 -0
  227. package/dist/inspection/execution-traces.d.ts +38 -0
  228. package/dist/inspection/facts.cjs +12 -0
  229. package/dist/inspection/facts.cjs.map +1 -1
  230. package/dist/inspection/limits.cjs +5 -1
  231. package/dist/inspection/limits.cjs.map +1 -1
  232. package/dist/inspection/limits.d.cts +4 -0
  233. package/dist/inspection/limits.d.mts +4 -0
  234. package/dist/inspection/limits.d.ts +4 -0
  235. package/dist/inspection/limits.js +6 -2
  236. package/dist/inspection/overview.cjs +74 -33
  237. package/dist/inspection/overview.cjs.map +1 -1
  238. package/dist/inspection/overview.d.cts +19 -1
  239. package/dist/inspection/overview.d.mts +19 -1
  240. package/dist/inspection/overview.d.ts +19 -1
  241. package/dist/inspection/overview.js +4 -2
  242. package/dist/inspection/project-input.cjs +9 -0
  243. package/dist/inspection/project-input.cjs.map +1 -0
  244. package/dist/inspection/project-input.d.cts +20 -0
  245. package/dist/inspection/project-input.d.mts +20 -0
  246. package/dist/inspection/project-input.d.ts +20 -0
  247. package/dist/inspection/project-input.js +8 -0
  248. package/dist/inspection/project-input.js.map +1 -0
  249. package/dist/inspection/project-result.cjs +60 -0
  250. package/dist/inspection/project-result.cjs.map +1 -0
  251. package/dist/inspection/project-result.d.cts +1264 -0
  252. package/dist/inspection/project-result.d.mts +1264 -0
  253. package/dist/inspection/project-result.d.ts +1264 -0
  254. package/dist/inspection/project-result.js +10 -0
  255. package/dist/inspection/project-result.js.map +1 -0
  256. package/dist/inspection/project-source.cjs +109 -0
  257. package/dist/inspection/project-source.cjs.map +1 -0
  258. package/dist/inspection/project-source.d.cts +10 -0
  259. package/dist/inspection/project-source.d.mts +10 -0
  260. package/dist/inspection/project-source.d.ts +10 -0
  261. package/dist/inspection/project-source.js +6 -0
  262. package/dist/inspection/project-source.js.map +1 -0
  263. package/dist/inspection/project.cjs +100 -0
  264. package/dist/inspection/project.cjs.map +1 -0
  265. package/dist/inspection/project.d.cts +3 -0
  266. package/dist/inspection/project.d.mts +3 -0
  267. package/dist/inspection/project.d.ts +3 -0
  268. package/dist/inspection/project.js +6 -0
  269. package/dist/inspection/project.js.map +1 -0
  270. package/dist/inspection/protocol.cjs +19 -9
  271. package/dist/inspection/protocol.cjs.map +1 -1
  272. package/dist/inspection/protocol.d.cts +5506 -38189
  273. package/dist/inspection/protocol.d.mts +5506 -38189
  274. package/dist/inspection/protocol.d.ts +5506 -38189
  275. package/dist/inspection/public.mjs +896 -84
  276. package/dist/inspection/query.cjs +2 -0
  277. package/dist/inspection/query.cjs.map +1 -1
  278. package/dist/inspection/results.cjs +234 -29
  279. package/dist/inspection/results.cjs.map +1 -1
  280. package/dist/inspection/results.d.cts +870 -13
  281. package/dist/inspection/results.d.mts +870 -13
  282. package/dist/inspection/results.d.ts +870 -13
  283. package/dist/inspection/results.js +36 -34
  284. package/dist/inspection/select.cjs +126 -14
  285. package/dist/inspection/select.cjs.map +1 -1
  286. package/dist/inspection/select.d.cts +1 -1
  287. package/dist/inspection/select.d.mts +1 -1
  288. package/dist/inspection/select.d.ts +1 -1
  289. package/dist/inspection/source.cjs +4 -0
  290. package/dist/inspection/source.cjs.map +1 -1
  291. package/dist/inspection/sources.cjs +5 -0
  292. package/dist/inspection/sources.cjs.map +1 -1
  293. package/dist/inspection/trace.cjs +82 -84
  294. package/dist/inspection/trace.cjs.map +1 -1
  295. package/dist/inspection/trace.d.cts +7 -2
  296. package/dist/inspection/trace.d.mts +7 -2
  297. package/dist/inspection/trace.d.ts +7 -2
  298. package/dist/model-slots.cjs +35 -0
  299. package/dist/model-slots.cjs.map +1 -0
  300. package/dist/model-slots.d.cts +19 -0
  301. package/dist/model-slots.d.mts +19 -0
  302. package/dist/model-slots.d.ts +19 -0
  303. package/dist/model-slots.js +8 -0
  304. package/dist/model-slots.js.map +1 -0
  305. package/dist/o11y/adapter-call-price.cjs +4 -0
  306. package/dist/o11y/adapter-call-price.cjs.map +1 -1
  307. package/dist/o11y/adapter-call-price.d.cts +24 -0
  308. package/dist/o11y/adapter-call-price.d.mts +24 -0
  309. package/dist/o11y/adapter-call-price.d.ts +24 -0
  310. package/dist/o11y/adapter-call-price.js +6 -2
  311. package/dist/o11y/adapter-usage-projection.cjs +158 -0
  312. package/dist/o11y/adapter-usage-projection.cjs.map +1 -0
  313. package/dist/o11y/adapter-usage-projection.d.cts +141 -0
  314. package/dist/o11y/adapter-usage-projection.d.mts +141 -0
  315. package/dist/o11y/adapter-usage-projection.d.ts +141 -0
  316. package/dist/o11y/adapter-usage-projection.js +20 -0
  317. package/dist/o11y/adapter-usage-projection.js.map +1 -0
  318. package/dist/o11y/eval-usage.cjs +149 -0
  319. package/dist/o11y/eval-usage.cjs.map +1 -0
  320. package/dist/o11y/eval-usage.d.cts +46 -0
  321. package/dist/o11y/eval-usage.d.mts +46 -0
  322. package/dist/o11y/eval-usage.d.ts +46 -0
  323. package/dist/o11y/eval-usage.js +8 -0
  324. package/dist/o11y/eval-usage.js.map +1 -0
  325. package/dist/o11y/judge-call-price.cjs +62 -0
  326. package/dist/o11y/judge-call-price.cjs.map +1 -0
  327. package/dist/o11y/judge-call-price.d.cts +3 -0
  328. package/dist/o11y/judge-call-price.d.mts +3 -0
  329. package/dist/o11y/judge-call-price.d.ts +3 -0
  330. package/dist/o11y/judge-call-price.js +6 -0
  331. package/dist/o11y/judge-call-price.js.map +1 -0
  332. package/dist/o11y/judge-usage-projection.cjs +134 -0
  333. package/dist/o11y/judge-usage-projection.cjs.map +1 -0
  334. package/dist/o11y/judge-usage-projection.d.cts +18 -0
  335. package/dist/o11y/judge-usage-projection.d.mts +18 -0
  336. package/dist/o11y/judge-usage-projection.d.ts +18 -0
  337. package/dist/o11y/judge-usage-projection.js +20 -0
  338. package/dist/o11y/judge-usage-projection.js.map +1 -0
  339. package/dist/o11y/judge-usage-receipt.cjs +135 -0
  340. package/dist/o11y/judge-usage-receipt.cjs.map +1 -0
  341. package/dist/o11y/judge-usage-receipt.d.cts +5 -0
  342. package/dist/o11y/judge-usage-receipt.d.mts +5 -0
  343. package/dist/o11y/judge-usage-receipt.d.ts +5 -0
  344. package/dist/o11y/judge-usage-receipt.js +6 -0
  345. package/dist/o11y/judge-usage-receipt.js.map +1 -0
  346. package/dist/o11y/judge-usage.cjs +171 -0
  347. package/dist/o11y/judge-usage.cjs.map +1 -0
  348. package/dist/o11y/judge-usage.d.cts +35 -0
  349. package/dist/o11y/judge-usage.d.mts +35 -0
  350. package/dist/o11y/judge-usage.d.ts +35 -0
  351. package/dist/o11y/judge-usage.js +6 -0
  352. package/dist/o11y/judge-usage.js.map +1 -0
  353. package/dist/plugin/contracts.cjs +2 -0
  354. package/dist/plugin/contracts.cjs.map +1 -1
  355. package/dist/plugin/link.cjs +7 -0
  356. package/dist/plugin/link.cjs.map +1 -1
  357. package/dist/record/attachment/protocol.cjs +8 -6
  358. package/dist/record/attachment/protocol.cjs.map +1 -1
  359. package/dist/record/attachment/protocol.d.cts +10 -0
  360. package/dist/record/attachment/protocol.d.mts +10 -0
  361. package/dist/record/attachment/protocol.d.ts +10 -0
  362. package/dist/record/attachment/protocol.js +38 -36
  363. package/dist/record/codec/seal-manifest.d.cts +3 -3
  364. package/dist/record/codec/seal-manifest.d.mts +3 -3
  365. package/dist/record/codec/seal-manifest.d.ts +3 -3
  366. package/dist/record/family/adapter-usage/definition.d.cts +1 -0
  367. package/dist/record/family/adapter-usage/definition.d.mts +1 -0
  368. package/dist/record/family/adapter-usage/definition.d.ts +1 -0
  369. package/dist/record/family/adapter-usage/persistence.cjs +1 -1
  370. package/dist/record/family/adapter-usage/persistence.cjs.map +1 -1
  371. package/dist/record/family/adapter-usage/persistence.d.cts +2 -1
  372. package/dist/record/family/adapter-usage/persistence.d.mts +2 -1
  373. package/dist/record/family/adapter-usage/persistence.d.ts +2 -1
  374. package/dist/record/family/adapter-usage/schema.cjs +21 -2
  375. package/dist/record/family/adapter-usage/schema.cjs.map +1 -1
  376. package/dist/record/family/adapter-usage/schema.d.cts +85 -0
  377. package/dist/record/family/adapter-usage/schema.d.mts +85 -0
  378. package/dist/record/family/adapter-usage/schema.d.ts +85 -0
  379. package/dist/record/family/adapter-usage/schema.js +18 -12
  380. package/dist/record/family/catalog.cjs +31 -27
  381. package/dist/record/family/catalog.cjs.map +1 -1
  382. package/dist/record/family/catalog.d.cts +94 -3
  383. package/dist/record/family/catalog.d.mts +94 -3
  384. package/dist/record/family/catalog.d.ts +94 -3
  385. package/dist/record/family/current.cjs +45 -42
  386. package/dist/record/family/current.cjs.map +1 -1
  387. package/dist/record/family/current.d.cts +240 -1
  388. package/dist/record/family/current.d.mts +240 -1
  389. package/dist/record/family/current.d.ts +240 -1
  390. package/dist/record/family/execution-traces/definition.d.cts +26 -0
  391. package/dist/record/family/execution-traces/definition.d.mts +26 -0
  392. package/dist/record/family/execution-traces/definition.d.ts +26 -0
  393. package/dist/record/family/execution-traces/definition.js +20 -14
  394. package/dist/record/family/execution-traces/schema.cjs +57 -1
  395. package/dist/record/family/execution-traces/schema.cjs.map +1 -1
  396. package/dist/record/family/execution-traces/schema.d.cts +114 -0
  397. package/dist/record/family/execution-traces/schema.d.mts +114 -0
  398. package/dist/record/family/execution-traces/schema.d.ts +114 -0
  399. package/dist/record/family/execution-traces/schema.js +18 -12
  400. package/dist/record/family/judge-usage/definition.cjs +12 -0
  401. package/dist/record/family/judge-usage/definition.cjs.map +1 -0
  402. package/dist/record/family/judge-usage/definition.d.cts +91 -0
  403. package/dist/record/family/judge-usage/definition.d.mts +91 -0
  404. package/dist/record/family/judge-usage/definition.d.ts +91 -0
  405. package/dist/record/family/judge-usage/definition.js +6 -0
  406. package/dist/record/family/judge-usage/definition.js.map +1 -0
  407. package/dist/record/family/judge-usage/persistence.cjs +10 -0
  408. package/dist/record/family/judge-usage/persistence.cjs.map +1 -0
  409. package/dist/record/family/judge-usage/persistence.d.cts +91 -0
  410. package/dist/record/family/judge-usage/persistence.d.mts +91 -0
  411. package/dist/record/family/judge-usage/persistence.d.ts +91 -0
  412. package/dist/record/family/judge-usage/persistence.js +6 -0
  413. package/dist/record/family/judge-usage/persistence.js.map +1 -0
  414. package/dist/record/family/judge-usage/schema.cjs +307 -0
  415. package/dist/record/family/judge-usage/schema.cjs.map +1 -0
  416. package/dist/record/family/judge-usage/schema.d.cts +351 -0
  417. package/dist/record/family/judge-usage/schema.d.mts +351 -0
  418. package/dist/record/family/judge-usage/schema.d.ts +351 -0
  419. package/dist/record/family/judge-usage/schema.js +18 -0
  420. package/dist/record/family/judge-usage/schema.js.map +1 -0
  421. package/dist/record/host/sqlite-host.cjs +55 -9
  422. package/dist/record/host/sqlite-host.cjs.map +1 -1
  423. package/dist/record/host/types.cjs.map +1 -1
  424. package/dist/record/host/types.d.cts +7 -0
  425. package/dist/record/host/types.d.mts +7 -0
  426. package/dist/record/host/types.d.ts +7 -0
  427. package/dist/record/model/run-context.cjs +7 -1
  428. package/dist/record/model/run-context.cjs.map +1 -1
  429. package/dist/record/model/run-context.d.cts +4 -0
  430. package/dist/record/model/run-context.d.mts +4 -0
  431. package/dist/record/model/run-context.d.ts +4 -0
  432. package/dist/record/model/seal-manifest.d.cts +1 -1
  433. package/dist/record/model/seal-manifest.d.mts +1 -1
  434. package/dist/record/model/seal-manifest.d.ts +1 -1
  435. package/dist/record/sqlite/client.cjs +18 -5
  436. package/dist/record/sqlite/client.cjs.map +1 -1
  437. package/dist/record/sqlite/client.d.cts +1 -1
  438. package/dist/record/sqlite/client.d.mts +1 -1
  439. package/dist/record/sqlite/client.d.ts +1 -1
  440. package/dist/record/sqlite/project-state-database.cjs +29 -8
  441. package/dist/record/sqlite/project-state-database.cjs.map +1 -1
  442. package/dist/run/host/runtime.cjs +4 -0
  443. package/dist/run/host/runtime.cjs.map +1 -1
  444. package/dist/run/storage/sqlite.cjs +20 -0
  445. package/dist/run/storage/sqlite.cjs.map +1 -1
  446. package/dist/runner/adapter-execution-trace.cjs +125 -2
  447. package/dist/runner/adapter-execution-trace.cjs.map +1 -1
  448. package/dist/runner/adapter-execution-trace.d.cts +1 -1
  449. package/dist/runner/adapter-execution-trace.d.mts +1 -1
  450. package/dist/runner/adapter-execution-trace.d.ts +1 -1
  451. package/dist/runner/adapter-usage.cjs +55 -7
  452. package/dist/runner/adapter-usage.cjs.map +1 -1
  453. package/dist/runner/adapter-usage.d.cts +9 -2
  454. package/dist/runner/adapter-usage.d.mts +9 -2
  455. package/dist/runner/adapter-usage.d.ts +9 -2
  456. package/dist/runner/adoption.cjs +9 -0
  457. package/dist/runner/adoption.cjs.map +1 -1
  458. package/dist/runner/attempt-cancellation.cjs +12 -0
  459. package/dist/runner/attempt-cancellation.cjs.map +1 -0
  460. package/dist/runner/attempt-cancellation.d.cts +6 -0
  461. package/dist/runner/attempt-cancellation.d.mts +6 -0
  462. package/dist/runner/attempt-cancellation.d.ts +6 -0
  463. package/dist/runner/attempt-cancellation.js +6 -0
  464. package/dist/runner/attempt-cancellation.js.map +1 -0
  465. package/dist/runner/attempt-resources.cjs +10 -4
  466. package/dist/runner/attempt-resources.cjs.map +1 -1
  467. package/dist/runner/attempt-resources.d.cts +2 -1
  468. package/dist/runner/attempt-resources.d.mts +2 -1
  469. package/dist/runner/attempt-resources.d.ts +2 -1
  470. package/dist/runner/attempt.cjs +1177 -1139
  471. package/dist/runner/attempt.cjs.map +1 -1
  472. package/dist/runner/config-identity.cjs +20 -1
  473. package/dist/runner/config-identity.cjs.map +1 -1
  474. package/dist/runner/config-identity.d.cts +5 -0
  475. package/dist/runner/config-identity.d.mts +5 -0
  476. package/dist/runner/config-identity.d.ts +5 -0
  477. package/dist/runner/discover.cjs +14 -0
  478. package/dist/runner/discover.cjs.map +1 -1
  479. package/dist/runner/discover.d.cts +3 -0
  480. package/dist/runner/discover.d.mts +3 -0
  481. package/dist/runner/discover.d.ts +3 -0
  482. package/dist/runner/feedback/human.cjs +9 -4
  483. package/dist/runner/feedback/human.cjs.map +1 -1
  484. package/dist/runner/fingerprint.cjs +1 -0
  485. package/dist/runner/fingerprint.cjs.map +1 -1
  486. package/dist/runner/judge-usage.cjs +18 -0
  487. package/dist/runner/judge-usage.cjs.map +1 -0
  488. package/dist/runner/judge-usage.d.cts +5 -0
  489. package/dist/runner/judge-usage.d.mts +5 -0
  490. package/dist/runner/judge-usage.d.ts +5 -0
  491. package/dist/runner/judge-usage.js +8 -0
  492. package/dist/runner/judge-usage.js.map +1 -0
  493. package/dist/runner/project-target.cjs.map +1 -1
  494. package/dist/runner/project-target.d.cts +2 -0
  495. package/dist/runner/project-target.d.mts +2 -0
  496. package/dist/runner/project-target.d.ts +2 -0
  497. package/dist/runner/record/planning.cjs +1 -0
  498. package/dist/runner/record/planning.cjs.map +1 -1
  499. package/dist/runner/record.cjs +4 -0
  500. package/dist/runner/record.cjs.map +1 -1
  501. package/dist/runner/reporters/braintrust.cjs +2 -0
  502. package/dist/runner/reporters/braintrust.cjs.map +1 -1
  503. package/dist/runner/reuse-diagnostics.cjs +9 -10
  504. package/dist/runner/reuse-diagnostics.cjs.map +1 -1
  505. package/dist/runner/reuse-diagnostics.d.cts +5 -6
  506. package/dist/runner/reuse-diagnostics.d.mts +5 -6
  507. package/dist/runner/reuse-diagnostics.d.ts +5 -6
  508. package/dist/runner/reuse-diagnostics.js +4 -4
  509. package/dist/runner/reuse-plan.cjs +100 -48
  510. package/dist/runner/reuse-plan.cjs.map +1 -1
  511. package/dist/runner/reuse-plan.d.cts +60 -3
  512. package/dist/runner/reuse-plan.d.mts +60 -3
  513. package/dist/runner/reuse-plan.d.ts +60 -3
  514. package/dist/runner/reuse-plan.js +14 -10
  515. package/dist/runner/run.cjs +8 -6
  516. package/dist/runner/run.cjs.map +1 -1
  517. package/dist/runner/session.cjs +1 -1
  518. package/dist/runner/session.cjs.map +1 -1
  519. package/dist/runner/session.d.cts +1 -1
  520. package/dist/runner/session.d.mts +1 -1
  521. package/dist/runner/session.d.ts +1 -1
  522. package/dist/runner/source-producer.cjs +3 -1
  523. package/dist/runner/source-producer.cjs.map +1 -1
  524. package/dist/runner/types.cjs.map +1 -1
  525. package/dist/runner/types.d.cts +26 -5
  526. package/dist/runner/types.d.mts +26 -5
  527. package/dist/runner/types.d.ts +26 -5
  528. package/dist/sandbox/action.cjs +3 -0
  529. package/dist/sandbox/action.cjs.map +1 -1
  530. package/dist/sandbox/commands.cjs +3 -0
  531. package/dist/sandbox/commands.cjs.map +1 -1
  532. package/dist/sandbox/compose.cjs +6 -0
  533. package/dist/sandbox/compose.cjs.map +1 -1
  534. package/dist/sandbox/docker-profile/registry.cjs +7 -0
  535. package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
  536. package/dist/sandbox/docker-profile/runtime.cjs +3 -0
  537. package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
  538. package/dist/sandbox/docker-profile/schema.cjs +7 -0
  539. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  540. package/dist/sandbox/incus.cjs +7 -0
  541. package/dist/sandbox/incus.cjs.map +1 -1
  542. package/dist/sandbox/layer.cjs +12 -0
  543. package/dist/sandbox/layer.cjs.map +1 -1
  544. package/dist/shared/adapter-cleanup.cjs +18 -0
  545. package/dist/shared/adapter-cleanup.cjs.map +1 -0
  546. package/dist/shared/adapter-cleanup.d.cts +4 -0
  547. package/dist/shared/adapter-cleanup.d.mts +4 -0
  548. package/dist/shared/adapter-cleanup.d.ts +4 -0
  549. package/dist/shared/adapter-cleanup.js +10 -0
  550. package/dist/shared/adapter-cleanup.js.map +1 -0
  551. package/dist/shared/attempt-lifecycle.cjs +3 -0
  552. package/dist/shared/attempt-lifecycle.cjs.map +1 -0
  553. package/dist/shared/attempt-lifecycle.d.cts +13 -0
  554. package/dist/shared/attempt-lifecycle.d.mts +13 -0
  555. package/dist/shared/attempt-lifecycle.d.ts +13 -0
  556. package/dist/shared/attempt-lifecycle.js +4 -0
  557. package/dist/shared/attempt-lifecycle.js.map +1 -0
  558. package/dist/show/contribution.cjs +52 -14
  559. package/dist/show/contribution.cjs.map +1 -1
  560. package/dist/show/contribution.d.cts +23 -1
  561. package/dist/show/contribution.d.mts +23 -1
  562. package/dist/show/contribution.d.ts +23 -1
  563. package/dist/show/model.cjs +8 -1
  564. package/dist/show/model.cjs.map +1 -1
  565. package/dist/show/model.d.cts +10 -1
  566. package/dist/show/model.d.mts +10 -1
  567. package/dist/show/model.d.ts +10 -1
  568. package/dist/show/render.cjs +287 -49
  569. package/dist/show/render.cjs.map +1 -1
  570. package/dist/show/render.d.cts +3 -0
  571. package/dist/show/render.d.mts +3 -0
  572. package/dist/show/render.d.ts +3 -0
  573. package/dist/sources/projector.cjs +3 -0
  574. package/dist/sources/projector.cjs.map +1 -1
  575. package/dist/types.cjs.map +1 -1
  576. package/dist/types.d.cts +1 -1
  577. package/dist/types.d.mts +1 -1
  578. package/dist/types.d.ts +1 -1
  579. package/dist/view/app-dist/.vite/manifest.json +2 -2
  580. package/dist/view/app-dist/assets/index-CmVoXbwG.js +63 -0
  581. package/dist/view/app-dist/assets/{quality-cost-scatter-CFB3wnkN.js → quality-cost-scatter-BuLISaH4.js} +1 -1
  582. package/dist/view/app-dist/index.html +1 -1
  583. package/dist/view/cli/contribution.cjs +54 -21
  584. package/dist/view/cli/contribution.cjs.map +1 -1
  585. package/dist/view/cli/contribution.d.cts +2 -1
  586. package/dist/view/cli/contribution.d.mts +2 -1
  587. package/dist/view/cli/contribution.d.ts +2 -1
  588. package/dist/view/function-runtime.mjs +13231 -11647
  589. package/dist/view/http-protocol.cjs +3 -0
  590. package/dist/view/http-protocol.cjs.map +1 -1
  591. package/dist/view/http-protocol.d.cts +8 -0
  592. package/dist/view/http-protocol.d.mts +8 -0
  593. package/dist/view/http-protocol.d.ts +8 -0
  594. package/dist/view/inspection-host.cjs +17 -1
  595. package/dist/view/inspection-host.cjs.map +1 -1
  596. package/dist/view/render.cjs +1 -0
  597. package/dist/view/render.cjs.map +1 -1
  598. package/dist/view/render.d.cts +2 -1
  599. package/dist/view/render.d.mts +2 -1
  600. package/dist/view/render.d.ts +2 -1
  601. package/dist/view/revision.cjs.map +1 -1
  602. package/dist/view/revision.d.cts +12 -0
  603. package/dist/view/revision.d.mts +12 -0
  604. package/dist/view/revision.d.ts +12 -0
  605. package/dist/view/server.cjs +10 -9
  606. package/dist/view/server.cjs.map +1 -1
  607. package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
  608. package/docs-site/zh/explanation/adapter.mdx +2 -2
  609. package/docs-site/zh/explanation/assert.mdx +60 -24
  610. package/docs-site/zh/explanation/drive.mdx +1 -1
  611. package/docs-site/zh/explanation/evals.mdx +31 -29
  612. package/docs-site/zh/explanation/experiment.mdx +15 -15
  613. package/docs-site/zh/explanation/judge.mdx +23 -15
  614. package/docs-site/zh/explanation/overview.mdx +44 -21
  615. package/docs-site/zh/explanation/record.mdx +28 -13
  616. package/docs-site/zh/explanation/results-flow.mdx +37 -0
  617. package/docs-site/zh/explanation/runner.mdx +27 -6
  618. package/docs-site/zh/index.mdx +22 -115
  619. package/docs-site/zh/introduction.mdx +89 -61
  620. package/docs-site/zh/reference/cli.mdx +50 -26
  621. package/docs-site/zh/reference/define-agent.mdx +37 -5
  622. package/docs-site/zh/reference/define-eval.mdx +130 -29
  623. package/docs-site/zh/reference/define-experiment.mdx +251 -0
  624. package/docs-site/zh/reference/events.mdx +34 -30
  625. package/docs-site/zh/reference/expect.mdx +77 -2
  626. package/docs-site/zh/reference/official-adapters.mdx +2 -2
  627. package/docs-site/zh/troubleshooting/debug-sandbox.mdx +43 -24
  628. package/docs-site/zh/troubleshooting/debugging.mdx +65 -42
  629. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +35 -28
  630. package/docs-site/zh/tutorials/accept-results.mdx +34 -24
  631. package/docs-site/zh/tutorials/agent-feedback-loop.mdx +74 -43
  632. package/docs-site/zh/tutorials/agent-onboarding.mdx +27 -20
  633. package/docs-site/zh/tutorials/authoring.mdx +138 -121
  634. package/docs-site/zh/tutorials/ci-integration.mdx +46 -22
  635. package/docs-site/zh/tutorials/compare-runs.mdx +40 -13
  636. package/docs-site/zh/tutorials/concurrency.mdx +66 -62
  637. package/docs-site/zh/tutorials/configuration.mdx +17 -17
  638. package/docs-site/zh/tutorials/connect-otel.mdx +48 -37
  639. package/docs-site/zh/tutorials/connect-your-agent.mdx +80 -173
  640. package/docs-site/zh/tutorials/control-run-cost.mdx +63 -12
  641. package/docs-site/zh/tutorials/criteria-files.mdx +28 -21
  642. package/docs-site/zh/tutorials/custom-application.mdx +75 -55
  643. package/docs-site/zh/tutorials/dataset-fanout.mdx +32 -22
  644. package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +38 -31
  645. package/docs-site/zh/tutorials/docker-in-docker.mdx +83 -89
  646. package/docs-site/zh/tutorials/eval-groups.mdx +70 -89
  647. package/docs-site/zh/tutorials/evaluation-kinds.mdx +12 -5
  648. package/docs-site/zh/tutorials/experiment-services.mdx +243 -0
  649. package/docs-site/zh/tutorials/fixtures.mdx +42 -26
  650. package/docs-site/zh/tutorials/handle-execution-failures.mdx +41 -19
  651. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +21 -16
  652. package/docs-site/zh/tutorials/niceeval-taste-application.mdx +394 -0
  653. package/docs-site/zh/tutorials/niceeval-taste.mdx +190 -0
  654. package/docs-site/zh/tutorials/nixos-managed-dind.mdx +51 -39
  655. package/docs-site/zh/tutorials/plugins.mdx +55 -31
  656. package/docs-site/zh/tutorials/prebuilt-sandbox.mdx +204 -0
  657. package/docs-site/zh/tutorials/quickstart.mdx +91 -47
  658. package/docs-site/zh/tutorials/reporters.mdx +45 -30
  659. package/docs-site/zh/tutorials/rerun-and-cache.mdx +39 -40
  660. package/docs-site/zh/tutorials/sandbox-agent.mdx +65 -40
  661. package/docs-site/zh/tutorials/sandbox-providers.mdx +104 -282
  662. package/docs-site/zh/tutorials/sandbox-reuse.mdx +65 -97
  663. package/docs-site/zh/tutorials/select-and-preview.mdx +25 -20
  664. package/docs-site/zh/tutorials/verify-judge.mdx +49 -26
  665. package/docs-site/zh/tutorials/viewing-results.mdx +130 -80
  666. package/docs-site/zh/tutorials/write-experiment.mdx +116 -298
  667. package/docs-site/zh/tutorials/write-send.mdx +53 -52
  668. package/node_modules/undici/docs/docs/api/Agent.md +8 -8
  669. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
  670. package/node_modules/undici/docs/docs/api/Errors.md +25 -0
  671. package/node_modules/undici/docs/docs/api/Interceptors.md +4 -3
  672. package/node_modules/undici/docs/docs/api/Pool.md +5 -6
  673. package/node_modules/undici/lib/api/readable.js +1 -2
  674. package/node_modules/undici/lib/core/request.js +23 -2
  675. package/node_modules/undici/lib/core/util.js +0 -39
  676. package/node_modules/undici/lib/dispatcher/client-h1.js +11 -4
  677. package/node_modules/undici/lib/dispatcher/client-h2.js +52 -8
  678. package/node_modules/undici/lib/dispatcher/client.js +1 -1
  679. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -2
  680. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +21 -6
  681. package/node_modules/undici/lib/dispatcher/pool-base.js +63 -2
  682. package/node_modules/undici/lib/dispatcher/pool.js +90 -7
  683. package/node_modules/undici/lib/dispatcher/proxy-agent.js +16 -3
  684. package/node_modules/undici/lib/handler/deduplication-handler.js +24 -11
  685. package/node_modules/undici/lib/handler/redirect-handler.js +5 -0
  686. package/node_modules/undici/lib/handler/retry-handler.js +72 -13
  687. package/node_modules/undici/lib/interceptor/cache.js +4 -1
  688. package/node_modules/undici/lib/interceptor/decompress.js +236 -69
  689. package/node_modules/undici/lib/web/cache/cache.js +17 -8
  690. package/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
  691. package/node_modules/undici/lib/web/cookies/index.js +19 -7
  692. package/node_modules/undici/lib/web/cookies/util.js +3 -1
  693. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -1
  694. package/node_modules/undici/lib/web/fetch/body.js +22 -15
  695. package/node_modules/undici/lib/web/fetch/data-url.js +6 -6
  696. package/node_modules/undici/lib/web/fetch/formdata.js +30 -36
  697. package/node_modules/undici/lib/web/fetch/headers.js +34 -31
  698. package/node_modules/undici/lib/web/fetch/index.js +38 -14
  699. package/node_modules/undici/lib/web/fetch/request.js +74 -79
  700. package/node_modules/undici/lib/web/fetch/response.js +43 -44
  701. package/node_modules/undici/lib/web/fetch/util.js +7 -7
  702. package/node_modules/undici/lib/web/infra/index.js +16 -1
  703. package/node_modules/undici/lib/web/webidl/index.js +2 -14
  704. package/node_modules/undici/lib/web/websocket/events.js +43 -26
  705. package/node_modules/undici/lib/web/websocket/receiver.js +5 -0
  706. package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
  707. package/node_modules/undici/lib/web/websocket/websocket.js +44 -41
  708. package/node_modules/undici/package.json +1 -1
  709. package/node_modules/undici/types/diagnostics-channel.d.ts +2 -1
  710. package/node_modules/undici/types/interceptors.d.ts +1 -1
  711. package/node_modules/undici/types/webidl.d.ts +13 -7
  712. package/package.json +4 -4
  713. package/dist/view/app-dist/assets/index-DFzw1L97.js +0 -63
  714. package/docs-site/zh/tutorials/experiments.mdx +0 -101
@@ -1 +1 @@
1
- {"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { resolve } from \"node:path\";\nimport { Effect, Result } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition } from \"../../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution } from \"../../cli/contribution.ts\";\nimport { canonicalInspectionJson, canonicalJsonValue, decodeInspectionRequest, INSPECTION_OPERATION_IDS, InspectionIntegrityError, InspectionOperationError, InspectionSourceError, QUERY_PROTOCOL, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionDocument, type InspectionFailureDocument, type InspectionOperationId, type InspectionRequest, } from \"../index.ts\";\nimport { explainInspectionOperation } from \"../select.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const QUERY_CLI_OPTIONS = Object.freeze({\n request: option({ type: \"string\", help: help(\"Read one niceeval.query/v1 request from a file or -.\") }),\n record: option({ type: \"string\", help: help(\"Read an external canonical SQLite Record.\") }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print query help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst QUERY_HELP = `niceeval query — execute one fixed Inspection operation\n\nUsage:\n niceeval query discover\n niceeval query explain [--record <file>] --request <file|->\n niceeval query run [--record <file>] --request <file|->\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput;\ntype Error = CliFeatureError;\nconst QUERY_FAILURE_EXIT_CODE = 2;\nfunction failure(operation: string, cause: unknown): Error {\n return new CliFeatureError({ feature: \"inspection query\", operation, cause, exitCode: 1 });\n}\nfunction write(channel: \"stdout\" | \"stderr\", text: string) {\n return Effect.flatMap(CliOutput, (output) => channel === \"stdout\" ? output.writeStdout(text) : output.writeStderr(text)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\n}\nfunction usage(message: string) {\n return writeQueryFailure(failure(\"parse arguments\", new Error(message)));\n}\nfunction runQuery(argv: readonly string[]): Effect.Effect<number, Error, Requirements> {\n return Effect.gen(function* () {\n const parser = yield* CliArguments;\n const parsedResult = yield* Effect.try({\n try: () => parser.parse(argv, QUERY_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* writeQueryFailure(parsedResult.failure);\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", QUERY_HELP);\n return 0;\n }\n const action = parsed.positionals[0];\n if (parsed.positionals.length !== 1 || (action !== \"discover\" && action !== \"explain\" && action !== \"run\")) {\n return yield* usage(\"niceeval query expects exactly one of discover, explain, or run.\");\n }\n if (action === \"discover\") {\n if (parsed.values.request !== undefined)\n return yield* usage(\"query discover does not accept --request.\");\n if (parsed.values.record !== undefined)\n return yield* usage(\"query discover does not accept --record.\");\n const encoded = canonicalJsonValue(Object.freeze({\n protocol: QUERY_PROTOCOL,\n outcome: \"discovery\" as const,\n operations: INSPECTION_OPERATION_IDS.map((id) => Object.freeze({ id })),\n }));\n if (Result.isFailure(encoded))\n return yield* writeQueryFailure(failure(\"encode discovery\", encoded.failure));\n yield* write(\"stdout\", encoded.success);\n return 0;\n }\n if (typeof parsed.values.request !== \"string\")\n return yield* usage(`query ${action} requires --request <file|->.`);\n let operation: InspectionOperationId | undefined;\n const result = yield* Effect.gen(function* () {\n const facts = yield* invocationFacts();\n const request = yield* readQueryRequest(parsed.values.request as string, facts.cwd);\n operation = request.operation.kind;\n const source = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n const document = yield* Effect.scoped(Effect.gen(function* () {\n const inspectionFacts = yield* openInspectionSource(source).pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n return yield* Effect.try({\n try: () => action === \"explain\"\n ? explainInspectionOperation(inspectionFacts, request.operation)\n : selectInspectionOperation(inspectionFacts, request.operation),\n catch: (cause) => failure(`${action} Inspection operation`, cause),\n });\n }));\n yield* writeDocument(document);\n return 0;\n }).pipe(Effect.result);\n return Result.isSuccess(result)\n ? result.success\n : yield* writeQueryFailure(result.failure, operation);\n });\n}\nfunction invocationFacts() {\n return Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n}\nfunction readQueryRequest(pathname: string, cwd: string): Effect.Effect<InspectionRequest, Error> {\n return Effect.gen(function* () {\n const text = yield* Effect.tryPromise({\n try: () => pathname === \"-\" ? readStandardInput() : readFile(resolve(cwd, pathname), \"utf8\"),\n catch: (cause) => failure(\"read request\", cause),\n });\n if (Buffer.byteLength(text, \"utf8\") > 1048576)\n return yield* Effect.fail(failure(\"read request\", \"request exceeds 1 MiB\"));\n const value = yield* Effect.try({ try: () => JSON.parse(text) as unknown, catch: (cause) => failure(\"parse request JSON\", cause) });\n const decoded = decodeInspectionRequest(value);\n return Result.isFailure(decoded) ? yield* Effect.fail(failure(\"decode request\", decoded.failure)) : decoded.success;\n });\n}\nfunction readStandardInput(): Promise<string> {\n return new Promise((resolveInput, rejectInput) => {\n const chunks: Buffer[] = [];\n let byteLength = 0;\n const cleanup = (): void => {\n process.stdin.off(\"data\", onData);\n process.stdin.off(\"end\", onEnd);\n process.stdin.off(\"error\", onError);\n };\n const onData = (chunk: Buffer | string): void => {\n const bytes = typeof chunk === \"string\" ? Buffer.from(chunk) : chunk;\n byteLength += bytes.byteLength;\n if (byteLength > 1048576) {\n cleanup();\n rejectInput(new Error(\"request exceeds 1 MiB\"));\n }\n else\n chunks.push(bytes);\n };\n const onEnd = (): void => { cleanup(); resolveInput(Buffer.concat(chunks).toString(\"utf8\")); };\n const onError = (cause: Error): void => { cleanup(); rejectInput(cause); };\n process.stdin.on(\"data\", onData);\n process.stdin.once(\"end\", onEnd);\n process.stdin.once(\"error\", onError);\n process.stdin.resume();\n });\n}\nfunction writeDocument(document: InspectionDocument) {\n const encoded = canonicalInspectionJson(document);\n return Result.isFailure(encoded) ? Effect.fail(failure(\"encode result\", encoded.failure)) : write(\"stdout\", encoded.success);\n}\nfunction writeQueryFailure(error: Error, operation?: InspectionOperationId): Effect.Effect<number, Error, CliOutput> {\n const document = queryFailureDocument(error, operation);\n const encoded = canonicalJsonValue(document);\n if (Result.isFailure(encoded))\n return Effect.fail(failure(\"encode failure document\", encoded.failure));\n return Effect.gen(function* () {\n yield* write(\"stdout\", encoded.success);\n yield* write(\"stderr\", `niceeval query failed: ${document.failure.code}\\n`);\n return QUERY_FAILURE_EXIT_CODE;\n });\n}\nfunction queryFailureDocument(error: Error, operation?: InspectionOperationId): InspectionFailureDocument {\n const detail = queryFailureDetail(error);\n return Object.freeze({\n protocol: \"niceeval.query/v1\" as const,\n outcome: \"failure\" as const,\n operation: operation ?? null,\n failure: Object.freeze(detail),\n });\n}\nfunction queryFailureDetail(error: Error): InspectionFailureDocument[\"failure\"] {\n const cause = error.cause;\n if (cause instanceof InspectionOperationError) {\n if (cause.code === \"inspection-selection-missing\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"choose-existing-selection\" as const,\n });\n }\n if (cause.code === \"inspection-result-invalid\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"upgrade-or-report\" as const,\n });\n }\n if (cause.code === \"inspection-record-integrity-failure\") {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: cause.identity,\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause.code === \"restart-required\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"restart\" as const,\n });\n }\n if (cause.code === \"evidence-budget-exceeded\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"retry\" as const,\n });\n }\n return Object.freeze({\n code: cause.code,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n }\n if (cause instanceof InspectionIntegrityError) {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause instanceof InspectionSourceError) {\n return Object.freeze({\n code: \"inspection-source-invalid\" as const,\n reason: \"The selected Record source could not be opened. If this is a Record from an older NiceEval version, stop old NiceEval processes and run a normal experiment in the original project to upgrade supported formats before retrying --record. External Records are never migrated in place.\",\n correction: \"fix-record-source\" as const,\n });\n }\n if (isInspectionCodecFailure(cause)) {\n return Object.freeze({\n code: cause.code,\n reason: cause.code === \"inspection-request-invalid\"\n ? \"The query request does not match niceeval.query/v1.\"\n : \"NiceEval could not encode the fixed Inspection result.\",\n correction: cause.code === \"inspection-request-invalid\"\n ? \"fix-request\" as const\n : \"upgrade-or-report\" as const,\n });\n }\n const requestFailure = [\"parse arguments\", \"read request\", \"parse request JSON\", \"decode request\"].includes(error.operation);\n return requestFailure\n ? Object.freeze({\n code: \"inspection-request-invalid\" as const,\n reason: \"The query request could not be read as niceeval.query/v1.\",\n correction: \"fix-request\" as const,\n })\n : Object.freeze({\n code: \"inspection-operation-failed\" as const,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n}\nfunction isInspectionCodecFailure(value: unknown): value is {\n readonly code: \"inspection-request-invalid\" | \"inspection-result-invalid\";\n} {\n return typeof value === \"object\" && value !== null &&\n (Reflect.get(value, \"code\") === \"inspection-request-invalid\" ||\n Reflect.get(value, \"code\") === \"inspection-result-invalid\");\n}\nexport const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"query\",\n summary: \"run one fixed machine Inspection operation\",\n options: QUERY_CLI_OPTIONS,\n run: runQuery,\n});\n"]}
1
+ {"version":3,"file":"contribution.js","sourceRoot":"","sources":["contribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { resolve } from \"node:path\";\nimport { Effect, Result } from \"effect\";\nimport { CliArguments, CliInvocationFacts, CliOutput, type CliOptionDefinition } from \"../../cli/application.ts\";\nimport { CliFeatureError, type CliCommandContribution } from \"../../cli/contribution.ts\";\nimport { canonicalInspectionJson, canonicalJsonValue, decodeInspectionRequest, INSPECTION_OPERATION_IDS, InspectionIntegrityError, InspectionOperationError, InspectionSourceError, QUERY_PROTOCOL, externalInspectionSource, openInspectionSource, operationalInspectionSource, selectInspectionOperation, type InspectionDocument, type InspectionFailureDocument, type InspectionOperationId, type InspectionRequest, } from \"../index.ts\";\nimport { explainInspectionOperation } from \"../select.ts\";\nimport { SqliteRecordError } from \"../../record/sqlite/errors.ts\";\nimport { ProjectConfiguration } from \"../../cli/project-configuration.ts\";\nimport { CurrentTargetUnavailable } from \"../../experiment/host/current.ts\";\nimport { openCurrentProjectSource } from \"../project-source.ts\";\nconst help = (summary: string) => Object.freeze({ summary, visibility: \"public\" as const });\nconst option = (value: CliOptionDefinition): CliOptionDefinition => Object.freeze(value);\nexport const QUERY_CLI_OPTIONS = Object.freeze({\n request: option({ type: \"string\", help: help(\"Read one niceeval.query/v1 request from a file or -.\") }),\n record: option({ type: \"string\", help: help(\"Read an external canonical SQLite Record.\") }),\n help: option({ type: \"boolean\", short: \"h\", help: help(\"Print query help.\") }),\n} satisfies Readonly<Record<string, CliOptionDefinition>>);\nconst QUERY_HELP = `niceeval query — execute one fixed Inspection operation\n\nUsage:\n niceeval query discover\n niceeval query explain [--record <file>] --request <file|->\n niceeval query run [--record <file>] --request <file|->\n`;\ntype Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;\ntype Error = CliFeatureError;\nconst QUERY_FAILURE_EXIT_CODE = 2;\nfunction failure(operation: string, cause: unknown): Error {\n return new CliFeatureError({ feature: \"inspection query\", operation, cause, exitCode: 1 });\n}\nfunction write(channel: \"stdout\" | \"stderr\", text: string) {\n return Effect.flatMap(CliOutput, (output) => channel === \"stdout\" ? output.writeStdout(text) : output.writeStderr(text)).pipe(Effect.mapError((cause) => failure(`write ${channel}`, cause)));\n}\nfunction usage(message: string) {\n return writeQueryFailure(failure(\"parse arguments\", new Error(message)));\n}\nfunction runQuery(argv: readonly string[]): Effect.Effect<number, Error, Requirements> {\n return Effect.gen(function* () {\n const parser = yield* CliArguments;\n const parsedResult = yield* Effect.try({\n try: () => parser.parse(argv, QUERY_CLI_OPTIONS),\n catch: (cause) => failure(\"parse arguments\", cause),\n }).pipe(Effect.result);\n if (Result.isFailure(parsedResult))\n return yield* writeQueryFailure(parsedResult.failure);\n const parsed = parsedResult.success;\n if (parsed.values.help === true) {\n yield* write(\"stdout\", QUERY_HELP);\n return 0;\n }\n const action = parsed.positionals[0];\n if (parsed.positionals.length !== 1 || (action !== \"discover\" && action !== \"explain\" && action !== \"run\")) {\n return yield* usage(\"niceeval query expects exactly one of discover, explain, or run.\");\n }\n if (action === \"discover\") {\n if (parsed.values.request !== undefined)\n return yield* usage(\"query discover does not accept --request.\");\n if (parsed.values.record !== undefined)\n return yield* usage(\"query discover does not accept --record.\");\n const encoded = canonicalJsonValue(Object.freeze({\n protocol: QUERY_PROTOCOL,\n outcome: \"discovery\" as const,\n operations: INSPECTION_OPERATION_IDS.map((id) => Object.freeze({ id })),\n }));\n if (Result.isFailure(encoded))\n return yield* writeQueryFailure(failure(\"encode discovery\", encoded.failure));\n yield* write(\"stdout\", encoded.success);\n return 0;\n }\n if (typeof parsed.values.request !== \"string\")\n return yield* usage(`query ${action} requires --request <file|->.`);\n let operation: InspectionOperationId | undefined;\n const result = yield* Effect.gen(function* () {\n const facts = yield* invocationFacts();\n const request = yield* readQueryRequest(parsed.values.request as string, facts.cwd);\n operation = request.operation.kind;\n const source = typeof parsed.values.record === \"string\"\n ? externalInspectionSource(facts.cwd, parsed.values.record)\n : operationalInspectionSource(facts.cwd);\n const document = yield* Effect.scoped(Effect.gen(function* () {\n const prepare = request.operation.kind === \"project.get\" && source.kind === \"project-record\"\n ? Effect.gen(function* () {\n const project = yield* ProjectConfiguration;\n const config = yield* project.load(facts.cwd).pipe(Effect.mapError((cause) => new CurrentTargetUnavailable({ code: \"current-target-unavailable\", reason: String(cause), cause })));\n return yield* openCurrentProjectSource({ cwd: facts.cwd, config });\n })\n : openInspectionSource(source);\n const inspectionFacts = yield* prepare.pipe(Effect.mapError((cause) => failure(\"open Record source\", cause)));\n return yield* Effect.try({\n try: () => action === \"explain\"\n ? explainInspectionOperation(inspectionFacts, request.operation)\n : selectInspectionOperation(inspectionFacts, request.operation),\n catch: (cause) => failure(`${action} Inspection operation`, cause),\n });\n }));\n yield* writeDocument(document);\n return 0;\n }).pipe(Effect.result);\n return Result.isSuccess(result)\n ? result.success\n : yield* writeQueryFailure(result.failure, operation);\n });\n}\nfunction invocationFacts() {\n return Effect.flatMap(CliInvocationFacts, ({ facts }) => facts).pipe(Effect.mapError((cause) => failure(\"read invocation facts\", cause)));\n}\nfunction readQueryRequest(pathname: string, cwd: string): Effect.Effect<InspectionRequest, Error> {\n return Effect.gen(function* () {\n const text = yield* Effect.tryPromise({\n try: () => pathname === \"-\" ? readStandardInput() : readFile(resolve(cwd, pathname), \"utf8\"),\n catch: (cause) => failure(\"read request\", cause),\n });\n if (Buffer.byteLength(text, \"utf8\") > 1048576)\n return yield* Effect.fail(failure(\"read request\", \"request exceeds 1 MiB\"));\n const value = yield* Effect.try({ try: () => JSON.parse(text) as unknown, catch: (cause) => failure(\"parse request JSON\", cause) });\n const decoded = decodeInspectionRequest(value);\n return Result.isFailure(decoded) ? yield* Effect.fail(failure(\"decode request\", decoded.failure)) : decoded.success;\n });\n}\nfunction readStandardInput(): Promise<string> {\n return new Promise((resolveInput, rejectInput) => {\n const chunks: Buffer[] = [];\n let byteLength = 0;\n const cleanup = (): void => {\n process.stdin.off(\"data\", onData);\n process.stdin.off(\"end\", onEnd);\n process.stdin.off(\"error\", onError);\n };\n const onData = (chunk: Buffer | string): void => {\n const bytes = typeof chunk === \"string\" ? Buffer.from(chunk) : chunk;\n byteLength += bytes.byteLength;\n if (byteLength > 1048576) {\n cleanup();\n rejectInput(new Error(\"request exceeds 1 MiB\"));\n }\n else\n chunks.push(bytes);\n };\n const onEnd = (): void => { cleanup(); resolveInput(Buffer.concat(chunks).toString(\"utf8\")); };\n const onError = (cause: Error): void => { cleanup(); rejectInput(cause); };\n process.stdin.on(\"data\", onData);\n process.stdin.once(\"end\", onEnd);\n process.stdin.once(\"error\", onError);\n process.stdin.resume();\n });\n}\nfunction writeDocument(document: InspectionDocument) {\n const encoded = canonicalInspectionJson(document);\n return Result.isFailure(encoded) ? Effect.fail(failure(\"encode result\", encoded.failure)) : write(\"stdout\", encoded.success);\n}\nfunction writeQueryFailure(error: Error, operation?: InspectionOperationId): Effect.Effect<number, Error, CliOutput> {\n const document = queryFailureDocument(error, operation);\n const encoded = canonicalJsonValue(document);\n if (Result.isFailure(encoded))\n return Effect.fail(failure(\"encode failure document\", encoded.failure));\n return Effect.gen(function* () {\n yield* write(\"stdout\", encoded.success);\n yield* write(\"stderr\", `niceeval query failed: ${document.failure.code}\\n`);\n return QUERY_FAILURE_EXIT_CODE;\n });\n}\nfunction queryFailureDocument(error: Error, operation?: InspectionOperationId): InspectionFailureDocument {\n const detail = queryFailureDetail(error);\n return Object.freeze({\n protocol: \"niceeval.query/v1\" as const,\n outcome: \"failure\" as const,\n operation: operation ?? null,\n failure: Object.freeze(detail),\n });\n}\nfunction queryFailureDetail(error: Error): InspectionFailureDocument[\"failure\"] {\n const cause = error.cause;\n if (cause instanceof CurrentTargetUnavailable || cause instanceof InspectionOperationError && cause.code === \"current-target-unavailable\")\n return {\n code: \"current-target-unavailable\", reason: `${cause.reason} Use overview.get or an exact run.get to read recorded results.`, correction: \"fix-request\",\n };\n if (cause instanceof InspectionOperationError) {\n if (cause.code === \"inspection-selection-missing\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"choose-existing-selection\" as const,\n });\n }\n if (cause.code === \"inspection-result-invalid\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"upgrade-or-report\" as const,\n });\n }\n if (cause.code === \"inspection-record-integrity-failure\") {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: cause.identity,\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause.code === \"restart-required\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"restart\" as const,\n });\n }\n if (cause.code === \"evidence-budget-exceeded\") {\n return Object.freeze({\n code: cause.code,\n reason: cause.reason,\n correction: \"retry\" as const,\n });\n }\n return Object.freeze({\n code: cause.code,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n }\n if (cause instanceof InspectionIntegrityError) {\n return Object.freeze({\n code: cause.code,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n correction: \"fix-record-source\" as const,\n });\n }\n if (cause instanceof InspectionSourceError) {\n const recordError = cause.cause instanceof SqliteRecordError ? cause.cause : undefined;\n const operationalFailure = recordError?.code === \"record-write-busy\" || recordError?.code === \"record-resource-limit-exceeded\";\n const migrationRequired = recordError?.code === \"record-schema-migration-required\";\n const diagnostic = recordError === undefined ? cause.reason : `[${recordError.code}; ${recordError.operation}] ${cause.reason}`;\n return Object.freeze({\n code: operationalFailure ? \"inspection-operation-failed\" as const : \"inspection-source-invalid\" as const,\n reason: `The selected Record source could not be opened: ${diagnostic}${migrationRequired\n ? \" Stop old NiceEval processes and run a normal experiment in the original project to upgrade this supported format. External Records are never migrated in place.\"\n : \"\"}`,\n correction: recordError?.code === \"record-write-busy\" ? \"retry\" as const\n : recordError?.code === \"record-resource-limit-exceeded\" || recordError?.code === \"record-runtime-unsupported\"\n ? \"upgrade-or-report\" as const : \"fix-record-source\" as const,\n });\n }\n if (isInspectionCodecFailure(cause)) {\n return Object.freeze({\n code: cause.code,\n reason: cause.code === \"inspection-request-invalid\"\n ? \"The query request does not match niceeval.query/v1.\"\n : \"NiceEval could not encode the fixed Inspection result.\",\n correction: cause.code === \"inspection-request-invalid\"\n ? \"fix-request\" as const\n : \"upgrade-or-report\" as const,\n });\n }\n const requestFailure = [\"parse arguments\", \"read request\", \"parse request JSON\", \"decode request\"].includes(error.operation);\n return requestFailure\n ? Object.freeze({\n code: \"inspection-request-invalid\" as const,\n reason: \"The query request could not be read as niceeval.query/v1.\",\n correction: \"fix-request\" as const,\n })\n : Object.freeze({\n code: \"inspection-operation-failed\" as const,\n reason: \"The fixed Inspection operation could not be completed.\",\n correction: \"retry\" as const,\n });\n}\nfunction isInspectionCodecFailure(value: unknown): value is {\n readonly code: \"inspection-request-invalid\" | \"inspection-result-invalid\";\n} {\n return typeof value === \"object\" && value !== null &&\n (Reflect.get(value, \"code\") === \"inspection-request-invalid\" ||\n Reflect.get(value, \"code\") === \"inspection-result-invalid\");\n}\nexport const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error> = Object.freeze({\n name: \"query\",\n summary: \"run one fixed machine Inspection operation\",\n options: QUERY_CLI_OPTIONS,\n run: runQuery,\n});\n"]}
@@ -1,5 +1,6 @@
1
1
  import { CliArguments, CliInvocationFacts, CliOutput } from "../../cli/application.cjs";
2
2
  import { CliFeatureError, type CliCommandContribution } from "../../cli/contribution.cjs";
3
+ import { ProjectConfiguration } from "../../cli/project-configuration.cjs";
3
4
  export declare const QUERY_CLI_OPTIONS: Readonly<{
4
5
  request: Readonly<{
5
6
  readonly type: "string" | "boolean";
@@ -23,7 +24,7 @@ export declare const QUERY_CLI_OPTIONS: Readonly<{
23
24
  readonly help?: import("../../cli/application.cjs").CliOptionHelp;
24
25
  }>;
25
26
  }>;
26
- type Requirements = CliArguments | CliInvocationFacts | CliOutput;
27
+ type Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;
27
28
  type Error = CliFeatureError;
28
29
  export declare const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error>;
29
30
  export {};
@@ -1,5 +1,6 @@
1
1
  import { CliArguments, CliInvocationFacts, CliOutput } from "../../cli/application.mjs";
2
2
  import { CliFeatureError, type CliCommandContribution } from "../../cli/contribution.mjs";
3
+ import { ProjectConfiguration } from "../../cli/project-configuration.mjs";
3
4
  export declare const QUERY_CLI_OPTIONS: Readonly<{
4
5
  request: Readonly<{
5
6
  readonly type: "string" | "boolean";
@@ -23,7 +24,7 @@ export declare const QUERY_CLI_OPTIONS: Readonly<{
23
24
  readonly help?: import("../../cli/application.mjs").CliOptionHelp;
24
25
  }>;
25
26
  }>;
26
- type Requirements = CliArguments | CliInvocationFacts | CliOutput;
27
+ type Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;
27
28
  type Error = CliFeatureError;
28
29
  export declare const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error>;
29
30
  export {};
@@ -1,5 +1,6 @@
1
1
  import { CliArguments, CliInvocationFacts, CliOutput } from "../../cli/application.js";
2
2
  import { CliFeatureError, type CliCommandContribution } from "../../cli/contribution.js";
3
+ import { ProjectConfiguration } from "../../cli/project-configuration.js";
3
4
  export declare const QUERY_CLI_OPTIONS: Readonly<{
4
5
  request: Readonly<{
5
6
  readonly type: "string" | "boolean";
@@ -23,7 +24,7 @@ export declare const QUERY_CLI_OPTIONS: Readonly<{
23
24
  readonly help?: import("../../cli/application.js").CliOptionHelp;
24
25
  }>;
25
26
  }>;
26
- type Requirements = CliArguments | CliInvocationFacts | CliOutput;
27
+ type Requirements = CliArguments | CliInvocationFacts | CliOutput | ProjectConfiguration;
27
28
  type Error = CliFeatureError;
28
29
  export declare const inspectionQueryCliCommand: CliCommandContribution<Requirements, Error>;
29
30
  export {};
@@ -183,6 +183,7 @@ function newScanState() {
183
183
  scopeIds: new Map(), clockUnits: new Map(), resolvedLinks: [], causeEdges: new Map(),
184
184
  eventIds: new Set(), evidenceIds: new Set(), traceIdsForIndex: [], eventIdsForIndex: [], evidenceIdsForIndex: [],
185
185
  sourceBytes: 0, targetBytes: 0, artifacts: new Map(), parsedArtifacts: new Map(), targets: new Map(),
186
+ descriptors: undefined,
186
187
  };
187
188
  }
188
189
  function readArtifact(resolved, state, artifactId) {
@@ -238,6 +239,56 @@ function verifyEvidence(resolved, state, evidence) {
238
239
  state.targets.set(cacheKey, verified);
239
240
  return verified;
240
241
  }
242
+ function displayStrings(block) {
243
+ switch (block.kind) {
244
+ case "text": return [block.text];
245
+ case "message": return block.speaker === undefined ? [block.text] : [block.text, block.speaker];
246
+ case "fields": return block.fields.flatMap((field) => typeof field.value === "string" ? [field.label, field.value] : [field.label]);
247
+ case "code": return block.language === undefined ? [block.text] : [block.text, block.language];
248
+ case "image": return [block.alt];
249
+ }
250
+ }
251
+ /** Display blocks are re-validated on read so a hostile or foreign writer cannot bypass acceptance rules. */
252
+ function verifyDisplay(resolved, state, display) {
253
+ if (display === undefined)
254
+ return;
255
+ const limits = schema_ts_1.ExecutionTraceRecordLimits;
256
+ if (display.length > limits.maximumDisplayBlocksPerEvent) {
257
+ throw integrity("Execution display exceeds its fixed block limit.");
258
+ }
259
+ if ((0, bytes_ts_1.utf8ByteLength)((0, canonical_ts_1.canonicalRecordJsonText)(display)) > limits.maximumDisplayBytesPerEvent) {
260
+ throw integrity("Execution display exceeds its fixed byte limit.");
261
+ }
262
+ for (const block of display) {
263
+ if (displayStrings(block).some(schema_ts_1.displayTextHasForbiddenCharacter)) {
264
+ throw integrity("Execution display contains a control or bidirectional formatting character.");
265
+ }
266
+ if (block.kind === "fields" && block.fields.length > limits.maximumDisplayFields) {
267
+ throw integrity("Execution display fields exceed their fixed limit.");
268
+ }
269
+ const singleLine = block.kind === "fields" ? block.fields.map((field) => field.label)
270
+ : block.kind === "message" ? block.speaker === undefined ? [] : [block.speaker]
271
+ : block.kind === "code" ? block.language === undefined ? [] : [block.language]
272
+ : block.kind === "image" ? [block.alt] : [];
273
+ const maximumBytes = block.kind === "image" ? limits.maximumDisplayAltBytes : limits.maximumDisplayLabelBytes;
274
+ if (singleLine.some((text) => text.includes("\n") || (0, bytes_ts_1.utf8ByteLength)(text) > maximumBytes)) {
275
+ throw integrity("Execution display label exceeds its single-line or byte limit.");
276
+ }
277
+ if (block.kind !== "image")
278
+ continue;
279
+ if (state.descriptors === undefined) {
280
+ const read = (0, artifacts_ts_1.readInspectionArtifactDescriptors)(resolved);
281
+ if (effect_1.Result.isFailure(read))
282
+ throw integrity("Execution display image artifacts are unreadable.");
283
+ state.descriptors = read.success;
284
+ }
285
+ const descriptor = state.descriptors.get(block.artifactId);
286
+ if (descriptor === undefined || descriptor.sha256 !== block.sha256 ||
287
+ descriptor.byteLength !== block.byteLength || descriptor.mediaType !== block.mediaType) {
288
+ throw integrity("Execution display image artifact closure is invalid.");
289
+ }
290
+ }
291
+ }
241
292
  function observeRecord(resolved, state, record) {
242
293
  if (record.kind === "trace-header") {
243
294
  if (state.headers.has(record.traceId) || state.sourceTraceIds.has(record.sourceTraceId)) {
@@ -288,6 +339,7 @@ function observeRecord(resolved, state, record) {
288
339
  state.evidenceIdsForIndex.push(evidence.evidenceId);
289
340
  verifyEvidence(resolved, state, evidence);
290
341
  }
342
+ verifyDisplay(resolved, state, record.display);
291
343
  const membershipScopes = new Set();
292
344
  const declaredScopes = state.scopeIds.get(record.traceId);
293
345
  for (const membership of record.scopeMemberships) {
@@ -404,7 +456,8 @@ function scanCollection(resolved, visit) {
404
456
  function matches(event, filters) {
405
457
  return (filters.traceId === undefined || event.traceId === filters.traceId) &&
406
458
  (filters.sourceId === undefined || event.source.id === filters.sourceId) &&
407
- (filters.actorId === undefined || event.actor?.id === filters.actorId);
459
+ (filters.actorId === undefined || event.actor?.id === filters.actorId) &&
460
+ (filters.eventType === undefined || event.type === filters.eventType);
408
461
  }
409
462
  exports.EXECUTION_TRACE_CONTINUATION_FAMILIES = Object.freeze({
410
463
  executionTraces: definition_ts_1.executionTracesRecordCollection.family,
@@ -423,6 +476,7 @@ function continuationBinding(context, lastOrdinal) {
423
476
  traceId: context.filters.traceId ?? null,
424
477
  sourceId: context.filters.sourceId ?? null,
425
478
  actorId: context.filters.actorId ?? null,
479
+ eventType: context.filters.eventType ?? null,
426
480
  }),
427
481
  lastOrdinal,
428
482
  });
@@ -464,8 +518,52 @@ function continuationSourceFamily(token) {
464
518
  return undefined;
465
519
  }
466
520
  }
521
+ /** UTF-8-safe prefix: never splits a code point; omitted bytes count the remainder. */
522
+ function previewText(value, limit) {
523
+ const total = (0, bytes_ts_1.utf8ByteLength)(value);
524
+ if (total <= limit)
525
+ return Object.freeze({ preview: value, omittedBytes: 0 });
526
+ let used = 0;
527
+ let end = 0;
528
+ for (const character of value) {
529
+ const size = (0, bytes_ts_1.utf8ByteLength)(character);
530
+ if (used + size > limit)
531
+ break;
532
+ used += size;
533
+ end += character.length;
534
+ }
535
+ return Object.freeze({ preview: value.slice(0, end), omittedBytes: total - used });
536
+ }
537
+ function previewBlock(block, limit) {
538
+ switch (block.kind) {
539
+ case "text": return Object.freeze({ kind: "text", text: previewText(block.text, limit) });
540
+ case "message": return Object.freeze({
541
+ kind: "message", role: block.role,
542
+ ...(block.speaker === undefined ? {} : { speaker: block.speaker }),
543
+ text: previewText(block.text, limit),
544
+ });
545
+ case "fields": return Object.freeze({
546
+ kind: "fields",
547
+ fields: Object.freeze(block.fields.map((field) => Object.freeze({
548
+ label: field.label,
549
+ value: typeof field.value === "string" ? previewText(field.value, limit) : field.value,
550
+ }))),
551
+ });
552
+ case "code": return Object.freeze({
553
+ kind: "code",
554
+ ...(block.language === undefined ? {} : { language: block.language }),
555
+ text: previewText(block.text, limit),
556
+ });
557
+ case "image": return Object.freeze({ ...block });
558
+ }
559
+ }
560
+ function previewDisplay(display, limit) {
561
+ return display === undefined
562
+ ? Object.freeze({ state: "absent" })
563
+ : Object.freeze({ state: "present", blocks: Object.freeze(display.map((block) => previewBlock(block, limit))) });
564
+ }
467
565
  function outlineEvent(event) {
468
- return Object.freeze({
566
+ const envelope = {
469
567
  traceId: event.traceId,
470
568
  eventId: event.eventId,
471
569
  origin: Object.freeze({ kind: "execution-event", eventId: event.eventId }),
@@ -478,13 +576,24 @@ function outlineEvent(event) {
478
576
  links: event.links,
479
577
  evidence: Object.freeze(event.evidence.map(({ evidenceId, key, label }) => Object.freeze({ evidenceId, key, label }))),
480
578
  scopeMemberships: event.scopeMemberships,
481
- });
579
+ };
580
+ let limit = schema_ts_1.ExecutionTraceRecordLimits.maximumDisplayPreviewBytes;
581
+ while (true) {
582
+ const projected = Object.freeze({ ...envelope, display: previewDisplay(event.display, limit) });
583
+ if (event.display === undefined || (0, bytes_ts_1.utf8ByteLength)(JSON.stringify(projected)) <= schema_ts_1.ExecutionTraceRecordLimits.maximumOutlineEventBytes)
584
+ return projected;
585
+ // Existing envelope fields have no preview shape; retain them under the page budget.
586
+ if (limit === 0)
587
+ return projected;
588
+ limit = Math.floor(limit / 2);
589
+ }
482
590
  }
483
591
  function projectExecutionTraceOutline(source, resolved, request) {
484
592
  const filters = Object.freeze({
485
593
  ...(request.traceId === undefined ? {} : { traceId: request.traceId }),
486
594
  ...(request.sourceId === undefined ? {} : { sourceId: request.sourceId }),
487
595
  ...(request.actorId === undefined ? {} : { actorId: request.actorId }),
596
+ ...(request.eventType === undefined ? {} : { eventType: request.eventType }),
488
597
  });
489
598
  const nativeAttachment = collectionAttachment(resolved);
490
599
  if (request.continuation !== undefined && nativeAttachment === undefined &&
@@ -503,12 +612,10 @@ function projectExecutionTraceOutline(source, resolved, request) {
503
612
  let matched = 0;
504
613
  let priorMatches = 0;
505
614
  let pageFull = false;
506
- const matchedTraceIds = new Set();
507
615
  const scanned = scanCollection(resolved, (record, collectionOrdinal) => {
508
616
  if (record.kind !== "event" || !matches(record, filters))
509
617
  return;
510
618
  matched += 1;
511
- matchedTraceIds.add(record.traceId);
512
619
  if (collectionOrdinal <= resumeAfter) {
513
620
  priorMatches += 1;
514
621
  return;
@@ -535,10 +642,9 @@ function projectExecutionTraceOutline(source, resolved, request) {
535
642
  });
536
643
  const remaining = Math.max(0, matched - priorMatches - retained.length);
537
644
  const lastOrdinal = retained.at(-1)?.collectionOrdinal;
538
- const hasEventFilter = filters.sourceId !== undefined || filters.actorId !== undefined;
539
645
  const traceHeaders = [...scanned.state.headers.values()]
540
- .filter((header) => (filters.traceId === undefined || header.traceId === filters.traceId) &&
541
- (!hasEventFilter || matchedTraceIds.has(header.traceId)))
646
+ // An empty filtered page does not prove the producer captured all events.
647
+ .filter((header) => filters.traceId === undefined || header.traceId === filters.traceId)
542
648
  .map((header) => Object.freeze({
543
649
  ...header,
544
650
  eventCount: scanned.state.eventCounts.get(header.traceId) ?? 0,