niceeval 0.18.0 → 0.19.0

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 (679) hide show
  1. package/INDEX.md +4 -2
  2. package/dist/adapter-usage.cjs.map +1 -1
  3. package/dist/adapter-usage.d.cts +1 -1
  4. package/dist/adapter-usage.d.mts +1 -1
  5. package/dist/adapter-usage.d.ts +1 -1
  6. package/dist/adapter.cjs +8 -7
  7. package/dist/adapter.cjs.map +1 -1
  8. package/dist/adapter.d.cts +21 -21
  9. package/dist/adapter.d.mts +21 -21
  10. package/dist/adapter.d.ts +21 -21
  11. package/dist/agents/{effect-runtime.cjs → agent-effects.cjs} +12 -18
  12. package/dist/agents/agent-effects.cjs.map +1 -0
  13. package/dist/agents/agent-effects.d.cts +23 -0
  14. package/dist/agents/agent-effects.d.mts +23 -0
  15. package/dist/agents/agent-effects.d.ts +23 -0
  16. package/dist/agents/agent-effects.js +16 -0
  17. package/dist/agents/agent-effects.js.map +1 -0
  18. package/dist/agents/ai-sdk.cjs +1 -1
  19. package/dist/agents/ai-sdk.cjs.map +1 -1
  20. package/dist/agents/bub.cjs +31 -18
  21. package/dist/agents/bub.cjs.map +1 -1
  22. package/dist/agents/bub.d.cts +9 -12
  23. package/dist/agents/bub.d.mts +9 -12
  24. package/dist/agents/bub.d.ts +9 -12
  25. package/dist/agents/claude-code-native.cjs +2 -2
  26. package/dist/agents/claude-code-native.cjs.map +1 -1
  27. package/dist/agents/claude-code.cjs +17 -11
  28. package/dist/agents/claude-code.cjs.map +1 -1
  29. package/dist/agents/claude-code.d.cts +11 -11
  30. package/dist/agents/claude-code.d.mts +11 -11
  31. package/dist/agents/claude-code.d.ts +11 -11
  32. package/dist/agents/codex-app-server.cjs +2 -2
  33. package/dist/agents/codex-app-server.cjs.map +1 -1
  34. package/dist/agents/codex.cjs +18 -12
  35. package/dist/agents/codex.cjs.map +1 -1
  36. package/dist/agents/codex.d.cts +12 -12
  37. package/dist/agents/codex.d.mts +12 -12
  38. package/dist/agents/codex.d.ts +12 -12
  39. package/dist/agents/deepseek-harness.cjs +2 -2
  40. package/dist/agents/deepseek-harness.cjs.map +1 -1
  41. package/dist/agents/hermes.cjs +3 -3
  42. package/dist/agents/hermes.cjs.map +1 -1
  43. package/dist/agents/index.cjs +3 -3
  44. package/dist/agents/index.cjs.map +1 -1
  45. package/dist/agents/index.d.cts +3 -3
  46. package/dist/agents/index.d.mts +3 -3
  47. package/dist/agents/index.d.ts +3 -3
  48. package/dist/agents/index.js +2 -2
  49. package/dist/agents/index.mjs +2 -2
  50. package/dist/agents/mcp.cjs.map +1 -1
  51. package/dist/agents/mcp.d.cts +2 -2
  52. package/dist/agents/mcp.d.mts +2 -2
  53. package/dist/agents/mcp.d.ts +2 -2
  54. package/dist/agents/omp.cjs +2 -2
  55. package/dist/agents/omp.cjs.map +1 -1
  56. package/dist/agents/openai-compat.cjs +2 -2
  57. package/dist/agents/openai-compat.cjs.map +1 -1
  58. package/dist/agents/openclaw.cjs +3 -3
  59. package/dist/agents/openclaw.cjs.map +1 -1
  60. package/dist/agents/opencode.cjs +16 -4
  61. package/dist/agents/opencode.cjs.map +1 -1
  62. package/dist/agents/plugin-extensions.cjs +71 -0
  63. package/dist/agents/plugin-extensions.cjs.map +1 -0
  64. package/dist/agents/plugin-extensions.d.cts +26 -0
  65. package/dist/agents/plugin-extensions.d.mts +26 -0
  66. package/dist/agents/plugin-extensions.d.ts +26 -0
  67. package/dist/agents/plugin-extensions.js +8 -0
  68. package/dist/agents/plugin-extensions.js.map +1 -0
  69. package/dist/agents/post-setup.cjs +14 -3
  70. package/dist/agents/post-setup.cjs.map +1 -1
  71. package/dist/agents/post-setup.d.cts +4 -2
  72. package/dist/agents/post-setup.d.mts +4 -2
  73. package/dist/agents/post-setup.d.ts +4 -2
  74. package/dist/agents/post-setup.js +8 -6
  75. package/dist/agents/sdk-streams.cjs +3 -3
  76. package/dist/agents/sdk-streams.cjs.map +1 -1
  77. package/dist/agents/{session-slot.cjs → session-key.cjs} +4 -4
  78. package/dist/agents/session-key.cjs.map +1 -0
  79. package/dist/agents/session-key.d.cts +12 -0
  80. package/dist/agents/session-key.d.mts +12 -0
  81. package/dist/agents/session-key.d.ts +12 -0
  82. package/dist/agents/session-key.js +6 -0
  83. package/dist/agents/session-key.js.map +1 -0
  84. package/dist/agents/shared.cjs +2 -2
  85. package/dist/agents/shared.cjs.map +1 -1
  86. package/dist/agents/shared.d.cts +4 -4
  87. package/dist/agents/shared.d.mts +4 -4
  88. package/dist/agents/shared.d.ts +4 -4
  89. package/dist/agents/skills.cjs.map +1 -1
  90. package/dist/agents/skills.d.cts +3 -3
  91. package/dist/agents/skills.d.mts +3 -3
  92. package/dist/agents/skills.d.ts +3 -3
  93. package/dist/agents/types.cjs.map +1 -1
  94. package/dist/agents/types.d.cts +55 -54
  95. package/dist/agents/types.d.mts +55 -54
  96. package/dist/agents/types.d.ts +55 -54
  97. package/dist/agents/ui-message-stream.cjs +4 -4
  98. package/dist/agents/ui-message-stream.cjs.map +1 -1
  99. package/dist/agents/unrecognized-events.cjs +32 -0
  100. package/dist/agents/unrecognized-events.cjs.map +1 -0
  101. package/dist/agents/unrecognized-events.d.cts +8 -0
  102. package/dist/agents/unrecognized-events.d.mts +8 -0
  103. package/dist/agents/unrecognized-events.d.ts +8 -0
  104. package/dist/agents/unrecognized-events.js +6 -0
  105. package/dist/agents/unrecognized-events.js.map +1 -0
  106. package/dist/assertions/api.cjs.map +1 -1
  107. package/dist/assertions/api.d.cts +3 -0
  108. package/dist/assertions/api.d.mts +3 -0
  109. package/dist/assertions/api.d.ts +3 -0
  110. package/dist/assertions/collection.cjs +1 -1
  111. package/dist/assertions/collection.cjs.map +1 -1
  112. package/dist/assertions/judge.cjs +1 -1
  113. package/dist/assertions/judge.cjs.map +1 -1
  114. package/dist/assertions/match.cjs +52 -21
  115. package/dist/assertions/match.cjs.map +1 -1
  116. package/dist/assertions/match.d.cts +16 -5
  117. package/dist/assertions/match.d.mts +16 -5
  118. package/dist/assertions/match.d.ts +16 -5
  119. package/dist/assertions/match.js +96 -94
  120. package/dist/assertions/measurements.cjs +22 -6
  121. package/dist/assertions/measurements.cjs.map +1 -1
  122. package/dist/assertions/measurements.d.cts +8 -1
  123. package/dist/assertions/measurements.d.mts +8 -1
  124. package/dist/assertions/measurements.d.ts +8 -1
  125. package/dist/assertions/numeric.cjs +2 -0
  126. package/dist/assertions/numeric.cjs.map +1 -1
  127. package/dist/assertions/numeric.d.cts +1 -1
  128. package/dist/assertions/numeric.d.mts +1 -1
  129. package/dist/assertions/numeric.d.ts +1 -1
  130. package/dist/assertions/quantity.cjs +42 -0
  131. package/dist/assertions/quantity.cjs.map +1 -0
  132. package/dist/assertions/quantity.d.cts +18 -0
  133. package/dist/assertions/quantity.d.mts +18 -0
  134. package/dist/assertions/quantity.d.ts +18 -0
  135. package/dist/assertions/quantity.js +22 -0
  136. package/dist/assertions/quantity.js.map +1 -0
  137. package/dist/assertions/record/attachment.cjs +2 -0
  138. package/dist/assertions/record/attachment.cjs.map +1 -1
  139. package/dist/assertions/record/codec.cjs +5 -1
  140. package/dist/assertions/record/codec.cjs.map +1 -1
  141. package/dist/assertions/record/model.cjs.map +1 -1
  142. package/dist/assertions/record/model.d.cts +3 -1
  143. package/dist/assertions/record/model.d.mts +3 -1
  144. package/dist/assertions/record/model.d.ts +3 -1
  145. package/dist/assertions/runtime.cjs +11 -6
  146. package/dist/assertions/runtime.cjs.map +1 -1
  147. package/dist/cli/program.cjs +3 -0
  148. package/dist/cli/program.cjs.map +1 -1
  149. package/dist/context/assert-first.cjs +6 -4
  150. package/dist/context/assert-first.cjs.map +1 -1
  151. package/dist/context/assert-first.d.cts +9 -3
  152. package/dist/context/assert-first.d.mts +9 -3
  153. package/dist/context/assert-first.d.ts +9 -3
  154. package/dist/context/notes.cjs +47 -0
  155. package/dist/context/notes.cjs.map +1 -0
  156. package/dist/context/notes.d.cts +10 -0
  157. package/dist/context/notes.d.mts +10 -0
  158. package/dist/context/notes.d.ts +10 -0
  159. package/dist/context/notes.js +6 -0
  160. package/dist/context/notes.js.map +1 -0
  161. package/dist/context/send-failures.cjs +1 -7
  162. package/dist/context/send-failures.cjs.map +1 -1
  163. package/dist/context/send-failures.d.cts +2 -3
  164. package/dist/context/send-failures.d.mts +2 -3
  165. package/dist/context/send-failures.d.ts +2 -3
  166. package/dist/context/send-retry.cjs +0 -1
  167. package/dist/context/send-retry.cjs.map +1 -1
  168. package/dist/context/send-retry.d.cts +1 -2
  169. package/dist/context/send-retry.d.mts +1 -2
  170. package/dist/context/send-retry.d.ts +1 -2
  171. package/dist/context/session.cjs +10 -17
  172. package/dist/context/session.cjs.map +1 -1
  173. package/dist/context/session.d.cts +4 -10
  174. package/dist/context/session.d.mts +4 -10
  175. package/dist/context/session.d.ts +4 -10
  176. package/dist/define.cjs +88 -65
  177. package/dist/define.cjs.map +1 -1
  178. package/dist/define.d.cts +3 -3
  179. package/dist/define.d.mts +3 -3
  180. package/dist/define.d.ts +3 -3
  181. package/dist/eval/cli/contribution.cjs +1 -1
  182. package/dist/eval/cli/contribution.cjs.map +1 -1
  183. package/dist/eval/host/index.cjs +1 -1
  184. package/dist/eval/host/index.cjs.map +1 -1
  185. package/dist/eval/record/evaluation.cjs +1 -1
  186. package/dist/eval/record/evaluation.cjs.map +1 -1
  187. package/dist/eval/record/membership-provenance.d.cts +3 -3
  188. package/dist/eval/record/membership-provenance.d.mts +3 -3
  189. package/dist/eval/record/membership-provenance.d.ts +3 -3
  190. package/dist/eval/record/score.cjs +2 -2
  191. package/dist/eval/record/score.cjs.map +1 -1
  192. package/dist/eval/record/sealed-assertion.cjs +1 -1
  193. package/dist/eval/record/sealed-assertion.cjs.map +1 -1
  194. package/dist/eval/record/verdict.cjs +2 -2
  195. package/dist/eval/record/verdict.cjs.map +1 -1
  196. package/dist/expect/index.cjs +10 -1
  197. package/dist/expect/index.cjs.map +1 -1
  198. package/dist/expect/index.d.cts +3 -1
  199. package/dist/expect/index.d.mts +3 -1
  200. package/dist/expect/index.d.ts +3 -1
  201. package/dist/expect/index.js +92 -76
  202. package/dist/expect/index.mjs +92 -76
  203. package/dist/experiment/host/cli/contribution.cjs +52 -39
  204. package/dist/experiment/host/cli/contribution.cjs.map +1 -1
  205. package/dist/experiment/host/cli/contribution.d.cts +18 -4
  206. package/dist/experiment/host/cli/contribution.d.mts +18 -4
  207. package/dist/experiment/host/cli/contribution.d.ts +18 -4
  208. package/dist/experiment/host/cli/contribution.js +2 -2
  209. package/dist/experiment/host/cli/debug-protocol.cjs +2 -2
  210. package/dist/experiment/host/cli/debug-protocol.cjs.map +1 -1
  211. package/dist/experiment/host/cli/debug-protocol.d.cts +2 -2
  212. package/dist/experiment/host/cli/debug-protocol.d.mts +2 -2
  213. package/dist/experiment/host/cli/debug-protocol.d.ts +2 -2
  214. package/dist/experiment/host/cli/output-protocol.cjs +1 -1
  215. package/dist/experiment/host/cli/output-protocol.cjs.map +1 -1
  216. package/dist/experiment/host/cli/output-protocol.d.cts +2 -2
  217. package/dist/experiment/host/cli/output-protocol.d.mts +2 -2
  218. package/dist/experiment/host/cli/output-protocol.d.ts +2 -2
  219. package/dist/experiment/host/current.cjs +2 -2
  220. package/dist/experiment/host/current.cjs.map +1 -1
  221. package/dist/experiment/host/index.cjs +1 -1
  222. package/dist/experiment/host/index.cjs.map +1 -1
  223. package/dist/experiment/host/operations.cjs +21 -22
  224. package/dist/experiment/host/operations.cjs.map +1 -1
  225. package/dist/experiment/host/runtime.cjs +8 -9
  226. package/dist/experiment/host/runtime.cjs.map +1 -1
  227. package/dist/experiment/host/runtime.d.cts +3 -3
  228. package/dist/experiment/host/runtime.d.mts +3 -3
  229. package/dist/experiment/host/runtime.d.ts +3 -3
  230. package/dist/experiment/host/teardown.cjs +3 -3
  231. package/dist/experiment/host/teardown.cjs.map +1 -1
  232. package/dist/experiment/host/teardown.d.cts +3 -3
  233. package/dist/experiment/host/teardown.d.mts +3 -3
  234. package/dist/experiment/host/teardown.d.ts +3 -3
  235. package/dist/experiment/host/types.cjs.map +1 -1
  236. package/dist/experiment/host/types.d.cts +19 -19
  237. package/dist/experiment/host/types.d.mts +19 -19
  238. package/dist/experiment/host/types.d.ts +19 -19
  239. package/dist/index.cjs +3 -3
  240. package/dist/index.cjs.map +1 -1
  241. package/dist/index.d.cts +3 -3
  242. package/dist/index.d.mts +3 -3
  243. package/dist/index.d.ts +3 -3
  244. package/dist/index.js +2 -2
  245. package/dist/index.mjs +2 -2
  246. package/dist/inspection/assertions.cjs +1 -1
  247. package/dist/inspection/assertions.cjs.map +1 -1
  248. package/dist/inspection/cli/contribution.cjs +8 -7
  249. package/dist/inspection/cli/contribution.cjs.map +1 -1
  250. package/dist/inspection/facts.cjs +4 -4
  251. package/dist/inspection/facts.cjs.map +1 -1
  252. package/dist/inspection/index.cjs +1 -5
  253. package/dist/inspection/index.cjs.map +1 -1
  254. package/dist/inspection/index.d.cts +1 -2
  255. package/dist/inspection/index.d.mts +1 -2
  256. package/dist/inspection/index.d.ts +1 -2
  257. package/dist/inspection/index.js +20 -26
  258. package/dist/inspection/lifecycle.cjs +7 -0
  259. package/dist/inspection/lifecycle.cjs.map +1 -0
  260. package/dist/inspection/lifecycle.d.cts +4 -0
  261. package/dist/inspection/lifecycle.d.mts +4 -0
  262. package/dist/inspection/lifecycle.d.ts +4 -0
  263. package/dist/inspection/lifecycle.js +6 -0
  264. package/dist/inspection/lifecycle.js.map +1 -0
  265. package/dist/inspection/notes.cjs +40 -0
  266. package/dist/inspection/notes.cjs.map +1 -0
  267. package/dist/inspection/notes.d.cts +12 -0
  268. package/dist/inspection/notes.d.mts +12 -0
  269. package/dist/inspection/notes.d.ts +12 -0
  270. package/dist/inspection/notes.js +8 -0
  271. package/dist/inspection/notes.js.map +1 -0
  272. package/dist/inspection/overview.cjs +12 -15
  273. package/dist/inspection/overview.cjs.map +1 -1
  274. package/dist/inspection/overview.d.cts +8 -6
  275. package/dist/inspection/overview.d.mts +8 -6
  276. package/dist/inspection/overview.d.ts +8 -6
  277. package/dist/inspection/planned-attempt.cjs +45 -0
  278. package/dist/inspection/planned-attempt.cjs.map +1 -0
  279. package/dist/inspection/planned-attempt.d.cts +109 -0
  280. package/dist/inspection/planned-attempt.d.mts +109 -0
  281. package/dist/inspection/planned-attempt.d.ts +109 -0
  282. package/dist/inspection/planned-attempt.js +24 -0
  283. package/dist/inspection/planned-attempt.js.map +1 -0
  284. package/dist/inspection/project-result.cjs +5 -5
  285. package/dist/inspection/project-result.cjs.map +1 -1
  286. package/dist/inspection/project-result.d.cts +58 -57
  287. package/dist/inspection/project-result.d.mts +58 -57
  288. package/dist/inspection/project-result.d.ts +58 -57
  289. package/dist/inspection/project-result.js +4 -4
  290. package/dist/inspection/project.cjs +3 -3
  291. package/dist/inspection/project.cjs.map +1 -1
  292. package/dist/inspection/protocol-values.cjs +1 -1
  293. package/dist/inspection/protocol-values.cjs.map +1 -1
  294. package/dist/inspection/protocol-values.d.cts +1 -1
  295. package/dist/inspection/protocol-values.d.mts +1 -1
  296. package/dist/inspection/protocol-values.d.ts +1 -1
  297. package/dist/inspection/protocol.cjs +8 -8
  298. package/dist/inspection/protocol.cjs.map +1 -1
  299. package/dist/inspection/protocol.d.cts +237 -219
  300. package/dist/inspection/protocol.d.mts +237 -219
  301. package/dist/inspection/protocol.d.ts +237 -219
  302. package/dist/inspection/public.cjs +1 -5
  303. package/dist/inspection/public.cjs.map +1 -1
  304. package/dist/inspection/public.d.cts +1 -2
  305. package/dist/inspection/public.d.mts +1 -2
  306. package/dist/inspection/public.d.ts +1 -2
  307. package/dist/inspection/public.js +14 -20
  308. package/dist/inspection/public.mjs +166 -129
  309. package/dist/inspection/query.cjs +1 -1
  310. package/dist/inspection/query.cjs.map +1 -1
  311. package/dist/inspection/results.cjs +61 -52
  312. package/dist/inspection/results.cjs.map +1 -1
  313. package/dist/inspection/results.d.cts +157 -140
  314. package/dist/inspection/results.d.mts +157 -140
  315. package/dist/inspection/results.d.ts +157 -140
  316. package/dist/inspection/select.cjs +33 -28
  317. package/dist/inspection/select.cjs.map +1 -1
  318. package/dist/inspection/source.cjs +1 -1
  319. package/dist/inspection/source.cjs.map +1 -1
  320. package/dist/inspection/sources.cjs +2 -2
  321. package/dist/inspection/sources.cjs.map +1 -1
  322. package/dist/inspection/trace.cjs +9 -8
  323. package/dist/inspection/trace.cjs.map +1 -1
  324. package/dist/inspection/trace.d.cts +4 -4
  325. package/dist/inspection/trace.d.mts +4 -4
  326. package/dist/inspection/trace.d.ts +4 -4
  327. package/dist/loaders/index.cjs +7 -279
  328. package/dist/loaders/index.cjs.map +1 -1
  329. package/dist/loaders/index.d.cts +2 -95
  330. package/dist/loaders/index.d.mts +2 -95
  331. package/dist/loaders/index.d.ts +2 -95
  332. package/dist/loaders/index.js +10 -12
  333. package/dist/loaders/index.mjs +10 -12
  334. package/dist/loaders/runtime.cjs +283 -0
  335. package/dist/loaders/runtime.cjs.map +1 -0
  336. package/dist/loaders/runtime.d.cts +95 -0
  337. package/dist/loaders/runtime.d.mts +95 -0
  338. package/dist/loaders/runtime.d.ts +95 -0
  339. package/dist/loaders/runtime.js +16 -0
  340. package/dist/loaders/runtime.js.map +1 -0
  341. package/dist/migrations/judge-provider.md +6 -6
  342. package/dist/{model-slots.cjs → model-roles.cjs} +12 -12
  343. package/dist/{model-slots.cjs.map → model-roles.cjs.map} +1 -1
  344. package/dist/{model-slots.d.cts → model-roles.d.cts} +10 -10
  345. package/dist/{model-slots.d.mts → model-roles.d.mts} +10 -10
  346. package/dist/{model-slots.d.ts → model-roles.d.ts} +10 -10
  347. package/dist/model-roles.js +14 -0
  348. package/dist/model-roles.js.map +1 -0
  349. package/dist/o11y/adapter-usage-projection.cjs +9 -8
  350. package/dist/o11y/adapter-usage-projection.cjs.map +1 -1
  351. package/dist/o11y/adapter-usage-projection.d.cts +23 -15
  352. package/dist/o11y/adapter-usage-projection.d.mts +23 -15
  353. package/dist/o11y/adapter-usage-projection.d.ts +23 -15
  354. package/dist/o11y/cache-read.cjs +14 -14
  355. package/dist/o11y/cache-read.cjs.map +1 -1
  356. package/dist/o11y/cache-read.d.cts +5 -5
  357. package/dist/o11y/cache-read.d.mts +5 -5
  358. package/dist/o11y/cache-read.d.ts +5 -5
  359. package/dist/o11y/derive.cjs.map +1 -1
  360. package/dist/o11y/derive.d.cts +2 -2
  361. package/dist/o11y/derive.d.mts +2 -2
  362. package/dist/o11y/derive.d.ts +2 -2
  363. package/dist/o11y/eval-usage.cjs +9 -9
  364. package/dist/o11y/eval-usage.cjs.map +1 -1
  365. package/dist/o11y/eval-usage.d.cts +7 -7
  366. package/dist/o11y/eval-usage.d.mts +7 -7
  367. package/dist/o11y/eval-usage.d.ts +7 -7
  368. package/dist/o11y/parsers/bub.cjs +57 -81
  369. package/dist/o11y/parsers/bub.cjs.map +1 -1
  370. package/dist/o11y/parsers/index.cjs.map +1 -1
  371. package/dist/o11y/parsers/index.d.cts +2 -0
  372. package/dist/o11y/parsers/index.d.mts +2 -0
  373. package/dist/o11y/parsers/index.d.ts +2 -0
  374. package/dist/o11y/parsers/opencode.cjs +129 -217
  375. package/dist/o11y/parsers/opencode.cjs.map +1 -1
  376. package/dist/o11y/parsers/opencode.d.cts +2 -5
  377. package/dist/o11y/parsers/opencode.d.mts +2 -5
  378. package/dist/o11y/parsers/opencode.d.ts +2 -5
  379. package/dist/o11y/types.cjs.map +1 -1
  380. package/dist/o11y/types.d.cts +1 -1
  381. package/dist/o11y/types.d.mts +1 -1
  382. package/dist/o11y/types.d.ts +1 -1
  383. package/dist/plugin/contracts.cjs +170 -120
  384. package/dist/plugin/contracts.cjs.map +1 -1
  385. package/dist/plugin/contracts.d.cts +102 -90
  386. package/dist/plugin/contracts.d.mts +102 -90
  387. package/dist/plugin/contracts.d.ts +102 -90
  388. package/dist/plugin/contracts.js +16 -12
  389. package/dist/plugin/index.cjs.map +1 -1
  390. package/dist/plugin/index.d.cts +1 -1
  391. package/dist/plugin/index.d.mts +1 -1
  392. package/dist/plugin/index.d.ts +1 -1
  393. package/dist/plugin/link.cjs +69 -64
  394. package/dist/plugin/link.cjs.map +1 -1
  395. package/dist/plugin/link.d.cts +5 -3
  396. package/dist/plugin/link.d.mts +5 -3
  397. package/dist/plugin/link.d.ts +5 -3
  398. package/dist/plugin/link.js +12 -8
  399. package/dist/record/codec/seal-manifest.d.cts +3 -3
  400. package/dist/record/codec/seal-manifest.d.mts +3 -3
  401. package/dist/record/codec/seal-manifest.d.ts +3 -3
  402. package/dist/record/family/attempt-note/definition.cjs +12 -0
  403. package/dist/record/family/attempt-note/definition.cjs.map +1 -0
  404. package/dist/record/family/attempt-note/definition.d.cts +6 -0
  405. package/dist/record/family/attempt-note/definition.d.mts +6 -0
  406. package/dist/record/family/attempt-note/definition.d.ts +6 -0
  407. package/dist/record/family/attempt-note/definition.js +6 -0
  408. package/dist/record/family/attempt-note/definition.js.map +1 -0
  409. package/dist/record/family/attempt-note/persistence.cjs +10 -0
  410. package/dist/record/family/attempt-note/persistence.cjs.map +1 -0
  411. package/dist/record/family/attempt-note/persistence.d.cts +6 -0
  412. package/dist/record/family/attempt-note/persistence.d.mts +6 -0
  413. package/dist/record/family/attempt-note/persistence.d.ts +6 -0
  414. package/dist/record/family/attempt-note/persistence.js +6 -0
  415. package/dist/record/family/attempt-note/persistence.js.map +1 -0
  416. package/dist/record/family/attempt-note/schema.cjs +20 -0
  417. package/dist/record/family/attempt-note/schema.cjs.map +1 -0
  418. package/dist/record/family/attempt-note/schema.d.cts +21 -0
  419. package/dist/record/family/attempt-note/schema.d.mts +21 -0
  420. package/dist/record/family/attempt-note/schema.d.ts +21 -0
  421. package/dist/record/family/attempt-note/schema.js +10 -0
  422. package/dist/record/family/attempt-note/schema.js.map +1 -0
  423. package/dist/record/family/catalog.cjs +32 -29
  424. package/dist/record/family/catalog.cjs.map +1 -1
  425. package/dist/record/family/catalog.d.cts +7 -2
  426. package/dist/record/family/catalog.d.mts +7 -2
  427. package/dist/record/family/catalog.d.ts +7 -2
  428. package/dist/record/family/current.cjs +48 -45
  429. package/dist/record/family/current.cjs.map +1 -1
  430. package/dist/record/family/current.d.cts +15 -0
  431. package/dist/record/family/current.d.mts +15 -0
  432. package/dist/record/family/current.d.ts +15 -0
  433. package/dist/record/model/index.js +66 -64
  434. package/dist/record/model/run-context.cjs +9 -3
  435. package/dist/record/model/run-context.cjs.map +1 -1
  436. package/dist/record/model/run-context.d.cts +9 -2
  437. package/dist/record/model/run-context.d.mts +9 -2
  438. package/dist/record/model/run-context.d.ts +9 -2
  439. package/dist/record/model/run-context.js +8 -6
  440. package/dist/record/model/seal-manifest.d.cts +1 -1
  441. package/dist/record/model/seal-manifest.d.mts +1 -1
  442. package/dist/record/model/seal-manifest.d.ts +1 -1
  443. package/dist/run/cli/contribution.cjs +6 -32
  444. package/dist/run/cli/contribution.cjs.map +1 -1
  445. package/dist/run/host/runtime.cjs +1 -1
  446. package/dist/run/host/runtime.cjs.map +1 -1
  447. package/dist/run/storage/sqlite.cjs +7 -7
  448. package/dist/run/storage/sqlite.cjs.map +1 -1
  449. package/dist/runner/adapter-usage.cjs +5 -3
  450. package/dist/runner/adapter-usage.cjs.map +1 -1
  451. package/dist/runner/adapter-usage.d.cts +2 -2
  452. package/dist/runner/adapter-usage.d.mts +2 -2
  453. package/dist/runner/adapter-usage.d.ts +2 -2
  454. package/dist/runner/adoption.cjs +9 -12
  455. package/dist/runner/adoption.cjs.map +1 -1
  456. package/dist/runner/attempt-notes.cjs +8 -0
  457. package/dist/runner/attempt-notes.cjs.map +1 -0
  458. package/dist/runner/attempt-notes.d.cts +4 -0
  459. package/dist/runner/attempt-notes.d.mts +4 -0
  460. package/dist/runner/attempt-notes.d.ts +4 -0
  461. package/dist/runner/attempt-notes.js +8 -0
  462. package/dist/runner/attempt-notes.js.map +1 -0
  463. package/dist/runner/attempt.cjs +61 -73
  464. package/dist/runner/attempt.cjs.map +1 -1
  465. package/dist/runner/attempt.d.cts +3 -3
  466. package/dist/runner/attempt.d.mts +3 -3
  467. package/dist/runner/attempt.d.ts +3 -3
  468. package/dist/runner/command-plan.cjs +21 -26
  469. package/dist/runner/command-plan.cjs.map +1 -1
  470. package/dist/runner/command-plan.d.cts +4 -4
  471. package/dist/runner/command-plan.d.mts +4 -4
  472. package/dist/runner/command-plan.d.ts +4 -4
  473. package/dist/runner/command-plan.js +4 -4
  474. package/dist/runner/config-identity.cjs.map +1 -1
  475. package/dist/runner/config-identity.d.cts +2 -2
  476. package/dist/runner/config-identity.d.mts +2 -2
  477. package/dist/runner/config-identity.d.ts +2 -2
  478. package/dist/runner/discover.cjs +6 -6
  479. package/dist/runner/discover.cjs.map +1 -1
  480. package/dist/runner/eval-selection.cjs +2 -2
  481. package/dist/runner/eval-selection.cjs.map +1 -1
  482. package/dist/runner/eval-selection.d.cts +2 -2
  483. package/dist/runner/eval-selection.d.mts +2 -2
  484. package/dist/runner/eval-selection.d.ts +2 -2
  485. package/dist/runner/feedback/human.cjs +1 -1
  486. package/dist/runner/feedback/human.cjs.map +1 -1
  487. package/dist/runner/feedback/json.cjs +4 -2
  488. package/dist/runner/feedback/json.cjs.map +1 -1
  489. package/dist/runner/feedback/json.d.cts +1 -1
  490. package/dist/runner/feedback/json.d.mts +1 -1
  491. package/dist/runner/feedback/json.d.ts +1 -1
  492. package/dist/runner/feedback/sink.cjs +1 -1
  493. package/dist/runner/feedback/sink.cjs.map +1 -1
  494. package/dist/runner/feedback/sink.d.cts +1 -1
  495. package/dist/runner/feedback/sink.d.mts +1 -1
  496. package/dist/runner/feedback/sink.d.ts +1 -1
  497. package/dist/runner/fingerprint.cjs +1 -1
  498. package/dist/runner/fingerprint.cjs.map +1 -1
  499. package/dist/runner/project-target.cjs.map +1 -1
  500. package/dist/runner/project-target.d.cts +2 -2
  501. package/dist/runner/project-target.d.mts +2 -2
  502. package/dist/runner/project-target.d.ts +2 -2
  503. package/dist/runner/record/attachments.cjs +2 -2
  504. package/dist/runner/record/attachments.cjs.map +1 -1
  505. package/dist/runner/record/planning.cjs +8 -2
  506. package/dist/runner/record/planning.cjs.map +1 -1
  507. package/dist/runner/record.cjs +2 -0
  508. package/dist/runner/record.cjs.map +1 -1
  509. package/dist/runner/report.cjs +3 -3
  510. package/dist/runner/report.cjs.map +1 -1
  511. package/dist/runner/report.d.cts +1 -1
  512. package/dist/runner/report.d.mts +1 -1
  513. package/dist/runner/report.d.ts +1 -1
  514. package/dist/runner/reuse-plan.cjs +2 -2
  515. package/dist/runner/reuse-plan.cjs.map +1 -1
  516. package/dist/runner/run.cjs +10 -45
  517. package/dist/runner/run.cjs.map +1 -1
  518. package/dist/runner/sandbox-pool.cjs +1 -2
  519. package/dist/runner/sandbox-pool.cjs.map +1 -1
  520. package/dist/runner/setup-prefix-preparation.cjs +1 -1
  521. package/dist/runner/setup-prefix-preparation.cjs.map +1 -1
  522. package/dist/runner/teardown-registry.cjs +2 -2
  523. package/dist/runner/teardown-registry.cjs.map +1 -1
  524. package/dist/runner/teardown-registry.d.cts +1 -1
  525. package/dist/runner/teardown-registry.d.mts +1 -1
  526. package/dist/runner/teardown-registry.d.ts +1 -1
  527. package/dist/runner/types.cjs +4 -4
  528. package/dist/runner/types.cjs.map +1 -1
  529. package/dist/runner/types.d.cts +64 -93
  530. package/dist/runner/types.d.mts +64 -93
  531. package/dist/runner/types.d.ts +64 -93
  532. package/dist/runner/types.js +2 -2
  533. package/dist/sandbox/action.cjs +1 -1
  534. package/dist/sandbox/action.cjs.map +1 -1
  535. package/dist/sandbox/cli/contribution.cjs +17 -14
  536. package/dist/sandbox/cli/contribution.cjs.map +1 -1
  537. package/dist/sandbox/cli/contribution.d.cts +1 -1
  538. package/dist/sandbox/cli/contribution.d.mts +1 -1
  539. package/dist/sandbox/cli/contribution.d.ts +1 -1
  540. package/dist/sandbox/commands.cjs +1 -1
  541. package/dist/sandbox/commands.cjs.map +1 -1
  542. package/dist/sandbox/commands.d.cts +1 -1
  543. package/dist/sandbox/commands.d.mts +1 -1
  544. package/dist/sandbox/commands.d.ts +1 -1
  545. package/dist/sandbox/compose.cjs +2 -2
  546. package/dist/sandbox/compose.cjs.map +1 -1
  547. package/dist/sandbox/docker-profile/registry.cjs +5 -9
  548. package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
  549. package/dist/sandbox/docker-profile/registry.d.cts +0 -3
  550. package/dist/sandbox/docker-profile/registry.d.mts +0 -3
  551. package/dist/sandbox/docker-profile/registry.d.ts +0 -3
  552. package/dist/sandbox/docker-profile/registry.js +6 -12
  553. package/dist/sandbox/docker-profile/runtime.cjs +1 -1
  554. package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
  555. package/dist/sandbox/docker-profile/schema.cjs +12 -16
  556. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  557. package/dist/sandbox/docker-profile/schema.d.cts +2 -6
  558. package/dist/sandbox/docker-profile/schema.d.mts +2 -6
  559. package/dist/sandbox/docker-profile/schema.d.ts +2 -6
  560. package/dist/sandbox/docker-profile/schema.js +24 -32
  561. package/dist/sandbox/incus.cjs +2 -2
  562. package/dist/sandbox/incus.cjs.map +1 -1
  563. package/dist/sandbox/index.cjs +4 -35
  564. package/dist/sandbox/index.cjs.map +1 -1
  565. package/dist/sandbox/index.d.cts +4 -8
  566. package/dist/sandbox/index.d.mts +4 -8
  567. package/dist/sandbox/index.d.ts +4 -8
  568. package/dist/sandbox/index.js +116 -172
  569. package/dist/sandbox/index.mjs +116 -172
  570. package/dist/sandbox/layer.cjs +3 -3
  571. package/dist/sandbox/layer.cjs.map +1 -1
  572. package/dist/sandbox/link.cjs +5 -0
  573. package/dist/sandbox/link.cjs.map +1 -1
  574. package/dist/sandbox/link.d.cts +3 -0
  575. package/dist/sandbox/link.d.mts +3 -0
  576. package/dist/sandbox/link.d.ts +3 -0
  577. package/dist/sandbox/runtime.cjs +9 -4
  578. package/dist/sandbox/runtime.cjs.map +1 -1
  579. package/dist/shared/failure-class.cjs +5 -5
  580. package/dist/shared/failure-class.cjs.map +1 -1
  581. package/dist/shared/failure-class.d.cts +4 -10
  582. package/dist/shared/failure-class.d.mts +4 -10
  583. package/dist/shared/failure-class.d.ts +4 -10
  584. package/dist/shared/types.cjs.map +1 -1
  585. package/dist/shared/types.d.cts +1 -1
  586. package/dist/shared/types.d.mts +1 -1
  587. package/dist/shared/types.d.ts +1 -1
  588. package/dist/show/contribution.cjs +17 -2
  589. package/dist/show/contribution.cjs.map +1 -1
  590. package/dist/show/contribution.d.cts +14 -0
  591. package/dist/show/contribution.d.mts +14 -0
  592. package/dist/show/contribution.d.ts +14 -0
  593. package/dist/show/model.cjs +8 -5
  594. package/dist/show/model.cjs.map +1 -1
  595. package/dist/show/model.d.cts +11 -8
  596. package/dist/show/model.d.mts +11 -8
  597. package/dist/show/model.d.ts +11 -8
  598. package/dist/show/render.cjs +34 -22
  599. package/dist/show/render.cjs.map +1 -1
  600. package/dist/sources/projector.cjs +1 -1
  601. package/dist/sources/projector.cjs.map +1 -1
  602. package/dist/types.cjs +1 -1
  603. package/dist/types.cjs.map +1 -1
  604. package/dist/types.d.cts +1 -1
  605. package/dist/types.d.mts +1 -1
  606. package/dist/types.d.ts +1 -1
  607. package/dist/types.js +2 -2
  608. package/dist/view/app-dist/.vite/manifest.json +2 -2
  609. package/dist/view/app-dist/assets/{index-B3ijZRph.js → index-CxrOUvHC.js} +17 -17
  610. package/dist/view/app-dist/assets/{quality-cost-scatter-B--DfJ9s.js → quality-cost-scatter-B6Aiss7x.js} +1 -1
  611. package/dist/view/app-dist/index.html +1 -1
  612. package/dist/view/cli/contribution.cjs +1 -1
  613. package/dist/view/cli/contribution.cjs.map +1 -1
  614. package/dist/view/function-runtime.mjs +318 -121
  615. package/dist/view/http-protocol.d.cts +1 -1
  616. package/dist/view/http-protocol.d.mts +1 -1
  617. package/dist/view/http-protocol.d.ts +1 -1
  618. package/dist/view/inspection-host.cjs +2 -2
  619. package/dist/view/inspection-host.cjs.map +1 -1
  620. package/dist/view/inspection-host.d.cts +349 -331
  621. package/dist/view/inspection-host.d.mts +349 -331
  622. package/dist/view/inspection-host.d.ts +349 -331
  623. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +6 -6
  624. package/docs-site/zh/examples/integrations/claude-sdk.mdx +5 -5
  625. package/docs-site/zh/examples/integrations/codex-sdk.mdx +4 -4
  626. package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
  627. package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
  628. package/docs-site/zh/explanation/adapter.mdx +6 -6
  629. package/docs-site/zh/explanation/assert.mdx +7 -7
  630. package/docs-site/zh/explanation/drive.mdx +4 -4
  631. package/docs-site/zh/explanation/hitl.mdx +2 -2
  632. package/docs-site/zh/explanation/judge.mdx +2 -2
  633. package/docs-site/zh/introduction.mdx +2 -2
  634. package/docs-site/zh/reference/builtin-agents.mdx +46 -49
  635. package/docs-site/zh/reference/cli.mdx +16 -14
  636. package/docs-site/zh/reference/define-agent.mdx +19 -19
  637. package/docs-site/zh/reference/define-config.mdx +7 -15
  638. package/docs-site/zh/reference/define-eval.mdx +20 -14
  639. package/docs-site/zh/reference/define-experiment.mdx +18 -39
  640. package/docs-site/zh/reference/events.mdx +1 -1
  641. package/docs-site/zh/reference/expect.mdx +21 -0
  642. package/docs-site/zh/reference/official-adapters.mdx +12 -5
  643. package/docs-site/zh/troubleshooting/debugging.mdx +2 -2
  644. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +1 -1
  645. package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
  646. package/docs-site/zh/tutorials/authoring.mdx +2 -2
  647. package/docs-site/zh/tutorials/compare-runs.mdx +1 -1
  648. package/docs-site/zh/tutorials/concurrency.mdx +8 -8
  649. package/docs-site/zh/tutorials/configuration.mdx +5 -5
  650. package/docs-site/zh/tutorials/control-run-cost.mdx +19 -19
  651. package/docs-site/zh/tutorials/eval-groups.mdx +1 -1
  652. package/docs-site/zh/tutorials/evaluation-kinds.mdx +5 -5
  653. package/docs-site/zh/tutorials/experiment-services.mdx +32 -32
  654. package/docs-site/zh/tutorials/handle-execution-failures.mdx +2 -28
  655. package/docs-site/zh/tutorials/plugins.mdx +49 -143
  656. package/docs-site/zh/tutorials/sandbox-agent.mdx +1 -1
  657. package/docs-site/zh/tutorials/sandbox-reuse.mdx +7 -7
  658. package/docs-site/zh/tutorials/upgrade-0-18.mdx +1 -1
  659. package/docs-site/zh/tutorials/upgrade-0-19.mdx +121 -0
  660. package/docs-site/zh/tutorials/upgrade-0-20.mdx +12 -0
  661. package/docs-site/zh/tutorials/verify-judge.mdx +2 -2
  662. package/docs-site/zh/tutorials/viewing-results.mdx +2 -2
  663. package/docs-site/zh/tutorials/write-experiment.mdx +1 -1
  664. package/docs-site/zh/tutorials/write-send.mdx +13 -13
  665. package/package.json +1 -1
  666. package/dist/agents/effect-runtime.cjs.map +0 -1
  667. package/dist/agents/effect-runtime.d.cts +0 -29
  668. package/dist/agents/effect-runtime.d.mts +0 -29
  669. package/dist/agents/effect-runtime.d.ts +0 -29
  670. package/dist/agents/effect-runtime.js +0 -16
  671. package/dist/agents/effect-runtime.js.map +0 -1
  672. package/dist/agents/session-slot.cjs.map +0 -1
  673. package/dist/agents/session-slot.d.cts +0 -12
  674. package/dist/agents/session-slot.d.mts +0 -12
  675. package/dist/agents/session-slot.d.ts +0 -12
  676. package/dist/agents/session-slot.js +0 -6
  677. package/dist/agents/session-slot.js.map +0 -1
  678. package/dist/model-slots.js +0 -14
  679. package/dist/model-slots.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"command-plan.js","sourceRoot":"","sources":["command-plan.ts"],"names":[],"mappings":"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","sourcesContent":["// `niceeval debug <experiment> <eval>` 的纯计划装配器。\n//\n// 它只消费 discovery/link/physical/carry 已经完成的不可变结果,不执行作者回调,也不从\n// Function#toString 或公开 command identity 猜命令。生命周期拓扑在这里组装;human/JSON\n// renderer 只做投影,避免两种输出各维护一套“看起来像执行顺序”的第二真相。\nimport type { AgentIdentity, AgentInstaller } from \"../agents/types.ts\";\nimport { agentLifecycleHookCommandsOf } from \"../agents/post-setup.ts\";\nimport { sandboxCommandPlanOf, type SandboxCommand, type SandboxCommandPlanCommand, type SandboxCommandPlanCondition, type SandboxCommandPlanNode, type SandboxCommandPlanRedaction, } from \"../sandbox/commands.ts\";\nimport { sandboxTemplateCommandPlanLocator, type SandboxTemplateCommandPlanLocator, } from \"../sandbox/layer.ts\";\nimport { type LinkedSandboxAfter, type LinkedSandboxPluginLifecycle, type ScheduledSandboxBefore, type SandboxBeforeDependencyProjection, type SandboxDeclarationOrder, } from \"../sandbox/link.ts\";\nimport { mergeSandboxActionState, sandboxActionStateCovers, type SandboxActionState, type SandboxActionPlan, type SandboxChangeFrequency, } from \"../sandbox/action.ts\";\nimport { digestOf } from \"../sandbox/identity.ts\";\nimport type { JsonValue } from \"../shared/types.ts\";\nimport { runPairKey, type PreparedRunPair } from \"./sandbox-selection.ts\";\nimport { sandboxReusePoolDescriptor, type SandboxReusePoolDescriptor, } from \"./sandbox-reuse.ts\";\nimport type { LinkedPluginLifecycle } from \"../plugin/contracts.ts\";\nexport interface CommandPlanOwner {\n readonly kind: \"eval\" | \"eval-group\" | \"experiment\" | \"adapter\" | \"agent\" | \"provider\";\n readonly id: string;\n readonly index?: number;\n}\nexport interface CommandPlanReason {\n readonly code: string;\n readonly summary: string;\n}\nexport interface CommandPlanSandboxTemplate {\n readonly owner: CommandPlanOwner;\n readonly provider: string;\n readonly kind: string;\n readonly locator: SandboxTemplateCommandPlanLocator;\n}\nexport interface CommandPlanStep {\n readonly phase: string;\n readonly label?: string;\n readonly owner?: CommandPlanOwner;\n readonly truth: \"exact\" | \"conditional\" | \"opaque\" | \"known-no-command\";\n readonly condition?: SandboxCommandPlanCondition;\n readonly reason?: CommandPlanReason;\n /** Present only on the real Sandbox creation boundary. */\n readonly template?: CommandPlanSandboxTemplate;\n readonly redactions?: readonly SandboxCommandPlanRedaction[];\n readonly command?: SandboxCommandPlanCommand;\n readonly children?: readonly CommandPlanStep[];\n readonly action?: Readonly<SandboxActionPlan & {\n readonly kind?: \"action\" | \"command\";\n }> | {\n readonly id: string;\n readonly kind: \"command\" | \"callback\";\n };\n readonly declarationOrder?: SandboxDeclarationOrder;\n readonly executionOrder?: {\n readonly topologicalOrdinal: number;\n readonly occurrencePath: readonly string[];\n };\n readonly changeFrequency?: SandboxChangeFrequency;\n readonly schedulingReason?: string;\n readonly dependencies?: readonly SandboxBeforeDependencyProjection[];\n readonly occurrence?: {\n readonly kind: \"attempt\";\n };\n readonly cache?: {\n readonly lookup: \"not-probed\";\n readonly capability: CommandPlanCacheCapability;\n /** Linked declaration identity; the runtime-only final cache key remains unprobed. */\n readonly prefixIdentity?: string;\n /** Static provider reason; present only when capability is unsupported. */\n readonly capabilityReason?: string;\n /** Dry planning cannot resolve runtime eligibility or a final cache key. */\n readonly runtime: {\n readonly status: \"pending\";\n readonly finalKey: \"not-probed\";\n };\n readonly eligibility: {\n readonly status: \"eligible\";\n } | {\n readonly status: \"ineligible\";\n readonly reason: {\n readonly code: \"opaque-action\" | \"opaque-ancestor\" | \"provider-unsupported\" | \"unsupported-state\" | \"unsupported-state-ancestor\";\n };\n };\n readonly state: {\n readonly declared: SandboxActionState | \"opaque\";\n readonly cumulative: SandboxActionState | \"opaque\";\n readonly providerCoverage: SandboxActionState | \"unsupported\";\n readonly barrier: \"none\" | \"opaque-action\" | \"opaque-ancestor\" | \"provider-unsupported\" | \"unsupported-state\" | \"unsupported-state-ancestor\";\n /** First action/callback that severed this reusable lineage, when action-addressable. */\n readonly barrierActionId?: string;\n };\n };\n}\nexport type CommandPlanCacheCapability = \"persistent\" | \"invocation-local\" | \"unsupported\";\nexport interface CommandPlanSlot {\n readonly evalId: string;\n readonly attempt: number;\n readonly action: \"carried\" | \"dispatch\";\n readonly activation?: SandboxCommandPlanCondition;\n readonly steps: readonly CommandPlanStep[];\n}\nexport interface CommandPlanPhysicalLifecycleTemplate {\n readonly appliesTo: \"each-physical-instance\";\n readonly enter: readonly CommandPlanStep[];\n readonly exit: readonly CommandPlanStep[];\n}\ninterface CommandPlanLaneBase {\n readonly id: string;\n readonly slots: readonly CommandPlanSlot[];\n}\nexport type CommandPlanLane = (CommandPlanLaneBase & {\n readonly kind: \"eval\";\n readonly ordering: \"independent\";\n readonly scope?: never;\n readonly physicalLifecycleTemplate?: never;\n}) | (CommandPlanLaneBase & {\n readonly kind: \"sandbox-reuse\";\n readonly ordering: \"independent\";\n readonly scope: {\n readonly kind: \"shared\";\n } | {\n readonly kind: \"eval\";\n readonly evalId: string;\n };\n /** Applied independently to every physical instance; it creates no lane-wide before/after edge. */\n readonly physicalLifecycleTemplate?: CommandPlanPhysicalLifecycleTemplate;\n}) | (CommandPlanLaneBase & {\n readonly kind: \"eval-group\";\n readonly ordering: \"serial-normalized-eval-id\";\n readonly scope?: never;\n readonly beforeSlots: readonly CommandPlanStep[];\n readonly afterSlots: readonly CommandPlanStep[];\n /** Applied independently to every replacement instance used by this capacity-one lane. */\n readonly physicalLifecycleTemplate?: CommandPlanPhysicalLifecycleTemplate;\n});\nexport interface CommandPlanExperiment {\n readonly experimentId: string;\n /** 计划中的 dispatch 仍可能被 late carry、预算、early-exit 或 fail-fast 阻止。 */\n readonly activation: \"conditional\" | \"inactive\";\n readonly beforeLanes: readonly CommandPlanStep[];\n readonly lanes: readonly CommandPlanLane[];\n readonly afterLanes: readonly CommandPlanStep[];\n}\nexport interface CommandPlan {\n readonly completeness: \"complete\" | \"partial\";\n readonly opaqueCount: number;\n readonly redactedCount: number;\n readonly experiments: readonly CommandPlanExperiment[];\n}\nexport interface SetupPrefixPlanNode {\n readonly prefixIdentity: string;\n readonly lookup: \"not-probed\";\n readonly capability: CommandPlanCacheCapability;\n readonly eligibility: NonNullable<CommandPlanStep[\"cache\"]>[\"eligibility\"];\n readonly consumers: readonly {\n readonly experimentId: string;\n readonly evalId: string;\n }[];\n}\nexport interface SetupPrefixPlan {\n readonly lookup: \"not-probed\";\n readonly nodes: readonly SetupPrefixPlanNode[];\n}\n/** Deduplicate the selected command plan by the setup-prefix declaration identity. */\nexport function setupPrefixPlanOf(commandPlan: CommandPlan): SetupPrefixPlan {\n const nodes = new Map<string, {\n cache: NonNullable<CommandPlanStep[\"cache\"]>;\n consumers: Map<string, {\n readonly experimentId: string;\n readonly evalId: string;\n }>;\n }>();\n const visit = (step: CommandPlanStep, experimentId: string, evalId: string): void => {\n const cache = step.cache;\n if (cache?.prefixIdentity !== undefined) {\n const existing = nodes.get(cache.prefixIdentity) ?? { cache, consumers: new Map() };\n existing.consumers.set(`${experimentId}\\0${evalId}`, Object.freeze({ experimentId, evalId }));\n nodes.set(cache.prefixIdentity, existing);\n }\n for (const child of step.children ?? [])\n visit(child, experimentId, evalId);\n };\n const visitForConsumers = (step: CommandPlanStep, experimentId: string, evalIds: readonly string[]): void => {\n for (const evalId of evalIds)\n visit(step, experimentId, evalId);\n };\n for (const experiment of commandPlan.experiments) {\n const experimentEvalIds = [...new Set(experiment.lanes.flatMap((lane) => lane.slots.map((slot) => slot.evalId)))];\n for (const step of experiment.beforeLanes) {\n visitForConsumers(step, experiment.experimentId, experimentEvalIds);\n }\n for (const lane of experiment.lanes) {\n const laneEvalIds = [...new Set(lane.slots.map((slot) => slot.evalId))];\n for (const step of \"beforeSlots\" in lane ? lane.beforeSlots : []) {\n visitForConsumers(step, experiment.experimentId, laneEvalIds);\n }\n for (const step of lane.physicalLifecycleTemplate?.enter ?? []) {\n visitForConsumers(step, experiment.experimentId, laneEvalIds);\n }\n for (const slot of lane.slots)\n for (const step of slot.steps)\n visit(step, experiment.experimentId, slot.evalId);\n }\n }\n return Object.freeze({\n lookup: \"not-probed\" as const,\n nodes: Object.freeze([...nodes.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([prefixIdentity, node]) => Object.freeze({\n prefixIdentity,\n lookup: \"not-probed\" as const,\n capability: node.cache.capability,\n eligibility: node.cache.eligibility,\n consumers: Object.freeze([...node.consumers.values()].sort((left, right) => left.experimentId.localeCompare(right.experimentId) || left.evalId.localeCompare(right.evalId))),\n }))),\n });\n}\nexport interface CommandPlanRowInput {\n readonly experimentId: string;\n readonly evalId: string;\n readonly evalGroupId?: string;\n readonly attempts: number;\n /** 不在任何 dispatch group 的坐标就是 carry;这与 dry matrix 的唯一 carry 计划同源。 */\n readonly dispatch: readonly {\n readonly attempts: readonly number[];\n }[];\n}\nexport interface AssembleCommandPlanInput {\n readonly rows: readonly CommandPlanRowInput[];\n readonly preparedPairsByKey: ReadonlyMap<string, PreparedRunPair>;\n /** Backend wiring may replace the static provider declaration; debug still never performs lookup. */\n readonly setupPrefixCapability?: (pair: PreparedRunPair) => CommandPlanCacheCapability;\n}\nconst DISPATCH_MAY_NOT_RUN: SandboxCommandPlanCondition = Object.freeze({\n code: \"dispatch-admitted\",\n summary: \"runs only if late carry, budget, early-exit, fail-fast, and cancellation still admit this slot\",\n});\nconst PROBE_MISS: SandboxCommandPlanCondition = Object.freeze({\n code: \"probe-miss\",\n summary: \"the preceding probe exits non-zero\",\n});\nconst SHARED_INSTANCE_AVAILABLE: SandboxCommandPlanCondition = Object.freeze({\n code: \"shared-instance-lifetime\",\n summary: \"may repeat after provider retirement, reset failure, or lifetime replacement\",\n});\nconst AGENT_POST_SETUP_REACHED: SandboxCommandPlanCondition = Object.freeze({\n code: \"agent-post-setup-reached\",\n summary: \"runs only if Adapter setup reached its declared postSetup point\",\n});\nfunction opaque(phase: string, code: string, summary: string, options: {\n owner?: CommandPlanOwner;\n label?: string;\n condition?: SandboxCommandPlanCondition;\n template?: CommandPlanSandboxTemplate;\n} = {}): CommandPlanStep {\n return {\n phase,\n truth: \"opaque\",\n reason: { code, summary },\n ...(options.owner === undefined ? {} : { owner: options.owner }),\n ...(options.label === undefined ? {} : { label: options.label }),\n ...(options.condition === undefined ? {} : { condition: options.condition }),\n ...(options.template === undefined ? {} : { template: options.template }),\n };\n}\nfunction knownNoCommand(phase: string, code: string, summary: string, options: {\n owner?: CommandPlanOwner;\n label?: string;\n condition?: SandboxCommandPlanCondition;\n} = {}): CommandPlanStep {\n return {\n phase,\n truth: \"known-no-command\",\n reason: { code, summary },\n ...(options.owner === undefined ? {} : { owner: options.owner }),\n ...(options.label === undefined ? {} : { label: options.label }),\n ...(options.condition === undefined ? {} : { condition: options.condition }),\n };\n}\nfunction stepFromDeclaration(node: SandboxCommandPlanNode, phase: string, owner: CommandPlanOwner, inheritedCondition?: SandboxCommandPlanCondition): CommandPlanStep {\n const condition = inheritedCondition ?? node.condition;\n if (node.truth === \"exact\") {\n return {\n phase,\n truth: \"exact\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n command: node.command,\n ...(node.redactions === undefined ? {} : { redactions: node.redactions }),\n };\n }\n if (node.truth === \"conditional\") {\n return {\n phase,\n truth: \"conditional\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n children: node.children.map((child) => stepFromDeclaration(child, phase, owner)),\n };\n }\n if (node.truth === \"opaque\") {\n return {\n phase,\n truth: \"opaque\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n reason: node.reason,\n };\n }\n return {\n phase,\n truth: \"known-no-command\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n ...(node.reason === undefined ? {} : { reason: node.reason }),\n };\n}\nfunction sameIdentity(left: AgentIdentity, right: AgentIdentity): boolean {\n return left.agent === right.agent && left.version === right.version && left.revision === right.revision;\n}\nfunction matchingInstaller(installers: readonly AgentInstaller[], identity: AgentIdentity): AgentInstaller | undefined {\n return installers.find((candidate) => sameIdentity(candidate.identity, identity));\n}\nfunction ensureStep(pair: PreparedRunPair, index: number): CommandPlanStep {\n const agent = pair.run.agent;\n if (agent === undefined || agent.kind !== \"sandbox\") {\n throw new Error(\"Command plan invariant failed: Direct Agent has no Sandbox ensure step.\");\n }\n const owner: CommandPlanOwner = { kind: \"agent\", id: agent.name };\n const ensure = agent.ensure[index];\n if (ensure === undefined)\n throw new Error(`Command plan invariant failed: missing Agent ensure #${index}.`);\n const probe = sandboxCommandPlanOf(ensure.probe);\n const probeStep = probe === undefined\n ? opaque(\"agent.ensure\", \"agent-probe-callback\", \"custom Agent ensure probe; commands are only known when it runs\", { owner, label: `probe #${index}` })\n : stepFromDeclaration({ ...probe, label: `probe #${index}` }, \"agent.ensure\", owner);\n const installer = matchingInstaller(agent.installers, ensure.identity);\n const children: CommandPlanStep[] = [probeStep];\n if (installer === undefined) {\n children.push(knownNoCommand(\"agent.ensure\", \"installer-missing\", \"probe miss stops with a missing-installer error\", { owner, label: `install #${index}`, condition: PROBE_MISS }));\n }\n else if (installer.installMode === \"verify-only\") {\n children.push(knownNoCommand(\"agent.ensure\", \"verify-only\", \"probe miss stops because this installer is verify-only\", { owner, label: `install #${index}`, condition: PROBE_MISS }));\n }\n else {\n children.push(opaque(\"agent.ensure\", \"agent-installer-callback\", `${installer.installMode} installer callback; commands are only known when it runs`, { owner, label: `install #${index}`, condition: PROBE_MISS }));\n children.push(probe === undefined\n ? opaque(\"agent.ensure\", \"agent-probe-callback\", \"custom Agent ensure recheck; commands are only known when it runs\", { owner, label: `recheck #${index}`, condition: PROBE_MISS })\n : stepFromDeclaration({ ...probe, label: `recheck #${index}` }, \"agent.ensure\", owner, PROBE_MISS));\n }\n return {\n phase: \"agent.ensure\",\n truth: \"conditional\",\n owner,\n label: `${ensure.identity.agent}@${ensure.identity.version}`,\n children,\n };\n}\nfunction containsOpaque(step: CommandPlanStep): boolean {\n return step.truth === \"opaque\" || (step.children?.some(containsOpaque) ?? false);\n}\nfunction stepForLinkedBefore(pair: PreparedRunPair, entry: ScheduledSandboxBefore): CommandPlanStep {\n const owner: CommandPlanOwner = { kind: entry.owner.kind, id: entry.owner.id };\n if (entry.kind === \"action\") {\n return {\n phase: \"sandbox.before\",\n truth: \"exact\",\n owner,\n action: Object.freeze({ ...entry.data.plan, kind: \"action\" as const }),\n };\n }\n if (entry.kind === \"hook\") {\n return opaque(\"sandbox.before\", \"sandbox-hook-callback\", \"callback-backed SandboxHook receives the public Sandbox only when it runs\", { owner });\n }\n const declaration = sandboxCommandPlanOf(entry.declaration.command);\n return declaration === undefined\n ? opaque(\"sandbox.before\", \"sandbox-command-callback\", \"callback-backed SandboxCommand; commands are only known when it runs\", { owner })\n : stepFromDeclaration(declaration, \"sandbox.before\", owner);\n}\nfunction cacheCapabilityTag(value: unknown): CommandPlanCacheCapability | undefined {\n if (value === \"persistent\" || value === \"invocation-local\" || value === \"unsupported\")\n return value;\n if (value === null || typeof value !== \"object\")\n return undefined;\n const tag = Reflect.get(value, \"_tag\");\n if (tag === \"Persistent\" || tag === \"PreparedArtifact\")\n return \"persistent\";\n if (tag === \"InvocationLocal\")\n return \"invocation-local\";\n if (tag === \"Unsupported\")\n return \"unsupported\";\n return undefined;\n}\n/** Static debug projection only; a runtime/backend resolver can be supplied to assembleCommandPlan. */\nexport function providerDeclaredSetupPrefixCapability(pair: PreparedRunPair): CommandPlanCacheCapability {\n if (pair.plan._tag !== \"Sandbox\")\n return \"unsupported\";\n const capabilities = pair.plan.providerPlan.capabilities as object;\n return cacheCapabilityTag(Reflect.get(capabilities, \"setupPrefix\")) ??\n cacheCapabilityTag(Reflect.get(capabilities, \"setupPrefixCache\")) ??\n \"unsupported\";\n}\nfunction providerDeclaredSetupPrefixCoverage(pair: PreparedRunPair): SandboxActionState | \"unsupported\" {\n if (pair.plan._tag !== \"Sandbox\")\n return \"unsupported\";\n const declaration = pair.plan.providerPlan.capabilities.setupPrefix;\n return declaration._tag === \"Persistent\" || declaration._tag === \"PreparedArtifact\"\n ? declaration.coverage\n : \"unsupported\";\n}\nfunction providerDeclaredSetupPrefixReason(pair: PreparedRunPair): string | undefined {\n if (pair.plan._tag !== \"Sandbox\")\n return undefined;\n const capabilities = pair.plan.providerPlan.capabilities as object;\n for (const candidate of [\n Reflect.get(capabilities, \"setupPrefix\"),\n Reflect.get(capabilities, \"setupPrefixCache\"),\n ]) {\n if (candidate === null || typeof candidate !== \"object\")\n continue;\n if (Reflect.get(candidate, \"_tag\") !== \"Unsupported\")\n continue;\n const reason = Reflect.get(candidate, \"reason\");\n if (typeof reason === \"string\" && reason !== \"\")\n return reason;\n }\n return undefined;\n}\nfunction hasOpaqueSetupAncestor(pair: PreparedRunPair): boolean {\n if (pair.plan._tag !== \"Sandbox\")\n return false;\n const authorSetup = pair.plan.pair.fingerprint.lifecycle?.some((entry) => entry.phase === \"setup\") ?? false;\n const pluginSetup = pair.plan.pair.pluginLifecycles.some((entry) => entry.lifecycle.hasSetup);\n return authorSetup || pluginSetup;\n}\nfunction linkedSetupPrefixBaseIdentity(pair: PreparedRunPair): string {\n if (pair.plan._tag !== \"Sandbox\")\n return \"linked-base:unsupported\";\n const provider = pair.plan.providerPlan;\n const identity = {\n protocol: \"niceeval.setup-prefix-linked-plan/v1\",\n provider: {\n id: provider.provider,\n plannerRevision: provider.plannerRevision,\n caseKind: provider.caseKind,\n caseKey: provider.build.caseKey,\n buildKeys: [...provider.build.buildKeys],\n identity: provider.identity,\n },\n target: {\n source: provider.target.source,\n platform: { ...provider.target.platform },\n },\n occurrence: {\n kind: \"attempt\",\n cohort: {\n experimentId: pair.plan.pair.experimentId,\n evalId: pair.plan.pair.evalId,\n agentName: pair.plan.pair.agentName,\n },\n },\n } as unknown as JsonValue;\n return `linked-base:${digestOf(identity)}`;\n}\nfunction linkedSetupPrefixActionIdentity(parentIdentity: string, entry: Extract<ScheduledSandboxBefore, {\n readonly kind: \"action\";\n}>, cumulativeState: SandboxActionState): string {\n const identity = {\n protocol: \"niceeval.setup-prefix-linked-plan/v1\",\n parentIdentity,\n owner: {\n kind: entry.owner.kind,\n id: entry.owner.id,\n ordinal: entry.ordinal,\n },\n order: entry.executionOrder.topologicalOrdinal,\n changeFrequency: {\n value: entry.metadata.changeFrequency.value,\n source: entry.metadata.changeFrequency.source,\n ...(entry.metadata.changeFrequency.preset === undefined\n ? {}\n : { preset: entry.metadata.changeFrequency.preset }),\n },\n dependencyEdges: entry.dependencies.map((dependency) => ({ ...dependency })),\n capabilities: {\n requires: [...entry.metadata.requires],\n provides: [...entry.metadata.provides],\n },\n action: {\n id: entry.data.plan.id,\n family: entry.data.plan.family,\n declaredState: entry.data.plan.state,\n cumulativeState,\n input: entry.data.plan.input,\n fingerprint: entry.data.plan.fingerprint,\n steps: entry.data.plan.steps,\n },\n } as unknown as JsonValue;\n return `linked-prefix:${digestOf(identity)}`;\n}\nfunction scheduledBeforeSteps(pair: PreparedRunPair, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const scheduled = pair.plan.pair.before;\n let opaqueAncestor = hasOpaqueSetupAncestor(pair);\n let opaqueBarrierActionId: string | undefined;\n let unsupportedStateAncestor = false;\n let unsupportedStateBarrierActionId: string | undefined;\n let cumulativeState: SandboxActionState | undefined;\n let parentPrefixIdentity = linkedSetupPrefixBaseIdentity(pair);\n const capability = capabilityOf(pair);\n const providerCoverage = capability === \"persistent\"\n ? providerDeclaredSetupPrefixCoverage(pair)\n : \"unsupported\";\n const capabilityReason = capability === \"unsupported\"\n ? providerDeclaredSetupPrefixReason(pair)\n : undefined;\n return Object.freeze(scheduled.map((entry): CommandPlanStep => {\n const projected = stepForLinkedBefore(pair, entry);\n const currentOpaque = containsOpaque(projected);\n const declaredState = entry.kind === \"action\" ? entry.data.plan.state : \"opaque\";\n if (entry.kind === \"action\" && !opaqueAncestor) {\n cumulativeState = mergeSandboxActionState(cumulativeState, entry.data.plan.state);\n }\n const projectedCumulativeState = opaqueAncestor || currentOpaque\n ? \"opaque\" as const\n : cumulativeState!;\n const prefixIdentity = entry.kind === \"action\" && !opaqueAncestor && !currentOpaque\n ? linkedSetupPrefixActionIdentity(parentPrefixIdentity, entry, cumulativeState!)\n : undefined;\n // Provider capability and linked lineage are independent facts. Preserve the\n // earliest structural barrier even when this provider cannot cache any prefix;\n // capability/capabilityReason still report that provider-wide limitation.\n const barrier = opaqueAncestor\n ? \"opaque-ancestor\" as const\n : currentOpaque\n ? \"opaque-action\" as const\n : capability === \"unsupported\" || providerCoverage === \"unsupported\"\n ? \"provider-unsupported\" as const\n : unsupportedStateAncestor\n ? \"unsupported-state-ancestor\" as const\n : sandboxActionStateCovers(providerCoverage, projectedCumulativeState as SandboxActionState)\n ? \"none\" as const\n : \"unsupported-state\" as const;\n const barrierActionId = barrier === \"opaque-action\" || barrier === \"unsupported-state\"\n ? entry.id\n : barrier === \"opaque-ancestor\"\n ? opaqueBarrierActionId\n : barrier === \"unsupported-state-ancestor\"\n ? unsupportedStateBarrierActionId\n : undefined;\n const owner = Object.freeze({ kind: entry.owner.kind, id: entry.owner.id });\n const step: CommandPlanStep = Object.freeze({\n ...projected,\n owner,\n action: entry.kind === \"action\"\n ? projected.action\n : Object.freeze({\n id: entry.id,\n kind: entry.kind === \"hook\" ? \"callback\" as const : \"command\" as const,\n }),\n declarationOrder: Object.freeze({ owner, ordinal: entry.ordinal }),\n executionOrder: entry.executionOrder,\n changeFrequency: entry.metadata.changeFrequency,\n schedulingReason: entry.schedulingReason,\n dependencies: entry.dependencies,\n occurrence: Object.freeze({ kind: \"attempt\" as const }),\n cache: Object.freeze({\n lookup: \"not-probed\" as const,\n capability,\n ...(prefixIdentity === undefined ? {} : { prefixIdentity }),\n ...(capabilityReason === undefined ? {} : { capabilityReason }),\n runtime: Object.freeze({\n status: \"pending\" as const,\n finalKey: \"not-probed\" as const,\n }),\n eligibility: barrier === \"none\"\n ? Object.freeze({ status: \"eligible\" as const })\n : Object.freeze({\n status: \"ineligible\" as const,\n reason: Object.freeze({ code: barrier }),\n }),\n state: Object.freeze({\n declared: declaredState,\n cumulative: projectedCumulativeState,\n providerCoverage,\n barrier,\n ...(barrierActionId === undefined ? {} : { barrierActionId }),\n }),\n }),\n });\n if (currentOpaque) {\n opaqueAncestor = true;\n opaqueBarrierActionId ??= entry.id;\n }\n if (prefixIdentity !== undefined)\n parentPrefixIdentity = prefixIdentity;\n if (barrier === \"unsupported-state\") {\n unsupportedStateAncestor = true;\n unsupportedStateBarrierActionId = entry.id;\n }\n return step;\n }));\n}\nfunction stepForAfter(entry: LinkedSandboxAfter): CommandPlanStep {\n const owner: CommandPlanOwner = { kind: entry.owner.kind, id: entry.owner.id };\n if (entry.kind === \"action\") {\n return {\n phase: \"sandbox.after\",\n truth: \"exact\",\n owner,\n action: Object.freeze({ ...entry.data.plan, kind: \"action\" as const }),\n };\n }\n return opaque(\"sandbox.after\", \"sandbox-cleanup-command\", \"cleanup command is registered for LIFO execution and is only known when it runs\", { owner });\n}\nfunction afterSteps(pair: PreparedRunPair): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n return [...pair.plan.pair.after].reverse().map(stepForAfter);\n}\nfunction declaredAgentHookStep(command: SandboxCommand, index: number, phase: \"agent.post-setup\" | \"agent.pre-teardown\", owner: CommandPlanOwner, condition?: SandboxCommandPlanCondition): CommandPlanStep {\n const declaration = sandboxCommandPlanOf(command);\n const label = `${phase === \"agent.post-setup\" ? \"postSetup\" : \"preTeardown\"} #${index}`;\n return declaration === undefined\n ? opaque(phase, \"agent-lifecycle-hook-callback\", \"callback-backed Agent lifecycle hook; commands are only known when it runs\", { owner, label, ...(condition === undefined ? {} : { condition }) })\n : stepFromDeclaration({ ...declaration, label }, phase, owner, condition);\n}\nfunction agentSetupSteps(pair: PreparedRunPair, owner: CommandPlanOwner): readonly CommandPlanStep[] {\n const agent = pair.run.agent;\n if (agent === undefined) {\n return [opaque(\"adapter.create\", \"adapter-create-callback\", \"Adapter context creation is a runtime callback and may acquire cleanup-bound resources\", { owner })];\n }\n if (agent.setup === undefined) {\n return [knownNoCommand(\"agent.setup\", \"hook-omitted\", \"Agent has no setup callback\", { owner })];\n }\n if (agent.kind !== \"sandbox\") {\n return [opaque(\"agent.setup\", \"agent-setup-callback\", \"Agent setup callback may execute commands; its body is not inspected\", { owner })];\n }\n const hooks = agentLifecycleHookCommandsOf(agent);\n if (hooks === undefined) {\n return [opaque(\"agent.setup\", \"agent-setup-callback\", \"Agent setup callback may execute commands; its body is not inspected\", { owner })];\n }\n return [\n opaque(\"agent.setup\", \"adapter-setup-internals\", \"Adapter setup before declared postSetup hooks may execute commands\", { owner, label: \"adapter setup\" }),\n ...hooks.postSetup.map((hook, index) => declaredAgentHookStep(hook, index, \"agent.post-setup\", owner)),\n ];\n}\nfunction agentTeardownSteps(pair: PreparedRunPair, owner: CommandPlanOwner): readonly CommandPlanStep[] {\n const agent = pair.run.agent;\n if (agent === undefined) {\n return [opaque(\"adapter.cleanup\", \"adapter-cleanup-callbacks\", \"Adapter cleanup callbacks are registered dynamically and run in LIFO order\", { owner })];\n }\n if (agent.teardown === undefined) {\n return [knownNoCommand(\"agent.teardown\", \"hook-omitted\", \"Agent has no teardown callback\", { owner })];\n }\n if (agent.kind !== \"sandbox\") {\n return [opaque(\"agent.teardown\", \"agent-teardown-callback\", \"Agent teardown callback may execute commands; its body is not inspected\", { owner })];\n }\n const hooks = agentLifecycleHookCommandsOf(agent);\n if (hooks === undefined) {\n return [opaque(\"agent.teardown\", \"agent-teardown-callback\", \"Agent teardown callback may execute commands; its body is not inspected\", { owner })];\n }\n const preTeardown = hooks.preTeardown\n .map((hook, index) => ({ hook, index }))\n .reverse()\n .map(({ hook, index }) => declaredAgentHookStep(hook, index, \"agent.pre-teardown\", owner, AGENT_POST_SETUP_REACHED));\n const mayRegisterCleanup = [...hooks.postSetup, ...hooks.preTeardown]\n .some((hook) => sandboxCommandPlanOf(hook) === undefined);\n return [\n ...preTeardown,\n ...(mayRegisterCleanup\n ? [opaque(\"agent.pre-teardown.cleanup\", \"registered-agent-cleanup-callbacks\", \"callback-backed Agent hooks may register LIFO cleanup commands\", { owner, condition: AGENT_POST_SETUP_REACHED })]\n : []),\n opaque(\"agent.teardown\", \"adapter-teardown-remainder\", \"Adapter teardown after declared preTeardown hooks may execute commands\", { owner, label: \"adapter teardown\" }),\n ];\n}\nfunction sandboxLifecycleHooks(pair: PreparedRunPair, phase: \"setup\" | \"teardown\", condition?: SandboxCommandPlanCondition): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const markers = pair.plan.pair.fingerprint.lifecycle?.filter((entry) => entry.phase === phase) ?? [];\n const ordered = phase === \"teardown\" ? [...markers].reverse() : markers;\n return ordered.map((entry) => opaque(`sandbox.${phase}`, \"sandbox-lifecycle-callback\", `${phase} hook callback; commands are only known when it runs`, {\n owner: { ...entry.owner, index: entry.index },\n ...(condition === undefined ? {} : { condition }),\n }));\n}\nfunction pluginLifecycleSteps(lifecycles: readonly LinkedPluginLifecycle[], phase: \"setup\" | \"teardown\", owner: CommandPlanOwner, condition?: SandboxCommandPlanCondition): readonly CommandPlanStep[] {\n const ordered = phase === \"teardown\" ? [...lifecycles].reverse() : lifecycles;\n return ordered\n .filter((entry) => phase === \"setup\" ? entry.hasSetup : entry.hasTeardown)\n .map((entry) => opaque(`plugin.lifecycle.${phase}`, `plugin-lifecycle-${phase}-callback`, `Plugin ${entry.name} (${entry.instanceKey}) ${phase} callback is opaque`, { owner, label: `${entry.name}:${entry.instanceKey}`, ...(condition === undefined ? {} : { condition }) }));\n}\nfunction sandboxPluginLifecycleSteps(lifecycles: readonly LinkedSandboxPluginLifecycle[], phase: \"setup\" | \"teardown\", condition?: SandboxCommandPlanCondition): readonly CommandPlanStep[] {\n const ordered = phase === \"teardown\" ? [...lifecycles].reverse() : lifecycles;\n return ordered\n .filter((entry) => phase === \"setup\" ? entry.lifecycle.hasSetup : entry.lifecycle.hasTeardown)\n .map(({ lifecycle, owner }) => opaque(`plugin.lifecycle.${phase}`, `plugin-lifecycle-${phase}-callback`, `Plugin ${lifecycle.name} (${lifecycle.instanceKey}) ${phase} callback is opaque`, {\n owner,\n label: `${lifecycle.name}:${lifecycle.instanceKey}`,\n ...(condition === undefined ? {} : { condition }),\n }));\n}\nfunction physicalBefore(pair: PreparedRunPair, shared: boolean): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const provider: CommandPlanOwner = { kind: \"provider\", id: pair.plan.providerPlan.provider };\n const template = pair.plan.pair.template;\n return [\n opaque(\"sandbox.create\", \"provider-provisioning\", \"provider provisioning is an internal runtime boundary\", {\n owner: provider,\n template: {\n owner: pair.plan.pair.templateOwner,\n provider: template.provider,\n kind: template.kind,\n locator: sandboxTemplateCommandPlanLocator(template),\n },\n ...(shared ? { condition: SHARED_INSTANCE_AVAILABLE } : {}),\n }),\n ...sandboxLifecycleHooks(pair, \"setup\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n ...sandboxPluginLifecycleSteps(pair.plan.pair.pluginLifecycles, \"setup\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n opaque(\"sandbox.baseline-anchor\", \"provider-baseline-anchor\", \"provider baseline/reset anchor is resolved against the live Sandbox\", { owner: provider, ...(shared ? { condition: SHARED_INSTANCE_AVAILABLE } : {}) }),\n ];\n}\nfunction physicalAfter(pair: PreparedRunPair, shared: boolean): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const provider: CommandPlanOwner = { kind: \"provider\", id: pair.plan.providerPlan.provider };\n return [\n ...sandboxPluginLifecycleSteps(pair.plan.pair.pluginLifecycles, \"teardown\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n ...sandboxLifecycleHooks(pair, \"teardown\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n opaque(\"sandbox.finalize\", \"provider-finalizer\", \"provider release, stop, or retained-instance finalization is resolved at runtime\", { owner: provider, ...(shared ? { condition: SHARED_INSTANCE_AVAILABLE } : {}) }),\n ];\n}\nfunction attemptBody(pair: PreparedRunPair, shared: boolean, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): readonly CommandPlanStep[] {\n const evalOwner: CommandPlanOwner = { kind: \"eval\", id: pair.evalDef.id };\n const adapterOwner: CommandPlanOwner = {\n kind: pair.run.adapter.kind === \"custom\" ? \"adapter\" : \"agent\",\n id: pair.run.adapter.name,\n };\n const provider = pair.plan._tag === \"Sandbox\"\n ? ({ kind: \"provider\", id: pair.plan.providerPlan.provider } satisfies CommandPlanOwner)\n : undefined;\n return [\n ...(shared && provider !== undefined\n ? [opaque(\"sandbox.reuse-ready\", \"provider-reuse-readiness\", \"the shared instance may be reset, retired, or replaced before this slot\", { owner: provider, condition: SHARED_INSTANCE_AVAILABLE })]\n : []),\n ...scheduledBeforeSteps(pair, capabilityOf),\n ...pluginLifecycleSteps(pair.plugin.evalLifecycles, \"setup\", evalOwner),\n ...(pair.run.agent?.kind === \"sandbox\"\n ? pair.run.agent.ensure.map((_, index) => ensureStep(pair, index))\n : []),\n ...(pair.plan._tag === \"Sandbox\"\n ? [opaque(\"sandbox.baseline\", \"sandbox-baseline-capture\", \"the diff baseline is captured from the live Sandbox after preparation\", { owner: provider! })]\n : []),\n ...agentSetupSteps(pair, adapterOwner),\n opaque(\"eval.test\", \"eval-test-callback\", \"Eval test and any Agent.send calls are runtime callbacks; their commands and branches are not inspected\", { owner: evalOwner }),\n ...agentTeardownSteps(pair, adapterOwner),\n ...pluginLifecycleSteps(pair.plugin.evalLifecycles, \"teardown\", evalOwner),\n ...afterSteps(pair),\n ...(pair.plan._tag === \"Sandbox\"\n ? [opaque(\"sandbox.cleanup\", \"registered-cleanup-callbacks\", \"Sandbox command callbacks may register LIFO cleanup commands while running\", { owner: evalOwner })]\n : [knownNoCommand(\"sandbox.cleanup\", \"direct-agent\", \"Direct Agent attempts have no Sandbox command cleanup registry\", { owner: evalOwner })]),\n ...(shared && provider !== undefined\n ? [opaque(\"sandbox.reset-or-retire\", \"provider-reset-or-retire\", \"the provider resets the shared instance or retires it after this slot\", { owner: provider, condition: SHARED_INSTANCE_AVAILABLE })]\n : []),\n ];\n}\nfunction stepsForDispatch(pair: PreparedRunPair, shared: boolean, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): readonly CommandPlanStep[] {\n if (pair.plan._tag === \"Direct\") {\n const adapterOwner: CommandPlanOwner = {\n kind: pair.run.adapter.kind === \"custom\" ? \"adapter\" : \"agent\",\n id: pair.run.adapter.name,\n };\n return [\n knownNoCommand(\"sandbox.create\", pair.run.adapter.kind === \"custom\" ? \"adapter-no-sandbox\" : \"direct-agent\", pair.run.adapter.kind === \"custom\"\n ? \"Adapter has no Sandbox capability\"\n : \"Direct Agent has no Sandbox or configured Sandbox template\", { owner: adapterOwner }),\n ...attemptBody(pair, false, capabilityOf),\n ];\n }\n return shared\n ? attemptBody(pair, true, capabilityOf)\n : [...physicalBefore(pair, false), ...attemptBody(pair, false, capabilityOf), ...physicalAfter(pair, false)];\n}\ninterface RowWithPair extends CommandPlanRowInput {\n readonly pair: PreparedRunPair;\n}\ntype CommandPlanLaneSpec = {\n readonly kind: \"eval\";\n readonly key: string;\n readonly id: string;\n} | {\n readonly kind: \"eval-group\";\n readonly key: string;\n readonly id: string;\n} | {\n readonly kind: \"sandbox-reuse\";\n readonly key: string;\n readonly id: string;\n readonly scope: {\n readonly kind: \"shared\";\n } | {\n readonly kind: \"eval\";\n readonly evalId: string;\n };\n};\nfunction dispatchAttempts(row: CommandPlanRowInput): ReadonlySet<number> {\n return new Set(row.dispatch.flatMap((group) => group.attempts));\n}\nfunction reuseDescriptorFor(row: RowWithPair): SandboxReusePoolDescriptor | undefined {\n return sandboxReusePoolDescriptor({\n run: row.pair.run,\n evalId: row.evalId,\n ...(row.evalGroupId === undefined ? {} : { evalGroupId: row.evalGroupId }),\n plan: row.pair.plan,\n });\n}\nfunction laneSpecFor(row: RowWithPair): CommandPlanLaneSpec {\n const descriptor = reuseDescriptorFor(row);\n if (row.evalGroupId !== undefined) {\n if (descriptor?.scope.kind !== \"eval-group\" ||\n descriptor.scope.evalGroupId !== row.evalGroupId) {\n throw new Error(`Command plan invariant failed: Eval Group ${row.evalGroupId} has no matching reuse-pool descriptor.`);\n }\n return { kind: \"eval-group\", key: descriptor.key, id: row.evalGroupId };\n }\n if (descriptor !== undefined) {\n if (descriptor.scope.kind === \"eval-group\") {\n throw new Error(`Command plan invariant failed: ungrouped Eval ${row.evalId} received a Group pool scope.`);\n }\n return {\n kind: \"sandbox-reuse\",\n key: descriptor.key,\n id: descriptor.key,\n scope: descriptor.scope,\n };\n }\n return { kind: \"eval\", key: `eval:${row.evalId}`, id: row.evalId };\n}\nfunction physicalLifecycleTemplate(pair: PreparedRunPair): CommandPlanPhysicalLifecycleTemplate {\n return Object.freeze({\n appliesTo: \"each-physical-instance\" as const,\n enter: physicalBefore(pair, true),\n exit: physicalAfter(pair, true),\n });\n}\nfunction laneFor(rows: readonly RowWithPair[], spec: CommandPlanLaneSpec, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): CommandPlanLane {\n const first = rows[0]!;\n const shared = spec.kind !== \"eval\";\n const sortedRows = spec.kind === \"eval-group\"\n ? [...rows].sort((a, b) => a.evalId.localeCompare(b.evalId))\n : rows;\n const slots: CommandPlanSlot[] = [];\n for (const row of sortedRows) {\n const dispatch = dispatchAttempts(row);\n for (let attempt = 0; attempt < row.attempts; attempt++) {\n const action = dispatch.has(attempt) ? \"dispatch\" : \"carried\";\n slots.push({\n evalId: row.evalId,\n attempt,\n action,\n ...(action === \"dispatch\" ? { activation: DISPATCH_MAY_NOT_RUN } : {}),\n steps: action === \"dispatch\" ? stepsForDispatch(row.pair, shared, capabilityOf) : [],\n });\n }\n }\n const hasDispatch = slots.some((slot) => slot.action === \"dispatch\");\n if (spec.kind === \"eval\") {\n return { kind: \"eval\", id: spec.id, ordering: \"independent\", slots };\n }\n if (spec.kind === \"sandbox-reuse\") {\n return {\n kind: \"sandbox-reuse\",\n id: spec.id,\n ordering: \"independent\",\n scope: spec.scope,\n ...(hasDispatch ? { physicalLifecycleTemplate: physicalLifecycleTemplate(first.pair) } : {}),\n slots,\n };\n }\n return {\n kind: \"eval-group\",\n id: spec.id,\n ordering: \"serial-normalized-eval-id\",\n beforeSlots: hasDispatch\n ? pluginLifecycleSteps(first.pair.plugin.groupLifecycles, \"setup\", { kind: \"eval-group\", id: spec.id }, DISPATCH_MAY_NOT_RUN)\n : [],\n afterSlots: hasDispatch\n ? pluginLifecycleSteps(first.pair.plugin.groupLifecycles, \"teardown\", { kind: \"eval-group\", id: spec.id }, DISPATCH_MAY_NOT_RUN)\n : [],\n ...(hasDispatch ? { physicalLifecycleTemplate: physicalLifecycleTemplate(first.pair) } : {}),\n slots,\n };\n}\nfunction experimentLifecycle(pair: PreparedRunPair, side: \"setup\" | \"teardown\", hasDispatch: boolean): CommandPlanStep {\n const owner: CommandPlanOwner = { kind: \"experiment\", id: pair.run.experimentId };\n if (!hasDispatch) {\n return knownNoCommand(`experiment.${side}`, \"all-slots-carried\", \"all selected slots are carried, so experiment lifecycle does not run\", { owner });\n }\n const callback = side === \"setup\" ? pair.sourceRun.setup : pair.sourceRun.teardown;\n return callback === undefined\n ? knownNoCommand(`experiment.${side}`, \"hook-omitted\", `Experiment has no ${side} callback`, { owner })\n : opaque(`experiment.${side}`, `experiment-${side}-callback`, `Experiment ${side} callback may execute host or Sandbox commands; its body is not inspected`, { owner, condition: DISPATCH_MAY_NOT_RUN });\n}\nfunction countEvidence(steps: readonly CommandPlanStep[]): {\n opaque: number;\n redacted: number;\n} {\n let opaqueCount = 0;\n let redactedCount = 0;\n const visit = (step: CommandPlanStep): void => {\n if (step.truth === \"opaque\")\n opaqueCount++;\n if ((step.redactions?.length ?? 0) > 0)\n redactedCount++;\n if (step.template?.locator._tag === \"Redacted\") {\n redactedCount += step.template.locator.redactions.length;\n }\n for (const child of step.children ?? [])\n visit(child);\n };\n for (const step of steps)\n visit(step);\n return { opaque: opaqueCount, redacted: redactedCount };\n}\n/**\n * 组装按 Experiment → lane → slot 的保证顺序。不同 lane 可能并发,因此这里有意不产生一条\n * 虚假的全局序号;Group lane 只按规范化 Eval ID、再 attempt index 稳定串行。\n */\nexport function assembleCommandPlan(input: AssembleCommandPlanInput): CommandPlan {\n const setupPrefixCapability = input.setupPrefixCapability ?? providerDeclaredSetupPrefixCapability;\n const rows: RowWithPair[] = input.rows.map((row) => {\n const pair = input.preparedPairsByKey.get(runPairKey(row.experimentId, row.evalId));\n if (pair === undefined) {\n throw new Error(`Command plan invariant failed: missing prepared pair for ${row.experimentId}/${row.evalId}.`);\n }\n return { ...row, pair };\n });\n const byExperiment = new Map<string, RowWithPair[]>();\n for (const row of rows) {\n const current = byExperiment.get(row.experimentId) ?? [];\n current.push(row);\n byExperiment.set(row.experimentId, current);\n }\n const experiments: CommandPlanExperiment[] = [];\n for (const [experimentId, experimentRows] of byExperiment) {\n const byLane = new Map<string, {\n readonly spec: CommandPlanLaneSpec;\n readonly rows: RowWithPair[];\n }>();\n for (const row of experimentRows) {\n const spec = laneSpecFor(row);\n const current = byLane.get(spec.key);\n if (current === undefined) {\n byLane.set(spec.key, { spec, rows: [row] });\n }\n else {\n current.rows.push(row);\n }\n }\n const lanes = [...byLane.values()].map(({ rows: laneRows, spec }) => laneFor(laneRows, spec, setupPrefixCapability));\n const hasDispatch = lanes.some((lane) => lane.slots.some((slot) => slot.action === \"dispatch\"));\n const representative = experimentRows[0]!.pair;\n experiments.push({\n experimentId,\n activation: hasDispatch ? \"conditional\" : \"inactive\",\n beforeLanes: [\n experimentLifecycle(representative, \"setup\", hasDispatch),\n ...(hasDispatch ? pluginLifecycleSteps(representative.plugin.experimentLifecycles, \"setup\", { kind: \"experiment\", id: experimentId }, DISPATCH_MAY_NOT_RUN) : []),\n ],\n lanes,\n afterLanes: [\n ...(hasDispatch ? pluginLifecycleSteps(representative.plugin.experimentLifecycles, \"teardown\", { kind: \"experiment\", id: experimentId }, DISPATCH_MAY_NOT_RUN) : []),\n experimentLifecycle(representative, \"teardown\", hasDispatch),\n ],\n });\n }\n let opaqueCount = 0;\n let redactedCount = 0;\n for (const experiment of experiments) {\n const groups = [\n experiment.beforeLanes,\n ...experiment.lanes.flatMap((lane) => [\n ...(lane.kind === \"eval-group\" ? [lane.beforeSlots] : []),\n lane.physicalLifecycleTemplate?.enter ?? [],\n ...lane.slots.map((slot) => slot.steps),\n lane.physicalLifecycleTemplate?.exit ?? [],\n ...(lane.kind === \"eval-group\" ? [lane.afterSlots] : []),\n ]),\n experiment.afterLanes,\n ];\n for (const steps of groups) {\n const count = countEvidence(steps);\n opaqueCount += count.opaque;\n redactedCount += count.redacted;\n }\n }\n return {\n completeness: opaqueCount > 0 || redactedCount > 0 ? \"partial\" : \"complete\",\n opaqueCount,\n redactedCount,\n experiments,\n };\n}\n"]}
