niceeval 0.13.2 → 0.13.3

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 (494) hide show
  1. package/dist/agents/bub.cjs +4 -4
  2. package/dist/agents/bub.cjs.map +1 -1
  3. package/dist/agents/bub.d.cts +2 -2
  4. package/dist/agents/bub.d.mts +2 -2
  5. package/dist/agents/bub.d.ts +2 -2
  6. package/dist/agents/claude-code-native.cjs +213 -0
  7. package/dist/agents/claude-code-native.cjs.map +1 -0
  8. package/dist/agents/claude-code-native.d.cts +5 -0
  9. package/dist/agents/claude-code-native.d.mts +5 -0
  10. package/dist/agents/claude-code-native.d.ts +5 -0
  11. package/dist/agents/claude-code-native.js +6 -0
  12. package/dist/agents/claude-code-native.js.map +1 -0
  13. package/dist/agents/claude-code.cjs +26 -80
  14. package/dist/agents/claude-code.cjs.map +1 -1
  15. package/dist/agents/codex-app-server.cjs +314 -0
  16. package/dist/agents/codex-app-server.cjs.map +1 -0
  17. package/dist/agents/codex-app-server.d.cts +9 -0
  18. package/dist/agents/codex-app-server.d.mts +9 -0
  19. package/dist/agents/codex-app-server.d.ts +9 -0
  20. package/dist/agents/codex-app-server.js +6 -0
  21. package/dist/agents/codex-app-server.js.map +1 -0
  22. package/dist/agents/codex.cjs +19 -68
  23. package/dist/agents/codex.cjs.map +1 -1
  24. package/dist/agents/codex.d.cts +3 -3
  25. package/dist/agents/codex.d.mts +3 -3
  26. package/dist/agents/codex.d.ts +3 -3
  27. package/dist/agents/index.cjs +3 -1
  28. package/dist/agents/index.cjs.map +1 -1
  29. package/dist/agents/index.d.cts +1 -0
  30. package/dist/agents/index.d.mts +1 -0
  31. package/dist/agents/index.d.ts +1 -0
  32. package/dist/agents/index.js +84 -82
  33. package/dist/agents/index.mjs +84 -82
  34. package/dist/agents/managed-jsonl.cjs +207 -0
  35. package/dist/agents/managed-jsonl.cjs.map +1 -0
  36. package/dist/agents/managed-jsonl.d.cts +39 -0
  37. package/dist/agents/managed-jsonl.d.mts +39 -0
  38. package/dist/agents/managed-jsonl.d.ts +39 -0
  39. package/dist/agents/managed-jsonl.js +6 -0
  40. package/dist/agents/managed-jsonl.js.map +1 -0
  41. package/dist/agents/managed-process.cjs +31 -0
  42. package/dist/agents/managed-process.cjs.map +1 -0
  43. package/dist/agents/managed-process.d.cts +3 -0
  44. package/dist/agents/managed-process.d.mts +3 -0
  45. package/dist/agents/managed-process.d.ts +3 -0
  46. package/dist/agents/managed-process.js +6 -0
  47. package/dist/agents/managed-process.js.map +1 -0
  48. package/dist/agents/omp.cjs +18 -1
  49. package/dist/agents/omp.cjs.map +1 -1
  50. package/dist/agents/sdk-streams.cjs +11 -4
  51. package/dist/agents/sdk-streams.cjs.map +1 -1
  52. package/dist/agents/types.cjs.map +1 -1
  53. package/dist/agents/types.d.cts +8 -0
  54. package/dist/agents/types.d.mts +8 -0
  55. package/dist/agents/types.d.ts +8 -0
  56. package/dist/analysis/bindings.cjs +74 -19
  57. package/dist/analysis/bindings.cjs.map +1 -1
  58. package/dist/analysis/bindings.d.cts +534 -156
  59. package/dist/analysis/bindings.d.mts +534 -156
  60. package/dist/analysis/bindings.d.ts +534 -156
  61. package/dist/analysis/domain-view.cjs.map +1 -1
  62. package/dist/analysis/domain-view.d.cts +137 -8
  63. package/dist/analysis/domain-view.d.mts +137 -8
  64. package/dist/analysis/domain-view.d.ts +137 -8
  65. package/dist/analysis/index.cjs.map +1 -1
  66. package/dist/analysis/index.d.cts +1 -1
  67. package/dist/analysis/index.d.mts +1 -1
  68. package/dist/analysis/index.d.ts +1 -1
  69. package/dist/assertions/api.cjs.map +1 -1
  70. package/dist/assertions/api.d.cts +62 -0
  71. package/dist/assertions/api.d.mts +62 -0
  72. package/dist/assertions/api.d.ts +62 -0
  73. package/dist/assertions/judge.cjs +56 -5
  74. package/dist/assertions/judge.cjs.map +1 -1
  75. package/dist/assertions/match.cjs +66 -42
  76. package/dist/assertions/match.cjs.map +1 -1
  77. package/dist/assertions/match.d.cts +13 -0
  78. package/dist/assertions/match.d.mts +13 -0
  79. package/dist/assertions/match.d.ts +13 -0
  80. package/dist/assertions/record/attachment.cjs +104 -33
  81. package/dist/assertions/record/attachment.cjs.map +1 -1
  82. package/dist/assertions/record/attachment.d.cts +294 -57
  83. package/dist/assertions/record/attachment.d.mts +294 -57
  84. package/dist/assertions/record/attachment.d.ts +294 -57
  85. package/dist/assertions/record/codec.cjs +91 -17
  86. package/dist/assertions/record/codec.cjs.map +1 -1
  87. package/dist/assertions/record/codec.d.cts +280 -52
  88. package/dist/assertions/record/codec.d.mts +280 -52
  89. package/dist/assertions/record/codec.d.ts +280 -52
  90. package/dist/assertions/record/index.js +2 -0
  91. package/dist/assertions/record/model.cjs +16 -0
  92. package/dist/assertions/record/model.cjs.map +1 -1
  93. package/dist/assertions/record/model.d.cts +120 -13
  94. package/dist/assertions/record/model.d.mts +120 -13
  95. package/dist/assertions/record/model.d.ts +120 -13
  96. package/dist/assertions/record/model.js +2 -0
  97. package/dist/assertions/record/producer.cjs +70 -50
  98. package/dist/assertions/record/producer.cjs.map +1 -1
  99. package/dist/assertions/record/producer.d.cts +8 -7
  100. package/dist/assertions/record/producer.d.mts +8 -7
  101. package/dist/assertions/record/producer.d.ts +8 -7
  102. package/dist/assertions/runtime.cjs +49 -7
  103. package/dist/assertions/runtime.cjs.map +1 -1
  104. package/dist/cli/application.cjs +40 -0
  105. package/dist/cli/application.cjs.map +1 -0
  106. package/dist/cli/application.d.cts +129 -0
  107. package/dist/cli/application.d.mts +129 -0
  108. package/dist/cli/application.d.ts +129 -0
  109. package/dist/cli/application.js +24 -0
  110. package/dist/cli/application.js.map +1 -0
  111. package/dist/cli/bootstrap.cjs +10 -4
  112. package/dist/cli/bootstrap.cjs.map +1 -1
  113. package/dist/cli/node-application.cjs +123 -0
  114. package/dist/cli/node-application.cjs.map +1 -0
  115. package/dist/cli/node-application.d.cts +14 -0
  116. package/dist/cli/node-application.d.mts +14 -0
  117. package/dist/cli/node-application.d.ts +14 -0
  118. package/dist/cli/node-application.js +26 -0
  119. package/dist/cli/node-application.js.map +1 -0
  120. package/dist/cli/program.cjs +2807 -0
  121. package/dist/cli/program.cjs.map +1 -0
  122. package/dist/cli/program.d.cts +352 -0
  123. package/dist/cli/program.d.mts +352 -0
  124. package/dist/cli/program.d.ts +352 -0
  125. package/dist/cli/program.js +36 -0
  126. package/dist/cli/program.js.map +1 -0
  127. package/dist/cli/project-configuration.cjs +134 -0
  128. package/dist/cli/project-configuration.cjs.map +1 -0
  129. package/dist/cli/project-configuration.d.cts +64 -0
  130. package/dist/cli/project-configuration.d.mts +64 -0
  131. package/dist/cli/project-configuration.d.ts +64 -0
  132. package/dist/cli/project-configuration.js +22 -0
  133. package/dist/cli/project-configuration.js.map +1 -0
  134. package/dist/cli/record.cjs +20 -4
  135. package/dist/cli/record.cjs.map +1 -1
  136. package/dist/cli/record.d.cts +3 -3
  137. package/dist/cli/record.d.mts +3 -3
  138. package/dist/cli/record.d.ts +3 -3
  139. package/dist/cli.cjs +19 -3130
  140. package/dist/cli.cjs.map +1 -1
  141. package/dist/cli.d.cts +2 -148
  142. package/dist/cli.d.mts +2 -148
  143. package/dist/cli.d.ts +2 -148
  144. package/dist/cli.js +22 -30
  145. package/dist/context/assert-first.cjs +21 -15
  146. package/dist/context/assert-first.cjs.map +1 -1
  147. package/dist/context/assert-first.d.cts +1 -0
  148. package/dist/context/assert-first.d.mts +1 -0
  149. package/dist/context/assert-first.d.ts +1 -0
  150. package/dist/context/attempt-resources.cjs +13 -0
  151. package/dist/context/attempt-resources.cjs.map +1 -0
  152. package/dist/context/attempt-resources.d.cts +3 -0
  153. package/dist/context/attempt-resources.d.mts +3 -0
  154. package/dist/context/attempt-resources.d.ts +3 -0
  155. package/dist/context/attempt-resources.js +8 -0
  156. package/dist/context/attempt-resources.js.map +1 -0
  157. package/dist/context/session.cjs +4 -3
  158. package/dist/context/session.cjs.map +1 -1
  159. package/dist/context/session.d.cts +1 -0
  160. package/dist/context/session.d.mts +1 -0
  161. package/dist/context/session.d.ts +1 -0
  162. package/dist/eval/record/verdict.cjs +3 -2
  163. package/dist/eval/record/verdict.cjs.map +1 -1
  164. package/dist/experiment/host/index.cjs +1 -6
  165. package/dist/experiment/host/index.cjs.map +1 -1
  166. package/dist/experiment/host/index.d.cts +1 -0
  167. package/dist/experiment/host/index.d.mts +1 -0
  168. package/dist/experiment/host/index.d.ts +1 -0
  169. package/dist/load-config.cjs +13 -4
  170. package/dist/load-config.cjs.map +1 -1
  171. package/dist/load-config.d.cts +4 -3
  172. package/dist/load-config.d.mts +4 -3
  173. package/dist/load-config.d.ts +4 -3
  174. package/dist/load-config.js +4 -2
  175. package/dist/o11y/parsers/codex.cjs +29 -7
  176. package/dist/o11y/parsers/codex.cjs.map +1 -1
  177. package/dist/record/codec/core.d.cts +0 -2
  178. package/dist/record/codec/core.d.mts +0 -2
  179. package/dist/record/codec/core.d.ts +0 -2
  180. package/dist/record/codec/identifiers.cjs +2 -3
  181. package/dist/record/codec/identifiers.cjs.map +1 -1
  182. package/dist/record/codec/identifiers.d.cts +1 -2
  183. package/dist/record/codec/identifiers.d.mts +1 -2
  184. package/dist/record/codec/identifiers.d.ts +1 -2
  185. package/dist/record/codec/identifiers.js +10 -12
  186. package/dist/record/codec/index.js +42 -44
  187. package/dist/record/definition/attachment.cjs +1 -0
  188. package/dist/record/definition/attachment.cjs.map +1 -1
  189. package/dist/record/definition/attachment.d.cts +14 -0
  190. package/dist/record/definition/attachment.d.mts +14 -0
  191. package/dist/record/definition/attachment.d.ts +14 -0
  192. package/dist/record/family/assertions-v1.cjs +104 -0
  193. package/dist/record/family/assertions-v1.cjs.map +1 -0
  194. package/dist/record/family/assertions-v1.d.cts +2 -0
  195. package/dist/record/family/assertions-v1.d.mts +2 -0
  196. package/dist/record/family/assertions-v1.d.ts +2 -0
  197. package/dist/record/family/assertions-v1.js +6 -0
  198. package/dist/record/family/assertions-v1.js.map +1 -0
  199. package/dist/record/family/assertions.cjs +16 -5
  200. package/dist/record/family/assertions.cjs.map +1 -1
  201. package/dist/record/family/assertions.d.cts +510 -56
  202. package/dist/record/family/assertions.d.mts +510 -56
  203. package/dist/record/family/assertions.d.ts +510 -56
  204. package/dist/record/family/assertions.js +14 -10
  205. package/dist/record/family/catalog.cjs +17 -1
  206. package/dist/record/family/catalog.cjs.map +1 -1
  207. package/dist/record/family/catalog.d.cts +1292 -104
  208. package/dist/record/family/catalog.d.mts +1292 -104
  209. package/dist/record/family/catalog.d.ts +1292 -104
  210. package/dist/record/family/catalog.js +22 -20
  211. package/dist/record/family/index.js +144 -138
  212. package/dist/record/family/observability-v1.cjs +5 -0
  213. package/dist/record/family/observability-v1.cjs.map +1 -1
  214. package/dist/record/family/observability.cjs +1 -1
  215. package/dist/record/family/observability.cjs.map +1 -1
  216. package/dist/record/host/runtime.cjs +323 -173
  217. package/dist/record/host/runtime.cjs.map +1 -1
  218. package/dist/record/host/types.cjs.map +1 -1
  219. package/dist/record/host/types.d.cts +9 -7
  220. package/dist/record/host/types.d.mts +9 -7
  221. package/dist/record/host/types.d.ts +9 -7
  222. package/dist/record/model/core.cjs.map +1 -1
  223. package/dist/record/model/core.d.cts +1 -2
  224. package/dist/record/model/core.d.mts +1 -2
  225. package/dist/record/model/core.d.ts +1 -2
  226. package/dist/record/model/definition.cjs +1 -2
  227. package/dist/record/model/definition.cjs.map +1 -1
  228. package/dist/record/model/definition.d.cts +1 -7
  229. package/dist/record/model/definition.d.mts +1 -7
  230. package/dist/record/model/definition.d.ts +1 -7
  231. package/dist/record/model/identifiers.cjs +2 -3
  232. package/dist/record/model/identifiers.cjs.map +1 -1
  233. package/dist/record/model/identifiers.d.cts +1 -3
  234. package/dist/record/model/identifiers.d.mts +1 -3
  235. package/dist/record/model/identifiers.d.ts +1 -3
  236. package/dist/record/model/identifiers.js +36 -38
  237. package/dist/record/model/index.js +60 -62
  238. package/dist/record/platform/node.cjs +17 -7
  239. package/dist/record/platform/node.cjs.map +1 -1
  240. package/dist/record/platform/services.cjs.map +1 -1
  241. package/dist/record/platform/services.d.cts +8 -3
  242. package/dist/record/platform/services.d.mts +8 -3
  243. package/dist/record/platform/services.d.ts +8 -3
  244. package/dist/record/reader/format.cjs +16 -65
  245. package/dist/record/reader/format.cjs.map +1 -1
  246. package/dist/record/reader/format.d.cts +5 -9
  247. package/dist/record/reader/format.d.mts +5 -9
  248. package/dist/record/reader/format.d.ts +5 -9
  249. package/dist/record/reader/index.js +10 -8
  250. package/dist/record/reader/runtime.cjs +63 -32
  251. package/dist/record/reader/runtime.cjs.map +1 -1
  252. package/dist/record/reader/runtime.d.cts +40 -4
  253. package/dist/record/reader/runtime.d.mts +40 -4
  254. package/dist/record/reader/runtime.d.ts +40 -4
  255. package/dist/record/reader/runtime.js +6 -4
  256. package/dist/report/assets/enhance.js +5 -5
  257. package/dist/report/assets/styles.css +190 -24
  258. package/dist/report/built-in/result-components.cjs +8 -5
  259. package/dist/report/built-in/result-components.cjs.map +1 -1
  260. package/dist/report/built-in/standard.cjs +3 -0
  261. package/dist/report/built-in/standard.cjs.map +1 -1
  262. package/dist/report/built-in/standard.d.cts +2 -0
  263. package/dist/report/built-in/standard.d.mts +2 -0
  264. package/dist/report/built-in/standard.d.ts +2 -0
  265. package/dist/report/client-dist/app.js +53 -0
  266. package/dist/report/components/attempt-detail/compute.cjs +108 -231
  267. package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
  268. package/dist/report/components/attempt-detail/compute.d.cts +11 -45
  269. package/dist/report/components/attempt-detail/compute.d.mts +11 -45
  270. package/dist/report/components/attempt-detail/compute.d.ts +11 -45
  271. package/dist/report/components/attempt-detail/compute.js +2 -4
  272. package/dist/report/components/attempt-detail/content.cjs +4 -4
  273. package/dist/report/components/attempt-detail/content.cjs.map +1 -1
  274. package/dist/report/components/attempt-detail/validate.cjs +47 -4
  275. package/dist/report/components/attempt-detail/validate.cjs.map +1 -1
  276. package/dist/report/components/entity-lists/compute.cjs +9 -15
  277. package/dist/report/components/entity-lists/compute.cjs.map +1 -1
  278. package/dist/report/components/entity-lists/content.cjs +53 -40
  279. package/dist/report/components/entity-lists/content.cjs.map +1 -1
  280. package/dist/report/components/entity-lists/index.cjs +1 -3
  281. package/dist/report/components/entity-lists/index.cjs.map +1 -1
  282. package/dist/report/components/experiment-detail/compute.cjs +4 -6
  283. package/dist/report/components/experiment-detail/compute.cjs.map +1 -1
  284. package/dist/report/components/summaries/index.cjs +5 -1
  285. package/dist/report/components/summaries/index.cjs.map +1 -1
  286. package/dist/report/definition/cell.cjs +14 -7
  287. package/dist/report/definition/cell.cjs.map +1 -1
  288. package/dist/report/definition/cell.d.cts +4 -0
  289. package/dist/report/definition/cell.d.mts +4 -0
  290. package/dist/report/definition/cell.d.ts +4 -0
  291. package/dist/report/definition/primitives/assertion-evidence.cjs +96 -0
  292. package/dist/report/definition/primitives/assertion-evidence.cjs.map +1 -0
  293. package/dist/report/definition/primitives/assertion-evidence.d.cts +11 -0
  294. package/dist/report/definition/primitives/assertion-evidence.d.mts +11 -0
  295. package/dist/report/definition/primitives/assertion-evidence.d.ts +11 -0
  296. package/dist/report/definition/primitives/assertion-evidence.js +6 -0
  297. package/dist/report/definition/primitives/assertion-evidence.js.map +1 -0
  298. package/dist/report/definition/primitives/conversation.cjs +7 -0
  299. package/dist/report/definition/primitives/conversation.cjs.map +1 -1
  300. package/dist/report/definition/primitives/conversation.d.cts +2 -0
  301. package/dist/report/definition/primitives/conversation.d.mts +2 -0
  302. package/dist/report/definition/primitives/conversation.d.ts +2 -0
  303. package/dist/report/definition/primitives/turn-trace.cjs +53 -3
  304. package/dist/report/definition/primitives/turn-trace.cjs.map +1 -1
  305. package/dist/report/definition/primitives.cjs +14 -1
  306. package/dist/report/definition/primitives.cjs.map +1 -1
  307. package/dist/report/definition/report.cjs +16 -8
  308. package/dist/report/definition/report.cjs.map +1 -1
  309. package/dist/report/definition/report.d.cts +6 -0
  310. package/dist/report/definition/report.d.mts +6 -0
  311. package/dist/report/definition/report.d.ts +6 -0
  312. package/dist/report/definition/table-text.cjs +12 -3
  313. package/dist/report/definition/table-text.cjs.map +1 -1
  314. package/dist/report/definition/table-text.d.cts +6 -1
  315. package/dist/report/definition/table-text.d.mts +6 -1
  316. package/dist/report/definition/table-text.d.ts +6 -1
  317. package/dist/report/execution/model.cjs +6 -14
  318. package/dist/report/execution/model.cjs.map +1 -1
  319. package/dist/report/execution/model.d.cts +5 -10
  320. package/dist/report/execution/model.d.mts +5 -10
  321. package/dist/report/execution/model.d.ts +5 -10
  322. package/dist/report/execution/model.js +6 -6
  323. package/dist/report/execution/paths.cjs +0 -11
  324. package/dist/report/execution/paths.cjs.map +1 -1
  325. package/dist/report/execution/paths.d.cts +0 -1
  326. package/dist/report/execution/paths.d.mts +0 -1
  327. package/dist/report/execution/paths.d.ts +0 -1
  328. package/dist/report/execution/paths.js +6 -8
  329. package/dist/report/host/execute.cjs +13 -22
  330. package/dist/report/host/execute.cjs.map +1 -1
  331. package/dist/report/host/execute.d.cts +1 -4
  332. package/dist/report/host/execute.d.mts +1 -4
  333. package/dist/report/host/execute.d.ts +1 -4
  334. package/dist/report/host/from-record.cjs +3 -0
  335. package/dist/report/host/from-record.cjs.map +1 -1
  336. package/dist/report/host/from-record.d.cts +4 -1
  337. package/dist/report/host/from-record.d.mts +4 -1
  338. package/dist/report/host/from-record.d.ts +4 -1
  339. package/dist/report/host/site-assets.cjs +1 -2
  340. package/dist/report/host/site-assets.cjs.map +1 -1
  341. package/dist/report/host/site-assets.d.cts +0 -1
  342. package/dist/report/host/site-assets.d.mts +0 -1
  343. package/dist/report/host/site-assets.d.ts +0 -1
  344. package/dist/report/host/site-assets.js +2 -4
  345. package/dist/report/host/static.cjs +71 -346
  346. package/dist/report/host/static.cjs.map +1 -1
  347. package/dist/report/host/static.d.cts +1 -3
  348. package/dist/report/host/static.d.mts +1 -3
  349. package/dist/report/host/static.d.ts +1 -3
  350. package/dist/report/host/static.js +2 -2
  351. package/dist/report/host/view-session.cjs.map +1 -1
  352. package/dist/report/host/view-session.d.cts +1 -1
  353. package/dist/report/host/view-session.d.mts +1 -1
  354. package/dist/report/host/view-session.d.ts +1 -1
  355. package/dist/report/model/locale.cjs +1 -1
  356. package/dist/report/model/locale.cjs.map +1 -1
  357. package/dist/report/model/locale.d.cts +1 -1
  358. package/dist/report/model/locale.d.mts +1 -1
  359. package/dist/report/model/locale.d.ts +1 -1
  360. package/dist/report/model/pricing.cjs +2 -2
  361. package/dist/report/model/pricing.cjs.map +1 -1
  362. package/dist/report/react/enhance.js +5 -5
  363. package/dist/report/react/styles.css +190 -24
  364. package/dist/runner/adoption.cjs +4 -7
  365. package/dist/runner/adoption.cjs.map +1 -1
  366. package/dist/runner/attempt-resources.cjs +60 -0
  367. package/dist/runner/attempt-resources.cjs.map +1 -0
  368. package/dist/runner/attempt-resources.d.cts +13 -0
  369. package/dist/runner/attempt-resources.d.mts +13 -0
  370. package/dist/runner/attempt-resources.d.ts +13 -0
  371. package/dist/runner/attempt-resources.js +6 -0
  372. package/dist/runner/attempt-resources.js.map +1 -0
  373. package/dist/runner/attempt.cjs +37 -3
  374. package/dist/runner/attempt.cjs.map +1 -1
  375. package/dist/runner/feedback/failure.cjs +77 -2
  376. package/dist/runner/feedback/failure.cjs.map +1 -1
  377. package/dist/runner/feedback/failure.d.cts +2 -1
  378. package/dist/runner/feedback/failure.d.mts +2 -1
  379. package/dist/runner/feedback/failure.d.ts +2 -1
  380. package/dist/runner/project-current.cjs +2 -13
  381. package/dist/runner/project-current.cjs.map +1 -1
  382. package/dist/runner/project-current.d.cts +4 -2
  383. package/dist/runner/project-current.d.mts +4 -2
  384. package/dist/runner/project-current.d.ts +4 -2
  385. package/dist/runner/reporters/braintrust.cjs +7 -7
  386. package/dist/runner/reporters/braintrust.cjs.map +1 -1
  387. package/dist/runner/reuse-readback.cjs +3 -4
  388. package/dist/runner/reuse-readback.cjs.map +1 -1
  389. package/dist/runner/run.cjs +5 -2
  390. package/dist/runner/run.cjs.map +1 -1
  391. package/dist/sandbox/backend.cjs +32 -2
  392. package/dist/sandbox/backend.cjs.map +1 -1
  393. package/dist/sandbox/backend.d.cts +12 -1
  394. package/dist/sandbox/backend.d.mts +12 -1
  395. package/dist/sandbox/backend.d.ts +12 -1
  396. package/dist/sandbox/backend.js +28 -22
  397. package/dist/sandbox/docker.cjs +140 -0
  398. package/dist/sandbox/docker.cjs.map +1 -1
  399. package/dist/sandbox/docker.d.cts +3 -1
  400. package/dist/sandbox/docker.d.mts +3 -1
  401. package/dist/sandbox/docker.d.ts +3 -1
  402. package/dist/sandbox/e2b.cjs +42 -0
  403. package/dist/sandbox/e2b.cjs.map +1 -1
  404. package/dist/sandbox/e2b.d.cts +2 -0
  405. package/dist/sandbox/e2b.d.mts +2 -0
  406. package/dist/sandbox/e2b.d.ts +2 -0
  407. package/dist/sandbox/local.cjs +64 -0
  408. package/dist/sandbox/local.cjs.map +1 -1
  409. package/dist/sandbox/local.d.cts +3 -1
  410. package/dist/sandbox/local.d.mts +3 -1
  411. package/dist/sandbox/local.d.ts +3 -1
  412. package/dist/sandbox/managed-process.cjs +49 -0
  413. package/dist/sandbox/managed-process.cjs.map +1 -0
  414. package/dist/sandbox/managed-process.d.cts +11 -0
  415. package/dist/sandbox/managed-process.d.mts +11 -0
  416. package/dist/sandbox/managed-process.d.ts +11 -0
  417. package/dist/sandbox/managed-process.js +6 -0
  418. package/dist/sandbox/managed-process.js.map +1 -0
  419. package/dist/sandbox/types.cjs.map +1 -1
  420. package/dist/sandbox/types.d.cts +24 -0
  421. package/dist/sandbox/types.d.mts +24 -0
  422. package/dist/sandbox/types.d.ts +24 -0
  423. package/dist/sandbox/vercel.cjs +1 -0
  424. package/dist/sandbox/vercel.cjs.map +1 -1
  425. package/dist/sandbox/vercel.d.cts +1 -0
  426. package/dist/sandbox/vercel.d.mts +1 -0
  427. package/dist/sandbox/vercel.d.ts +1 -0
  428. package/dist/view/server.cjs +2 -37
  429. package/dist/view/server.cjs.map +1 -1
  430. package/dist/view/server.d.cts +0 -3
  431. package/dist/view/server.d.mts +0 -3
  432. package/dist/view/server.d.ts +0 -3
  433. package/docs-site/zh/reference/builtin-agents.mdx +7 -7
  434. package/docs-site/zh/reference/official-adapters.mdx +4 -4
  435. package/docs-site/zh/reference/report-components.mdx +2 -2
  436. package/docs-site/zh/tutorials/configuration.mdx +2 -2
  437. package/docs-site/zh/tutorials/deploy-report-site.mdx +24 -2
  438. package/docs-site/zh/tutorials/publish-report.mdx +4 -4
  439. package/docs-site/zh/tutorials/sandbox-agent.mdx +5 -5
  440. package/docs-site/zh/tutorials/theming.mdx +2 -2
  441. package/package.json +4 -6
  442. package/dist/record/migration/index.cjs +0 -5
  443. package/dist/record/migration/index.cjs.map +0 -1
  444. package/dist/record/migration/index.d.cts +0 -11
  445. package/dist/record/migration/index.d.mts +0 -11
  446. package/dist/record/migration/index.d.ts +0 -11
  447. package/dist/record/migration/index.js +0 -6
  448. package/dist/record/migration/index.js.map +0 -1
  449. package/dist/report/host/site-runtime.cjs +0 -92
  450. package/dist/report/host/site-runtime.cjs.map +0 -1
  451. package/dist/report/host/site-runtime.d.cts +0 -9
  452. package/dist/report/host/site-runtime.d.mts +0 -9
  453. package/dist/report/host/site-runtime.d.ts +0 -9
  454. package/dist/report/host/site-runtime.js +0 -10
  455. package/dist/report/host/site-runtime.js.map +0 -1
  456. package/dist/view/client-dist/app.css +0 -2
  457. package/dist/view/client-dist/app.js +0 -49
  458. package/dist/view/data.cjs +0 -3
  459. package/dist/view/data.cjs.map +0 -1
  460. package/dist/view/data.d.cts +0 -9
  461. package/dist/view/data.d.mts +0 -9
  462. package/dist/view/data.d.ts +0 -9
  463. package/dist/view/data.js +0 -4
  464. package/dist/view/data.js.map +0 -1
  465. package/dist/view/index.cjs +0 -24
  466. package/dist/view/index.cjs.map +0 -1
  467. package/dist/view/index.d.cts +0 -9
  468. package/dist/view/index.d.mts +0 -9
  469. package/dist/view/index.d.ts +0 -9
  470. package/dist/view/index.js +0 -28
  471. package/dist/view/index.js.map +0 -1
  472. package/dist/view/report-view-cache.cjs +0 -200
  473. package/dist/view/report-view-cache.cjs.map +0 -1
  474. package/dist/view/report-view-cache.d.cts +0 -67
  475. package/dist/view/report-view-cache.d.mts +0 -67
  476. package/dist/view/report-view-cache.d.ts +0 -67
  477. package/dist/view/report-view-cache.js +0 -8
  478. package/dist/view/report-view-cache.js.map +0 -1
  479. package/dist/view/shared/types.cjs +0 -3
  480. package/dist/view/shared/types.cjs.map +0 -1
  481. package/dist/view/shared/types.d.cts +0 -51
  482. package/dist/view/shared/types.d.mts +0 -51
  483. package/dist/view/shared/types.d.ts +0 -51
  484. package/dist/view/shared/types.js +0 -4
  485. package/dist/view/shared/types.js.map +0 -1
  486. package/dist/view/site.cjs +0 -32
  487. package/dist/view/site.cjs.map +0 -1
  488. package/dist/view/site.d.cts +0 -24
  489. package/dist/view/site.d.mts +0 -24
  490. package/dist/view/site.d.ts +0 -24
  491. package/dist/view/site.js +0 -8
  492. package/dist/view/site.js.map +0 -1
  493. package/dist/view/styles.css +0 -170
  494. package/dist/view/template.html +0 -17
