niceeval 0.15.1-canary.76 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/INDEX.md +45 -40
  2. package/dist/adapter-execution-trace.cjs.map +1 -1
  3. package/dist/adapter-execution-trace.d.cts +26 -0
  4. package/dist/adapter-execution-trace.d.mts +26 -0
  5. package/dist/adapter-execution-trace.d.ts +26 -0
  6. package/dist/adapter-usage.cjs.map +1 -1
  7. package/dist/adapter-usage.d.cts +9 -0
  8. package/dist/adapter-usage.d.mts +9 -0
  9. package/dist/adapter-usage.d.ts +9 -0
  10. package/dist/adapter.cjs +19 -4
  11. package/dist/adapter.cjs.map +1 -1
  12. package/dist/adapter.d.cts +37 -12
  13. package/dist/adapter.d.mts +37 -12
  14. package/dist/adapter.d.ts +37 -12
  15. package/dist/agents/ai-sdk.cjs +3 -0
  16. package/dist/agents/ai-sdk.cjs.map +1 -1
  17. package/dist/agents/bub.cjs +3 -0
  18. package/dist/agents/bub.cjs.map +1 -1
  19. package/dist/agents/claude-code-native.cjs +28 -2
  20. package/dist/agents/claude-code-native.cjs.map +1 -1
  21. package/dist/agents/claude-code.cjs +3 -0
  22. package/dist/agents/claude-code.cjs.map +1 -1
  23. package/dist/agents/codex.cjs +3 -0
  24. package/dist/agents/codex.cjs.map +1 -1
  25. package/dist/agents/coding-cli-versions.cjs +9 -10
  26. package/dist/agents/coding-cli-versions.cjs.map +1 -1
  27. package/dist/agents/coding-cli-versions.d.cts +1 -1
  28. package/dist/agents/coding-cli-versions.d.mts +1 -1
  29. package/dist/agents/coding-cli-versions.d.ts +1 -1
  30. package/dist/agents/deepseek-harness.cjs +3 -0
  31. package/dist/agents/deepseek-harness.cjs.map +1 -1
  32. package/dist/agents/hermes.cjs +3 -0
  33. package/dist/agents/hermes.cjs.map +1 -1
  34. package/dist/agents/index.cjs.map +1 -1
  35. package/dist/agents/index.d.cts +3 -2
  36. package/dist/agents/index.d.mts +3 -2
  37. package/dist/agents/index.d.ts +3 -2
  38. package/dist/agents/omp.cjs +3 -0
  39. package/dist/agents/omp.cjs.map +1 -1
  40. package/dist/agents/openai-compat.cjs +6 -0
  41. package/dist/agents/openai-compat.cjs.map +1 -1
  42. package/dist/agents/openclaw.cjs +3 -0
  43. package/dist/agents/openclaw.cjs.map +1 -1
  44. package/dist/agents/opencode.cjs +3 -0
  45. package/dist/agents/opencode.cjs.map +1 -1
  46. package/dist/agents/sdk-streams.cjs +9 -0
  47. package/dist/agents/sdk-streams.cjs.map +1 -1
  48. package/dist/agents/ui-message-stream.cjs +3 -0
  49. package/dist/agents/ui-message-stream.cjs.map +1 -1
  50. package/dist/assertions/api.cjs.map +1 -1
  51. package/dist/assertions/api.d.cts +27 -5
  52. package/dist/assertions/api.d.mts +27 -5
  53. package/dist/assertions/api.d.ts +27 -5
  54. package/dist/assertions/collection.cjs +6 -0
  55. package/dist/assertions/collection.cjs.map +1 -1
  56. package/dist/assertions/collection.d.cts +4 -2
  57. package/dist/assertions/collection.d.mts +4 -2
  58. package/dist/assertions/collection.d.ts +4 -2
  59. package/dist/assertions/collection.js +12 -8
  60. package/dist/assertions/context-match.cjs +70 -0
  61. package/dist/assertions/context-match.cjs.map +1 -0
  62. package/dist/assertions/context-match.d.cts +107 -0
  63. package/dist/assertions/context-match.d.mts +107 -0
  64. package/dist/assertions/context-match.d.ts +107 -0
  65. package/dist/assertions/context-match.js +12 -0
  66. package/dist/assertions/context-match.js.map +1 -0
  67. package/dist/assertions/full-content.cjs +109 -0
  68. package/dist/assertions/full-content.cjs.map +1 -0
  69. package/dist/assertions/full-content.d.cts +6 -0
  70. package/dist/assertions/full-content.d.mts +6 -0
  71. package/dist/assertions/full-content.d.ts +6 -0
  72. package/dist/assertions/full-content.js +12 -0
  73. package/dist/assertions/full-content.js.map +1 -0
  74. package/dist/assertions/judge-presets.cjs +2 -34
  75. package/dist/assertions/judge-presets.cjs.map +1 -1
  76. package/dist/assertions/judge-presets.d.cts +6 -9
  77. package/dist/assertions/judge-presets.d.mts +6 -9
  78. package/dist/assertions/judge-presets.d.ts +6 -9
  79. package/dist/assertions/judge-presets.js +8 -8
  80. package/dist/assertions/judge.cjs +107 -29
  81. package/dist/assertions/judge.cjs.map +1 -1
  82. package/dist/assertions/judge.d.cts +2 -0
  83. package/dist/assertions/judge.d.mts +2 -0
  84. package/dist/assertions/judge.d.ts +2 -0
  85. package/dist/assertions/match.cjs +244 -5
  86. package/dist/assertions/match.cjs.map +1 -1
  87. package/dist/assertions/match.d.cts +43 -3
  88. package/dist/assertions/match.d.mts +43 -3
  89. package/dist/assertions/match.d.ts +43 -3
  90. package/dist/assertions/match.js +88 -78
  91. package/dist/assertions/material.cjs +520 -0
  92. package/dist/assertions/material.cjs.map +1 -0
  93. package/dist/assertions/material.d.cts +56 -0
  94. package/dist/assertions/material.d.mts +56 -0
  95. package/dist/assertions/material.d.ts +56 -0
  96. package/dist/assertions/material.js +20 -0
  97. package/dist/assertions/material.js.map +1 -0
  98. package/dist/assertions/record/attachment.cjs +5 -2
  99. package/dist/assertions/record/attachment.cjs.map +1 -1
  100. package/dist/assertions/record/codec.cjs +2 -1
  101. package/dist/assertions/record/codec.cjs.map +1 -1
  102. package/dist/assertions/record/model.cjs.map +1 -1
  103. package/dist/assertions/record/model.d.cts +6 -1
  104. package/dist/assertions/record/model.d.mts +6 -1
  105. package/dist/assertions/record/model.d.ts +6 -1
  106. package/dist/assertions/runtime.cjs +207 -14
  107. package/dist/assertions/runtime.cjs.map +1 -1
  108. package/dist/assertions/runtime.d.cts +9 -0
  109. package/dist/assertions/runtime.d.mts +9 -0
  110. package/dist/assertions/runtime.d.ts +9 -0
  111. package/dist/assertions/runtime.js +14 -8
  112. package/dist/assertions/score-match-audit.cjs +18 -8
  113. package/dist/assertions/score-match-audit.cjs.map +1 -1
  114. package/dist/assertions/score-match-gateway.cjs +83 -25
  115. package/dist/assertions/score-match-gateway.cjs.map +1 -1
  116. package/dist/assertions/score-match-gateway.d.cts +2 -0
  117. package/dist/assertions/score-match-gateway.d.mts +2 -0
  118. package/dist/assertions/score-match-gateway.d.ts +2 -0
  119. package/dist/assertions/value-composition.test-d.cjs +77 -0
  120. package/dist/assertions/value-composition.test-d.cjs.map +1 -0
  121. package/dist/assertions/value-composition.test-d.d.cts +1 -0
  122. package/dist/assertions/value-composition.test-d.d.mts +1 -0
  123. package/dist/assertions/value-composition.test-d.d.ts +1 -0
  124. package/dist/assertions/value-composition.test-d.js +4 -0
  125. package/dist/assertions/value-composition.test-d.js.map +1 -0
  126. package/dist/context/assert-first.cjs +207 -213
  127. package/dist/context/assert-first.cjs.map +1 -1
  128. package/dist/context/assert-first.d.cts +49 -23
  129. package/dist/context/assert-first.d.mts +49 -23
  130. package/dist/context/assert-first.d.ts +49 -23
  131. package/dist/context/session.cjs +111 -9
  132. package/dist/context/session.cjs.map +1 -1
  133. package/dist/context/session.d.cts +18 -0
  134. package/dist/context/session.d.mts +18 -0
  135. package/dist/context/session.d.ts +18 -0
  136. package/dist/define.cjs +17 -1
  137. package/dist/define.cjs.map +1 -1
  138. package/dist/eval/cli/contribution.cjs +2 -0
  139. package/dist/eval/cli/contribution.cjs.map +1 -1
  140. package/dist/eval/host/index.cjs +2 -0
  141. package/dist/eval/host/index.cjs.map +1 -1
  142. package/dist/eval/record/evaluation.cjs +3 -0
  143. package/dist/eval/record/evaluation.cjs.map +1 -1
  144. package/dist/eval/record/membership-provenance.d.cts +15 -15
  145. package/dist/eval/record/membership-provenance.d.mts +15 -15
  146. package/dist/eval/record/membership-provenance.d.ts +15 -15
  147. package/dist/eval/record/score.cjs +7 -0
  148. package/dist/eval/record/score.cjs.map +1 -1
  149. package/dist/eval/record/sealed-assertion.cjs +3 -0
  150. package/dist/eval/record/sealed-assertion.cjs.map +1 -1
  151. package/dist/eval/record/verdict.cjs +7 -0
  152. package/dist/eval/record/verdict.cjs.map +1 -1
  153. package/dist/expect/index.cjs +8 -2
  154. package/dist/expect/index.cjs.map +1 -1
  155. package/dist/expect/index.d.cts +9 -4
  156. package/dist/expect/index.d.mts +9 -4
  157. package/dist/expect/index.d.ts +9 -4
  158. package/dist/expect/index.js +72 -62
  159. package/dist/expect/index.mjs +72 -62
  160. package/dist/experiment/host/cli/contribution.cjs +37 -23
  161. package/dist/experiment/host/cli/contribution.cjs.map +1 -1
  162. package/dist/experiment/host/cli/contribution.d.cts +9 -1
  163. package/dist/experiment/host/cli/contribution.d.mts +9 -1
  164. package/dist/experiment/host/cli/contribution.d.ts +9 -1
  165. package/dist/experiment/host/current.cjs +74 -0
  166. package/dist/experiment/host/current.cjs.map +1 -0
  167. package/dist/experiment/host/current.d.cts +33 -0
  168. package/dist/experiment/host/current.d.mts +33 -0
  169. package/dist/experiment/host/current.d.ts +33 -0
  170. package/dist/experiment/host/current.js +10 -0
  171. package/dist/experiment/host/current.js.map +1 -0
  172. package/dist/experiment/host/index.cjs +17 -174
  173. package/dist/experiment/host/index.cjs.map +1 -1
  174. package/dist/experiment/host/index.d.cts +8 -54
  175. package/dist/experiment/host/index.d.mts +8 -54
  176. package/dist/experiment/host/index.d.ts +8 -54
  177. package/dist/experiment/host/operations.cjs +33 -10
  178. package/dist/experiment/host/operations.cjs.map +1 -1
  179. package/dist/experiment/host/operations.d.cts +29 -1
  180. package/dist/experiment/host/operations.d.mts +29 -1
  181. package/dist/experiment/host/operations.d.ts +29 -1
  182. package/dist/experiment/host/operations.js +6 -4
  183. package/dist/experiment/host/requirements.cjs +3 -0
  184. package/dist/experiment/host/requirements.cjs.map +1 -0
  185. package/dist/experiment/host/requirements.d.cts +3 -0
  186. package/dist/experiment/host/requirements.d.mts +3 -0
  187. package/dist/experiment/host/requirements.d.ts +3 -0
  188. package/dist/experiment/host/requirements.js +4 -0
  189. package/dist/experiment/host/requirements.js.map +1 -0
  190. package/dist/experiment/host/runtime.cjs +179 -0
  191. package/dist/experiment/host/runtime.cjs.map +1 -0
  192. package/dist/experiment/host/runtime.d.cts +79 -0
  193. package/dist/experiment/host/runtime.d.mts +79 -0
  194. package/dist/experiment/host/runtime.d.ts +79 -0
  195. package/dist/experiment/host/runtime.js +6 -0
  196. package/dist/experiment/host/runtime.js.map +1 -0
  197. package/dist/experiment/host/types.cjs.map +1 -1
  198. package/dist/experiment/host/types.d.cts +17 -16
  199. package/dist/experiment/host/types.d.mts +17 -16
  200. package/dist/experiment/host/types.d.ts +17 -16
  201. package/dist/fresh-import.cjs +2 -1
  202. package/dist/fresh-import.cjs.map +1 -1
  203. package/dist/index.cjs +4 -2
  204. package/dist/index.cjs.map +1 -1
  205. package/dist/index.d.cts +12 -6
  206. package/dist/index.d.mts +12 -6
  207. package/dist/index.d.ts +12 -6
  208. package/dist/index.js +32 -30
  209. package/dist/index.mjs +32 -30
  210. package/dist/inspection/artifacts.cjs +83 -54
  211. package/dist/inspection/artifacts.cjs.map +1 -1
  212. package/dist/inspection/artifacts.d.cts +8 -0
  213. package/dist/inspection/artifacts.d.mts +8 -0
  214. package/dist/inspection/artifacts.d.ts +8 -0
  215. package/dist/inspection/artifacts.js +2 -0
  216. package/dist/inspection/assertions.cjs +4 -1
  217. package/dist/inspection/assertions.cjs.map +1 -1
  218. package/dist/inspection/cli/contribution.cjs +27 -4
  219. package/dist/inspection/cli/contribution.cjs.map +1 -1
  220. package/dist/inspection/cli/contribution.d.cts +2 -1
  221. package/dist/inspection/cli/contribution.d.mts +2 -1
  222. package/dist/inspection/cli/contribution.d.ts +2 -1
  223. package/dist/inspection/execution-traces.cjs +114 -8
  224. package/dist/inspection/execution-traces.cjs.map +1 -1
  225. package/dist/inspection/execution-traces.d.cts +38 -0
  226. package/dist/inspection/execution-traces.d.mts +38 -0
  227. package/dist/inspection/execution-traces.d.ts +38 -0
  228. package/dist/inspection/facts.cjs +12 -0
  229. package/dist/inspection/facts.cjs.map +1 -1
  230. package/dist/inspection/limits.cjs +5 -1
  231. package/dist/inspection/limits.cjs.map +1 -1
  232. package/dist/inspection/limits.d.cts +4 -0
  233. package/dist/inspection/limits.d.mts +4 -0
  234. package/dist/inspection/limits.d.ts +4 -0
  235. package/dist/inspection/limits.js +6 -2
  236. package/dist/inspection/overview.cjs +74 -33
  237. package/dist/inspection/overview.cjs.map +1 -1
  238. package/dist/inspection/overview.d.cts +19 -1
  239. package/dist/inspection/overview.d.mts +19 -1
  240. package/dist/inspection/overview.d.ts +19 -1
  241. package/dist/inspection/overview.js +4 -2
  242. package/dist/inspection/project-input.cjs +9 -0
  243. package/dist/inspection/project-input.cjs.map +1 -0
  244. package/dist/inspection/project-input.d.cts +20 -0
  245. package/dist/inspection/project-input.d.mts +20 -0
  246. package/dist/inspection/project-input.d.ts +20 -0
  247. package/dist/inspection/project-input.js +8 -0
  248. package/dist/inspection/project-input.js.map +1 -0
  249. package/dist/inspection/project-result.cjs +60 -0
  250. package/dist/inspection/project-result.cjs.map +1 -0
  251. package/dist/inspection/project-result.d.cts +1264 -0
  252. package/dist/inspection/project-result.d.mts +1264 -0
  253. package/dist/inspection/project-result.d.ts +1264 -0
  254. package/dist/inspection/project-result.js +10 -0
  255. package/dist/inspection/project-result.js.map +1 -0
  256. package/dist/inspection/project-source.cjs +109 -0
  257. package/dist/inspection/project-source.cjs.map +1 -0
  258. package/dist/inspection/project-source.d.cts +10 -0
  259. package/dist/inspection/project-source.d.mts +10 -0
  260. package/dist/inspection/project-source.d.ts +10 -0
  261. package/dist/inspection/project-source.js +6 -0
  262. package/dist/inspection/project-source.js.map +1 -0
  263. package/dist/inspection/project.cjs +100 -0
  264. package/dist/inspection/project.cjs.map +1 -0
  265. package/dist/inspection/project.d.cts +3 -0
  266. package/dist/inspection/project.d.mts +3 -0
  267. package/dist/inspection/project.d.ts +3 -0
  268. package/dist/inspection/project.js +6 -0
  269. package/dist/inspection/project.js.map +1 -0
  270. package/dist/inspection/protocol.cjs +19 -9
  271. package/dist/inspection/protocol.cjs.map +1 -1
  272. package/dist/inspection/protocol.d.cts +5506 -38189
  273. package/dist/inspection/protocol.d.mts +5506 -38189
  274. package/dist/inspection/protocol.d.ts +5506 -38189
  275. package/dist/inspection/public.mjs +896 -84
  276. package/dist/inspection/query.cjs +2 -0
  277. package/dist/inspection/query.cjs.map +1 -1
  278. package/dist/inspection/results.cjs +234 -29
  279. package/dist/inspection/results.cjs.map +1 -1
  280. package/dist/inspection/results.d.cts +870 -13
  281. package/dist/inspection/results.d.mts +870 -13
  282. package/dist/inspection/results.d.ts +870 -13
  283. package/dist/inspection/results.js +36 -34
  284. package/dist/inspection/select.cjs +126 -14
  285. package/dist/inspection/select.cjs.map +1 -1
  286. package/dist/inspection/select.d.cts +1 -1
  287. package/dist/inspection/select.d.mts +1 -1
  288. package/dist/inspection/select.d.ts +1 -1
  289. package/dist/inspection/source.cjs +4 -0
  290. package/dist/inspection/source.cjs.map +1 -1
  291. package/dist/inspection/sources.cjs +5 -0
  292. package/dist/inspection/sources.cjs.map +1 -1
  293. package/dist/inspection/trace.cjs +82 -84
  294. package/dist/inspection/trace.cjs.map +1 -1
  295. package/dist/inspection/trace.d.cts +7 -2
  296. package/dist/inspection/trace.d.mts +7 -2
  297. package/dist/inspection/trace.d.ts +7 -2
  298. package/dist/model-slots.cjs +35 -0
  299. package/dist/model-slots.cjs.map +1 -0
  300. package/dist/model-slots.d.cts +19 -0
  301. package/dist/model-slots.d.mts +19 -0
  302. package/dist/model-slots.d.ts +19 -0
  303. package/dist/model-slots.js +8 -0
  304. package/dist/model-slots.js.map +1 -0
  305. package/dist/o11y/adapter-call-price.cjs +4 -0
  306. package/dist/o11y/adapter-call-price.cjs.map +1 -1
  307. package/dist/o11y/adapter-call-price.d.cts +24 -0
  308. package/dist/o11y/adapter-call-price.d.mts +24 -0
  309. package/dist/o11y/adapter-call-price.d.ts +24 -0
  310. package/dist/o11y/adapter-call-price.js +6 -2
  311. package/dist/o11y/adapter-usage-projection.cjs +158 -0
  312. package/dist/o11y/adapter-usage-projection.cjs.map +1 -0
  313. package/dist/o11y/adapter-usage-projection.d.cts +141 -0
  314. package/dist/o11y/adapter-usage-projection.d.mts +141 -0
  315. package/dist/o11y/adapter-usage-projection.d.ts +141 -0
  316. package/dist/o11y/adapter-usage-projection.js +20 -0
  317. package/dist/o11y/adapter-usage-projection.js.map +1 -0
  318. package/dist/o11y/eval-usage.cjs +149 -0
  319. package/dist/o11y/eval-usage.cjs.map +1 -0
  320. package/dist/o11y/eval-usage.d.cts +46 -0
  321. package/dist/o11y/eval-usage.d.mts +46 -0
  322. package/dist/o11y/eval-usage.d.ts +46 -0
  323. package/dist/o11y/eval-usage.js +8 -0
  324. package/dist/o11y/eval-usage.js.map +1 -0
  325. package/dist/o11y/judge-call-price.cjs +62 -0
  326. package/dist/o11y/judge-call-price.cjs.map +1 -0
  327. package/dist/o11y/judge-call-price.d.cts +3 -0
  328. package/dist/o11y/judge-call-price.d.mts +3 -0
  329. package/dist/o11y/judge-call-price.d.ts +3 -0
  330. package/dist/o11y/judge-call-price.js +6 -0
  331. package/dist/o11y/judge-call-price.js.map +1 -0
  332. package/dist/o11y/judge-usage-projection.cjs +134 -0
  333. package/dist/o11y/judge-usage-projection.cjs.map +1 -0
  334. package/dist/o11y/judge-usage-projection.d.cts +18 -0
  335. package/dist/o11y/judge-usage-projection.d.mts +18 -0
  336. package/dist/o11y/judge-usage-projection.d.ts +18 -0
  337. package/dist/o11y/judge-usage-projection.js +20 -0
  338. package/dist/o11y/judge-usage-projection.js.map +1 -0
  339. package/dist/o11y/judge-usage-receipt.cjs +135 -0
  340. package/dist/o11y/judge-usage-receipt.cjs.map +1 -0
  341. package/dist/o11y/judge-usage-receipt.d.cts +5 -0
  342. package/dist/o11y/judge-usage-receipt.d.mts +5 -0
  343. package/dist/o11y/judge-usage-receipt.d.ts +5 -0
  344. package/dist/o11y/judge-usage-receipt.js +6 -0
  345. package/dist/o11y/judge-usage-receipt.js.map +1 -0
  346. package/dist/o11y/judge-usage.cjs +171 -0
  347. package/dist/o11y/judge-usage.cjs.map +1 -0
  348. package/dist/o11y/judge-usage.d.cts +35 -0
  349. package/dist/o11y/judge-usage.d.mts +35 -0
  350. package/dist/o11y/judge-usage.d.ts +35 -0
  351. package/dist/o11y/judge-usage.js +6 -0
  352. package/dist/o11y/judge-usage.js.map +1 -0
  353. package/dist/plugin/contracts.cjs +2 -0
  354. package/dist/plugin/contracts.cjs.map +1 -1
  355. package/dist/plugin/link.cjs +7 -0
  356. package/dist/plugin/link.cjs.map +1 -1
  357. package/dist/record/attachment/protocol.cjs +8 -6
  358. package/dist/record/attachment/protocol.cjs.map +1 -1
  359. package/dist/record/attachment/protocol.d.cts +10 -0
  360. package/dist/record/attachment/protocol.d.mts +10 -0
  361. package/dist/record/attachment/protocol.d.ts +10 -0
  362. package/dist/record/attachment/protocol.js +38 -36
  363. package/dist/record/codec/seal-manifest.d.cts +3 -3
  364. package/dist/record/codec/seal-manifest.d.mts +3 -3
  365. package/dist/record/codec/seal-manifest.d.ts +3 -3
  366. package/dist/record/family/adapter-usage/definition.d.cts +1 -0
  367. package/dist/record/family/adapter-usage/definition.d.mts +1 -0
  368. package/dist/record/family/adapter-usage/definition.d.ts +1 -0
  369. package/dist/record/family/adapter-usage/persistence.cjs +1 -1
  370. package/dist/record/family/adapter-usage/persistence.cjs.map +1 -1
  371. package/dist/record/family/adapter-usage/persistence.d.cts +2 -1
  372. package/dist/record/family/adapter-usage/persistence.d.mts +2 -1
  373. package/dist/record/family/adapter-usage/persistence.d.ts +2 -1
  374. package/dist/record/family/adapter-usage/schema.cjs +21 -2
  375. package/dist/record/family/adapter-usage/schema.cjs.map +1 -1
  376. package/dist/record/family/adapter-usage/schema.d.cts +85 -0
  377. package/dist/record/family/adapter-usage/schema.d.mts +85 -0
  378. package/dist/record/family/adapter-usage/schema.d.ts +85 -0
  379. package/dist/record/family/adapter-usage/schema.js +18 -12
  380. package/dist/record/family/catalog.cjs +31 -27
  381. package/dist/record/family/catalog.cjs.map +1 -1
  382. package/dist/record/family/catalog.d.cts +94 -3
  383. package/dist/record/family/catalog.d.mts +94 -3
  384. package/dist/record/family/catalog.d.ts +94 -3
  385. package/dist/record/family/current.cjs +45 -42
  386. package/dist/record/family/current.cjs.map +1 -1
  387. package/dist/record/family/current.d.cts +240 -1
  388. package/dist/record/family/current.d.mts +240 -1
  389. package/dist/record/family/current.d.ts +240 -1
  390. package/dist/record/family/execution-traces/definition.d.cts +26 -0
  391. package/dist/record/family/execution-traces/definition.d.mts +26 -0
  392. package/dist/record/family/execution-traces/definition.d.ts +26 -0
  393. package/dist/record/family/execution-traces/definition.js +20 -14
  394. package/dist/record/family/execution-traces/schema.cjs +57 -1
  395. package/dist/record/family/execution-traces/schema.cjs.map +1 -1
  396. package/dist/record/family/execution-traces/schema.d.cts +114 -0
  397. package/dist/record/family/execution-traces/schema.d.mts +114 -0
  398. package/dist/record/family/execution-traces/schema.d.ts +114 -0
  399. package/dist/record/family/execution-traces/schema.js +18 -12
  400. package/dist/record/family/judge-usage/definition.cjs +12 -0
  401. package/dist/record/family/judge-usage/definition.cjs.map +1 -0
  402. package/dist/record/family/judge-usage/definition.d.cts +91 -0
  403. package/dist/record/family/judge-usage/definition.d.mts +91 -0
  404. package/dist/record/family/judge-usage/definition.d.ts +91 -0
  405. package/dist/record/family/judge-usage/definition.js +6 -0
  406. package/dist/record/family/judge-usage/definition.js.map +1 -0
  407. package/dist/record/family/judge-usage/persistence.cjs +10 -0
  408. package/dist/record/family/judge-usage/persistence.cjs.map +1 -0
  409. package/dist/record/family/judge-usage/persistence.d.cts +91 -0
  410. package/dist/record/family/judge-usage/persistence.d.mts +91 -0
  411. package/dist/record/family/judge-usage/persistence.d.ts +91 -0
  412. package/dist/record/family/judge-usage/persistence.js +6 -0
  413. package/dist/record/family/judge-usage/persistence.js.map +1 -0
  414. package/dist/record/family/judge-usage/schema.cjs +307 -0
  415. package/dist/record/family/judge-usage/schema.cjs.map +1 -0
  416. package/dist/record/family/judge-usage/schema.d.cts +351 -0
  417. package/dist/record/family/judge-usage/schema.d.mts +351 -0
  418. package/dist/record/family/judge-usage/schema.d.ts +351 -0
  419. package/dist/record/family/judge-usage/schema.js +18 -0
  420. package/dist/record/family/judge-usage/schema.js.map +1 -0
  421. package/dist/record/host/sqlite-host.cjs +55 -9
  422. package/dist/record/host/sqlite-host.cjs.map +1 -1
  423. package/dist/record/host/types.cjs.map +1 -1
  424. package/dist/record/host/types.d.cts +7 -0
  425. package/dist/record/host/types.d.mts +7 -0
  426. package/dist/record/host/types.d.ts +7 -0
  427. package/dist/record/model/run-context.cjs +7 -1
  428. package/dist/record/model/run-context.cjs.map +1 -1
  429. package/dist/record/model/run-context.d.cts +4 -0
  430. package/dist/record/model/run-context.d.mts +4 -0
  431. package/dist/record/model/run-context.d.ts +4 -0
  432. package/dist/record/model/seal-manifest.d.cts +1 -1
  433. package/dist/record/model/seal-manifest.d.mts +1 -1
  434. package/dist/record/model/seal-manifest.d.ts +1 -1
  435. package/dist/record/sqlite/client.cjs +18 -5
  436. package/dist/record/sqlite/client.cjs.map +1 -1
  437. package/dist/record/sqlite/client.d.cts +1 -1
  438. package/dist/record/sqlite/client.d.mts +1 -1
  439. package/dist/record/sqlite/client.d.ts +1 -1
  440. package/dist/record/sqlite/project-state-database.cjs +29 -8
  441. package/dist/record/sqlite/project-state-database.cjs.map +1 -1
  442. package/dist/run/host/runtime.cjs +4 -0
  443. package/dist/run/host/runtime.cjs.map +1 -1
  444. package/dist/run/storage/sqlite.cjs +20 -0
  445. package/dist/run/storage/sqlite.cjs.map +1 -1
  446. package/dist/runner/adapter-execution-trace.cjs +125 -2
  447. package/dist/runner/adapter-execution-trace.cjs.map +1 -1
  448. package/dist/runner/adapter-execution-trace.d.cts +1 -1
  449. package/dist/runner/adapter-execution-trace.d.mts +1 -1
  450. package/dist/runner/adapter-execution-trace.d.ts +1 -1
  451. package/dist/runner/adapter-usage.cjs +55 -7
  452. package/dist/runner/adapter-usage.cjs.map +1 -1
  453. package/dist/runner/adapter-usage.d.cts +9 -2
  454. package/dist/runner/adapter-usage.d.mts +9 -2
  455. package/dist/runner/adapter-usage.d.ts +9 -2
  456. package/dist/runner/adoption.cjs +9 -0
  457. package/dist/runner/adoption.cjs.map +1 -1
  458. package/dist/runner/attempt-cancellation.cjs +12 -0
  459. package/dist/runner/attempt-cancellation.cjs.map +1 -0
  460. package/dist/runner/attempt-cancellation.d.cts +6 -0
  461. package/dist/runner/attempt-cancellation.d.mts +6 -0
  462. package/dist/runner/attempt-cancellation.d.ts +6 -0
  463. package/dist/runner/attempt-cancellation.js +6 -0
  464. package/dist/runner/attempt-cancellation.js.map +1 -0
  465. package/dist/runner/attempt-resources.cjs +10 -4
  466. package/dist/runner/attempt-resources.cjs.map +1 -1
  467. package/dist/runner/attempt-resources.d.cts +2 -1
  468. package/dist/runner/attempt-resources.d.mts +2 -1
  469. package/dist/runner/attempt-resources.d.ts +2 -1
  470. package/dist/runner/attempt.cjs +1177 -1139
  471. package/dist/runner/attempt.cjs.map +1 -1
  472. package/dist/runner/config-identity.cjs +20 -1
  473. package/dist/runner/config-identity.cjs.map +1 -1
  474. package/dist/runner/config-identity.d.cts +5 -0
  475. package/dist/runner/config-identity.d.mts +5 -0
  476. package/dist/runner/config-identity.d.ts +5 -0
  477. package/dist/runner/discover.cjs +14 -0
  478. package/dist/runner/discover.cjs.map +1 -1
  479. package/dist/runner/discover.d.cts +3 -0
  480. package/dist/runner/discover.d.mts +3 -0
  481. package/dist/runner/discover.d.ts +3 -0
  482. package/dist/runner/feedback/human.cjs +9 -4
  483. package/dist/runner/feedback/human.cjs.map +1 -1
  484. package/dist/runner/fingerprint.cjs +1 -0
  485. package/dist/runner/fingerprint.cjs.map +1 -1
  486. package/dist/runner/judge-usage.cjs +18 -0
  487. package/dist/runner/judge-usage.cjs.map +1 -0
  488. package/dist/runner/judge-usage.d.cts +5 -0
  489. package/dist/runner/judge-usage.d.mts +5 -0
  490. package/dist/runner/judge-usage.d.ts +5 -0
  491. package/dist/runner/judge-usage.js +8 -0
  492. package/dist/runner/judge-usage.js.map +1 -0
  493. package/dist/runner/project-target.cjs.map +1 -1
  494. package/dist/runner/project-target.d.cts +2 -0
  495. package/dist/runner/project-target.d.mts +2 -0
  496. package/dist/runner/project-target.d.ts +2 -0
  497. package/dist/runner/record/planning.cjs +1 -0
  498. package/dist/runner/record/planning.cjs.map +1 -1
  499. package/dist/runner/record.cjs +4 -0
  500. package/dist/runner/record.cjs.map +1 -1
  501. package/dist/runner/reporters/braintrust.cjs +2 -0
  502. package/dist/runner/reporters/braintrust.cjs.map +1 -1
  503. package/dist/runner/reuse-diagnostics.cjs +9 -10
  504. package/dist/runner/reuse-diagnostics.cjs.map +1 -1
  505. package/dist/runner/reuse-diagnostics.d.cts +5 -6
  506. package/dist/runner/reuse-diagnostics.d.mts +5 -6
  507. package/dist/runner/reuse-diagnostics.d.ts +5 -6
  508. package/dist/runner/reuse-diagnostics.js +4 -4
  509. package/dist/runner/reuse-plan.cjs +100 -48
  510. package/dist/runner/reuse-plan.cjs.map +1 -1
  511. package/dist/runner/reuse-plan.d.cts +60 -3
  512. package/dist/runner/reuse-plan.d.mts +60 -3
  513. package/dist/runner/reuse-plan.d.ts +60 -3
  514. package/dist/runner/reuse-plan.js +14 -10
  515. package/dist/runner/run.cjs +8 -6
  516. package/dist/runner/run.cjs.map +1 -1
  517. package/dist/runner/session.cjs +1 -1
  518. package/dist/runner/session.cjs.map +1 -1
  519. package/dist/runner/session.d.cts +1 -1
  520. package/dist/runner/session.d.mts +1 -1
  521. package/dist/runner/session.d.ts +1 -1
  522. package/dist/runner/source-producer.cjs +3 -1
  523. package/dist/runner/source-producer.cjs.map +1 -1
  524. package/dist/runner/types.cjs.map +1 -1
  525. package/dist/runner/types.d.cts +26 -5
  526. package/dist/runner/types.d.mts +26 -5
  527. package/dist/runner/types.d.ts +26 -5
  528. package/dist/sandbox/action.cjs +3 -0
  529. package/dist/sandbox/action.cjs.map +1 -1
  530. package/dist/sandbox/commands.cjs +3 -0
  531. package/dist/sandbox/commands.cjs.map +1 -1
  532. package/dist/sandbox/compose.cjs +6 -0
  533. package/dist/sandbox/compose.cjs.map +1 -1
  534. package/dist/sandbox/docker-profile/registry.cjs +7 -0
  535. package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
  536. package/dist/sandbox/docker-profile/runtime.cjs +3 -0
  537. package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
  538. package/dist/sandbox/docker-profile/schema.cjs +7 -0
  539. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  540. package/dist/sandbox/incus.cjs +7 -0
  541. package/dist/sandbox/incus.cjs.map +1 -1
  542. package/dist/sandbox/layer.cjs +12 -0
  543. package/dist/sandbox/layer.cjs.map +1 -1
  544. package/dist/shared/adapter-cleanup.cjs +18 -0
  545. package/dist/shared/adapter-cleanup.cjs.map +1 -0
  546. package/dist/shared/adapter-cleanup.d.cts +4 -0
  547. package/dist/shared/adapter-cleanup.d.mts +4 -0
  548. package/dist/shared/adapter-cleanup.d.ts +4 -0
  549. package/dist/shared/adapter-cleanup.js +10 -0
  550. package/dist/shared/adapter-cleanup.js.map +1 -0
  551. package/dist/shared/attempt-lifecycle.cjs +3 -0
  552. package/dist/shared/attempt-lifecycle.cjs.map +1 -0
  553. package/dist/shared/attempt-lifecycle.d.cts +13 -0
  554. package/dist/shared/attempt-lifecycle.d.mts +13 -0
  555. package/dist/shared/attempt-lifecycle.d.ts +13 -0
  556. package/dist/shared/attempt-lifecycle.js +4 -0
  557. package/dist/shared/attempt-lifecycle.js.map +1 -0
  558. package/dist/show/contribution.cjs +52 -14
  559. package/dist/show/contribution.cjs.map +1 -1
  560. package/dist/show/contribution.d.cts +23 -1
  561. package/dist/show/contribution.d.mts +23 -1
  562. package/dist/show/contribution.d.ts +23 -1
  563. package/dist/show/model.cjs +8 -1
  564. package/dist/show/model.cjs.map +1 -1
  565. package/dist/show/model.d.cts +10 -1
  566. package/dist/show/model.d.mts +10 -1
  567. package/dist/show/model.d.ts +10 -1
  568. package/dist/show/render.cjs +287 -49
  569. package/dist/show/render.cjs.map +1 -1
  570. package/dist/show/render.d.cts +3 -0
  571. package/dist/show/render.d.mts +3 -0
  572. package/dist/show/render.d.ts +3 -0
  573. package/dist/sources/projector.cjs +3 -0
  574. package/dist/sources/projector.cjs.map +1 -1
  575. package/dist/types.cjs.map +1 -1
  576. package/dist/types.d.cts +1 -1
  577. package/dist/types.d.mts +1 -1
  578. package/dist/types.d.ts +1 -1
  579. package/dist/view/app-dist/.vite/manifest.json +2 -2
  580. package/dist/view/app-dist/assets/index-CmVoXbwG.js +63 -0
  581. package/dist/view/app-dist/assets/{quality-cost-scatter-CFB3wnkN.js → quality-cost-scatter-BuLISaH4.js} +1 -1
  582. package/dist/view/app-dist/index.html +1 -1
  583. package/dist/view/cli/contribution.cjs +54 -21
  584. package/dist/view/cli/contribution.cjs.map +1 -1
  585. package/dist/view/cli/contribution.d.cts +2 -1
  586. package/dist/view/cli/contribution.d.mts +2 -1
  587. package/dist/view/cli/contribution.d.ts +2 -1
  588. package/dist/view/function-runtime.mjs +13231 -11647
  589. package/dist/view/http-protocol.cjs +3 -0
  590. package/dist/view/http-protocol.cjs.map +1 -1
  591. package/dist/view/http-protocol.d.cts +8 -0
  592. package/dist/view/http-protocol.d.mts +8 -0
  593. package/dist/view/http-protocol.d.ts +8 -0
  594. package/dist/view/inspection-host.cjs +17 -1
  595. package/dist/view/inspection-host.cjs.map +1 -1
  596. package/dist/view/render.cjs +1 -0
  597. package/dist/view/render.cjs.map +1 -1
  598. package/dist/view/render.d.cts +2 -1
  599. package/dist/view/render.d.mts +2 -1
  600. package/dist/view/render.d.ts +2 -1
  601. package/dist/view/revision.cjs.map +1 -1
  602. package/dist/view/revision.d.cts +12 -0
  603. package/dist/view/revision.d.mts +12 -0
  604. package/dist/view/revision.d.ts +12 -0
  605. package/dist/view/server.cjs +10 -9
  606. package/dist/view/server.cjs.map +1 -1
  607. package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
  608. package/docs-site/zh/explanation/adapter.mdx +2 -2
  609. package/docs-site/zh/explanation/assert.mdx +60 -24
  610. package/docs-site/zh/explanation/drive.mdx +1 -1
  611. package/docs-site/zh/explanation/evals.mdx +31 -29
  612. package/docs-site/zh/explanation/experiment.mdx +15 -15
  613. package/docs-site/zh/explanation/judge.mdx +23 -15
  614. package/docs-site/zh/explanation/overview.mdx +44 -21
  615. package/docs-site/zh/explanation/record.mdx +28 -13
  616. package/docs-site/zh/explanation/results-flow.mdx +37 -0
  617. package/docs-site/zh/explanation/runner.mdx +27 -6
  618. package/docs-site/zh/index.mdx +22 -115
  619. package/docs-site/zh/introduction.mdx +89 -61
  620. package/docs-site/zh/reference/cli.mdx +50 -26
  621. package/docs-site/zh/reference/define-agent.mdx +37 -5
  622. package/docs-site/zh/reference/define-eval.mdx +130 -29
  623. package/docs-site/zh/reference/define-experiment.mdx +251 -0
  624. package/docs-site/zh/reference/events.mdx +34 -30
  625. package/docs-site/zh/reference/expect.mdx +77 -2
  626. package/docs-site/zh/reference/official-adapters.mdx +2 -2
  627. package/docs-site/zh/troubleshooting/debug-sandbox.mdx +43 -24
  628. package/docs-site/zh/troubleshooting/debugging.mdx +65 -42
  629. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +35 -28
  630. package/docs-site/zh/tutorials/accept-results.mdx +34 -24
  631. package/docs-site/zh/tutorials/agent-feedback-loop.mdx +74 -43
  632. package/docs-site/zh/tutorials/agent-onboarding.mdx +27 -20
  633. package/docs-site/zh/tutorials/authoring.mdx +138 -121
  634. package/docs-site/zh/tutorials/ci-integration.mdx +46 -22
  635. package/docs-site/zh/tutorials/compare-runs.mdx +40 -13
  636. package/docs-site/zh/tutorials/concurrency.mdx +66 -62
  637. package/docs-site/zh/tutorials/configuration.mdx +17 -17
  638. package/docs-site/zh/tutorials/connect-otel.mdx +48 -37
  639. package/docs-site/zh/tutorials/connect-your-agent.mdx +80 -173
  640. package/docs-site/zh/tutorials/control-run-cost.mdx +63 -12
  641. package/docs-site/zh/tutorials/criteria-files.mdx +28 -21
  642. package/docs-site/zh/tutorials/custom-application.mdx +75 -55
  643. package/docs-site/zh/tutorials/dataset-fanout.mdx +32 -22
  644. package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +38 -31
  645. package/docs-site/zh/tutorials/docker-in-docker.mdx +83 -89
  646. package/docs-site/zh/tutorials/eval-groups.mdx +70 -89
  647. package/docs-site/zh/tutorials/evaluation-kinds.mdx +12 -5
  648. package/docs-site/zh/tutorials/experiment-services.mdx +243 -0
  649. package/docs-site/zh/tutorials/fixtures.mdx +42 -26
  650. package/docs-site/zh/tutorials/handle-execution-failures.mdx +41 -19
  651. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +21 -16
  652. package/docs-site/zh/tutorials/niceeval-taste-application.mdx +394 -0
  653. package/docs-site/zh/tutorials/niceeval-taste.mdx +190 -0
  654. package/docs-site/zh/tutorials/nixos-managed-dind.mdx +51 -39
  655. package/docs-site/zh/tutorials/plugins.mdx +55 -31
  656. package/docs-site/zh/tutorials/prebuilt-sandbox.mdx +204 -0
  657. package/docs-site/zh/tutorials/quickstart.mdx +91 -47
  658. package/docs-site/zh/tutorials/reporters.mdx +45 -30
  659. package/docs-site/zh/tutorials/rerun-and-cache.mdx +39 -40
  660. package/docs-site/zh/tutorials/sandbox-agent.mdx +65 -40
  661. package/docs-site/zh/tutorials/sandbox-providers.mdx +104 -282
  662. package/docs-site/zh/tutorials/sandbox-reuse.mdx +65 -97
  663. package/docs-site/zh/tutorials/select-and-preview.mdx +25 -20
  664. package/docs-site/zh/tutorials/verify-judge.mdx +49 -26
  665. package/docs-site/zh/tutorials/viewing-results.mdx +130 -80
  666. package/docs-site/zh/tutorials/write-experiment.mdx +116 -298
  667. package/docs-site/zh/tutorials/write-send.mdx +53 -52
  668. package/node_modules/undici/docs/docs/api/Agent.md +8 -8
  669. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
  670. package/node_modules/undici/docs/docs/api/Errors.md +25 -0
  671. package/node_modules/undici/docs/docs/api/Interceptors.md +4 -3
  672. package/node_modules/undici/docs/docs/api/Pool.md +5 -6
  673. package/node_modules/undici/lib/api/readable.js +1 -2
  674. package/node_modules/undici/lib/core/request.js +23 -2
  675. package/node_modules/undici/lib/core/util.js +0 -39
  676. package/node_modules/undici/lib/dispatcher/client-h1.js +11 -4
  677. package/node_modules/undici/lib/dispatcher/client-h2.js +52 -8
  678. package/node_modules/undici/lib/dispatcher/client.js +1 -1
  679. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -2
  680. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +21 -6
  681. package/node_modules/undici/lib/dispatcher/pool-base.js +63 -2
  682. package/node_modules/undici/lib/dispatcher/pool.js +90 -7
  683. package/node_modules/undici/lib/dispatcher/proxy-agent.js +16 -3
  684. package/node_modules/undici/lib/handler/deduplication-handler.js +24 -11
  685. package/node_modules/undici/lib/handler/redirect-handler.js +5 -0
  686. package/node_modules/undici/lib/handler/retry-handler.js +72 -13
  687. package/node_modules/undici/lib/interceptor/cache.js +4 -1
  688. package/node_modules/undici/lib/interceptor/decompress.js +236 -69
  689. package/node_modules/undici/lib/web/cache/cache.js +17 -8
  690. package/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
  691. package/node_modules/undici/lib/web/cookies/index.js +19 -7
  692. package/node_modules/undici/lib/web/cookies/util.js +3 -1
  693. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -1
  694. package/node_modules/undici/lib/web/fetch/body.js +22 -15
  695. package/node_modules/undici/lib/web/fetch/data-url.js +6 -6
  696. package/node_modules/undici/lib/web/fetch/formdata.js +30 -36
  697. package/node_modules/undici/lib/web/fetch/headers.js +34 -31
  698. package/node_modules/undici/lib/web/fetch/index.js +38 -14
  699. package/node_modules/undici/lib/web/fetch/request.js +74 -79
  700. package/node_modules/undici/lib/web/fetch/response.js +43 -44
  701. package/node_modules/undici/lib/web/fetch/util.js +7 -7
  702. package/node_modules/undici/lib/web/infra/index.js +16 -1
  703. package/node_modules/undici/lib/web/webidl/index.js +2 -14
  704. package/node_modules/undici/lib/web/websocket/events.js +43 -26
  705. package/node_modules/undici/lib/web/websocket/receiver.js +5 -0
  706. package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
  707. package/node_modules/undici/lib/web/websocket/websocket.js +44 -41
  708. package/node_modules/undici/package.json +1 -1
  709. package/node_modules/undici/types/diagnostics-channel.d.ts +2 -1
  710. package/node_modules/undici/types/interceptors.d.ts +1 -1
  711. package/node_modules/undici/types/webidl.d.ts +13 -7
  712. package/package.json +4 -4
  713. package/dist/view/app-dist/assets/index-DFzw1L97.js +0 -63
  714. package/docs-site/zh/tutorials/experiments.mdx +0 -101
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["action.ts"],"names":[],"mappings":"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","sourcesContent":["// SandboxAction 作者声明面:同步 Schema 输入、封闭 step protocol 与纯调度元数据。\n// 本模块只构造、规范化和冻结计划;step 解释、Provider capability 与 cache I/O 属于 runtime seam。\nimport { Data, Schema } from \"effect\";\nimport type { JsonValue } from \"../shared/types.ts\";\nimport { digestBytes, digestOf } from \"./identity.ts\";\nimport { isRegisteredSandboxContent, registerSandboxContent, registeredSandboxContentSnapshotOf, type RegisteredSandboxContent, } from \"./content.ts\";\nconst SANDBOX_ACTION_REF: unique symbol = Symbol(\"niceeval.sandbox.action-ref\");\nconst SANDBOX_STEP: unique symbol = Symbol(\"niceeval.sandbox.step\");\nconst SANDBOX_ACTION: unique symbol = Symbol(\"niceeval.sandbox.action\");\nconst SANDBOX_AFTER_ACTION: unique symbol = Symbol(\"niceeval.sandbox.after-action\");\nconst SANDBOX_ACTION_REFS = new WeakSet<object>();\nconst SANDBOX_STEPS = new WeakSet<object>();\nconst SANDBOX_ACTIONS = new WeakSet<object>();\nconst SANDBOX_AFTER_ACTIONS = new WeakSet<object>();\nconst SANDBOX_STEP_DATA = new WeakMap<object, SandboxStepData>();\nconst SANDBOX_ACTION_DATA = new WeakMap<object, SandboxActionData>();\nconst SANDBOX_AFTER_ACTION_DATA = new WeakMap<object, SandboxActionData>();\nexport const changeFrequency = Object.freeze({\n rare: 10,\n normal: 100,\n frequent: 1000,\n} as const);\n/** Complete mutable-state promises understood by V1 Setup Prefix providers. */\nexport const sandboxState = Object.freeze({\n all: \"all\",\n dockerData: \"dockerData\",\n} as const);\nexport type SandboxState = typeof sandboxState[keyof typeof sandboxState];\n/** @internal Provider/runtime spelling for the same public V1 state values. */\nexport type SandboxActionState = SandboxState;\n/** @internal `all` dominates a cumulative action lineage. */\nexport function mergeSandboxActionState(ancestor: SandboxActionState | undefined, declared: SandboxActionState): SandboxActionState {\n return ancestor === sandboxState.all || declared === sandboxState.all\n ? sandboxState.all\n : sandboxState.dockerData;\n}\n/** @internal A complete `all` provider covers either V1 state promise. */\nexport function sandboxActionStateCovers(coverage: SandboxActionState, required: SandboxActionState): boolean {\n return coverage === sandboxState.all || required === sandboxState.dockerData;\n}\nexport interface SandboxActionRef {\n readonly [SANDBOX_ACTION_REF]: true;\n readonly id: string;\n}\nexport type SandboxCapability = string;\nexport interface SandboxChangeFrequency {\n readonly value: number;\n readonly source: \"explicit\" | \"defaulted\";\n readonly preset?: keyof typeof changeFrequency;\n}\nexport interface SandboxBeforeActionOptions {\n readonly id: string;\n readonly changeFrequency?: number;\n readonly dependsOn?: readonly SandboxActionRef[];\n readonly requires?: readonly SandboxCapability[];\n readonly provides?: readonly SandboxCapability[];\n readonly cache?: SandboxActionCacheOptions;\n}\nexport interface SandboxActionCacheOptions {\n /**\n * Complete side-effect surface changed by this action. Omission is the\n * conservative `all` promise; this is never a partial-cache selector.\n */\n readonly state?: SandboxActionState;\n readonly fingerprint?: JsonValue;\n}\n/** Reusable family instances default to the family id; inline built-ins keep SandboxBeforeActionOptions. */\nexport interface SandboxActionInstanceOptions {\n readonly id?: string;\n readonly changeFrequency?: number;\n readonly dependsOn?: readonly SandboxActionRef[];\n readonly requires?: readonly SandboxCapability[];\n readonly provides?: readonly SandboxCapability[];\n readonly cache?: SandboxActionCacheOptions;\n}\nexport interface SandboxAfterActionOptions {\n readonly id?: string;\n}\nexport interface NormalizedSandboxBeforeMetadata {\n readonly id: string;\n readonly changeFrequency: SandboxChangeFrequency;\n readonly dependsOn: readonly SandboxActionRef[];\n readonly requires: readonly SandboxCapability[];\n readonly provides: readonly SandboxCapability[];\n}\nexport interface ExecSandboxStepInput {\n readonly executable: string;\n readonly args?: readonly string[];\n readonly cwd?: string;\n readonly env?: Readonly<globalThis.Record<string, string>>;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly stdin?: string;\n}\nexport interface PutTextSandboxStepInput {\n readonly path: string;\n readonly text: string;\n}\nexport interface PutBytesSandboxStepInput {\n readonly path: string;\n readonly bytes: Uint8Array;\n}\n/** Low-level transfer steps only accept an immutable, digest-backed content handle. */\nexport type SandboxTransferSource = RegisteredSandboxContent;\nexport interface TransferFileSandboxStepInput {\n readonly source: SandboxTransferSource;\n readonly to: string;\n}\nexport interface TransferDirectorySandboxStepInput {\n readonly source: SandboxTransferSource;\n readonly to: string;\n}\nexport interface CheckoutGitSandboxStepInput {\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include?: readonly string[];\n readonly exclude?: readonly string[];\n };\n}\nexport interface SandboxStep {\n readonly [SANDBOX_STEP]: true;\n readonly kind: \"exec\" | \"putText\" | \"putBytes\" | \"transferFile\" | \"transferDirectory\" | \"checkoutGit\";\n}\nexport type SandboxStepPlan = {\n readonly kind: \"exec\";\n readonly executable: string;\n readonly args: readonly string[];\n readonly cwd?: string;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly envKeys?: readonly string[];\n readonly stdinDigest?: string;\n readonly stdinBytes?: number;\n} | {\n readonly kind: \"putText\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"putBytes\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"transferFile\" | \"transferDirectory\";\n readonly source: {\n readonly kind: \"content\";\n readonly digest: string;\n };\n readonly to: string;\n} | {\n readonly kind: \"checkoutGit\";\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include: readonly string[];\n readonly exclude: readonly string[];\n };\n};\ninterface SandboxStepData {\n readonly identity: JsonValue;\n readonly plan: SandboxStepPlan;\n readonly presentation: SandboxStepPresentation;\n readonly execution: SandboxStepExecution;\n}\nexport type SandboxStepPresentation = {\n readonly kind: \"exec\";\n readonly command: {\n readonly kind: \"argv\";\n readonly executable: string;\n readonly args: readonly string[];\n } | {\n readonly kind: \"shell\";\n readonly command: string;\n };\n readonly cwd?: string;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly envKeys?: readonly string[];\n} | {\n readonly kind: \"putText\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"putBytes\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"transferFile\";\n readonly digest: string;\n readonly to: string;\n readonly bytes?: number;\n} | {\n readonly kind: \"transferDirectory\";\n readonly digest: string;\n readonly to: string;\n readonly bytes?: number;\n} | {\n readonly kind: \"checkoutGit\";\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n};\nexport type SandboxStepExecution = {\n readonly kind: \"exec\";\n readonly input: Readonly<ExecSandboxStepInput>;\n} | {\n readonly kind: \"putText\";\n readonly input: Readonly<PutTextSandboxStepInput>;\n} | {\n readonly kind: \"putBytes\";\n readonly input: Readonly<PutBytesSandboxStepInput>;\n} | {\n readonly kind: \"transferFile\";\n readonly input: Readonly<TransferFileSandboxStepInput>;\n} | {\n readonly kind: \"transferDirectory\";\n readonly input: Readonly<TransferDirectorySandboxStepInput>;\n} | {\n readonly kind: \"checkoutGit\";\n readonly input: Readonly<CheckoutGitSandboxStepInput>;\n};\nexport interface SandboxActionFingerprintPlan {\n readonly automatic: string;\n readonly supplemental: string;\n readonly combined: string;\n}\nexport interface SandboxActionPlan {\n readonly id: string;\n readonly family: string;\n readonly state: SandboxActionState;\n readonly input: JsonValue;\n readonly steps: readonly SandboxStepPlan[];\n readonly fingerprint: SandboxActionFingerprintPlan;\n}\nexport interface SandboxActionData {\n readonly metadata: NormalizedSandboxBeforeMetadata;\n readonly plan: SandboxActionPlan;\n readonly steps: readonly SandboxStep[];\n}\nexport interface SandboxAction {\n readonly [SANDBOX_ACTION]: true;\n readonly id: string;\n}\nexport interface SandboxAfterAction {\n readonly [SANDBOX_AFTER_ACTION]: true;\n readonly id: string;\n}\nexport type NonEmptySandboxSteps = readonly [\n SandboxStep,\n ...SandboxStep[]\n];\nexport interface SandboxActionDefinition<A, I extends JsonValue> {\n readonly id: string;\n readonly input: Schema.Codec<A, I, never, never>;\n readonly cache?: {\n readonly state?: SandboxActionState;\n readonly fingerprint?: JsonValue | ((input: A) => JsonValue);\n };\n readonly steps: (input: A) => NonEmptySandboxSteps;\n}\nexport interface SandboxActionFamily<A> {\n (input: A, options?: SandboxActionInstanceOptions): SandboxAction;\n readonly after: (input: A, options?: SandboxAfterActionOptions) => SandboxAfterAction;\n}\nexport type SandboxActionDefinitionErrorReason = \"definition\" | \"schema\" | \"input\" | \"canonical-input\" | \"cache-state\" | \"cache-fingerprint\" | \"steps\" | \"metadata\";\nexport class SandboxActionDefinitionError extends Data.TaggedError(\"SandboxActionDefinitionError\")<{\n readonly reason: SandboxActionDefinitionErrorReason;\n readonly message: string;\n readonly field?: string;\n readonly cause?: unknown;\n}> {\n}\nfunction actionError(reason: SandboxActionDefinitionErrorReason, message: string, field?: string, cause?: unknown): SandboxActionDefinitionError {\n return new SandboxActionDefinitionError({\n reason,\n message,\n ...(field === undefined ? {} : { field }),\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction assertRecord(value: unknown, path: string): asserts value is globalThis.Record<string, unknown> {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw actionError(\"definition\", `${path} must be an object`, path);\n }\n}\nfunction assertOnlyKeys(value: globalThis.Record<string, unknown>, allowed: ReadonlySet<string>, path: string): void {\n for (const key of Object.keys(value)) {\n if (!allowed.has(key))\n throw actionError(\"definition\", `${path}.${key} is not supported`, `${path}.${key}`);\n }\n}\nfunction nonEmptyString(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw actionError(\"definition\", `${path} must be a non-empty string`, path);\n }\n return value;\n}\nfunction stringArray(value: unknown, path: string): readonly string[] {\n if (!Array.isArray(value) || value.some((item) => typeof item !== \"string\" || item.trim() === \"\")) {\n throw actionError(\"steps\", `${path} must be an array of non-empty strings`, path);\n }\n return Object.freeze([...value]);\n}\nfunction presetFor(value: number): keyof typeof changeFrequency | undefined {\n if (value === changeFrequency.rare)\n return \"rare\";\n if (value === changeFrequency.normal)\n return \"normal\";\n if (value === changeFrequency.frequent)\n return \"frequent\";\n return undefined;\n}\nexport function normalizeSandboxChangeFrequency(value: unknown, path = \"changeFrequency\"): SandboxChangeFrequency {\n const source = value === undefined ? \"defaulted\" as const : \"explicit\" as const;\n const selected = value === undefined ? changeFrequency.normal : value;\n if (typeof selected !== \"number\" || !Number.isFinite(selected) || selected < 0) {\n throw actionError(\"metadata\", `${path} must be a finite non-negative number`, path);\n }\n const normalized = Object.is(selected, -0) ? 0 : selected;\n const preset = presetFor(normalized);\n return Object.freeze({\n value: normalized,\n source,\n ...(preset === undefined ? {} : { preset }),\n });\n}\nfunction normalizeCapabilities(value: unknown, path: string): readonly SandboxCapability[] {\n if (value === undefined)\n return Object.freeze([]);\n const capabilities = stringArray(value, path);\n if (new Set(capabilities).size !== capabilities.length) {\n throw actionError(\"metadata\", `${path} must not contain duplicate capabilities`, path);\n }\n return capabilities;\n}\nexport function actionRef(id: string): SandboxActionRef {\n const normalized = nonEmptyString(id, \"actionRef id\");\n const ref = { id: normalized } as SandboxActionRef;\n Object.defineProperty(ref, SANDBOX_ACTION_REF, { value: true });\n SANDBOX_ACTION_REFS.add(ref);\n return Object.freeze(ref);\n}\nexport function isSandboxActionRef(value: unknown): value is SandboxActionRef {\n return value !== null && typeof value === \"object\" && SANDBOX_ACTION_REFS.has(value);\n}\nexport function normalizeSandboxBeforeMetadata(value: unknown, path = \"Sandbox before options\"): NormalizedSandboxBeforeMetadata {\n assertRecord(value, path);\n assertOnlyKeys(value, new Set([\"id\", \"changeFrequency\", \"dependsOn\", \"requires\", \"provides\", \"cache\"]), path);\n normalizeSandboxActionCache(value.cache, `${path}.cache`);\n const dependsOn = value.dependsOn === undefined ? [] : value.dependsOn;\n if (!Array.isArray(dependsOn) || dependsOn.some((ref) => !isSandboxActionRef(ref))) {\n throw actionError(\"metadata\", `${path}.dependsOn must contain actionRef() values`, `${path}.dependsOn`);\n }\n const ids = dependsOn.map((ref) => ref.id);\n if (new Set(ids).size !== ids.length) {\n throw actionError(\"metadata\", `${path}.dependsOn must not contain duplicate refs`, `${path}.dependsOn`);\n }\n return Object.freeze({\n id: nonEmptyString(value.id, `${path}.id`),\n changeFrequency: normalizeSandboxChangeFrequency(value.changeFrequency, `${path}.changeFrequency`),\n dependsOn: Object.freeze([...dependsOn]),\n requires: normalizeCapabilities(value.requires, `${path}.requires`),\n provides: normalizeCapabilities(value.provides, `${path}.provides`),\n });\n}\nfunction cloneJson(value: unknown, path: string, ancestors = new WeakSet<object>()): JsonValue {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\")\n return value;\n if (typeof value === \"number\") {\n if (!Number.isFinite(value))\n throw actionError(\"canonical-input\", `${path} contains a non-finite number`, path);\n return Object.is(value, -0) ? 0 : value;\n }\n if (typeof value !== \"object\") {\n throw actionError(\"canonical-input\", `${path} must contain only JSON values (no undefined, functions, symbols, bigint, or class instances)`, path);\n }\n if (ancestors.has(value))\n throw actionError(\"canonical-input\", `${path} must not contain a cycle`, path);\n ancestors.add(value);\n try {\n if (Array.isArray(value)) {\n return Object.freeze(value.map((child, index) => cloneJson(child, `${path}[${index}]`, ancestors))) as unknown as JsonValue;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null) {\n throw actionError(\"canonical-input\", `${path} must contain only plain JSON objects`, path);\n }\n const output = Object.create(null) as globalThis.Record<string, JsonValue>;\n for (const key of Object.keys(value as globalThis.Record<string, unknown>).sort()) {\n output[key] = cloneJson((value as globalThis.Record<string, unknown>)[key], `${path}.${key}`, ancestors);\n }\n return Object.freeze(output);\n }\n finally {\n ancestors.delete(value);\n }\n}\nfunction normalizeSandboxActionCache(value: unknown, path: string): Readonly<SandboxActionCacheOptions> | undefined {\n if (value === undefined)\n return undefined;\n assertRecord(value, path);\n assertOnlyKeys(value, new Set([\"state\", \"fingerprint\"]), path);\n const state = normalizeSandboxActionState(value.state, `${path}.state`);\n if (value.fingerprint !== undefined)\n cloneJson(value.fingerprint, `${path}.fingerprint`);\n return Object.freeze({\n ...(value.state === undefined ? {} : { state }),\n ...(value.fingerprint === undefined ? {} : { fingerprint: value.fingerprint as JsonValue }),\n });\n}\nfunction normalizeSandboxActionState(value: unknown, path: string): SandboxActionState {\n if (value === undefined)\n return sandboxState.all;\n if (value === sandboxState.all || value === sandboxState.dockerData)\n return value;\n throw actionError(\"cache-state\", `${path} must be sandboxState.all or sandboxState.dockerData`, path);\n}\nfunction envRecord(value: unknown, path: string): Readonly<globalThis.Record<string, string>> | undefined {\n if (value === undefined)\n return undefined;\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw actionError(\"steps\", `${path} must be an object of string values`, path);\n }\n const env = Object.create(null) as globalThis.Record<string, string>;\n for (const key of Object.keys(value as globalThis.Record<string, unknown>).sort()) {\n const child = (value as globalThis.Record<string, unknown>)[key];\n if (key === \"\" || typeof child !== \"string\") {\n throw actionError(\"steps\", `${path}.${key} must be a string`, `${path}.${key}`);\n }\n env[key] = child;\n }\n return Object.freeze(env);\n}\nfunction makeStep<K extends SandboxStep[\"kind\"]>(kind: K, data: Omit<SandboxStepData, \"presentation\" | \"execution\"> & {\n readonly presentation: Extract<SandboxStepPresentation, {\n readonly kind: K;\n }>;\n readonly execution: Extract<SandboxStepExecution, {\n readonly kind: K;\n }>;\n}): SandboxStep {\n const step = { kind } as SandboxStep;\n Object.defineProperty(step, SANDBOX_STEP, { value: true });\n SANDBOX_STEPS.add(step);\n SANDBOX_STEP_DATA.set(step, Object.freeze(data));\n return Object.freeze(step);\n}\nfunction execPresentation(executable: string, args: readonly string[], options: {\n readonly cwd?: string;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly env?: Readonly<globalThis.Record<string, string>>;\n}, command: Extract<SandboxStepPresentation, {\n readonly kind: \"exec\";\n}>[\"command\"] = {\n kind: \"argv\",\n executable,\n args,\n}): Extract<SandboxStepPresentation, {\n readonly kind: \"exec\";\n}> {\n return Object.freeze({\n kind: \"exec\" as const,\n command: command.kind === \"argv\"\n ? Object.freeze({ ...command, args: Object.freeze([...command.args]) })\n : Object.freeze({ ...command }),\n ...(options.cwd === undefined ? {} : { cwd: options.cwd }),\n ...(options.user === undefined ? {} : { user: options.user }),\n ...(options.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs }),\n ...(options.env === undefined || Object.keys(options.env).length === 0\n ? {}\n : { envKeys: Object.freeze(Object.keys(options.env)) }),\n });\n}\nfunction normalizeTransferSource(source: SandboxTransferSource, expectedKind: RegisteredSandboxContent[\"kind\"], path: string): {\n readonly identity: JsonValue;\n readonly plan: Extract<SandboxStepPlan, {\n readonly kind: \"transferFile\" | \"transferDirectory\";\n }>[\"source\"];\n} {\n if (!isRegisteredSandboxContent(source) || source.kind !== expectedKind) {\n throw actionError(\"steps\", `${path} must be a ${expectedKind} handle returned by registerSandboxContent()`, path);\n }\n return Object.freeze({\n identity: Object.freeze({ kind: \"content\", contentKind: source.kind, digest: source.digest }),\n plan: Object.freeze({ kind: \"content\", digest: source.digest }),\n });\n}\nfunction registeredContentBytes(source: RegisteredSandboxContent): number {\n const snapshot = registeredSandboxContentSnapshotOf(source);\n if (snapshot.kind === \"file\")\n return Buffer.from(snapshot.contentBase64, \"base64\").byteLength;\n return snapshot.entries.reduce((total, entry) => entry.kind === \"file\" ? total + Buffer.from(entry.contentBase64, \"base64\").byteLength : total, 0);\n}\nexport const sandboxStep = Object.freeze({\n exec(input: ExecSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.exec input\");\n assertOnlyKeys(input, new Set([\"executable\", \"args\", \"cwd\", \"env\", \"user\", \"timeoutMs\", \"stdin\"]), \"sandboxStep.exec input\");\n const executable = nonEmptyString(input.executable, \"sandboxStep.exec input.executable\");\n const args = input.args === undefined ? Object.freeze([]) : stringArray(input.args, \"sandboxStep.exec input.args\");\n const cwd = input.cwd === undefined ? undefined : nonEmptyString(input.cwd, \"sandboxStep.exec input.cwd\");\n const user = input.user === undefined ? undefined : nonEmptyString(input.user, \"sandboxStep.exec input.user\");\n if (input.timeoutMs !== undefined &&\n (typeof input.timeoutMs !== \"number\" || !Number.isFinite(input.timeoutMs) || input.timeoutMs <= 0)) {\n throw actionError(\"steps\", \"sandboxStep.exec input.timeoutMs must be a positive finite number\", \"timeoutMs\");\n }\n if (input.stdin !== undefined && typeof input.stdin !== \"string\") {\n throw actionError(\"steps\", \"sandboxStep.exec input.stdin must be a string\", \"stdin\");\n }\n const env = envRecord(input.env, \"sandboxStep.exec input.env\");\n const identity: JsonValue = Object.freeze({\n kind: \"exec\",\n executable,\n args: [...args],\n ...(cwd === undefined ? {} : { cwd }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(env === undefined ? {} : { env: { ...env } }),\n ...(input.stdin === undefined ? {} : { stdin: input.stdin }),\n });\n const plan: SandboxStepPlan = Object.freeze({\n kind: \"exec\",\n executable,\n args,\n ...(cwd === undefined ? {} : { cwd }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(env === undefined || Object.keys(env).length === 0 ? {} : { envKeys: Object.freeze(Object.keys(env)) }),\n ...(input.stdin === undefined\n ? {}\n : {\n stdinDigest: `sha256:${digestBytes(input.stdin)}`,\n stdinBytes: Buffer.byteLength(input.stdin),\n }),\n });\n return makeStep(\"exec\", {\n identity,\n plan,\n presentation: execPresentation(executable, args, {\n ...(cwd === undefined ? {} : { cwd }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(env === undefined ? {} : { env }),\n }),\n execution: Object.freeze({\n kind: \"exec\" as const,\n input: Object.freeze({\n executable,\n args,\n ...(cwd === undefined ? {} : { cwd }),\n ...(env === undefined ? {} : { env }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(input.stdin === undefined ? {} : { stdin: input.stdin }),\n }),\n }),\n });\n },\n putText(input: PutTextSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.putText input\");\n assertOnlyKeys(input, new Set([\"path\", \"text\"]), \"sandboxStep.putText input\");\n const path = nonEmptyString(input.path, \"sandboxStep.putText input.path\");\n if (typeof input.text !== \"string\")\n throw actionError(\"steps\", \"sandboxStep.putText input.text must be a string\", \"text\");\n const digest = `sha256:${digestBytes(input.text)}`;\n const bytes = Buffer.byteLength(input.text);\n return makeStep(\"putText\", {\n identity: Object.freeze({ kind: \"putText\", path, digest, bytes }),\n plan: Object.freeze({ kind: \"putText\", path, digest, bytes }),\n presentation: Object.freeze({ kind: \"putText\", path, digest, bytes }),\n execution: Object.freeze({\n kind: \"putText\" as const,\n input: Object.freeze({ path, text: input.text }),\n }),\n });\n },\n putBytes(input: PutBytesSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.putBytes input\");\n assertOnlyKeys(input, new Set([\"path\", \"bytes\"]), \"sandboxStep.putBytes input\");\n const path = nonEmptyString(input.path, \"sandboxStep.putBytes input.path\");\n if (!(input.bytes instanceof Uint8Array)) {\n throw actionError(\"steps\", \"sandboxStep.putBytes input.bytes must be a Uint8Array\", \"bytes\");\n }\n const bytes = Uint8Array.from(input.bytes);\n const digest = `sha256:${digestBytes(bytes)}`;\n return makeStep(\"putBytes\", {\n identity: Object.freeze({ kind: \"putBytes\", path, digest, bytes: bytes.byteLength }),\n plan: Object.freeze({ kind: \"putBytes\", path, digest, bytes: bytes.byteLength }),\n presentation: Object.freeze({ kind: \"putBytes\", path, digest, bytes: bytes.byteLength }),\n execution: Object.freeze({\n kind: \"putBytes\" as const,\n input: Object.freeze({ path, bytes }),\n }),\n });\n },\n transferFile(input: TransferFileSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.transferFile input\");\n assertOnlyKeys(input, new Set([\"source\", \"to\"]), \"sandboxStep.transferFile input\");\n const source = normalizeTransferSource(input.source, \"file\", \"sandboxStep.transferFile input.source\");\n const to = nonEmptyString(input.to, \"sandboxStep.transferFile input.to\");\n return makeStep(\"transferFile\", {\n identity: Object.freeze({ kind: \"transferFile\", source: source.identity, to }),\n plan: Object.freeze({ kind: \"transferFile\", source: source.plan, to }),\n presentation: Object.freeze({\n kind: \"transferFile\",\n digest: input.source.digest,\n to,\n bytes: registeredContentBytes(input.source),\n }),\n execution: Object.freeze({\n kind: \"transferFile\" as const,\n input: Object.freeze({ source: input.source, to }),\n }),\n });\n },\n transferDirectory(input: TransferDirectorySandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.transferDirectory input\");\n assertOnlyKeys(input, new Set([\"source\", \"to\"]), \"sandboxStep.transferDirectory input\");\n const source = normalizeTransferSource(input.source, \"directory\", \"sandboxStep.transferDirectory input.source\");\n const to = nonEmptyString(input.to, \"sandboxStep.transferDirectory input.to\");\n return makeStep(\"transferDirectory\", {\n identity: Object.freeze({ kind: \"transferDirectory\", source: source.identity, to }),\n plan: Object.freeze({ kind: \"transferDirectory\", source: source.plan, to }),\n presentation: Object.freeze({\n kind: \"transferDirectory\",\n digest: input.source.digest,\n to,\n bytes: registeredContentBytes(input.source),\n }),\n execution: Object.freeze({\n kind: \"transferDirectory\" as const,\n input: Object.freeze({ source: input.source, to }),\n }),\n });\n },\n checkoutGit(input: CheckoutGitSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.checkoutGit input\");\n assertOnlyKeys(input, new Set([\"repository\", \"ref\", \"to\", \"sparse\"]), \"sandboxStep.checkoutGit input\");\n const repository = nonEmptyString(input.repository, \"sandboxStep.checkoutGit input.repository\");\n const ref = nonEmptyString(input.ref, \"sandboxStep.checkoutGit input.ref\");\n const to = nonEmptyString(input.to, \"sandboxStep.checkoutGit input.to\");\n let sparse: {\n readonly include: readonly string[];\n readonly exclude: readonly string[];\n } | undefined;\n if (input.sparse !== undefined) {\n assertRecord(input.sparse, \"sandboxStep.checkoutGit input.sparse\");\n assertOnlyKeys(input.sparse, new Set([\"include\", \"exclude\"]), \"sandboxStep.checkoutGit input.sparse\");\n sparse = Object.freeze({\n include: input.sparse.include === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.include, \"sandboxStep.checkoutGit input.sparse.include\"),\n exclude: input.sparse.exclude === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.exclude, \"sandboxStep.checkoutGit input.sparse.exclude\"),\n });\n }\n const projection = Object.freeze({\n kind: \"checkoutGit\" as const,\n repository,\n ref,\n to,\n ...(sparse === undefined ? {} : { sparse }),\n });\n return makeStep(\"checkoutGit\", {\n identity: cloneJson(projection, \"sandboxStep.checkoutGit identity\"),\n plan: projection,\n presentation: Object.freeze({ kind: \"checkoutGit\", repository, ref, to }),\n execution: Object.freeze({\n kind: \"checkoutGit\" as const,\n input: Object.freeze({ repository, ref, to, ...(sparse === undefined ? {} : { sparse }) }),\n }),\n });\n },\n});\nexport function isSandboxStep(value: unknown): value is SandboxStep {\n return value !== null && typeof value === \"object\" && SANDBOX_STEPS.has(value);\n}\nexport function sandboxStepPlanOf(step: SandboxStep): SandboxStepPlan {\n const data = SANDBOX_STEP_DATA.get(step as object);\n if (!isSandboxStep(step) || data === undefined) {\n throw actionError(\"steps\", \"Sandbox steps must be created by sandboxStep\", \"steps\");\n }\n return data.plan;\n}\n/** @internal Runtime interpreter consumes normalized private payloads; debug only receives SandboxStepPlan. */\nexport function sandboxStepExecutionOf(step: SandboxStep): SandboxStepExecution {\n const data = SANDBOX_STEP_DATA.get(step as object);\n if (!isSandboxStep(step) || data === undefined) {\n throw actionError(\"steps\", \"Sandbox steps must be created by sandboxStep\", \"steps\");\n }\n return data.execution;\n}\n/** @internal Runtime-only safe activity projection; it is neither identity nor debug JSON. */\nexport function sandboxStepPresentationOf(step: SandboxStep): SandboxStepPresentation {\n const data = SANDBOX_STEP_DATA.get(step as object);\n if (!isSandboxStep(step) || data === undefined) {\n throw actionError(\"steps\", \"Sandbox steps must be created by sandboxStep\", \"steps\");\n }\n return data.presentation;\n}\n/** @internal Built-in shell keeps its author command without exposing the interpreter argv. */\nexport function sandboxShellStep(input: ExecSandboxStepInput, command: string): SandboxStep {\n const step = sandboxStep.exec(input);\n const data = SANDBOX_STEP_DATA.get(step as object)!;\n return makeStep(\"exec\", {\n ...data,\n presentation: execPresentation(input.executable, input.args ?? [], input, Object.freeze({ kind: \"shell\", command })),\n });\n}\nfunction visibleActivityText(value: string): string {\n let visible = \"\";\n for (const character of value) {\n const codePoint = character.codePointAt(0)!;\n if (character === \"\\t\")\n visible += \"\\\\t\";\n else if (character === \"\\n\")\n visible += \"\\\\n\";\n else if (character === \"\\r\")\n visible += \"\\\\r\";\n else if (codePoint < 0x20 || (codePoint >= 0x7f && codePoint <= 0x9f)) {\n visible += `\\\\u${codePoint.toString(16).padStart(4, \"0\")}`;\n }\n else\n visible += character;\n }\n return visible;\n}\nfunction safeCheckoutLocator(locator: string): string {\n try {\n const url = new URL(locator);\n return `${url.protocol}//${url.host}${url.pathname}`;\n }\n catch {\n return \"[invalid locator]\";\n }\n}\n/** @internal Exhaustive human runtime formatter. */\nexport function formatSandboxStepActivity(presentation: SandboxStepPresentation): string {\n const show = (value: string): string => visibleActivityText(value);\n switch (presentation.kind) {\n case \"exec\": {\n const command = presentation.command.kind === \"shell\"\n ? `shell ${show(presentation.command.command)}`\n : `exec ${[presentation.command.executable, ...presentation.command.args].map((part) => JSON.stringify(show(part))).join(\" \")}`;\n const details = [\n presentation.cwd === undefined ? undefined : `cwd=${JSON.stringify(show(presentation.cwd))}`,\n presentation.user === undefined ? undefined : `user=${JSON.stringify(show(presentation.user))}`,\n presentation.timeoutMs === undefined ? undefined : `timeout=${presentation.timeoutMs}ms`,\n presentation.envKeys === undefined ? undefined : `env keys=${JSON.stringify(presentation.envKeys.map(show))}`,\n ].filter((value): value is string => value !== undefined);\n return details.length === 0 ? command : `${command} · ${details.join(\" · \")}`;\n }\n case \"putText\":\n case \"putBytes\":\n return `${presentation.kind} ${JSON.stringify(show(presentation.path))} · ${presentation.bytes} bytes · ${presentation.digest}`;\n case \"transferFile\":\n case \"transferDirectory\":\n return `${presentation.kind} ${presentation.digest} -> ${JSON.stringify(show(presentation.to))}${presentation.bytes === undefined ? \"\" : ` · ${presentation.bytes} bytes`}`;\n case \"checkoutGit\":\n return `checkoutGit ${JSON.stringify(show(safeCheckoutLocator(presentation.repository)))} @ ${show(presentation.ref)} -> ${JSON.stringify(show(presentation.to))}`;\n }\n}\nfunction validateAfterOptions(value: unknown, defaultId: string): Readonly<{\n readonly id: string;\n}> {\n if (value === undefined)\n return Object.freeze({ id: defaultId });\n assertRecord(value, \"Sandbox after options\");\n assertOnlyKeys(value, new Set([\"id\"]), \"Sandbox after options\");\n return Object.freeze({\n id: value.id === undefined ? defaultId : nonEmptyString(value.id, \"Sandbox after options.id\"),\n });\n}\nfunction makeAction(data: SandboxActionData): SandboxAction {\n const action = { id: data.metadata.id } as SandboxAction;\n Object.defineProperty(action, SANDBOX_ACTION, { value: true });\n SANDBOX_ACTIONS.add(action);\n SANDBOX_ACTION_DATA.set(action, data);\n return Object.freeze(action);\n}\nfunction makeAfterAction(data: SandboxActionData): SandboxAfterAction {\n const action = { id: data.metadata.id } as SandboxAfterAction;\n Object.defineProperty(action, SANDBOX_AFTER_ACTION, { value: true });\n SANDBOX_AFTER_ACTIONS.add(action);\n SANDBOX_AFTER_ACTION_DATA.set(action, data);\n return Object.freeze(action);\n}\nexport function defineSandboxAction<A, I extends JsonValue>(definition: SandboxActionDefinition<A, I>): SandboxActionFamily<A> {\n assertRecord(definition, \"defineSandboxAction definition\");\n assertOnlyKeys(definition, new Set([\"id\", \"input\", \"cache\", \"steps\"]), \"defineSandboxAction definition\");\n const familyId = nonEmptyString(definition.id, \"defineSandboxAction definition.id\");\n if (!Schema.isSchema(definition.input)) {\n throw actionError(\"schema\", \"defineSandboxAction definition.input must be an Effect Schema\", \"input\");\n }\n if (typeof definition.steps !== \"function\") {\n throw actionError(\"definition\", \"defineSandboxAction definition.steps must be a function\", \"steps\");\n }\n if (definition.cache !== undefined) {\n assertRecord(definition.cache, \"defineSandboxAction definition.cache\");\n assertOnlyKeys(definition.cache, new Set([\"state\", \"fingerprint\"]), \"defineSandboxAction definition.cache\");\n if (definition.cache.state !== undefined) {\n normalizeSandboxActionState(definition.cache.state, \"defineSandboxAction definition.cache.state\");\n }\n if (definition.cache.fingerprint !== undefined &&\n typeof definition.cache.fingerprint !== \"function\") {\n cloneJson(definition.cache.fingerprint, \"defineSandboxAction definition.cache.fingerprint\");\n }\n }\n const instantiate = (input: A, metadata: NormalizedSandboxBeforeMetadata, instanceCache?: SandboxActionCacheOptions): SandboxActionData => {\n if (definition.cache?.state !== undefined && instanceCache?.state !== undefined) {\n throw actionError(\"cache-state\", `Sandbox action ${JSON.stringify(familyId)} cache.state must be declared exactly once; an instance cannot repeat or override the definition state`, \"cache.state\");\n }\n const state = normalizeSandboxActionState(instanceCache?.state ?? definition.cache?.state, `Sandbox action ${JSON.stringify(familyId)} cache.state`);\n let validated: A;\n try {\n validated = Schema.decodeSync(Schema.toType(definition.input))(input);\n }\n catch (cause) {\n throw actionError(\"input\", `Sandbox action ${JSON.stringify(familyId)} input failed Schema validation`, \"input\", cause);\n }\n let encoded: I;\n try {\n encoded = Schema.encodeSync(definition.input)(validated);\n }\n catch (cause) {\n throw actionError(\"schema\", `Sandbox action ${JSON.stringify(familyId)} input could not be encoded synchronously`, \"input\", cause);\n }\n const canonicalInput = cloneJson(encoded, `Sandbox action ${JSON.stringify(familyId)} canonical input`);\n let steps: NonEmptySandboxSteps;\n try {\n steps = definition.steps(validated);\n }\n catch (cause) {\n throw actionError(\"steps\", `Sandbox action ${JSON.stringify(familyId)} steps threw`, \"steps\", cause);\n }\n if (!Array.isArray(steps) || steps.length === 0 || steps.some((step) => !isSandboxStep(step))) {\n throw actionError(\"steps\", `Sandbox action ${JSON.stringify(familyId)} steps must synchronously return a non-empty tuple of sandboxStep values`, \"steps\");\n }\n const stepData = steps.map((step) => SANDBOX_STEP_DATA.get(step as object)!);\n const plans = Object.freeze(stepData.map((entry) => entry.plan));\n const automaticIdentity: JsonValue = Object.freeze({\n family: familyId,\n state,\n input: canonicalInput,\n steps: stepData.map((entry) => entry.identity),\n });\n const absentFingerprint: JsonValue = Object.freeze({ _tag: \"Absent\" });\n let definitionSupplemental: JsonValue = absentFingerprint;\n const fingerprint = definition.cache?.fingerprint;\n if (fingerprint !== undefined) {\n try {\n definitionSupplemental = cloneJson(typeof fingerprint === \"function\" ? fingerprint(validated) : fingerprint, `Sandbox action ${JSON.stringify(familyId)} definition supplemental fingerprint`);\n }\n catch (cause) {\n throw actionError(\"cache-fingerprint\", `Sandbox action ${JSON.stringify(familyId)} supplemental fingerprint failed`, \"cache.fingerprint\", cause);\n }\n }\n let instanceSupplemental: JsonValue = absentFingerprint;\n if (instanceCache?.fingerprint !== undefined) {\n try {\n instanceSupplemental = cloneJson(instanceCache.fingerprint, `Sandbox action ${JSON.stringify(familyId)} instance supplemental fingerprint`);\n }\n catch (cause) {\n throw actionError(\"cache-fingerprint\", `Sandbox action ${JSON.stringify(familyId)} instance supplemental fingerprint failed`, \"cache.fingerprint\", cause);\n }\n }\n const supplementalValue: JsonValue = Object.freeze({\n definition: definitionSupplemental,\n instance: instanceSupplemental,\n });\n const automatic = `sha256:${digestOf(automaticIdentity)}`;\n const supplemental = `sha256:${digestOf(supplementalValue)}`;\n const combined = `sha256:${digestOf({ automatic, supplemental })}`;\n return Object.freeze({\n metadata,\n steps: Object.freeze([...steps]),\n plan: Object.freeze({\n id: metadata.id,\n family: familyId,\n state,\n input: canonicalInput,\n steps: plans,\n fingerprint: Object.freeze({ automatic, supplemental, combined }),\n }),\n });\n };\n const family = ((input: A, options?: SandboxActionInstanceOptions): SandboxAction => {\n const selected = options === undefined ? {} : options;\n assertRecord(selected, \"Sandbox action instance options\");\n assertOnlyKeys(selected, new Set([\"id\", \"changeFrequency\", \"dependsOn\", \"requires\", \"provides\", \"cache\"]), \"Sandbox action instance options\");\n const cache = normalizeSandboxActionCache(selected.cache, \"Sandbox action instance options.cache\");\n return makeAction(instantiate(input, normalizeSandboxBeforeMetadata({\n ...selected,\n id: selected.id ?? familyId,\n }), cache));\n }) as SandboxActionFamily<A>;\n Object.defineProperty(family, \"after\", {\n value: (input: A, options?: SandboxAfterActionOptions): SandboxAfterAction => {\n const after = validateAfterOptions(options, familyId);\n const metadata: NormalizedSandboxBeforeMetadata = Object.freeze({\n id: after.id,\n changeFrequency: Object.freeze({ value: changeFrequency.normal, source: \"defaulted\", preset: \"normal\" }),\n dependsOn: Object.freeze([]),\n requires: Object.freeze([]),\n provides: Object.freeze([]),\n });\n return makeAfterAction(instantiate(input, metadata));\n },\n enumerable: true,\n });\n return Object.freeze(family);\n}\nexport function isSandboxAction(value: unknown): value is SandboxAction {\n return value !== null && typeof value === \"object\" && SANDBOX_ACTIONS.has(value);\n}\nexport function isSandboxAfterAction(value: unknown): value is SandboxAfterAction {\n return value !== null && typeof value === \"object\" && SANDBOX_AFTER_ACTIONS.has(value);\n}\nexport function sandboxActionDataOf(action: SandboxAction): SandboxActionData {\n const data = SANDBOX_ACTION_DATA.get(action as object);\n if (!isSandboxAction(action) || data === undefined) {\n throw actionError(\"definition\", \"SandboxAction must be created by defineSandboxAction\", \"action\");\n }\n return data;\n}\nexport function sandboxAfterActionDataOf(action: SandboxAfterAction): SandboxActionData {\n const data = SANDBOX_AFTER_ACTION_DATA.get(action as object);\n if (!isSandboxAfterAction(action) || data === undefined) {\n throw actionError(\"definition\", \"SandboxAfterAction must be created by SandboxActionFamily.after\", \"action\");\n }\n return data;\n}\nexport interface WriteTextActionInput extends SandboxBeforeActionOptions {\n readonly path: string;\n readonly text: string;\n}\nexport interface WriteTextAfterActionInput {\n readonly id: string;\n readonly path: string;\n readonly text: string;\n}\nexport interface WriteBytesActionInput extends SandboxBeforeActionOptions {\n readonly path: string;\n readonly bytes: Uint8Array;\n}\nexport interface WriteBytesAfterActionInput {\n readonly id: string;\n readonly path: string;\n readonly bytes: Uint8Array;\n}\nexport interface UploadFileActionInput extends SandboxBeforeActionOptions {\n /** Declaration-time host content must be anchored explicitly to its definition module. */\n readonly source: URL;\n readonly to: string;\n}\nexport interface UploadFileAfterActionInput {\n readonly id: string;\n /** Declaration-time host content must be anchored explicitly to its definition module. */\n readonly source: URL;\n readonly to: string;\n}\nexport interface UploadDirectoryActionInput extends UploadFileActionInput {\n}\nexport interface UploadDirectoryAfterActionInput extends UploadFileAfterActionInput {\n}\nexport interface GitCheckoutActionInput extends SandboxBeforeActionOptions {\n readonly repository: string;\n /** V1 accepts only a complete immutable Git object id; moving refs require a future planning lookup seam. */\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include?: readonly string[];\n readonly exclude?: readonly string[];\n };\n}\nexport interface GitCheckoutAfterActionInput {\n readonly id: string;\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include?: readonly string[];\n readonly exclude?: readonly string[];\n };\n}\nexport interface WriteTextActionFactory {\n (input: WriteTextActionInput): SandboxAction;\n readonly after: (input: WriteTextAfterActionInput) => SandboxAfterAction;\n}\nexport interface WriteBytesActionFactory {\n (input: WriteBytesActionInput): SandboxAction;\n readonly after: (input: WriteBytesAfterActionInput) => SandboxAfterAction;\n}\nexport interface UploadFileActionFactory {\n (input: UploadFileActionInput): SandboxAction;\n readonly after: (input: UploadFileAfterActionInput) => SandboxAfterAction;\n}\nexport interface UploadDirectoryActionFactory {\n (input: UploadDirectoryActionInput): SandboxAction;\n readonly after: (input: UploadDirectoryAfterActionInput) => SandboxAfterAction;\n}\nexport interface GitCheckoutActionFactory {\n (input: GitCheckoutActionInput): SandboxAction;\n readonly after: (input: GitCheckoutAfterActionInput) => SandboxAfterAction;\n}\nconst INLINE_BEFORE_KEYS = [\"id\", \"changeFrequency\", \"dependsOn\", \"requires\", \"provides\", \"cache\"] as const;\nfunction inlineBeforeOptions(input: SandboxBeforeActionOptions): SandboxActionInstanceOptions {\n return {\n id: input.id,\n ...(input.changeFrequency === undefined ? {} : { changeFrequency: input.changeFrequency }),\n ...(input.dependsOn === undefined ? {} : { dependsOn: input.dependsOn }),\n ...(input.requires === undefined ? {} : { requires: input.requires }),\n ...(input.provides === undefined ? {} : { provides: input.provides }),\n ...(input.cache === undefined ? {} : { cache: input.cache }),\n };\n}\nfunction assertInlineInput(input: unknown, payloadKeys: readonly string[], path: string, after: boolean): asserts input is globalThis.Record<string, unknown> {\n assertRecord(input, path);\n assertOnlyKeys(input, new Set(after ? [\"id\", ...payloadKeys] : [...INLINE_BEFORE_KEYS, ...payloadKeys]), path);\n nonEmptyString(input.id, `${path}.id`);\n}\nfunction contentSource(source: URL, path: string): RegisteredSandboxContent {\n if (!(source instanceof URL)) {\n throw actionError(\"input\", `${path} must be a file URL anchored to the definition module, for example new URL(\\\"fixture/\\\", import.meta.url)`, path);\n }\n return registerSandboxContent(source);\n}\nconst writeTextFamily = defineSandboxAction({\n id: \"niceeval.sandbox.write-text\",\n input: Schema.Struct({ path: Schema.String, text: Schema.String }),\n steps: ({ path, text }) => [sandboxStep.putText({ path, text })] as const,\n});\nconst writeBytesFamily = defineSandboxAction({\n id: \"niceeval.sandbox.write-bytes\",\n input: Schema.Struct({ path: Schema.String, bytesBase64: Schema.String }),\n steps: ({ path, bytesBase64 }) => [sandboxStep.putBytes({\n path,\n bytes: Uint8Array.from(Buffer.from(bytesBase64, \"base64\")),\n })] as const,\n});\ninterface TransferActionPayload {\n readonly source: RegisteredSandboxContent;\n readonly to: string;\n}\nconst transferInputSchema = Schema.Struct({\n source: Schema.Unknown,\n to: Schema.String,\n}) as unknown as Schema.Codec<TransferActionPayload, JsonValue, never, never>;\nconst uploadFileFamily = defineSandboxAction({\n id: \"niceeval.sandbox.upload-file\",\n input: transferInputSchema,\n steps: ({ source, to }) => [sandboxStep.transferFile({ source, to })] as const,\n});\nconst uploadDirectoryFamily = defineSandboxAction({\n id: \"niceeval.sandbox.upload-directory\",\n input: transferInputSchema,\n steps: ({ source, to }) => [sandboxStep.transferDirectory({ source, to })] as const,\n});\ninterface GitCheckoutPayload {\n readonly repository: string;\n readonly commit: string;\n readonly to: string;\n readonly include: readonly string[];\n readonly exclude: readonly string[];\n}\nconst gitCheckoutInputSchema = Schema.Struct({\n repository: Schema.String,\n commit: Schema.String,\n to: Schema.String,\n include: Schema.Array(Schema.String),\n exclude: Schema.Array(Schema.String),\n}) as unknown as Schema.Codec<GitCheckoutPayload, JsonValue, never, never>;\nconst gitCheckoutFamily = defineSandboxAction({\n id: \"niceeval.sandbox.git-checkout\",\n input: gitCheckoutInputSchema,\n steps: ({ repository, commit, to, include, exclude }) => [sandboxStep.checkoutGit({\n repository,\n ref: commit,\n to,\n ...(include.length === 0 && exclude.length === 0\n ? {}\n : { sparse: { include, exclude } }),\n })] as const,\n});\nfunction normalizeGitCheckout(input: GitCheckoutActionInput | GitCheckoutAfterActionInput): GitCheckoutPayload {\n let repository: URL;\n try {\n repository = new URL(input.repository);\n }\n catch (cause) {\n throw actionError(\"input\", \"gitCheckout input.repository must be a public HTTPS URL\", \"repository\", cause);\n }\n if (repository.protocol !== \"https:\" ||\n repository.username !== \"\" ||\n repository.password !== \"\" ||\n repository.search !== \"\" ||\n repository.hash !== \"\") {\n throw actionError(\"input\", \"gitCheckout input.repository must be a credential-free public HTTPS URL without query or fragment\", \"repository\");\n }\n const commit = nonEmptyString(input.ref, \"gitCheckout input.ref\").toLowerCase();\n if (!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(commit)) {\n throw actionError(\"input\", \"gitCheckout input.ref must be a complete 40- or 64-hex commit object id; moving refs are not cache-safe\", \"ref\");\n }\n let include: readonly string[] = Object.freeze([]);\n let exclude: readonly string[] = Object.freeze([]);\n if (input.sparse !== undefined) {\n assertRecord(input.sparse, \"gitCheckout input.sparse\");\n assertOnlyKeys(input.sparse, new Set([\"include\", \"exclude\"]), \"gitCheckout input.sparse\");\n include = input.sparse.include === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.include, \"gitCheckout input.sparse.include\");\n exclude = input.sparse.exclude === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.exclude, \"gitCheckout input.sparse.exclude\");\n }\n return Object.freeze({\n repository: repository.href,\n commit,\n to: nonEmptyString(input.to, \"gitCheckout input.to\"),\n include,\n exclude,\n });\n}\nconst writeTextImpl = ((input: WriteTextActionInput): SandboxAction => {\n assertInlineInput(input, [\"path\", \"text\"], \"writeText input\", false);\n return writeTextFamily({ path: input.path, text: input.text }, inlineBeforeOptions(input));\n}) as WriteTextActionFactory;\nObject.defineProperty(writeTextImpl, \"after\", {\n value: (input: WriteTextAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"path\", \"text\"], \"writeText.after input\", true);\n return writeTextFamily.after({ path: input.path, text: input.text }, { id: input.id });\n },\n});\nexport const writeText = Object.freeze(writeTextImpl);\nconst writeBytesImpl = ((input: WriteBytesActionInput): SandboxAction => {\n assertInlineInput(input, [\"path\", \"bytes\"], \"writeBytes input\", false);\n if (!(input.bytes instanceof Uint8Array))\n throw actionError(\"input\", \"writeBytes input.bytes must be Uint8Array\", \"bytes\");\n return writeBytesFamily({ path: input.path, bytesBase64: Buffer.from(input.bytes).toString(\"base64\") }, inlineBeforeOptions(input));\n}) as WriteBytesActionFactory;\nObject.defineProperty(writeBytesImpl, \"after\", {\n value: (input: WriteBytesAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"path\", \"bytes\"], \"writeBytes.after input\", true);\n if (!(input.bytes instanceof Uint8Array))\n throw actionError(\"input\", \"writeBytes.after input.bytes must be Uint8Array\", \"bytes\");\n return writeBytesFamily.after({ path: input.path, bytesBase64: Buffer.from(input.bytes).toString(\"base64\") }, { id: input.id });\n },\n});\nexport const writeBytes = Object.freeze(writeBytesImpl);\nconst uploadFileImpl = ((input: UploadFileActionInput): SandboxAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadFile input\", false);\n return uploadFileFamily({ source: contentSource(input.source, \"uploadFile input.source\"), to: input.to }, inlineBeforeOptions(input));\n}) as UploadFileActionFactory;\nObject.defineProperty(uploadFileImpl, \"after\", {\n value: (input: UploadFileAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadFile.after input\", true);\n return uploadFileFamily.after({ source: contentSource(input.source, \"uploadFile.after input.source\"), to: input.to }, { id: input.id });\n },\n});\nexport const uploadFile = Object.freeze(uploadFileImpl);\nconst uploadDirectoryImpl = ((input: UploadDirectoryActionInput): SandboxAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadDirectory input\", false);\n return uploadDirectoryFamily({ source: contentSource(input.source, \"uploadDirectory input.source\"), to: input.to }, inlineBeforeOptions(input));\n}) as UploadDirectoryActionFactory;\nObject.defineProperty(uploadDirectoryImpl, \"after\", {\n value: (input: UploadDirectoryAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadDirectory.after input\", true);\n return uploadDirectoryFamily.after({ source: contentSource(input.source, \"uploadDirectory.after input.source\"), to: input.to }, { id: input.id });\n },\n});\nexport const uploadDirectory = Object.freeze(uploadDirectoryImpl);\nconst gitCheckoutImpl = ((input: GitCheckoutActionInput): SandboxAction => {\n assertInlineInput(input, [\"repository\", \"ref\", \"to\", \"sparse\"], \"gitCheckout input\", false);\n return gitCheckoutFamily(normalizeGitCheckout(input), inlineBeforeOptions(input));\n}) as GitCheckoutActionFactory;\nObject.defineProperty(gitCheckoutImpl, \"after\", {\n value: (input: GitCheckoutAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"repository\", \"ref\", \"to\", \"sparse\"], \"gitCheckout.after input\", true);\n return gitCheckoutFamily.after(normalizeGitCheckout(input), { id: input.id });\n },\n});\nexport const gitCheckout = Object.freeze(gitCheckoutImpl);\n"]}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["action.ts"],"names":[],"mappings":"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","sourcesContent":["// SandboxAction 作者声明面:同步 Schema 输入、封闭 step protocol 与纯调度元数据。\n// 本模块只构造、规范化和冻结计划;step 解释、Provider capability 与 cache I/O 属于 runtime seam。\nimport { Data, Schema } from \"effect\";\nimport type { JsonValue } from \"../shared/types.ts\";\nimport { digestBytes, digestOf } from \"./identity.ts\";\nimport { isRegisteredSandboxContent, registerSandboxContent, registeredSandboxContentSnapshotOf, type RegisteredSandboxContent, } from \"./content.ts\";\nconst SANDBOX_ACTION_REF: unique symbol = Symbol(\"niceeval.sandbox.action-ref\");\nconst SANDBOX_STEP: unique symbol = Symbol(\"niceeval.sandbox.step\");\nconst SANDBOX_ACTION: unique symbol = Symbol(\"niceeval.sandbox.action\");\nconst SANDBOX_AFTER_ACTION: unique symbol = Symbol(\"niceeval.sandbox.after-action\");\nconst SANDBOX_ACTION_REFS = new WeakSet<object>();\nconst SANDBOX_STEPS = new WeakSet<object>();\nconst SANDBOX_ACTIONS = new WeakSet<object>();\nconst SANDBOX_AFTER_ACTIONS = new WeakSet<object>();\nconst SANDBOX_STEP_DATA = new WeakMap<object, SandboxStepData>();\nconst SANDBOX_ACTION_DATA = new WeakMap<object, SandboxActionData>();\nconst SANDBOX_AFTER_ACTION_DATA = new WeakMap<object, SandboxActionData>();\nexport const changeFrequency = Object.freeze({\n rare: 10,\n normal: 100,\n frequent: 1000,\n} as const);\n/** Complete mutable-state promises understood by V1 Setup Prefix providers. */\nexport const sandboxState = Object.freeze({\n all: \"all\",\n dockerData: \"dockerData\",\n} as const);\nexport type SandboxState = typeof sandboxState[keyof typeof sandboxState];\n/** @internal Provider/runtime spelling for the same public V1 state values. */\nexport type SandboxActionState = SandboxState;\n/** @internal `all` dominates a cumulative action lineage. */\nexport function mergeSandboxActionState(ancestor: SandboxActionState | undefined, declared: SandboxActionState): SandboxActionState {\n return ancestor === sandboxState.all || declared === sandboxState.all\n ? sandboxState.all\n : sandboxState.dockerData;\n}\n/** @internal A complete `all` provider covers either V1 state promise. */\nexport function sandboxActionStateCovers(coverage: SandboxActionState, required: SandboxActionState): boolean {\n return coverage === sandboxState.all || required === sandboxState.dockerData;\n}\nexport interface SandboxActionRef {\n readonly [SANDBOX_ACTION_REF]: true;\n readonly id: string;\n}\nexport type SandboxCapability = string;\nexport interface SandboxChangeFrequency {\n readonly value: number;\n readonly source: \"explicit\" | \"defaulted\";\n readonly preset?: keyof typeof changeFrequency;\n}\nexport interface SandboxBeforeActionOptions {\n readonly id: string;\n readonly changeFrequency?: number;\n readonly dependsOn?: readonly SandboxActionRef[];\n readonly requires?: readonly SandboxCapability[];\n readonly provides?: readonly SandboxCapability[];\n readonly cache?: SandboxActionCacheOptions;\n}\nexport interface SandboxActionCacheOptions {\n /**\n * Complete side-effect surface changed by this action. Omission is the\n * conservative `all` promise; this is never a partial-cache selector.\n */\n readonly state?: SandboxActionState;\n readonly fingerprint?: JsonValue;\n}\n/** Reusable family instances default to the family id; inline built-ins keep SandboxBeforeActionOptions. */\nexport interface SandboxActionInstanceOptions {\n readonly id?: string;\n readonly changeFrequency?: number;\n readonly dependsOn?: readonly SandboxActionRef[];\n readonly requires?: readonly SandboxCapability[];\n readonly provides?: readonly SandboxCapability[];\n readonly cache?: SandboxActionCacheOptions;\n}\nexport interface SandboxAfterActionOptions {\n readonly id?: string;\n}\nexport interface NormalizedSandboxBeforeMetadata {\n readonly id: string;\n readonly changeFrequency: SandboxChangeFrequency;\n readonly dependsOn: readonly SandboxActionRef[];\n readonly requires: readonly SandboxCapability[];\n readonly provides: readonly SandboxCapability[];\n}\nexport interface ExecSandboxStepInput {\n readonly executable: string;\n readonly args?: readonly string[];\n readonly cwd?: string;\n readonly env?: Readonly<globalThis.Record<string, string>>;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly stdin?: string;\n}\nexport interface PutTextSandboxStepInput {\n readonly path: string;\n readonly text: string;\n}\nexport interface PutBytesSandboxStepInput {\n readonly path: string;\n readonly bytes: Uint8Array;\n}\n/** Low-level transfer steps only accept an immutable, digest-backed content handle. */\nexport type SandboxTransferSource = RegisteredSandboxContent;\nexport interface TransferFileSandboxStepInput {\n readonly source: SandboxTransferSource;\n readonly to: string;\n}\nexport interface TransferDirectorySandboxStepInput {\n readonly source: SandboxTransferSource;\n readonly to: string;\n}\nexport interface CheckoutGitSandboxStepInput {\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include?: readonly string[];\n readonly exclude?: readonly string[];\n };\n}\nexport interface SandboxStep {\n readonly [SANDBOX_STEP]: true;\n readonly kind: \"exec\" | \"putText\" | \"putBytes\" | \"transferFile\" | \"transferDirectory\" | \"checkoutGit\";\n}\nexport type SandboxStepPlan = {\n readonly kind: \"exec\";\n readonly executable: string;\n readonly args: readonly string[];\n readonly cwd?: string;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly envKeys?: readonly string[];\n readonly stdinDigest?: string;\n readonly stdinBytes?: number;\n} | {\n readonly kind: \"putText\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"putBytes\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"transferFile\" | \"transferDirectory\";\n readonly source: {\n readonly kind: \"content\";\n readonly digest: string;\n };\n readonly to: string;\n} | {\n readonly kind: \"checkoutGit\";\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include: readonly string[];\n readonly exclude: readonly string[];\n };\n};\ninterface SandboxStepData {\n readonly identity: JsonValue;\n readonly plan: SandboxStepPlan;\n readonly presentation: SandboxStepPresentation;\n readonly execution: SandboxStepExecution;\n}\nexport type SandboxStepPresentation = {\n readonly kind: \"exec\";\n readonly command: {\n readonly kind: \"argv\";\n readonly executable: string;\n readonly args: readonly string[];\n } | {\n readonly kind: \"shell\";\n readonly command: string;\n };\n readonly cwd?: string;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly envKeys?: readonly string[];\n} | {\n readonly kind: \"putText\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"putBytes\";\n readonly path: string;\n readonly digest: string;\n readonly bytes: number;\n} | {\n readonly kind: \"transferFile\";\n readonly digest: string;\n readonly to: string;\n readonly bytes?: number;\n} | {\n readonly kind: \"transferDirectory\";\n readonly digest: string;\n readonly to: string;\n readonly bytes?: number;\n} | {\n readonly kind: \"checkoutGit\";\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n};\nexport type SandboxStepExecution = {\n readonly kind: \"exec\";\n readonly input: Readonly<ExecSandboxStepInput>;\n} | {\n readonly kind: \"putText\";\n readonly input: Readonly<PutTextSandboxStepInput>;\n} | {\n readonly kind: \"putBytes\";\n readonly input: Readonly<PutBytesSandboxStepInput>;\n} | {\n readonly kind: \"transferFile\";\n readonly input: Readonly<TransferFileSandboxStepInput>;\n} | {\n readonly kind: \"transferDirectory\";\n readonly input: Readonly<TransferDirectorySandboxStepInput>;\n} | {\n readonly kind: \"checkoutGit\";\n readonly input: Readonly<CheckoutGitSandboxStepInput>;\n};\nexport interface SandboxActionFingerprintPlan {\n readonly automatic: string;\n readonly supplemental: string;\n readonly combined: string;\n}\nexport interface SandboxActionPlan {\n readonly id: string;\n readonly family: string;\n readonly state: SandboxActionState;\n readonly input: JsonValue;\n readonly steps: readonly SandboxStepPlan[];\n readonly fingerprint: SandboxActionFingerprintPlan;\n}\nexport interface SandboxActionData {\n readonly metadata: NormalizedSandboxBeforeMetadata;\n readonly plan: SandboxActionPlan;\n readonly steps: readonly SandboxStep[];\n}\nexport interface SandboxAction {\n readonly [SANDBOX_ACTION]: true;\n readonly id: string;\n}\nexport interface SandboxAfterAction {\n readonly [SANDBOX_AFTER_ACTION]: true;\n readonly id: string;\n}\nexport type NonEmptySandboxSteps = readonly [\n SandboxStep,\n ...SandboxStep[]\n];\nexport interface SandboxActionDefinition<A, I extends JsonValue> {\n readonly id: string;\n readonly input: Schema.Codec<A, I, never, never>;\n readonly cache?: {\n readonly state?: SandboxActionState;\n readonly fingerprint?: JsonValue | ((input: A) => JsonValue);\n };\n readonly steps: (input: A) => NonEmptySandboxSteps;\n}\nexport interface SandboxActionFamily<A> {\n (input: A, options?: SandboxActionInstanceOptions): SandboxAction;\n readonly after: (input: A, options?: SandboxAfterActionOptions) => SandboxAfterAction;\n}\nexport type SandboxActionDefinitionErrorReason = \"definition\" | \"schema\" | \"input\" | \"canonical-input\" | \"cache-state\" | \"cache-fingerprint\" | \"steps\" | \"metadata\";\nexport class SandboxActionDefinitionError extends Data.TaggedError(\"SandboxActionDefinitionError\")<{\n readonly reason: SandboxActionDefinitionErrorReason;\n readonly message: string;\n readonly field?: string;\n readonly cause?: unknown;\n}> {\n}\nfunction actionError(reason: SandboxActionDefinitionErrorReason, message: string, field?: string, cause?: unknown): SandboxActionDefinitionError {\n return new SandboxActionDefinitionError({\n reason,\n message,\n ...(field === undefined ? {} : { field }),\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction assertRecord(value: unknown, path: string): asserts value is globalThis.Record<string, unknown> {\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw actionError(\"definition\", `${path} must be an object`, path);\n }\n}\nfunction assertOnlyKeys(value: globalThis.Record<string, unknown>, allowed: ReadonlySet<string>, path: string): void {\n for (const key of Object.keys(value)) {\n if (!allowed.has(key))\n throw actionError(\"definition\", `${path}.${key} is not supported`, `${path}.${key}`);\n }\n}\nfunction nonEmptyString(value: unknown, path: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw actionError(\"definition\", `${path} must be a non-empty string`, path);\n }\n return value;\n}\nfunction stringArray(value: unknown, path: string): readonly string[] {\n if (!Array.isArray(value) || value.some((item) => typeof item !== \"string\" || item.trim() === \"\")) {\n throw actionError(\"steps\", `${path} must be an array of non-empty strings`, path);\n }\n return Object.freeze([...value]);\n}\nfunction presetFor(value: number): keyof typeof changeFrequency | undefined {\n if (value === changeFrequency.rare)\n return \"rare\";\n if (value === changeFrequency.normal)\n return \"normal\";\n if (value === changeFrequency.frequent)\n return \"frequent\";\n return undefined;\n}\nexport function normalizeSandboxChangeFrequency(value: unknown, path = \"changeFrequency\"): SandboxChangeFrequency {\n const source = value === undefined ? \"defaulted\" as const : \"explicit\" as const;\n const selected = value === undefined ? changeFrequency.normal : value;\n if (typeof selected !== \"number\" || !Number.isFinite(selected) || selected < 0) {\n throw actionError(\"metadata\", `${path} must be a finite non-negative number`, path);\n }\n const normalized = Object.is(selected, -0) ? 0 : selected;\n const preset = presetFor(normalized);\n return Object.freeze({\n value: normalized,\n source,\n ...(preset === undefined ? {} : { preset }),\n });\n}\nfunction normalizeCapabilities(value: unknown, path: string): readonly SandboxCapability[] {\n if (value === undefined)\n return Object.freeze([]);\n const capabilities = stringArray(value, path);\n if (new Set(capabilities).size !== capabilities.length) {\n throw actionError(\"metadata\", `${path} must not contain duplicate capabilities`, path);\n }\n return capabilities;\n}\nexport function actionRef(id: string): SandboxActionRef {\n const normalized = nonEmptyString(id, \"actionRef id\");\n const ref = { id: normalized } as SandboxActionRef;\n Object.defineProperty(ref, SANDBOX_ACTION_REF, { value: true });\n SANDBOX_ACTION_REFS.add(ref);\n return Object.freeze(ref);\n}\nexport function isSandboxActionRef(value: unknown): value is SandboxActionRef {\n return value !== null && typeof value === \"object\" && SANDBOX_ACTION_REFS.has(value);\n}\nexport function normalizeSandboxBeforeMetadata(value: unknown, path = \"Sandbox before options\"): NormalizedSandboxBeforeMetadata {\n assertRecord(value, path);\n assertOnlyKeys(value, new Set([\"id\", \"changeFrequency\", \"dependsOn\", \"requires\", \"provides\", \"cache\"]), path);\n normalizeSandboxActionCache(value.cache, `${path}.cache`);\n const dependsOn = value.dependsOn === undefined ? [] : value.dependsOn;\n if (!Array.isArray(dependsOn) || dependsOn.some((ref) => !isSandboxActionRef(ref))) {\n throw actionError(\"metadata\", `${path}.dependsOn must contain actionRef() values`, `${path}.dependsOn`);\n }\n const ids = dependsOn.map((ref) => ref.id);\n if (new Set(ids).size !== ids.length) {\n throw actionError(\"metadata\", `${path}.dependsOn must not contain duplicate refs`, `${path}.dependsOn`);\n }\n return Object.freeze({\n id: nonEmptyString(value.id, `${path}.id`),\n changeFrequency: normalizeSandboxChangeFrequency(value.changeFrequency, `${path}.changeFrequency`),\n dependsOn: Object.freeze([...dependsOn]),\n requires: normalizeCapabilities(value.requires, `${path}.requires`),\n provides: normalizeCapabilities(value.provides, `${path}.provides`),\n });\n}\nfunction cloneJson(value: unknown, path: string, ancestors = new WeakSet<object>()): JsonValue {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\")\n return value;\n if (typeof value === \"number\") {\n if (!Number.isFinite(value))\n throw actionError(\"canonical-input\", `${path} contains a non-finite number`, path);\n return Object.is(value, -0) ? 0 : value;\n }\n if (typeof value !== \"object\") {\n throw actionError(\"canonical-input\", `${path} must contain only JSON values (no undefined, functions, symbols, bigint, or class instances)`, path);\n }\n if (ancestors.has(value))\n throw actionError(\"canonical-input\", `${path} must not contain a cycle`, path);\n ancestors.add(value);\n try {\n if (Array.isArray(value)) {\n return Object.freeze(value.map((child, index) => cloneJson(child, `${path}[${index}]`, ancestors))) as unknown as JsonValue;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null) {\n throw actionError(\"canonical-input\", `${path} must contain only plain JSON objects`, path);\n }\n const output = Object.create(null) as globalThis.Record<string, JsonValue>;\n for (const key of Object.keys(value as globalThis.Record<string, unknown>).sort()) {\n output[key] = cloneJson((value as globalThis.Record<string, unknown>)[key], `${path}.${key}`, ancestors);\n }\n return Object.freeze(output);\n }\n finally {\n ancestors.delete(value);\n }\n}\nfunction normalizeSandboxActionCache(value: unknown, path: string): Readonly<SandboxActionCacheOptions> | undefined {\n if (value === undefined)\n return undefined;\n assertRecord(value, path);\n assertOnlyKeys(value, new Set([\"state\", \"fingerprint\"]), path);\n const state = normalizeSandboxActionState(value.state, `${path}.state`);\n if (value.fingerprint !== undefined)\n cloneJson(value.fingerprint, `${path}.fingerprint`);\n return Object.freeze({\n ...(value.state === undefined ? {} : { state }),\n ...(value.fingerprint === undefined ? {} : { fingerprint: value.fingerprint as JsonValue }),\n });\n}\nfunction normalizeSandboxActionState(value: unknown, path: string): SandboxActionState {\n if (value === undefined)\n return sandboxState.all;\n if (value === sandboxState.all || value === sandboxState.dockerData)\n return value;\n throw actionError(\"cache-state\", `${path} must be sandboxState.all or sandboxState.dockerData`, path);\n}\nfunction envRecord(value: unknown, path: string): Readonly<globalThis.Record<string, string>> | undefined {\n if (value === undefined)\n return undefined;\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) {\n throw actionError(\"steps\", `${path} must be an object of string values`, path);\n }\n const env = Object.create(null) as globalThis.Record<string, string>;\n for (const key of Object.keys(value as globalThis.Record<string, unknown>).sort()) {\n const child = (value as globalThis.Record<string, unknown>)[key];\n if (key === \"\" || typeof child !== \"string\") {\n throw actionError(\"steps\", `${path}.${key} must be a string`, `${path}.${key}`);\n }\n env[key] = child;\n }\n return Object.freeze(env);\n}\nfunction makeStep<K extends SandboxStep[\"kind\"]>(kind: K, data: Omit<SandboxStepData, \"presentation\" | \"execution\"> & {\n readonly presentation: Extract<SandboxStepPresentation, {\n readonly kind: K;\n }>;\n readonly execution: Extract<SandboxStepExecution, {\n readonly kind: K;\n }>;\n}): SandboxStep {\n const step = { kind } as SandboxStep;\n Object.defineProperty(step, SANDBOX_STEP, { value: true });\n SANDBOX_STEPS.add(step);\n SANDBOX_STEP_DATA.set(step, Object.freeze(data));\n return Object.freeze(step);\n}\nfunction execPresentation(executable: string, args: readonly string[], options: {\n readonly cwd?: string;\n readonly user?: string;\n readonly timeoutMs?: number;\n readonly env?: Readonly<globalThis.Record<string, string>>;\n}, command: Extract<SandboxStepPresentation, {\n readonly kind: \"exec\";\n}>[\"command\"] = {\n kind: \"argv\",\n executable,\n args,\n}): Extract<SandboxStepPresentation, {\n readonly kind: \"exec\";\n}> {\n return Object.freeze({\n kind: \"exec\" as const,\n command: command.kind === \"argv\"\n ? Object.freeze({ ...command, args: Object.freeze([...command.args]) })\n : Object.freeze({ ...command }),\n ...(options.cwd === undefined ? {} : { cwd: options.cwd }),\n ...(options.user === undefined ? {} : { user: options.user }),\n ...(options.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs }),\n ...(options.env === undefined || Object.keys(options.env).length === 0\n ? {}\n : { envKeys: Object.freeze(Object.keys(options.env)) }),\n });\n}\nfunction normalizeTransferSource(source: SandboxTransferSource, expectedKind: RegisteredSandboxContent[\"kind\"], path: string): {\n readonly identity: JsonValue;\n readonly plan: Extract<SandboxStepPlan, {\n readonly kind: \"transferFile\" | \"transferDirectory\";\n }>[\"source\"];\n} {\n if (!isRegisteredSandboxContent(source) || source.kind !== expectedKind) {\n throw actionError(\"steps\", `${path} must be a ${expectedKind} handle returned by registerSandboxContent()`, path);\n }\n return Object.freeze({\n identity: Object.freeze({ kind: \"content\", contentKind: source.kind, digest: source.digest }),\n plan: Object.freeze({ kind: \"content\", digest: source.digest }),\n });\n}\nfunction registeredContentBytes(source: RegisteredSandboxContent): number {\n const snapshot = registeredSandboxContentSnapshotOf(source);\n if (snapshot.kind === \"file\")\n return Buffer.from(snapshot.contentBase64, \"base64\").byteLength;\n return snapshot.entries.reduce((total, entry) => entry.kind === \"file\" ? total + Buffer.from(entry.contentBase64, \"base64\").byteLength : total, 0);\n}\nexport const sandboxStep = Object.freeze({\n exec(input: ExecSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.exec input\");\n assertOnlyKeys(input, new Set([\"executable\", \"args\", \"cwd\", \"env\", \"user\", \"timeoutMs\", \"stdin\"]), \"sandboxStep.exec input\");\n const executable = nonEmptyString(input.executable, \"sandboxStep.exec input.executable\");\n const args = input.args === undefined ? Object.freeze([]) : stringArray(input.args, \"sandboxStep.exec input.args\");\n const cwd = input.cwd === undefined ? undefined : nonEmptyString(input.cwd, \"sandboxStep.exec input.cwd\");\n const user = input.user === undefined ? undefined : nonEmptyString(input.user, \"sandboxStep.exec input.user\");\n if (input.timeoutMs !== undefined &&\n (typeof input.timeoutMs !== \"number\" || !Number.isFinite(input.timeoutMs) || input.timeoutMs <= 0)) {\n throw actionError(\"steps\", \"sandboxStep.exec input.timeoutMs must be a positive finite number\", \"timeoutMs\");\n }\n if (input.stdin !== undefined && typeof input.stdin !== \"string\") {\n throw actionError(\"steps\", \"sandboxStep.exec input.stdin must be a string\", \"stdin\");\n }\n const env = envRecord(input.env, \"sandboxStep.exec input.env\");\n const identity: JsonValue = Object.freeze({\n kind: \"exec\",\n executable,\n args: [...args],\n ...(cwd === undefined ? {} : { cwd }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(env === undefined ? {} : { env: { ...env } }),\n ...(input.stdin === undefined ? {} : { stdin: input.stdin }),\n });\n const plan: SandboxStepPlan = Object.freeze({\n kind: \"exec\",\n executable,\n args,\n ...(cwd === undefined ? {} : { cwd }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(env === undefined || Object.keys(env).length === 0 ? {} : { envKeys: Object.freeze(Object.keys(env)) }),\n ...(input.stdin === undefined\n ? {}\n : {\n stdinDigest: `sha256:${digestBytes(input.stdin)}`,\n stdinBytes: Buffer.byteLength(input.stdin),\n }),\n });\n return makeStep(\"exec\", {\n identity,\n plan,\n presentation: execPresentation(executable, args, {\n ...(cwd === undefined ? {} : { cwd }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(env === undefined ? {} : { env }),\n }),\n execution: Object.freeze({\n kind: \"exec\" as const,\n input: Object.freeze({\n executable,\n args,\n ...(cwd === undefined ? {} : { cwd }),\n ...(env === undefined ? {} : { env }),\n ...(user === undefined ? {} : { user }),\n ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),\n ...(input.stdin === undefined ? {} : { stdin: input.stdin }),\n }),\n }),\n });\n },\n putText(input: PutTextSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.putText input\");\n assertOnlyKeys(input, new Set([\"path\", \"text\"]), \"sandboxStep.putText input\");\n const path = nonEmptyString(input.path, \"sandboxStep.putText input.path\");\n if (typeof input.text !== \"string\")\n throw actionError(\"steps\", \"sandboxStep.putText input.text must be a string\", \"text\");\n const digest = `sha256:${digestBytes(input.text)}`;\n const bytes = Buffer.byteLength(input.text);\n return makeStep(\"putText\", {\n identity: Object.freeze({ kind: \"putText\", path, digest, bytes }),\n plan: Object.freeze({ kind: \"putText\", path, digest, bytes }),\n presentation: Object.freeze({ kind: \"putText\", path, digest, bytes }),\n execution: Object.freeze({\n kind: \"putText\" as const,\n input: Object.freeze({ path, text: input.text }),\n }),\n });\n },\n putBytes(input: PutBytesSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.putBytes input\");\n assertOnlyKeys(input, new Set([\"path\", \"bytes\"]), \"sandboxStep.putBytes input\");\n const path = nonEmptyString(input.path, \"sandboxStep.putBytes input.path\");\n if (!(input.bytes instanceof Uint8Array)) {\n throw actionError(\"steps\", \"sandboxStep.putBytes input.bytes must be a Uint8Array\", \"bytes\");\n }\n const bytes = Uint8Array.from(input.bytes);\n const digest = `sha256:${digestBytes(bytes)}`;\n return makeStep(\"putBytes\", {\n identity: Object.freeze({ kind: \"putBytes\", path, digest, bytes: bytes.byteLength }),\n plan: Object.freeze({ kind: \"putBytes\", path, digest, bytes: bytes.byteLength }),\n presentation: Object.freeze({ kind: \"putBytes\", path, digest, bytes: bytes.byteLength }),\n execution: Object.freeze({\n kind: \"putBytes\" as const,\n input: Object.freeze({ path, bytes }),\n }),\n });\n },\n transferFile(input: TransferFileSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.transferFile input\");\n assertOnlyKeys(input, new Set([\"source\", \"to\"]), \"sandboxStep.transferFile input\");\n const source = normalizeTransferSource(input.source, \"file\", \"sandboxStep.transferFile input.source\");\n const to = nonEmptyString(input.to, \"sandboxStep.transferFile input.to\");\n return makeStep(\"transferFile\", {\n identity: Object.freeze({ kind: \"transferFile\", source: source.identity, to }),\n plan: Object.freeze({ kind: \"transferFile\", source: source.plan, to }),\n presentation: Object.freeze({\n kind: \"transferFile\",\n digest: input.source.digest,\n to,\n bytes: registeredContentBytes(input.source),\n }),\n execution: Object.freeze({\n kind: \"transferFile\" as const,\n input: Object.freeze({ source: input.source, to }),\n }),\n });\n },\n transferDirectory(input: TransferDirectorySandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.transferDirectory input\");\n assertOnlyKeys(input, new Set([\"source\", \"to\"]), \"sandboxStep.transferDirectory input\");\n const source = normalizeTransferSource(input.source, \"directory\", \"sandboxStep.transferDirectory input.source\");\n const to = nonEmptyString(input.to, \"sandboxStep.transferDirectory input.to\");\n return makeStep(\"transferDirectory\", {\n identity: Object.freeze({ kind: \"transferDirectory\", source: source.identity, to }),\n plan: Object.freeze({ kind: \"transferDirectory\", source: source.plan, to }),\n presentation: Object.freeze({\n kind: \"transferDirectory\",\n digest: input.source.digest,\n to,\n bytes: registeredContentBytes(input.source),\n }),\n execution: Object.freeze({\n kind: \"transferDirectory\" as const,\n input: Object.freeze({ source: input.source, to }),\n }),\n });\n },\n checkoutGit(input: CheckoutGitSandboxStepInput): SandboxStep {\n assertRecord(input, \"sandboxStep.checkoutGit input\");\n assertOnlyKeys(input, new Set([\"repository\", \"ref\", \"to\", \"sparse\"]), \"sandboxStep.checkoutGit input\");\n const repository = nonEmptyString(input.repository, \"sandboxStep.checkoutGit input.repository\");\n const ref = nonEmptyString(input.ref, \"sandboxStep.checkoutGit input.ref\");\n const to = nonEmptyString(input.to, \"sandboxStep.checkoutGit input.to\");\n let sparse: {\n readonly include: readonly string[];\n readonly exclude: readonly string[];\n } | undefined;\n if (input.sparse !== undefined) {\n assertRecord(input.sparse, \"sandboxStep.checkoutGit input.sparse\");\n assertOnlyKeys(input.sparse, new Set([\"include\", \"exclude\"]), \"sandboxStep.checkoutGit input.sparse\");\n sparse = Object.freeze({\n include: input.sparse.include === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.include, \"sandboxStep.checkoutGit input.sparse.include\"),\n exclude: input.sparse.exclude === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.exclude, \"sandboxStep.checkoutGit input.sparse.exclude\"),\n });\n }\n const projection = Object.freeze({\n kind: \"checkoutGit\" as const,\n repository,\n ref,\n to,\n ...(sparse === undefined ? {} : { sparse }),\n });\n return makeStep(\"checkoutGit\", {\n identity: cloneJson(projection, \"sandboxStep.checkoutGit identity\"),\n plan: projection,\n presentation: Object.freeze({ kind: \"checkoutGit\", repository, ref, to }),\n execution: Object.freeze({\n kind: \"checkoutGit\" as const,\n input: Object.freeze({ repository, ref, to, ...(sparse === undefined ? {} : { sparse }) }),\n }),\n });\n },\n});\nexport function isSandboxStep(value: unknown): value is SandboxStep {\n return value !== null && typeof value === \"object\" && SANDBOX_STEPS.has(value);\n}\nexport function sandboxStepPlanOf(step: SandboxStep): SandboxStepPlan {\n const data = SANDBOX_STEP_DATA.get(step as object);\n if (!isSandboxStep(step) || data === undefined) {\n throw actionError(\"steps\", \"Sandbox steps must be created by sandboxStep\", \"steps\");\n }\n return data.plan;\n}\n/** @internal Runtime interpreter consumes normalized private payloads; debug only receives SandboxStepPlan. */\nexport function sandboxStepExecutionOf(step: SandboxStep): SandboxStepExecution {\n const data = SANDBOX_STEP_DATA.get(step as object);\n if (!isSandboxStep(step) || data === undefined) {\n throw actionError(\"steps\", \"Sandbox steps must be created by sandboxStep\", \"steps\");\n }\n return data.execution;\n}\n/** @internal Runtime-only safe activity projection; it is neither identity nor debug JSON. */\nexport function sandboxStepPresentationOf(step: SandboxStep): SandboxStepPresentation {\n const data = SANDBOX_STEP_DATA.get(step as object);\n if (!isSandboxStep(step) || data === undefined) {\n throw actionError(\"steps\", \"Sandbox steps must be created by sandboxStep\", \"steps\");\n }\n return data.presentation;\n}\n/** @internal Built-in shell keeps its author command without exposing the interpreter argv. */\nexport function sandboxShellStep(input: ExecSandboxStepInput, command: string): SandboxStep {\n const step = sandboxStep.exec(input);\n const data = SANDBOX_STEP_DATA.get(step as object)!;\n return makeStep(\"exec\", {\n ...data,\n presentation: execPresentation(input.executable, input.args ?? [], input, Object.freeze({ kind: \"shell\", command })),\n });\n}\nfunction visibleActivityText(value: string): string {\n let visible = \"\";\n for (const character of value) {\n const codePoint = character.codePointAt(0)!;\n if (character === \"\\t\")\n visible += \"\\\\t\";\n else if (character === \"\\n\")\n visible += \"\\\\n\";\n else if (character === \"\\r\")\n visible += \"\\\\r\";\n else if (codePoint < 0x20 || (codePoint >= 0x7f && codePoint <= 0x9f)) {\n visible += `\\\\u${codePoint.toString(16).padStart(4, \"0\")}`;\n }\n else\n visible += character;\n }\n return visible;\n}\nfunction safeCheckoutLocator(locator: string): string {\n try {\n const url = new URL(locator);\n return `${url.protocol}//${url.host}${url.pathname}`;\n }\n catch {\n return \"[invalid locator]\";\n }\n}\n/** @internal Exhaustive human runtime formatter. */\nexport function formatSandboxStepActivity(presentation: SandboxStepPresentation): string {\n const show = (value: string): string => visibleActivityText(value);\n switch (presentation.kind) {\n case \"exec\": {\n const command = presentation.command.kind === \"shell\"\n ? `shell ${show(presentation.command.command)}`\n : `exec ${[presentation.command.executable, ...presentation.command.args].map((part) => JSON.stringify(show(part))).join(\" \")}`;\n const details = [\n presentation.cwd === undefined ? undefined : `cwd=${JSON.stringify(show(presentation.cwd))}`,\n presentation.user === undefined ? undefined : `user=${JSON.stringify(show(presentation.user))}`,\n presentation.timeoutMs === undefined ? undefined : `timeout=${presentation.timeoutMs}ms`,\n presentation.envKeys === undefined ? undefined : `env keys=${JSON.stringify(presentation.envKeys.map(show))}`,\n ].filter((value): value is string => value !== undefined);\n return details.length === 0 ? command : `${command} · ${details.join(\" · \")}`;\n }\n case \"putText\":\n case \"putBytes\":\n return `${presentation.kind} ${JSON.stringify(show(presentation.path))} · ${presentation.bytes} bytes · ${presentation.digest}`;\n case \"transferFile\":\n case \"transferDirectory\":\n return `${presentation.kind} ${presentation.digest} -> ${JSON.stringify(show(presentation.to))}${presentation.bytes === undefined ? \"\" : ` · ${presentation.bytes} bytes`}`;\n case \"checkoutGit\":\n return `checkoutGit ${JSON.stringify(show(safeCheckoutLocator(presentation.repository)))} @ ${show(presentation.ref)} -> ${JSON.stringify(show(presentation.to))}`;\n }\n}\nfunction validateAfterOptions(value: unknown, defaultId: string): Readonly<{\n readonly id: string;\n}> {\n if (value === undefined)\n return Object.freeze({ id: defaultId });\n assertRecord(value, \"Sandbox after options\");\n assertOnlyKeys(value, new Set([\"id\"]), \"Sandbox after options\");\n return Object.freeze({\n id: value.id === undefined ? defaultId : nonEmptyString(value.id, \"Sandbox after options.id\"),\n });\n}\nfunction makeAction(data: SandboxActionData): SandboxAction {\n const action = { id: data.metadata.id } as SandboxAction;\n Object.defineProperty(action, SANDBOX_ACTION, { value: true });\n SANDBOX_ACTIONS.add(action);\n SANDBOX_ACTION_DATA.set(action, data);\n return Object.freeze(action);\n}\nfunction makeAfterAction(data: SandboxActionData): SandboxAfterAction {\n const action = { id: data.metadata.id } as SandboxAfterAction;\n Object.defineProperty(action, SANDBOX_AFTER_ACTION, { value: true });\n SANDBOX_AFTER_ACTIONS.add(action);\n SANDBOX_AFTER_ACTION_DATA.set(action, data);\n return Object.freeze(action);\n}\n// @concord-code ne-sandbox-define-action\n// @concord-implements docs/feature/sandbox/prepare-commands.md\n// @concord-implements docs/feature/sandbox/architecture.md\nexport function defineSandboxAction<A, I extends JsonValue>(definition: SandboxActionDefinition<A, I>): SandboxActionFamily<A> {\n assertRecord(definition, \"defineSandboxAction definition\");\n assertOnlyKeys(definition, new Set([\"id\", \"input\", \"cache\", \"steps\"]), \"defineSandboxAction definition\");\n const familyId = nonEmptyString(definition.id, \"defineSandboxAction definition.id\");\n if (!Schema.isSchema(definition.input)) {\n throw actionError(\"schema\", \"defineSandboxAction definition.input must be an Effect Schema\", \"input\");\n }\n if (typeof definition.steps !== \"function\") {\n throw actionError(\"definition\", \"defineSandboxAction definition.steps must be a function\", \"steps\");\n }\n if (definition.cache !== undefined) {\n assertRecord(definition.cache, \"defineSandboxAction definition.cache\");\n assertOnlyKeys(definition.cache, new Set([\"state\", \"fingerprint\"]), \"defineSandboxAction definition.cache\");\n if (definition.cache.state !== undefined) {\n normalizeSandboxActionState(definition.cache.state, \"defineSandboxAction definition.cache.state\");\n }\n if (definition.cache.fingerprint !== undefined &&\n typeof definition.cache.fingerprint !== \"function\") {\n cloneJson(definition.cache.fingerprint, \"defineSandboxAction definition.cache.fingerprint\");\n }\n }\n const instantiate = (input: A, metadata: NormalizedSandboxBeforeMetadata, instanceCache?: SandboxActionCacheOptions): SandboxActionData => {\n if (definition.cache?.state !== undefined && instanceCache?.state !== undefined) {\n throw actionError(\"cache-state\", `Sandbox action ${JSON.stringify(familyId)} cache.state must be declared exactly once; an instance cannot repeat or override the definition state`, \"cache.state\");\n }\n const state = normalizeSandboxActionState(instanceCache?.state ?? definition.cache?.state, `Sandbox action ${JSON.stringify(familyId)} cache.state`);\n let validated: A;\n try {\n validated = Schema.decodeSync(Schema.toType(definition.input))(input);\n }\n catch (cause) {\n throw actionError(\"input\", `Sandbox action ${JSON.stringify(familyId)} input failed Schema validation`, \"input\", cause);\n }\n let encoded: I;\n try {\n encoded = Schema.encodeSync(definition.input)(validated);\n }\n catch (cause) {\n throw actionError(\"schema\", `Sandbox action ${JSON.stringify(familyId)} input could not be encoded synchronously`, \"input\", cause);\n }\n const canonicalInput = cloneJson(encoded, `Sandbox action ${JSON.stringify(familyId)} canonical input`);\n let steps: NonEmptySandboxSteps;\n try {\n steps = definition.steps(validated);\n }\n catch (cause) {\n throw actionError(\"steps\", `Sandbox action ${JSON.stringify(familyId)} steps threw`, \"steps\", cause);\n }\n if (!Array.isArray(steps) || steps.length === 0 || steps.some((step) => !isSandboxStep(step))) {\n throw actionError(\"steps\", `Sandbox action ${JSON.stringify(familyId)} steps must synchronously return a non-empty tuple of sandboxStep values`, \"steps\");\n }\n const stepData = steps.map((step) => SANDBOX_STEP_DATA.get(step as object)!);\n const plans = Object.freeze(stepData.map((entry) => entry.plan));\n const automaticIdentity: JsonValue = Object.freeze({\n family: familyId,\n state,\n input: canonicalInput,\n steps: stepData.map((entry) => entry.identity),\n });\n const absentFingerprint: JsonValue = Object.freeze({ _tag: \"Absent\" });\n let definitionSupplemental: JsonValue = absentFingerprint;\n const fingerprint = definition.cache?.fingerprint;\n if (fingerprint !== undefined) {\n try {\n definitionSupplemental = cloneJson(typeof fingerprint === \"function\" ? fingerprint(validated) : fingerprint, `Sandbox action ${JSON.stringify(familyId)} definition supplemental fingerprint`);\n }\n catch (cause) {\n throw actionError(\"cache-fingerprint\", `Sandbox action ${JSON.stringify(familyId)} supplemental fingerprint failed`, \"cache.fingerprint\", cause);\n }\n }\n let instanceSupplemental: JsonValue = absentFingerprint;\n if (instanceCache?.fingerprint !== undefined) {\n try {\n instanceSupplemental = cloneJson(instanceCache.fingerprint, `Sandbox action ${JSON.stringify(familyId)} instance supplemental fingerprint`);\n }\n catch (cause) {\n throw actionError(\"cache-fingerprint\", `Sandbox action ${JSON.stringify(familyId)} instance supplemental fingerprint failed`, \"cache.fingerprint\", cause);\n }\n }\n const supplementalValue: JsonValue = Object.freeze({\n definition: definitionSupplemental,\n instance: instanceSupplemental,\n });\n const automatic = `sha256:${digestOf(automaticIdentity)}`;\n const supplemental = `sha256:${digestOf(supplementalValue)}`;\n const combined = `sha256:${digestOf({ automatic, supplemental })}`;\n return Object.freeze({\n metadata,\n steps: Object.freeze([...steps]),\n plan: Object.freeze({\n id: metadata.id,\n family: familyId,\n state,\n input: canonicalInput,\n steps: plans,\n fingerprint: Object.freeze({ automatic, supplemental, combined }),\n }),\n });\n };\n const family = ((input: A, options?: SandboxActionInstanceOptions): SandboxAction => {\n const selected = options === undefined ? {} : options;\n assertRecord(selected, \"Sandbox action instance options\");\n assertOnlyKeys(selected, new Set([\"id\", \"changeFrequency\", \"dependsOn\", \"requires\", \"provides\", \"cache\"]), \"Sandbox action instance options\");\n const cache = normalizeSandboxActionCache(selected.cache, \"Sandbox action instance options.cache\");\n return makeAction(instantiate(input, normalizeSandboxBeforeMetadata({\n ...selected,\n id: selected.id ?? familyId,\n }), cache));\n }) as SandboxActionFamily<A>;\n Object.defineProperty(family, \"after\", {\n value: (input: A, options?: SandboxAfterActionOptions): SandboxAfterAction => {\n const after = validateAfterOptions(options, familyId);\n const metadata: NormalizedSandboxBeforeMetadata = Object.freeze({\n id: after.id,\n changeFrequency: Object.freeze({ value: changeFrequency.normal, source: \"defaulted\", preset: \"normal\" }),\n dependsOn: Object.freeze([]),\n requires: Object.freeze([]),\n provides: Object.freeze([]),\n });\n return makeAfterAction(instantiate(input, metadata));\n },\n enumerable: true,\n });\n return Object.freeze(family);\n}\nexport function isSandboxAction(value: unknown): value is SandboxAction {\n return value !== null && typeof value === \"object\" && SANDBOX_ACTIONS.has(value);\n}\nexport function isSandboxAfterAction(value: unknown): value is SandboxAfterAction {\n return value !== null && typeof value === \"object\" && SANDBOX_AFTER_ACTIONS.has(value);\n}\nexport function sandboxActionDataOf(action: SandboxAction): SandboxActionData {\n const data = SANDBOX_ACTION_DATA.get(action as object);\n if (!isSandboxAction(action) || data === undefined) {\n throw actionError(\"definition\", \"SandboxAction must be created by defineSandboxAction\", \"action\");\n }\n return data;\n}\nexport function sandboxAfterActionDataOf(action: SandboxAfterAction): SandboxActionData {\n const data = SANDBOX_AFTER_ACTION_DATA.get(action as object);\n if (!isSandboxAfterAction(action) || data === undefined) {\n throw actionError(\"definition\", \"SandboxAfterAction must be created by SandboxActionFamily.after\", \"action\");\n }\n return data;\n}\nexport interface WriteTextActionInput extends SandboxBeforeActionOptions {\n readonly path: string;\n readonly text: string;\n}\nexport interface WriteTextAfterActionInput {\n readonly id: string;\n readonly path: string;\n readonly text: string;\n}\nexport interface WriteBytesActionInput extends SandboxBeforeActionOptions {\n readonly path: string;\n readonly bytes: Uint8Array;\n}\nexport interface WriteBytesAfterActionInput {\n readonly id: string;\n readonly path: string;\n readonly bytes: Uint8Array;\n}\nexport interface UploadFileActionInput extends SandboxBeforeActionOptions {\n /** Declaration-time host content must be anchored explicitly to its definition module. */\n readonly source: URL;\n readonly to: string;\n}\nexport interface UploadFileAfterActionInput {\n readonly id: string;\n /** Declaration-time host content must be anchored explicitly to its definition module. */\n readonly source: URL;\n readonly to: string;\n}\nexport interface UploadDirectoryActionInput extends UploadFileActionInput {\n}\nexport interface UploadDirectoryAfterActionInput extends UploadFileAfterActionInput {\n}\nexport interface GitCheckoutActionInput extends SandboxBeforeActionOptions {\n readonly repository: string;\n /** V1 accepts only a complete immutable Git object id; moving refs require a future planning lookup seam. */\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include?: readonly string[];\n readonly exclude?: readonly string[];\n };\n}\nexport interface GitCheckoutAfterActionInput {\n readonly id: string;\n readonly repository: string;\n readonly ref: string;\n readonly to: string;\n readonly sparse?: {\n readonly include?: readonly string[];\n readonly exclude?: readonly string[];\n };\n}\nexport interface WriteTextActionFactory {\n (input: WriteTextActionInput): SandboxAction;\n readonly after: (input: WriteTextAfterActionInput) => SandboxAfterAction;\n}\nexport interface WriteBytesActionFactory {\n (input: WriteBytesActionInput): SandboxAction;\n readonly after: (input: WriteBytesAfterActionInput) => SandboxAfterAction;\n}\nexport interface UploadFileActionFactory {\n (input: UploadFileActionInput): SandboxAction;\n readonly after: (input: UploadFileAfterActionInput) => SandboxAfterAction;\n}\nexport interface UploadDirectoryActionFactory {\n (input: UploadDirectoryActionInput): SandboxAction;\n readonly after: (input: UploadDirectoryAfterActionInput) => SandboxAfterAction;\n}\nexport interface GitCheckoutActionFactory {\n (input: GitCheckoutActionInput): SandboxAction;\n readonly after: (input: GitCheckoutAfterActionInput) => SandboxAfterAction;\n}\nconst INLINE_BEFORE_KEYS = [\"id\", \"changeFrequency\", \"dependsOn\", \"requires\", \"provides\", \"cache\"] as const;\nfunction inlineBeforeOptions(input: SandboxBeforeActionOptions): SandboxActionInstanceOptions {\n return {\n id: input.id,\n ...(input.changeFrequency === undefined ? {} : { changeFrequency: input.changeFrequency }),\n ...(input.dependsOn === undefined ? {} : { dependsOn: input.dependsOn }),\n ...(input.requires === undefined ? {} : { requires: input.requires }),\n ...(input.provides === undefined ? {} : { provides: input.provides }),\n ...(input.cache === undefined ? {} : { cache: input.cache }),\n };\n}\nfunction assertInlineInput(input: unknown, payloadKeys: readonly string[], path: string, after: boolean): asserts input is globalThis.Record<string, unknown> {\n assertRecord(input, path);\n assertOnlyKeys(input, new Set(after ? [\"id\", ...payloadKeys] : [...INLINE_BEFORE_KEYS, ...payloadKeys]), path);\n nonEmptyString(input.id, `${path}.id`);\n}\nfunction contentSource(source: URL, path: string): RegisteredSandboxContent {\n if (!(source instanceof URL)) {\n throw actionError(\"input\", `${path} must be a file URL anchored to the definition module, for example new URL(\\\"fixture/\\\", import.meta.url)`, path);\n }\n return registerSandboxContent(source);\n}\nconst writeTextFamily = defineSandboxAction({\n id: \"niceeval.sandbox.write-text\",\n input: Schema.Struct({ path: Schema.String, text: Schema.String }),\n steps: ({ path, text }) => [sandboxStep.putText({ path, text })] as const,\n});\nconst writeBytesFamily = defineSandboxAction({\n id: \"niceeval.sandbox.write-bytes\",\n input: Schema.Struct({ path: Schema.String, bytesBase64: Schema.String }),\n steps: ({ path, bytesBase64 }) => [sandboxStep.putBytes({\n path,\n bytes: Uint8Array.from(Buffer.from(bytesBase64, \"base64\")),\n })] as const,\n});\ninterface TransferActionPayload {\n readonly source: RegisteredSandboxContent;\n readonly to: string;\n}\nconst transferInputSchema = Schema.Struct({\n source: Schema.Unknown,\n to: Schema.String,\n}) as unknown as Schema.Codec<TransferActionPayload, JsonValue, never, never>;\nconst uploadFileFamily = defineSandboxAction({\n id: \"niceeval.sandbox.upload-file\",\n input: transferInputSchema,\n steps: ({ source, to }) => [sandboxStep.transferFile({ source, to })] as const,\n});\nconst uploadDirectoryFamily = defineSandboxAction({\n id: \"niceeval.sandbox.upload-directory\",\n input: transferInputSchema,\n steps: ({ source, to }) => [sandboxStep.transferDirectory({ source, to })] as const,\n});\ninterface GitCheckoutPayload {\n readonly repository: string;\n readonly commit: string;\n readonly to: string;\n readonly include: readonly string[];\n readonly exclude: readonly string[];\n}\nconst gitCheckoutInputSchema = Schema.Struct({\n repository: Schema.String,\n commit: Schema.String,\n to: Schema.String,\n include: Schema.Array(Schema.String),\n exclude: Schema.Array(Schema.String),\n}) as unknown as Schema.Codec<GitCheckoutPayload, JsonValue, never, never>;\nconst gitCheckoutFamily = defineSandboxAction({\n id: \"niceeval.sandbox.git-checkout\",\n input: gitCheckoutInputSchema,\n steps: ({ repository, commit, to, include, exclude }) => [sandboxStep.checkoutGit({\n repository,\n ref: commit,\n to,\n ...(include.length === 0 && exclude.length === 0\n ? {}\n : { sparse: { include, exclude } }),\n })] as const,\n});\nfunction normalizeGitCheckout(input: GitCheckoutActionInput | GitCheckoutAfterActionInput): GitCheckoutPayload {\n let repository: URL;\n try {\n repository = new URL(input.repository);\n }\n catch (cause) {\n throw actionError(\"input\", \"gitCheckout input.repository must be a public HTTPS URL\", \"repository\", cause);\n }\n if (repository.protocol !== \"https:\" ||\n repository.username !== \"\" ||\n repository.password !== \"\" ||\n repository.search !== \"\" ||\n repository.hash !== \"\") {\n throw actionError(\"input\", \"gitCheckout input.repository must be a credential-free public HTTPS URL without query or fragment\", \"repository\");\n }\n const commit = nonEmptyString(input.ref, \"gitCheckout input.ref\").toLowerCase();\n if (!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(commit)) {\n throw actionError(\"input\", \"gitCheckout input.ref must be a complete 40- or 64-hex commit object id; moving refs are not cache-safe\", \"ref\");\n }\n let include: readonly string[] = Object.freeze([]);\n let exclude: readonly string[] = Object.freeze([]);\n if (input.sparse !== undefined) {\n assertRecord(input.sparse, \"gitCheckout input.sparse\");\n assertOnlyKeys(input.sparse, new Set([\"include\", \"exclude\"]), \"gitCheckout input.sparse\");\n include = input.sparse.include === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.include, \"gitCheckout input.sparse.include\");\n exclude = input.sparse.exclude === undefined\n ? Object.freeze([])\n : stringArray(input.sparse.exclude, \"gitCheckout input.sparse.exclude\");\n }\n return Object.freeze({\n repository: repository.href,\n commit,\n to: nonEmptyString(input.to, \"gitCheckout input.to\"),\n include,\n exclude,\n });\n}\nconst writeTextImpl = ((input: WriteTextActionInput): SandboxAction => {\n assertInlineInput(input, [\"path\", \"text\"], \"writeText input\", false);\n return writeTextFamily({ path: input.path, text: input.text }, inlineBeforeOptions(input));\n}) as WriteTextActionFactory;\nObject.defineProperty(writeTextImpl, \"after\", {\n value: (input: WriteTextAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"path\", \"text\"], \"writeText.after input\", true);\n return writeTextFamily.after({ path: input.path, text: input.text }, { id: input.id });\n },\n});\nexport const writeText = Object.freeze(writeTextImpl);\nconst writeBytesImpl = ((input: WriteBytesActionInput): SandboxAction => {\n assertInlineInput(input, [\"path\", \"bytes\"], \"writeBytes input\", false);\n if (!(input.bytes instanceof Uint8Array))\n throw actionError(\"input\", \"writeBytes input.bytes must be Uint8Array\", \"bytes\");\n return writeBytesFamily({ path: input.path, bytesBase64: Buffer.from(input.bytes).toString(\"base64\") }, inlineBeforeOptions(input));\n}) as WriteBytesActionFactory;\nObject.defineProperty(writeBytesImpl, \"after\", {\n value: (input: WriteBytesAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"path\", \"bytes\"], \"writeBytes.after input\", true);\n if (!(input.bytes instanceof Uint8Array))\n throw actionError(\"input\", \"writeBytes.after input.bytes must be Uint8Array\", \"bytes\");\n return writeBytesFamily.after({ path: input.path, bytesBase64: Buffer.from(input.bytes).toString(\"base64\") }, { id: input.id });\n },\n});\nexport const writeBytes = Object.freeze(writeBytesImpl);\nconst uploadFileImpl = ((input: UploadFileActionInput): SandboxAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadFile input\", false);\n return uploadFileFamily({ source: contentSource(input.source, \"uploadFile input.source\"), to: input.to }, inlineBeforeOptions(input));\n}) as UploadFileActionFactory;\nObject.defineProperty(uploadFileImpl, \"after\", {\n value: (input: UploadFileAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadFile.after input\", true);\n return uploadFileFamily.after({ source: contentSource(input.source, \"uploadFile.after input.source\"), to: input.to }, { id: input.id });\n },\n});\nexport const uploadFile = Object.freeze(uploadFileImpl);\nconst uploadDirectoryImpl = ((input: UploadDirectoryActionInput): SandboxAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadDirectory input\", false);\n return uploadDirectoryFamily({ source: contentSource(input.source, \"uploadDirectory input.source\"), to: input.to }, inlineBeforeOptions(input));\n}) as UploadDirectoryActionFactory;\nObject.defineProperty(uploadDirectoryImpl, \"after\", {\n value: (input: UploadDirectoryAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"source\", \"to\"], \"uploadDirectory.after input\", true);\n return uploadDirectoryFamily.after({ source: contentSource(input.source, \"uploadDirectory.after input.source\"), to: input.to }, { id: input.id });\n },\n});\nexport const uploadDirectory = Object.freeze(uploadDirectoryImpl);\nconst gitCheckoutImpl = ((input: GitCheckoutActionInput): SandboxAction => {\n assertInlineInput(input, [\"repository\", \"ref\", \"to\", \"sparse\"], \"gitCheckout input\", false);\n return gitCheckoutFamily(normalizeGitCheckout(input), inlineBeforeOptions(input));\n}) as GitCheckoutActionFactory;\nObject.defineProperty(gitCheckoutImpl, \"after\", {\n value: (input: GitCheckoutAfterActionInput): SandboxAfterAction => {\n assertInlineInput(input, [\"repository\", \"ref\", \"to\", \"sparse\"], \"gitCheckout.after input\", true);\n return gitCheckoutFamily.after(normalizeGitCheckout(input), { id: input.id });\n },\n});\nexport const gitCheckout = Object.freeze(gitCheckoutImpl);\n"]}
@@ -125,6 +125,9 @@ function normalizeCommandMetadata(value) {
125
125
  ...(value.provides === undefined ? {} : { provides: value.provides }),
126
126
  }, "defineSandboxCommand identity");
127
127
  }
128
+ // @concord-code ne-sandbox-define-command
129
+ // @concord-implements docs/feature/sandbox/library/operations.md
130
+ // @concord-implements docs/feature/sandbox/prepare-commands.md
128
131
  function defineSandboxCommand(identity, run) {
129
132
  return defineStableSandboxCommand(identity, run, true);
130
133
  }