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
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["runtime.ts"],"names":[],"mappings":"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","sourcesContent":["// ProviderModule 的唯一运行入口:core 只调用 plan 私绑的闭包,不解释 adapter 名或 JSON runtime input。\nimport { randomUUID } from \"node:crypto\";\nimport { Data, Effect, Option, type Scope } from \"effect\";\nimport type { ProvisionSlot } from \"./retry.ts\";\nimport { withProvisionRetry } from \"./retry.ts\";\nimport type { MaterializedSandboxCase, SandboxResourceGroup, ServiceController, } from \"./case-types.ts\";\nimport { collectComposeBuilds, composeCollectionIdentity, dockerComposeBuildProvider, materializeDockerComposeProviderCase, normalizeBuildPlatform, } from \"./compose.ts\";\nimport { collectDockerfileBuildFromIdentity, dockerfileBuildProvider } from \"./dockerfile-build.ts\";\nimport { DockerfileAgentImageCoordinator, isDockerfileAgentCacheSafeInstaller, type DockerfileAgentCacheRequest, type DockerfileAgentDerivedImageBuildInput, } from \"./dockerfile-agent-cache.ts\";\nimport type { SandboxBuildProvider, SandboxBuildWork } from \"./build-coordinator.ts\";\nimport { customSandboxBackend, providerBoundaryEffect, type SandboxProviderBackend, } from \"./backend.ts\";\nimport { normalizeSandboxPaths } from \"./paths.ts\";\nimport { registerSandbox, unregisterSandbox } from \"./registry.ts\";\nimport { currentRunIdentity } from \"./run-identity.ts\";\nimport { sandboxProviderBindingOf, type SandboxProviderBinding, type CustomCaseProviderPlan, type CustomCaseMaterializeResult, type CustomCaseSandboxOptions, type CustomCaseServices, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type LocalProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan, } from \"./layer.ts\";\nimport { digestOf, isPureDataIdentity, type BuildKey } from \"./identity.ts\";\nimport type { LinkedRunPlan } from \"./plan.ts\";\nimport { ArtifactPrepareCoordinator, platformKey, runAgentEnsure } from \"../agents/provisioner.ts\";\nimport { CLEANUP_TIMEOUT_MS, cleanupCallback } from \"../runner/cleanup-timeout.ts\";\nimport type { JsonValue, Sandbox, SandboxHook, SandboxHookContext, ScopedFeedback } from \"../types.ts\";\nimport type { AgentIdentity, SandboxAgent } from \"../agents/types.ts\";\nimport type { DockerSandbox } from \"./docker.ts\";\nimport type { E2BSandboxLifetime } from \"./e2b.ts\";\nimport { acquireDockerProfileReservation, commitDockerProfileReservation, createDockerProfileLease, releaseDockerProfileReservation, type DockerProfileLease, type DockerProfileRuntimeBinding, } from \"./docker-profile/runtime.ts\";\nexport type SandboxRuntimeDeadline = SandboxRuntimeDeadlineDeclaration;\n/** Scope 退出时的唯一释放协议;不以 optional callback 或 boolean 表达所有权。 */\nexport type SandboxRuntimeRelease = {\n readonly _tag: \"Stop\";\n} | {\n readonly _tag: \"Managed\";\n readonly run: (owned: MaterializedSandboxCase) => Effect.Effect<void>;\n};\nexport interface SandboxRuntimeMaterializeInput {\n readonly plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n }>;\n readonly evalId: string;\n readonly deadline: SandboxRuntimeDeadline;\n readonly feedback: ScopedFeedback;\n readonly signal: AbortSignal;\n /** 物理实例 hook 的完成态上下文;由 fresh attempt 或 reuse pool 在创建边界绑定。 */\n readonly hookContext: SandboxHookContext;\n readonly buildLocators: ReadonlyMap<BuildKey, JsonValue>;\n readonly provisionSlot: {\n readonly _tag: \"Detached\";\n } | {\n readonly _tag: \"Bound\";\n readonly value: ProvisionSlot;\n };\n readonly services: SandboxRuntimeServices;\n /** Internal runner input; only Dockerfile provider consumes the staged cache opt-in. */\n readonly agent?: SandboxAgent;\n /** Invocation-level timing tree for derived Dockerfile Agent image lookup/build. */\n readonly runTiming?: import(\"../runner/timing.ts\").RunTimingRecorder;\n readonly release: SandboxRuntimeRelease;\n}\n/** ProviderModule 闭包收到的完整上下文;公开 plan 只提供中性 identity/scheduling 元数据。 */\nexport type SandboxRuntimeMaterializeContext = Omit<SandboxRuntimeMaterializeInput, \"release\">;\nexport type SandboxRuntimeServices = {\n readonly _tag: \"Live\";\n} | {\n readonly _tag: \"Test\";\n readonly materializeCompose: typeof materializeDockerComposeProviderCase;\n};\nexport const liveSandboxRuntimeServices: SandboxRuntimeServices = Object.freeze({ _tag: \"Live\" });\nconst dockerfileAgentImageCoordinator = new DockerfileAgentImageCoordinator({\n imageExists: defaultDockerImageExists,\n});\nexport interface SandboxRuntimeCapabilities {\n readonly provider: string;\n readonly schedulingLane: string;\n readonly admission: \"Shared\" | \"Exclusive\";\n readonly retention: SandboxProviderCapabilities[\"retention\"];\n readonly reuse: SandboxProviderCapabilities[\"reuse\"];\n readonly sessionLimit: SandboxProviderCapabilities[\"sessionLimit\"];\n}\nexport interface SandboxRuntimeBuildPreparation {\n readonly works: readonly SandboxBuildWork[];\n readonly provider: SandboxBuildProvider;\n}\nexport class SandboxRuntimeMaterializationError extends Data.TaggedError(\"SandboxRuntimeMaterializationError\")<{\n readonly code: \"sandbox.provider-binding-missing\" | \"sandbox.build-input-drift\" | \"sandbox.build-locator-missing\" | \"sandbox.materialization-failed\";\n readonly provider: string;\n readonly message: string;\n readonly cause: Error;\n}> {\n}\nfunction runtimeFailure(context: SandboxRuntimeMaterializeContext, code: SandboxRuntimeMaterializationError[\"code\"], cause: unknown): SandboxRuntimeMaterializationError {\n const error = cause instanceof Error ? cause : new Error(String(cause));\n return new SandboxRuntimeMaterializationError({\n code,\n provider: context.plan.providerPlan.provider,\n message: error.message,\n cause: error,\n });\n}\nfunction buildFailure(plan: SandboxProviderPlan, code: SandboxRuntimeMaterializationError[\"code\"], cause: unknown): SandboxRuntimeMaterializationError {\n const error = cause instanceof Error ? cause : new Error(String(cause));\n return new SandboxRuntimeMaterializationError({\n code,\n provider: plan.provider,\n message: error.message,\n cause: error,\n });\n}\nfunction providerBinding(plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n}>): Effect.Effect<SandboxProviderBinding, SandboxRuntimeMaterializationError> {\n const binding = sandboxProviderBindingOf(plan.providerPlan);\n return Option.match(binding, {\n onNone: () => Effect.fail(new SandboxRuntimeMaterializationError({\n code: \"sandbox.provider-binding-missing\",\n provider: plan.providerPlan.provider,\n message: `Sandbox provider plan ${JSON.stringify(plan.providerPlan.provider)} was not created by its bound ProviderModule.`,\n cause: new Error(\"provider module binding missing\"),\n })),\n onSome: Effect.succeed,\n });\n}\nfunction deadlineOptions(deadline: SandboxRuntimeDeadline): {\n readonly timeout?: number;\n readonly deadlineAt?: number;\n} {\n return deadline._tag === \"Unlimited\"\n ? {}\n : { timeout: deadline.timeoutMs, deadlineAt: deadline.deadlineAt };\n}\nfunction configuredLifetime(value: SandboxProviderLifetime): number | undefined {\n return value._tag === \"Configured\" ? value.milliseconds : undefined;\n}\nasync function managedContainerSession(binding: DockerProfileRuntimeBinding, resources: Readonly<import(\"./layer.ts\").DockerSandboxResources>): Promise<{\n readonly lease: DockerProfileLease;\n readonly reservation: import(\"./docker-profile/runtime.ts\").DockerProfileReservation;\n readonly labels: Readonly<Record<string, string>>;\n readonly finish: () => Promise<void>;\n}> {\n const lease = await createDockerProfileLease(binding);\n try {\n const reservation = await acquireDockerProfileReservation(lease, \"container\", {\n cpus: resources.cpus ?? 0,\n memoryBytes: resources.memoryBytes ?? 0,\n pids: resources.pidsLimit ?? 0,\n containers: 1,\n });\n const labels = Object.freeze({\n \"niceeval.profile-id\": binding.profile.profileId,\n \"niceeval.invocation-id\": lease.invocationId,\n \"niceeval.reservation-id\": reservation.reservationId,\n \"niceeval.provision-token\": reservation.provisionToken,\n });\n let finished = false;\n return {\n lease,\n reservation,\n labels,\n finish: async () => {\n if (finished)\n return;\n finished = true;\n try {\n await releaseDockerProfileReservation(lease, reservation.reservationId);\n }\n finally {\n await lease.stopHeartbeat();\n }\n },\n };\n }\n catch (error) {\n await lease.stopHeartbeat().catch(() => undefined);\n throw error;\n }\n}\n/**\n * E2B 的 SDK 默认 TTL 不是 attempt 时限的一个来源。bounded attempt 在创建时必须把\n * deadline 加收尾预留写进 provider;作者另有声明时,它是上限承诺而不是可被静默加长的 hint。\n */\nexport function e2bLifetimeRequest(lifetime: SandboxProviderLifetime, deadline: SandboxRuntimeDeadline): E2BSandboxLifetime {\n const declared = configuredLifetime(lifetime);\n if (deadline._tag === \"Unlimited\") {\n return declared === undefined\n ? { _tag: \"ProviderDefault\" }\n : { _tag: \"Requested\", milliseconds: declared, source: \"explicit\" };\n }\n const required = deadline.timeoutMs + CLEANUP_TIMEOUT_MS;\n if (declared !== undefined) {\n if (declared < required) {\n throw new Error(`e2bSandbox lifetimeMs=${declared}ms is shorter than this attempt's required ${required}ms ` +\n `(timeoutMs=${deadline.timeoutMs}ms plus cleanup reserve ${CLEANUP_TIMEOUT_MS}ms). ` +\n \"Increase lifetimeMs or lower timeoutMs; niceeval will not silently lengthen a declared sandbox lifetime.\");\n }\n return { _tag: \"Requested\", milliseconds: declared, source: \"explicit\" };\n }\n return { _tag: \"Requested\", milliseconds: required, source: \"attempt-deadline\" };\n}\nfunction boundProvisionSlot(context: SandboxRuntimeMaterializeContext): ProvisionSlot | undefined {\n return context.provisionSlot._tag === \"Bound\" ? context.provisionSlot.value : undefined;\n}\nfunction wrapSingleSandbox(backend: SandboxProviderBackend, context: SandboxRuntimeMaterializeContext, facts: JsonValue): MaterializedSandboxCase {\n const provider = context.plan.providerPlan.provider;\n const sandbox = normalizeSandboxPaths(backend, provider);\n registerSandbox(sandbox);\n let stopped = false;\n let stopping: Promise<void> | undefined;\n const group: SandboxResourceGroup = {\n primary: { sandboxId: sandbox.sandboxId, provider },\n resources: { kind: \"single\", provider, sandboxId: sandbox.sandboxId },\n async stop() {\n if (stopped)\n return;\n if (stopping !== undefined)\n return stopping;\n const pending = (async () => {\n // runtime 的 finalizer 通过 providerBoundaryEffect(group.stop) 执行这条 provider Promise;\n // 不要从内部反向启动 Sandbox 的外层运行时。\n await backend.stop();\n stopped = true;\n unregisterSandbox(sandbox);\n })();\n stopping = pending;\n try {\n await pending;\n }\n finally {\n // stop 失败回到 Open,保留 registry 所有权;成功则进入不可逆的 Stopped。\n if (stopping === pending)\n stopping = undefined;\n }\n },\n };\n return Object.freeze({\n sandbox,\n authorBackend: backend,\n group,\n caseKind: context.plan.providerPlan.caseKind,\n caseKey: context.plan.providerPlan.build.caseKey,\n buildKeys: context.plan.providerPlan.build.buildKeys,\n identity: context.plan.providerPlan.identity,\n facts,\n });\n}\nfunction normalizeMaterialized(materialized: MaterializedSandboxCase, context: SandboxRuntimeMaterializeContext): MaterializedSandboxCase {\n const sandbox = normalizeSandboxPaths(customSandboxBackend(materialized.sandbox), context.plan.providerPlan.provider);\n registerSandbox(sandbox);\n let stopped = false;\n let stopping: Promise<void> | undefined;\n const group: SandboxResourceGroup = {\n ...materialized.group,\n async stop() {\n if (stopped)\n return;\n if (stopping !== undefined)\n return stopping;\n const pending = (async () => {\n await materialized.group.stop();\n stopped = true;\n unregisterSandbox(sandbox);\n })();\n stopping = pending;\n try {\n await pending;\n }\n finally {\n // 失败回 Open 并保留 registry 所有权,让同轮强清或 orphan 恢复链真正重试。\n if (stopping === pending)\n stopping = undefined;\n }\n },\n };\n return Object.freeze({ ...materialized, sandbox, group });\n}\nfunction materializationEffect<R>(context: SandboxRuntimeMaterializeContext, acquire: Effect.Effect<MaterializedSandboxCase, unknown, R>): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError, R> {\n return acquire.pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause)));\n}\nexport function materializeDockerComposeProviderPlan(plan: DockerComposeProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError, Scope.Scope> {\n const materialize = context.services._tag === \"Live\"\n ? materializeDockerComposeProviderCase\n : context.services.materializeCompose;\n return materializationEffect(context, materialize({\n evalId: context.evalId,\n profile: context.evalId,\n mainService: plan.workspaceService,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n env: plan.env,\n pathPrepend: plan.pathPrepend,\n collection: plan.collection,\n caseKey: context.plan.providerPlan.build.caseKey,\n identity: context.plan.providerPlan.identity,\n }, {\n ctx: {\n evalId: context.evalId,\n profile: context.evalId,\n signal: context.signal,\n buildLocators: context.buildLocators,\n },\n ...deadlineOptions(context.deadline),\n feedback: context.feedback,\n provisionSlot: boundProvisionSlot(context),\n lifetimeMs: configuredLifetime(plan.lifetime),\n }).pipe(Effect.map((materialized) => normalizeMaterialized(materialized, context))));\n}\nexport function materializeDockerfileProviderPlan(plan: DockerfileProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return Option.match(Option.fromNullable(context.buildLocators.get(plan.buildKey)), {\n onNone: () => Effect.fail(runtimeFailure(context, \"sandbox.build-locator-missing\", new Error(`Dockerfile build ${plan.buildKey} has no prepared locator.`))),\n onSome: (locator) => typeof locator !== \"string\"\n ? Effect.fail(runtimeFailure(context, \"sandbox.materialization-failed\", new TypeError(`Dockerfile build locator for ${plan.buildKey} must be a string.`)))\n : Effect.flatMap(resolveDockerfileAgentImage(plan, context, locator).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))), (resolved) => materializationEffect(context, Effect.gen(function* () {\n const { DockerSandbox, classifyProvisionError, reconcileProvision } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./docker.cjs\"));\n const managed = plan.profileBinding === undefined\n ? undefined\n : yield* providerBoundaryEffect(() => managedContainerSession(plan.profileBinding!, plan.resources));\n const provisionToken = managed?.reservation.provisionToken ?? randomUUID();\n return yield* Effect.gen(function* () {\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => DockerSandbox.create({\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n image: resolved.locator,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n privileged: plan.privileged,\n ...(plan.dockerAccess === undefined ? {} : { dockerAccess: plan.dockerAccess }),\n resources: plan.resources,\n ...(plan.readiness === undefined ? {} : { readiness: plan.readiness }),\n lifetimeMs: configuredLifetime(plan.lifetime),\n pathPrepend: plan.pathPrepend,\n feedback: context.feedback,\n provisionToken,\n runIdentity: currentRunIdentity(),\n ...(plan.profileBinding === undefined ? {} : {\n dockerSocketPath: plan.profileBinding.dockerSocketPath,\n dns: plan.profileBinding.profile.policy.network.dns.servers,\n managedLabels: managed?.labels,\n rootlessAttestation: {\n daemonId: plan.profileBinding.daemonId,\n dataRoot: plan.profileBinding.profile.backend.filesystem.dockerRootDir,\n },\n afterStop: managed?.finish,\n }),\n })), classifyProvisionError, boundProvisionSlot(context), context.feedback, providerBoundaryEffect(() => reconcileProvision(provisionToken, plan.profileBinding?.dockerSocketPath)));\n if (managed !== undefined) {\n yield* providerBoundaryEffect(() => commitDockerProfileReservation(managed.lease, managed.reservation.reservationId, {\n containerId: backend.sandboxId,\n ...(backend.managedNetworkId === undefined ? {} : { networkId: backend.managedNetworkId }),\n attemptId: context.evalId,\n }));\n }\n return wrapSingleSandbox(backend, context, { image: resolved.locator });\n }).pipe(Effect.onError(() => managed === undefined\n ? Effect.void\n : providerBoundaryEffect(() => managed.finish()).pipe(Effect.ignore)));\n }))),\n });\n}\nfunction defaultDockerImageExists(locator: string): Effect.Effect<boolean> {\n // dockerode 是 optional peer;只在 Dockerfile Agent 缓存路径真查镜像时加载。\n // 缺少 peer、daemon 不可用和镜像不存在在此 lookup 的语义里都只是 cache miss。\n return providerBoundaryEffect(async () => {\n const { default: Docker } = await __niceevalDynamicImport(\"dockerode\");\n await new Docker().getImage(locator).inspect();\n return true;\n }).pipe(Effect.catchAll(() => Effect.succeed(false)));\n}\nfunction resolveDockerfileAgentImage(plan: DockerfileProviderPlan, context: SandboxRuntimeMaterializeContext, taskLocator: string): Effect.Effect<{\n readonly status: \"hit\" | \"built\" | \"unsupported\";\n readonly locator: string;\n}, Error> {\n // Derived Agent image coordination is still bound to the default Docker endpoint.\n // A profile Dockerfile must never cross daemons, so consume the task image directly.\n if (plan.profileBinding !== undefined || plan.dockerAccess !== undefined) {\n return Effect.succeed({ status: \"unsupported\", locator: taskLocator });\n }\n const request = dockerfileAgentCacheRequest(plan, context.agent, taskLocator, context.plan.providerPlan.target.platform);\n if (request === undefined)\n return Effect.succeed({ status: \"unsupported\", locator: taskLocator });\n return dockerfileAgentImageCoordinator.resolve(request, context.signal, (input, signal) => buildDockerfileAgentImage(input, request, context.plan.providerPlan.target.platform, signal), context.runTiming);\n}\nfunction dockerfileAgentCacheRequest(plan: DockerfileProviderPlan, agent: SandboxAgent | undefined, taskLocator: string, targetPlatform: import(\"../agents/types.ts\").AgentArtifactPlatform): DockerfileAgentCacheRequest | undefined {\n if (agent === undefined || agent.ensure.length !== 1)\n return undefined;\n const ensure = agent.ensure[0];\n if (ensure === undefined)\n return undefined;\n const installer = agent.installers.find((candidate) => candidate.installMode === \"staged\" &&\n isDockerfileAgentCacheSafeInstaller(candidate) &&\n sameAgentIdentity(candidate.identity, ensure.identity));\n if (installer === undefined)\n return undefined;\n return {\n taskLocator,\n platform: `${plan.platform}|${platformKey(targetPlatform)}`,\n ensure,\n installer,\n };\n}\nfunction sameAgentIdentity(a: AgentIdentity, b: AgentIdentity): boolean {\n return a.agent === b.agent && a.version === b.version && a.revision === b.revision;\n}\nfunction buildDockerfileAgentImage(input: DockerfileAgentDerivedImageBuildInput, request: DockerfileAgentCacheRequest, targetPlatform: import(\"../agents/types.ts\").AgentArtifactPlatform, signal: AbortSignal): Effect.Effect<void, Error> {\n return buildDockerfileAgentImageWithServices(input, request, targetPlatform, signal);\n}\nexport interface DockerfileAgentImageProvisionSandbox {\n readonly operations: import(\"./types.ts\").SandboxOperations;\n readonly sandboxId: string;\n stop(): Promise<void>;\n}\nexport interface DockerfileAgentImageProvisionServices {\n readonly create: (taskLocator: string) => Effect.Effect<DockerfileAgentImageProvisionSandbox, Error>;\n readonly commit: (sandboxId: string, derivedLocator: string) => Effect.Effect<void, Error>;\n}\nconst liveDockerfileAgentImageProvisionServices: DockerfileAgentImageProvisionServices = Object.freeze({\n create: (taskLocator: string) => providerBoundaryEffect(async () => {\n const { DockerSandbox } = await __niceevalDynamicImport(\"./docker.cjs\");\n const sandbox = await DockerSandbox.create({ image: taskLocator, runtime: \"node24\" });\n return { operations: sandbox, sandboxId: sandbox.sandboxId, stop: () => sandbox.stop() };\n }),\n commit: (sandboxId: string, derivedLocator: string) => providerBoundaryEffect(async () => {\n // dockerode 是 optional peer;commit 派生镜像时才加载(与 keep/orphans 同模式)。\n const { default: Docker } = await __niceevalDynamicImport(\"dockerode\");\n await new Docker().getContainer(sandboxId).commit(dockerCommitReference(derivedLocator));\n }),\n});\n/** Dockerode 的 commit 参数把仓库与 tag 分开;不能把 `repo:tag` 整串塞进 repo。 */\nexport function dockerCommitReference(locator: string): {\n readonly repo: string;\n readonly tag?: string;\n} {\n const slash = locator.lastIndexOf(\"/\");\n const colon = locator.lastIndexOf(\":\");\n if (colon > slash) {\n return { repo: locator.slice(0, colon), tag: locator.slice(colon + 1) };\n }\n return { repo: locator };\n}\nexport function buildDockerfileAgentImageWithServices(input: DockerfileAgentDerivedImageBuildInput, request: DockerfileAgentCacheRequest, targetPlatform: import(\"../agents/types.ts\").AgentArtifactPlatform, signal: AbortSignal, services: DockerfileAgentImageProvisionServices = liveDockerfileAgentImageProvisionServices): Effect.Effect<void, Error> {\n return Effect.scoped(Effect.gen(function* () {\n // AbortSignal 属于外层 invocation 的中断语义;绝不伪造为一个 typed provisioning error。\n if (signal.aborted)\n return yield* Effect.interrupt;\n const provisioned = yield* Effect.acquireRelease(services.create(input.taskLocator), \n // acquireRelease finalizer 必须是 never-fail。这里仍尝试真实 stop;它失败时保留原有\n // build cause,而不是在 cleanup 路径把 interruption/defect 改写成 typed failure。\n (sandbox) => providerBoundaryEffect(() => sandbox.stop()).pipe(Effect.catchAll(() => Effect.void)));\n yield* runAgentEnsure([request.ensure], [request.installer], provisioned.operations, {\n coordinator: Option.some(new ArtifactPrepareCoordinator()),\n targetPlatform,\n signal,\n progress: () => { },\n });\n yield* services.commit(provisioned.sandboxId, input.derivedLocator);\n }));\n}\nexport function materializeDockerImageProviderPlan(plan: DockerImageProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return materializationEffect(context, Effect.gen(function* () {\n const { DockerSandbox, classifyProvisionError, reconcileProvision } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./docker.cjs\"));\n const managed = plan.profileBinding === undefined\n ? undefined\n : yield* providerBoundaryEffect(() => managedContainerSession(plan.profileBinding!, plan.resources));\n const provisionToken = managed?.reservation.provisionToken ?? randomUUID();\n return yield* Effect.gen(function* () {\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => DockerSandbox.create({\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n image: plan.image,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n privileged: plan.privileged,\n ...(plan.dockerAccess === undefined ? {} : { dockerAccess: plan.dockerAccess }),\n resources: plan.resources,\n ...(plan.readiness === undefined ? {} : { readiness: plan.readiness }),\n lifetimeMs: configuredLifetime(plan.lifetime),\n pathPrepend: plan.pathPrepend,\n feedback: context.feedback,\n provisionToken,\n runIdentity: currentRunIdentity(),\n ...(plan.profileBinding === undefined ? {} : {\n dockerSocketPath: plan.profileBinding.dockerSocketPath,\n dns: plan.profileBinding.profile.policy.network.dns.servers,\n managedLabels: managed?.labels,\n rootlessAttestation: {\n daemonId: plan.profileBinding.daemonId,\n dataRoot: plan.profileBinding.profile.backend.filesystem.dockerRootDir,\n },\n afterStop: managed?.finish,\n }),\n })), classifyProvisionError, boundProvisionSlot(context), context.feedback, providerBoundaryEffect(() => reconcileProvision(provisionToken, plan.profileBinding?.dockerSocketPath)));\n if (managed !== undefined) {\n yield* providerBoundaryEffect(() => commitDockerProfileReservation(managed.lease, managed.reservation.reservationId, {\n containerId: backend.sandboxId,\n ...(backend.managedNetworkId === undefined ? {} : { networkId: backend.managedNetworkId }),\n attemptId: context.evalId,\n }));\n }\n return wrapSingleSandbox(backend, context, { image: plan.image });\n }).pipe(Effect.onError(() => managed === undefined\n ? Effect.void\n : providerBoundaryEffect(() => managed.finish()).pipe(Effect.ignore)));\n }));\n}\nexport function materializeE2BProviderPlan(plan: E2BProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return materializationEffect(context, Effect.gen(function* () {\n const lifetime = e2bLifetimeRequest(plan.lifetime, context.deadline);\n const { E2BSandbox, classifyProvisionError, reconcileProvision } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./e2b.cjs\"));\n const provisionToken = randomUUID();\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => E2BSandbox.create({\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n template: plan.template,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n lifetime,\n pathPrepend: plan.pathPrepend,\n provisionToken,\n runIdentity: currentRunIdentity(),\n })), classifyProvisionError, boundProvisionSlot(context), context.feedback, providerBoundaryEffect(() => reconcileProvision(provisionToken)));\n return wrapSingleSandbox(backend, context, { template: plan.template });\n }));\n}\nexport function materializeVercelProviderPlan(plan: VercelProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return materializationEffect(context, Effect.gen(function* () {\n const { VercelSandbox, classifyProvisionError } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./vercel.cjs\"));\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => VercelSandbox.create({\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n snapshotId: plan.snapshotId,\n lifetimeMs: configuredLifetime(plan.lifetime),\n pathPrepend: plan.pathPrepend,\n feedback: context.feedback,\n })), classifyProvisionError, boundProvisionSlot(context), context.feedback);\n return wrapSingleSandbox(backend, context, { snapshotId: plan.snapshotId });\n }));\n}\nexport function materializeLocalProviderPlan(plan: LocalProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return materializationEffect(context, Effect.gen(function* () {\n const { LocalSandbox } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./local.cjs\"));\n return wrapSingleSandbox(yield* providerBoundaryEffect(() => LocalSandbox.create({\n ...deadlineOptions(context.deadline),\n dir: plan.directory,\n pathPrepend: plan.pathPrepend,\n })), context, { directory: plan.directory });\n }));\n}\nexport function materializeCustomProviderPlan(plan: CustomProviderPlan, context: SandboxRuntimeMaterializeContext, create: CustomProviderSandboxOptions[\"create\"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return Effect.flatMap(create({ deadline: context.deadline, runtime: \"node24\", feedback: context.feedback }).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))), (sandbox) => Effect.try({\n try: () => wrapSingleSandbox(customSandboxBackend(sandbox), context, { provider: plan.name }),\n catch: (cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause),\n }).pipe(\n // create 已经交出真实资源,但 acquireRelease 只有在本 Effect 成功后才会登记 finalizer。\n // facade 归一化若在这个窄窗口失败,必须原地 stop,不能让裸资源逃出 Scope。\n Effect.tapError(() => Effect.tryPromise({\n try: () => sandbox.stop(),\n catch: () => undefined,\n }).pipe(Effect.ignore))));\n}\nexport function materializeCustomCaseProviderPlan(plan: CustomCaseProviderPlan, context: SandboxRuntimeMaterializeContext, materialize: CustomCaseSandboxOptions[\"materialize\"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return Effect.flatMap(materialize({\n evalId: context.evalId,\n profile: context.evalId,\n signal: context.signal,\n buildLocators: context.buildLocators,\n }).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))), (rawResult) => Effect.try({\n try: () => {\n const result = validateCustomCaseMaterializeResult(rawResult, plan.services);\n return normalizeMaterialized({\n sandbox: result.sandbox,\n // 自定义 case 的显式适配点:author 返回的公共 Sandbox 在这里降成 provider backend,\n // 供 attempt-scope author facade 使用;resource facade 仍由 normalizeMaterialized 归一。\n authorBackend: customSandboxBackend(result.sandbox),\n ...(result.services._tag === \"Available\" ? { services: result.services.value } : {}),\n group: result.group,\n caseKind: \"custom\",\n caseKey: context.plan.providerPlan.build.caseKey,\n buildKeys: context.plan.providerPlan.build.buildKeys,\n identity: context.plan.providerPlan.identity,\n facts: result.facts,\n }, context);\n },\n catch: (cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause),\n }).pipe(Effect.catchAll((failure) => Effect.zipRight(stopInvalidCustomCaseResult(rawResult), Effect.fail(failure)))));\n}\nfunction validateCustomCaseMaterializeResult(value: unknown, declaredServices: CustomCaseServices): CustomCaseMaterializeResult {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw new TypeError(\"defineSandboxCase materialize() must return an object\");\n }\n const result = value as globalThis.Record<string, unknown>;\n const extra = Object.keys(result).filter((key) => key !== \"sandbox\" && key !== \"group\" && key !== \"services\" && key !== \"facts\");\n if (extra.length > 0) {\n throw new TypeError(`defineSandboxCase materialize() returned unsupported field(s): ${extra.join(\", \")}`);\n }\n if (result.sandbox === null || typeof result.sandbox !== \"object\") {\n throw new TypeError(\"defineSandboxCase materialize() must return sandbox\");\n }\n const group = validateCustomCaseResourceGroup(result.group);\n const services = validateCustomCaseServices(result.services, declaredServices);\n if (!isPureDataIdentity(result.facts)) {\n throw new TypeError(\"defineSandboxCase materialize() facts must be pure JSON data\");\n }\n return {\n sandbox: result.sandbox as Sandbox,\n group,\n services,\n facts: result.facts,\n };\n}\nfunction validateCustomCaseResourceGroup(value: unknown): SandboxResourceGroup {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw new TypeError(\"defineSandboxCase materialize() must return group\");\n }\n const group = value as globalThis.Record<string, unknown>;\n const extra = Object.keys(group).filter((key) => key !== \"primary\" && key !== \"resources\" && key !== \"stop\");\n if (extra.length > 0) {\n throw new TypeError(`defineSandboxCase materialize() group returned unsupported field(s): ${extra.join(\", \")}`);\n }\n if (group.primary === null || typeof group.primary !== \"object\" || Array.isArray(group.primary)) {\n throw new TypeError(\"defineSandboxCase materialize() group.primary must be a SandboxLocator\");\n }\n const primary = group.primary as globalThis.Record<string, unknown>;\n if (typeof primary.sandboxId !== \"string\" || primary.sandboxId.length === 0) {\n throw new TypeError(\"defineSandboxCase materialize() group.primary.sandboxId must be a non-empty string\");\n }\n if (primary.provider !== undefined && typeof primary.provider !== \"string\") {\n throw new TypeError(\"defineSandboxCase materialize() group.primary.provider must be a string\");\n }\n if (!isPureDataIdentity(group.resources)) {\n throw new TypeError(\"defineSandboxCase materialize() group.resources must be pure JSON data\");\n }\n if (typeof group.stop !== \"function\") {\n throw new TypeError(\"defineSandboxCase materialize() group.stop must be a function\");\n }\n return value as SandboxResourceGroup;\n}\nfunction validateCustomCaseServices(value: unknown, declared: CustomCaseServices): CustomCaseMaterializeResult[\"services\"] {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw new TypeError(\"defineSandboxCase materialize() services must be a tagged value\");\n }\n const services = value as globalThis.Record<string, unknown>;\n if (services._tag === \"None\") {\n if (Object.keys(services).some((key) => key !== \"_tag\")) {\n throw new TypeError('defineSandboxCase materialize() services \"None\" cannot contain a value');\n }\n if (declared._tag === \"Supported\") {\n throw new TypeError('defineSandboxCase declared services \"Supported\" but materialize() returned \"None\"');\n }\n return { _tag: \"None\" };\n }\n if (services._tag !== \"Available\") {\n throw new TypeError('defineSandboxCase materialize() services must be { _tag: \"None\" } or { _tag: \"Available\", value }');\n }\n if (Object.keys(services).some((key) => key !== \"_tag\" && key !== \"value\")) {\n throw new TypeError('defineSandboxCase materialize() services \"Available\" has unsupported fields');\n }\n if (declared._tag === \"Unsupported\") {\n throw new TypeError('defineSandboxCase declared services \"Unsupported\" but materialize() returned \"Available\"');\n }\n if (services.value === null || typeof services.value !== \"object\") {\n throw new TypeError('defineSandboxCase materialize() services \"Available\" needs a ServiceController');\n }\n const controller = services.value as globalThis.Record<string, unknown>;\n if (typeof controller.exec !== \"function\" ||\n typeof controller.collectLogs !== \"function\" ||\n typeof controller.stop !== \"function\") {\n throw new TypeError('defineSandboxCase materialize() services \"Available\" needs exec, collectLogs, and stop functions');\n }\n return { _tag: \"Available\", value: services.value as ServiceController };\n}\nfunction stopInvalidCustomCaseResult(value: unknown): Effect.Effect<void> {\n if (value === null || typeof value !== \"object\")\n return Effect.void;\n const group = (value as globalThis.Record<string, unknown>).group;\n if (group === null || typeof group !== \"object\")\n return Effect.void;\n const stop = (group as globalThis.Record<string, unknown>).stop;\n if (typeof stop !== \"function\")\n return Effect.void;\n return Effect.tryPromise({\n try: async () => {\n await stop.call(group);\n },\n catch: () => undefined,\n }).pipe(Effect.ignore);\n}\nexport function collectDockerComposeProviderBuildPreparation(plan: DockerComposeProviderPlan, published: SandboxProviderPlan, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError> {\n return Effect.gen(function* () {\n const file = plan.file._tag === \"Url\" ? new URL(plan.file.value) : plan.file.value;\n const collection = yield* collectComposeBuilds({\n file,\n mainService: plan.workspaceService,\n platform: plan.collection.platform,\n env: plan.env,\n }).pipe(Effect.mapError((cause) => buildFailure(published, \"sandbox.build-input-drift\", cause)));\n return yield* Effect.try({\n try: () => {\n assertSameBuildKeys(plan.collection.buildKeys, collection.buildKeys, \"Compose\");\n if (digestOf(composeCollectionIdentity(plan.collection)) !== digestOf(composeCollectionIdentity(collection))) {\n throw new Error(\"Compose case inputs changed after physical planning. Restart the Run to plan the new inputs.\");\n }\n return Option.some({\n works: collection.works,\n provider: dockerComposeBuildProvider({ env: plan.env }),\n });\n },\n catch: (cause) => buildFailure(published, \"sandbox.build-input-drift\", cause),\n });\n });\n}\nexport function collectDockerfileProviderBuildPreparation(plan: DockerfileProviderPlan, published: SandboxProviderPlan, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError> {\n return Effect.gen(function* () {\n const collection = yield* collectDockerfileBuildFromIdentity({\n provider: \"docker\",\n profile: evalId,\n context: plan.context,\n dockerfile: plan.dockerfile,\n buildArgs: plan.buildArgs,\n ...(plan.target === undefined ? {} : { target: plan.target }),\n platform: plan.platform,\n expected: plan.build,\n ...(plan.profileBinding === undefined ? {} : { dockerSocketPath: plan.profileBinding.dockerSocketPath }),\n }).pipe(Effect.mapError((cause) => buildFailure(published, \"sandbox.build-input-drift\", cause)));\n return yield* Effect.try({\n try: () => {\n if (collection.buildKey !== plan.buildKey) {\n throw new Error(\"Dockerfile build inputs changed after physical planning. Restart the Run to plan the new inputs.\");\n }\n const provider = dockerfileBuildProvider([collection]);\n const managedProvider: SandboxBuildProvider = plan.profileBinding === undefined ? provider : {\n lookup: (work, signal) => provider.lookup(work, signal),\n async build(work, buildContext) {\n const lease = await createDockerProfileLease(plan.profileBinding!);\n let reservation: import(\"./docker-profile/runtime.ts\").DockerProfileReservation | undefined;\n let network: import(\"dockerode\").Network | undefined;\n try {\n reservation = await acquireDockerProfileReservation(lease, \"build\", {\n cpus: 0, memoryBytes: 0, pids: 0, containers: 0,\n });\n const labels = Object.freeze({\n \"niceeval.profile-id\": plan.profileBinding!.profile.profileId,\n \"niceeval.invocation-id\": lease.invocationId,\n \"niceeval.reservation-id\": reservation.reservationId,\n \"niceeval.provision-token\": reservation.provisionToken,\n });\n const [{ default: Docker }, { dockerManagedNetworkOptions }] = await Promise.all([\n __niceevalDynamicImport(\"dockerode\"),\n __niceevalDynamicImport(\"./docker.cjs\"),\n ]);\n const docker = new Docker({ socketPath: plan.profileBinding!.dockerSocketPath });\n network = await docker.createNetwork(dockerManagedNetworkOptions(reservation.provisionToken, randomUUID(), labels));\n await commitDockerProfileReservation(lease, reservation.reservationId, { networkId: network.id });\n const buildCollection = Object.freeze({\n ...collection,\n details: Object.freeze({ ...collection.details, dockerNetworkMode: network.id }),\n });\n const locator = await dockerfileBuildProvider([buildCollection]).build(work, buildContext);\n await network.remove();\n network = undefined;\n await releaseDockerProfileReservation(lease, reservation.reservationId, {\n daemonRequestTerminated: true,\n buildkitSessionGone: true,\n processActivityZero: true,\n provisionalRefResolvedOrRemoved: true,\n });\n return locator;\n }\n finally {\n await network?.remove().catch(() => undefined);\n if (reservation !== undefined) {\n await releaseDockerProfileReservation(lease, reservation.reservationId, {\n daemonRequestTerminated: true,\n buildkitSessionGone: true,\n processActivityZero: true,\n provisionalRefResolvedOrRemoved: true,\n }).catch(() => undefined);\n }\n await lease.stopHeartbeat().catch(() => undefined);\n }\n },\n ...(provider.cancel === undefined ? {} : { cancel: (work) => provider.cancel!(work) }),\n };\n return Option.some({\n works: [collection.work],\n provider: managedProvider,\n });\n },\n catch: (cause) => buildFailure(published, \"sandbox.build-input-drift\", cause),\n });\n });\n}\nfunction assertSameBuildKeys(planned: readonly string[], collected: readonly string[], label: string): void {\n const expected = [...planned].sort();\n const actual = [...collected].sort();\n if (expected.length === actual.length && expected.every((key, index) => key === actual[index]))\n return;\n throw new Error(`${label} build inputs changed after physical planning; planned ${expected.join(\", \") || \"none\"}, ` +\n `collected ${actual.join(\", \") || \"none\"}. Restart the Run to plan the new inputs.`);\n}\n/** Public hook callbacks are an outer Promise boundary; runtime composition stays Effect-native. */\nfunction runSetupHooks(hooks: readonly SandboxHook[], sandbox: Sandbox, context: SandboxHookContext): Effect.Effect<void, unknown> {\n return Effect.forEach(hooks, (hook) => Effect.tryPromise({\n try: () => Promise.resolve(hook(sandbox, context)),\n catch: (cause) => cause,\n }), { discard: true });\n}\n/** Teardown remains LIFO and diagnostic-only, but a teardown defect cannot skip the case finalizer. */\nfunction runTeardownHooks(hooks: readonly SandboxHook[], sandbox: Sandbox, context: SandboxHookContext): Effect.Effect<void> {\n return Effect.forEach([...hooks].reverse(), (hook) => {\n const cleanupContext = { ...context, signal: AbortSignal.timeout(CLEANUP_TIMEOUT_MS) };\n return cleanupCallback(() => hook(sandbox, cleanupContext)).pipe(Effect.catchAll((cause) => Effect.sync(() => {\n context.diagnostic({\n code: \"sandbox-teardown-failed\",\n level: \"warning\",\n message: cause instanceof Error ? cause.message : String(cause),\n });\n })));\n }, { discard: true });\n}\nconst activatedSandboxPluginCounts = new WeakMap<object, number>();\nfunction runSandboxPluginSetups(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase): Effect.Effect<void, unknown> {\n return Effect.forEach(input.plan.pair.pluginLifecycles, (entry, index) => {\n activatedSandboxPluginCounts.set(owned, index + 1);\n const setup = entry.lifecycle.setup;\n if (setup === undefined)\n return Effect.void;\n return Effect.tryPromise({\n try: () => Promise.resolve((setup as (sandbox: Sandbox, context: SandboxHookContext) => void | Promise<void>)(owned.sandbox, input.hookContext)),\n catch: (cause) => cause,\n });\n }, { discard: true });\n}\nfunction runSandboxPluginTeardowns(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase): Effect.Effect<void> {\n const count = activatedSandboxPluginCounts.get(owned) ?? 0;\n return Effect.forEach(input.plan.pair.pluginLifecycles.slice(0, count).reverse(), (entry) => {\n const teardown = entry.lifecycle.teardown;\n if (teardown === undefined)\n return Effect.void;\n const cleanupContext = { ...input.hookContext, signal: AbortSignal.timeout(CLEANUP_TIMEOUT_MS) };\n return cleanupCallback(() => (teardown as (sandbox: Sandbox, context: SandboxHookContext) => void | Promise<void>)(owned.sandbox, cleanupContext)).pipe(Effect.catchAll((cause) => Effect.sync(() => input.feedback.diagnostic({\n code: \"plugin-lifecycle-teardown-failed\",\n level: \"warning\",\n message: cause instanceof Error ? cause.message : String(cause),\n }))));\n }, { discard: true });\n}\nfunction reportReleaseFailure(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase, cause: Error): Effect.Effect<void> {\n return Effect.sync(() => {\n const resources = owned.group.resources;\n const projectName = resources !== null && typeof resources === \"object\" && !Array.isArray(resources) &&\n typeof (resources as globalThis.Record<string, JsonValue>).projectName === \"string\"\n ? (resources as globalThis.Record<string, JsonValue>).projectName as string\n : undefined;\n input.feedback.diagnostic({\n code: \"sandbox-stop-failed\",\n level: \"warning\",\n message: `Sandbox ${owned.sandbox.sandboxId} provider cleanup failed: ${cause.message}.` +\n (projectName === undefined\n ? \"\"\n : ` Compose project ${projectName} remains recoverable with \\`niceeval sandbox list --orphans\\` / \\`niceeval sandbox prune\\`.`),\n data: {\n provider: input.plan.providerPlan.provider,\n sandboxId: owned.sandbox.sandboxId,\n ...(projectName !== undefined ? { projectName } : {}),\n },\n dedupeKey: projectName === undefined\n ? `sandbox-stop-failed:${owned.sandbox.sandboxId}`\n : `sandbox-stop-failed:${projectName}`,\n });\n });\n}\nfunction releaseOwned(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase): Effect.Effect<void> {\n const release = input.release._tag === \"Stop\"\n ? providerBoundaryEffect(() => owned.group.stop())\n : input.release.run(owned);\n // catchAll only handles the provider's typed failure. Defects and interruption remain in their\n // original Cause, while ensuring guarantees the resource group release even if a hook defects.\n const releaseWithDiagnostic = release.pipe(Effect.catchAll((cause) => reportReleaseFailure(input, owned, cause)));\n return runSandboxPluginTeardowns(input, owned).pipe(Effect.zipRight(runTeardownHooks(input.plan.pair.teardownHooks, owned.sandbox, input.hookContext)), Effect.ensuring(releaseWithDiagnostic));\n}\nfunction sortedBuildKeys(keys: Iterable<BuildKey>): readonly BuildKey[] {\n return Object.freeze([...keys].sort());\n}\n/** 动态 locator 只负责把已规划 BuildKey 绑定到产物;不能在物化时改写 physical plan。 */\nfunction verifyBuildLocators(context: SandboxRuntimeMaterializeContext): Effect.Effect<void, SandboxRuntimeMaterializationError> {\n const planned = sortedBuildKeys(context.plan.providerPlan.build.buildKeys);\n const provided = sortedBuildKeys(context.buildLocators.keys());\n const missing = planned.filter((key) => !context.buildLocators.has(key));\n if (missing.length > 0) {\n return Effect.fail(runtimeFailure(context, \"sandbox.build-locator-missing\", new Error(`Missing build locators for planned BuildKey(s): ${missing.join(\", \")}`)));\n }\n if (planned.length !== provided.length || planned.some((key, index) => key !== provided[index])) {\n return Effect.fail(runtimeFailure(context, \"sandbox.build-input-drift\", new Error(\"Runtime build locator keys differ from the physical plan.\")));\n }\n return Effect.void;\n}\n/** Provider 产物是动态边界;出来即核验,不能把新的 CaseKey / BuildKey 带入领域态。 */\nfunction verifyMaterializedIdentity(context: SandboxRuntimeMaterializeContext, owned: MaterializedSandboxCase): Effect.Effect<void, SandboxRuntimeMaterializationError> {\n const planned = context.plan.providerPlan.build;\n const actualKeys = sortedBuildKeys(owned.buildKeys);\n const plannedKeys = sortedBuildKeys(planned.buildKeys);\n if (owned.caseKey !== planned.caseKey ||\n actualKeys.length !== plannedKeys.length ||\n plannedKeys.some((key, index) => key !== actualKeys[index])) {\n return Effect.fail(runtimeFailure(context, \"sandbox.build-input-drift\", new Error(\"Materialized CaseKey or BuildKey set differs from the physical plan.\")));\n }\n return Effect.void;\n}\n/** 完整 plan 的唯一物化入口;Scope 退出恒执行声明的 release,不允许裸资源逃逸。 */\nexport function materializeSandboxRunPlan(input: SandboxRuntimeMaterializeInput): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError, Scope.Scope> {\n const context: SandboxRuntimeMaterializeContext = {\n plan: input.plan,\n evalId: input.evalId,\n deadline: input.deadline,\n feedback: input.feedback,\n signal: input.signal,\n hookContext: input.hookContext,\n buildLocators: input.buildLocators,\n provisionSlot: input.provisionSlot,\n services: input.services,\n ...(input.agent !== undefined ? { agent: input.agent } : {}),\n ...(input.runTiming !== undefined ? { runTiming: input.runTiming } : {}),\n };\n return Effect.zipRight(verifyBuildLocators(context), Effect.acquireRelease(Effect.flatMap(providerBinding(input.plan), (binding) => binding.materialize(context)), (owned) => releaseOwned(input, owned)).pipe(Effect.tap((owned) => verifyMaterializedIdentity(context, owned)), Effect.tap((owned) => runSetupHooks(input.plan.pair.setupHooks, owned.sandbox, input.hookContext).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause)))), Effect.tap((owned) => runSandboxPluginSetups(input, owned).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))))));\n}\n/** Build preparation 同样只调用 private binding,不按 provider/module id 分支。 */\nexport function collectSandboxRuntimeBuildPreparation(plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n}>, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError> {\n return Effect.flatMap(providerBinding(plan), (binding) => binding.collectBuildPreparation(evalId));\n}\n/** 调度能力来自完成态 ProviderModule binding;core 不从 provider 名推导。 */\nexport function sandboxRuntimeCapabilities(plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n}>): SandboxRuntimeCapabilities {\n const capabilities = plan.providerPlan.capabilities;\n return Object.freeze({\n provider: plan.providerPlan.provider,\n schedulingLane: plan.providerPlan.scheduling.lane.key,\n admission: plan.providerPlan.scheduling.admission._tag,\n retention: capabilities.retention,\n reuse: capabilities.reuse,\n sessionLimit: capabilities.sessionLimit,\n });\n}\n"]}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["runtime.ts"],"names":[],"mappings":"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","sourcesContent":["// ProviderModule 的唯一运行入口:core 只调用 plan 私绑的闭包,不解释 adapter 名或 JSON runtime input。\nimport { randomUUID } from \"node:crypto\";\nimport { Data, Effect, Option, type Scope } from \"effect\";\nimport type { ProvisionSlot } from \"./retry.ts\";\nimport { withProvisionRetry } from \"./retry.ts\";\nimport type { MaterializedSandboxCase, SandboxResourceGroup, ServiceController, } from \"./case-types.ts\";\nimport { collectComposeBuilds, composeCollectionIdentity, dockerComposeBuildProvider, materializeDockerComposeProviderCase, normalizeBuildPlatform, } from \"./compose.ts\";\nimport { collectDockerfileBuildFromIdentity, dockerfileBuildProvider } from \"./dockerfile-build.ts\";\nimport { DockerfileAgentImageCoordinator, isDockerfileAgentCacheSafeInstaller, type DockerfileAgentCacheRequest, type DockerfileAgentDerivedImageBuildInput, } from \"./dockerfile-agent-cache.ts\";\nimport type { SandboxBuildProvider, SandboxBuildWork } from \"./build-coordinator.ts\";\nimport { customSandboxBackend, providerBoundaryEffect, type SandboxProviderBackend, } from \"./backend.ts\";\nimport { normalizeSandboxPaths } from \"./paths.ts\";\nimport { registerSandbox, unregisterSandbox } from \"./registry.ts\";\nimport { currentRunIdentity } from \"./run-identity.ts\";\nimport { sandboxProviderBindingOf, type SandboxProviderBinding, type CustomCaseProviderPlan, type CustomCaseMaterializeResult, type CustomCaseSandboxOptions, type CustomCaseServices, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan, } from \"./layer.ts\";\nimport { digestOf, isPureDataIdentity, type BuildKey } from \"./identity.ts\";\nimport type { LinkedRunPlan } from \"./plan.ts\";\nimport { ArtifactPrepareCoordinator, platformKey, runAgentEnsure } from \"../agents/provisioner.ts\";\nimport { CLEANUP_TIMEOUT_MS, cleanupCallback } from \"../runner/cleanup-timeout.ts\";\nimport type { JsonValue, Sandbox, SandboxHook, SandboxHookContext, ScopedFeedback } from \"../types.ts\";\nimport type { AgentIdentity, SandboxAgent } from \"../agents/types.ts\";\nimport type { DockerSandbox } from \"./docker.ts\";\nimport type { E2BSandboxLifetime } from \"./e2b.ts\";\nimport { acquireDockerProfileReservation, commitDockerProfileReservation, createDockerProfileContainer, createDockerProfileLease, releaseDockerProfileReservation, type DockerProfileLease, type DockerProfileRuntimeBinding, } from \"./docker-profile/runtime.ts\";\nexport type SandboxRuntimeDeadline = SandboxRuntimeDeadlineDeclaration;\n/** Scope 退出时的唯一释放协议;不以 optional callback 或 boolean 表达所有权。 */\nexport type SandboxRuntimeRelease = {\n readonly _tag: \"Stop\";\n} | {\n readonly _tag: \"Managed\";\n readonly run: (owned: MaterializedSandboxCase) => Effect.Effect<void>;\n};\nexport interface SandboxRuntimeMaterializeInput {\n readonly plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n }>;\n readonly evalId: string;\n readonly deadline: SandboxRuntimeDeadline;\n readonly feedback: ScopedFeedback;\n readonly signal: AbortSignal;\n /** 物理实例 hook 的完成态上下文;由 fresh attempt 或 reuse pool 在创建边界绑定。 */\n readonly hookContext: SandboxHookContext;\n readonly buildLocators: ReadonlyMap<BuildKey, JsonValue>;\n readonly provisionSlot: {\n readonly _tag: \"Detached\";\n } | {\n readonly _tag: \"Bound\";\n readonly value: ProvisionSlot;\n };\n readonly services: SandboxRuntimeServices;\n /** Internal runner input; only Dockerfile provider consumes the staged cache opt-in. */\n readonly agent?: SandboxAgent;\n /** Invocation-level timing tree for derived Dockerfile Agent image lookup/build. */\n readonly runTiming?: import(\"../runner/timing.ts\").RunTimingRecorder;\n readonly release: SandboxRuntimeRelease;\n}\n/** ProviderModule 闭包收到的完整上下文;公开 plan 只提供中性 identity/scheduling 元数据。 */\nexport type SandboxRuntimeMaterializeContext = Omit<SandboxRuntimeMaterializeInput, \"release\">;\nexport type SandboxRuntimeServices = {\n readonly _tag: \"Live\";\n} | {\n readonly _tag: \"Test\";\n readonly materializeCompose: typeof materializeDockerComposeProviderCase;\n};\nexport const liveSandboxRuntimeServices: SandboxRuntimeServices = Object.freeze({ _tag: \"Live\" });\nconst dockerfileAgentImageCoordinator = new DockerfileAgentImageCoordinator({\n imageExists: defaultDockerImageExists,\n});\nexport interface SandboxRuntimeCapabilities {\n readonly provider: string;\n readonly schedulingLane: string;\n readonly admission: \"Shared\" | \"Exclusive\";\n readonly retention: SandboxProviderCapabilities[\"retention\"];\n readonly reuse: SandboxProviderCapabilities[\"reuse\"];\n readonly sessionLimit: SandboxProviderCapabilities[\"sessionLimit\"];\n}\nexport interface SandboxRuntimeBuildPreparation {\n readonly works: readonly SandboxBuildWork[];\n readonly provider: SandboxBuildProvider;\n}\nexport class SandboxRuntimeMaterializationError extends Data.TaggedError(\"SandboxRuntimeMaterializationError\")<{\n readonly code: \"sandbox.provider-binding-missing\" | \"sandbox.build-input-drift\" | \"sandbox.build-locator-missing\" | \"sandbox.materialization-failed\";\n readonly provider: string;\n readonly message: string;\n readonly cause: Error;\n}> {\n}\nfunction runtimeFailure(context: SandboxRuntimeMaterializeContext, code: SandboxRuntimeMaterializationError[\"code\"], cause: unknown): SandboxRuntimeMaterializationError {\n const error = cause instanceof Error ? cause : new Error(String(cause));\n return new SandboxRuntimeMaterializationError({\n code,\n provider: context.plan.providerPlan.provider,\n message: error.message,\n cause: error,\n });\n}\nfunction buildFailure(plan: SandboxProviderPlan, code: SandboxRuntimeMaterializationError[\"code\"], cause: unknown): SandboxRuntimeMaterializationError {\n const error = cause instanceof Error ? cause : new Error(String(cause));\n return new SandboxRuntimeMaterializationError({\n code,\n provider: plan.provider,\n message: error.message,\n cause: error,\n });\n}\nfunction providerBinding(plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n}>): Effect.Effect<SandboxProviderBinding, SandboxRuntimeMaterializationError> {\n const binding = sandboxProviderBindingOf(plan.providerPlan);\n return Option.match(binding, {\n onNone: () => Effect.fail(new SandboxRuntimeMaterializationError({\n code: \"sandbox.provider-binding-missing\",\n provider: plan.providerPlan.provider,\n message: `Sandbox provider plan ${JSON.stringify(plan.providerPlan.provider)} was not created by its bound ProviderModule.`,\n cause: new Error(\"provider module binding missing\"),\n })),\n onSome: Effect.succeed,\n });\n}\nfunction deadlineOptions(deadline: SandboxRuntimeDeadline): {\n readonly timeout?: number;\n readonly deadlineAt?: number;\n} {\n return deadline._tag === \"Unlimited\"\n ? {}\n : { timeout: deadline.timeoutMs, deadlineAt: deadline.deadlineAt };\n}\nfunction configuredLifetime(value: SandboxProviderLifetime): number | undefined {\n return value._tag === \"Configured\" ? value.milliseconds : undefined;\n}\nasync function managedContainerSession(binding: DockerProfileRuntimeBinding, resources: Readonly<import(\"./layer.ts\").DockerSandboxResources>, signal?: AbortSignal): Promise<{\n readonly lease: DockerProfileLease;\n readonly reservation: import(\"./docker-profile/runtime.ts\").DockerProfileReservation;\n readonly labels: Readonly<Record<string, string>>;\n readonly finish: () => Promise<void>;\n}> {\n const lease = await createDockerProfileLease(binding);\n try {\n const reservation = await acquireDockerProfileReservation(lease, \"container\", {\n cpus: resources.cpus ?? 0,\n memoryBytes: resources.memoryBytes ?? 0,\n pids: resources.pidsLimit ?? 0,\n ephemeralDiskBytes: resources.dockerDataBytes ?? 0,\n containers: 1,\n }, signal);\n const labels = Object.freeze({\n \"niceeval.profile-id\": binding.profile.profileId,\n \"niceeval.invocation-id\": lease.invocationId,\n \"niceeval.reservation-id\": reservation.reservationId,\n \"niceeval.provision-token\": reservation.provisionToken,\n });\n let finished = false;\n return {\n lease,\n reservation,\n labels,\n finish: async () => {\n if (finished)\n return;\n finished = true;\n try {\n await releaseDockerProfileReservation(lease, reservation.reservationId);\n }\n finally {\n await lease.stopHeartbeat();\n }\n },\n };\n }\n catch (error) {\n await lease.stopHeartbeat().catch(() => undefined);\n throw error;\n }\n}\n/**\n * E2B 的 SDK 默认 TTL 不是 attempt 时限的一个来源。bounded attempt 在创建时必须把\n * deadline 加收尾预留写进 provider;作者另有声明时,它是上限承诺而不是可被静默加长的 hint。\n */\nexport function e2bLifetimeRequest(lifetime: SandboxProviderLifetime, deadline: SandboxRuntimeDeadline): E2BSandboxLifetime {\n const declared = configuredLifetime(lifetime);\n if (deadline._tag === \"Unlimited\") {\n return declared === undefined\n ? { _tag: \"ProviderDefault\" }\n : { _tag: \"Requested\", milliseconds: declared, source: \"explicit\" };\n }\n const required = deadline.timeoutMs + CLEANUP_TIMEOUT_MS;\n if (declared !== undefined) {\n if (declared < required) {\n throw new Error(`e2bSandbox lifetimeMs=${declared}ms is shorter than this attempt's required ${required}ms ` +\n `(timeoutMs=${deadline.timeoutMs}ms plus cleanup reserve ${CLEANUP_TIMEOUT_MS}ms). ` +\n \"Increase lifetimeMs or lower timeoutMs; niceeval will not silently lengthen a declared sandbox lifetime.\");\n }\n return { _tag: \"Requested\", milliseconds: declared, source: \"explicit\" };\n }\n return { _tag: \"Requested\", milliseconds: required, source: \"attempt-deadline\" };\n}\nfunction boundProvisionSlot(context: SandboxRuntimeMaterializeContext): ProvisionSlot | undefined {\n return context.provisionSlot._tag === \"Bound\" ? context.provisionSlot.value : undefined;\n}\nfunction wrapSingleSandbox(backend: SandboxProviderBackend, context: SandboxRuntimeMaterializeContext, facts: JsonValue): MaterializedSandboxCase {\n const provider = context.plan.providerPlan.provider;\n const sandbox = normalizeSandboxPaths(backend, provider);\n registerSandbox(sandbox);\n let stopped = false;\n let stopping: Promise<void> | undefined;\n const group: SandboxResourceGroup = {\n primary: { sandboxId: sandbox.sandboxId, provider },\n resources: { kind: \"single\", provider, sandboxId: sandbox.sandboxId },\n async stop() {\n if (stopped)\n return;\n if (stopping !== undefined)\n return stopping;\n const pending = (async () => {\n // runtime 的 finalizer 通过 providerBoundaryEffect(group.stop) 执行这条 provider Promise;\n // 不要从内部反向启动 Sandbox 的外层运行时。\n await backend.stop();\n stopped = true;\n unregisterSandbox(sandbox);\n })();\n stopping = pending;\n try {\n await pending;\n }\n finally {\n // stop 失败回到 Open,保留 registry 所有权;成功则进入不可逆的 Stopped。\n if (stopping === pending)\n stopping = undefined;\n }\n },\n };\n return Object.freeze({\n sandbox,\n authorBackend: backend,\n group,\n caseKind: context.plan.providerPlan.caseKind,\n caseKey: context.plan.providerPlan.build.caseKey,\n buildKeys: context.plan.providerPlan.build.buildKeys,\n identity: context.plan.providerPlan.identity,\n facts,\n });\n}\nfunction normalizeMaterialized(materialized: MaterializedSandboxCase, context: SandboxRuntimeMaterializeContext): MaterializedSandboxCase {\n const sandbox = normalizeSandboxPaths(customSandboxBackend(materialized.sandbox), context.plan.providerPlan.provider);\n registerSandbox(sandbox);\n let stopped = false;\n let stopping: Promise<void> | undefined;\n const group: SandboxResourceGroup = {\n ...materialized.group,\n async stop() {\n if (stopped)\n return;\n if (stopping !== undefined)\n return stopping;\n const pending = (async () => {\n await materialized.group.stop();\n stopped = true;\n unregisterSandbox(sandbox);\n })();\n stopping = pending;\n try {\n await pending;\n }\n finally {\n // 失败回 Open 并保留 registry 所有权,让同轮强清或 orphan 恢复链真正重试。\n if (stopping === pending)\n stopping = undefined;\n }\n },\n };\n return Object.freeze({ ...materialized, sandbox, group });\n}\nfunction materializationEffect<R>(context: SandboxRuntimeMaterializeContext, acquire: Effect.Effect<MaterializedSandboxCase, unknown, R>): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError, R> {\n return acquire.pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause)));\n}\nexport function materializeDockerComposeProviderPlan(plan: DockerComposeProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError, Scope.Scope> {\n const materialize = context.services._tag === \"Live\"\n ? materializeDockerComposeProviderCase\n : context.services.materializeCompose;\n return materializationEffect(context, materialize({\n evalId: context.evalId,\n profile: context.evalId,\n mainService: plan.workspaceService,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n env: plan.env,\n pathPrepend: plan.pathPrepend,\n collection: plan.collection,\n caseKey: context.plan.providerPlan.build.caseKey,\n identity: context.plan.providerPlan.identity,\n }, {\n ctx: {\n evalId: context.evalId,\n profile: context.evalId,\n signal: context.signal,\n buildLocators: context.buildLocators,\n },\n ...deadlineOptions(context.deadline),\n feedback: context.feedback,\n provisionSlot: boundProvisionSlot(context),\n lifetimeMs: configuredLifetime(plan.lifetime),\n }).pipe(Effect.map((materialized) => normalizeMaterialized(materialized, context))));\n}\nexport function materializeDockerfileProviderPlan(plan: DockerfileProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return Option.match(Option.fromNullable(context.buildLocators.get(plan.buildKey)), {\n onNone: () => Effect.fail(runtimeFailure(context, \"sandbox.build-locator-missing\", new Error(`Dockerfile build ${plan.buildKey} has no prepared locator.`))),\n onSome: (locator) => typeof locator !== \"string\"\n ? Effect.fail(runtimeFailure(context, \"sandbox.materialization-failed\", new TypeError(`Dockerfile build locator for ${plan.buildKey} must be a string.`)))\n : Effect.flatMap(resolveDockerfileAgentImage(plan, context, locator).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))), (resolved) => materializationEffect(context, Effect.gen(function* () {\n const { DockerSandbox, classifyProvisionError, reconcileProvision } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./docker.cjs\"));\n const managed = plan.profileBinding === undefined\n ? undefined\n : yield* providerBoundaryEffect(() => managedContainerSession(plan.profileBinding!, plan.resources, context.signal));\n const provisionToken = managed?.reservation.provisionToken ?? randomUUID();\n return yield* Effect.gen(function* () {\n const createOptions: Parameters<typeof DockerSandbox.create>[0] = {\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n image: resolved.locator,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n privileged: plan.privileged,\n ...(plan.dockerAccess === undefined ? {} : { dockerAccess: plan.dockerAccess }),\n resources: plan.resources,\n ...(plan.readiness === undefined ? {} : { readiness: plan.readiness }),\n lifetimeMs: configuredLifetime(plan.lifetime),\n pathPrepend: plan.pathPrepend,\n feedback: context.feedback,\n provisionToken,\n runIdentity: currentRunIdentity(),\n ...(plan.profileBinding === undefined ? {} : {\n dockerSocketPath: plan.profileBinding.dockerSocketPath,\n ...(plan.profileBinding.profile.policy.level === \"managed-rootless/v1\"\n ? { dns: plan.profileBinding.profile.policy.network.dns.servers }\n : {}),\n managedLabels: managed?.labels,\n rootlessAttestation: {\n daemonId: plan.profileBinding.daemonId,\n dataRoot: plan.profileBinding.profile.backend.filesystem.dockerRootDir,\n },\n afterStop: managed?.finish,\n }),\n };\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => managed === undefined\n ? DockerSandbox.create(createOptions)\n : DockerSandbox.createControlled(createOptions, (create) => createDockerProfileContainer(managed.lease, managed.reservation.reservationId, { ...create, attemptId: context.evalId }))), classifyProvisionError, boundProvisionSlot(context), context.feedback, managed === undefined\n ? providerBoundaryEffect(() => reconcileProvision(provisionToken, plan.profileBinding?.dockerSocketPath))\n : Effect.void);\n return wrapSingleSandbox(backend, context, { image: resolved.locator });\n }).pipe(Effect.onError(() => managed === undefined\n ? Effect.void\n : providerBoundaryEffect(() => managed.finish()).pipe(Effect.ignore)));\n }))),\n });\n}\nfunction defaultDockerImageExists(locator: string): Effect.Effect<boolean> {\n // dockerode 是 optional peer;只在 Dockerfile Agent 缓存路径真查镜像时加载。\n // 缺少 peer、daemon 不可用和镜像不存在在此 lookup 的语义里都只是 cache miss。\n return providerBoundaryEffect(async () => {\n const { default: Docker } = await __niceevalDynamicImport(\"dockerode\");\n await new Docker().getImage(locator).inspect();\n return true;\n }).pipe(Effect.catchAll(() => Effect.succeed(false)));\n}\nfunction resolveDockerfileAgentImage(plan: DockerfileProviderPlan, context: SandboxRuntimeMaterializeContext, taskLocator: string): Effect.Effect<{\n readonly status: \"hit\" | \"built\" | \"unsupported\";\n readonly locator: string;\n}, Error> {\n // Derived Agent image coordination is still bound to the default Docker endpoint.\n // A profile Dockerfile must never cross daemons, so consume the task image directly.\n if (plan.profileBinding !== undefined || plan.dockerAccess !== undefined) {\n return Effect.succeed({ status: \"unsupported\", locator: taskLocator });\n }\n const request = dockerfileAgentCacheRequest(plan, context.agent, taskLocator, context.plan.providerPlan.target.platform);\n if (request === undefined)\n return Effect.succeed({ status: \"unsupported\", locator: taskLocator });\n return dockerfileAgentImageCoordinator.resolve(request, context.signal, (input, signal) => buildDockerfileAgentImage(input, request, context.plan.providerPlan.target.platform, signal), context.runTiming);\n}\nfunction dockerfileAgentCacheRequest(plan: DockerfileProviderPlan, agent: SandboxAgent | undefined, taskLocator: string, targetPlatform: import(\"../agents/types.ts\").AgentArtifactPlatform): DockerfileAgentCacheRequest | undefined {\n if (agent === undefined || agent.ensure.length !== 1)\n return undefined;\n const ensure = agent.ensure[0];\n if (ensure === undefined)\n return undefined;\n const installer = agent.installers.find((candidate) => candidate.installMode === \"staged\" &&\n isDockerfileAgentCacheSafeInstaller(candidate) &&\n sameAgentIdentity(candidate.identity, ensure.identity));\n if (installer === undefined)\n return undefined;\n return {\n taskLocator,\n platform: `${plan.platform}|${platformKey(targetPlatform)}`,\n ensure,\n installer,\n };\n}\nfunction sameAgentIdentity(a: AgentIdentity, b: AgentIdentity): boolean {\n return a.agent === b.agent && a.version === b.version && a.revision === b.revision;\n}\nfunction buildDockerfileAgentImage(input: DockerfileAgentDerivedImageBuildInput, request: DockerfileAgentCacheRequest, targetPlatform: import(\"../agents/types.ts\").AgentArtifactPlatform, signal: AbortSignal): Effect.Effect<void, Error> {\n return buildDockerfileAgentImageWithServices(input, request, targetPlatform, signal);\n}\nexport interface DockerfileAgentImageProvisionSandbox {\n readonly operations: import(\"./types.ts\").SandboxOperations;\n readonly sandboxId: string;\n stop(): Promise<void>;\n}\nexport interface DockerfileAgentImageProvisionServices {\n readonly create: (taskLocator: string) => Effect.Effect<DockerfileAgentImageProvisionSandbox, Error>;\n readonly commit: (sandboxId: string, derivedLocator: string) => Effect.Effect<void, Error>;\n}\nconst liveDockerfileAgentImageProvisionServices: DockerfileAgentImageProvisionServices = Object.freeze({\n create: (taskLocator: string) => providerBoundaryEffect(async () => {\n const { DockerSandbox } = await __niceevalDynamicImport(\"./docker.cjs\");\n const sandbox = await DockerSandbox.create({ image: taskLocator, runtime: \"node24\" });\n return { operations: sandbox, sandboxId: sandbox.sandboxId, stop: () => sandbox.stop() };\n }),\n commit: (sandboxId: string, derivedLocator: string) => providerBoundaryEffect(async () => {\n // dockerode 是 optional peer;commit 派生镜像时才加载(与 keep/orphans 同模式)。\n const { default: Docker } = await __niceevalDynamicImport(\"dockerode\");\n await new Docker().getContainer(sandboxId).commit(dockerCommitReference(derivedLocator));\n }),\n});\n/** Dockerode 的 commit 参数把仓库与 tag 分开;不能把 `repo:tag` 整串塞进 repo。 */\nexport function dockerCommitReference(locator: string): {\n readonly repo: string;\n readonly tag?: string;\n} {\n const slash = locator.lastIndexOf(\"/\");\n const colon = locator.lastIndexOf(\":\");\n if (colon > slash) {\n return { repo: locator.slice(0, colon), tag: locator.slice(colon + 1) };\n }\n return { repo: locator };\n}\nexport function buildDockerfileAgentImageWithServices(input: DockerfileAgentDerivedImageBuildInput, request: DockerfileAgentCacheRequest, targetPlatform: import(\"../agents/types.ts\").AgentArtifactPlatform, signal: AbortSignal, services: DockerfileAgentImageProvisionServices = liveDockerfileAgentImageProvisionServices): Effect.Effect<void, Error> {\n return Effect.scoped(Effect.gen(function* () {\n // AbortSignal 属于外层 invocation 的中断语义;绝不伪造为一个 typed provisioning error。\n if (signal.aborted)\n return yield* Effect.interrupt;\n const provisioned = yield* Effect.acquireRelease(services.create(input.taskLocator), \n // acquireRelease finalizer 必须是 never-fail。这里仍尝试真实 stop;它失败时保留原有\n // build cause,而不是在 cleanup 路径把 interruption/defect 改写成 typed failure。\n (sandbox) => providerBoundaryEffect(() => sandbox.stop()).pipe(Effect.catchAll(() => Effect.void)));\n yield* runAgentEnsure([request.ensure], [request.installer], provisioned.operations, {\n coordinator: Option.some(new ArtifactPrepareCoordinator()),\n targetPlatform,\n signal,\n progress: () => { },\n });\n yield* services.commit(provisioned.sandboxId, input.derivedLocator);\n }));\n}\nexport function materializeDockerImageProviderPlan(plan: DockerImageProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return materializationEffect(context, Effect.gen(function* () {\n const { DockerSandbox, classifyProvisionError, reconcileProvision } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./docker.cjs\"));\n const managed = plan.profileBinding === undefined\n ? undefined\n : yield* providerBoundaryEffect(() => managedContainerSession(plan.profileBinding!, plan.resources, context.signal));\n const provisionToken = managed?.reservation.provisionToken ?? randomUUID();\n return yield* Effect.gen(function* () {\n const createOptions: Parameters<typeof DockerSandbox.create>[0] = {\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n image: plan.image,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n privileged: plan.privileged,\n ...(plan.dockerAccess === undefined ? {} : { dockerAccess: plan.dockerAccess }),\n resources: plan.resources,\n ...(plan.readiness === undefined ? {} : { readiness: plan.readiness }),\n lifetimeMs: configuredLifetime(plan.lifetime),\n pathPrepend: plan.pathPrepend,\n feedback: context.feedback,\n provisionToken,\n runIdentity: currentRunIdentity(),\n ...(plan.profileBinding === undefined ? {} : {\n dockerSocketPath: plan.profileBinding.dockerSocketPath,\n ...(plan.profileBinding.profile.policy.level === \"managed-rootless/v1\"\n ? { dns: plan.profileBinding.profile.policy.network.dns.servers }\n : {}),\n managedLabels: managed?.labels,\n rootlessAttestation: {\n daemonId: plan.profileBinding.daemonId,\n dataRoot: plan.profileBinding.profile.backend.filesystem.dockerRootDir,\n },\n afterStop: managed?.finish,\n }),\n };\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => managed === undefined\n ? DockerSandbox.create(createOptions)\n : DockerSandbox.createControlled(createOptions, (create) => createDockerProfileContainer(managed.lease, managed.reservation.reservationId, { ...create, attemptId: context.evalId }))), classifyProvisionError, boundProvisionSlot(context), context.feedback, managed === undefined\n ? providerBoundaryEffect(() => reconcileProvision(provisionToken, plan.profileBinding?.dockerSocketPath))\n : Effect.void);\n return wrapSingleSandbox(backend, context, { image: plan.image });\n }).pipe(Effect.onError(() => managed === undefined\n ? Effect.void\n : providerBoundaryEffect(() => managed.finish()).pipe(Effect.ignore)));\n }));\n}\nexport function materializeE2BProviderPlan(plan: E2BProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return materializationEffect(context, Effect.gen(function* () {\n const lifetime = e2bLifetimeRequest(plan.lifetime, context.deadline);\n const { E2BSandbox, classifyProvisionError, reconcileProvision } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./e2b.cjs\"));\n const provisionToken = randomUUID();\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => E2BSandbox.create({\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n template: plan.template,\n ...(plan.user._tag === \"Configured\" ? { user: plan.user.value } : {}),\n lifetime,\n pathPrepend: plan.pathPrepend,\n provisionToken,\n runIdentity: currentRunIdentity(),\n })), classifyProvisionError, boundProvisionSlot(context), context.feedback, providerBoundaryEffect(() => reconcileProvision(provisionToken)));\n return wrapSingleSandbox(backend, context, { template: plan.template });\n }));\n}\nexport function materializeVercelProviderPlan(plan: VercelProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return materializationEffect(context, Effect.gen(function* () {\n const { VercelSandbox, classifyProvisionError } = yield* providerBoundaryEffect(() => __niceevalDynamicImport(\"./vercel.cjs\"));\n const backend = yield* withProvisionRetry(providerBoundaryEffect(() => VercelSandbox.create({\n ...deadlineOptions(context.deadline),\n runtime: \"node24\",\n snapshotId: plan.snapshotId,\n lifetimeMs: configuredLifetime(plan.lifetime),\n pathPrepend: plan.pathPrepend,\n feedback: context.feedback,\n })), classifyProvisionError, boundProvisionSlot(context), context.feedback);\n return wrapSingleSandbox(backend, context, { snapshotId: plan.snapshotId });\n }));\n}\nexport function materializeCustomProviderPlan(plan: CustomProviderPlan, context: SandboxRuntimeMaterializeContext, create: CustomProviderSandboxOptions[\"create\"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return Effect.flatMap(create({ deadline: context.deadline, runtime: \"node24\", feedback: context.feedback }).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))), (sandbox) => Effect.try({\n try: () => wrapSingleSandbox(customSandboxBackend(sandbox), context, { provider: plan.name }),\n catch: (cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause),\n }).pipe(\n // create 已经交出真实资源,但 acquireRelease 只有在本 Effect 成功后才会登记 finalizer。\n // facade 归一化若在这个窄窗口失败,必须原地 stop,不能让裸资源逃出 Scope。\n Effect.tapError(() => Effect.tryPromise({\n try: () => sandbox.stop(),\n catch: () => undefined,\n }).pipe(Effect.ignore))));\n}\nexport function materializeCustomCaseProviderPlan(plan: CustomCaseProviderPlan, context: SandboxRuntimeMaterializeContext, materialize: CustomCaseSandboxOptions[\"materialize\"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError> {\n return Effect.flatMap(materialize({\n evalId: context.evalId,\n profile: context.evalId,\n signal: context.signal,\n buildLocators: context.buildLocators,\n }).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))), (rawResult) => Effect.try({\n try: () => {\n const result = validateCustomCaseMaterializeResult(rawResult, plan.services);\n return normalizeMaterialized({\n sandbox: result.sandbox,\n // 自定义 case 的显式适配点:author 返回的公共 Sandbox 在这里降成 provider backend,\n // 供 attempt-scope author facade 使用;resource facade 仍由 normalizeMaterialized 归一。\n authorBackend: customSandboxBackend(result.sandbox),\n ...(result.services._tag === \"Available\" ? { services: result.services.value } : {}),\n group: result.group,\n caseKind: \"custom\",\n caseKey: context.plan.providerPlan.build.caseKey,\n buildKeys: context.plan.providerPlan.build.buildKeys,\n identity: context.plan.providerPlan.identity,\n facts: result.facts,\n }, context);\n },\n catch: (cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause),\n }).pipe(Effect.catchAll((failure) => Effect.zipRight(stopInvalidCustomCaseResult(rawResult), Effect.fail(failure)))));\n}\nfunction validateCustomCaseMaterializeResult(value: unknown, declaredServices: CustomCaseServices): CustomCaseMaterializeResult {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw new TypeError(\"defineSandboxCase materialize() must return an object\");\n }\n const result = value as globalThis.Record<string, unknown>;\n const extra = Object.keys(result).filter((key) => key !== \"sandbox\" && key !== \"group\" && key !== \"services\" && key !== \"facts\");\n if (extra.length > 0) {\n throw new TypeError(`defineSandboxCase materialize() returned unsupported field(s): ${extra.join(\", \")}`);\n }\n if (result.sandbox === null || typeof result.sandbox !== \"object\") {\n throw new TypeError(\"defineSandboxCase materialize() must return sandbox\");\n }\n const group = validateCustomCaseResourceGroup(result.group);\n const services = validateCustomCaseServices(result.services, declaredServices);\n if (!isPureDataIdentity(result.facts)) {\n throw new TypeError(\"defineSandboxCase materialize() facts must be pure JSON data\");\n }\n return {\n sandbox: result.sandbox as Sandbox,\n group,\n services,\n facts: result.facts,\n };\n}\nfunction validateCustomCaseResourceGroup(value: unknown): SandboxResourceGroup {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw new TypeError(\"defineSandboxCase materialize() must return group\");\n }\n const group = value as globalThis.Record<string, unknown>;\n const extra = Object.keys(group).filter((key) => key !== \"primary\" && key !== \"resources\" && key !== \"stop\");\n if (extra.length > 0) {\n throw new TypeError(`defineSandboxCase materialize() group returned unsupported field(s): ${extra.join(\", \")}`);\n }\n if (group.primary === null || typeof group.primary !== \"object\" || Array.isArray(group.primary)) {\n throw new TypeError(\"defineSandboxCase materialize() group.primary must be a SandboxLocator\");\n }\n const primary = group.primary as globalThis.Record<string, unknown>;\n if (typeof primary.sandboxId !== \"string\" || primary.sandboxId.length === 0) {\n throw new TypeError(\"defineSandboxCase materialize() group.primary.sandboxId must be a non-empty string\");\n }\n if (primary.provider !== undefined && typeof primary.provider !== \"string\") {\n throw new TypeError(\"defineSandboxCase materialize() group.primary.provider must be a string\");\n }\n if (!isPureDataIdentity(group.resources)) {\n throw new TypeError(\"defineSandboxCase materialize() group.resources must be pure JSON data\");\n }\n if (typeof group.stop !== \"function\") {\n throw new TypeError(\"defineSandboxCase materialize() group.stop must be a function\");\n }\n return value as SandboxResourceGroup;\n}\nfunction validateCustomCaseServices(value: unknown, declared: CustomCaseServices): CustomCaseMaterializeResult[\"services\"] {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw new TypeError(\"defineSandboxCase materialize() services must be a tagged value\");\n }\n const services = value as globalThis.Record<string, unknown>;\n if (services._tag === \"None\") {\n if (Object.keys(services).some((key) => key !== \"_tag\")) {\n throw new TypeError('defineSandboxCase materialize() services \"None\" cannot contain a value');\n }\n if (declared._tag === \"Supported\") {\n throw new TypeError('defineSandboxCase declared services \"Supported\" but materialize() returned \"None\"');\n }\n return { _tag: \"None\" };\n }\n if (services._tag !== \"Available\") {\n throw new TypeError('defineSandboxCase materialize() services must be { _tag: \"None\" } or { _tag: \"Available\", value }');\n }\n if (Object.keys(services).some((key) => key !== \"_tag\" && key !== \"value\")) {\n throw new TypeError('defineSandboxCase materialize() services \"Available\" has unsupported fields');\n }\n if (declared._tag === \"Unsupported\") {\n throw new TypeError('defineSandboxCase declared services \"Unsupported\" but materialize() returned \"Available\"');\n }\n if (services.value === null || typeof services.value !== \"object\") {\n throw new TypeError('defineSandboxCase materialize() services \"Available\" needs a ServiceController');\n }\n const controller = services.value as globalThis.Record<string, unknown>;\n if (typeof controller.exec !== \"function\" ||\n typeof controller.collectLogs !== \"function\" ||\n typeof controller.stop !== \"function\") {\n throw new TypeError('defineSandboxCase materialize() services \"Available\" needs exec, collectLogs, and stop functions');\n }\n return { _tag: \"Available\", value: services.value as ServiceController };\n}\nfunction stopInvalidCustomCaseResult(value: unknown): Effect.Effect<void> {\n if (value === null || typeof value !== \"object\")\n return Effect.void;\n const group = (value as globalThis.Record<string, unknown>).group;\n if (group === null || typeof group !== \"object\")\n return Effect.void;\n const stop = (group as globalThis.Record<string, unknown>).stop;\n if (typeof stop !== \"function\")\n return Effect.void;\n return Effect.tryPromise({\n try: async () => {\n await stop.call(group);\n },\n catch: () => undefined,\n }).pipe(Effect.ignore);\n}\nexport function collectDockerComposeProviderBuildPreparation(plan: DockerComposeProviderPlan, published: SandboxProviderPlan, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError> {\n return Effect.gen(function* () {\n const file = plan.file._tag === \"Url\" ? new URL(plan.file.value) : plan.file.value;\n const collection = yield* collectComposeBuilds({\n file,\n mainService: plan.workspaceService,\n platform: plan.collection.platform,\n env: plan.env,\n }).pipe(Effect.mapError((cause) => buildFailure(published, \"sandbox.build-input-drift\", cause)));\n return yield* Effect.try({\n try: () => {\n assertSameBuildKeys(plan.collection.buildKeys, collection.buildKeys, \"Compose\");\n if (digestOf(composeCollectionIdentity(plan.collection)) !== digestOf(composeCollectionIdentity(collection))) {\n throw new Error(\"Compose case inputs changed after physical planning. Restart the Run to plan the new inputs.\");\n }\n return Option.some({\n works: collection.works,\n provider: dockerComposeBuildProvider({ env: plan.env }),\n });\n },\n catch: (cause) => buildFailure(published, \"sandbox.build-input-drift\", cause),\n });\n });\n}\nexport function collectDockerfileProviderBuildPreparation(plan: DockerfileProviderPlan, published: SandboxProviderPlan, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError> {\n return Effect.gen(function* () {\n const collection = yield* collectDockerfileBuildFromIdentity({\n provider: \"docker\",\n profile: evalId,\n context: plan.context,\n dockerfile: plan.dockerfile,\n buildArgs: plan.buildArgs,\n ...(plan.target === undefined ? {} : { target: plan.target }),\n platform: plan.platform,\n expected: plan.build,\n ...(plan.profileBinding === undefined ? {} : { dockerSocketPath: plan.profileBinding.dockerSocketPath }),\n }).pipe(Effect.mapError((cause) => buildFailure(published, \"sandbox.build-input-drift\", cause)));\n return yield* Effect.try({\n try: () => {\n if (collection.buildKey !== plan.buildKey) {\n throw new Error(\"Dockerfile build inputs changed after physical planning. Restart the Run to plan the new inputs.\");\n }\n const provider = dockerfileBuildProvider([collection]);\n const managedProvider: SandboxBuildProvider = plan.profileBinding === undefined ? provider : {\n lookup: (work, signal) => provider.lookup(work, signal),\n async build(work, buildContext) {\n const lease = await createDockerProfileLease(plan.profileBinding!);\n let reservation: import(\"./docker-profile/runtime.ts\").DockerProfileReservation | undefined;\n let network: import(\"dockerode\").Network | undefined;\n try {\n reservation = await acquireDockerProfileReservation(lease, \"build\", {\n cpus: 0, memoryBytes: 0, pids: 0, containers: 0, ephemeralDiskBytes: 0,\n }, buildContext.signal);\n const labels = Object.freeze({\n \"niceeval.profile-id\": plan.profileBinding!.profile.profileId,\n \"niceeval.invocation-id\": lease.invocationId,\n \"niceeval.reservation-id\": reservation.reservationId,\n \"niceeval.provision-token\": reservation.provisionToken,\n });\n const [{ default: Docker }, { dockerManagedNetworkOptions }] = await Promise.all([\n __niceevalDynamicImport(\"dockerode\"),\n __niceevalDynamicImport(\"./docker.cjs\"),\n ]);\n const docker = new Docker({ socketPath: plan.profileBinding!.dockerSocketPath });\n network = await docker.createNetwork(dockerManagedNetworkOptions(reservation.provisionToken, randomUUID(), labels));\n await commitDockerProfileReservation(lease, reservation.reservationId, { networkId: network.id });\n const buildCollection = Object.freeze({\n ...collection,\n details: Object.freeze({ ...collection.details, dockerNetworkMode: network.id }),\n });\n const locator = await dockerfileBuildProvider([buildCollection]).build(work, buildContext);\n await network.remove();\n network = undefined;\n await releaseDockerProfileReservation(lease, reservation.reservationId, {\n daemonRequestTerminated: true,\n buildkitSessionGone: true,\n processActivityZero: true,\n provisionalRefResolvedOrRemoved: true,\n });\n return locator;\n }\n finally {\n await network?.remove().catch(() => undefined);\n if (reservation !== undefined) {\n await releaseDockerProfileReservation(lease, reservation.reservationId, {\n daemonRequestTerminated: true,\n buildkitSessionGone: true,\n processActivityZero: true,\n provisionalRefResolvedOrRemoved: true,\n }).catch(() => undefined);\n }\n await lease.stopHeartbeat().catch(() => undefined);\n }\n },\n ...(provider.cancel === undefined ? {} : { cancel: (work) => provider.cancel!(work) }),\n };\n return Option.some({\n works: [collection.work],\n provider: managedProvider,\n });\n },\n catch: (cause) => buildFailure(published, \"sandbox.build-input-drift\", cause),\n });\n });\n}\nfunction assertSameBuildKeys(planned: readonly string[], collected: readonly string[], label: string): void {\n const expected = [...planned].sort();\n const actual = [...collected].sort();\n if (expected.length === actual.length && expected.every((key, index) => key === actual[index]))\n return;\n throw new Error(`${label} build inputs changed after physical planning; planned ${expected.join(\", \") || \"none\"}, ` +\n `collected ${actual.join(\", \") || \"none\"}. Restart the Run to plan the new inputs.`);\n}\n/** Public hook callbacks are an outer Promise boundary; runtime composition stays Effect-native. */\nfunction runSetupHooks(hooks: readonly SandboxHook[], sandbox: Sandbox, context: SandboxHookContext): Effect.Effect<void, unknown> {\n return Effect.forEach(hooks, (hook) => Effect.tryPromise({\n try: () => Promise.resolve(hook(sandbox, context)),\n catch: (cause) => cause,\n }), { discard: true });\n}\n/** Teardown remains LIFO and diagnostic-only, but a teardown defect cannot skip the case finalizer. */\nfunction runTeardownHooks(hooks: readonly SandboxHook[], sandbox: Sandbox, context: SandboxHookContext): Effect.Effect<void> {\n return Effect.forEach([...hooks].reverse(), (hook) => {\n const cleanupContext = { ...context, signal: AbortSignal.timeout(CLEANUP_TIMEOUT_MS) };\n return cleanupCallback(() => hook(sandbox, cleanupContext)).pipe(Effect.catchAll((cause) => Effect.sync(() => {\n context.diagnostic({\n code: \"sandbox-teardown-failed\",\n level: \"warning\",\n message: cause instanceof Error ? cause.message : String(cause),\n });\n })));\n }, { discard: true });\n}\nconst activatedSandboxPluginCounts = new WeakMap<object, number>();\nfunction runSandboxPluginSetups(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase): Effect.Effect<void, unknown> {\n return Effect.forEach(input.plan.pair.pluginLifecycles, (entry, index) => {\n activatedSandboxPluginCounts.set(owned, index + 1);\n const setup = entry.lifecycle.setup;\n if (setup === undefined)\n return Effect.void;\n return Effect.tryPromise({\n try: () => Promise.resolve((setup as (sandbox: Sandbox, context: SandboxHookContext) => void | Promise<void>)(owned.sandbox, input.hookContext)),\n catch: (cause) => cause,\n });\n }, { discard: true });\n}\nfunction runSandboxPluginTeardowns(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase): Effect.Effect<void> {\n const count = activatedSandboxPluginCounts.get(owned) ?? 0;\n return Effect.forEach(input.plan.pair.pluginLifecycles.slice(0, count).reverse(), (entry) => {\n const teardown = entry.lifecycle.teardown;\n if (teardown === undefined)\n return Effect.void;\n const cleanupContext = { ...input.hookContext, signal: AbortSignal.timeout(CLEANUP_TIMEOUT_MS) };\n return cleanupCallback(() => (teardown as (sandbox: Sandbox, context: SandboxHookContext) => void | Promise<void>)(owned.sandbox, cleanupContext)).pipe(Effect.catchAll((cause) => Effect.sync(() => input.feedback.diagnostic({\n code: \"plugin-lifecycle-teardown-failed\",\n level: \"warning\",\n message: cause instanceof Error ? cause.message : String(cause),\n }))));\n }, { discard: true });\n}\nfunction reportReleaseFailure(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase, cause: Error): Effect.Effect<void> {\n return Effect.sync(() => {\n const resources = owned.group.resources;\n const projectName = resources !== null && typeof resources === \"object\" && !Array.isArray(resources) &&\n typeof (resources as globalThis.Record<string, JsonValue>).projectName === \"string\"\n ? (resources as globalThis.Record<string, JsonValue>).projectName as string\n : undefined;\n input.feedback.diagnostic({\n code: \"sandbox-stop-failed\",\n level: \"warning\",\n message: `Sandbox ${owned.sandbox.sandboxId} provider cleanup failed: ${cause.message}.` +\n (projectName === undefined\n ? \"\"\n : ` Compose project ${projectName} remains recoverable with \\`niceeval sandbox list --orphans\\` / \\`niceeval sandbox prune\\`.`),\n data: {\n provider: input.plan.providerPlan.provider,\n sandboxId: owned.sandbox.sandboxId,\n ...(projectName !== undefined ? { projectName } : {}),\n },\n dedupeKey: projectName === undefined\n ? `sandbox-stop-failed:${owned.sandbox.sandboxId}`\n : `sandbox-stop-failed:${projectName}`,\n });\n });\n}\nfunction releaseOwned(input: SandboxRuntimeMaterializeInput, owned: MaterializedSandboxCase): Effect.Effect<void> {\n const release = input.release._tag === \"Stop\"\n ? providerBoundaryEffect(() => owned.group.stop())\n : input.release.run(owned);\n // catchAll only handles the provider's typed failure. Defects and interruption remain in their\n // original Cause, while ensuring guarantees the resource group release even if a hook defects.\n const releaseWithDiagnostic = release.pipe(Effect.catchAll((cause) => reportReleaseFailure(input, owned, cause)));\n return runSandboxPluginTeardowns(input, owned).pipe(Effect.zipRight(runTeardownHooks(input.plan.pair.teardownHooks, owned.sandbox, input.hookContext)), Effect.ensuring(releaseWithDiagnostic));\n}\nfunction sortedBuildKeys(keys: Iterable<BuildKey>): readonly BuildKey[] {\n return Object.freeze([...keys].sort());\n}\n/** 动态 locator 只负责把已规划 BuildKey 绑定到产物;不能在物化时改写 physical plan。 */\nfunction verifyBuildLocators(context: SandboxRuntimeMaterializeContext): Effect.Effect<void, SandboxRuntimeMaterializationError> {\n const planned = sortedBuildKeys(context.plan.providerPlan.build.buildKeys);\n const provided = sortedBuildKeys(context.buildLocators.keys());\n const missing = planned.filter((key) => !context.buildLocators.has(key));\n if (missing.length > 0) {\n return Effect.fail(runtimeFailure(context, \"sandbox.build-locator-missing\", new Error(`Missing build locators for planned BuildKey(s): ${missing.join(\", \")}`)));\n }\n if (planned.length !== provided.length || planned.some((key, index) => key !== provided[index])) {\n return Effect.fail(runtimeFailure(context, \"sandbox.build-input-drift\", new Error(\"Runtime build locator keys differ from the physical plan.\")));\n }\n return Effect.void;\n}\n/** Provider 产物是动态边界;出来即核验,不能把新的 CaseKey / BuildKey 带入领域态。 */\nfunction verifyMaterializedIdentity(context: SandboxRuntimeMaterializeContext, owned: MaterializedSandboxCase): Effect.Effect<void, SandboxRuntimeMaterializationError> {\n const planned = context.plan.providerPlan.build;\n const actualKeys = sortedBuildKeys(owned.buildKeys);\n const plannedKeys = sortedBuildKeys(planned.buildKeys);\n if (owned.caseKey !== planned.caseKey ||\n actualKeys.length !== plannedKeys.length ||\n plannedKeys.some((key, index) => key !== actualKeys[index])) {\n return Effect.fail(runtimeFailure(context, \"sandbox.build-input-drift\", new Error(\"Materialized CaseKey or BuildKey set differs from the physical plan.\")));\n }\n return Effect.void;\n}\n/** 完整 plan 的唯一物化入口;Scope 退出恒执行声明的 release,不允许裸资源逃逸。 */\nexport function materializeSandboxRunPlan(input: SandboxRuntimeMaterializeInput): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError, Scope.Scope> {\n const context: SandboxRuntimeMaterializeContext = {\n plan: input.plan,\n evalId: input.evalId,\n deadline: input.deadline,\n feedback: input.feedback,\n signal: input.signal,\n hookContext: input.hookContext,\n buildLocators: input.buildLocators,\n provisionSlot: input.provisionSlot,\n services: input.services,\n ...(input.agent !== undefined ? { agent: input.agent } : {}),\n ...(input.runTiming !== undefined ? { runTiming: input.runTiming } : {}),\n };\n return Effect.zipRight(verifyBuildLocators(context), Effect.acquireRelease(Effect.flatMap(providerBinding(input.plan), (binding) => binding.materialize(context)), (owned) => releaseOwned(input, owned)).pipe(Effect.tap((owned) => verifyMaterializedIdentity(context, owned)), Effect.tap((owned) => runSetupHooks(input.plan.pair.setupHooks, owned.sandbox, input.hookContext).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause)))), Effect.tap((owned) => runSandboxPluginSetups(input, owned).pipe(Effect.mapError((cause) => runtimeFailure(context, \"sandbox.materialization-failed\", cause))))));\n}\n/** Build preparation 同样只调用 private binding,不按 provider/module id 分支。 */\nexport function collectSandboxRuntimeBuildPreparation(plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n}>, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError> {\n return Effect.flatMap(providerBinding(plan), (binding) => binding.collectBuildPreparation(evalId));\n}\n/** 调度能力来自完成态 ProviderModule binding;core 不从 provider 名推导。 */\nexport function sandboxRuntimeCapabilities(plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n}>): SandboxRuntimeCapabilities {\n const capabilities = plan.providerPlan.capabilities;\n return Object.freeze({\n provider: plan.providerPlan.provider,\n schedulingLane: plan.providerPlan.scheduling.lane.key,\n admission: plan.providerPlan.scheduling.admission._tag,\n retention: capabilities.retention,\n reuse: capabilities.reuse,\n sessionLimit: capabilities.sessionLimit,\n });\n}\n"]}
@@ -4,7 +4,7 @@ import type { MaterializedSandboxCase } from "./case-types.cjs";
4
4
  import { materializeDockerComposeProviderCase } from "./compose.cjs";