1
+ {"version":3,"file":"command-plan.js","sourceRoot":"","sources":["command-plan.ts"],"names":[],"mappings":"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","sourcesContent":["// `niceeval debug <experiment> <eval>` 的纯计划装配器。\n//\n// 它只消费 discovery/link/physical/carry 已经完成的不可变结果,不执行作者回调,也不从\n// Function#toString 或公开 command identity 猜命令。生命周期拓扑在这里组装;human/JSON\n// renderer 只做投影,避免两种输出各维护一套“看起来像执行顺序”的第二真相。\nimport type { AgentIdentity, AgentInstaller } from \"../agents/types.ts\";\nimport { agentLifecycleHookCommandsOf } from \"../agents/post-setup.ts\";\nimport { sandboxCommandPlanOf, type SandboxCommand, type SandboxCommandPlanCommand, type SandboxCommandPlanCondition, type SandboxCommandPlanNode, type SandboxCommandPlanRedaction, } from \"../sandbox/commands.ts\";\nimport { sandboxTemplateCommandPlanLocator, type SandboxTemplateCommandPlanLocator, } from \"../sandbox/layer.ts\";\nimport { type LinkedSandboxAfter, type LinkedSandboxPluginLifecycle, type ScheduledSandboxBefore, type SandboxBeforeDependencyProjection, type SandboxDeclarationOrder, } from \"../sandbox/link.ts\";\nimport { mergeSandboxActionState, sandboxActionStateCovers, type SandboxActionState, type SandboxActionPlan, type SandboxChangeFrequency, } from \"../sandbox/action.ts\";\nimport { digestOf } from \"../sandbox/identity.ts\";\nimport type { JsonValue } from \"../shared/types.ts\";\nimport { runPairKey, type PreparedRunPair } from \"./sandbox-selection.ts\";\nimport { sandboxReusePoolDescriptor, type SandboxReusePoolDescriptor, } from \"./sandbox-reuse.ts\";\nimport type { LinkedPluginLifecycle } from \"../plugin/contracts.ts\";\nexport interface CommandPlanOwner {\n readonly kind: \"eval\" | \"eval-group\" | \"experiment\" | \"adapter\" | \"agent\" | \"provider\";\n readonly id: string;\n readonly index?: number;\n}\nexport interface CommandPlanReason {\n readonly code: string;\n readonly summary: string;\n}\nexport interface CommandPlanSandboxTemplate {\n readonly owner: CommandPlanOwner;\n readonly provider: string;\n readonly kind: string;\n readonly locator: SandboxTemplateCommandPlanLocator;\n}\nexport interface CommandPlanStep {\n readonly phase: string;\n readonly label?: string;\n readonly owner?: CommandPlanOwner;\n readonly truth: \"exact\" | \"conditional\" | \"opaque\" | \"known-no-command\";\n readonly condition?: SandboxCommandPlanCondition;\n readonly reason?: CommandPlanReason;\n /** Present only on the real Sandbox creation boundary. */\n readonly template?: CommandPlanSandboxTemplate;\n readonly redactions?: readonly SandboxCommandPlanRedaction[];\n readonly command?: SandboxCommandPlanCommand;\n readonly children?: readonly CommandPlanStep[];\n readonly action?: Readonly<SandboxActionPlan & {\n readonly kind?: \"action\" | \"command\";\n }> | {\n readonly id: string;\n readonly kind: \"command\" | \"callback\";\n };\n readonly declarationOrder?: SandboxDeclarationOrder;\n readonly executionOrder?: {\n readonly topologicalOrdinal: number;\n readonly occurrencePath: readonly string[];\n };\n readonly changeFrequency?: SandboxChangeFrequency;\n readonly schedulingReason?: string;\n readonly dependencies?: readonly SandboxBeforeDependencyProjection[];\n readonly occurrence?: {\n readonly kind: \"attempt\";\n };\n readonly cache?: {\n readonly lookup: \"not-probed\";\n readonly capability: CommandPlanCacheCapability;\n /** Linked declaration identity; the runtime-only final cache key remains unprobed. */\n readonly prefixIdentity?: string;\n /** Static provider reason; present only when capability is unsupported. */\n readonly capabilityReason?: string;\n /** Dry planning cannot resolve runtime eligibility or a final cache key. */\n readonly runtime: {\n readonly status: \"pending\";\n readonly finalKey: \"not-probed\";\n };\n readonly eligibility: {\n readonly status: \"eligible\";\n } | {\n readonly status: \"ineligible\";\n readonly reason: {\n readonly code: \"opaque-action\" | \"opaque-ancestor\" | \"provider-unsupported\" | \"unsupported-state\" | \"unsupported-state-ancestor\";\n };\n };\n readonly state: {\n readonly declared: SandboxActionState | \"opaque\";\n readonly cumulative: SandboxActionState | \"opaque\";\n readonly providerCoverage: SandboxActionState | \"unsupported\";\n readonly barrier: \"none\" | \"opaque-action\" | \"opaque-ancestor\" | \"provider-unsupported\" | \"unsupported-state\" | \"unsupported-state-ancestor\";\n /** First action/callback that severed this reusable lineage, when action-addressable. */\n readonly barrierActionId?: string;\n };\n };\n}\nexport type CommandPlanCacheCapability = \"persistent\" | \"invocation-local\" | \"unsupported\";\nexport interface CommandPlanSlot {\n readonly evalId: string;\n readonly attempt: number;\n readonly action: \"carried\" | \"dispatch\";\n readonly activation?: SandboxCommandPlanCondition;\n readonly steps: readonly CommandPlanStep[];\n}\nexport interface CommandPlanPhysicalLifecycleTemplate {\n readonly appliesTo: \"each-physical-instance\";\n readonly enter: readonly CommandPlanStep[];\n readonly exit: readonly CommandPlanStep[];\n}\ninterface CommandPlanLaneBase {\n readonly id: string;\n readonly slots: readonly CommandPlanSlot[];\n}\nexport type CommandPlanLane = (CommandPlanLaneBase & {\n readonly kind: \"eval\";\n readonly ordering: \"independent\";\n readonly scope?: never;\n readonly physicalLifecycleTemplate?: never;\n}) | (CommandPlanLaneBase & {\n readonly kind: \"sandbox-reuse\";\n readonly ordering: \"independent\";\n readonly scope: {\n readonly kind: \"shared\";\n } | {\n readonly kind: \"eval\";\n readonly evalId: string;\n };\n /** Applied independently to every physical instance; it creates no lane-wide before/after edge. */\n readonly physicalLifecycleTemplate?: CommandPlanPhysicalLifecycleTemplate;\n}) | (CommandPlanLaneBase & {\n readonly kind: \"eval-group\";\n readonly ordering: \"serial-normalized-eval-id\";\n readonly scope?: never;\n readonly beforeSlots: readonly CommandPlanStep[];\n readonly afterSlots: readonly CommandPlanStep[];\n /** Applied independently to every replacement instance used by this capacity-one lane. */\n readonly physicalLifecycleTemplate?: CommandPlanPhysicalLifecycleTemplate;\n});\nexport interface CommandPlanExperiment {\n readonly experimentId: string;\n /** 计划中的 dispatch 仍可能被 late carry、预算、early-exit 或 fail-fast 阻止。 */\n readonly activation: \"conditional\" | \"inactive\";\n readonly beforeLanes: readonly CommandPlanStep[];\n readonly lanes: readonly CommandPlanLane[];\n readonly afterLanes: readonly CommandPlanStep[];\n}\nexport interface CommandPlan {\n readonly completeness: \"complete\" | \"partial\";\n readonly opaqueCount: number;\n readonly redactedCount: number;\n readonly experiments: readonly CommandPlanExperiment[];\n}\nexport interface BeforeCachePlanNode {\n readonly prefixIdentity: string;\n readonly lookup: \"not-probed\";\n readonly capability: CommandPlanCacheCapability;\n readonly eligibility: NonNullable<CommandPlanStep[\"cache\"]>[\"eligibility\"];\n readonly consumers: readonly {\n readonly experimentId: string;\n readonly evalId: string;\n }[];\n}\nexport interface BeforeCachePlan {\n readonly lookup: \"not-probed\";\n readonly nodes: readonly BeforeCachePlanNode[];\n}\n/** Deduplicate the selected command plan by the setup-prefix declaration identity. */\nexport function beforeCachePlanOf(commandPlan: CommandPlan): BeforeCachePlan {\n const nodes = new Map<string, {\n cache: NonNullable<CommandPlanStep[\"cache\"]>;\n consumers: Map<string, {\n readonly experimentId: string;\n readonly evalId: string;\n }>;\n }>();\n const visit = (step: CommandPlanStep, experimentId: string, evalId: string): void => {\n const cache = step.cache;\n if (cache?.prefixIdentity !== undefined) {\n const existing = nodes.get(cache.prefixIdentity) ?? { cache, consumers: new Map() };\n existing.consumers.set(`${experimentId}\\0${evalId}`, Object.freeze({ experimentId, evalId }));\n nodes.set(cache.prefixIdentity, existing);\n }\n for (const child of step.children ?? [])\n visit(child, experimentId, evalId);\n };\n const visitForConsumers = (step: CommandPlanStep, experimentId: string, evalIds: readonly string[]): void => {\n for (const evalId of evalIds)\n visit(step, experimentId, evalId);\n };\n for (const experiment of commandPlan.experiments) {\n const experimentEvalIds = [...new Set(experiment.lanes.flatMap((lane) => lane.slots.map((slot) => slot.evalId)))];\n for (const step of experiment.beforeLanes) {\n visitForConsumers(step, experiment.experimentId, experimentEvalIds);\n }\n for (const lane of experiment.lanes) {\n const laneEvalIds = [...new Set(lane.slots.map((slot) => slot.evalId))];\n for (const step of \"beforeSlots\" in lane ? lane.beforeSlots : []) {\n visitForConsumers(step, experiment.experimentId, laneEvalIds);\n }\n for (const step of lane.physicalLifecycleTemplate?.enter ?? []) {\n visitForConsumers(step, experiment.experimentId, laneEvalIds);\n }\n for (const slot of lane.slots)\n for (const step of slot.steps)\n visit(step, experiment.experimentId, slot.evalId);\n }\n }\n return Object.freeze({\n lookup: \"not-probed\" as const,\n nodes: Object.freeze([...nodes.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([prefixIdentity, node]) => Object.freeze({\n prefixIdentity,\n lookup: \"not-probed\" as const,\n capability: node.cache.capability,\n eligibility: node.cache.eligibility,\n consumers: Object.freeze([...node.consumers.values()].sort((left, right) => left.experimentId.localeCompare(right.experimentId) || left.evalId.localeCompare(right.evalId))),\n }))),\n });\n}\nexport interface CommandPlanRowInput {\n readonly experimentId: string;\n readonly evalId: string;\n readonly evalGroupId?: string;\n readonly attempts: number;\n /** 不在任何 dispatch group 的坐标就是 carry;这与 dry matrix 的唯一 carry 计划同源。 */\n readonly dispatch: readonly {\n readonly attempts: readonly number[];\n }[];\n}\nexport interface AssembleCommandPlanInput {\n readonly rows: readonly CommandPlanRowInput[];\n readonly preparedPairsByKey: ReadonlyMap<string, PreparedRunPair>;\n /** Backend wiring may replace the static provider declaration; debug still never performs lookup. */\n readonly setupPrefixCapability?: (pair: PreparedRunPair) => CommandPlanCacheCapability;\n}\nconst DISPATCH_MAY_NOT_RUN: SandboxCommandPlanCondition = Object.freeze({\n code: \"dispatch-admitted\",\n summary: \"runs only if late carry, budget, early-exit, fail-fast, and cancellation still admit this slot\",\n});\nconst PROBE_MISS: SandboxCommandPlanCondition = Object.freeze({\n code: \"probe-miss\",\n summary: \"the preceding probe exits non-zero\",\n});\nconst SHARED_INSTANCE_AVAILABLE: SandboxCommandPlanCondition = Object.freeze({\n code: \"shared-instance-lifetime\",\n summary: \"may repeat after provider retirement, reset failure, or lifetime replacement\",\n});\nconst AGENT_POST_SETUP_REACHED: SandboxCommandPlanCondition = Object.freeze({\n code: \"agent-post-setup-reached\",\n summary: \"runs only if Adapter setup reached its declared postSetup point\",\n});\nfunction opaque(phase: string, code: string, summary: string, options: {\n owner?: CommandPlanOwner;\n label?: string;\n condition?: SandboxCommandPlanCondition;\n template?: CommandPlanSandboxTemplate;\n} = {}): CommandPlanStep {\n return {\n phase,\n truth: \"opaque\",\n reason: { code, summary },\n ...(options.owner === undefined ? {} : { owner: options.owner }),\n ...(options.label === undefined ? {} : { label: options.label }),\n ...(options.condition === undefined ? {} : { condition: options.condition }),\n ...(options.template === undefined ? {} : { template: options.template }),\n };\n}\nfunction knownNoCommand(phase: string, code: string, summary: string, options: {\n owner?: CommandPlanOwner;\n label?: string;\n condition?: SandboxCommandPlanCondition;\n} = {}): CommandPlanStep {\n return {\n phase,\n truth: \"known-no-command\",\n reason: { code, summary },\n ...(options.owner === undefined ? {} : { owner: options.owner }),\n ...(options.label === undefined ? {} : { label: options.label }),\n ...(options.condition === undefined ? {} : { condition: options.condition }),\n };\n}\nfunction stepFromDeclaration(node: SandboxCommandPlanNode, phase: string, owner: CommandPlanOwner, inheritedCondition?: SandboxCommandPlanCondition): CommandPlanStep {\n const condition = inheritedCondition ?? node.condition;\n if (node.truth === \"exact\") {\n return {\n phase,\n truth: \"exact\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n command: node.command,\n ...(node.redactions === undefined ? {} : { redactions: node.redactions }),\n };\n }\n if (node.truth === \"conditional\") {\n return {\n phase,\n truth: \"conditional\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n children: node.children.map((child) => stepFromDeclaration(child, phase, owner)),\n };\n }\n if (node.truth === \"opaque\") {\n return {\n phase,\n truth: \"opaque\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n reason: node.reason,\n };\n }\n return {\n phase,\n truth: \"known-no-command\",\n owner,\n ...(node.label === undefined ? {} : { label: node.label }),\n ...(condition === undefined ? {} : { condition }),\n ...(node.reason === undefined ? {} : { reason: node.reason }),\n };\n}\nfunction sameIdentity(left: AgentIdentity, right: AgentIdentity): boolean {\n return left.agent === right.agent && left.version === right.version && left.revision === right.revision;\n}\nfunction matchingInstaller(installers: readonly AgentInstaller[], identity: AgentIdentity): AgentInstaller | undefined {\n return installers.find((candidate) => sameIdentity(candidate.identity, identity));\n}\nfunction ensureStep(pair: PreparedRunPair, index: number): CommandPlanStep {\n const agent = pair.run.agent;\n if (agent === undefined || agent.kind !== \"sandbox\") {\n throw new Error(\"Command plan invariant failed: Direct Agent has no Sandbox ensure step.\");\n }\n const owner: CommandPlanOwner = { kind: \"agent\", id: agent.name };\n const ensure = agent.ensure[index];\n if (ensure === undefined)\n throw new Error(`Command plan invariant failed: missing Agent ensure #${index}.`);\n const probe = sandboxCommandPlanOf(ensure.probe);\n const probeStep = probe === undefined\n ? opaque(\"agent.ensure\", \"agent-probe-callback\", \"custom Agent ensure probe; commands are only known when it runs\", { owner, label: `probe #${index}` })\n : stepFromDeclaration({ ...probe, label: `probe #${index}` }, \"agent.ensure\", owner);\n const installer = matchingInstaller(agent.installers, ensure.identity);\n const children: CommandPlanStep[] = [probeStep];\n if (installer === undefined) {\n children.push(knownNoCommand(\"agent.ensure\", \"installer-missing\", \"probe miss stops with a missing-installer error\", { owner, label: `install #${index}`, condition: PROBE_MISS }));\n }\n else if (installer.installMode === \"verify-only\") {\n children.push(knownNoCommand(\"agent.ensure\", \"verify-only\", \"probe miss stops because this installer is verify-only\", { owner, label: `install #${index}`, condition: PROBE_MISS }));\n }\n else {\n children.push(opaque(\"agent.ensure\", \"agent-installer-callback\", `${installer.installMode} installer callback; commands are only known when it runs`, { owner, label: `install #${index}`, condition: PROBE_MISS }));\n children.push(probe === undefined\n ? opaque(\"agent.ensure\", \"agent-probe-callback\", \"custom Agent ensure recheck; commands are only known when it runs\", { owner, label: `recheck #${index}`, condition: PROBE_MISS })\n : stepFromDeclaration({ ...probe, label: `recheck #${index}` }, \"agent.ensure\", owner, PROBE_MISS));\n }\n return {\n phase: \"agent.ensure\",\n truth: \"conditional\",\n owner,\n label: `${ensure.identity.agent}@${ensure.identity.version}`,\n children,\n };\n}\nfunction containsOpaque(step: CommandPlanStep): boolean {\n return step.truth === \"opaque\" || (step.children?.some(containsOpaque) ?? false);\n}\nfunction stepForLinkedBefore(pair: PreparedRunPair, entry: ScheduledSandboxBefore): CommandPlanStep {\n const owner: CommandPlanOwner = { kind: entry.owner.kind, id: entry.owner.id };\n if (entry.kind === \"action\") {\n return {\n phase: \"sandbox.before\",\n truth: \"exact\",\n owner,\n action: Object.freeze({ ...entry.data.plan, kind: \"action\" as const }),\n };\n }\n if (entry.kind === \"hook\") {\n return opaque(\"sandbox.before\", \"sandbox-hook-callback\", \"callback-backed SandboxHook receives the public Sandbox only when it runs\", { owner });\n }\n const declaration = sandboxCommandPlanOf(entry.declaration.command);\n return declaration === undefined\n ? opaque(\"sandbox.before\", \"sandbox-command-callback\", \"callback-backed SandboxCommand; commands are only known when it runs\", { owner })\n : stepFromDeclaration(declaration, \"sandbox.before\", owner);\n}\nfunction cacheCapabilityTag(value: unknown): CommandPlanCacheCapability | undefined {\n if (value === \"persistent\" || value === \"invocation-local\" || value === \"unsupported\")\n return value;\n if (value === null || typeof value !== \"object\")\n return undefined;\n const tag = Reflect.get(value, \"_tag\");\n if (tag === \"Persistent\" || tag === \"PreparedArtifact\")\n return \"persistent\";\n if (tag === \"InvocationLocal\")\n return \"invocation-local\";\n if (tag === \"Unsupported\")\n return \"unsupported\";\n return undefined;\n}\n/** Static debug projection only; a runtime/backend resolver can be supplied to assembleCommandPlan. */\nexport function providerDeclaredSetupPrefixCapability(pair: PreparedRunPair): CommandPlanCacheCapability {\n if (pair.plan._tag !== \"Sandbox\")\n return \"unsupported\";\n const capabilities = pair.plan.providerPlan.capabilities as object;\n return cacheCapabilityTag(Reflect.get(capabilities, \"setupPrefix\")) ??\n cacheCapabilityTag(Reflect.get(capabilities, \"setupPrefixCache\")) ??\n \"unsupported\";\n}\nfunction providerDeclaredSetupPrefixCoverage(pair: PreparedRunPair): SandboxActionState | \"unsupported\" {\n if (pair.plan._tag !== \"Sandbox\")\n return \"unsupported\";\n const declaration = pair.plan.providerPlan.capabilities.setupPrefix;\n return declaration._tag === \"Persistent\" || declaration._tag === \"PreparedArtifact\"\n ? declaration.coverage\n : \"unsupported\";\n}\nfunction providerDeclaredSetupPrefixReason(pair: PreparedRunPair): string | undefined {\n if (pair.plan._tag !== \"Sandbox\")\n return undefined;\n const capabilities = pair.plan.providerPlan.capabilities as object;\n for (const candidate of [\n Reflect.get(capabilities, \"setupPrefix\"),\n Reflect.get(capabilities, \"setupPrefixCache\"),\n ]) {\n if (candidate === null || typeof candidate !== \"object\")\n continue;\n if (Reflect.get(candidate, \"_tag\") !== \"Unsupported\")\n continue;\n const reason = Reflect.get(candidate, \"reason\");\n if (typeof reason === \"string\" && reason !== \"\")\n return reason;\n }\n return undefined;\n}\nfunction hasOpaqueSetupAncestor(pair: PreparedRunPair): boolean {\n if (pair.plan._tag !== \"Sandbox\")\n return false;\n const authorSetup = pair.plan.pair.fingerprint.lifecycle?.some((entry) => entry.phase === \"setup\") ?? false;\n const pluginSetup = pair.plan.pair.pluginLifecycles.some((entry) => entry.lifecycle.hasSetup);\n return authorSetup || pluginSetup;\n}\nfunction linkedSetupPrefixBaseIdentity(pair: PreparedRunPair): string {\n if (pair.plan._tag !== \"Sandbox\")\n return \"linked-base:unsupported\";\n const provider = pair.plan.providerPlan;\n const identity = {\n protocol: \"niceeval.setup-prefix-linked-plan/v1\",\n provider: {\n id: provider.provider,\n plannerRevision: provider.plannerRevision,\n caseKind: provider.caseKind,\n caseKey: provider.build.caseKey,\n buildKeys: [...provider.build.buildKeys],\n identity: provider.identity,\n },\n target: {\n source: provider.target.source,\n platform: { ...provider.target.platform },\n },\n occurrence: {\n kind: \"attempt\",\n cohort: {\n experimentId: pair.plan.pair.experimentId,\n evalId: pair.plan.pair.evalId,\n agentName: pair.plan.pair.agentName,\n },\n },\n } as unknown as JsonValue;\n return `linked-base:${digestOf(identity)}`;\n}\nfunction linkedSetupPrefixActionIdentity(parentIdentity: string, entry: Extract<ScheduledSandboxBefore, {\n readonly kind: \"action\";\n}>, cumulativeState: SandboxActionState): string {\n const identity = {\n protocol: \"niceeval.setup-prefix-linked-plan/v1\",\n parentIdentity,\n owner: {\n kind: entry.owner.kind,\n id: entry.owner.id,\n ordinal: entry.ordinal,\n },\n order: entry.executionOrder.topologicalOrdinal,\n changeFrequency: {\n value: entry.metadata.changeFrequency.value,\n source: entry.metadata.changeFrequency.source,\n ...(entry.metadata.changeFrequency.preset === undefined\n ? {}\n : { preset: entry.metadata.changeFrequency.preset }),\n },\n dependencyEdges: entry.dependencies.map((dependency) => ({ ...dependency })),\n capabilities: {\n requires: [...entry.metadata.requires],\n provides: [...entry.metadata.provides],\n },\n action: {\n id: entry.data.plan.id,\n family: entry.data.plan.family,\n declaredState: entry.data.plan.state,\n cumulativeState,\n input: entry.data.plan.input,\n fingerprint: entry.data.plan.fingerprint,\n steps: entry.data.plan.steps,\n },\n } as unknown as JsonValue;\n return `linked-prefix:${digestOf(identity)}`;\n}\nfunction scheduledBeforeSteps(pair: PreparedRunPair, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const scheduled = pair.plan.pair.before;\n let opaqueAncestor = hasOpaqueSetupAncestor(pair);\n let opaqueBarrierActionId: string | undefined;\n let unsupportedStateAncestor = false;\n let unsupportedStateBarrierActionId: string | undefined;\n let cumulativeState: SandboxActionState | undefined;\n let parentPrefixIdentity = linkedSetupPrefixBaseIdentity(pair);\n const capability = capabilityOf(pair);\n const providerCoverage = capability === \"persistent\"\n ? providerDeclaredSetupPrefixCoverage(pair)\n : \"unsupported\";\n const capabilityReason = capability === \"unsupported\"\n ? providerDeclaredSetupPrefixReason(pair)\n : undefined;\n return Object.freeze(scheduled.map((entry): CommandPlanStep => {\n const projected = { ...stepForLinkedBefore(pair, entry), ...(entry.pluginSource === undefined ? {} : { label: entry.pluginSource }) };\n const currentOpaque = containsOpaque(projected);\n const declaredState = entry.kind === \"action\" ? entry.data.plan.state : \"opaque\";\n if (entry.kind === \"action\" && !opaqueAncestor) {\n cumulativeState = mergeSandboxActionState(cumulativeState, entry.data.plan.state);\n }\n const projectedCumulativeState = opaqueAncestor || currentOpaque\n ? \"opaque\" as const\n : cumulativeState!;\n const prefixIdentity = entry.kind === \"action\" && !opaqueAncestor && !currentOpaque\n ? linkedSetupPrefixActionIdentity(parentPrefixIdentity, entry, cumulativeState!)\n : undefined;\n // Provider capability and linked lineage are independent facts. Preserve the\n // earliest structural barrier even when this provider cannot cache any prefix;\n // capability/capabilityReason still report that provider-wide limitation.\n const barrier = opaqueAncestor\n ? \"opaque-ancestor\" as const\n : currentOpaque\n ? \"opaque-action\" as const\n : capability === \"unsupported\" || providerCoverage === \"unsupported\"\n ? \"provider-unsupported\" as const\n : unsupportedStateAncestor\n ? \"unsupported-state-ancestor\" as const\n : sandboxActionStateCovers(providerCoverage, projectedCumulativeState as SandboxActionState)\n ? \"none\" as const\n : \"unsupported-state\" as const;\n const barrierActionId = barrier === \"opaque-action\" || barrier === \"unsupported-state\"\n ? entry.id\n : barrier === \"opaque-ancestor\"\n ? opaqueBarrierActionId\n : barrier === \"unsupported-state-ancestor\"\n ? unsupportedStateBarrierActionId\n : undefined;\n const owner = Object.freeze({ kind: entry.owner.kind, id: entry.owner.id });\n const step: CommandPlanStep = Object.freeze({\n ...projected,\n owner,\n action: entry.kind === \"action\"\n ? projected.action\n : Object.freeze({\n id: entry.id,\n kind: entry.kind === \"hook\" ? \"callback\" as const : \"command\" as const,\n }),\n declarationOrder: Object.freeze({ owner, ordinal: entry.ordinal }),\n executionOrder: entry.executionOrder,\n changeFrequency: entry.metadata.changeFrequency,\n schedulingReason: entry.schedulingReason,\n dependencies: entry.dependencies,\n occurrence: Object.freeze({ kind: \"attempt\" as const }),\n cache: Object.freeze({\n lookup: \"not-probed\" as const,\n capability,\n ...(prefixIdentity === undefined ? {} : { prefixIdentity }),\n ...(capabilityReason === undefined ? {} : { capabilityReason }),\n runtime: Object.freeze({\n status: \"pending\" as const,\n finalKey: \"not-probed\" as const,\n }),\n eligibility: barrier === \"none\"\n ? Object.freeze({ status: \"eligible\" as const })\n : Object.freeze({\n status: \"ineligible\" as const,\n reason: Object.freeze({ code: barrier }),\n }),\n state: Object.freeze({\n declared: declaredState,\n cumulative: projectedCumulativeState,\n providerCoverage,\n barrier,\n ...(barrierActionId === undefined ? {} : { barrierActionId }),\n }),\n }),\n });\n if (currentOpaque) {\n opaqueAncestor = true;\n opaqueBarrierActionId ??= entry.id;\n }\n if (prefixIdentity !== undefined)\n parentPrefixIdentity = prefixIdentity;\n if (barrier === \"unsupported-state\") {\n unsupportedStateAncestor = true;\n unsupportedStateBarrierActionId = entry.id;\n }\n return step;\n }));\n}\nfunction stepForAfter(entry: LinkedSandboxAfter): CommandPlanStep {\n const owner: CommandPlanOwner = { kind: entry.owner.kind, id: entry.owner.id };\n if (entry.kind === \"action\") {\n return {\n phase: \"sandbox.after\",\n truth: \"exact\",\n owner,\n ...(entry.pluginSource === undefined ? {} : { label: entry.pluginSource }),\n action: Object.freeze({ ...entry.data.plan, kind: \"action\" as const }),\n };\n }\n return opaque(\"sandbox.after\", \"sandbox-cleanup-command\", \"cleanup command is registered for LIFO execution and is only known when it runs\", { owner, ...(entry.pluginSource === undefined ? {} : { label: entry.pluginSource }) });\n}\nfunction afterSteps(pair: PreparedRunPair): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n return [...pair.plan.pair.after].reverse().map(stepForAfter);\n}\nfunction declaredAgentHookStep(command: SandboxCommand, index: number, phase: \"agent.before\" | \"agent.after\", owner: CommandPlanOwner, condition?: SandboxCommandPlanCondition): CommandPlanStep {\n const declaration = sandboxCommandPlanOf(command);\n const label = `${phase === \"agent.before\" ? \"before\" : \"after\"} #${index}`;\n return declaration === undefined\n ? opaque(phase, \"agent-lifecycle-hook-callback\", \"callback-backed Agent lifecycle hook; commands are only known when it runs\", { owner, label, ...(condition === undefined ? {} : { condition }) })\n : stepFromDeclaration({ ...declaration, label }, phase, owner, condition);\n}\nfunction agentSetupSteps(pair: PreparedRunPair, owner: CommandPlanOwner): readonly CommandPlanStep[] {\n const agent = pair.run.agent;\n if (agent === undefined) {\n return [opaque(\"adapter.create\", \"adapter-create-callback\", \"Adapter context creation is a runtime callback and may acquire cleanup-bound resources\", { owner })];\n }\n if (agent.before === undefined) {\n return [knownNoCommand(\"agent.setup\", \"hook-omitted\", \"Agent has no before callback\", { owner })];\n }\n const hooks = agentLifecycleHookCommandsOf(agent);\n if (hooks === undefined) {\n return [opaque(\"agent.setup\", \"agent-setup-callback\", \"Agent before callback may execute commands; its body is not inspected\", { owner })];\n }\n return [\n opaque(\"agent.setup\", \"adapter-setup-internals\", \"Adapter setup before declared before hooks may execute commands\", { owner, label: \"adapter setup\" }),\n ...hooks.postSetup.map((hook, index) => declaredAgentHookStep(hook, index, \"agent.before\", owner)),\n ];\n}\nfunction agentTeardownSteps(pair: PreparedRunPair, owner: CommandPlanOwner): readonly CommandPlanStep[] {\n const agent = pair.run.agent;\n if (agent === undefined) {\n return [opaque(\"adapter.cleanup\", \"adapter-cleanup-callbacks\", \"Adapter cleanup callbacks are registered dynamically and run in LIFO order\", { owner })];\n }\n if (agent.after === undefined) {\n return [knownNoCommand(\"agent.teardown\", \"hook-omitted\", \"Agent has no after callback\", { owner })];\n }\n const hooks = agentLifecycleHookCommandsOf(agent);\n if (hooks === undefined) {\n return [opaque(\"agent.teardown\", \"agent-teardown-callback\", \"Agent after callback may execute commands; its body is not inspected\", { owner })];\n }\n const preTeardown = hooks.preTeardown\n .map((hook, index) => ({ hook, index }))\n .reverse()\n .map(({ hook, index }) => declaredAgentHookStep(hook, index, \"agent.after\", owner, AGENT_POST_SETUP_REACHED));\n const mayRegisterCleanup = [...hooks.postSetup, ...hooks.preTeardown]\n .some((hook) => sandboxCommandPlanOf(hook) === undefined);\n return [\n ...preTeardown,\n ...(mayRegisterCleanup\n ? [opaque(\"agent.after.cleanup\", \"registered-agent-cleanup-callbacks\", \"callback-backed Agent hooks may register LIFO cleanup commands\", { owner, condition: AGENT_POST_SETUP_REACHED })]\n : []),\n opaque(\"agent.teardown\", \"adapter-teardown-remainder\", \"Adapter teardown after declared after hooks may execute commands\", { owner, label: \"adapter teardown\" }),\n ];\n}\nfunction sandboxLifecycleHooks(pair: PreparedRunPair, phase: \"setup\" | \"teardown\", condition?: SandboxCommandPlanCondition): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const markers = pair.plan.pair.fingerprint.lifecycle?.filter((entry) => entry.phase === phase) ?? [];\n const ordered = phase === \"teardown\" ? [...markers].reverse() : markers;\n return ordered.map((entry) => opaque(`sandbox.${phase}`, \"sandbox-lifecycle-callback\", `${phase} hook callback; commands are only known when it runs`, {\n owner: { ...entry.owner, index: entry.index },\n ...(condition === undefined ? {} : { condition }),\n }));\n}\nfunction pluginLifecycleSteps(lifecycles: readonly LinkedPluginLifecycle[], phase: \"setup\" | \"teardown\", owner: CommandPlanOwner, condition?: SandboxCommandPlanCondition): readonly CommandPlanStep[] {\n const ordered = phase === \"teardown\" ? [...lifecycles].reverse() : lifecycles;\n return ordered\n .filter((entry) => phase === \"setup\" ? entry.hasSetup : entry.hasTeardown)\n .flatMap((entry) => Array.from({ length: phase === \"setup\" ? entry.beforeCount : entry.afterCount }, (_, index) => opaque(`plugin.lifecycle.${phase}`, `plugin-lifecycle-${phase}-callback`, `Plugin ${entry.name} (${entry.key}) ${phase === \"setup\" ? \"before\" : \"after\"}[${phase === \"setup\" ? index : entry.afterCount - index - 1}] callback is opaque`, { owner, label: `${entry.name}:${entry.key}`, ...(condition === undefined ? {} : { condition }) })));\n}\nfunction sandboxPluginLifecycleSteps(lifecycles: readonly LinkedSandboxPluginLifecycle[], phase: \"setup\" | \"teardown\", condition?: SandboxCommandPlanCondition): readonly CommandPlanStep[] {\n const ordered = phase === \"teardown\" ? [...lifecycles].reverse() : lifecycles;\n return ordered\n .filter((entry) => phase === \"setup\" ? entry.lifecycle.hasSetup : entry.lifecycle.hasTeardown)\n .flatMap(({ lifecycle, owner }) => Array.from({ length: phase === \"setup\" ? lifecycle.beforeCount : lifecycle.afterCount }, (_, index) => opaque(`plugin.lifecycle.${phase}`, `plugin-lifecycle-${phase}-callback`, `Plugin ${lifecycle.name} (${lifecycle.key}) ${phase === \"setup\" ? \"before\" : \"after\"}[${phase === \"setup\" ? index : lifecycle.afterCount - index - 1}] callback is opaque`, {\n owner,\n label: `${lifecycle.name}:${lifecycle.key}`,\n ...(condition === undefined ? {} : { condition }),\n })));\n}\nfunction physicalBefore(pair: PreparedRunPair, shared: boolean): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const provider: CommandPlanOwner = { kind: \"provider\", id: pair.plan.providerPlan.provider };\n const template = pair.plan.pair.template;\n return [\n opaque(\"sandbox.create\", \"provider-provisioning\", \"provider provisioning is an internal runtime boundary\", {\n owner: provider,\n template: {\n owner: pair.plan.pair.templateOwner,\n provider: template.provider,\n kind: template.kind,\n locator: sandboxTemplateCommandPlanLocator(template),\n },\n ...(shared ? { condition: SHARED_INSTANCE_AVAILABLE } : {}),\n }),\n ...sandboxLifecycleHooks(pair, \"setup\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n ...sandboxPluginLifecycleSteps(pair.plan.pair.pluginLifecycles, \"setup\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n opaque(\"sandbox.baseline-anchor\", \"provider-baseline-anchor\", \"provider baseline/reset anchor is resolved against the live Sandbox\", { owner: provider, ...(shared ? { condition: SHARED_INSTANCE_AVAILABLE } : {}) }),\n ];\n}\nfunction physicalAfter(pair: PreparedRunPair, shared: boolean): readonly CommandPlanStep[] {\n if (pair.plan._tag !== \"Sandbox\")\n return [];\n const provider: CommandPlanOwner = { kind: \"provider\", id: pair.plan.providerPlan.provider };\n return [\n ...sandboxPluginLifecycleSteps(pair.plan.pair.pluginLifecycles, \"teardown\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n ...sandboxLifecycleHooks(pair, \"teardown\", shared ? SHARED_INSTANCE_AVAILABLE : undefined),\n opaque(\"sandbox.finalize\", \"provider-finalizer\", \"provider release, stop, or retained-instance finalization is resolved at runtime\", { owner: provider, ...(shared ? { condition: SHARED_INSTANCE_AVAILABLE } : {}) }),\n ];\n}\nfunction attemptBody(pair: PreparedRunPair, shared: boolean, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): readonly CommandPlanStep[] {\n const evalOwner: CommandPlanOwner = { kind: \"eval\", id: pair.evalDef.id };\n const adapterOwner: CommandPlanOwner = {\n kind: pair.run.adapter.kind === \"custom\" ? \"adapter\" : \"agent\",\n id: pair.run.adapter.name,\n };\n const provider = pair.plan._tag === \"Sandbox\"\n ? ({ kind: \"provider\", id: pair.plan.providerPlan.provider } satisfies CommandPlanOwner)\n : undefined;\n return [\n ...(shared && provider !== undefined\n ? [opaque(\"sandbox.reuse-ready\", \"provider-reuse-readiness\", \"the shared instance may be reset, retired, or replaced before this slot\", { owner: provider, condition: SHARED_INSTANCE_AVAILABLE })]\n : []),\n ...scheduledBeforeSteps(pair, capabilityOf),\n ...pluginLifecycleSteps(pair.plugin.evalLifecycles, \"setup\", evalOwner),\n ...(pair.run.agent?.kind === \"sandbox\"\n ? pair.run.agent.ensure.map((_, index) => ensureStep(pair, index))\n : []),\n ...(pair.plan._tag === \"Sandbox\"\n ? [opaque(\"sandbox.baseline\", \"sandbox-baseline-capture\", \"the diff baseline is captured from the live Sandbox after preparation\", { owner: provider! })]\n : []),\n ...agentSetupSteps(pair, adapterOwner),\n opaque(\"eval.test\", \"eval-test-callback\", \"Eval test and any Agent.send calls are runtime callbacks; their commands and branches are not inspected\", { owner: evalOwner }),\n ...agentTeardownSteps(pair, adapterOwner),\n ...pluginLifecycleSteps(pair.plugin.evalLifecycles, \"teardown\", evalOwner),\n ...afterSteps(pair),\n ...(pair.plan._tag === \"Sandbox\"\n ? [opaque(\"sandbox.cleanup\", \"registered-cleanup-callbacks\", \"Sandbox command callbacks may register LIFO cleanup commands while running\", { owner: evalOwner })]\n : [knownNoCommand(\"sandbox.cleanup\", \"direct-agent\", \"Direct Agent attempts have no Sandbox command cleanup registry\", { owner: evalOwner })]),\n ...(shared && provider !== undefined\n ? [opaque(\"sandbox.reset-or-retire\", \"provider-reset-or-retire\", \"the provider resets the shared instance or retires it after this slot\", { owner: provider, condition: SHARED_INSTANCE_AVAILABLE })]\n : []),\n ];\n}\nfunction stepsForDispatch(pair: PreparedRunPair, shared: boolean, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): readonly CommandPlanStep[] {\n if (pair.plan._tag === \"Direct\") {\n const adapterOwner: CommandPlanOwner = {\n kind: pair.run.adapter.kind === \"custom\" ? \"adapter\" : \"agent\",\n id: pair.run.adapter.name,\n };\n return [\n knownNoCommand(\"sandbox.create\", pair.run.adapter.kind === \"custom\" ? \"adapter-no-sandbox\" : \"direct-agent\", pair.run.adapter.kind === \"custom\"\n ? \"Adapter has no Sandbox capability\"\n : \"Direct Agent has no Sandbox or configured Sandbox template\", { owner: adapterOwner }),\n ...attemptBody(pair, false, capabilityOf),\n ];\n }\n return shared\n ? attemptBody(pair, true, capabilityOf)\n : [...physicalBefore(pair, false), ...attemptBody(pair, false, capabilityOf), ...physicalAfter(pair, false)];\n}\ninterface RowWithPair extends CommandPlanRowInput {\n readonly pair: PreparedRunPair;\n}\ntype CommandPlanLaneSpec = {\n readonly kind: \"eval\";\n readonly key: string;\n readonly id: string;\n} | {\n readonly kind: \"eval-group\";\n readonly key: string;\n readonly id: string;\n} | {\n readonly kind: \"sandbox-reuse\";\n readonly key: string;\n readonly id: string;\n readonly scope: {\n readonly kind: \"shared\";\n } | {\n readonly kind: \"eval\";\n readonly evalId: string;\n };\n};\nfunction dispatchAttempts(row: CommandPlanRowInput): ReadonlySet<number> {\n return new Set(row.dispatch.flatMap((group) => group.attempts));\n}\nfunction reuseDescriptorFor(row: RowWithPair): SandboxReusePoolDescriptor | undefined {\n return sandboxReusePoolDescriptor({\n run: row.pair.run,\n evalId: row.evalId,\n ...(row.evalGroupId === undefined ? {} : { evalGroupId: row.evalGroupId }),\n plan: row.pair.plan,\n });\n}\nfunction laneSpecFor(row: RowWithPair): CommandPlanLaneSpec {\n const descriptor = reuseDescriptorFor(row);\n if (row.evalGroupId !== undefined) {\n if (descriptor?.scope.kind !== \"eval-group\" ||\n descriptor.scope.evalGroupId !== row.evalGroupId) {\n throw new Error(`Command plan invariant failed: Eval Group ${row.evalGroupId} has no matching reuse-pool descriptor.`);\n }\n return { kind: \"eval-group\", key: descriptor.key, id: row.evalGroupId };\n }\n if (descriptor !== undefined) {\n if (descriptor.scope.kind === \"eval-group\") {\n throw new Error(`Command plan invariant failed: ungrouped Eval ${row.evalId} received a Group pool scope.`);\n }\n return {\n kind: \"sandbox-reuse\",\n key: descriptor.key,\n id: descriptor.key,\n scope: descriptor.scope,\n };\n }\n return { kind: \"eval\", key: `eval:${row.evalId}`, id: row.evalId };\n}\nfunction physicalLifecycleTemplate(pair: PreparedRunPair): CommandPlanPhysicalLifecycleTemplate {\n return Object.freeze({\n appliesTo: \"each-physical-instance\" as const,\n enter: physicalBefore(pair, true),\n exit: physicalAfter(pair, true),\n });\n}\nfunction laneFor(rows: readonly RowWithPair[], spec: CommandPlanLaneSpec, capabilityOf: (pair: PreparedRunPair) => CommandPlanCacheCapability): CommandPlanLane {\n const first = rows[0]!;\n const shared = spec.kind !== \"eval\";\n const sortedRows = spec.kind === \"eval-group\"\n ? [...rows].sort((a, b) => a.evalId.localeCompare(b.evalId))\n : rows;\n const slots: CommandPlanSlot[] = [];\n for (const row of sortedRows) {\n const dispatch = dispatchAttempts(row);\n for (let attempt = 0; attempt < row.attempts; attempt++) {\n const action = dispatch.has(attempt) ? \"dispatch\" : \"carried\";\n slots.push({\n evalId: row.evalId,\n attempt,\n action,\n ...(action === \"dispatch\" ? { activation: DISPATCH_MAY_NOT_RUN } : {}),\n steps: action === \"dispatch\" ? stepsForDispatch(row.pair, shared, capabilityOf) : [],\n });\n }\n }\n const hasDispatch = slots.some((slot) => slot.action === \"dispatch\");\n if (spec.kind === \"eval\") {\n return { kind: \"eval\", id: spec.id, ordering: \"independent\", slots };\n }\n if (spec.kind === \"sandbox-reuse\") {\n return {\n kind: \"sandbox-reuse\",\n id: spec.id,\n ordering: \"independent\",\n scope: spec.scope,\n ...(hasDispatch ? { physicalLifecycleTemplate: physicalLifecycleTemplate(first.pair) } : {}),\n slots,\n };\n }\n return {\n kind: \"eval-group\",\n id: spec.id,\n ordering: \"serial-normalized-eval-id\",\n beforeSlots: hasDispatch\n ? pluginLifecycleSteps(first.pair.plugin.groupLifecycles, \"setup\", { kind: \"eval-group\", id: spec.id }, DISPATCH_MAY_NOT_RUN)\n : [],\n afterSlots: hasDispatch\n ? pluginLifecycleSteps(first.pair.plugin.groupLifecycles, \"teardown\", { kind: \"eval-group\", id: spec.id }, DISPATCH_MAY_NOT_RUN)\n : [],\n ...(hasDispatch ? { physicalLifecycleTemplate: physicalLifecycleTemplate(first.pair) } : {}),\n slots,\n };\n}\nfunction experimentLifecycle(pair: PreparedRunPair, side: \"setup\" | \"teardown\", hasDispatch: boolean): CommandPlanStep {\n const owner: CommandPlanOwner = { kind: \"experiment\", id: pair.run.experimentId };\n if (!hasDispatch) {\n return knownNoCommand(`experiment.${side}`, \"all-slots-carried\", \"all selected slots are carried, so experiment lifecycle does not run\", { owner });\n }\n const callback = side === \"setup\" ? pair.sourceRun.setup : pair.sourceRun.teardown;\n return callback === undefined\n ? knownNoCommand(`experiment.${side}`, \"hook-omitted\", `Experiment has no ${side} callback`, { owner })\n : opaque(`experiment.${side}`, `experiment-${side}-callback`, `Experiment ${side} callback may execute host or Sandbox commands; its body is not inspected`, { owner, condition: DISPATCH_MAY_NOT_RUN });\n}\nfunction countEvidence(steps: readonly CommandPlanStep[]): {\n opaque: number;\n redacted: number;\n} {\n let opaqueCount = 0;\n let redactedCount = 0;\n const visit = (step: CommandPlanStep): void => {\n if (step.truth === \"opaque\")\n opaqueCount++;\n if ((step.redactions?.length ?? 0) > 0)\n redactedCount++;\n if (step.template?.locator._tag === \"Redacted\") {\n redactedCount += step.template.locator.redactions.length;\n }\n for (const child of step.children ?? [])\n visit(child);\n };\n for (const step of steps)\n visit(step);\n return { opaque: opaqueCount, redacted: redactedCount };\n}\n/**\n * 组装按 Experiment → lane → slot 的保证顺序。不同 lane 可能并发,因此这里有意不产生一条\n * 虚假的全局序号;Group lane 只按规范化 Eval ID、再 attempt index 稳定串行。\n */\nexport function assembleCommandPlan(input: AssembleCommandPlanInput): CommandPlan {\n const setupPrefixCapability = input.setupPrefixCapability ?? providerDeclaredSetupPrefixCapability;\n const rows: RowWithPair[] = input.rows.map((row) => {\n const pair = input.preparedPairsByKey.get(runPairKey(row.experimentId, row.evalId));\n if (pair === undefined) {\n throw new Error(`Command plan invariant failed: missing prepared pair for ${row.experimentId}/${row.evalId}.`);\n }\n return { ...row, pair };\n });\n const byExperiment = new Map<string, RowWithPair[]>();\n for (const row of rows) {\n const current = byExperiment.get(row.experimentId) ?? [];\n current.push(row);\n byExperiment.set(row.experimentId, current);\n }\n const experiments: CommandPlanExperiment[] = [];\n for (const [experimentId, experimentRows] of byExperiment) {\n const byLane = new Map<string, {\n readonly spec: CommandPlanLaneSpec;\n readonly rows: RowWithPair[];\n }>();\n for (const row of experimentRows) {\n const spec = laneSpecFor(row);\n const current = byLane.get(spec.key);\n if (current === undefined) {\n byLane.set(spec.key, { spec, rows: [row] });\n }\n else {\n current.rows.push(row);\n }\n }\n const lanes = [...byLane.values()].map(({ rows: laneRows, spec }) => laneFor(laneRows, spec, setupPrefixCapability));\n const hasDispatch = lanes.some((lane) => lane.slots.some((slot) => slot.action === \"dispatch\"));\n const representative = experimentRows[0]!.pair;\n experiments.push({\n experimentId,\n activation: hasDispatch ? \"conditional\" : \"inactive\",\n beforeLanes: [\n experimentLifecycle(representative, \"setup\", hasDispatch),\n ...(hasDispatch ? pluginLifecycleSteps(representative.plugin.experimentLifecycles, \"setup\", { kind: \"experiment\", id: experimentId }, DISPATCH_MAY_NOT_RUN) : []),\n ],\n lanes,\n afterLanes: [\n ...(hasDispatch ? pluginLifecycleSteps(representative.plugin.experimentLifecycles, \"teardown\", { kind: \"experiment\", id: experimentId }, DISPATCH_MAY_NOT_RUN) : []),\n experimentLifecycle(representative, \"teardown\", hasDispatch),\n ],\n });\n }\n let opaqueCount = 0;\n let redactedCount = 0;\n for (const experiment of experiments) {\n const groups = [\n experiment.beforeLanes,\n ...experiment.lanes.flatMap((lane) => [\n ...(lane.kind === \"eval-group\" ? [lane.beforeSlots] : []),\n lane.physicalLifecycleTemplate?.enter ?? [],\n ...lane.slots.map((slot) => slot.steps),\n lane.physicalLifecycleTemplate?.exit ?? [],\n ...(lane.kind === \"eval-group\" ? [lane.afterSlots] : []),\n ]),\n experiment.afterLanes,\n ];\n for (const steps of groups) {\n const count = countEvidence(steps);\n opaqueCount += count.opaque;\n redactedCount += count.redacted;\n }\n }\n return {\n completeness: opaqueCount > 0 || redactedCount > 0 ? \"partial\" : \"complete\",\n opaqueCount,\n redactedCount,\n experiments,\n };\n}\n"]}
@@ -133,7 +133,7 @@ export interface CommandPlan {
133
133
  readonly redactedCount: number;
134
134
  readonly experiments: readonly CommandPlanExperiment[];
135
135
  }