package/dist/cli.d.cts CHANGED
@@ -1,148 +1,2 @@
1
- import { Cause, Effect } from "effect";
2
- import type { ExperimentRenamePlan, ExperimentRenameRejected, RenamedExperiment } from "./runner/rename-experiment.cjs";
3
- import { ExperimentRenameError } from "./runner/rename-experiment.cjs";
4
- import type { InvocationSummary } from "./types.cjs";
5
- declare const CliUsageError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
6
- readonly _tag: "CliUsageError";
7
- } & Readonly<A>;
8
- /** A recoverable command-line usage error. Defects deliberately do not enter this channel. */
9
- export declare class CliUsageError extends CliUsageError_base<{
10
- readonly message: string;
11
- readonly exitCode: number;
12
- }> {
13
- }
14
- declare const CliOperationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
15
- readonly _tag: "CliOperationError";
16
- } & Readonly<A>;
17
- /** A recoverable failure from a concrete CLI-owned boundary (file, process, or dynamic module). */
18
- export declare class CliOperationError extends CliOperationError_base<{
19
- readonly operation: string;
20
- readonly cause: unknown;
21
- readonly exitCode: number;
22
- }> {
23
- }
24
- export type CliFailure = CliUsageError | CliOperationError;
25
- /**
26
- * Bootstrap owns process signals until an Eval has reached actual dispatch.
27
- * The CLI claims the Invocation signal synchronously immediately before
28
- * Experiment Host dispatch; it never infers this from argv outside the command
29
- * dispatcher.
30
- */
31
- export interface CliInterruptionOwnership {
32
- readonly invocationSignal: AbortSignal;
33
- /** False means bootstrap already accepted a root-owned first signal. */
34
- readonly enterGracefulDispatch: () => boolean;
35
- }
36
- /** Bootstrap owns presentation of typed failures; defects and interruption stay in Cause. */
37
- export declare function renderCliFailure(failure: CliFailure): string;
38
- export interface Flags {
39
- agent?: string;
40
- model?: string;
41
- attempts?: number;
42
- maxConcurrency?: number;
43
- maxBuildConcurrency?: number;
44
- timeout?: number;
45
- earlyExit?: boolean;
46
- dry: boolean;
47
- force: boolean;
48
- rerun?: "failed" | "all";
49
- budget?: number;
50
- tag?: string;
51
- junit?: string;
52
- /** `exp` 命令专用:机器面(NDJSON 事件流)。省略即人读文本(见 `resolveOutputForm`)。 */
53
- json: boolean;
54
- /** `docker profile doctor` 专用:运行一次真实嵌套 Docker 冒烟。 */
55
- smoke: boolean;
56
- open?: boolean;
57
- out?: string;
58
- port?: number;
59
- host?: string;
60
- help: boolean;
61
- version: boolean;
62
- /** `clean` / `migrate` 专用:确认删除未完成 Run 或在 clean Git restore point 下执行 migration。 */
63
- yes: boolean;
64
- source?: true | string;
65
- execution: boolean;
66
- diff: boolean;
67
- /** --diff=<路径>(必须 = 连写;空格形式会把路径当 eval id 前缀,按文档如此)。 */
68
- diffPath?: string;
69
- /** `show @<AttemptId> --execution` 专用:JS 正则,只显示命中的 transcript / tool / command evidence。 */
70
- grep?: string;
71
- timing?: "summary" | "full";
72
- keepSandbox?: "failed" | "all";
73
- all: boolean;
74
- window?: string;
75
- sandboxPath?: string;
76
- leaveRunning: boolean;
77
- history: boolean;
78
- usage: boolean;
79
- stats: boolean;
80
- /** `show` / `view` 命令专用:默认读取当前项目结果时,按完整 ExperimentId 收窄目标。 */
81
- experiment?: string[];
82
- /** `show` / `view` / `accept` / `sandbox enter|list|stop` 共用:记录根目录(`.niceeval` 之外的另一个根,如 `publish` 产出的发布根)。 */
83
- record?: string;
84
- /** `show` / `view` 命令专用:`--run` 可重复;按完整 RunId 去重。 */
85
- run?: string[];
86
- report?: string;
87
- page?: string;
88
- theme?: string;
89
- /** `sandbox list` 专用:核对强杀路径留下的无主实例。 */
90
- orphans: boolean;
91
- /** `exp` 命令专用:只对选中实验各执行一次实验级 teardown,不派发 attempt、不跑 setup。 */
92
- teardown: boolean;
93
- /** `exp --teardown` 专用:请求显式恢复的 sharedState key。 */
94
- recoverSharedState?: string;
95
- /** `exp --teardown --recover-shared-state` 专用:不可变 lease owner token。 */
96
- ownerToken?: string;
97
- /** 明确确认记录的 owner 已终止;没有它恢复拒绝执行。 */
98
- confirmOwnerTerminated: boolean;
99
- /** 明确确认远端外部状态已静止;没有它恢复拒绝执行。 */
100
- confirmRemoteQuiesced: boolean;
101
- }
102
- /**
103
- * Fold the invocation's real fresh results and current Record readbacks at the
104
- * same eval identity. This intentionally projects only identity + terminal
105
- * verdict; a reused readback is never recreated as an EvalResult.
106
- */
107
- export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("./shared/verdict.cjs").EvalLevelStats;
108
- export declare const EXPERIMENT_RENAME_FORMAT: "niceeval.experimentRename";
109
- export declare const EXPERIMENT_RENAME_SCHEMA_VERSION: 1;
110
- /**
111
- * exp rename 的机器文档:单份 JSON,按 status 判别。
112
- * - `plan`(核心计划,可含 `blocked` 阻断原因);
113
- * - `rejected`(核心 `renameExperiment` 抛 `ExperimentRenameError` 时的整批拒绝);
114
- * - `done`(核心 `RenamedExperiment` = 成功文档)。
115
- */
116
- export type ExperimentRenameJsonDocument = ExperimentRenamePlan | ExperimentRenameRejected | RenamedExperiment;
117
- /**
118
- * 解析 exp rename 的位置参数:必须恰好两个(一个旧 id、一个新 id)。
119
- * 纯函数,CLI 与测试共用。
120
- */
121
- export declare function parseExperimentRenamePositionals(args: readonly string[]): {
122
- ok: true;
123
- oldId: string;
124
- newId: string;
125
- } | {
126
- ok: false;
127
- kind: "usage";
128
- };
129
- /**
130
- * exp rename 只允许 --dry / --json;返回第一个被误用的 flag,没有误用返回 undefined。
131
- * 与 accept 同一套纪律:node:util parseArgs 已经报未知 flag,这里拒绝那些全局已知、
132
- * 但会改变运行/查看语义的 flag。
133
- */
134
- export declare function firstExperimentRenameUnsupportedFlag(flags: Flags): string | undefined;
135
- /** 人读面:核心计划 → 预览文本。逐条列出迁移与排除;有 `blocked` 时点名阻断原因。 */
136
- export declare function renderExperimentRenamePlanHuman(plan: ExperimentRenamePlan): string;
137
- /** 拒绝的人读面:先给 reason 专属文案(点名旧 id、新 id、受影响 eval 与下一步),再补冲突清单。 */
138
- export declare function renderExperimentRenameRejectedHuman(rejected: ExperimentRenameRejected): string;
139
- /** 成功的人读面:新 snapshot 路径 + 逐条新 locator。 */
140
- export declare function renderExperimentRenameDoneHuman(done: RenamedExperiment): string;
141
- /** 机器面:单份 JSON 文档,不混入人读文本(见 rename.md「命令」)。 */
142
- export declare function renderExperimentRenameJson(document: ExperimentRenameJsonDocument): string;
143
- /** 把 renameExperiment 抛出的资格错误投影成 rejected 文档(JSON 与拒绝人读共用)。 */
144
- export declare function experimentRenameRejectedFromError(error: ExperimentRenameError): ExperimentRenameRejected;
145
- /** 退出码:可迁移预览与成功执行为 0;blocked 预览 / rejected 整批零写入按失败退出。 */
146
- export declare function experimentRenameExitCode(document: ExperimentRenameJsonDocument): number;
147
- export declare const cliProgram: (interruption?: CliInterruptionOwnership) => Effect.Effect<number, CliFailure, import("effect/Scope").Scope | import("./coordination/record-leases.cjs").RecordCoordination | import("./record/platform/services.cjs").RecordFileSystem | import("./record/platform/services.cjs").RecordEntropy | import("./record/platform/services.cjs").RecordGit>;
148
- export {};
1
+ export * from "./cli/application.cjs";
2
+ export { FLAG_OPTIONS } from "./cli/program.cjs";
package/dist/cli.d.mts CHANGED
@@ -1,148 +1,2 @@
1
- import { Cause, Effect } from "effect";
2
- import type { ExperimentRenamePlan, ExperimentRenameRejected, RenamedExperiment } from "./runner/rename-experiment.mjs";
3
- import { ExperimentRenameError } from "./runner/rename-experiment.mjs";
4
- import type { InvocationSummary } from "./types.mjs";
5
- declare const CliUsageError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
6
- readonly _tag: "CliUsageError";
7
- } & Readonly<A>;
8
- /** A recoverable command-line usage error. Defects deliberately do not enter this channel. */
9
- export declare class CliUsageError extends CliUsageError_base<{
10
- readonly message: string;
11
- readonly exitCode: number;
12
- }> {
13
- }
14
- declare const CliOperationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
15
- readonly _tag: "CliOperationError";
16
- } & Readonly<A>;
17
- /** A recoverable failure from a concrete CLI-owned boundary (file, process, or dynamic module). */
18
- export declare class CliOperationError extends CliOperationError_base<{
19
- readonly operation: string;
20
- readonly cause: unknown;
21
- readonly exitCode: number;
22
- }> {
23
- }
24
- export type CliFailure = CliUsageError | CliOperationError;
25
- /**
26
- * Bootstrap owns process signals until an Eval has reached actual dispatch.
27
- * The CLI claims the Invocation signal synchronously immediately before
28
- * Experiment Host dispatch; it never infers this from argv outside the command
29
- * dispatcher.
30
- */
31
- export interface CliInterruptionOwnership {
32
- readonly invocationSignal: AbortSignal;
33
- /** False means bootstrap already accepted a root-owned first signal. */
34
- readonly enterGracefulDispatch: () => boolean;
35
- }
36
- /** Bootstrap owns presentation of typed failures; defects and interruption stay in Cause. */
37
- export declare function renderCliFailure(failure: CliFailure): string;
38
- export interface Flags {
39
- agent?: string;
40
- model?: string;
41
- attempts?: number;
42
- maxConcurrency?: number;
43
- maxBuildConcurrency?: number;
44
- timeout?: number;
45
- earlyExit?: boolean;
46
- dry: boolean;
47
- force: boolean;
48
- rerun?: "failed" | "all";
49
- budget?: number;
50
- tag?: string;
51
- junit?: string;
52
- /** `exp` 命令专用:机器面(NDJSON 事件流)。省略即人读文本(见 `resolveOutputForm`)。 */
53
- json: boolean;
54
- /** `docker profile doctor` 专用:运行一次真实嵌套 Docker 冒烟。 */
55
- smoke: boolean;
56
- open?: boolean;
57
- out?: string;
58
- port?: number;
59
- host?: string;
60
- help: boolean;
61
- version: boolean;
62
- /** `clean` / `migrate` 专用:确认删除未完成 Run 或在 clean Git restore point 下执行 migration。 */
63
- yes: boolean;
64
- source?: true | string;
65
- execution: boolean;
66
- diff: boolean;
67
- /** --diff=<路径>(必须 = 连写;空格形式会把路径当 eval id 前缀,按文档如此)。 */
68
- diffPath?: string;
69
- /** `show @<AttemptId> --execution` 专用:JS 正则,只显示命中的 transcript / tool / command evidence。 */
70
- grep?: string;
71
- timing?: "summary" | "full";
72
- keepSandbox?: "failed" | "all";
73
- all: boolean;
74
- window?: string;
75
- sandboxPath?: string;
76
- leaveRunning: boolean;
77
- history: boolean;
78
- usage: boolean;
79
- stats: boolean;
80
- /** `show` / `view` 命令专用:默认读取当前项目结果时,按完整 ExperimentId 收窄目标。 */
81
- experiment?: string[];
82
- /** `show` / `view` / `accept` / `sandbox enter|list|stop` 共用:记录根目录(`.niceeval` 之外的另一个根,如 `publish` 产出的发布根)。 */
83
- record?: string;
84
- /** `show` / `view` 命令专用:`--run` 可重复;按完整 RunId 去重。 */
85
- run?: string[];
86
- report?: string;
87
- page?: string;
88
- theme?: string;
89
- /** `sandbox list` 专用:核对强杀路径留下的无主实例。 */
90
- orphans: boolean;
91
- /** `exp` 命令专用:只对选中实验各执行一次实验级 teardown,不派发 attempt、不跑 setup。 */
92
- teardown: boolean;
93
- /** `exp --teardown` 专用:请求显式恢复的 sharedState key。 */
94
- recoverSharedState?: string;
95
- /** `exp --teardown --recover-shared-state` 专用:不可变 lease owner token。 */
96
- ownerToken?: string;
97
- /** 明确确认记录的 owner 已终止;没有它恢复拒绝执行。 */
98
- confirmOwnerTerminated: boolean;
99
- /** 明确确认远端外部状态已静止;没有它恢复拒绝执行。 */
100
- confirmRemoteQuiesced: boolean;
101
- }
102
- /**
103
- * Fold the invocation's real fresh results and current Record readbacks at the
104
- * same eval identity. This intentionally projects only identity + terminal
105
- * verdict; a reused readback is never recreated as an EvalResult.
106
- */
107
- export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("./shared/verdict.mjs").EvalLevelStats;
108
- export declare const EXPERIMENT_RENAME_FORMAT: "niceeval.experimentRename";
109
- export declare const EXPERIMENT_RENAME_SCHEMA_VERSION: 1;
110
- /**
111
- * exp rename 的机器文档:单份 JSON,按 status 判别。
112
- * - `plan`(核心计划,可含 `blocked` 阻断原因);
113
- * - `rejected`(核心 `renameExperiment` 抛 `ExperimentRenameError` 时的整批拒绝);
114
- * - `done`(核心 `RenamedExperiment` = 成功文档)。
115
- */
116
- export type ExperimentRenameJsonDocument = ExperimentRenamePlan | ExperimentRenameRejected | RenamedExperiment;
117
- /**
118
- * 解析 exp rename 的位置参数:必须恰好两个(一个旧 id、一个新 id)。
119
- * 纯函数,CLI 与测试共用。
120
- */
121
- export declare function parseExperimentRenamePositionals(args: readonly string[]): {
122
- ok: true;
123
- oldId: string;
124
- newId: string;
125
- } | {
126
- ok: false;
127
- kind: "usage";
128
- };
129
- /**
130
- * exp rename 只允许 --dry / --json;返回第一个被误用的 flag,没有误用返回 undefined。
131
- * 与 accept 同一套纪律:node:util parseArgs 已经报未知 flag,这里拒绝那些全局已知、
132
- * 但会改变运行/查看语义的 flag。
133
- */
134
- export declare function firstExperimentRenameUnsupportedFlag(flags: Flags): string | undefined;
135
- /** 人读面:核心计划 → 预览文本。逐条列出迁移与排除;有 `blocked` 时点名阻断原因。 */
136
- export declare function renderExperimentRenamePlanHuman(plan: ExperimentRenamePlan): string;
137
- /** 拒绝的人读面:先给 reason 专属文案(点名旧 id、新 id、受影响 eval 与下一步),再补冲突清单。 */
138
- export declare function renderExperimentRenameRejectedHuman(rejected: ExperimentRenameRejected): string;
139
- /** 成功的人读面:新 snapshot 路径 + 逐条新 locator。 */
140
- export declare function renderExperimentRenameDoneHuman(done: RenamedExperiment): string;
141
- /** 机器面:单份 JSON 文档,不混入人读文本(见 rename.md「命令」)。 */
142
- export declare function renderExperimentRenameJson(document: ExperimentRenameJsonDocument): string;
143
- /** 把 renameExperiment 抛出的资格错误投影成 rejected 文档(JSON 与拒绝人读共用)。 */
144
- export declare function experimentRenameRejectedFromError(error: ExperimentRenameError): ExperimentRenameRejected;
145
- /** 退出码:可迁移预览与成功执行为 0;blocked 预览 / rejected 整批零写入按失败退出。 */
146
- export declare function experimentRenameExitCode(document: ExperimentRenameJsonDocument): number;
147
- export declare const cliProgram: (interruption?: CliInterruptionOwnership) => Effect.Effect<number, CliFailure, import("effect/Scope").Scope | import("./coordination/record-leases.mjs").RecordCoordination | import("./record/platform/services.mjs").RecordFileSystem | import("./record/platform/services.mjs").RecordEntropy | import("./record/platform/services.mjs").RecordGit>;
148
- export {};
1
+ export * from "./cli/application.mjs";
2
+ export { FLAG_OPTIONS } from "./cli/program.mjs";
package/dist/cli.d.ts CHANGED
@@ -1,148 +1,2 @@
1
- import { Cause, Effect } from "effect";
2
- import type { ExperimentRenamePlan, ExperimentRenameRejected, RenamedExperiment } from "./runner/rename-experiment.js";
3
- import { ExperimentRenameError } from "./runner/rename-experiment.js";
4
- import type { InvocationSummary } from "./types.js";
5
- declare const CliUsageError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
6
- readonly _tag: "CliUsageError";
7
- } & Readonly<A>;
8
- /** A recoverable command-line usage error. Defects deliberately do not enter this channel. */
9
- export declare class CliUsageError extends CliUsageError_base<{
10
- readonly message: string;
11
- readonly exitCode: number;
12
- }> {
13
- }
14
- declare const CliOperationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
15
- readonly _tag: "CliOperationError";
16
- } & Readonly<A>;
17
- /** A recoverable failure from a concrete CLI-owned boundary (file, process, or dynamic module). */
18
- export declare class CliOperationError extends CliOperationError_base<{
19
- readonly operation: string;
20
- readonly cause: unknown;
21
- readonly exitCode: number;
22
- }> {
23
- }
24
- export type CliFailure = CliUsageError | CliOperationError;
25
- /**
26
- * Bootstrap owns process signals until an Eval has reached actual dispatch.
27
- * The CLI claims the Invocation signal synchronously immediately before
28
- * Experiment Host dispatch; it never infers this from argv outside the command
29
- * dispatcher.
30
- */
31
- export interface CliInterruptionOwnership {
32
- readonly invocationSignal: AbortSignal;
33
- /** False means bootstrap already accepted a root-owned first signal. */
34
- readonly enterGracefulDispatch: () => boolean;
35
- }
36
- /** Bootstrap owns presentation of typed failures; defects and interruption stay in Cause. */
37
- export declare function renderCliFailure(failure: CliFailure): string;
38
- export interface Flags {
39
- agent?: string;
40
- model?: string;
41
- attempts?: number;
42
- maxConcurrency?: number;
43
- maxBuildConcurrency?: number;
44
- timeout?: number;
45
- earlyExit?: boolean;
46
- dry: boolean;
47
- force: boolean;
48
- rerun?: "failed" | "all";
49
- budget?: number;
50
- tag?: string;
51
- junit?: string;
52
- /** `exp` 命令专用:机器面(NDJSON 事件流)。省略即人读文本(见 `resolveOutputForm`)。 */
53
- json: boolean;
54
- /** `docker profile doctor` 专用:运行一次真实嵌套 Docker 冒烟。 */
55
- smoke: boolean;
56
- open?: boolean;
57
- out?: string;
58
- port?: number;
59
- host?: string;
60
- help: boolean;
61
- version: boolean;
62
- /** `clean` / `migrate` 专用:确认删除未完成 Run 或在 clean Git restore point 下执行 migration。 */
63
- yes: boolean;
64
- source?: true | string;
65
- execution: boolean;
66
- diff: boolean;
67
- /** --diff=<路径>(必须 = 连写;空格形式会把路径当 eval id 前缀,按文档如此)。 */
68
- diffPath?: string;
69
- /** `show @<AttemptId> --execution` 专用:JS 正则,只显示命中的 transcript / tool / command evidence。 */
70
- grep?: string;
71
- timing?: "summary" | "full";
72
- keepSandbox?: "failed" | "all";
73
- all: boolean;
74
- window?: string;
75
- sandboxPath?: string;
76
- leaveRunning: boolean;
77
- history: boolean;
78
- usage: boolean;
79
- stats: boolean;
80
- /** `show` / `view` 命令专用:默认读取当前项目结果时,按完整 ExperimentId 收窄目标。 */
81
- experiment?: string[];
82
- /** `show` / `view` / `accept` / `sandbox enter|list|stop` 共用:记录根目录(`.niceeval` 之外的另一个根,如 `publish` 产出的发布根)。 */
83
- record?: string;
84
- /** `show` / `view` 命令专用:`--run` 可重复;按完整 RunId 去重。 */
85
- run?: string[];
86
- report?: string;
87
- page?: string;
88
- theme?: string;
89
- /** `sandbox list` 专用:核对强杀路径留下的无主实例。 */
90
- orphans: boolean;
91
- /** `exp` 命令专用:只对选中实验各执行一次实验级 teardown,不派发 attempt、不跑 setup。 */
92
- teardown: boolean;
93
- /** `exp --teardown` 专用:请求显式恢复的 sharedState key。 */
94
- recoverSharedState?: string;
95
- /** `exp --teardown --recover-shared-state` 专用:不可变 lease owner token。 */
96
- ownerToken?: string;
97
- /** 明确确认记录的 owner 已终止;没有它恢复拒绝执行。 */
98
- confirmOwnerTerminated: boolean;
99
- /** 明确确认远端外部状态已静止;没有它恢复拒绝执行。 */
100
- confirmRemoteQuiesced: boolean;
101
- }
102
- /**
103
- * Fold the invocation's real fresh results and current Record readbacks at the
104
- * same eval identity. This intentionally projects only identity + terminal
105
- * verdict; a reused readback is never recreated as an EvalResult.
106
- */
107
- export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("./shared/verdict.js").EvalLevelStats;
108
- export declare const EXPERIMENT_RENAME_FORMAT: "niceeval.experimentRename";
109
- export declare const EXPERIMENT_RENAME_SCHEMA_VERSION: 1;
110
- /**
111
- * exp rename 的机器文档:单份 JSON,按 status 判别。
112
- * - `plan`(核心计划,可含 `blocked` 阻断原因);
113
- * - `rejected`(核心 `renameExperiment` 抛 `ExperimentRenameError` 时的整批拒绝);
114
- * - `done`(核心 `RenamedExperiment` = 成功文档)。
115
- */
116
- export type ExperimentRenameJsonDocument = ExperimentRenamePlan | ExperimentRenameRejected | RenamedExperiment;
117
- /**
118
- * 解析 exp rename 的位置参数:必须恰好两个(一个旧 id、一个新 id)。
119
- * 纯函数,CLI 与测试共用。
120
- */
121
- export declare function parseExperimentRenamePositionals(args: readonly string[]): {
122
- ok: true;
123
- oldId: string;
124
- newId: string;
125
- } | {
126
- ok: false;
127
- kind: "usage";
128
- };
129
- /**
130
- * exp rename 只允许 --dry / --json;返回第一个被误用的 flag,没有误用返回 undefined。
131
- * 与 accept 同一套纪律:node:util parseArgs 已经报未知 flag,这里拒绝那些全局已知、
132
- * 但会改变运行/查看语义的 flag。
133
- */
134
- export declare function firstExperimentRenameUnsupportedFlag(flags: Flags): string | undefined;
135
- /** 人读面:核心计划 → 预览文本。逐条列出迁移与排除;有 `blocked` 时点名阻断原因。 */
136
- export declare function renderExperimentRenamePlanHuman(plan: ExperimentRenamePlan): string;
137
- /** 拒绝的人读面:先给 reason 专属文案(点名旧 id、新 id、受影响 eval 与下一步),再补冲突清单。 */
138
- export declare function renderExperimentRenameRejectedHuman(rejected: ExperimentRenameRejected): string;
139
- /** 成功的人读面:新 snapshot 路径 + 逐条新 locator。 */
140
- export declare function renderExperimentRenameDoneHuman(done: RenamedExperiment): string;
141
- /** 机器面:单份 JSON 文档,不混入人读文本(见 rename.md「命令」)。 */
142
- export declare function renderExperimentRenameJson(document: ExperimentRenameJsonDocument): string;
143
- /** 把 renameExperiment 抛出的资格错误投影成 rejected 文档(JSON 与拒绝人读共用)。 */
144
- export declare function experimentRenameRejectedFromError(error: ExperimentRenameError): ExperimentRenameRejected;
145
- /** 退出码:可迁移预览与成功执行为 0;blocked 预览 / rejected 整批零写入按失败退出。 */
146
- export declare function experimentRenameExitCode(document: ExperimentRenameJsonDocument): number;
147
- export declare const cliProgram: (interruption?: CliInterruptionOwnership) => Effect.Effect<number, CliFailure, import("effect/Scope").Scope | import("./coordination/record-leases.js").RecordCoordination | import("./record/platform/services.js").RecordFileSystem | import("./record/platform/services.js").RecordEntropy | import("./record/platform/services.js").RecordGit>;
148
- export {};
1
+ export * from "./cli/application.js";
2
+ export { FLAG_OPTIONS } from "./cli/program.js";
package/dist/cli.js CHANGED
@@ -1,34 +1,26 @@
1
1
  import { createRequire as __niceevalCreateRequire } from "node:module";