5
5
  import { type DockerfileAgentCacheRequest, type DockerfileAgentDerivedImageBuildInput } from "./dockerfile-agent-cache.cjs";
6
6
  import type { SandboxBuildProvider, SandboxBuildWork } from "./build-coordinator.cjs";
7
- import { type CustomCaseProviderPlan, type CustomCaseSandboxOptions, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type LocalProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan } from "./layer.cjs";
7
+ import { type CustomCaseProviderPlan, type CustomCaseSandboxOptions, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan } from "./layer.cjs";
8
8
  import { type BuildKey } from "./identity.cjs";
9
9
  import type { LinkedRunPlan } from "./plan.cjs";
10
10
  import type { JsonValue, SandboxHookContext, ScopedFeedback } from "../types.cjs";
@@ -98,7 +98,6 @@ export declare function buildDockerfileAgentImageWithServices(input: DockerfileA
98
98
  export declare function materializeDockerImageProviderPlan(plan: DockerImageProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
99
99
  export declare function materializeE2BProviderPlan(plan: E2BProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
100
100
  export declare function materializeVercelProviderPlan(plan: VercelProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
101
- export declare function materializeLocalProviderPlan(plan: LocalProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
102
101
  export declare function materializeCustomProviderPlan(plan: CustomProviderPlan, context: SandboxRuntimeMaterializeContext, create: CustomProviderSandboxOptions["create"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
103
102
  export declare function materializeCustomCaseProviderPlan(plan: CustomCaseProviderPlan, context: SandboxRuntimeMaterializeContext, materialize: CustomCaseSandboxOptions["materialize"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
104
103
  export declare function collectDockerComposeProviderBuildPreparation(plan: DockerComposeProviderPlan, published: SandboxProviderPlan, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError>;
@@ -4,7 +4,7 @@ import type { MaterializedSandboxCase } from "./case-types.mjs";
4
4
  import { materializeDockerComposeProviderCase } from "./compose.mjs";
5
5
  import { type DockerfileAgentCacheRequest, type DockerfileAgentDerivedImageBuildInput } from "./dockerfile-agent-cache.mjs";
6
6
  import type { SandboxBuildProvider, SandboxBuildWork } from "./build-coordinator.mjs";
7
- import { type CustomCaseProviderPlan, type CustomCaseSandboxOptions, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type LocalProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan } from "./layer.mjs";
7
+ import { type CustomCaseProviderPlan, type CustomCaseSandboxOptions, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan } from "./layer.mjs";
8
8
  import { type BuildKey } from "./identity.mjs";
9
9
  import type { LinkedRunPlan } from "./plan.mjs";
10
10
  import type { JsonValue, SandboxHookContext, ScopedFeedback } from "../types.mjs";
@@ -98,7 +98,6 @@ export declare function buildDockerfileAgentImageWithServices(input: DockerfileA
98
98
  export declare function materializeDockerImageProviderPlan(plan: DockerImageProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
99
99
  export declare function materializeE2BProviderPlan(plan: E2BProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
100
100
  export declare function materializeVercelProviderPlan(plan: VercelProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
101
- export declare function materializeLocalProviderPlan(plan: LocalProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
102
101
  export declare function materializeCustomProviderPlan(plan: CustomProviderPlan, context: SandboxRuntimeMaterializeContext, create: CustomProviderSandboxOptions["create"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
103
102
  export declare function materializeCustomCaseProviderPlan(plan: CustomCaseProviderPlan, context: SandboxRuntimeMaterializeContext, materialize: CustomCaseSandboxOptions["materialize"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
104
103
  export declare function collectDockerComposeProviderBuildPreparation(plan: DockerComposeProviderPlan, published: SandboxProviderPlan, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError>;
@@ -4,7 +4,7 @@ import type { MaterializedSandboxCase } from "./case-types.js";
4
4
  import { materializeDockerComposeProviderCase } from "./compose.js";
5
5
  import { type DockerfileAgentCacheRequest, type DockerfileAgentDerivedImageBuildInput } from "./dockerfile-agent-cache.js";
6
6
  import type { SandboxBuildProvider, SandboxBuildWork } from "./build-coordinator.js";
7
- import { type CustomCaseProviderPlan, type CustomCaseSandboxOptions, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type LocalProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan } from "./layer.js";
7
+ import { type CustomCaseProviderPlan, type CustomCaseSandboxOptions, type CustomProviderPlan, type CustomProviderSandboxOptions, type DockerComposeProviderPlan, type DockerfileProviderPlan, type DockerImageProviderPlan, type E2BProviderPlan, type SandboxProviderCapabilities, type SandboxProviderLifetime, type SandboxProviderPlan, type SandboxRuntimeDeadlineDeclaration, type VercelProviderPlan } from "./layer.js";
8
8
  import { type BuildKey } from "./identity.js";
9
9
  import type { LinkedRunPlan } from "./plan.js";
10
10
  import type { JsonValue, SandboxHookContext, ScopedFeedback } from "../types.js";
@@ -98,7 +98,6 @@ export declare function buildDockerfileAgentImageWithServices(input: DockerfileA
98
98
  export declare function materializeDockerImageProviderPlan(plan: DockerImageProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
99
99
  export declare function materializeE2BProviderPlan(plan: E2BProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
100
100
  export declare function materializeVercelProviderPlan(plan: VercelProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
101
- export declare function materializeLocalProviderPlan(plan: LocalProviderPlan, context: SandboxRuntimeMaterializeContext): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
102
101
  export declare function materializeCustomProviderPlan(plan: CustomProviderPlan, context: SandboxRuntimeMaterializeContext, create: CustomProviderSandboxOptions["create"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
103
102
  export declare function materializeCustomCaseProviderPlan(plan: CustomCaseProviderPlan, context: SandboxRuntimeMaterializeContext, materialize: CustomCaseSandboxOptions["materialize"]): Effect.Effect<MaterializedSandboxCase, SandboxRuntimeMaterializationError>;
104
103
  export declare function collectDockerComposeProviderBuildPreparation(plan: DockerComposeProviderPlan, published: SandboxProviderPlan, evalId: string): Effect.Effect<Option.Option<SandboxRuntimeBuildPreparation>, SandboxRuntimeMaterializationError>;
@@ -29,12 +29,10 @@ const __niceevalExport12 = __niceevalCanonical["materializeDockerfileProviderPla
29
29
  export { __niceevalExport12 as materializeDockerfileProviderPlan };
30
30
  const __niceevalExport13 = __niceevalCanonical["materializeE2BProviderPlan"];
31
31
  export { __niceevalExport13 as materializeE2BProviderPlan };
32
- const __niceevalExport14 = __niceevalCanonical["materializeLocalProviderPlan"];
33
- export { __niceevalExport14 as materializeLocalProviderPlan };
34
- const __niceevalExport15 = __niceevalCanonical["materializeSandboxRunPlan"];
35
- export { __niceevalExport15 as materializeSandboxRunPlan };
36
- const __niceevalExport16 = __niceevalCanonical["materializeVercelProviderPlan"];
37
- export { __niceevalExport16 as materializeVercelProviderPlan };
38
- const __niceevalExport17 = __niceevalCanonical["sandboxRuntimeCapabilities"];
39
- export { __niceevalExport17 as sandboxRuntimeCapabilities };
32
+ const __niceevalExport14 = __niceevalCanonical["materializeSandboxRunPlan"];
33
+ export { __niceevalExport14 as materializeSandboxRunPlan };
34
+ const __niceevalExport15 = __niceevalCanonical["materializeVercelProviderPlan"];
35
+ export { __niceevalExport15 as materializeVercelProviderPlan };
36
+ const __niceevalExport16 = __niceevalCanonical["sandboxRuntimeCapabilities"];
37
+ export { __niceevalExport16 as sandboxRuntimeCapabilities };
40
38
  //# sourceMappingURL=runtime.js.map