136
- export interface SetupPrefixPlanNode {
136
+ export interface BeforeCachePlanNode {
137
137
  readonly prefixIdentity: string;
138
138
  readonly lookup: "not-probed";
139
139
  readonly capability: CommandPlanCacheCapability;
@@ -143,12 +143,12 @@ export interface SetupPrefixPlanNode {
143
143
  readonly evalId: string;
144
144
  }[];
145
145
  }
146
- export interface SetupPrefixPlan {
146
+ export interface BeforeCachePlan {
147
147
  readonly lookup: "not-probed";
148
- readonly nodes: readonly SetupPrefixPlanNode[];
148
+ readonly nodes: readonly BeforeCachePlanNode[];
149
149
  }
150
150
  /** Deduplicate the selected command plan by the setup-prefix declaration identity. */
151
- export declare function setupPrefixPlanOf(commandPlan: CommandPlan): SetupPrefixPlan;
151
+ export declare function beforeCachePlanOf(commandPlan: CommandPlan): BeforeCachePlan;
152
152
  export interface CommandPlanRowInput {
153
153
  readonly experimentId: string;
154
154
  readonly evalId: string;
@@ -133,7 +133,7 @@ export interface CommandPlan {
133
133
  readonly redactedCount: number;
134
134
  readonly experiments: readonly CommandPlanExperiment[];
135
135
  }
136
- export interface SetupPrefixPlanNode {
136
+ export interface BeforeCachePlanNode {
137
137
  readonly prefixIdentity: string;
138
138
  readonly lookup: "not-probed";
139
139
  readonly capability: CommandPlanCacheCapability;
@@ -143,12 +143,12 @@ export interface SetupPrefixPlanNode {
143
143
  readonly evalId: string;
144
144
  }[];
145
145
  }
146
- export interface SetupPrefixPlan {
146
+ export interface BeforeCachePlan {
147
147
  readonly lookup: "not-probed";
148
- readonly nodes: readonly SetupPrefixPlanNode[];
148
+ readonly nodes: readonly BeforeCachePlanNode[];
149
149
  }
150
150
  /** Deduplicate the selected command plan by the setup-prefix declaration identity. */
151
- export declare function setupPrefixPlanOf(commandPlan: CommandPlan): SetupPrefixPlan;
151
+ export declare function beforeCachePlanOf(commandPlan: CommandPlan): BeforeCachePlan;
152
152
  export interface CommandPlanRowInput {
153
153
  readonly experimentId: string;
154
154
  readonly evalId: string;
@@ -133,7 +133,7 @@ export interface CommandPlan {
133
133
  readonly redactedCount: number;
134
134
  readonly experiments: readonly CommandPlanExperiment[];
135
135
  }
136
- export interface SetupPrefixPlanNode {
136
+ export interface BeforeCachePlanNode {
137
137
  readonly prefixIdentity: string;
138
138
  readonly lookup: "not-probed";
139
139
  readonly capability: CommandPlanCacheCapability;
@@ -143,12 +143,12 @@ export interface SetupPrefixPlanNode {
143
143
  readonly evalId: string;
144
144
  }[];
145
145
  }
146
- export interface SetupPrefixPlan {
146
+ export interface BeforeCachePlan {
147
147
  readonly lookup: "not-probed";
148
- readonly nodes: readonly SetupPrefixPlanNode[];
148
+ readonly nodes: readonly BeforeCachePlanNode[];
149
149
  }
150
150
  /** Deduplicate the selected command plan by the setup-prefix declaration identity. */
151
- export declare function setupPrefixPlanOf(commandPlan: CommandPlan): SetupPrefixPlan;
151
+ export declare function beforeCachePlanOf(commandPlan: CommandPlan): BeforeCachePlan;
152
152
  export interface CommandPlanRowInput {
153
153
  readonly experimentId: string;
154
154
  readonly evalId: string;
@@ -3,8 +3,8 @@ const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
3
3
  const __niceevalCanonical = __niceevalRequire("./command-plan.cjs");
4
4
  const __niceevalExport0 = __niceevalCanonical["assembleCommandPlan"];
5
5
  export { __niceevalExport0 as assembleCommandPlan };
6
- const __niceevalExport1 = __niceevalCanonical["providerDeclaredSetupPrefixCapability"];
7
- export { __niceevalExport1 as providerDeclaredSetupPrefixCapability };
8
- const __niceevalExport2 = __niceevalCanonical["setupPrefixPlanOf"];
9
- export { __niceevalExport2 as setupPrefixPlanOf };
6
+ const __niceevalExport1 = __niceevalCanonical["beforeCachePlanOf"];
7
+ export { __niceevalExport1 as beforeCachePlanOf };
8
+ const __niceevalExport2 = __niceevalCanonical["providerDeclaredSetupPrefixCapability"];
9
+ export { __niceevalExport2 as providerDeclaredSetupPrefixCapability };
10
10
  //# sourceMappingURL=command-plan.js.map