2
2
  const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
3
3
  const __niceevalCanonical = __niceevalRequire("./cli.cjs");
4
- const __niceevalExport0 = __niceevalCanonical["CliOperationError"];
5
- export { __niceevalExport0 as CliOperationError };
6
- const __niceevalExport1 = __niceevalCanonical["CliUsageError"];
7
- export { __niceevalExport1 as CliUsageError };
8
- const __niceevalExport2 = __niceevalCanonical["EXPERIMENT_RENAME_FORMAT"];
9
- export { __niceevalExport2 as EXPERIMENT_RENAME_FORMAT };
10
- const __niceevalExport3 = __niceevalCanonical["EXPERIMENT_RENAME_SCHEMA_VERSION"];
11
- export { __niceevalExport3 as EXPERIMENT_RENAME_SCHEMA_VERSION };
12
- const __niceevalExport4 = __niceevalCanonical["cliProgram"];
13
- export { __niceevalExport4 as cliProgram };
14
- const __niceevalExport5 = __niceevalCanonical["experimentRenameExitCode"];
15
- export { __niceevalExport5 as experimentRenameExitCode };
16
- const __niceevalExport6 = __niceevalCanonical["experimentRenameRejectedFromError"];
17
- export { __niceevalExport6 as experimentRenameRejectedFromError };
18
- const __niceevalExport7 = __niceevalCanonical["firstExperimentRenameUnsupportedFlag"];
19
- export { __niceevalExport7 as firstExperimentRenameUnsupportedFlag };
20
- const __niceevalExport8 = __niceevalCanonical["foldInvocationEvalStats"];
21
- export { __niceevalExport8 as foldInvocationEvalStats };
22
- const __niceevalExport9 = __niceevalCanonical["parseExperimentRenamePositionals"];
23
- export { __niceevalExport9 as parseExperimentRenamePositionals };
24
- const __niceevalExport10 = __niceevalCanonical["renderCliFailure"];
25
- export { __niceevalExport10 as renderCliFailure };
26
- const __niceevalExport11 = __niceevalCanonical["renderExperimentRenameDoneHuman"];
27
- export { __niceevalExport11 as renderExperimentRenameDoneHuman };
28
- const __niceevalExport12 = __niceevalCanonical["renderExperimentRenameJson"];
29
- export { __niceevalExport12 as renderExperimentRenameJson };
30
- const __niceevalExport13 = __niceevalCanonical["renderExperimentRenamePlanHuman"];
31
- export { __niceevalExport13 as renderExperimentRenamePlanHuman };
32
- const __niceevalExport14 = __niceevalCanonical["renderExperimentRenameRejectedHuman"];
33
- export { __niceevalExport14 as renderExperimentRenameRejectedHuman };
4
+ const __niceevalExport0 = __niceevalCanonical["BrowserLauncher"];
5
+ export { __niceevalExport0 as BrowserLauncher };
6
+ const __niceevalExport1 = __niceevalCanonical["CliArguments"];
7
+ export { __niceevalExport1 as CliArguments };
8
+ const __niceevalExport2 = __niceevalCanonical["CliInvocationError"];
9
+ export { __niceevalExport2 as CliInvocationError };
10
+ const __niceevalExport3 = __niceevalCanonical["CliInvocationFacts"];
11
+ export { __niceevalExport3 as CliInvocationFacts };
12
+ const __niceevalExport4 = __niceevalCanonical["CliOutput"];
13
+ export { __niceevalExport4 as CliOutput };
14
+ const __niceevalExport5 = __niceevalCanonical["CliPath"];
15
+ export { __niceevalExport5 as CliPath };
16
+ const __niceevalExport6 = __niceevalCanonical["CliReportPlatform"];
17
+ export { __niceevalExport6 as CliReportPlatform };
18
+ const __niceevalExport7 = __niceevalCanonical["CliTerminal"];
19
+ export { __niceevalExport7 as CliTerminal };
20
+ const __niceevalExport8 = __niceevalCanonical["FLAG_OPTIONS"];
21
+ export { __niceevalExport8 as FLAG_OPTIONS };
22
+ const __niceevalExport9 = __niceevalCanonical["PackageMetadata"];
23
+ export { __niceevalExport9 as PackageMetadata };
24
+ const __niceevalExport10 = __niceevalCanonical["ProjectInitializer"];
25
+ export { __niceevalExport10 as ProjectInitializer };
34
26
  //# sourceMappingURL=cli.js.map
