niceeval 0.13.3 → 0.13.4-canary.39

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 (487) hide show
  1. package/INDEX.md +5 -5
  2. package/dist/agents/index.cjs +2 -2
  3. package/dist/agents/index.cjs.map +1 -1
  4. package/dist/agents/project.json +6 -0
  5. package/dist/agents/streaming.cjs.map +1 -1
  6. package/dist/agents/types.cjs.map +1 -1
  7. package/dist/agents/types.d.cts +1 -1
  8. package/dist/agents/types.d.mts +1 -1
  9. package/dist/agents/types.d.ts +1 -1
  10. package/dist/analysis/bindings.d.cts +8 -8
  11. package/dist/analysis/bindings.d.mts +8 -8
  12. package/dist/analysis/bindings.d.ts +8 -8
  13. package/dist/analysis/contracts.cjs.map +1 -1
  14. package/dist/analysis/contracts.d.cts +8 -19
  15. package/dist/analysis/contracts.d.mts +8 -19
  16. package/dist/analysis/contracts.d.ts +8 -19
  17. package/dist/analysis/experiment-groups.cjs +7 -14
  18. package/dist/analysis/experiment-groups.cjs.map +1 -1
  19. package/dist/analysis/index.cjs.map +1 -1
  20. package/dist/analysis/index.d.cts +1 -1
  21. package/dist/analysis/index.d.mts +1 -1
  22. package/dist/analysis/index.d.ts +1 -1
  23. package/dist/cli/application.cjs +4 -13
  24. package/dist/cli/application.cjs.map +1 -1
  25. package/dist/cli/application.d.cts +62 -59
  26. package/dist/cli/application.d.mts +62 -59
  27. package/dist/cli/application.d.ts +62 -59
  28. package/dist/cli/application.js +6 -12
  29. package/dist/cli/bootstrap.cjs +28 -2
  30. package/dist/cli/bootstrap.cjs.map +1 -1
  31. package/dist/cli/contribution.cjs +185 -0
  32. package/dist/cli/contribution.cjs.map +1 -0
  33. package/dist/cli/contribution.d.cts +55 -0
  34. package/dist/cli/contribution.d.mts +55 -0
  35. package/dist/cli/contribution.d.ts +55 -0
  36. package/dist/cli/contribution.js +20 -0
  37. package/dist/cli/contribution.js.map +1 -0
  38. package/dist/cli/node-application.cjs +119 -87
  39. package/dist/cli/node-application.cjs.map +1 -1
  40. package/dist/cli/node-application.d.cts +2 -8
  41. package/dist/cli/node-application.d.mts +2 -8
  42. package/dist/cli/node-application.d.ts +2 -8
  43. package/dist/cli/node-application.js +12 -22
  44. package/dist/cli/program.cjs +87 -2756
  45. package/dist/cli/program.cjs.map +1 -1
  46. package/dist/cli/program.d.cts +11 -332
  47. package/dist/cli/program.d.mts +11 -332
  48. package/dist/cli/program.d.ts +11 -332
  49. package/dist/cli/program.js +4 -28
  50. package/dist/cli.cjs +0 -3
  51. package/dist/cli.cjs.map +1 -1
  52. package/dist/cli.d.cts +0 -1
  53. package/dist/cli.d.mts +0 -1
  54. package/dist/cli.d.ts +0 -1
  55. package/dist/cli.js +6 -14
  56. package/dist/define.cjs +1 -1
  57. package/dist/define.cjs.map +1 -1
  58. package/dist/docker/cache-administration.cjs +8 -0
  59. package/dist/docker/cache-administration.cjs.map +1 -0
  60. package/dist/docker/cache-administration.d.cts +33 -0
  61. package/dist/docker/cache-administration.d.mts +33 -0
  62. package/dist/docker/cache-administration.d.ts +33 -0
  63. package/dist/docker/cache-administration.js +6 -0
  64. package/dist/docker/cache-administration.js.map +1 -0
  65. package/dist/docker/cache-live.cjs +27 -0
  66. package/dist/docker/cache-live.cjs.map +1 -0
  67. package/dist/docker/cache-live.d.cts +3 -0
  68. package/dist/docker/cache-live.d.mts +3 -0
  69. package/dist/docker/cache-live.d.ts +3 -0
  70. package/dist/docker/cache-live.js +6 -0
  71. package/dist/docker/cache-live.js.map +1 -0
  72. package/dist/docker/cli/contribution.cjs +223 -0
  73. package/dist/docker/cli/contribution.cjs.map +1 -0
  74. package/dist/docker/cli/contribution.d.cts +48 -0
  75. package/dist/docker/cli/contribution.d.mts +48 -0
  76. package/dist/docker/cli/contribution.d.ts +48 -0
  77. package/dist/docker/cli/contribution.js +8 -0
  78. package/dist/docker/cli/contribution.js.map +1 -0
  79. package/dist/eval/cli/contribution.cjs +62 -0
  80. package/dist/eval/cli/contribution.cjs.map +1 -0
  81. package/dist/eval/cli/contribution.d.cts +21 -0
  82. package/dist/eval/cli/contribution.d.mts +21 -0
  83. package/dist/eval/cli/contribution.d.ts +21 -0
  84. package/dist/eval/cli/contribution.js +8 -0
  85. package/dist/eval/cli/contribution.js.map +1 -0
  86. package/dist/eval/host/index.cjs +23 -0
  87. package/dist/eval/host/index.cjs.map +1 -0
  88. package/dist/eval/host/index.d.cts +27 -0
  89. package/dist/eval/host/index.d.mts +27 -0
  90. package/dist/eval/host/index.d.ts +27 -0
  91. package/dist/eval/host/index.js +8 -0
  92. package/dist/eval/host/index.js.map +1 -0
  93. package/dist/eval/host/index.mjs +8 -0
  94. package/dist/eval/host/index.mjs.map +1 -0
  95. package/dist/experiment/host/cli/contribution.cjs +835 -0
  96. package/dist/experiment/host/cli/contribution.cjs.map +1 -0
  97. package/dist/experiment/host/cli/contribution.d.cts +329 -0
  98. package/dist/experiment/host/cli/contribution.d.mts +329 -0
  99. package/dist/experiment/host/cli/contribution.d.ts +329 -0
  100. package/dist/experiment/host/cli/contribution.js +22 -0
  101. package/dist/experiment/host/cli/contribution.js.map +1 -0
  102. package/dist/experiment/host/cli/index.cjs +9 -0
  103. package/dist/experiment/host/cli/index.cjs.map +1 -0
  104. package/dist/experiment/host/cli/index.d.cts +2 -0
  105. package/dist/experiment/host/cli/index.d.mts +2 -0
  106. package/dist/experiment/host/cli/index.d.ts +2 -0
  107. package/dist/experiment/host/cli/index.js +10 -0
  108. package/dist/experiment/host/cli/index.js.map +1 -0
  109. package/dist/experiment/host/cli/terminal.cjs +15 -0
  110. package/dist/experiment/host/cli/terminal.cjs.map +1 -0
  111. package/dist/experiment/host/cli/terminal.d.cts +14 -0
  112. package/dist/experiment/host/cli/terminal.d.mts +14 -0
  113. package/dist/experiment/host/cli/terminal.d.ts +14 -0
  114. package/dist/experiment/host/cli/terminal.js +8 -0
  115. package/dist/experiment/host/cli/terminal.js.map +1 -0
  116. package/dist/experiment/host/index.cjs +35 -58
  117. package/dist/experiment/host/index.cjs.map +1 -1
  118. package/dist/experiment/host/index.d.cts +5 -79
  119. package/dist/experiment/host/index.d.mts +5 -79
  120. package/dist/experiment/host/index.d.ts +5 -79
  121. package/dist/experiment/host/index.js +4 -2
  122. package/dist/experiment/host/index.mjs +4 -2
  123. package/dist/experiment/host/operations.cjs +678 -0
  124. package/dist/experiment/host/operations.cjs.map +1 -0
  125. package/dist/experiment/host/operations.d.cts +19 -0
  126. package/dist/experiment/host/operations.d.mts +19 -0
  127. package/dist/experiment/host/operations.d.ts +19 -0
  128. package/dist/experiment/host/operations.js +24 -0
  129. package/dist/experiment/host/operations.js.map +1 -0
  130. package/dist/experiment/host/presentation.cjs +81 -0
  131. package/dist/experiment/host/presentation.cjs.map +1 -0
  132. package/dist/experiment/host/presentation.d.cts +9 -0
  133. package/dist/experiment/host/presentation.d.mts +9 -0
  134. package/dist/experiment/host/presentation.d.ts +9 -0
  135. package/dist/experiment/host/presentation.js +8 -0
  136. package/dist/experiment/host/presentation.js.map +1 -0
  137. package/dist/experiment/host/teardown.cjs +394 -0
  138. package/dist/experiment/host/teardown.cjs.map +1 -0
  139. package/dist/experiment/host/teardown.d.cts +5 -0
  140. package/dist/experiment/host/teardown.d.mts +5 -0
  141. package/dist/experiment/host/teardown.d.ts +5 -0
  142. package/dist/experiment/host/teardown.js +8 -0
  143. package/dist/experiment/host/teardown.js.map +1 -0
  144. package/dist/experiment/host/types.cjs +9 -0
  145. package/dist/experiment/host/types.cjs.map +1 -0
  146. package/dist/experiment/host/types.d.cts +423 -0
  147. package/dist/experiment/host/types.d.mts +423 -0
  148. package/dist/experiment/host/types.d.ts +423 -0
  149. package/dist/experiment/host/types.js +6 -0
  150. package/dist/experiment/host/types.js.map +1 -0
  151. package/dist/i18n/en.cjs +8 -50
  152. package/dist/i18n/en.cjs.map +1 -1
  153. package/dist/i18n/en.d.cts +2 -6
  154. package/dist/i18n/en.d.mts +2 -6
  155. package/dist/i18n/en.d.ts +2 -6
  156. package/dist/o11y/project.json +6 -0
  157. package/dist/project/cli/contribution.cjs +66 -0
  158. package/dist/project/cli/contribution.cjs.map +1 -0
  159. package/dist/project/cli/contribution.d.cts +17 -0
  160. package/dist/project/cli/contribution.d.mts +17 -0
  161. package/dist/project/cli/contribution.d.ts +17 -0
  162. package/dist/project/cli/contribution.js +8 -0
  163. package/dist/project/cli/contribution.js.map +1 -0
  164. package/dist/project/cli/index.cjs +7 -0
  165. package/dist/project/cli/index.cjs.map +1 -0
  166. package/dist/project/cli/index.d.cts +1 -0
  167. package/dist/project/cli/index.d.mts +1 -0
  168. package/dist/project/cli/index.d.ts +1 -0
  169. package/dist/project/cli/index.js +8 -0
  170. package/dist/project/cli/index.js.map +1 -0
  171. package/dist/project/host/index.cjs +11 -0
  172. package/dist/project/host/index.cjs.map +1 -0
  173. package/dist/project/host/index.d.cts +4 -0
  174. package/dist/project/host/index.d.mts +4 -0
  175. package/dist/project/host/index.d.ts +4 -0
  176. package/dist/project/host/index.js +14 -0
  177. package/dist/project/host/index.js.map +1 -0
  178. package/dist/project/host/index.mjs +14 -0
  179. package/dist/project/host/index.mjs.map +1 -0
  180. package/dist/project/host.cjs +59 -0
  181. package/dist/project/host.cjs.map +1 -0
  182. package/dist/project/host.d.cts +17 -0
  183. package/dist/project/host.d.mts +17 -0
  184. package/dist/project/host.d.ts +17 -0
  185. package/dist/project/host.js +6 -0
  186. package/dist/project/host.js.map +1 -0
  187. package/dist/project/index.cjs +11 -0
  188. package/dist/project/index.cjs.map +1 -0
  189. package/dist/project/index.d.cts +4 -0
  190. package/dist/project/index.d.mts +4 -0
  191. package/dist/project/index.d.ts +4 -0
  192. package/dist/project/index.js +14 -0
  193. package/dist/project/index.js.map +1 -0
  194. package/dist/project/node.cjs +91 -0
  195. package/dist/project/node.cjs.map +1 -0
  196. package/dist/project/node.d.cts +6 -0
  197. package/dist/project/node.d.mts +6 -0
  198. package/dist/project/node.d.ts +6 -0
  199. package/dist/project/node.js +12 -0
  200. package/dist/project/node.js.map +1 -0
  201. package/dist/project/services.cjs +17 -0
  202. package/dist/project/services.cjs.map +1 -0
  203. package/dist/project/services.d.cts +47 -0
  204. package/dist/project/services.d.mts +47 -0
  205. package/dist/project/services.d.ts +47 -0
  206. package/dist/project/services.js +12 -0
  207. package/dist/project/services.js.map +1 -0
  208. package/dist/project/templates.cjs +28 -0
  209. package/dist/project/templates.cjs.map +1 -0
  210. package/dist/project/templates.d.cts +4 -0
  211. package/dist/project/templates.d.mts +4 -0
  212. package/dist/project/templates.d.ts +4 -0
  213. package/dist/project/templates.js +12 -0
  214. package/dist/project/templates.js.map +1 -0
  215. package/dist/project.json +6 -0
  216. package/dist/record/family/catalog.d.cts +10 -10
  217. package/dist/record/family/catalog.d.mts +10 -10
  218. package/dist/record/family/catalog.d.ts +10 -10
  219. package/dist/record/family/file-changes.d.cts +8 -8
  220. package/dist/record/family/file-changes.d.mts +8 -8
  221. package/dist/record/family/file-changes.d.ts +8 -8
  222. package/dist/record/host/cli/contribution.cjs +206 -0
  223. package/dist/record/host/cli/contribution.cjs.map +1 -0
  224. package/dist/record/host/cli/contribution.d.cts +32 -0
  225. package/dist/record/host/cli/contribution.d.mts +32 -0
  226. package/dist/record/host/cli/contribution.d.ts +32 -0
  227. package/dist/record/host/cli/contribution.js +10 -0
  228. package/dist/record/host/cli/contribution.js.map +1 -0
  229. package/dist/record/host/cli/index.cjs +8 -0
  230. package/dist/record/host/cli/index.cjs.map +1 -0
  231. package/dist/record/host/cli/index.d.cts +1 -0
  232. package/dist/record/host/cli/index.d.mts +1 -0
  233. package/dist/record/host/cli/index.d.ts +1 -0
  234. package/dist/record/host/cli/index.js +10 -0
  235. package/dist/record/host/cli/index.js.map +1 -0
  236. package/dist/record/host/cli/presentation.cjs +122 -0
  237. package/dist/record/host/cli/presentation.cjs.map +1 -0
  238. package/dist/record/host/cli/presentation.d.cts +7 -0
  239. package/dist/record/host/cli/presentation.d.mts +7 -0
  240. package/dist/record/host/cli/presentation.d.ts +7 -0
  241. package/dist/record/host/cli/presentation.js +12 -0
  242. package/dist/record/host/cli/presentation.js.map +1 -0
  243. package/dist/record/host/index.cjs.map +1 -1
  244. package/dist/record/host/index.d.cts +1 -1
  245. package/dist/record/host/index.d.mts +1 -1
  246. package/dist/record/host/index.d.ts +1 -1
  247. package/dist/record/host/runtime.cjs +184 -1
  248. package/dist/record/host/runtime.cjs.map +1 -1
  249. package/dist/record/host/types.cjs.map +1 -1
  250. package/dist/record/host/types.d.cts +120 -0
  251. package/dist/record/host/types.d.mts +120 -0
  252. package/dist/record/host/types.d.ts +120 -0
  253. package/dist/record/project.json +6 -0
  254. package/dist/report/assets/styles.css +80 -0
  255. package/dist/report/cli/contribution.cjs +325 -0
  256. package/dist/report/cli/contribution.cjs.map +1 -0
  257. package/dist/report/cli/contribution.d.cts +143 -0
  258. package/dist/report/cli/contribution.d.mts +143 -0
  259. package/dist/report/cli/contribution.d.ts +143 -0
  260. package/dist/report/cli/contribution.js +12 -0
  261. package/dist/report/cli/contribution.js.map +1 -0
  262. package/dist/report/client-dist/app.js +9 -9
  263. package/dist/report/components/attempt-detail/content.cjs +1 -1
  264. package/dist/report/components/attempt-detail/content.cjs.map +1 -1
  265. package/dist/report/components/entity-lists/compute.cjs +5 -0
  266. package/dist/report/components/entity-lists/compute.cjs.map +1 -1
  267. package/dist/report/components/entity-lists/compute.d.cts +2 -0
  268. package/dist/report/components/entity-lists/compute.d.mts +2 -0
  269. package/dist/report/components/entity-lists/compute.d.ts +2 -0
  270. package/dist/report/components/entity-lists/content.cjs +35 -12
  271. package/dist/report/components/entity-lists/content.cjs.map +1 -1
  272. package/dist/report/components/entity-lists/index.cjs +0 -3
  273. package/dist/report/components/entity-lists/index.cjs.map +1 -1
  274. package/dist/report/components/summaries/index.cjs +2 -4
  275. package/dist/report/components/summaries/index.cjs.map +1 -1
  276. package/dist/report/definition/cell.cjs +7 -2
  277. package/dist/report/definition/cell.cjs.map +1 -1
  278. package/dist/report/definition/cell.d.cts +2 -0
  279. package/dist/report/definition/cell.d.mts +2 -0
  280. package/dist/report/definition/cell.d.ts +2 -0
  281. package/dist/report/definition/primitives/assertion-evidence.cjs +190 -4
  282. package/dist/report/definition/primitives/assertion-evidence.cjs.map +1 -1
  283. package/dist/report/definition/primitives/assertion-evidence.d.cts +4 -0
  284. package/dist/report/definition/primitives/assertion-evidence.d.mts +4 -0
  285. package/dist/report/definition/primitives/assertion-evidence.d.ts +4 -0
  286. package/dist/report/execution/machine.cjs +2 -3
  287. package/dist/report/execution/machine.cjs.map +1 -1
  288. package/dist/report/execution/machine.d.cts +11 -8
  289. package/dist/report/execution/machine.d.mts +11 -8
  290. package/dist/report/execution/machine.d.ts +11 -8
  291. package/dist/report/host/from-record.cjs +13 -8
  292. package/dist/report/host/from-record.cjs.map +1 -1
  293. package/dist/report/host/index.cjs +5 -1
  294. package/dist/report/host/index.cjs.map +1 -1
  295. package/dist/report/host/index.d.cts +1 -0
  296. package/dist/report/host/index.d.mts +1 -0
  297. package/dist/report/host/index.d.ts +1 -0
  298. package/dist/report/host/index.js +8 -2
  299. package/dist/report/host/index.mjs +8 -2
  300. package/dist/report/host/machine.cjs +23 -22
  301. package/dist/report/host/machine.cjs.map +1 -1
  302. package/dist/report/host/machine.d.cts +1 -1
  303. package/dist/report/host/machine.d.mts +1 -1
  304. package/dist/report/host/machine.d.ts +1 -1
  305. package/dist/report/host/node/loader.cjs +4 -2
  306. package/dist/report/host/node/loader.cjs.map +1 -1
  307. package/dist/report/host/node/loader.d.cts +3 -1
  308. package/dist/report/host/node/loader.d.mts +3 -1
  309. package/dist/report/host/node/loader.d.ts +3 -1
  310. package/dist/report/host/node.cjs +44 -9
  311. package/dist/report/host/node.cjs.map +1 -1
  312. package/dist/report/host/node.d.cts +13 -3
  313. package/dist/report/host/node.d.mts +13 -3
  314. package/dist/report/host/node.d.ts +13 -3
  315. package/dist/report/host/node.js +44 -32
  316. package/dist/report/host/operations.cjs +14 -0
  317. package/dist/report/host/operations.cjs.map +1 -0
  318. package/dist/report/host/operations.d.cts +39 -0
  319. package/dist/report/host/operations.d.mts +39 -0
  320. package/dist/report/host/operations.d.ts +39 -0
  321. package/dist/report/host/operations.js +10 -0
  322. package/dist/report/host/operations.js.map +1 -0
  323. package/dist/report/model/chart/plot.cjs +1 -1
  324. package/dist/report/model/chart/plot.cjs.map +1 -1
  325. package/dist/report/model/locale.cjs +4 -0
  326. package/dist/report/model/locale.cjs.map +1 -1
  327. package/dist/report/model/locale.d.cts +3 -1
  328. package/dist/report/model/locale.d.mts +3 -1
  329. package/dist/report/model/locale.d.ts +3 -1
  330. package/dist/report/react/styles.css +80 -0
  331. package/dist/runner/build-preparation.cjs +5 -5
  332. package/dist/runner/build-preparation.cjs.map +1 -1
  333. package/dist/runner/build-preparation.d.cts +2 -3
  334. package/dist/runner/build-preparation.d.mts +2 -3
  335. package/dist/runner/build-preparation.d.ts +2 -3
  336. package/dist/runner/feedback/coordinator.cjs +18 -15
  337. package/dist/runner/feedback/coordinator.cjs.map +1 -1
  338. package/dist/runner/feedback/coordinator.d.cts +6 -0
  339. package/dist/runner/feedback/coordinator.d.mts +6 -0
  340. package/dist/runner/feedback/coordinator.d.ts +6 -0
  341. package/dist/runner/ledger.cjs +3 -13
  342. package/dist/runner/ledger.cjs.map +1 -1
  343. package/dist/runner/ledger.d.cts +1 -3
  344. package/dist/runner/ledger.d.mts +1 -3
  345. package/dist/runner/ledger.d.ts +1 -3
  346. package/dist/runner/run.cjs +63 -18
  347. package/dist/runner/run.cjs.map +1 -1
  348. package/dist/runner/session.cjs +10 -0
  349. package/dist/runner/session.cjs.map +1 -1
  350. package/dist/runner/session.d.cts +25 -0
  351. package/dist/runner/session.d.mts +25 -0
  352. package/dist/runner/session.d.ts +25 -0
  353. package/dist/runner/types.cjs.map +1 -1
  354. package/dist/runner/types.d.cts +1 -2
  355. package/dist/runner/types.d.mts +1 -2
  356. package/dist/runner/types.d.ts +1 -2
  357. package/dist/sandbox/build-coordinator.cjs +38 -19
  358. package/dist/sandbox/build-coordinator.cjs.map +1 -1
  359. package/dist/sandbox/build-coordinator.d.cts +47 -7
  360. package/dist/sandbox/build-coordinator.d.mts +47 -7
  361. package/dist/sandbox/build-coordinator.d.ts +47 -7
  362. package/dist/sandbox/build-coordinator.js +8 -4
  363. package/dist/sandbox/cli/contribution.cjs +128 -0
  364. package/dist/sandbox/cli/contribution.cjs.map +1 -0
  365. package/dist/sandbox/cli/contribution.d.cts +71 -0
  366. package/dist/sandbox/cli/contribution.d.mts +71 -0
  367. package/dist/sandbox/cli/contribution.d.ts +71 -0
  368. package/dist/sandbox/cli/contribution.js +8 -0
  369. package/dist/sandbox/cli/contribution.js.map +1 -0
  370. package/dist/sandbox/cli-commands.cjs +14 -21
  371. package/dist/sandbox/cli-commands.cjs.map +1 -1
  372. package/dist/sandbox/cli-commands.d.cts +12 -8
  373. package/dist/sandbox/cli-commands.d.mts +12 -8
  374. package/dist/sandbox/cli-commands.d.ts +12 -8
  375. package/dist/sandbox/compose.cjs +22 -2
  376. package/dist/sandbox/compose.cjs.map +1 -1
  377. package/dist/sandbox/compose.d.cts +1 -1
  378. package/dist/sandbox/compose.d.mts +1 -1
  379. package/dist/sandbox/compose.d.ts +1 -1
  380. package/dist/sandbox/docker-profile/cli.cjs +13 -9
  381. package/dist/sandbox/docker-profile/cli.cjs.map +1 -1
  382. package/dist/sandbox/docker-profile/cli.d.cts +2 -0
  383. package/dist/sandbox/docker-profile/cli.d.mts +2 -0
  384. package/dist/sandbox/docker-profile/cli.d.ts +2 -0
  385. package/dist/sandbox/docker-profile/runtime.cjs +68 -7
  386. package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
  387. package/dist/sandbox/docker-profile/runtime.d.cts +19 -1
  388. package/dist/sandbox/docker-profile/runtime.d.mts +19 -1
  389. package/dist/sandbox/docker-profile/runtime.d.ts +19 -1
  390. package/dist/sandbox/docker-profile/runtime.js +10 -8
  391. package/dist/sandbox/docker-profile/schema.cjs +68 -19
  392. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  393. package/dist/sandbox/docker-profile/schema.d.cts +23 -9
  394. package/dist/sandbox/docker-profile/schema.d.mts +23 -9
  395. package/dist/sandbox/docker-profile/schema.d.ts +23 -9
  396. package/dist/sandbox/docker-task-build-cache.cjs +532 -0
  397. package/dist/sandbox/docker-task-build-cache.cjs.map +1 -0
  398. package/dist/sandbox/docker-task-build-cache.d.cts +68 -0
  399. package/dist/sandbox/docker-task-build-cache.d.mts +68 -0
  400. package/dist/sandbox/docker-task-build-cache.d.ts +68 -0
  401. package/dist/sandbox/docker-task-build-cache.js +20 -0
  402. package/dist/sandbox/docker-task-build-cache.js.map +1 -0
  403. package/dist/sandbox/docker.cjs +50 -0
  404. package/dist/sandbox/docker.cjs.map +1 -1
  405. package/dist/sandbox/docker.d.cts +15 -0
  406. package/dist/sandbox/docker.d.mts +15 -0
  407. package/dist/sandbox/docker.d.ts +15 -0
  408. package/dist/sandbox/dockerfile-build.cjs +55 -5
  409. package/dist/sandbox/dockerfile-build.cjs.map +1 -1
  410. package/dist/sandbox/dockerfile-build.d.cts +2 -2
  411. package/dist/sandbox/dockerfile-build.d.mts +2 -2
  412. package/dist/sandbox/dockerfile-build.d.ts +2 -2
  413. package/dist/sandbox/index.cjs +5 -3
  414. package/dist/sandbox/index.cjs.map +1 -1
  415. package/dist/sandbox/index.d.cts +4 -3
  416. package/dist/sandbox/index.d.mts +4 -3
  417. package/dist/sandbox/index.d.ts +4 -3
  418. package/dist/sandbox/index.js +16 -14
  419. package/dist/sandbox/index.mjs +16 -14
  420. package/dist/sandbox/keep.cjs +1 -3
  421. package/dist/sandbox/keep.cjs.map +1 -1
  422. package/dist/sandbox/layer.cjs +70 -79
  423. package/dist/sandbox/layer.cjs.map +1 -1
  424. package/dist/sandbox/layer.d.cts +6 -12
  425. package/dist/sandbox/layer.d.mts +6 -12
  426. package/dist/sandbox/layer.d.ts +6 -12
  427. package/dist/sandbox/layer.js +16 -18
  428. package/dist/sandbox/ledger-paths.cjs +4 -18
  429. package/dist/sandbox/ledger-paths.cjs.map +1 -1
  430. package/dist/sandbox/ledger-paths.d.cts +3 -13
  431. package/dist/sandbox/ledger-paths.d.mts +3 -13
  432. package/dist/sandbox/ledger-paths.d.ts +3 -13
  433. package/dist/sandbox/ledger-paths.js +4 -8
  434. package/dist/sandbox/registry.cjs +1 -1
  435. package/dist/sandbox/registry.cjs.map +1 -1
  436. package/dist/sandbox/runtime.cjs +27 -37
  437. package/dist/sandbox/runtime.cjs.map +1 -1
  438. package/dist/sandbox/runtime.d.cts +1 -2
  439. package/dist/sandbox/runtime.d.mts +1 -2
  440. package/dist/sandbox/runtime.d.ts +1 -2
  441. package/dist/sandbox/runtime.js +6 -8
  442. package/dist/sandbox/types.cjs.map +1 -1
  443. package/dist/sandbox/types.d.cts +3 -3
  444. package/dist/sandbox/types.d.mts +3 -3
  445. package/dist/sandbox/types.d.ts +3 -3
  446. package/dist/sources/project.json +6 -0
  447. package/dist/vendor/remark/remark-gfm.cjs +72 -72
  448. package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
  449. package/dist/vendor/remark/remark-parse.cjs +54 -54
  450. package/dist/vendor/remark/remark-parse.cjs.map +1 -1
  451. package/dist/vendor/remark/remark.cjs +125 -125
  452. package/dist/vendor/remark/remark.cjs.map +2 -2
  453. package/docs-site/zh/README.md +1 -1
  454. package/docs-site/zh/explanation/assert.mdx +4 -0
  455. package/docs-site/zh/explanation/judge.mdx +40 -9
  456. package/docs-site/zh/reference/cli.mdx +67 -43
  457. package/docs-site/zh/reference/define-agent.mdx +2 -2
  458. package/docs-site/zh/reference/report-components.mdx +4 -3
  459. package/docs-site/zh/troubleshooting/debug-sandbox.mdx +6 -0
  460. package/docs-site/zh/troubleshooting/debugging.mdx +28 -1
  461. package/docs-site/zh/tutorials/agent-feedback-loop.mdx +4 -2
  462. package/docs-site/zh/tutorials/concurrency.mdx +2 -2
  463. package/docs-site/zh/tutorials/custom-reports.mdx +175 -9
  464. package/docs-site/zh/tutorials/docker-in-docker.mdx +52 -7
  465. package/docs-site/zh/tutorials/eval-groups.mdx +1 -2
  466. package/docs-site/zh/tutorials/evaluation-kinds.mdx +39 -6
  467. package/docs-site/zh/tutorials/nixos-managed-dind.mdx +14 -5
  468. package/docs-site/zh/tutorials/sandbox-providers.mdx +1 -28
  469. package/docs-site/zh/tutorials/sandbox-reuse.mdx +1 -1
  470. package/docs-site/zh/tutorials/viewing-results.mdx +2 -0
  471. package/package.json +24 -19
  472. package/README.md +0 -176
  473. package/README.zh.md +0 -176
  474. package/dist/cli/record.cjs +0 -246
  475. package/dist/cli/record.cjs.map +0 -1
  476. package/dist/cli/record.d.cts +0 -40
  477. package/dist/cli/record.d.mts +0 -40
  478. package/dist/cli/record.d.ts +0 -40
  479. package/dist/cli/record.js +0 -10
  480. package/dist/cli/record.js.map +0 -1
  481. package/dist/sandbox/local.cjs +0 -361
  482. package/dist/sandbox/local.cjs.map +0 -1
  483. package/dist/sandbox/local.d.cts +0 -80
  484. package/dist/sandbox/local.d.mts +0 -80
  485. package/dist/sandbox/local.d.ts +0 -80
  486. package/dist/sandbox/local.js +0 -6
  487. package/dist/sandbox/local.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["operations.ts"],"names":[],"mappings":"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","sourcesContent":["import { resolve } from \"node:path\";\nimport { Clock, Effect, Either } from \"effect\";\nimport type { AnalysisSelectionRequest } from \"../../analysis/contracts.ts\";\nimport { recordHost } from \"../../record/host/index.ts\";\nimport { makeRecordRoot, type RecordRoot } from \"../../record/platform/root.ts\";\nimport { acceptLocators } from \"../../runner/accept.ts\";\nimport { activateFeedbackSink, type FeedbackSink } from \"../../runner/feedback/sink.ts\";\nimport { computeExitCode } from \"../../runner/feedback/json.ts\";\nimport { discoverEvals, discoverExperiments } from \"../../runner/discover.ts\";\nimport { resolveExperimentEvals } from \"../../runner/eval-selection.ts\";\nimport { planProjectTarget } from \"../../runner/fingerprint.ts\";\nimport { prepareRunnerRecordReuse, withRunnerCurrentReusePreview, } from \"../../runner/record.ts\";\nimport { projectCurrentReuseReadback } from \"../../runner/reuse-readback.ts\";\nimport type { ExecutionReusePlanSlot } from \"../../runner/reuse-plan.ts\";\nimport { runEvals } from \"../../runner/run.ts\";\nimport { isCaseLockExpired, readCaseLockEffect } from \"../../runner/lock.ts\";\nimport { loadProjectCurrent } from \"../../runner/project-current.ts\";\nimport { JUnit } from \"../../runner/reporters/json.ts\";\nimport { listSessions, showSession, SessionTracker, } from \"../../runner/session.ts\";\nimport { linkRunSandboxes, recommendedConcurrencyForPreparedPairs, } from \"../../runner/sandbox-selection.ts\";\nimport { resolveRunTimeout } from \"../../runner/timeout.ts\";\nimport { ExperimentRenameError, planExperimentRename, renameExperiment, type ExperimentRenamePlan as RunnerExperimentRenamePlan, } from \"../../runner/rename-experiment.ts\";\nimport type { AgentRun, DiscoveredEval, DiscoveredExperiment, InvocationSummary, } from \"../../runner/types.ts\";\nimport { evalPrefixPredicate, matchExperimentSelector } from \"../../shared/aggregate.ts\";\nimport { ExperimentHostError } from \"./types.ts\";\nimport { assembleInvocationCompletion, foldInvocationEvalStats } from \"./presentation.ts\";\nimport type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostDryComparison, ExperimentHostDryPlan, ExperimentHostDrySlot, ExperimentHostOperation, ExperimentHostExperimentSummary, ExperimentHostInvocationPlan, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationShape, ExperimentHostInvocationSummary, ExperimentHostJsonValue, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostRunOverrides, ExperimentHostSelectionInput, ExperimentHostSelectionProblem, } from \"./types.ts\";\nfunction operationError(operation: ExperimentHostOperation, cause: unknown): ExperimentHostError {\n if (cause instanceof ExperimentHostError)\n return cause;\n const code = typeof cause === \"object\" && cause !== null && typeof Reflect.get(cause, \"code\") === \"string\"\n ? String(Reflect.get(cause, \"code\"))\n : \"experiment-host-operation-failed\";\n return new ExperimentHostError({\n operation,\n code,\n message: closedFailureMessage(cause),\n });\n}\n/** Preserve one actionable message while closing private Runner error shapes. */\nfunction closedFailureMessage(cause: unknown): string {\n if (cause instanceof Error && cause.message.length > 0)\n return cause.message;\n if (typeof cause === \"object\" && cause !== null) {\n const direct = Reflect.get(cause, \"message\");\n if (typeof direct === \"string\" && direct.length > 0)\n return direct;\n const issue = Reflect.get(cause, \"issue\");\n if (typeof issue === \"object\" && issue !== null) {\n const nested = Reflect.get(issue, \"message\");\n if (typeof nested === \"string\" && nested.length > 0)\n return nested;\n }\n }\n return String(cause);\n}\nfunction closeOperation<A, E, R>(operation: ExperimentHostOperation, effect: Effect.Effect<A, E, R>): Effect.Effect<A, ExperimentHostError, R> {\n return effect.pipe(Effect.mapError((cause) => operationError(operation, cause)));\n}\ninterface ClosedSelection {\n readonly evals: readonly DiscoveredEval[];\n readonly experimentIds: readonly string[];\n readonly selections: readonly {\n readonly experiment: DiscoveredExperiment;\n readonly selectedEvalIds: readonly string[];\n readonly selectorEvalIds: readonly string[];\n }[];\n}\ninterface PreparedInvocationState {\n readonly evals: readonly DiscoveredEval[];\n readonly runs: readonly AgentRun[];\n readonly config: ExperimentHostInvocationPlanRequest[\"config\"];\n readonly recordRoot: RecordRoot;\n readonly coordinationRoot: string;\n readonly overrides: ExperimentHostRunOverrides;\n readonly shape: ExperimentHostInvocationShape;\n consumed: boolean;\n}\nconst invocationPlans = new WeakMap<object, PreparedInvocationState>();\nfunction freezeArray<A>(values: Iterable<A>): readonly A[] {\n return Object.freeze([...values]);\n}\nfunction selectionProblem(input: ExperimentHostSelectionInput, selected: ClosedSelection): ExperimentHostSelectionProblem | undefined {\n if (input.experimentSelector !== undefined && selected.selections.length === 0) {\n return Object.freeze({\n status: \"experiment-no-match\" as const,\n selector: input.experimentSelector,\n candidates: freezeArray([...selected.experimentIds].sort()),\n });\n }\n const selectorEvalIds = freezeArray(new Set(selected.selections.flatMap((entry) => entry.selectorEvalIds)));\n for (const selector of input.evalSelectors ?? []) {\n if (selectorEvalIds.some((id) => evalPrefixPredicate([selector])(id)))\n continue;\n return Object.freeze({\n status: \"eval-no-match\" as const,\n selector,\n experimentIds: freezeArray(selected.selections.map(({ experiment }) => experiment.id)),\n candidates: freezeArray([...selectorEvalIds].sort()),\n });\n }\n if (selected.selections.every((entry) => entry.selectedEvalIds.length === 0)) {\n return Object.freeze({\n status: \"empty-selection\" as const,\n experimentIds: freezeArray(selected.selections.map(({ experiment }) => experiment.id)),\n candidates: freezeArray([...selected.experimentIds].sort()),\n });\n }\n return undefined;\n}\nfunction closeSelection(input: ExperimentHostSelectionInput): Effect.Effect<ClosedSelection, unknown> {\n return Effect.gen(function* () {\n const discovered = yield* discoverEvals(input.cwd);\n const evals = input.tag === undefined\n ? discovered\n : discovered.filter((definition) => definition.tags?.includes(input.tag!));\n const experiments = yield* discoverExperiments(input.cwd);\n const experimentIds = freezeArray(experiments.map((experiment) => experiment.id));\n const selectedIds = input.experimentSelector === undefined\n ? undefined\n : new Set(matchExperimentSelector(experimentIds, input.experimentSelector));\n const selections = experiments\n .filter((experiment) => selectedIds === undefined || selectedIds.has(experiment.id))\n .map((experiment) => {\n const selection = resolveExperimentEvals({\n experimentId: experiment.id,\n selector: experiment.evals,\n cliPatterns: input.evalSelectors ?? [],\n evals,\n });\n return Object.freeze({\n experiment,\n selectedEvalIds: freezeArray(selection.selectedEvalIds),\n selectorEvalIds: freezeArray(selection.selectorEvals.map((definition) => definition.id)),\n });\n });\n return Object.freeze({\n evals: freezeArray(evals),\n experimentIds,\n selections: freezeArray(selections),\n });\n });\n}\nfunction summaryOfExperiment(experiment: DiscoveredExperiment, evalIds: readonly string[]): ExperimentHostExperimentSummary {\n return Object.freeze({\n id: experiment.id,\n ...(experiment.description === undefined ? {} : { description: experiment.description }),\n agent: experiment.agent.name,\n ...(experiment.model === undefined ? {} : { model: experiment.model }),\n attempts: experiment.attempts ?? 1,\n evalIds: freezeArray(evalIds),\n labels: Object.freeze({ ...(experiment.labels ?? {}) }),\n hasSetup: typeof experiment.setup === \"function\",\n hasTeardown: typeof experiment.teardown === \"function\",\n ...(experiment.sharedState === undefined ? {} : { sharedStateKey: experiment.sharedState.key }),\n });\n}\nexport function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError> {\n return closeOperation(\"catalog\", closeSelection(input).pipe(Effect.map((selected) => Object.freeze({\n status: \"listed\" as const,\n evals: freezeArray(selected.evals.map((definition) => Object.freeze({\n id: definition.id,\n ...(definition.description === undefined ? {} : { description: definition.description }),\n tags: freezeArray(definition.tags ?? []),\n evaluationKind: definition.evaluationKind,\n }))),\n experimentIds: selected.experimentIds,\n experiments: freezeArray(selected.selections.map(({ experiment, selectedEvalIds }) => summaryOfExperiment(experiment, selectedEvalIds))),\n }))));\n}\nfunction agentRunFromExperiment(experiment: DiscoveredExperiment, selectedEvalIds: readonly string[], overrides: ExperimentHostRunOverrides): AgentRun {\n return Object.freeze({\n agent: experiment.agent,\n model: experiment.model,\n reasoningEffort: experiment.reasoningEffort,\n flags: experiment.flags ?? {},\n plugins: experiment.plugins,\n attempts: overrides.attempts ?? experiment.attempts ?? 1,\n earlyExit: overrides.earlyExit ?? experiment.earlyExit ?? false,\n sandbox: experiment.sandbox,\n sandboxReuse: experiment.sandboxReuse,\n ...(experiment.sharedState === undefined ? {} : { sharedState: experiment.sharedState }),\n judge: experiment.judge,\n ...resolveRunTimeout(overrides.timeoutMs, experiment.timeoutMs),\n budget: overrides.budget ?? experiment.budget,\n selectedEvalIds: freezeArray(selectedEvalIds),\n experimentId: experiment.id,\n experimentBaseDir: experiment.baseDir,\n experimentSourcePath: experiment.sourcePath,\n description: experiment.description,\n labels: experiment.labels,\n maxConcurrency: experiment.maxConcurrency,\n setup: experiment.setup,\n teardown: experiment.teardown,\n classifyFailure: experiment.classifyFailure,\n });\n}\nfunction prepareRuns(input: ExperimentHostSelectionInput & {\n readonly overrides?: ExperimentHostRunOverrides;\n}) {\n return closeSelection(input).pipe(Effect.map((selected) => {\n const problem = selectionProblem(input, selected);\n if (problem !== undefined)\n return { status: \"problem\", selected, problem } as const;\n const overrides = input.overrides ?? {};\n return {\n status: \"ready\",\n selected,\n runs: freezeArray(selected.selections.map(({ experiment, selectedEvalIds }) => agentRunFromExperiment(experiment, selectedEvalIds, overrides))),\n } as const;\n }));\n}\nexport function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError> {\n return closeOperation(\"check\", Effect.gen(function* () {\n const prepared = yield* prepareRuns(input);\n if (prepared.status === \"problem\")\n return prepared.problem;\n const pairs = yield* linkRunSandboxes(prepared.selected.evals, prepared.runs);\n return Object.freeze({\n status: \"linked\" as const,\n experimentIds: freezeArray(prepared.runs.map((run) => run.experimentId!)),\n evalIds: freezeArray(new Set(prepared.runs.flatMap((run) => run.selectedEvalIds))),\n pairCount: pairs.length,\n });\n }));\n}\n/**\n * Report-facing project-current resolution. Discovery, selection, identity\n * planning, and the resulting watch set close here so a CLI never reaches\n * into Runner to reconstruct the same target.\n */\nexport function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError> {\n return closeOperation(\"resolve-project-current\", Effect.gen(function* () {\n const loaded = yield* loadProjectCurrent(input.cwd, {\n config: input.config,\n ...(input.experimentSelectors === undefined ? {} : { experiments: input.experimentSelectors }),\n ...(input.freshImport === undefined ? {} : { freshImport: input.freshImport }),\n });\n const experimentIds = input.experimentSelectors === undefined\n ? undefined\n : freezeArray(new Set(loaded.currentSlots.map((slot) => slot.experimentId)));\n const selection: AnalysisSelectionRequest = Object.freeze({\n policy: \"project-current\" as const,\n currentSlots: loaded.currentSlots,\n ...(experimentIds === undefined ? {} : { experimentIds }),\n });\n return Object.freeze({\n selection,\n currentSlots: loaded.currentSlots,\n watchInputs: freezeArray(loaded.watchInputs),\n });\n }));\n}\n/** Session data is intentionally presented as a closed, transient document. */\nexport function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError> {\n return closeOperation(\"invocation-status-list\", listSessions(resolve(input.cwd, \".niceeval\"), {\n ...(input.all === true ? { all: true } : {}),\n ...(input.experimentSelector === undefined ? {} : { selector: input.experimentSelector }),\n }));\n}\nexport function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError> {\n return closeOperation(\"invocation-status-show\", showSession(resolve(input.cwd, \".niceeval\"), input.invocationSelector));\n}\nfunction recordRoot(input: ExperimentHostInvocationPlanRequest) {\n return makeRecordRoot(resolve(input.cwd, input.recordRoot ?? \".niceeval/record\"));\n}\n/** Only the four explicit mutation/plan entry points may trigger migration. */\nfunction ensureAutomaticMigration(input: {\n readonly cwd: string;\n readonly recordRoot?: string;\n}) {\n return Effect.gen(function* () {\n const root = makeRecordRoot(resolve(input.cwd, input.recordRoot ?? \".niceeval/record\"));\n if (Either.isLeft(root))\n return yield* Effect.fail(root.left);\n return yield* recordHost.ensureAutomaticMigration({ root: root.right });\n });\n}\nfunction comparisonOf(slot: ExecutionReusePlanSlot): readonly ExperimentHostDryComparison[] {\n return freezeArray(slot.comparisons.map((comparison) => Object.freeze({ ...comparison })));\n}\nfunction jsonSnapshot(value: unknown): ExperimentHostJsonValue | undefined {\n try {\n return freezeJson(JSON.parse(JSON.stringify(value)) as ExperimentHostJsonValue);\n }\n catch {\n return undefined;\n }\n}\nfunction freezeJson(value: ExperimentHostJsonValue): ExperimentHostJsonValue {\n if (Array.isArray(value))\n return Object.freeze(value.map(freezeJson));\n if (typeof value === \"object\" && value !== null) {\n return Object.freeze(Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, freezeJson(entry)])));\n }\n return value;\n}\nfunction dryPlan(slots: readonly ExecutionReusePlanSlot[], readbacks: readonly ReturnType<typeof projectCurrentReuseReadback>[], lockedPairs: readonly string[], evalGroups: ReadonlyMap<string, {\n readonly id: string;\n readonly index: number;\n}>): ExperimentHostDryPlan {\n const projected: ExperimentHostDrySlot[] = slots.map((slot) => {\n const evalGroup = evalGroups.get(slot.evalId);\n const target = Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n ...(evalGroup === undefined ? {} : { evalGroupId: evalGroup.id, evalGroupIndex: evalGroup.index }),\n attempt: slot.attempt,\n });\n if (slot.state === \"reuse\") {\n return Object.freeze({\n state: \"reuse\" as const,\n target,\n source: Object.freeze({\n attemptId: slot.source.attemptId,\n originRunId: slot.source.origin.runId,\n originSlotId: slot.source.origin.slotId,\n sourceRunId: slot.source.sourceBarrier.runId,\n }),\n comparisons: comparisonOf(slot),\n });\n }\n return Object.freeze({\n state: \"gap\" as const,\n target,\n reason: slot.reason,\n scope: slot.scope,\n issues: freezeArray(slot.issues.map((issue) => jsonSnapshot(issue) ?? Object.freeze({}))),\n comparisons: comparisonOf(slot),\n });\n });\n return Object.freeze({\n policy: Object.freeze({ name: \"project-target\" as const, version: 1 as const }),\n slots: freezeArray(projected),\n readbacks: freezeArray(readbacks),\n lockedPairs: freezeArray(lockedPairs),\n });\n}\nexport function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"invocation-plan\", Effect.gen(function* () {\n // Invocation planning is the explicit `exp` / `exp --dry` boundary. Do\n // not move this to catalog, check, debug, teardown, or session reads: those\n // operations must remain migration-free observations.\n const automaticMigration = yield* ensureAutomaticMigration(input);\n const prepared = yield* prepareRuns(input);\n if (prepared.status === \"problem\") {\n return Object.freeze({ ...prepared.problem, automaticMigration });\n }\n const root = recordRoot(input);\n if (Either.isLeft(root))\n return yield* Effect.fail(root.left);\n const config = Object.freeze({\n ...input.config,\n ...(input.config.reporters === undefined\n ? {}\n : { reporters: [...input.config.reporters] }),\n });\n const overrides = Object.freeze({ ...(input.overrides ?? {}) });\n const target = yield* planProjectTarget(prepared.selected.evals, prepared.runs, config.timeoutMs, {\n configJudge: config.judge,\n ...(overrides.keepSandbox === undefined ? {} : { keepSandbox: overrides.keepSandbox }),\n });\n const maxConcurrency = overrides.maxConcurrency\n ?? config.maxConcurrency\n ?? recommendedConcurrencyForPreparedPairs([...target.preparedPairsByKey.values()]);\n const maxBuildConcurrency = overrides.maxBuildConcurrency\n ?? config.maxBuildConcurrency\n ?? 2;\n if (!Number.isInteger(maxConcurrency) || maxConcurrency <= 0) {\n return yield* Effect.fail(new Error(`maxConcurrency must be a positive integer, got ${maxConcurrency}.`));\n }\n if (!Number.isInteger(maxBuildConcurrency) || maxBuildConcurrency <= 0) {\n return yield* Effect.fail(new Error(`maxBuildConcurrency must be a positive integer, got ${maxBuildConcurrency}.`));\n }\n const uniqueEvalIds = new Set(prepared.runs.flatMap((run) => run.selectedEvalIds));\n const totalAttempts = prepared.runs.reduce((sum, run) => sum + run.selectedEvalIds.length * run.attempts, 0);\n const experimentConcurrency = Object.freeze(Object.fromEntries(prepared.runs.flatMap((run) => run.experimentId !== undefined && run.maxConcurrency !== undefined\n ? [[run.experimentId, run.maxConcurrency] as const]\n : [])));\n const shape: ExperimentHostInvocationShape = Object.freeze({\n experiments: prepared.runs.length,\n evals: uniqueEvalIds.size,\n configurations: prepared.runs.length,\n totalAttempts,\n attempts: Math.max(1, ...prepared.runs.map((run) => run.attempts)),\n maxConcurrency,\n maxBuildConcurrency,\n experimentConcurrency,\n });\n const reuse = yield* prepareRunnerRecordReuse({\n evals: prepared.selected.evals,\n runs: prepared.runs,\n config: { timeoutMs: config.timeoutMs },\n plannedFingerprints: target.plannedFingerprints,\n plannedConfigHashes: target.plannedConfigHashes,\n ...(overrides.rerun === undefined ? {} : { rerun: overrides.rerun }),\n ...(overrides.keepSandbox === undefined ? {} : { keepSandbox: overrides.keepSandbox }),\n });\n const previewStartedAt = input.preview === true ? yield* Clock.currentTimeMillis : undefined;\n const preview = previewStartedAt !== undefined\n ? yield* Effect.scoped(withRunnerCurrentReusePreview({\n recordRoot: root.right,\n startedAt: previewStartedAt,\n evals: prepared.selected.evals,\n runs: prepared.runs,\n reuse,\n use: ({ reusePlan, readReadbacks }) => Effect.gen(function* () {\n const readbacks = yield* readReadbacks();\n const now = yield* Clock.currentTimeMillis;\n const pairs = new Map(reusePlan.slots.map((slot) => [\n JSON.stringify([slot.experimentId, slot.evalId]),\n [slot.experimentId, slot.evalId] as const,\n ]));\n const locked = yield* Effect.all([...pairs].map(([key, [experimentId, evalId]]) => readCaseLockEffect(resolve(input.cwd, input.coordinationRoot ?? \".niceeval\"), experimentId, evalId).pipe(Effect.catchAll(() => Effect.succeed(undefined)), Effect.map((record) => record !== undefined && !isCaseLockExpired(record, now) ? key : undefined))), { concurrency: \"unbounded\" });\n return dryPlan(reusePlan.slots, readbacks.map(projectCurrentReuseReadback), locked.filter((key): key is string => key !== undefined), new Map(prepared.selected.evals.flatMap((definition) => definition.evalGroup === undefined\n ? []\n : [[definition.id, {\n id: definition.evalGroup.id,\n index: definition.evalGroup.evalIds.indexOf(definition.id),\n }] as const])));\n }),\n }))\n : undefined;\n const plan = Object.freeze({}) as ExperimentHostInvocationPlan;\n invocationPlans.set(plan, {\n evals: prepared.selected.evals,\n runs: prepared.runs,\n config,\n recordRoot: root.right,\n coordinationRoot: resolve(input.cwd, input.coordinationRoot ?? \".niceeval\"),\n overrides,\n shape,\n consumed: false,\n });\n const occurrenceAudits = new Map<string, ExperimentHostJsonValue>();\n for (const pair of target.preparedPairsByKey.values()) {\n for (const occurrence of pair.plugin.occurrences) {\n const audit = jsonSnapshot(occurrence.audit);\n if (audit !== undefined)\n occurrenceAudits.set(JSON.stringify(audit), audit);\n }\n }\n return Object.freeze({\n status: \"ready\" as const,\n automaticMigration,\n plan,\n shape,\n experimentIds: freezeArray(prepared.runs.map((run) => run.experimentId!)),\n evalIds: freezeArray(uniqueEvalIds),\n pluginAudit: Object.freeze({ occurrences: freezeArray(occurrenceAudits.values()) }),\n ...(preview === undefined ? {} : { dry: preview }),\n });\n }));\n}\nfunction multiplexFeedbackSink(feedback: FeedbackSink | undefined, session: SessionTracker | undefined, isFeedbackStarted: () => boolean): FeedbackSink {\n const forward = <A extends unknown[]>(method: (sink: FeedbackSink, ...args: A) => void, ...args: A): void => {\n if (!isFeedbackStarted() || feedback === undefined)\n return;\n method(feedback, ...args);\n };\n return {\n activity: (detail) => forward((sink, value) => sink.activity(value), detail),\n diagnostic: (input) => forward((sink, value) => sink.diagnostic(value), input),\n interrupted: () => forward((sink) => sink.interrupted()),\n reporterError: (input) => forward((sink, value) => sink.reporterError(value), input),\n failure: (input) => forward((sink, value) => sink.failure(value), input),\n budgetExhausted: (input) => forward((sink, value) => sink.budgetExhausted(value), input),\n kept: (input) => forward((sink, value) => sink.kept(value), input),\n experimentHook: (input) => {\n session?.onInvocationEvent({ type: \"experiment-hook\", ...input });\n forward((sink, value) => sink.experimentHook(value), input);\n },\n precheck: (input) => forward((sink, value) => sink.precheck(value), input),\n lockWait: (input) => {\n session?.onInvocationEvent({ type: \"lock-wait\", ...input });\n forward((sink, value) => sink.lockWait(value), input);\n },\n runActivity: (input) => forward((sink, value) => sink.runActivity(value), input),\n experimentProgress: (input) => forward((sink, value) => sink.experimentProgress(value), input),\n lifecycle: (event) => {\n if (event.type === \"attempt:start\" || event.type === \"attempt:complete\" || event.type === \"attempt:early-exit\") {\n session?.onInvocationEvent(event);\n }\n forward((sink, value) => sink.lifecycle(value), event);\n },\n };\n}\nfunction summaryOf(summary: InvocationSummary): ExperimentHostInvocationSummary {\n return Object.freeze({\n total: summary.passed + summary.failed + summary.skipped + summary.errored,\n passed: summary.passed,\n failed: summary.failed,\n skipped: summary.skipped,\n errored: summary.errored,\n durationMs: summary.durationMs,\n ...(summary.usage?.inputTokens === undefined ? {} : { inputTokens: summary.usage.inputTokens }),\n ...(summary.usage?.outputTokens === undefined ? {} : { outputTokens: summary.usage.outputTokens }),\n ...(summary.estimatedCostUSD === undefined ? {} : { estimatedCostUSD: summary.estimatedCostUSD }),\n });\n}\nexport function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements> {\n return Effect.scoped(closeOperation(\"invocation-run\", Effect.gen(function* () {\n const state = invocationPlans.get(input.plan as object);\n if (state === undefined || state.consumed) {\n return yield* Effect.fail(new Error(\"Experiment Host invocation plan is forged, copied, or already consumed.\"));\n }\n state.consumed = true;\n let completedSummary: InvocationSummary | undefined;\n const reporters = [\n ...(input.junitPath === undefined ? [] : [{\n reporter: JUnit(input.junitPath),\n name: \"junit\",\n required: true,\n target: input.junitPath,\n }]),\n ...(state.config.reporters ?? []).map((reporter, index) => ({\n reporter,\n name: `config-reporter-${index}`,\n required: false,\n })),\n {\n name: \"experiment-host-summary\",\n required: false,\n reporter: { onInvocationComplete(summary: InvocationSummary) { completedSummary = summary; } },\n },\n ];\n // Session indexing is a Host-owned, project-local observation. Runner only\n // receives the private tracker mechanism; this enclosing Scope closes its\n // heartbeat worker on success, typed failure, or interruption.\n const session = new SessionTracker(state.coordinationRoot);\n let sessionClosed = false;\n let feedbackStarted = false;\n let feedbackFinished = false;\n yield* Effect.addFinalizer(() => sessionClosed\n ? Effect.void\n : session.close({ status: \"incomplete\" }).pipe(Effect.ignore));\n yield* Effect.addFinalizer(() => !feedbackStarted || feedbackFinished || input.feedback === undefined\n ? Effect.void\n : Effect.tryPromise({\n try: () => input.feedback!.coordinator.stopDynamic(),\n catch: () => undefined,\n }).pipe(Effect.ignore));\n const feedback = input.feedback?.coordinator;\n const sink = multiplexFeedbackSink(feedback, session, () => feedbackStarted);\n const receipt = yield* Effect.acquireUseRelease(Effect.sync(() => activateFeedbackSink(sink)), () => runEvals({\n config: state.config,\n evals: state.evals,\n agentRuns: state.runs,\n reporters,\n maxConcurrency: state.shape.maxConcurrency,\n maxBuildConcurrency: state.shape.maxBuildConcurrency,\n coordinationRoot: state.coordinationRoot,\n recordRoot: state.recordRoot,\n ...(state.overrides.keepSandbox === undefined ? {} : { keepSandbox: state.overrides.keepSandbox }),\n ...(state.overrides.rerun === undefined ? {} : { rerun: state.overrides.rerun }),\n session,\n ...(input.signal === undefined ? {} : { signal: input.signal }),\n onCurrentRecordReusePlan: (current) => Effect.sync(() => {\n if (feedback === undefined)\n return;\n feedback.start({\n shape: Object.freeze({\n evals: state.shape.evals,\n configs: state.shape.configurations,\n totalAttempts: state.shape.totalAttempts,\n maxConcurrency: state.shape.maxConcurrency,\n runIds: current.runIds,\n }),\n ...(Object.keys(state.shape.experimentConcurrency).length === 0\n ? {}\n : { experimentConcurrency: state.shape.experimentConcurrency }),\n reused: current.reused,\n ...(current.reusedFailures.length === 0\n ? {}\n : { reusedFailures: current.reusedFailures }),\n });\n feedbackStarted = true;\n }),\n }), (deactivate) => Effect.sync(deactivate));\n const summary = completedSummary;\n if (summary === undefined) {\n return yield* Effect.fail(new Error(\"Runner completed without an invocation summary.\"));\n }\n if (feedback !== undefined && !feedbackStarted) {\n return yield* Effect.fail(new Error(\"Runner completed without starting Experiment feedback.\"));\n }\n const completion = feedback === undefined\n ? undefined\n : assembleInvocationCompletion(feedback.state);\n yield* session.close({\n status: completion?.status ?? (receipt.completion === \"completed\"\n ? \"complete\"\n : receipt.completion === \"interrupted\"\n ? \"interrupted\"\n : \"incomplete\"),\n ...(completion === undefined ? {} : { completion }),\n receipt,\n ...(receipt.completedAt === undefined ? {} : { completedAt: receipt.completedAt }),\n });\n sessionClosed = true;\n if (feedback !== undefined && completion !== undefined) {\n yield* Effect.tryPromise({\n try: () => feedback.finish({ summary, completion, receipt }),\n catch: (cause) => cause,\n });\n feedbackFinished = true;\n }\n const foldedStats = completion === undefined ? undefined : foldInvocationEvalStats(summary);\n return Object.freeze({\n status: \"finished\" as const,\n receipt: Object.freeze({\n invocationId: receipt.invocationId,\n runIds: freezeArray(receipt.runIds),\n startedAt: receipt.startedAt,\n ...(receipt.completedAt === undefined ? {} : { completedAt: receipt.completedAt }),\n completion: receipt.completion,\n }),\n summary: summaryOf(summary),\n ...(completion === undefined ? {} : {\n completion,\n exitCode: computeExitCode({\n ...summary,\n failed: foldedStats!.failed,\n errored: foldedStats!.errored,\n }, completion),\n }),\n });\n })));\n}\nfunction freezeRenamePlan(plan: RunnerExperimentRenamePlan): ExperimentHostRenamePlan {\n return Object.freeze({\n status: \"plan\",\n oldId: plan.oldId,\n newId: plan.newId,\n migrations: freezeArray(plan.migrations.map((entry) => Object.freeze({ ...entry }))),\n excluded: freezeArray(plan.excluded.map((entry) => Object.freeze({ ...entry }))),\n ...(plan.blocked === undefined ? {} : { blocked: Object.freeze({\n ...plan.blocked,\n ...(plan.blocked.conflictingEvals === undefined\n ? {}\n : { conflictingEvals: freezeArray(plan.blocked.conflictingEvals) }),\n }) }),\n });\n}\nexport function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"rename-plan\", ensureAutomaticMigration(input).pipe(Effect.zipRight(planExperimentRename(input)), Effect.map(freezeRenamePlan)));\n}\nexport function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"rename-apply\", Effect.gen(function* () {\n yield* ensureAutomaticMigration(input);\n const outcome = yield* Effect.either(renameExperiment(input));\n if (Either.isLeft(outcome)) {\n if (!(outcome.left instanceof ExperimentRenameError))\n return yield* Effect.fail(outcome.left);\n return Object.freeze({\n status: \"rejected\" as const,\n oldId: input.oldId,\n newId: input.newId,\n reason: outcome.left.reason,\n ...(outcome.left.plan?.blocked?.evalId === undefined ? {} : { evalId: outcome.left.plan.blocked.evalId }),\n ...(outcome.left.plan?.blocked?.conflictingEvals === undefined\n ? {}\n : { conflictingEvals: freezeArray(outcome.left.plan.blocked.conflictingEvals) }),\n ...(outcome.left.message === \"\" ? {} : { detail: outcome.left.message }),\n }) satisfies ExperimentHostRenameResult;\n }\n const done = outcome.right;\n return Object.freeze({\n status: \"done\" as const,\n invocationId: done.invocationId,\n runId: done.runId,\n snapshotPath: done.snapshotPath,\n oldId: done.oldId,\n newId: done.newId,\n migrated: freezeArray(done.migrated.map((entry) => Object.freeze({\n evalId: entry.evalId,\n sourceLocator: entry.sourceLocator,\n locator: entry.locator,\n fingerprint: entry.fingerprint,\n verdict: entry.verdict,\n }))),\n }) satisfies ExperimentHostRenameResult;\n }));\n}\nexport function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"accept\", ensureAutomaticMigration(input).pipe(Effect.zipRight(acceptLocators(input)), Effect.map((receipts) => freezeArray(receipts.map((receipt) => Object.freeze({\n invocationId: receipt.invocationId,\n runId: receipt.runId,\n slotId: receipt.slotId,\n locator: receipt.locator,\n sourceLocator: receipt.sourceLocator,\n fingerprint: receipt.fingerprint,\n }))))));\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { Effect } from "effect";
2
+ import { ExperimentHostError } from "./types.cjs";
3
+ import type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostSelectionInput } from "./types.cjs";
4
+ export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
5
+ export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
6
+ /**
7
+ * Report-facing project-current resolution. Discovery, selection, identity
8
+ * planning, and the resulting watch set close here so a CLI never reaches
9
+ * into Runner to reconstruct the same target.
10
+ */
11
+ export declare function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError>;
12
+ /** Session data is intentionally presented as a closed, transient document. */
13
+ export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
14
+ export declare function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
15
+ export declare function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
16
+ export declare function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
17
+ export declare function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
18
+ export declare function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
19
+ export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
@@ -0,0 +1,19 @@
1
+ import { Effect } from "effect";
2
+ import { ExperimentHostError } from "./types.mjs";
3
+ import type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostSelectionInput } from "./types.mjs";
4
+ export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
5
+ export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
6
+ /**
7
+ * Report-facing project-current resolution. Discovery, selection, identity
8
+ * planning, and the resulting watch set close here so a CLI never reaches
9
+ * into Runner to reconstruct the same target.
10
+ */
11
+ export declare function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError>;
12
+ /** Session data is intentionally presented as a closed, transient document. */
13
+ export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
14
+ export declare function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
15
+ export declare function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
16
+ export declare function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
17
+ export declare function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
18
+ export declare function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
19
+ export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
@@ -0,0 +1,19 @@
1
+ import { Effect } from "effect";
2
+ import { ExperimentHostError } from "./types.js";
3
+ import type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostSelectionInput } from "./types.js";
4
+ export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
5
+ export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
6
+ /**
7
+ * Report-facing project-current resolution. Discovery, selection, identity
8
+ * planning, and the resulting watch set close here so a CLI never reaches
9
+ * into Runner to reconstruct the same target.
10
+ */
11
+ export declare function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError>;
12
+ /** Session data is intentionally presented as a closed, transient document. */
13
+ export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
14
+ export declare function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
15
+ export declare function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
16
+ export declare function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
17
+ export declare function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
18
+ export declare function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
19
+ export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
@@ -0,0 +1,24 @@
1
+ import { createRequire as __niceevalCreateRequire } from "node:module";
2
+ const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
3
+ const __niceevalCanonical = __niceevalRequire("./operations.cjs");
4
+ const __niceevalExport0 = __niceevalCanonical["accept"];
5
+ export { __niceevalExport0 as accept };
6
+ const __niceevalExport1 = __niceevalCanonical["applyRename"];
7
+ export { __niceevalExport1 as applyRename };
8
+ const __niceevalExport2 = __niceevalCanonical["catalog"];
9
+ export { __niceevalExport2 as catalog };
10
+ const __niceevalExport3 = __niceevalCanonical["check"];
11
+ export { __niceevalExport3 as check };
12
+ const __niceevalExport4 = __niceevalCanonical["listInvocationStatus"];
13
+ export { __niceevalExport4 as listInvocationStatus };
14
+ const __niceevalExport5 = __niceevalCanonical["planInvocation"];
15
+ export { __niceevalExport5 as planInvocation };
16
+ const __niceevalExport6 = __niceevalCanonical["planRename"];
17
+ export { __niceevalExport6 as planRename };
18
+ const __niceevalExport7 = __niceevalCanonical["resolveProjectCurrentTarget"];
19
+ export { __niceevalExport7 as resolveProjectCurrentTarget };
20
+ const __niceevalExport8 = __niceevalCanonical["runInvocation"];
21
+ export { __niceevalExport8 as runInvocation };
22
+ const __niceevalExport9 = __niceevalCanonical["showInvocationStatus"];
23
+ export { __niceevalExport9 as showInvocationStatus };
24
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sources":[],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assembleInvocationCompletion = assembleInvocationCompletion;
4
+ exports.foldInvocationEvalStats = foldInvocationEvalStats;
5
+ const verdict_ts_1 = require("../../shared/verdict.cjs");
6
+ /**
7
+ * Fold the one feedback reducer state into the Invocation completeness fact.
8
+ * Renderers and CLI commands consume this result; none of them reclassifies
9
+ * diagnostics independently.
10
+ */
11
+ function assembleInvocationCompletion(state) {
12
+ let unstarted = 0;
13
+ let failFastSkipped = 0;
14
+ let haltedSkipped = 0;
15
+ let interrupted = false;
16
+ const reporterErrors = [];
17
+ for (const diagnostic of state.diagnostics) {
18
+ const code = diagnostic.code ?? diagnostic.key.split(":", 1)[0];
19
+ if (code === "interrupted") {
20
+ interrupted = true;
21
+ }
22
+ else if (code === "budget-exhausted") {
23
+ unstarted += diagnostic.count;
24
+ }
25
+ else if (code === "fail-fast") {
26
+ unstarted += diagnostic.count;
27
+ failFastSkipped += diagnostic.count;
28
+ }
29
+ else if (code === "dispatch-halted") {
30
+ const halted = typeof diagnostic.data?.unstarted === "number"
31
+ ? diagnostic.data.unstarted
32
+ : 0;
33
+ unstarted += halted;
34
+ haltedSkipped += halted;
35
+ }
36
+ else if (code === "reporter-error" && diagnostic.data?.required === true) {
37
+ reporterErrors.push(Object.freeze({
38
+ reporter: typeof diagnostic.data.reporter === "string"
39
+ ? diagnostic.data.reporter
40
+ : diagnostic.key.slice("reporter-error:".length),
41
+ required: true,
42
+ message: diagnostic.message,
43
+ }));
44
+ }
45
+ }
46
+ if (interrupted)
47
+ unstarted += state.queued;
48
+ const earlyExitUnstarted = Math.max(0, state.earlyExitSkipped - failFastSkipped - haltedSkipped);
49
+ const status = interrupted
50
+ ? "interrupted"
51
+ : unstarted > 0 || reporterErrors.length > 0
52
+ ? "incomplete"
53
+ : "complete";
54
+ return Object.freeze({
55
+ status,
56
+ unstarted,
57
+ earlyExitUnstarted,
58
+ reporterErrors: Object.freeze(reporterErrors),
59
+ });
60
+ }
61
+ /** Fresh results and current Record readbacks share one Eval-level exit fold. */
62
+ function foldInvocationEvalStats(summary) {
63
+ const terminals = [
64
+ ...summary.results.map((result) => Object.freeze({
65
+ identity: `${result.experimentId ?? ""}|${result.id}`,
66
+ verdict: result.verdict,
67
+ })),
68
+ ...summary.reusedAttempts.map((readback) => Object.freeze({
69
+ identity: `${readback.target.experimentId}|${readback.target.evalId}`,
70
+ verdict: readback.source.evaluationKind !== "score"
71
+ ? readback.verdict
72
+ : readback.score.state === "applicable" &&
73
+ readback.score.attachment.state === "available" &&
74
+ readback.score.attachment.value.state === "complete"
75
+ ? "passed"
76
+ : "errored",
77
+ })),
78
+ ];
79
+ return (0, verdict_ts_1.evalLevelStats)(terminals, (terminal) => terminal.identity);
80
+ }
81
+ //# sourceMappingURL=presentation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation.js","sourceRoot":"","sources":["presentation.ts"],"names":[],"mappings":"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","sourcesContent":["import { evalLevelStats } from \"../../shared/verdict.ts\";\nimport type { CompletionStatus, InvocationCompletion, InvocationSummary, ReporterError, RunFeedbackState, } from \"../../runner/types.ts\";\n/**\n * Fold the one feedback reducer state into the Invocation completeness fact.\n * Renderers and CLI commands consume this result; none of them reclassifies\n * diagnostics independently.\n */\nexport function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion {\n let unstarted = 0;\n let failFastSkipped = 0;\n let haltedSkipped = 0;\n let interrupted = false;\n const reporterErrors: ReporterError[] = [];\n for (const diagnostic of state.diagnostics) {\n const code = diagnostic.code ?? diagnostic.key.split(\":\", 1)[0];\n if (code === \"interrupted\") {\n interrupted = true;\n }\n else if (code === \"budget-exhausted\") {\n unstarted += diagnostic.count;\n }\n else if (code === \"fail-fast\") {\n unstarted += diagnostic.count;\n failFastSkipped += diagnostic.count;\n }\n else if (code === \"dispatch-halted\") {\n const halted = typeof diagnostic.data?.unstarted === \"number\"\n ? diagnostic.data.unstarted\n : 0;\n unstarted += halted;\n haltedSkipped += halted;\n }\n else if (code === \"reporter-error\" && diagnostic.data?.required === true) {\n reporterErrors.push(Object.freeze({\n reporter: typeof diagnostic.data.reporter === \"string\"\n ? diagnostic.data.reporter\n : diagnostic.key.slice(\"reporter-error:\".length),\n required: true,\n message: diagnostic.message,\n }));\n }\n }\n if (interrupted)\n unstarted += state.queued;\n const earlyExitUnstarted = Math.max(0, state.earlyExitSkipped - failFastSkipped - haltedSkipped);\n const status: CompletionStatus = interrupted\n ? \"interrupted\"\n : unstarted > 0 || reporterErrors.length > 0\n ? \"incomplete\"\n : \"complete\";\n return Object.freeze({\n status,\n unstarted,\n earlyExitUnstarted,\n reporterErrors: Object.freeze(reporterErrors),\n });\n}\n/** Fresh results and current Record readbacks share one Eval-level exit fold. */\nexport function foldInvocationEvalStats(summary: Pick<InvocationSummary, \"results\" | \"reusedAttempts\">) {\n const terminals = [\n ...summary.results.map((result) => Object.freeze({\n identity: `${result.experimentId ?? \"\"}|${result.id}`,\n verdict: result.verdict,\n })),\n ...summary.reusedAttempts.map((readback) => Object.freeze({\n identity: `${readback.target.experimentId}|${readback.target.evalId}`,\n verdict: readback.source.evaluationKind !== \"score\"\n ? readback.verdict\n : readback.score.state === \"applicable\" &&\n readback.score.attachment.state === \"available\" &&\n readback.score.attachment.value.state === \"complete\"\n ? \"passed\" as const\n : \"errored\" as const,\n })),\n ];\n return evalLevelStats(terminals, (terminal) => terminal.identity);\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { InvocationCompletion, InvocationSummary, RunFeedbackState } from "../../runner/types.cjs";
2
+ /**
3
+ * Fold the one feedback reducer state into the Invocation completeness fact.
4
+ * Renderers and CLI commands consume this result; none of them reclassifies
5
+ * diagnostics independently.
6
+ */
7
+ export declare function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion;
8
+ /** Fresh results and current Record readbacks share one Eval-level exit fold. */
9
+ export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("../../shared/verdict.cjs").EvalLevelStats;
@@ -0,0 +1,9 @@
1
+ import type { InvocationCompletion, InvocationSummary, RunFeedbackState } from "../../runner/types.mjs";
2
+ /**
3
+ * Fold the one feedback reducer state into the Invocation completeness fact.
4
+ * Renderers and CLI commands consume this result; none of them reclassifies
5
+ * diagnostics independently.
6
+ */
7
+ export declare function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion;
8
+ /** Fresh results and current Record readbacks share one Eval-level exit fold. */
9
+ export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("../../shared/verdict.mjs").EvalLevelStats;
@@ -0,0 +1,9 @@
1
+ import type { InvocationCompletion, InvocationSummary, RunFeedbackState } from "../../runner/types.js";
2
+ /**
3
+ * Fold the one feedback reducer state into the Invocation completeness fact.
4
+ * Renderers and CLI commands consume this result; none of them reclassifies
5
+ * diagnostics independently.
6
+ */
7
+ export declare function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion;
8
+ /** Fresh results and current Record readbacks share one Eval-level exit fold. */
9
+ export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("../../shared/verdict.js").EvalLevelStats;
@@ -0,0 +1,8 @@
1
+ import { createRequire as __niceevalCreateRequire } from "node:module";
2
+ const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
3
+ const __niceevalCanonical = __niceevalRequire("./presentation.cjs");
4
+ const __niceevalExport0 = __niceevalCanonical["assembleInvocationCompletion"];
5
+ export { __niceevalExport0 as assembleInvocationCompletion };
6
+ const __niceevalExport1 = __niceevalCanonical["foldInvocationEvalStats"];
7
+ export { __niceevalExport1 as foldInvocationEvalStats };
8
+ //# sourceMappingURL=presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation.js","sources":[],"names":[],"mappings":""}