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":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAAA,mCAA2C;AAc3C,+EAA+E;AAC/E,MAAa,mBAAoB,SAAQ,aAAI,CAAC,WAAW,CAAC,qBAAqB,CAM7E;CACD;AAPD,kDAOC","sourcesContent":["import { Data, type Effect } from \"effect\";\nimport type { Config } from \"../../types.ts\";\nimport type { FeedbackCoordinator } from \"../../runner/feedback/coordinator.ts\";\nimport type { InvocationCompletion } from \"../../runner/types.ts\";\nimport type { SessionListDocument, SessionShowDocument } from \"../../runner/session.ts\";\nimport type { CurrentReuseReadbackSnapshot } from \"../../runner/reuse-readback.ts\";\nimport type { SetupPrefixPreparationSummary } from \"../../runner/setup-prefix-preparation.ts\";\nimport type { ProjectStateDatabase } from \"../../record/sqlite/project-state-database.ts\";\nexport type ExperimentHostJsonValue = null | boolean | number | string | readonly ExperimentHostJsonValue[] | {\n readonly [key: string]: ExperimentHostJsonValue;\n};\n/** Services supplied once by the outer Node/application composition edge. */\nexport type ExperimentHostRequirements = import(\"../../record/platform/services.ts\").RecordFileSystem | import(\"../../record/platform/services.ts\").RecordEntropy | import(\"../../coordination/record-leases.ts\").RecordCoordination | ProjectStateDatabase;\nexport type ExperimentHostOperation = \"catalog\" | \"check\" | \"debug\" | \"invocation-plan\" | \"invocation-run\" | \"rename-plan\" | \"rename-apply\" | \"accept\" | \"invocation-status-list\" | \"invocation-status-show\" | \"teardown-inspect\" | \"teardown-run\";\n/** Stable typed failure boundary; defects and interruption remain separate. */\nexport class ExperimentHostError extends Data.TaggedError(\"ExperimentHostError\")<{\n readonly operation: ExperimentHostOperation;\n readonly code: string;\n readonly message: string;\n /** Structured typed failure retained for application/CLI attribution. */\n readonly cause?: unknown;\n}> {\n}\n/** Inputs shared by discovery, link checking, and invocation planning. */\nexport interface ExperimentHostSelectionInput {\n readonly cwd: string;\n readonly experimentSelector?: string;\n readonly evalSelectors?: readonly string[];\n readonly tag?: string;\n}\nexport interface ExperimentHostEvalSummary {\n readonly id: string;\n readonly description?: string;\n readonly tags: readonly string[];\n readonly evaluationKind: \"pass\" | \"score\";\n}\nexport interface ExperimentHostExperimentSummary {\n readonly id: string;\n readonly description?: string;\n readonly adapter: string;\n readonly model?: string;\n readonly attempts: number;\n readonly evalIds: readonly string[];\n readonly labels: Readonly<Record<string, string | number>>;\n readonly hasSetup: boolean;\n readonly hasTeardown: boolean;\n readonly sharedStateKey?: string;\n}\nexport interface ExperimentHostCatalog {\n readonly status: \"listed\";\n readonly evals: readonly ExperimentHostEvalSummary[];\n readonly experimentIds: readonly string[];\n readonly experiments: readonly ExperimentHostExperimentSummary[];\n}\nexport type ExperimentHostSelectionProblem = {\n readonly status: \"experiment-no-match\";\n readonly selector: string;\n readonly candidates: readonly string[];\n} | {\n readonly status: \"eval-no-match\";\n readonly selector: string;\n readonly experimentIds: readonly string[];\n readonly candidates: readonly string[];\n} | {\n readonly status: \"empty-selection\";\n readonly experimentIds: readonly string[];\n readonly candidates: readonly string[];\n};\nexport interface ExperimentHostRunOverrides {\n readonly attempts?: number;\n readonly earlyExit?: boolean;\n readonly timeoutMs?: number;\n readonly budget?: number;\n readonly rerun?: \"failed\" | \"all\";\n readonly keepSandbox?: \"failed\" | \"all\";\n readonly maxConcurrency?: number;\n readonly maxBuildConcurrency?: number;\n readonly maxSetupPrefixConcurrency?: number;\n}\nexport interface ExperimentHostCheckRequest extends ExperimentHostSelectionInput {\n readonly config: Config;\n readonly overrides?: ExperimentHostRunOverrides;\n}\nexport type ExperimentHostCheckResult = ExperimentHostSelectionProblem | {\n readonly status: \"linked\";\n readonly experimentIds: readonly string[];\n readonly evalIds: readonly string[];\n readonly pairCount: number;\n};\ndeclare const invocationPlanBrand: unique symbol;\n/**\n * Opaque in-memory authority issued by `experimentHost.invocation.plan`.\n * Its Runner graph is held in Host-private storage and cannot be forged or\n * reconstructed by a CLI.\n */\nexport interface ExperimentHostInvocationPlan {\n readonly [invocationPlanBrand]: typeof invocationPlanBrand;\n}\nexport interface ExperimentHostInvocationShape {\n readonly experiments: number;\n readonly evals: number;\n readonly configurations: number;\n readonly totalAttempts: number;\n readonly attempts: number;\n readonly maxConcurrency: number;\n readonly maxBuildConcurrency: number;\n readonly maxSetupPrefixConcurrency: number;\n readonly experimentConcurrency: Readonly<Record<string, number>>;\n}\nexport interface ExperimentHostDrySlotTarget {\n readonly runId: string;\n readonly slotId: string;\n readonly experimentId: string;\n readonly evalId: string;\n readonly executionIdentityDigest: string;\n readonly evalGroupId?: string;\n readonly evalGroupIndex?: number;\n readonly attempt: number;\n}\nexport interface ExperimentHostDryComparison {\n readonly attachment: string;\n readonly recordedClaim: string;\n readonly sourceState: string;\n readonly result: string;\n readonly reason: string;\n}\nexport type ExperimentHostDrySlot = {\n readonly state: \"reuse\";\n readonly target: ExperimentHostDrySlotTarget;\n readonly source: {\n readonly attemptId: string;\n readonly originRunId: string;\n readonly originSlotId: string;\n readonly sourceRunId: string;\n };\n readonly comparisons: readonly ExperimentHostDryComparison[];\n} | {\n readonly state: \"gap\";\n readonly target: ExperimentHostDrySlotTarget;\n readonly reason: string;\n readonly scope: \"slot\" | \"experiment\" | \"target\";\n readonly issues: readonly ExperimentHostJsonValue[];\n readonly comparisons: readonly ExperimentHostDryComparison[];\n};\nexport interface ExperimentHostDryPlan {\n readonly policy: {\n readonly name: \"project-target\";\n readonly version: 1;\n };\n readonly slots: readonly ExperimentHostDrySlot[];\n readonly readbacks: readonly CurrentReuseReadbackSnapshot[];\n readonly lockedPairs: readonly string[];\n}\nexport type ExperimentHostInvocationPlanResult = ExperimentHostSelectionProblem | {\n readonly status: \"ready\";\n readonly plan: ExperimentHostInvocationPlan;\n readonly shape: ExperimentHostInvocationShape;\n readonly experimentIds: readonly string[];\n readonly evalIds: readonly string[];\n readonly pluginAudit: {\n readonly occurrences: readonly ExperimentHostJsonValue[];\n };\n readonly dry?: ExperimentHostDryPlan;\n};\nexport interface ExperimentHostInvocationPlanRequest extends ExperimentHostSelectionInput {\n readonly config: Config;\n /** @deprecated Ordinary Invocations always use cwd/.niceeval/record.sqlite. */\n readonly recordRoot?: string;\n /** Host path to process coordination state; defaults to cwd/.niceeval. */\n readonly coordinationRoot?: string;\n readonly overrides?: ExperimentHostRunOverrides;\n readonly preview?: boolean;\n}\n/** Lossless Experiment presentation owned by the calling Host surface. */\nexport interface ExperimentHostInvocationFeedback {\n readonly coordinator: FeedbackCoordinator;\n}\nexport interface ExperimentHostInvocationRunRequest {\n readonly plan: ExperimentHostInvocationPlan;\n readonly signal?: AbortSignal;\n readonly feedback?: ExperimentHostInvocationFeedback;\n /** Optional required JUnit reporter target, owned and invoked inside Host. */\n readonly junitPath?: string;\n}\n/**\n * Invocation status is project-local and ephemeral. It is an observation of\n * the coordination directory, not recoverable Record fact data.\n */\nexport interface ExperimentHostInvocationStatusListRequest {\n readonly cwd: string;\n readonly all?: boolean;\n readonly experimentSelector?: string;\n}\nexport interface ExperimentHostInvocationStatusShowRequest {\n readonly cwd: string;\n readonly invocationSelector: string;\n}\nexport type ExperimentHostInvocationStatusList = SessionListDocument;\nexport type ExperimentHostInvocationStatusShow = SessionShowDocument;\nexport interface ExperimentHostInvocationReceipt {\n readonly invocationId: string;\n readonly createdRunIds: readonly string[];\n readonly publicationCutoff: string;\n readonly startedAt: string;\n readonly completedAt?: string;\n readonly completion: \"completed\" | \"interrupted\" | \"failed\";\n}\nexport interface ExperimentHostInvocationSummary {\n readonly total: number;\n readonly passed: number;\n readonly failed: number;\n readonly skipped: number;\n readonly errored: number;\n readonly durationMs: number;\n readonly inputTokens?: number;\n readonly outputTokens?: number;\n readonly estimatedCostUSD?: number;\n readonly setupPrefixes: SetupPrefixPreparationSummary;\n}\nexport interface ExperimentHostInvocationResult {\n readonly status: \"finished\";\n readonly receipt: ExperimentHostInvocationReceipt;\n readonly summary: ExperimentHostInvocationSummary;\n /** Present when the caller supplied the one feedback reducer/presentation. */\n readonly completion?: InvocationCompletion;\n /** Exact CLI exit fold for the supplied presentation. */\n readonly exitCode?: number;\n}\n/** Adopt one exact historical Run into one current Experiment. */\nexport interface ExperimentHostRenameRequest {\n readonly cwd: string;\n readonly sourceRunId: string;\n readonly newId: string;\n readonly config?: Config;\n readonly operatorReason?: string;\n}\nexport type ExperimentHostRenameReason = import(\"../../runner/adoption.ts\").ExplicitAdoptionFailureCode;\nexport interface ExperimentHostRenamePlan {\n readonly status: \"plan\";\n readonly sourceRunId: string;\n readonly oldId: string | null;\n readonly newId: string;\n readonly migrations: readonly {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly targetExperimentId: string;\n readonly fingerprint: string;\n }[];\n readonly blocked?: {\n readonly reason: ExperimentHostRenameReason;\n readonly detail: string;\n };\n}\nexport type ExperimentHostRenameResult = {\n readonly status: \"rejected\";\n readonly sourceRunId: string;\n readonly oldId: string | null;\n readonly newId: string;\n readonly reason: ExperimentHostRenameReason;\n readonly detail: string;\n} | {\n readonly status: \"done\";\n readonly invocationId: string;\n readonly runId: string;\n readonly sourceRunId: string;\n readonly oldId: string;\n readonly newId: string;\n readonly migrated: readonly {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly locator: string;\n readonly fingerprint: string;\n readonly verdict: \"passed\" | \"failed\";\n }[];\n};\nexport interface ExperimentHostAcceptRequest {\n readonly cwd: string;\n readonly locators: readonly string[];\n /** @deprecated Accept is anchored to cwd/.niceeval/record.sqlite. */\n readonly recordRoot?: string;\n readonly config?: Config;\n readonly operatorReason?: string;\n}\nexport interface ExperimentHostAcceptedAttempt {\n readonly invocationId: string;\n readonly runId: string;\n readonly slotId: string;\n readonly locator: string;\n readonly sourceLocator: string;\n readonly fingerprint: string;\n}\nexport interface ExperimentHostAcceptRunRequest extends Omit<ExperimentHostAcceptRequest, \"locators\"> {\n readonly runId: string;\n}\nexport interface ExperimentHostAcceptRunPlan {\n readonly sourceRunId: string;\n readonly members: readonly {\n readonly locator: string;\n readonly experimentId: string;\n readonly evalId: string;\n readonly attempt: number;\n readonly fingerprint: string;\n }[];\n}\nexport interface ExperimentHostSharedStateEvidence {\n readonly key: string;\n readonly experimentId: string;\n readonly ownerToken: string;\n readonly host: string;\n readonly pid: number;\n readonly processIdentity: string;\n readonly heartbeatAt: string;\n}\nexport interface ExperimentHostTeardownInspectRequest {\n readonly cwd: string;\n readonly experimentSelector?: string;\n readonly coordinationRoot?: string;\n readonly currentHost: string;\n readonly recoveryKey?: string;\n}\nexport type ExperimentHostTeardownInspection = {\n readonly status: \"no-evidence\";\n readonly key: string;\n} | ExperimentHostSelectionProblem | {\n readonly status: \"selection-not-unique\";\n readonly experimentIds: readonly string[];\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"experiment-mismatch\";\n readonly selectedExperimentId: string;\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"teardown-required\";\n readonly experimentId: string;\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"ready\";\n readonly experimentIds: readonly string[];\n readonly orphanedRegistrations: number;\n readonly evidence?: ExperimentHostSharedStateEvidence;\n};\nexport interface ExperimentHostTeardownRequest extends ExperimentHostTeardownInspectRequest {\n readonly observer?: ExperimentHostTeardownObserver;\n readonly signal?: AbortSignal;\n readonly ownerToken?: string;\n readonly confirmOwnerTerminated?: boolean;\n readonly confirmRemoteQuiesced?: boolean;\n}\nexport type ExperimentHostTeardownEvent = {\n readonly type: \"experiment-progress\";\n readonly experimentId: string;\n readonly detail: string;\n} | {\n readonly type: \"diagnostic\";\n readonly code: string;\n readonly level: \"info\" | \"warning\" | \"error\";\n readonly message: string;\n readonly data?: Readonly<Record<string, ExperimentHostJsonValue>>;\n} | {\n readonly type: \"experiment-hook\";\n readonly experimentId: string;\n readonly hook: \"teardown\";\n readonly status: \"started\" | \"done\" | \"failed\";\n readonly durationMs?: number;\n readonly recovery?: true;\n};\nexport interface ExperimentHostTeardownObserver {\n readonly observe: (event: ExperimentHostTeardownEvent) => void;\n}\nexport type ExperimentHostTeardownResult = ExperimentHostTeardownInspection | {\n readonly status: \"completed\";\n readonly experiments: readonly {\n readonly experimentId: string;\n readonly executions: number;\n readonly outcome: \"succeeded\" | \"failed\" | \"not-configured\";\n readonly error?: string;\n }[];\n} | {\n readonly status: \"recovered\" | \"already-released\";\n readonly key: string;\n readonly experimentId: string;\n readonly ownerToken: string;\n} | {\n readonly status: \"recovery-confirmation-required\";\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"recovery-teardown-failed\";\n readonly evidence: ExperimentHostSharedStateEvidence;\n readonly error: string;\n};\nexport interface ExperimentHostHighLevelSDK {\n readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError, ExperimentHostRequirements>;\n readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError, ExperimentHostRequirements>;\n readonly invocation: {\n readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;\n readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;\n };\n readonly invocationStatus: {\n readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError, ExperimentHostRequirements>;\n readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError, ExperimentHostRequirements>;\n };\n readonly rename: {\n readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;\n readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;\n };\n readonly teardown: {\n readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError, ExperimentHostRequirements>;\n readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError, ExperimentHostRequirements>;\n };\n readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;\n readonly acceptRun: {\n readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError, ExperimentHostRequirements>;\n readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;\n };\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AACA,mCAA2C;AAW3C,+EAA+E;AAC/E,MAAa,mBAAoB,SAAQ,aAAI,CAAC,WAAW,CAAC,qBAAqB,CAM7E;CACD;AAPD,kDAOC","sourcesContent":["import type { ResolvedModelSlots } from \"../../model-slots.ts\";\nimport { Data, type Effect } from \"effect\";\nimport type { Config } from \"../../types.ts\";\nimport type { FeedbackCoordinator } from \"../../runner/feedback/coordinator.ts\";\nimport type { InvocationCompletion } from \"../../runner/types.ts\";\nimport type { SessionListDocument, SessionShowDocument } from \"../../runner/session.ts\";\nimport type { CurrentReuseReadbackSnapshot } from \"../../runner/reuse-readback.ts\";\nimport type { SetupPrefixPreparationSummary } from \"../../runner/setup-prefix-preparation.ts\";\nexport type ExperimentHostJsonValue = null | boolean | number | string | readonly ExperimentHostJsonValue[] | {\n readonly [key: string]: ExperimentHostJsonValue;\n};\nexport type ExperimentHostOperation = \"catalog\" | \"check\" | \"debug\" | \"invocation-plan\" | \"invocation-run\" | \"rename-plan\" | \"rename-apply\" | \"accept\" | \"invocation-status-list\" | \"invocation-status-show\" | \"teardown-inspect\" | \"teardown-run\";\n/** Stable typed failure boundary; defects and interruption remain separate. */\nexport class ExperimentHostError extends Data.TaggedError(\"ExperimentHostError\")<{\n readonly operation: ExperimentHostOperation;\n readonly code: string;\n readonly message: string;\n /** Structured typed failure retained for application/CLI attribution. */\n readonly cause?: unknown;\n}> {\n}\n/** Inputs shared by discovery, link checking, and invocation planning. */\nexport interface ExperimentHostSelectionInput {\n readonly cwd: string;\n readonly experimentSelector?: string;\n /** Non-empty exact Experiment ID set; mutually exclusive with experimentSelector. */\n readonly experimentIds?: readonly string[];\n readonly evalSelectors?: readonly string[];\n readonly tag?: string;\n}\nexport interface ExperimentHostEvalSummary {\n readonly id: string;\n readonly description?: string;\n readonly tags: readonly string[];\n readonly evaluationKind: \"pass\" | \"score\";\n}\nexport interface ExperimentHostExperimentSummary {\n readonly models?: ResolvedModelSlots;\n readonly id: string;\n readonly description?: string;\n readonly adapter: string;\n readonly model?: string;\n readonly attempts: number;\n readonly evalIds: readonly string[];\n readonly labels: Readonly<Record<string, string | number>>;\n readonly hasSetup: boolean;\n readonly hasTeardown: boolean;\n readonly sharedStateKey?: string;\n}\nexport interface ExperimentHostCatalog {\n readonly status: \"listed\";\n readonly evals: readonly ExperimentHostEvalSummary[];\n readonly experimentIds: readonly string[];\n readonly experiments: readonly ExperimentHostExperimentSummary[];\n}\nexport type ExperimentHostSelectionProblem = {\n readonly status: \"experiment-no-match\";\n readonly selector: string;\n readonly candidates: readonly string[];\n} | {\n readonly status: \"eval-no-match\";\n readonly selector: string;\n readonly experimentIds: readonly string[];\n readonly candidates: readonly string[];\n} | {\n readonly status: \"empty-selection\";\n readonly experimentIds: readonly string[];\n readonly candidates: readonly string[];\n};\nexport interface ExperimentHostRunOverrides {\n readonly attempts?: number;\n readonly earlyExit?: boolean;\n readonly timeoutMs?: number;\n readonly budget?: number;\n readonly rerun?: \"failed\" | \"all\";\n readonly keepSandbox?: \"failed\" | \"all\";\n readonly maxConcurrency?: number;\n readonly maxBuildConcurrency?: number;\n readonly maxSetupPrefixConcurrency?: number;\n}\nexport interface ExperimentHostCheckRequest extends ExperimentHostSelectionInput {\n readonly config: Config;\n readonly overrides?: ExperimentHostRunOverrides;\n}\nexport type ExperimentHostCheckResult = ExperimentHostSelectionProblem | {\n readonly status: \"linked\";\n readonly experimentIds: readonly string[];\n readonly evalIds: readonly string[];\n readonly pairCount: number;\n};\ndeclare const invocationPlanBrand: unique symbol;\n/**\n * Opaque in-memory authority issued by `experimentHost.invocation.plan`.\n * Its Runner graph is held in Host-private storage and cannot be forged or\n * reconstructed by a CLI.\n */\nexport interface ExperimentHostInvocationPlan {\n readonly [invocationPlanBrand]: typeof invocationPlanBrand;\n}\nexport interface ExperimentHostInvocationShape {\n readonly experiments: number;\n readonly evals: number;\n readonly configurations: number;\n readonly totalAttempts: number;\n readonly attempts: number;\n readonly maxConcurrency: number;\n readonly maxBuildConcurrency: number;\n readonly maxSetupPrefixConcurrency: number;\n readonly experimentConcurrency: Readonly<Record<string, number>>;\n}\nexport interface ExperimentHostDrySlotTarget {\n readonly runId: string;\n readonly slotId: string;\n readonly experimentId: string;\n readonly evalId: string;\n readonly executionIdentityDigest: string;\n readonly evalGroupId?: string;\n readonly evalGroupIndex?: number;\n readonly attempt: number;\n}\nexport interface ExperimentHostDryComparison {\n readonly attachment: string;\n readonly recordedClaim: string;\n readonly sourceState: string;\n readonly result: string;\n readonly reason: string;\n}\nexport type ExperimentHostDrySlot = {\n readonly state: \"reuse\";\n readonly target: ExperimentHostDrySlotTarget;\n readonly source: {\n readonly attemptId: string;\n readonly originRunId: string;\n readonly originSlotId: string;\n readonly sourceRunId: string;\n };\n readonly comparisons: readonly ExperimentHostDryComparison[];\n} | {\n readonly state: \"gap\";\n readonly target: ExperimentHostDrySlotTarget;\n readonly reason: string;\n readonly scope: \"slot\" | \"experiment\" | \"target\";\n readonly issues: readonly ExperimentHostJsonValue[];\n readonly comparisons: readonly ExperimentHostDryComparison[];\n};\nexport interface ExperimentHostDryPlan {\n readonly policy: {\n readonly name: \"project-target\";\n readonly version: 1;\n };\n readonly slots: readonly ExperimentHostDrySlot[];\n readonly readbacks: readonly CurrentReuseReadbackSnapshot[];\n readonly lockedPairs: readonly string[];\n}\nexport type ExperimentHostInvocationPlanResult = ExperimentHostSelectionProblem | {\n readonly status: \"ready\";\n readonly plan: ExperimentHostInvocationPlan;\n readonly shape: ExperimentHostInvocationShape;\n readonly experimentIds: readonly string[];\n readonly evalIds: readonly string[];\n readonly pluginAudit: {\n readonly occurrences: readonly ExperimentHostJsonValue[];\n };\n readonly dry?: ExperimentHostDryPlan;\n};\nexport interface ExperimentHostInvocationPlanRequest extends ExperimentHostSelectionInput {\n readonly config: Config;\n /** @deprecated Ordinary Invocations always use cwd/.niceeval/record.sqlite. */\n readonly recordRoot?: string;\n /** Host path to process coordination state; defaults to cwd/.niceeval. */\n readonly coordinationRoot?: string;\n readonly overrides?: ExperimentHostRunOverrides;\n readonly preview?: boolean;\n}\n/** Lossless Experiment presentation owned by the calling Host surface. */\nexport interface ExperimentHostInvocationFeedback {\n readonly coordinator: FeedbackCoordinator;\n}\nexport interface ExperimentHostInvocationRunRequest {\n readonly plan: ExperimentHostInvocationPlan;\n readonly signal?: AbortSignal;\n readonly feedback?: ExperimentHostInvocationFeedback;\n /** Optional required JUnit reporter target, owned and invoked inside Host. */\n readonly junitPath?: string;\n}\n/**\n * Invocation status is project-local and ephemeral. It is an observation of\n * the coordination directory, not recoverable Record fact data.\n */\nexport interface ExperimentHostInvocationStatusListRequest {\n readonly cwd: string;\n readonly all?: boolean;\n readonly experimentSelector?: string;\n}\nexport interface ExperimentHostInvocationStatusShowRequest {\n readonly cwd: string;\n readonly invocationSelector: string;\n}\nexport type ExperimentHostInvocationStatusList = SessionListDocument;\nexport type ExperimentHostInvocationStatusShow = SessionShowDocument;\nexport interface ExperimentHostInvocationReceipt {\n readonly invocationId: string;\n readonly createdRunIds: readonly string[];\n readonly publicationCutoff: string;\n readonly startedAt: string;\n readonly completedAt?: string;\n readonly completion: \"completed\" | \"interrupted\" | \"failed\";\n}\nexport interface ExperimentHostInvocationSummary {\n readonly total: number;\n readonly passed: number;\n readonly failed: number;\n readonly skipped: number;\n readonly errored: number;\n readonly durationMs: number;\n readonly inputTokens?: number;\n readonly outputTokens?: number;\n readonly estimatedCostUSD?: number;\n readonly setupPrefixes: SetupPrefixPreparationSummary;\n}\nexport interface ExperimentHostInvocationResult {\n readonly status: \"finished\";\n readonly receipt: ExperimentHostInvocationReceipt;\n readonly summary: ExperimentHostInvocationSummary;\n /** Present when the caller supplied the one feedback reducer/presentation. */\n readonly completion?: InvocationCompletion;\n /** Exact CLI exit fold for the supplied presentation. */\n readonly exitCode?: number;\n}\n/** Adopt one exact historical Run into one current Experiment. */\nexport interface ExperimentHostRenameRequest {\n readonly cwd: string;\n readonly sourceRunId: string;\n readonly newId: string;\n readonly config?: Config;\n readonly operatorReason?: string;\n}\nexport type ExperimentHostRenameReason = import(\"../../runner/adoption.ts\").ExplicitAdoptionFailureCode;\nexport interface ExperimentHostRenamePlan {\n readonly status: \"plan\";\n readonly sourceRunId: string;\n readonly oldId: string | null;\n readonly newId: string;\n readonly migrations: readonly {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly targetExperimentId: string;\n readonly fingerprint: string;\n }[];\n readonly blocked?: {\n readonly reason: ExperimentHostRenameReason;\n readonly detail: string;\n };\n}\nexport type ExperimentHostRenameResult = {\n readonly status: \"rejected\";\n readonly sourceRunId: string;\n readonly oldId: string | null;\n readonly newId: string;\n readonly reason: ExperimentHostRenameReason;\n readonly detail: string;\n} | {\n readonly status: \"done\";\n readonly invocationId: string;\n readonly runId: string;\n readonly sourceRunId: string;\n readonly oldId: string;\n readonly newId: string;\n readonly migrated: readonly {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly locator: string;\n readonly fingerprint: string;\n readonly verdict: \"passed\" | \"failed\";\n }[];\n};\nexport interface ExperimentHostAcceptRequest {\n readonly cwd: string;\n readonly locators: readonly string[];\n /** @deprecated Accept is anchored to cwd/.niceeval/record.sqlite. */\n readonly recordRoot?: string;\n readonly config?: Config;\n readonly operatorReason?: string;\n}\nexport interface ExperimentHostAcceptedAttempt {\n readonly invocationId: string;\n readonly runId: string;\n readonly slotId: string;\n readonly locator: string;\n readonly sourceLocator: string;\n readonly fingerprint: string;\n}\nexport interface ExperimentHostAcceptRunRequest extends Omit<ExperimentHostAcceptRequest, \"locators\"> {\n readonly runId: string;\n}\nexport interface ExperimentHostAcceptRunPlan {\n readonly sourceRunId: string;\n readonly members: readonly {\n readonly locator: string;\n readonly experimentId: string;\n readonly evalId: string;\n readonly attempt: number;\n readonly fingerprint: string;\n }[];\n}\nexport interface ExperimentHostSharedStateEvidence {\n readonly key: string;\n readonly experimentId: string;\n readonly ownerToken: string;\n readonly host: string;\n readonly pid: number;\n readonly processIdentity: string;\n readonly heartbeatAt: string;\n}\nexport interface ExperimentHostTeardownInspectRequest {\n readonly cwd: string;\n readonly experimentSelector?: string;\n readonly coordinationRoot?: string;\n readonly currentHost: string;\n readonly recoveryKey?: string;\n}\nexport type ExperimentHostTeardownInspection = {\n readonly status: \"no-evidence\";\n readonly key: string;\n} | ExperimentHostSelectionProblem | {\n readonly status: \"selection-not-unique\";\n readonly experimentIds: readonly string[];\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"experiment-mismatch\";\n readonly selectedExperimentId: string;\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"teardown-required\";\n readonly experimentId: string;\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"ready\";\n readonly experimentIds: readonly string[];\n readonly orphanedRegistrations: number;\n readonly evidence?: ExperimentHostSharedStateEvidence;\n};\nexport interface ExperimentHostTeardownRequest extends ExperimentHostTeardownInspectRequest {\n readonly observer?: ExperimentHostTeardownObserver;\n readonly signal?: AbortSignal;\n readonly ownerToken?: string;\n readonly confirmOwnerTerminated?: boolean;\n readonly confirmRemoteQuiesced?: boolean;\n}\nexport type ExperimentHostTeardownEvent = {\n readonly type: \"experiment-progress\";\n readonly experimentId: string;\n readonly detail: string;\n} | {\n readonly type: \"diagnostic\";\n readonly code: string;\n readonly level: \"info\" | \"warning\" | \"error\";\n readonly message: string;\n readonly data?: Readonly<Record<string, ExperimentHostJsonValue>>;\n} | {\n readonly type: \"experiment-hook\";\n readonly experimentId: string;\n readonly hook: \"teardown\";\n readonly status: \"started\" | \"done\" | \"failed\";\n readonly durationMs?: number;\n readonly recovery?: true;\n};\nexport interface ExperimentHostTeardownObserver {\n readonly observe: (event: ExperimentHostTeardownEvent) => void;\n}\nexport type ExperimentHostTeardownResult = ExperimentHostTeardownInspection | {\n readonly status: \"completed\";\n readonly experiments: readonly {\n readonly experimentId: string;\n readonly executions: number;\n readonly outcome: \"succeeded\" | \"failed\" | \"not-configured\";\n readonly error?: string;\n }[];\n} | {\n readonly status: \"recovered\" | \"already-released\";\n readonly key: string;\n readonly experimentId: string;\n readonly ownerToken: string;\n} | {\n readonly status: \"recovery-confirmation-required\";\n readonly evidence: ExperimentHostSharedStateEvidence;\n} | {\n readonly status: \"recovery-teardown-failed\";\n readonly evidence: ExperimentHostSharedStateEvidence;\n readonly error: string;\n};\nexport interface ExperimentHostHighLevelSDK {\n readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;\n readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;\n readonly invocation: {\n readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError>;\n readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError>;\n };\n readonly invocationStatus: {\n readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;\n readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;\n };\n readonly rename: {\n readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError>;\n readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError>;\n };\n readonly teardown: {\n readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError>;\n readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError>;\n };\n readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;\n readonly acceptRun: {\n readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError>;\n readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;\n };\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { ResolvedModelSlots } from "../../model-slots.cjs";
1
2
  import { type Effect } from "effect";
2
3
  import type { Config } from "../../types.cjs";
3
4
  import type { FeedbackCoordinator } from "../../runner/feedback/coordinator.cjs";
@@ -5,12 +6,9 @@ import type { InvocationCompletion } from "../../runner/types.cjs";
5
6
  import type { SessionListDocument, SessionShowDocument } from "../../runner/session.cjs";
6
7
  import type { CurrentReuseReadbackSnapshot } from "../../runner/reuse-readback.cjs";
7
8
  import type { SetupPrefixPreparationSummary } from "../../runner/setup-prefix-preparation.cjs";
8
- import type { ProjectStateDatabase } from "../../record/sqlite/project-state-database.cjs";
9
9
  export type ExperimentHostJsonValue = null | boolean | number | string | readonly ExperimentHostJsonValue[] | {
10
10
  readonly [key: string]: ExperimentHostJsonValue;
11
11
  };
12
- /** Services supplied once by the outer Node/application composition edge. */
13
- export type ExperimentHostRequirements = import("../../record/platform/services.cjs").RecordFileSystem | import("../../record/platform/services.cjs").RecordEntropy | import("../../coordination/record-leases.cjs").RecordCoordination | ProjectStateDatabase;
14
12
  export type ExperimentHostOperation = "catalog" | "check" | "debug" | "invocation-plan" | "invocation-run" | "rename-plan" | "rename-apply" | "accept" | "invocation-status-list" | "invocation-status-show" | "teardown-inspect" | "teardown-run";
15
13
  declare const ExperimentHostError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
16
14
  readonly _tag: "ExperimentHostError";
@@ -28,6 +26,8 @@ export declare class ExperimentHostError extends ExperimentHostError_base<{
28
26
  export interface ExperimentHostSelectionInput {
29
27
  readonly cwd: string;
30
28
  readonly experimentSelector?: string;
29
+ /** Non-empty exact Experiment ID set; mutually exclusive with experimentSelector. */
30
+ readonly experimentIds?: readonly string[];
31
31
  readonly evalSelectors?: readonly string[];
32
32
  readonly tag?: string;
33
33
  }
@@ -38,6 +38,7 @@ export interface ExperimentHostEvalSummary {
38
38
  readonly evaluationKind: "pass" | "score";
39
39
  }
40
40
  export interface ExperimentHostExperimentSummary {
41
+ readonly models?: ResolvedModelSlots;
41
42
  readonly id: string;
42
43
  readonly description?: string;
43
44
  readonly adapter: string;
@@ -394,28 +395,28 @@ export type ExperimentHostTeardownResult = ExperimentHostTeardownInspection | {
394
395
  readonly error: string;
395
396
  };
396
397
  export interface ExperimentHostHighLevelSDK {
397
- readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError, ExperimentHostRequirements>;
398
- readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError, ExperimentHostRequirements>;
398
+ readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
399
+ readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
399
400
  readonly invocation: {
400
- readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
401
- readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
401
+ readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError>;
402
+ readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError>;
402
403
  };
403
404
  readonly invocationStatus: {
404
- readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError, ExperimentHostRequirements>;
405
- readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError, ExperimentHostRequirements>;
405
+ readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
406
+ readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
406
407
  };
407
408
  readonly rename: {
408
- readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
409
- readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
409
+ readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError>;
410
+ readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError>;
410
411
  };
411
412
  readonly teardown: {
412
- readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError, ExperimentHostRequirements>;
413
- readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError, ExperimentHostRequirements>;
413
+ readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError>;
414
+ readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError>;
414
415
  };
415
- readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
416
+ readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;
416
417
  readonly acceptRun: {
417
- readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError, ExperimentHostRequirements>;
418
- readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
418
+ readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError>;
419
+ readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;
419
420
  };
420
421
  }
421
422
  export {};
@@ -1,3 +1,4 @@
1
+ import type { ResolvedModelSlots } from "../../model-slots.mjs";
1
2
  import { type Effect } from "effect";
2
3
  import type { Config } from "../../types.mjs";
3
4
  import type { FeedbackCoordinator } from "../../runner/feedback/coordinator.mjs";
@@ -5,12 +6,9 @@ import type { InvocationCompletion } from "../../runner/types.mjs";
5
6
  import type { SessionListDocument, SessionShowDocument } from "../../runner/session.mjs";
6
7
  import type { CurrentReuseReadbackSnapshot } from "../../runner/reuse-readback.mjs";
7
8
  import type { SetupPrefixPreparationSummary } from "../../runner/setup-prefix-preparation.mjs";
8
- import type { ProjectStateDatabase } from "../../record/sqlite/project-state-database.mjs";
9
9
  export type ExperimentHostJsonValue = null | boolean | number | string | readonly ExperimentHostJsonValue[] | {
10
10
  readonly [key: string]: ExperimentHostJsonValue;
11
11
  };
12
- /** Services supplied once by the outer Node/application composition edge. */
13
- export type ExperimentHostRequirements = import("../../record/platform/services.mjs").RecordFileSystem | import("../../record/platform/services.mjs").RecordEntropy | import("../../coordination/record-leases.mjs").RecordCoordination | ProjectStateDatabase;
14
12
  export type ExperimentHostOperation = "catalog" | "check" | "debug" | "invocation-plan" | "invocation-run" | "rename-plan" | "rename-apply" | "accept" | "invocation-status-list" | "invocation-status-show" | "teardown-inspect" | "teardown-run";
15
13
  declare const ExperimentHostError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
16
14
  readonly _tag: "ExperimentHostError";
@@ -28,6 +26,8 @@ export declare class ExperimentHostError extends ExperimentHostError_base<{
28
26
  export interface ExperimentHostSelectionInput {
29
27
  readonly cwd: string;
30
28
  readonly experimentSelector?: string;
29
+ /** Non-empty exact Experiment ID set; mutually exclusive with experimentSelector. */
30
+ readonly experimentIds?: readonly string[];
31
31
  readonly evalSelectors?: readonly string[];
32
32
  readonly tag?: string;
33
33
  }
@@ -38,6 +38,7 @@ export interface ExperimentHostEvalSummary {
38
38
  readonly evaluationKind: "pass" | "score";
39
39
  }
40
40
  export interface ExperimentHostExperimentSummary {
41
+ readonly models?: ResolvedModelSlots;
41
42
  readonly id: string;
42
43
  readonly description?: string;
43
44
  readonly adapter: string;
@@ -394,28 +395,28 @@ export type ExperimentHostTeardownResult = ExperimentHostTeardownInspection | {
394
395
  readonly error: string;
395
396
  };
396
397
  export interface ExperimentHostHighLevelSDK {
397
- readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError, ExperimentHostRequirements>;
398
- readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError, ExperimentHostRequirements>;
398
+ readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
399
+ readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
399
400
  readonly invocation: {
400
- readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
401
- readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
401
+ readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError>;
402
+ readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError>;
402
403
  };
403
404
  readonly invocationStatus: {
404
- readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError, ExperimentHostRequirements>;
405
- readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError, ExperimentHostRequirements>;
405
+ readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
406
+ readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
406
407
  };
407
408
  readonly rename: {
408
- readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
409
- readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
409
+ readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError>;
410
+ readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError>;
410
411
  };
411
412
  readonly teardown: {
412
- readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError, ExperimentHostRequirements>;
413
- readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError, ExperimentHostRequirements>;
413
+ readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError>;
414
+ readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError>;
414
415
  };
415
- readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
416
+ readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;
416
417
  readonly acceptRun: {
417
- readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError, ExperimentHostRequirements>;
418
- readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
418
+ readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError>;
419
+ readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;
419
420
  };
420
421
  }
421
422
  export {};
@@ -1,3 +1,4 @@
1
+ import type { ResolvedModelSlots } from "../../model-slots.js";
1
2
  import { type Effect } from "effect";
2
3
  import type { Config } from "../../types.js";
3
4
  import type { FeedbackCoordinator } from "../../runner/feedback/coordinator.js";
@@ -5,12 +6,9 @@ import type { InvocationCompletion } from "../../runner/types.js";
5
6
  import type { SessionListDocument, SessionShowDocument } from "../../runner/session.js";
6
7
  import type { CurrentReuseReadbackSnapshot } from "../../runner/reuse-readback.js";
7
8
  import type { SetupPrefixPreparationSummary } from "../../runner/setup-prefix-preparation.js";
8
- import type { ProjectStateDatabase } from "../../record/sqlite/project-state-database.js";
9
9
  export type ExperimentHostJsonValue = null | boolean | number | string | readonly ExperimentHostJsonValue[] | {
10
10
  readonly [key: string]: ExperimentHostJsonValue;
11
11
  };
12
- /** Services supplied once by the outer Node/application composition edge. */
13
- export type ExperimentHostRequirements = import("../../record/platform/services.js").RecordFileSystem | import("../../record/platform/services.js").RecordEntropy | import("../../coordination/record-leases.js").RecordCoordination | ProjectStateDatabase;
14
12
  export type ExperimentHostOperation = "catalog" | "check" | "debug" | "invocation-plan" | "invocation-run" | "rename-plan" | "rename-apply" | "accept" | "invocation-status-list" | "invocation-status-show" | "teardown-inspect" | "teardown-run";
15
13
  declare const ExperimentHostError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
16
14
  readonly _tag: "ExperimentHostError";
@@ -28,6 +26,8 @@ export declare class ExperimentHostError extends ExperimentHostError_base<{
28
26
  export interface ExperimentHostSelectionInput {
29
27
  readonly cwd: string;
30
28
  readonly experimentSelector?: string;
29
+ /** Non-empty exact Experiment ID set; mutually exclusive with experimentSelector. */
30
+ readonly experimentIds?: readonly string[];
31
31
  readonly evalSelectors?: readonly string[];
32
32
  readonly tag?: string;
33
33
  }
@@ -38,6 +38,7 @@ export interface ExperimentHostEvalSummary {
38
38
  readonly evaluationKind: "pass" | "score";
39
39
  }
40
40
  export interface ExperimentHostExperimentSummary {
41
+ readonly models?: ResolvedModelSlots;
41
42
  readonly id: string;
42
43
  readonly description?: string;
43
44
  readonly adapter: string;
@@ -394,28 +395,28 @@ export type ExperimentHostTeardownResult = ExperimentHostTeardownInspection | {
394
395
  readonly error: string;
395
396
  };
396
397
  export interface ExperimentHostHighLevelSDK {
397
- readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError, ExperimentHostRequirements>;
398
- readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError, ExperimentHostRequirements>;
398
+ readonly catalog: (input: ExperimentHostSelectionInput) => Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
399
+ readonly check: (input: ExperimentHostCheckRequest) => Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
399
400
  readonly invocation: {
400
- readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
401
- readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
401
+ readonly plan: (input: ExperimentHostInvocationPlanRequest) => Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError>;
402
+ readonly run: (input: ExperimentHostInvocationRunRequest) => Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError>;
402
403
  };
403
404
  readonly invocationStatus: {
404
- readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError, ExperimentHostRequirements>;
405
- readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError, ExperimentHostRequirements>;
405
+ readonly list: (input: ExperimentHostInvocationStatusListRequest) => Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
406
+ readonly show: (input: ExperimentHostInvocationStatusShowRequest) => Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
406
407
  };
407
408
  readonly rename: {
408
- readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
409
- readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
409
+ readonly plan: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError>;
410
+ readonly apply: (input: ExperimentHostRenameRequest) => Effect.Effect<ExperimentHostRenameResult, ExperimentHostError>;
410
411
  };
411
412
  readonly teardown: {
412
- readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError, ExperimentHostRequirements>;
413
- readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError, ExperimentHostRequirements>;
413
+ readonly inspect: (input: ExperimentHostTeardownInspectRequest) => Effect.Effect<ExperimentHostTeardownInspection, ExperimentHostError>;
414
+ readonly run: (input: ExperimentHostTeardownRequest) => Effect.Effect<ExperimentHostTeardownResult, ExperimentHostError>;
414
415
  };
415
- readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
416
+ readonly accept: (input: ExperimentHostAcceptRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;
416
417
  readonly acceptRun: {
417
- readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError, ExperimentHostRequirements>;
418
- readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
418
+ readonly plan: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError>;
419
+ readonly apply: (input: ExperimentHostAcceptRunRequest) => Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError>;
419
420
  };
420
421
  }
421
422
  export {};
@@ -41,7 +41,8 @@ function clearProjectModules(loader, projectRoot) {
41
41
  const root = (0, node_path_1.resolve)(projectRoot);
42
42
  const prefix = `${root}${node_path_1.sep}`;
43
43
  for (const filename of Object.keys(loader.cache)) {
44
- if ((0, node_path_1.isAbsolute)(filename) && (filename === root || filename.startsWith(prefix))) {
44
+ if ((0, node_path_1.isAbsolute)(filename) && !filename.includes(`${node_path_1.sep}node_modules${node_path_1.sep}`) &&
45
+ (filename === root || filename.startsWith(prefix))) {
45
46
  delete loader.cache[filename];
46
47
  }
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fresh-import.js","sourceRoot":"","sources":["fresh-import.ts"],"names":[],"mappings":";;AAwCA,kDAIC;AAqBD,oEAYC;AAED,8CAIC;AAnFD,wEAAwE;AACxE,wEAAwE;AACxE,mEAAmE;AACnE,qCAAqC;AACrC,mCAAuD;AACvD,+BAA6C;AAC7C,yCAA8D;AAC9D,MAAM,cAAc,GAAG,kBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,cAAc,EAAE,KAAK;IACrB,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;CACtB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;AACxE,SAAS,aAAa,CAAC,QAAiB;IAGpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QACjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,QAGd,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;QAChC,OAEC,CAAC,UAAU,KAAK,IAAI;QACtB,OAAO,OAEN,CAAC;IACN,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,KAAK,UAAU,UAAU,CAAC,MAAY,EAAE,OAAe;IAGnD,OAAO,aAAa,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AACD,qFAAqF;AACrF,SAAgB,mBAAmB,CAAC,OAAe;IAG/C,OAAO,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AACD,SAAS,mBAAmB,CAAC,MAAY,EAAE,WAAmB;IAC1D,MAAM,IAAI,GAAG,IAAA,mBAAO,EAAC,WAAW,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,eAAG,EAAE,CAAC;IAC/B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAA,sBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;AACL,CAAC;AAOD;;;;GAIG;AACH,SAAgB,4BAA4B,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IACpE,OAAO,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,uFAAuF;QACvF,2DAA2D;QAC3D,KAAK,CAAC,CAAC,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;QAClE,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,mFAAmF;YACnF,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;SAC3D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AACD,yEAAyE;AACzE,SAAgB,iBAAiB,CAAC,OAAe;IAG7C,OAAO,eAAM,CAAC,UAAU,CAAC,eAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5K,CAAC","sourcesContent":["// 用户 TypeScript 装载的唯一 runtime:普通 CLI 调用复用 canonical module graph;View 的\n// rebuild / fresh discovery 在 generation 开始时清理项目内 module cache,随后在这一代内部\n// 保持缓存,使多个入口共享 helper 与 definition identity。依赖包不清理,因此 niceeval/* 与\n// effect 始终指向发布包的 canonical runtime。\nimport { Effect, Semaphore, type Scope } from \"effect\";\nimport { createJiti, type Jiti } from \"jiti\";\nimport { dirname, isAbsolute, resolve, sep } from \"node:path\";\nconst generationGate = Semaphore.makeUnsafe(1);\nconst loaderOptions = Object.freeze({\n interopDefault: false,\n moduleCache: true,\n tsconfigPaths: true,\n});\nconst cachedLoader = createJiti(__niceevalImportMetaUrl, loaderOptions);\nfunction unwrapDefault(imported: unknown): {\n default?: unknown;\n} {\n if (typeof imported !== \"object\" || imported === null)\n return { default: imported };\n const module = imported as {\n default?: unknown;\n __esModule?: unknown;\n };\n const wrapped = module.default;\n if (typeof wrapped === \"object\" && wrapped !== null &&\n Object.hasOwn(wrapped, \"default\") &&\n (wrapped as {\n __esModule?: unknown;\n }).__esModule === true)\n return wrapped as {\n default?: unknown;\n };\n return module;\n}\nasync function importWith(loader: Jiti, absPath: string): Promise<{\n default?: unknown;\n}> {\n return unwrapDefault(await loader.import(absPath));\n}\n/** Load one trusted project module through the process-wide cached project graph. */\nexport function importProjectModule(absPath: string): Promise<{\n default?: unknown;\n}> {\n return importWith(cachedLoader, absPath);\n}\nfunction clearProjectModules(loader: Jiti, projectRoot: string): void {\n const root = resolve(projectRoot);\n const prefix = `${root}${sep}`;\n for (const filename of Object.keys(loader.cache)) {\n if (isAbsolute(filename) && (filename === root || filename.startsWith(prefix))) {\n delete loader.cache[filename];\n }\n }\n}\nexport interface FreshImportGeneration {\n /** Import an entry into this generation's one shared project module graph. */\n import(absPath: string): Promise<{\n default?: unknown;\n }>;\n}\n/**\n * Open one fresh project module graph. The gate makes project-cache eviction atomic with all\n * imports in the generation; the caller's Scope releases the gate. Dependencies outside\n * projectRoot retain canonical process identity.\n */\nexport function acquireFreshImportGeneration(projectRoot = process.cwd()): Effect.Effect<FreshImportGeneration, never, Scope.Scope> {\n return Effect.gen(function* () {\n // Register this finalizer before constructing the loader: Jiti setup or cache eviction\n // may throw, but neither may strand the generation permit.\n yield* Effect.acquireRelease(generationGate.take(1), () => generationGate.release(1));\n const loader = createJiti(__niceevalImportMetaUrl, loaderOptions);\n clearProjectModules(loader, projectRoot);\n return Object.freeze({\n // Jiti's dynamic import ABI is Promise-based; adaptation remains at this I/O leaf.\n import: (absPath: string) => importWith(loader, absPath),\n });\n });\n}\n/** Promise ABI facade for callers that cannot retain an Effect Scope. */\nexport function freshImportModule(absPath: string): Promise<{\n default?: unknown;\n}> {\n return Effect.runPromise(Effect.scoped(acquireFreshImportGeneration(dirname(absPath)).pipe(Effect.flatMap((fresh) => Effect.tryPromise(() => fresh.import(absPath))))));\n}\n"]}
1
+ {"version":3,"file":"fresh-import.js","sourceRoot":"","sources":["fresh-import.ts"],"names":[],"mappings":";;AAwCA,kDAIC;AAsBD,oEAYC;AAED,8CAIC;AApFD,wEAAwE;AACxE,wEAAwE;AACxE,mEAAmE;AACnE,qCAAqC;AACrC,mCAAuD;AACvD,+BAA6C;AAC7C,yCAA8D;AAC9D,MAAM,cAAc,GAAG,kBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,cAAc,EAAE,KAAK;IACrB,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;CACtB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;AACxE,SAAS,aAAa,CAAC,QAAiB;IAGpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QACjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,QAGd,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;QAChC,OAEC,CAAC,UAAU,KAAK,IAAI;QACtB,OAAO,OAEN,CAAC;IACN,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,KAAK,UAAU,UAAU,CAAC,MAAY,EAAE,OAAe;IAGnD,OAAO,aAAa,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AACD,qFAAqF;AACrF,SAAgB,mBAAmB,CAAC,OAAe;IAG/C,OAAO,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AACD,SAAS,mBAAmB,CAAC,MAAY,EAAE,WAAmB;IAC1D,MAAM,IAAI,GAAG,IAAA,mBAAO,EAAC,WAAW,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,eAAG,EAAE,CAAC;IAC/B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAA,sBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,eAAG,eAAe,eAAG,EAAE,CAAC;YACtE,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;AACL,CAAC;AAOD;;;;GAIG;AACH,SAAgB,4BAA4B,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IACpE,OAAO,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,uFAAuF;QACvF,2DAA2D;QAC3D,KAAK,CAAC,CAAC,eAAM,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;QAClE,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC;YACjB,mFAAmF;YACnF,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;SAC3D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AACD,yEAAyE;AACzE,SAAgB,iBAAiB,CAAC,OAAe;IAG7C,OAAO,eAAM,CAAC,UAAU,CAAC,eAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5K,CAAC","sourcesContent":["// 用户 TypeScript 装载的唯一 runtime:普通 CLI 调用复用 canonical module graph;View 的\n// rebuild / fresh discovery 在 generation 开始时清理项目内 module cache,随后在这一代内部\n// 保持缓存,使多个入口共享 helper 与 definition identity。依赖包不清理,因此 niceeval/* 与\n// effect 始终指向发布包的 canonical runtime。\nimport { Effect, Semaphore, type Scope } from \"effect\";\nimport { createJiti, type Jiti } from \"jiti\";\nimport { dirname, isAbsolute, resolve, sep } from \"node:path\";\nconst generationGate = Semaphore.makeUnsafe(1);\nconst loaderOptions = Object.freeze({\n interopDefault: false,\n moduleCache: true,\n tsconfigPaths: true,\n});\nconst cachedLoader = createJiti(__niceevalImportMetaUrl, loaderOptions);\nfunction unwrapDefault(imported: unknown): {\n default?: unknown;\n} {\n if (typeof imported !== \"object\" || imported === null)\n return { default: imported };\n const module = imported as {\n default?: unknown;\n __esModule?: unknown;\n };\n const wrapped = module.default;\n if (typeof wrapped === \"object\" && wrapped !== null &&\n Object.hasOwn(wrapped, \"default\") &&\n (wrapped as {\n __esModule?: unknown;\n }).__esModule === true)\n return wrapped as {\n default?: unknown;\n };\n return module;\n}\nasync function importWith(loader: Jiti, absPath: string): Promise<{\n default?: unknown;\n}> {\n return unwrapDefault(await loader.import(absPath));\n}\n/** Load one trusted project module through the process-wide cached project graph. */\nexport function importProjectModule(absPath: string): Promise<{\n default?: unknown;\n}> {\n return importWith(cachedLoader, absPath);\n}\nfunction clearProjectModules(loader: Jiti, projectRoot: string): void {\n const root = resolve(projectRoot);\n const prefix = `${root}${sep}`;\n for (const filename of Object.keys(loader.cache)) {\n if (isAbsolute(filename) && !filename.includes(`${sep}node_modules${sep}`) &&\n (filename === root || filename.startsWith(prefix))) {\n delete loader.cache[filename];\n }\n }\n}\nexport interface FreshImportGeneration {\n /** Import an entry into this generation's one shared project module graph. */\n import(absPath: string): Promise<{\n default?: unknown;\n }>;\n}\n/**\n * Open one fresh project module graph. The gate makes project-cache eviction atomic with all\n * imports in the generation; the caller's Scope releases the gate. Dependencies outside\n * projectRoot retain canonical process identity.\n */\nexport function acquireFreshImportGeneration(projectRoot = process.cwd()): Effect.Effect<FreshImportGeneration, never, Scope.Scope> {\n return Effect.gen(function* () {\n // Register this finalizer before constructing the loader: Jiti setup or cache eviction\n // may throw, but neither may strand the generation permit.\n yield* Effect.acquireRelease(generationGate.take(1), () => generationGate.release(1));\n const loader = createJiti(__niceevalImportMetaUrl, loaderOptions);\n clearProjectModules(loader, projectRoot);\n return Object.freeze({\n // Jiti's dynamic import ABI is Promise-based; adaptation remains at this I/O leaf.\n import: (absPath: string) => importWith(loader, absPath),\n });\n });\n}\n/** Promise ABI facade for callers that cannot retain an Effect Scope. */\nexport function freshImportModule(absPath: string): Promise<{\n default?: unknown;\n}> {\n return Effect.runPromise(Effect.scoped(acquireFreshImportGeneration(dirname(absPath)).pipe(Effect.flatMap((fresh) => Effect.tryPromise(() => fresh.import(absPath))))));\n}\n"]}
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MigrationRequiredError = exports.pairwisePreference = exports.instructionFollowing = exports.faithfulness = exports.factuality = exports.closeQA = exports.failureClassOf = exports.EvalFatalError = exports.ExperimentFatalError = exports.stripComments = exports.getEnv = exports.requireEnv = exports.readScoreMatchAudit = exports.defineScoreMatch = exports.defineJudge = exports.defineAdapterContract = exports.defineAdapter = exports.defineExperiment = exports.defineConfig = exports.defineEvalGroup = exports.defineScoreEval = exports.defineEval = void 0;
3
+ exports.defineContextMatch = exports.defineMaterialMatch = exports.MigrationRequiredError = exports.pairwisePreference = exports.instructionFollowing = exports.faithfulness = exports.factuality = exports.failureClassOf = exports.EvalFatalError = exports.ExperimentFatalError = exports.stripComments = exports.getEnv = exports.requireEnv = exports.readScoreMatchAudit = exports.defineScoreMatch = exports.defineJudge = exports.defineAdapterContract = exports.defineAdapter = exports.defineExperiment = exports.defineConfig = exports.defineEvalGroup = exports.defineScoreEval = exports.defineEval = void 0;
4
4
  // niceeval 公开导出(import { … } from "niceeval")。
5
5
  // Agent/Adapter 相关见 "niceeval/adapter";Sandbox 相关见 "niceeval/sandbox"。
6
6
  var define_ts_1 = require("./define.cjs");
@@ -29,11 +29,13 @@ Object.defineProperty(exports, "ExperimentFatalError", { enumerable: true, get:
29
29
  Object.defineProperty(exports, "EvalFatalError", { enumerable: true, get: function () { return failure_class_ts_1.EvalFatalError; } });
30
30
  Object.defineProperty(exports, "failureClassOf", { enumerable: true, get: function () { return failure_class_ts_1.failureClassOf; } });
31
31
  var judge_presets_ts_1 = require("./assertions/judge-presets.cjs");
32
- Object.defineProperty(exports, "closeQA", { enumerable: true, get: function () { return judge_presets_ts_1.closeQA; } });
33
32
  Object.defineProperty(exports, "factuality", { enumerable: true, get: function () { return judge_presets_ts_1.factuality; } });
34
33
  Object.defineProperty(exports, "faithfulness", { enumerable: true, get: function () { return judge_presets_ts_1.faithfulness; } });
35
34
  Object.defineProperty(exports, "instructionFollowing", { enumerable: true, get: function () { return judge_presets_ts_1.instructionFollowing; } });
36
35
  Object.defineProperty(exports, "pairwisePreference", { enumerable: true, get: function () { return judge_presets_ts_1.pairwisePreference; } });
37
36
  var index_ts_1 = require("./error-assistance/index.cjs");
38
37
  Object.defineProperty(exports, "MigrationRequiredError", { enumerable: true, get: function () { return index_ts_1.MigrationRequiredError; } });
38
+ var context_match_ts_1 = require("./assertions/context-match.cjs");
39
+ Object.defineProperty(exports, "defineMaterialMatch", { enumerable: true, get: function () { return context_match_ts_1.defineMaterialMatch; } });
40
+ Object.defineProperty(exports, "defineContextMatch", { enumerable: true, get: function () { return context_match_ts_1.defineContextMatch; } });
39
41
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,uEAAuE;AACvE,yCAA2G;AAAlG,uGAAA,UAAU,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AACrF,2CAAoE;AAA3D,2GAAA,aAAa,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AAC7C,kDAAoD;AAA3C,uGAAA,WAAW,OAAA;AAEpB,kDAAyD;AAAhD,4GAAA,gBAAgB,OAAA;AAGzB,0EAAuN;AAA9M,2HAAA,mBAAmB,OAAA;AAG5B,qCAA8D;AAArD,qGAAA,UAAU,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC1C,6CAA6C;AAC7C,6EAA6E;AAC7E,8DAAiG;AAAxF,wHAAA,oBAAoB,OAAA;AAAE,kHAAA,cAAc,OAAA;AAAE,kHAAA,cAAc,OAAA;AAK7D,kEAA4H;AAAnH,2GAAA,OAAO,OAAA;AAAE,8GAAA,UAAU,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,wHAAA,oBAAoB,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAGpF,wDAAiH;AAAxG,kHAAA,sBAAsB,OAAA","sourcesContent":["// niceeval 公开导出(import { … } from \"niceeval\")。\n// Agent/Adapter 相关见 \"niceeval/adapter\";Sandbox 相关见 \"niceeval/sandbox\"。\nexport { defineEval, defineScoreEval, defineEvalGroup, defineConfig, defineExperiment } from \"./define.ts\";\nexport { defineAdapter, defineAdapterContract } from \"./adapter.ts\";\nexport { defineJudge } from \"./assertions/judge.ts\";\nexport type { JudgeAnchor, JudgeDefinition, JudgeOptions } from \"./assertions/judge.ts\";\nexport { defineScoreMatch } from \"./assertions/match.ts\";\nexport type { ManagedScoreMatchOptions, ScoreMatch, ScoreMatchAnchor, ScoreMatchContext, ScoreMatchLlmFailure, ScoreMatchResult } from \"./assertions/match.ts\";\nexport type { AssertionEntryId } from \"./assertions/identity.ts\";\nexport { readScoreMatchAudit, type ScoreMatchAudit, type ScoreMatchAuditV3, type ScoreMatchAuditImageContent, type ScoreMatchAuditEnvelope, type ScoreMatchAuditReadResult, } from \"./assertions/score-match-audit.ts\";\nexport type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspaceDiffHunks, AgentWorkspaceDiffPolicy, AgentWorkspaceDiff, AgentWorkspaceDiffWindow, AgentWorkspaceDiffWindowChange, } from \"./assertions/workspace-diff.ts\";\nexport type { AssertionCheck, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from \"./assertions/api.ts\";\nexport { requireEnv, getEnv, stripComments } from \"./util.ts\";\n// 执行失败分类:抛出点糖衣类(声明死因波及多远)+ 结构守卫。判据、分类链与止损语义见\n// docs/feature/error-classification/README.md;`niceeval/adapter` 复导出同一份词表类型。\nexport { ExperimentFatalError, EvalFatalError, failureClassOf } from \"./shared/failure-class.ts\";\n// 类型(eval 作者会用到;跑哪个 agent / 用哪个 sandbox 见对应子路径)\nexport type { StreamEvent, ToolName, JsonValue, FlagValue, ExperimentFlags, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from \"./types.ts\";\nexport type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from \"./adapter.ts\";\nexport type { ParsedTranscript } from \"./o11y/parsers/index.ts\";\nexport { closeQA, factuality, faithfulness, instructionFollowing, pairwisePreference } from \"./assertions/judge-presets.ts\";\nexport type { CloseQAMaterial, JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from \"./assertions/judge-presets.ts\";\nexport type { JudgeProvider, JudgeSelection } from \"./judge/index.ts\";\nexport { MigrationRequiredError, type MigrationOccurrence, type ErrorSource } from \"./error-assistance/index.ts\";\nexport type { AdapterUsageInput } from \"./adapter-usage.ts\";\nexport type { AdapterAttachmentInput, AdapterAttachmentReceipt } from \"./adapter-attachments.ts\";\nexport type { ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from \"./adapter-execution-trace.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,uEAAuE;AACvE,yCAA2G;AAAlG,uGAAA,UAAU,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AACrF,2CAAoE;AAA3D,2GAAA,aAAa,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AAC7C,kDAAoD;AAA3C,uGAAA,WAAW,OAAA;AAEpB,kDAAyD;AAAhD,4GAAA,gBAAgB,OAAA;AAGzB,0EAAuN;AAA9M,2HAAA,mBAAmB,OAAA;AAG5B,qCAA8D;AAArD,qGAAA,UAAU,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC1C,6CAA6C;AAC7C,6EAA6E;AAC7E,8DAAiG;AAAxF,wHAAA,oBAAoB,OAAA;AAAE,kHAAA,cAAc,OAAA;AAAE,kHAAA,cAAc,OAAA;AAK7D,kEAAmH;AAA1G,8GAAA,UAAU,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,wHAAA,oBAAoB,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAG3E,wDAAiH;AAAxG,kHAAA,sBAAsB,OAAA;AAI/B,kEAAwF;AAA/E,uHAAA,mBAAmB,OAAA;AAAE,sHAAA,kBAAkB,OAAA","sourcesContent":["// niceeval 公开导出(import { … } from \"niceeval\")。\n// Agent/Adapter 相关见 \"niceeval/adapter\";Sandbox 相关见 \"niceeval/sandbox\"。\nexport { defineEval, defineScoreEval, defineEvalGroup, defineConfig, defineExperiment } from \"./define.ts\";\nexport { defineAdapter, defineAdapterContract } from \"./adapter.ts\";\nexport { defineJudge } from \"./assertions/judge.ts\";\nexport type { JudgeAnchor, JudgeDefinition, JudgeOptions } from \"./assertions/judge.ts\";\nexport { defineScoreMatch } from \"./assertions/match.ts\";\nexport type { ManagedScoreMatchOptions, ScoreMatch, ScoreMatchAnchor, ScoreMatchContext, ScoreMatchLlmFailure, ScoreMatchResult } from \"./assertions/match.ts\";\nexport type { AssertionEntryId } from \"./assertions/identity.ts\";\nexport { readScoreMatchAudit, type ScoreMatchAudit, type ScoreMatchAuditV3, type ScoreMatchAuditImageContent, type ScoreMatchAuditEnvelope, type ScoreMatchAuditReadResult, } from \"./assertions/score-match-audit.ts\";\nexport type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspaceDiffHunks, AgentWorkspaceDiffPolicy, AgentWorkspaceDiff, AgentWorkspaceDiffWindow, AgentWorkspaceDiffWindowChange, } from \"./assertions/workspace-diff.ts\";\nexport type { AssertionCheck, ScoreFunction, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from \"./assertions/api.ts\";\nexport { requireEnv, getEnv, stripComments } from \"./util.ts\";\n// 执行失败分类:抛出点糖衣类(声明死因波及多远)+ 结构守卫。判据、分类链与止损语义见\n// docs/feature/error-classification/README.md;`niceeval/adapter` 复导出同一份词表类型。\nexport { ExperimentFatalError, EvalFatalError, failureClassOf } from \"./shared/failure-class.ts\";\n// 类型(eval 作者会用到;跑哪个 agent / 用哪个 sandbox 见对应子路径)\nexport type { StreamEvent, ToolName, JsonValue, FlagValue, ExperimentFlags, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from \"./types.ts\";\nexport type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AttemptCancellation, AttemptSignal, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from \"./adapter.ts\";\nexport type { ParsedTranscript } from \"./o11y/parsers/index.ts\";\nexport { factuality, faithfulness, instructionFollowing, pairwisePreference } from \"./assertions/judge-presets.ts\";\nexport type { JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from \"./assertions/judge-presets.ts\";\nexport type { JudgeProvider, JudgeSelection } from \"./judge/index.ts\";\nexport { MigrationRequiredError, type MigrationOccurrence, type ErrorSource } from \"./error-assistance/index.ts\";\nexport type { AdapterUsageInput, AdapterUsageSeal } from \"./adapter-usage.ts\";\nexport type { AdapterAttachmentInput, AdapterAttachmentReceipt } from \"./adapter-attachments.ts\";\nexport type { ExecutionDisplayBlock, ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from \"./adapter-execution-trace.ts\";\nexport { defineMaterialMatch, defineContextMatch } from \"./assertions/context-match.ts\";\nexport type { MaterialMatch, ContextBooleanMatch, ContextScoreMatch, MatchContext, ReadonlyMaterial, MatchFact, MaterialCollection, MaterialItem, MaterialCaptureBudget, FactCaptureBudget } from \"./assertions/context-match.ts\";\nexport type { AttemptUsageSnapshot, AdapterAttemptUsageSnapshot } from \"./o11y/adapter-usage-projection.ts\";\nexport type { EvalUsage } from \"./o11y/eval-usage.ts\";\nexport type { AgentMatchContext } from \"./context/assert-first.ts\";\nexport type { ModelSlotSelection, ResolvedModelSlot, ResolvedModelSlots } from \"./model-slots.ts\";\n"]}
package/dist/index.d.cts CHANGED
@@ -7,16 +7,22 @@ export type { ManagedScoreMatchOptions, ScoreMatch, ScoreMatchAnchor, ScoreMatch
7
7
  export type { AssertionEntryId } from "./assertions/identity.cjs";
8
8
  export { readScoreMatchAudit, type ScoreMatchAudit, type ScoreMatchAuditV3, type ScoreMatchAuditImageContent, type ScoreMatchAuditEnvelope, type ScoreMatchAuditReadResult, } from "./assertions/score-match-audit.cjs";
9
9
  export type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspaceDiffHunks, AgentWorkspaceDiffPolicy, AgentWorkspaceDiff, AgentWorkspaceDiffWindow, AgentWorkspaceDiffWindowChange, } from "./assertions/workspace-diff.cjs";
10
- export type { AssertionCheck, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from "./assertions/api.cjs";
10
+ export type { AssertionCheck, ScoreFunction, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from "./assertions/api.cjs";
11
11
  export { requireEnv, getEnv, stripComments } from "./util.cjs";
12
12
  export { ExperimentFatalError, EvalFatalError, failureClassOf } from "./shared/failure-class.cjs";
13
13
  export type { StreamEvent, ToolName, JsonValue, FlagValue, ExperimentFlags, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.cjs";
14
- export type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from "./adapter.cjs";
14
+ export type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AttemptCancellation, AttemptSignal, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from "./adapter.cjs";
15
15
  export type { ParsedTranscript } from "./o11y/parsers/index.cjs";
16
- export { closeQA, factuality, faithfulness, instructionFollowing, pairwisePreference } from "./assertions/judge-presets.cjs";
17
- export type { CloseQAMaterial, JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from "./assertions/judge-presets.cjs";
16
+ export { factuality, faithfulness, instructionFollowing, pairwisePreference } from "./assertions/judge-presets.cjs";
17
+ export type { JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from "./assertions/judge-presets.cjs";
18
18
  export type { JudgeProvider, JudgeSelection } from "./judge/index.cjs";
19
19
  export { MigrationRequiredError, type MigrationOccurrence, type ErrorSource } from "./error-assistance/index.cjs";
20
- export type { AdapterUsageInput } from "./adapter-usage.cjs";
20
+ export type { AdapterUsageInput, AdapterUsageSeal } from "./adapter-usage.cjs";
21
21
  export type { AdapterAttachmentInput, AdapterAttachmentReceipt } from "./adapter-attachments.cjs";
22
- export type { ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from "./adapter-execution-trace.cjs";
22
+ export type { ExecutionDisplayBlock, ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from "./adapter-execution-trace.cjs";
23
+ export { defineMaterialMatch, defineContextMatch } from "./assertions/context-match.cjs";
24
+ export type { MaterialMatch, ContextBooleanMatch, ContextScoreMatch, MatchContext, ReadonlyMaterial, MatchFact, MaterialCollection, MaterialItem, MaterialCaptureBudget, FactCaptureBudget } from "./assertions/context-match.cjs";
25
+ export type { AttemptUsageSnapshot, AdapterAttemptUsageSnapshot } from "./o11y/adapter-usage-projection.cjs";
26
+ export type { EvalUsage } from "./o11y/eval-usage.cjs";
27
+ export type { AgentMatchContext } from "./context/assert-first.cjs";
28
+ export type { ModelSlotSelection, ResolvedModelSlot, ResolvedModelSlots } from "./model-slots.cjs";
package/dist/index.d.mts CHANGED
@@ -7,16 +7,22 @@ export type { ManagedScoreMatchOptions, ScoreMatch, ScoreMatchAnchor, ScoreMatch
7
7
  export type { AssertionEntryId } from "./assertions/identity.mjs";
8
8
  export { readScoreMatchAudit, type ScoreMatchAudit, type ScoreMatchAuditV3, type ScoreMatchAuditImageContent, type ScoreMatchAuditEnvelope, type ScoreMatchAuditReadResult, } from "./assertions/score-match-audit.mjs";
9
9
  export type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspaceDiffHunks, AgentWorkspaceDiffPolicy, AgentWorkspaceDiff, AgentWorkspaceDiffWindow, AgentWorkspaceDiffWindowChange, } from "./assertions/workspace-diff.mjs";
10
- export type { AssertionCheck, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from "./assertions/api.mjs";
10
+ export type { AssertionCheck, ScoreFunction, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from "./assertions/api.mjs";
11
11
  export { requireEnv, getEnv, stripComments } from "./util.mjs";
12
12
  export { ExperimentFatalError, EvalFatalError, failureClassOf } from "./shared/failure-class.mjs";
13
13
  export type { StreamEvent, ToolName, JsonValue, FlagValue, ExperimentFlags, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.mjs";
14
- export type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from "./adapter.mjs";
14
+ export type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AttemptCancellation, AttemptSignal, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from "./adapter.mjs";
15
15
  export type { ParsedTranscript } from "./o11y/parsers/index.mjs";
16
- export { closeQA, factuality, faithfulness, instructionFollowing, pairwisePreference } from "./assertions/judge-presets.mjs";
17
- export type { CloseQAMaterial, JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from "./assertions/judge-presets.mjs";
16
+ export { factuality, faithfulness, instructionFollowing, pairwisePreference } from "./assertions/judge-presets.mjs";
17
+ export type { JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from "./assertions/judge-presets.mjs";
18
18
  export type { JudgeProvider, JudgeSelection } from "./judge/index.mjs";
19
19
  export { MigrationRequiredError, type MigrationOccurrence, type ErrorSource } from "./error-assistance/index.mjs";
20
- export type { AdapterUsageInput } from "./adapter-usage.mjs";
20
+ export type { AdapterUsageInput, AdapterUsageSeal } from "./adapter-usage.mjs";
21
21
  export type { AdapterAttachmentInput, AdapterAttachmentReceipt } from "./adapter-attachments.mjs";
22
- export type { ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from "./adapter-execution-trace.mjs";
22
+ export type { ExecutionDisplayBlock, ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from "./adapter-execution-trace.mjs";
23
+ export { defineMaterialMatch, defineContextMatch } from "./assertions/context-match.mjs";
24
+ export type { MaterialMatch, ContextBooleanMatch, ContextScoreMatch, MatchContext, ReadonlyMaterial, MatchFact, MaterialCollection, MaterialItem, MaterialCaptureBudget, FactCaptureBudget } from "./assertions/context-match.mjs";
25
+ export type { AttemptUsageSnapshot, AdapterAttemptUsageSnapshot } from "./o11y/adapter-usage-projection.mjs";
26
+ export type { EvalUsage } from "./o11y/eval-usage.mjs";
27
+ export type { AgentMatchContext } from "./context/assert-first.mjs";
28
+ export type { ModelSlotSelection, ResolvedModelSlot, ResolvedModelSlots } from "./model-slots.mjs";
package/dist/index.d.ts CHANGED
@@ -7,16 +7,22 @@ export type { ManagedScoreMatchOptions, ScoreMatch, ScoreMatchAnchor, ScoreMatch
7
7
  export type { AssertionEntryId } from "./assertions/identity.js";
8
8
  export { readScoreMatchAudit, type ScoreMatchAudit, type ScoreMatchAuditV3, type ScoreMatchAuditImageContent, type ScoreMatchAuditEnvelope, type ScoreMatchAuditReadResult, } from "./assertions/score-match-audit.js";
9
9
  export type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspaceDiffHunks, AgentWorkspaceDiffPolicy, AgentWorkspaceDiff, AgentWorkspaceDiffWindow, AgentWorkspaceDiffWindowChange, } from "./assertions/workspace-diff.js";
10
- export type { AssertionCheck, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from "./assertions/api.js";
10
+ export type { AssertionCheck, ScoreFunction, PolymorphicBooleanAssertionHandle, PolymorphicMeasurementAssertionHandle, PostRunBooleanAssertionHandle, } from "./assertions/api.js";
11
11
  export { requireEnv, getEnv, stripComments } from "./util.js";
12
12
  export { ExperimentFatalError, EvalFatalError, failureClassOf } from "./shared/failure-class.js";
13
13
  export type { StreamEvent, ToolName, JsonValue, FlagValue, ExperimentFlags, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.js";
14
- export type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from "./adapter.js";
14
+ export type { Adapter, AdapterAssertionsFactory, AdapterAssertionsFactoryContext, AdapterCleanupContext, AttemptCancellation, AttemptSignal, AdapterContract, AdapterCreateContext, AdapterDefinition, AdapterEvalDefinition, AdapterEvalInput, AdapterIdentity, AdapterImplementation, AdapterImplementationInput, AdapterRuntimeDefinition, AdapterScoreEvalInput, EvalContext, ReservedAdapterContextKey, } from "./adapter.js";
15
15
  export type { ParsedTranscript } from "./o11y/parsers/index.js";
16
- export { closeQA, factuality, faithfulness, instructionFollowing, pairwisePreference } from "./assertions/judge-presets.js";
17
- export type { CloseQAMaterial, JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from "./assertions/judge-presets.js";
16
+ export { factuality, faithfulness, instructionFollowing, pairwisePreference } from "./assertions/judge-presets.js";
17
+ export type { JudgePresetOptions, FactualityMaterial, FaithfulnessMaterial, InstructionFollowingMaterial, PairwisePreferenceMaterial } from "./assertions/judge-presets.js";
18
18
  export type { JudgeProvider, JudgeSelection } from "./judge/index.js";
19
19
  export { MigrationRequiredError, type MigrationOccurrence, type ErrorSource } from "./error-assistance/index.js";
20
- export type { AdapterUsageInput } from "./adapter-usage.js";
20
+ export type { AdapterUsageInput, AdapterUsageSeal } from "./adapter-usage.js";
21
21
  export type { AdapterAttachmentInput, AdapterAttachmentReceipt } from "./adapter-attachments.js";
22
- export type { ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from "./adapter-execution-trace.js";
22
+ export type { ExecutionDisplayBlock, ExecutionTraceActor, ExecutionTraceEvent, ExecutionTraceEvidence, ExecutionTraceInput, ExecutionTraceLimitation, ExecutionTraceLink, ExecutionTraceReceipt, ExecutionTraceScope, ExecutionTraceScopeMembership, ExecutionTraceSource, ExecutionTraceTime, TraceJson, } from "./adapter-execution-trace.js";
23
+ export { defineMaterialMatch, defineContextMatch } from "./assertions/context-match.js";
24
+ export type { MaterialMatch, ContextBooleanMatch, ContextScoreMatch, MatchContext, ReadonlyMaterial, MatchFact, MaterialCollection, MaterialItem, MaterialCaptureBudget, FactCaptureBudget } from "./assertions/context-match.js";
25
+ export type { AttemptUsageSnapshot, AdapterAttemptUsageSnapshot } from "./o11y/adapter-usage-projection.js";
26
+ export type { EvalUsage } from "./o11y/eval-usage.js";
27
+ export type { AgentMatchContext } from "./context/assert-first.js";
28
+ export type { ModelSlotSelection, ResolvedModelSlot, ResolvedModelSlots } from "./model-slots.js";