@@ -145,14 +145,15 @@ function toolScopeCoverageReason(snapshot) {
145
145
  function collectionAssertionEvaluation(result) {
146
146
  switch (result.state) {
147
147
  case "matched":
148
- return Object.freeze({ state: "matched", value: undefined, diagnostic: result.diagnostic });
148
+ return Object.freeze({ state: "matched", value: undefined, diagnostic: result.diagnostic, receipt: result.receipt });
149
149
  case "mismatched":
150
- return Object.freeze({ state: "mismatched", diagnostic: result.diagnostic });
150
+ return Object.freeze({ state: "mismatched", diagnostic: result.diagnostic, receipt: result.receipt });
151
151
  case "unavailable":
152
152
  return Object.freeze({
153
153
  state: "unavailable",
154
154
  reason: "evidence-unavailable",
155
155
  diagnostic: result.diagnostic,
156
+ receipt: result.receipt,
156
157
  });
157
158
  }
158
159
  }
@@ -162,8 +163,8 @@ function toolAssertionHandle(input) {
162
163
  occurrence: "tool",
163
164
  matcher: input.match.name,
164
165
  quantifier: input.quantifier,
165
- candidates: input.snapshot.occurrences,
166
- orphanFinishes: input.snapshot.orphanFinishes,
166
+ candidateCount: input.snapshot.occurrences.length,
167
+ orphanFinishCount: input.snapshot.orphanFinishes.length,
167
168
  coverage: input.snapshot.coverage.actions,
168
169
  snapshot: input.snapshot.snapshot,
169
170
  });
@@ -203,7 +204,11 @@ function notCalledToolHandle(input) {
203
204
  });
204
205
  }
205
206
  function valueMatchCriterion() {
206
- return Object.freeze({ kind: "value-match", subject: "explicit-value" });
207
+ return Object.freeze({
208
+ kind: "value-match",
209
+ subject: "explicit-value",
210
+ matcher: Object.freeze({ state: "unavailable" }),
211
+ });
207
212
  }
208
213
  function matchedVoid() {
209
214
  return Object.freeze({ state: "matched", value: undefined });
@@ -244,8 +249,8 @@ function usedNoToolsHandle(input) {
244
249
  snapshot: Object.freeze({
245
250
  scope: input.scope,
246
251
  assertion: "used-no-tools",
247
- occurrences: input.snapshot.occurrences,
248
- orphanFinishes: input.snapshot.orphanFinishes,
252
+ occurrenceCount: input.snapshot.occurrences.length,
253
+ orphanFinishCount: input.snapshot.orphanFinishes.length,
249
254
  coverage: input.snapshot.coverage.actions,
250
255
  snapshot: input.snapshot.snapshot,
251
256
  }),
@@ -267,8 +272,8 @@ function maxToolCallsHandle(input) {
267
272
  scope: input.scope,
268
273
  assertion: "max-tool-calls",
269
274
  max: input.max,
270
- occurrences: input.snapshot.occurrences,
271
- orphanFinishes: input.snapshot.orphanFinishes,
275
+ occurrenceCount: input.snapshot.occurrences.length,
276
+ orphanFinishCount: input.snapshot.orphanFinishes.length,
272
277
  coverage: input.snapshot.coverage.actions,
273
278
  snapshot: input.snapshot.snapshot,
274
279
  }),
@@ -288,7 +293,7 @@ function noFailedActionsHandle(input) {
288
293
  snapshot: Object.freeze({
289
294
  scope: input.scope,
290
295
  assertion: "no-failed-actions",
291
- events: input.events,
296
+ eventCount: input.events.length,
292
297
  coverage: input.coverage.actions,
293
298
  snapshot: input.snapshot,
294
299
  }),
@@ -380,8 +385,8 @@ function toolOrderHandle(input) {
380
385
  scope: input.scope,
381
386
  assertion: "tool-order",
382
387
  matches: matches.map((match) => match.name),
383
- occurrences: input.snapshot.occurrences,
384
- orphanFinishes: input.snapshot.orphanFinishes,
388
+ occurrenceCount: input.snapshot.occurrences.length,
389
+ orphanFinishCount: input.snapshot.orphanFinishes.length,
385
390
  coverage: input.snapshot.coverage.actions,
386
391
  snapshot: input.snapshot.snapshot,
387
392
  }),
@@ -523,7 +528,7 @@ function eventAssertionHandle(input) {
523
528
  occurrence: "event",
524
529
  matcher: input.match.name,
525
530
  quantifier,
526
- candidates: input.snapshot.events,
531
+ candidateCount: input.snapshot.events.length,
527
532
  unassociatedOperation: input.snapshot.unassociatedOperation,
528
533
  coverage: input.snapshot.coverage.events,
529
534
  snapshot: input.snapshot.snapshot,
@@ -549,7 +554,7 @@ function notEventHandle(input) {
549
554
  occurrence: "event",
550
555
  matcher: input.match.name,
551
556
  quantifier: Object.freeze({ kind: "absent" }),
552
- candidates: input.snapshot.events,
557
+ candidateCount: input.snapshot.events.length,
553
558
  unassociatedOperation: input.snapshot.unassociatedOperation,
554
559
  coverage: input.snapshot.coverage.events,
555
560
  snapshot: input.snapshot.snapshot,
@@ -579,7 +584,7 @@ function eventOrderHandle(input) {
579
584
  scope: input.scope,
580
585
  assertion: "event-order",
581
586
  matches: matches.map((match) => match.name),
582
- candidates: input.snapshot.events,
587
+ candidateCount: input.snapshot.events.length,
583
588
  unassociatedOperation: input.snapshot.unassociatedOperation,
584
589
  coverage: input.snapshot.coverage.events,
585
590
  snapshot: input.snapshot.snapshot,
@@ -1037,6 +1042,7 @@ function createAssertFirstEvalContext(deps) {
1037
1042
  experimentClassifier: deps.experimentClassifier,
1038
1043
  nextSourceOrder: deps.nextSourceOrder,
1039
1044
  sourceRegistry: deps.sourceRegistry,
1045
+ resources: deps.resources,
1040
1046
  });
1041
1047
  const runtime = deps.evaluationKind === "score"
1042
1048
  ? (0, runtime_ts_1.createAssertionsRuntime)({ evaluationKind: "score", executeStop: deps.executeStop })