niceeval 0.13.2-canary.35 → 0.13.2

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 (485) hide show
  1. package/INDEX.md +24 -2
  2. package/dist/agents/bub-install-spec.cjs +19 -5
  3. package/dist/agents/bub-install-spec.cjs.map +1 -1
  4. package/dist/agents/bub-install-spec.d.cts +9 -2
  5. package/dist/agents/bub-install-spec.d.mts +9 -2
  6. package/dist/agents/bub-install-spec.d.ts +9 -2
  7. package/dist/agents/bub-install-spec.js +14 -12
  8. package/dist/agents/bub.cjs +10 -6
  9. package/dist/agents/bub.cjs.map +1 -1
  10. package/dist/agents/bub.d.cts +2 -2
  11. package/dist/agents/bub.d.mts +2 -2
  12. package/dist/agents/bub.d.ts +2 -2
  13. package/dist/agents/claude-code.cjs.map +1 -1
  14. package/dist/agents/claude-code.d.cts +2 -2
  15. package/dist/agents/claude-code.d.mts +2 -2
  16. package/dist/agents/claude-code.d.ts +2 -2
  17. package/dist/agents/codex.cjs +4 -4
  18. package/dist/agents/codex.cjs.map +1 -1
  19. package/dist/agents/codex.d.cts +3 -3
  20. package/dist/agents/codex.d.mts +3 -3
  21. package/dist/agents/codex.d.ts +3 -3
  22. package/dist/agents/deepseek-harness.cjs +50 -2
  23. package/dist/agents/deepseek-harness.cjs.map +1 -1
  24. package/dist/agents/deepseek-harness.d.cts +2 -0
  25. package/dist/agents/deepseek-harness.d.mts +2 -0
  26. package/dist/agents/deepseek-harness.d.ts +2 -0
  27. package/dist/agents/exact-npm-plugins.cjs +28 -0
  28. package/dist/agents/exact-npm-plugins.cjs.map +1 -0
  29. package/dist/agents/exact-npm-plugins.d.cts +10 -0
  30. package/dist/agents/exact-npm-plugins.d.mts +10 -0
  31. package/dist/agents/exact-npm-plugins.d.ts +10 -0
  32. package/dist/agents/exact-npm-plugins.js +8 -0
  33. package/dist/agents/exact-npm-plugins.js.map +1 -0
  34. package/dist/agents/openclaw.cjs +51 -2
  35. package/dist/agents/openclaw.cjs.map +1 -1
  36. package/dist/agents/openclaw.d.cts +2 -0
  37. package/dist/agents/openclaw.d.mts +2 -0
  38. package/dist/agents/openclaw.d.ts +2 -0
  39. package/dist/agents/types.cjs.map +1 -1
  40. package/dist/agents/types.d.cts +2 -2
  41. package/dist/agents/types.d.mts +2 -2
  42. package/dist/agents/types.d.ts +2 -2
  43. package/dist/agents/ui-message-stream.cjs +24 -7
  44. package/dist/agents/ui-message-stream.cjs.map +1 -1
  45. package/dist/analysis/api.cjs +19 -1
  46. package/dist/analysis/api.cjs.map +1 -1
  47. package/dist/analysis/api.d.cts +2 -2
  48. package/dist/analysis/api.d.mts +2 -2
  49. package/dist/analysis/api.d.ts +2 -2
  50. package/dist/analysis/bindings.cjs +11 -18
  51. package/dist/analysis/bindings.cjs.map +1 -1
  52. package/dist/analysis/bindings.d.cts +177 -49
  53. package/dist/analysis/bindings.d.mts +177 -49
  54. package/dist/analysis/bindings.d.ts +177 -49
  55. package/dist/analysis/contracts.cjs +1 -0
  56. package/dist/analysis/contracts.cjs.map +1 -1
  57. package/dist/analysis/contracts.d.cts +43 -3
  58. package/dist/analysis/contracts.d.mts +43 -3
  59. package/dist/analysis/contracts.d.ts +43 -3
  60. package/dist/analysis/cost-projection.cjs +2 -1
  61. package/dist/analysis/cost-projection.cjs.map +1 -1
  62. package/dist/analysis/cost-projection.d.cts +1 -1
  63. package/dist/analysis/cost-projection.d.mts +1 -1
  64. package/dist/analysis/cost-projection.d.ts +1 -1
  65. package/dist/analysis/cost.cjs +13 -3
  66. package/dist/analysis/cost.cjs.map +1 -1
  67. package/dist/analysis/cost.d.cts +10 -3
  68. package/dist/analysis/cost.d.mts +10 -3
  69. package/dist/analysis/cost.d.ts +10 -3
  70. package/dist/analysis/experiment-groups.cjs +96 -0
  71. package/dist/analysis/experiment-groups.cjs.map +1 -0
  72. package/dist/analysis/experiment-groups.d.cts +9 -0
  73. package/dist/analysis/experiment-groups.d.mts +9 -0
  74. package/dist/analysis/experiment-groups.d.ts +9 -0
  75. package/dist/analysis/experiment-groups.js +10 -0
  76. package/dist/analysis/experiment-groups.js.map +1 -0
  77. package/dist/analysis/index.cjs +4 -1
  78. package/dist/analysis/index.cjs.map +1 -1
  79. package/dist/analysis/index.d.cts +4 -2
  80. package/dist/analysis/index.d.mts +4 -2
  81. package/dist/analysis/index.d.ts +4 -2
  82. package/dist/analysis/index.js +40 -36
  83. package/dist/analysis/index.mjs +40 -36
  84. package/dist/assertions/limits.cjs +4 -0
  85. package/dist/assertions/limits.cjs.map +1 -1
  86. package/dist/assertions/limits.d.cts +4 -0
  87. package/dist/assertions/limits.d.mts +4 -0
  88. package/dist/assertions/limits.d.ts +4 -0
  89. package/dist/assertions/match.cjs +63 -25
  90. package/dist/assertions/match.cjs.map +1 -1
  91. package/dist/assertions/match.d.cts +7 -0
  92. package/dist/assertions/match.d.mts +7 -0
  93. package/dist/assertions/match.d.ts +7 -0
  94. package/dist/assertions/record/attachment.cjs +32 -4
  95. package/dist/assertions/record/attachment.cjs.map +1 -1
  96. package/dist/assertions/record/diff.cjs +10 -4
  97. package/dist/assertions/record/diff.cjs.map +1 -1
  98. package/dist/assertions/record/producer.cjs +101 -4
  99. package/dist/assertions/record/producer.cjs.map +1 -1
  100. package/dist/assertions/record/producer.d.cts +4 -1
  101. package/dist/assertions/record/producer.d.mts +4 -1
  102. package/dist/assertions/record/producer.d.ts +4 -1
  103. package/dist/assertions/runtime.cjs +45 -5
  104. package/dist/assertions/runtime.cjs.map +1 -1
  105. package/dist/cli/record.cjs +113 -8
  106. package/dist/cli/record.cjs.map +1 -1
  107. package/dist/cli/record.d.cts +20 -1
  108. package/dist/cli/record.d.mts +20 -1
  109. package/dist/cli/record.d.ts +20 -1
  110. package/dist/cli/record.js +4 -2
  111. package/dist/cli.cjs +386 -31
  112. package/dist/cli.cjs.map +1 -1
  113. package/dist/cli.d.cts +10 -2
  114. package/dist/cli.d.mts +10 -2
  115. package/dist/cli.d.ts +10 -2
  116. package/dist/context/send-retry.cjs +4 -4
  117. package/dist/context/send-retry.cjs.map +1 -1
  118. package/dist/coordination/host/runtime.cjs +8 -30
  119. package/dist/coordination/host/runtime.cjs.map +1 -1
  120. package/dist/coordination/host/runtime.d.cts +3 -3
  121. package/dist/coordination/host/runtime.d.mts +3 -3
  122. package/dist/coordination/host/runtime.d.ts +3 -3
  123. package/dist/coordination/host/types.cjs.map +1 -1
  124. package/dist/coordination/host/types.d.cts +0 -5
  125. package/dist/coordination/host/types.d.mts +0 -5
  126. package/dist/coordination/host/types.d.ts +0 -5
  127. package/dist/coordination/platform/node.cjs +90 -9
  128. package/dist/coordination/platform/node.cjs.map +1 -1
  129. package/dist/define.cjs +25 -1
  130. package/dist/define.cjs.map +1 -1
  131. package/dist/experiment/host/index.cjs +1 -0
  132. package/dist/experiment/host/index.cjs.map +1 -1
  133. package/dist/i18n/en.cjs +19 -6
  134. package/dist/i18n/en.cjs.map +1 -1
  135. package/dist/i18n/en.d.cts +12 -4
  136. package/dist/i18n/en.d.mts +12 -4
  137. package/dist/i18n/en.d.ts +12 -4
  138. package/dist/index.cjs.map +1 -1
  139. package/dist/index.d.cts +1 -1
  140. package/dist/index.d.mts +1 -1
  141. package/dist/index.d.ts +1 -1
  142. package/dist/o11y/prices.json +1 -1
  143. package/dist/o11y/record/families.cjs +12 -3
  144. package/dist/o11y/record/families.cjs.map +1 -1
  145. package/dist/o11y/record/families.d.cts +8 -8
  146. package/dist/o11y/record/families.d.mts +8 -8
  147. package/dist/o11y/record/families.d.ts +8 -8
  148. package/dist/o11y/record/family-projectors.d.cts +66 -18
  149. package/dist/o11y/record/family-projectors.d.mts +66 -18
  150. package/dist/o11y/record/family-projectors.d.ts +66 -18
  151. package/dist/o11y/record/family-writers.d.cts +11 -3
  152. package/dist/o11y/record/family-writers.d.mts +11 -3
  153. package/dist/o11y/record/family-writers.d.ts +11 -3
  154. package/dist/o11y/record/runner-producer.cjs +14 -4
  155. package/dist/o11y/record/runner-producer.cjs.map +1 -1
  156. package/dist/record/codec/core.d.cts +2 -2
  157. package/dist/record/codec/core.d.mts +2 -2
  158. package/dist/record/codec/core.d.ts +2 -2
  159. package/dist/record/family/catalog.d.cts +44 -12
  160. package/dist/record/family/catalog.d.mts +44 -12
  161. package/dist/record/family/catalog.d.ts +44 -12
  162. package/dist/record/family/index.js +128 -124
  163. package/dist/record/family/observability-v1.cjs +35 -0
  164. package/dist/record/family/observability-v1.cjs.map +1 -0
  165. package/dist/record/family/observability-v1.d.cts +3 -0
  166. package/dist/record/family/observability-v1.d.mts +3 -0
  167. package/dist/record/family/observability-v1.d.ts +3 -0
  168. package/dist/record/family/observability-v1.js +6 -0
  169. package/dist/record/family/observability-v1.js.map +1 -0
  170. package/dist/record/family/observability.cjs +58 -9
  171. package/dist/record/family/observability.cjs.map +1 -1
  172. package/dist/record/family/observability.d.cts +1014 -15
  173. package/dist/record/family/observability.d.mts +1014 -15
  174. package/dist/record/family/observability.d.ts +1014 -15
  175. package/dist/record/family/observability.js +22 -18
  176. package/dist/record/host/runtime.cjs +600 -31
  177. package/dist/record/host/runtime.cjs.map +1 -1
  178. package/dist/record/host/types.cjs.map +1 -1
  179. package/dist/record/host/types.d.cts +33 -9
  180. package/dist/record/host/types.d.mts +33 -9
  181. package/dist/record/host/types.d.ts +33 -9
  182. package/dist/record/maintenance/runtime.cjs +1 -2
  183. package/dist/record/maintenance/runtime.cjs.map +1 -1
  184. package/dist/record/model/core.cjs.map +1 -1
  185. package/dist/record/model/core.d.cts +1 -1
  186. package/dist/record/model/core.d.mts +1 -1
  187. package/dist/record/model/core.d.ts +1 -1
  188. package/dist/record/model/definition.d.cts +6 -6
  189. package/dist/record/model/definition.d.mts +6 -6
  190. package/dist/record/model/definition.d.ts +6 -6
  191. package/dist/record/model/identifiers.cjs +1 -1
  192. package/dist/record/model/identifiers.cjs.map +1 -1
  193. package/dist/record/model/identifiers.d.cts +1 -1
  194. package/dist/record/model/identifiers.d.mts +1 -1
  195. package/dist/record/model/identifiers.d.ts +1 -1
  196. package/dist/record/platform/node.cjs +159 -23
  197. package/dist/record/platform/node.cjs.map +1 -1
  198. package/dist/record/platform/services.cjs.map +1 -1
  199. package/dist/record/platform/services.d.cts +15 -2
  200. package/dist/record/platform/services.d.mts +15 -2
  201. package/dist/record/platform/services.d.ts +15 -2
  202. package/dist/record/reader/errors.cjs +37 -1
  203. package/dist/record/reader/errors.cjs.map +1 -1
  204. package/dist/record/reader/errors.d.cts +49 -1
  205. package/dist/record/reader/errors.d.mts +49 -1
  206. package/dist/record/reader/errors.d.ts +49 -1
  207. package/dist/record/reader/errors.js +22 -12
  208. package/dist/record/reader/format.cjs +76 -17
  209. package/dist/record/reader/format.cjs.map +1 -1
  210. package/dist/record/reader/format.d.cts +11 -4
  211. package/dist/record/reader/format.d.mts +11 -4
  212. package/dist/record/reader/format.d.ts +11 -4
  213. package/dist/record/reader/format.js +2 -0
  214. package/dist/record/reader/index.js +32 -18
  215. package/dist/record/reader/runtime.cjs +64 -0
  216. package/dist/record/reader/runtime.cjs.map +1 -1
  217. package/dist/record/reader/runtime.d.cts +15 -0
  218. package/dist/record/reader/runtime.d.mts +15 -0
  219. package/dist/record/reader/runtime.d.ts +15 -0
  220. package/dist/record/reader/runtime.js +2 -0
  221. package/dist/report/assets/styles.css +53 -29
  222. package/dist/report/built-in/analysis-values.cjs +0 -8
  223. package/dist/report/built-in/analysis-values.cjs.map +1 -1
  224. package/dist/report/built-in/analysis-values.d.cts +0 -13
  225. package/dist/report/built-in/analysis-values.d.mts +0 -13
  226. package/dist/report/built-in/analysis-values.d.ts +0 -13
  227. package/dist/report/built-in/analysis-values.js +4 -6
  228. package/dist/report/built-in/index.cjs +1 -3
  229. package/dist/report/built-in/index.cjs.map +1 -1
  230. package/dist/report/built-in/index.d.cts +1 -1
  231. package/dist/report/built-in/index.d.mts +1 -1
  232. package/dist/report/built-in/index.d.ts +1 -1
  233. package/dist/report/built-in/index.js +4 -8
  234. package/dist/report/built-in/index.mjs +4 -8
  235. package/dist/report/built-in/machine.cjs +0 -2
  236. package/dist/report/built-in/machine.cjs.map +1 -1
  237. package/dist/report/built-in/machine.d.cts +0 -2
  238. package/dist/report/built-in/machine.d.mts +0 -2
  239. package/dist/report/built-in/machine.d.ts +0 -2
  240. package/dist/report/built-in/result-components.cjs +25 -73
  241. package/dist/report/built-in/result-components.cjs.map +1 -1
  242. package/dist/report/built-in/result-components.d.cts +3 -19
  243. package/dist/report/built-in/result-components.d.mts +3 -19
  244. package/dist/report/built-in/result-components.d.ts +3 -19
  245. package/dist/report/built-in/result-components.js +0 -4
  246. package/dist/report/built-in/run-membership-overview.cjs +30 -17
  247. package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
  248. package/dist/report/built-in/run-membership-overview.d.cts +14 -0
  249. package/dist/report/built-in/run-membership-overview.d.mts +14 -0
  250. package/dist/report/built-in/run-membership-overview.d.ts +14 -0
  251. package/dist/report/built-in/run-membership-overview.js +4 -2
  252. package/dist/report/built-in/standard.cjs +80 -46
  253. package/dist/report/built-in/standard.cjs.map +1 -1
  254. package/dist/report/built-in/standard.d.cts +19 -42
  255. package/dist/report/built-in/standard.d.mts +19 -42
  256. package/dist/report/built-in/standard.d.ts +19 -42
  257. package/dist/report/built-in/standard.js +6 -6
  258. package/dist/report/components/attempt-detail/compute.cjs +78 -2
  259. package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
  260. package/dist/report/components/attempt-detail/compute.d.cts +1 -1
  261. package/dist/report/components/attempt-detail/compute.d.mts +1 -1
  262. package/dist/report/components/attempt-detail/compute.d.ts +1 -1
  263. package/dist/report/components/attempt-detail/content.cjs +1 -1
  264. package/dist/report/components/attempt-detail/content.cjs.map +1 -1
  265. package/dist/report/components/entity-lists/compute.cjs +2 -2
  266. package/dist/report/components/entity-lists/compute.cjs.map +1 -1
  267. package/dist/report/components/entity-lists/compute.d.cts +2 -2
  268. package/dist/report/components/entity-lists/compute.d.mts +2 -2
  269. package/dist/report/components/entity-lists/compute.d.ts +2 -2
  270. package/dist/report/components/entity-lists/index.cjs +6 -2
  271. package/dist/report/components/entity-lists/index.cjs.map +1 -1
  272. package/dist/report/components/entity-lists/index.d.cts +3 -6
  273. package/dist/report/components/entity-lists/index.d.mts +3 -6
  274. package/dist/report/components/entity-lists/index.d.ts +3 -6
  275. package/dist/report/components/summaries/compute.cjs +8 -1
  276. package/dist/report/components/summaries/compute.cjs.map +1 -1
  277. package/dist/report/components/summaries/compute.d.cts +9 -1
  278. package/dist/report/components/summaries/compute.d.mts +9 -1
  279. package/dist/report/components/summaries/compute.d.ts +9 -1
  280. package/dist/report/components/summaries/index.cjs +48 -4
  281. package/dist/report/components/summaries/index.cjs.map +1 -1
  282. package/dist/report/components/summaries/index.d.cts +7 -4
  283. package/dist/report/components/summaries/index.d.mts +7 -4
  284. package/dist/report/components/summaries/index.d.ts +7 -4
  285. package/dist/report/definition/primitives/chart.cjs +8 -5
  286. package/dist/report/definition/primitives/chart.cjs.map +1 -1
  287. package/dist/report/definition/primitives/points-dataset.cjs +1 -0
  288. package/dist/report/definition/primitives/points-dataset.cjs.map +1 -1
  289. package/dist/report/definition/primitives.cjs +6 -0
  290. package/dist/report/definition/primitives.cjs.map +1 -1
  291. package/dist/report/definition/report.cjs +27 -3
  292. package/dist/report/definition/report.cjs.map +1 -1
  293. package/dist/report/definition/report.d.cts +8 -0
  294. package/dist/report/definition/report.d.mts +8 -0
  295. package/dist/report/definition/report.d.ts +8 -0
  296. package/dist/report/execution/machine.cjs +30 -14
  297. package/dist/report/execution/machine.cjs.map +1 -1
  298. package/dist/report/execution/machine.d.cts +20 -10
  299. package/dist/report/execution/machine.d.mts +20 -10
  300. package/dist/report/execution/machine.d.ts +20 -10
  301. package/dist/report/execution/machine.js +6 -6
  302. package/dist/report/host/execute.cjs +25 -16
  303. package/dist/report/host/execute.cjs.map +1 -1
  304. package/dist/report/host/execute.d.cts +4 -0
  305. package/dist/report/host/execute.d.mts +4 -0
  306. package/dist/report/host/execute.d.ts +4 -0
  307. package/dist/report/host/from-record.cjs +22 -5
  308. package/dist/report/host/from-record.cjs.map +1 -1
  309. package/dist/report/host/machine.cjs +53 -11
  310. package/dist/report/host/machine.cjs.map +1 -1
  311. package/dist/report/host/site-runtime.cjs +9 -8
  312. package/dist/report/host/site-runtime.cjs.map +1 -1
  313. package/dist/report/host/site-runtime.d.cts +1 -1
  314. package/dist/report/host/site-runtime.d.mts +1 -1
  315. package/dist/report/host/site-runtime.d.ts +1 -1
  316. package/dist/report/host/static.cjs +56 -9
  317. package/dist/report/host/static.cjs.map +1 -1
  318. package/dist/report/index.cjs.map +1 -1
  319. package/dist/report/index.d.cts +1 -1
  320. package/dist/report/index.d.mts +1 -1
  321. package/dist/report/index.d.ts +1 -1
  322. package/dist/report/model/dataset.cjs +7 -2
  323. package/dist/report/model/dataset.cjs.map +1 -1
  324. package/dist/report/model/locale.cjs +2 -0
  325. package/dist/report/model/locale.cjs.map +1 -1
  326. package/dist/report/model/locale.d.cts +1 -0
  327. package/dist/report/model/locale.d.mts +1 -0
  328. package/dist/report/model/locale.d.ts +1 -0
  329. package/dist/report/model/metrics.cjs +3 -1
  330. package/dist/report/model/metrics.cjs.map +1 -1
  331. package/dist/report/model/pricing.cjs +16 -11
  332. package/dist/report/model/pricing.cjs.map +1 -1
  333. package/dist/report/react/styles.css +53 -29
  334. package/dist/runner/adoption.cjs +1 -0
  335. package/dist/runner/adoption.cjs.map +1 -1
  336. package/dist/runner/attempt.cjs +44 -5
  337. package/dist/runner/attempt.cjs.map +1 -1
  338. package/dist/runner/attempt.d.cts +13 -1
  339. package/dist/runner/attempt.d.mts +13 -1
  340. package/dist/runner/attempt.d.ts +13 -1
  341. package/dist/runner/config-identity.cjs +10 -2
  342. package/dist/runner/config-identity.cjs.map +1 -1
  343. package/dist/runner/config-identity.d.cts +4 -2
  344. package/dist/runner/config-identity.d.mts +4 -2
  345. package/dist/runner/config-identity.d.ts +4 -2
  346. package/dist/runner/feedback/human.cjs +139 -64
  347. package/dist/runner/feedback/human.cjs.map +1 -1
  348. package/dist/runner/feedback/json.cjs +14 -6
  349. package/dist/runner/feedback/json.cjs.map +1 -1
  350. package/dist/runner/feedback/json.d.cts +3 -2
  351. package/dist/runner/feedback/json.d.mts +3 -2
  352. package/dist/runner/feedback/json.d.ts +3 -2
  353. package/dist/runner/feedback/reducer.cjs +2 -0
  354. package/dist/runner/feedback/reducer.cjs.map +1 -1
  355. package/dist/runner/judge-config.cjs +1 -1
  356. package/dist/runner/judge-config.cjs.map +1 -1
  357. package/dist/runner/ledger.cjs +124 -12
  358. package/dist/runner/ledger.cjs.map +1 -1
  359. package/dist/runner/project-current.cjs +13 -5
  360. package/dist/runner/project-current.cjs.map +1 -1
  361. package/dist/runner/run.cjs +521 -256
  362. package/dist/runner/run.cjs.map +1 -1
  363. package/dist/runner/sandbox-pool.cjs +161 -30
  364. package/dist/runner/sandbox-pool.cjs.map +1 -1
  365. package/dist/runner/sandbox-pool.d.cts +34 -2
  366. package/dist/runner/sandbox-pool.d.mts +34 -2
  367. package/dist/runner/sandbox-pool.d.ts +34 -2
  368. package/dist/runner/shared-state-lease.cjs +803 -0
  369. package/dist/runner/shared-state-lease.cjs.map +1 -0
  370. package/dist/runner/shared-state-lease.d.cts +121 -0
  371. package/dist/runner/shared-state-lease.d.mts +121 -0
  372. package/dist/runner/shared-state-lease.d.ts +121 -0
  373. package/dist/runner/shared-state-lease.js +24 -0
  374. package/dist/runner/shared-state-lease.js.map +1 -0
  375. package/dist/runner/teardown-registry.cjs +97 -34
  376. package/dist/runner/teardown-registry.cjs.map +1 -1
  377. package/dist/runner/teardown-registry.d.cts +27 -1
  378. package/dist/runner/teardown-registry.d.mts +27 -1
  379. package/dist/runner/teardown-registry.d.ts +27 -1
  380. package/dist/runner/teardown-registry.js +20 -16
  381. package/dist/runner/types.cjs.map +1 -1
  382. package/dist/runner/types.d.cts +31 -5
  383. package/dist/runner/types.d.mts +31 -5
  384. package/dist/runner/types.d.ts +31 -5
  385. package/dist/sample/analysis.cjs +249 -459
  386. package/dist/sample/analysis.cjs.map +1 -1
  387. package/dist/sample/capability.cjs +46 -8
  388. package/dist/sample/capability.cjs.map +1 -1
  389. package/dist/sandbox/docker-profile/schema.cjs +283 -534
  390. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  391. package/dist/sandbox/docker-profile/schema.d.cts +10 -27
  392. package/dist/sandbox/docker-profile/schema.d.mts +10 -27
  393. package/dist/sandbox/docker-profile/schema.d.ts +10 -27
  394. package/dist/sandbox/e2b-agent-template.cjs +5 -2
  395. package/dist/sandbox/e2b-agent-template.cjs.map +1 -1
  396. package/dist/sandbox/keep-registry.cjs +28 -66
  397. package/dist/sandbox/keep-registry.cjs.map +1 -1
  398. package/dist/sandbox/types.cjs.map +1 -1
  399. package/dist/sandbox/types.d.cts +1 -1
  400. package/dist/sandbox/types.d.mts +1 -1
  401. package/dist/sandbox/types.d.ts +1 -1
  402. package/dist/shared/aggregate.cjs +16 -6
  403. package/dist/shared/aggregate.cjs.map +1 -1
  404. package/dist/shared/aggregate.d.cts +12 -4
  405. package/dist/shared/aggregate.d.mts +12 -4
  406. package/dist/shared/aggregate.d.ts +12 -4
  407. package/dist/shared/turn-label.cjs +20 -2
  408. package/dist/shared/turn-label.cjs.map +1 -1
  409. package/dist/shared/turn-label.d.cts +2 -0
  410. package/dist/shared/turn-label.d.mts +2 -0
  411. package/dist/shared/turn-label.d.ts +2 -0
  412. package/dist/shared/turn-label.js +4 -2
  413. package/dist/vendor/remark/remark-gfm.cjs +7 -7
  414. package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
  415. package/dist/vendor/remark/remark-parse.cjs +12 -12
  416. package/dist/vendor/remark/remark-parse.cjs.map +1 -1
  417. package/dist/vendor/remark/remark.cjs +13 -13
  418. package/dist/vendor/remark/remark.cjs.map +1 -1
  419. package/dist/view/server.cjs +6 -0
  420. package/dist/view/server.cjs.map +1 -1
  421. package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
  422. package/docs-site/zh/examples/coding-agent-extensions.mdx +1 -1
  423. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +1 -0
  424. package/docs-site/zh/examples/integrations/langgraph.mdx +1 -1
  425. package/docs-site/zh/explanation/assert.mdx +6 -6
  426. package/docs-site/zh/explanation/drive.mdx +1 -1
  427. package/docs-site/zh/explanation/evals.mdx +9 -9
  428. package/docs-site/zh/explanation/experiment.mdx +2 -2
  429. package/docs-site/zh/explanation/hitl.mdx +3 -3
  430. package/docs-site/zh/explanation/judge.mdx +5 -5
  431. package/docs-site/zh/explanation/overview.mdx +3 -3
  432. package/docs-site/zh/explanation/runner.mdx +1 -1
  433. package/docs-site/zh/index.mdx +3 -3
  434. package/docs-site/zh/reference/builtin-agents.mdx +9 -9
  435. package/docs-site/zh/reference/cli.mdx +18 -12
  436. package/docs-site/zh/reference/define-agent.mdx +130 -5
  437. package/docs-site/zh/reference/define-config.mdx +2 -2
  438. package/docs-site/zh/reference/define-eval.mdx +4 -4
  439. package/docs-site/zh/reference/events.mdx +1 -1
  440. package/docs-site/zh/reference/official-adapters.mdx +5 -5
  441. package/docs-site/zh/troubleshooting/debugging.mdx +1 -1
  442. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +37 -5
  443. package/docs-site/zh/tutorials/accept-results.mdx +72 -0
  444. package/docs-site/zh/tutorials/agent-onboarding.mdx +6 -6
  445. package/docs-site/zh/tutorials/authoring.mdx +9 -13
  446. package/docs-site/zh/tutorials/ci-integration.mdx +6 -6
  447. package/docs-site/zh/tutorials/compare-runs.mdx +61 -0
  448. package/docs-site/zh/tutorials/concurrency.mdx +13 -12
  449. package/docs-site/zh/tutorials/configuration.mdx +4 -6
  450. package/docs-site/zh/tutorials/connect-your-agent.mdx +1 -1
  451. package/docs-site/zh/tutorials/control-run-cost.mdx +58 -0
  452. package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
  453. package/docs-site/zh/tutorials/custom-reports.mdx +2 -2
  454. package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +46 -0
  455. package/docs-site/zh/tutorials/docker-in-docker.mdx +50 -44
  456. package/docs-site/zh/tutorials/eval-groups.mdx +6 -6
  457. package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
  458. package/docs-site/zh/tutorials/experiments.mdx +2 -3
  459. package/docs-site/zh/tutorials/handle-execution-failures.mdx +18 -10
  460. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +16 -8
  461. package/docs-site/zh/tutorials/plugins.mdx +14 -0
  462. package/docs-site/zh/tutorials/rerun-and-cache.mdx +3 -17
  463. package/docs-site/zh/tutorials/sandbox-agent.mdx +17 -11
  464. package/docs-site/zh/tutorials/sandbox-providers.mdx +17 -13
  465. package/docs-site/zh/tutorials/sandbox-reuse.mdx +12 -19
  466. package/docs-site/zh/tutorials/select-and-preview.mdx +65 -0
  467. package/docs-site/zh/tutorials/verify-judge.mdx +78 -0
  468. package/docs-site/zh/tutorials/viewing-results.mdx +27 -8
  469. package/docs-site/zh/tutorials/write-experiment.mdx +7 -5
  470. package/docs-site/zh/tutorials/write-send.mdx +2 -2
  471. package/package.json +9 -5
  472. package/dist/report/built-in/overview.cjs +0 -45
  473. package/dist/report/built-in/overview.cjs.map +0 -1
  474. package/dist/report/built-in/overview.d.cts +0 -6
  475. package/dist/report/built-in/overview.d.mts +0 -6
  476. package/dist/report/built-in/overview.d.ts +0 -6
  477. package/dist/report/built-in/overview.js +0 -9
  478. package/dist/report/built-in/overview.js.map +0 -1
  479. package/dist/runner/gate-lease.cjs +0 -283
  480. package/dist/runner/gate-lease.cjs.map +0 -1
  481. package/dist/runner/gate-lease.d.cts +0 -62
  482. package/dist/runner/gate-lease.d.mts +0 -62
  483. package/dist/runner/gate-lease.d.ts +0 -62
  484. package/dist/runner/gate-lease.js +0 -22
  485. package/dist/runner/gate-lease.js.map +0 -1
@@ -9,6 +9,7 @@ exports.makeAttemptDiagnosticsAttachmentFamilyValidation = makeAttemptDiagnostic
9
9
  exports.makeRunTimingAttachmentFamilyValidation = makeRunTimingAttachmentFamilyValidation;
10
10
  exports.makeRunDiagnosticsAttachmentFamilyValidation = makeRunDiagnosticsAttachmentFamilyValidation;
11
11
  const effect_1 = require("effect");
12
+ const turn_label_ts_1 = require("../../shared/turn-label.cjs");
12
13
  const codec_ts_1 = require("../../sources/codec.cjs");
13
14
  const codec_ts_2 = require("./codec.cjs");
14
15
  const limits_ts_1 = require("./limits.cjs");
@@ -390,16 +391,24 @@ exports.UsageAttachmentSchema = UsageAttachmentStructuralSchema.pipe(effect_1.Sc
390
391
  exports.AttemptTimingPhaseSchema = effect_1.Schema.Literal("attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown");
391
392
  exports.RunTimingPhaseSchema = effect_1.Schema.Literal("run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown");
392
393
  const TimingOutcomeSchema = effect_1.Schema.Literal("completed", "failed", "cancelled", "interrupted", "unknown");
393
- exports.AttemptTimingIntervalSchema = effect_1.Schema.Struct({
394
+ const CanonicalTurnLabelSchema = effect_1.Schema.String.pipe(effect_1.Schema.filter((value) => (0, turn_label_ts_1.isCanonicalTurnLabel)(value), { identifier: "CanonicalTurnLabel" }));
395
+ const AttemptTimingIntervalBase = {
394
396
  intervalId: codec_ts_2.IntervalIdSchema,
395
- phase: exports.AttemptTimingPhaseSchema,
396
- label: codec_ts_2.StableLabelSchema,
397
397
  startOffsetMs: codec_ts_2.NonNegativeSafeIntegerSchema,
398
398
  durationMs: codec_ts_2.NonNegativeSafeIntegerSchema,
399
399
  parentIntervalId: effect_1.Schema.NullOr(codec_ts_2.IntervalIdSchema),
400
400
  outcome: TimingOutcomeSchema,
401
401
  refs: codec_ts_2.AttemptTimingReferencesSchema,
402
+ };
403
+ const AttemptTimingIntervalStructuralSchema = effect_1.Schema.Struct({
404
+ ...AttemptTimingIntervalBase,
405
+ phase: exports.AttemptTimingPhaseSchema,
406
+ label: effect_1.Schema.Union(codec_ts_2.StableLabelSchema, CanonicalTurnLabelSchema),
402
407
  });
408
+ exports.AttemptTimingIntervalSchema = AttemptTimingIntervalStructuralSchema.pipe(effect_1.Schema.filter((interval) => interval.phase === "agent.send" || (0, model_ts_1.isStableLabel)(interval.label), {
409
+ identifier: "AttemptTimingInterval",
410
+ description: "canonical turn labels are reserved for agent.send intervals",
411
+ }));
403
412
  exports.RunTimingIntervalSchema = effect_1.Schema.Struct({
404
413
  intervalId: codec_ts_2.IntervalIdSchema,
405
414
  phase: exports.RunTimingPhaseSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"families.js","sourceRoot":"","sources":["families.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema } from \"effect\";\nimport type { RecordBlobRef } from \"../../record/attachment/index.ts\";\nimport { Sha256DigestSchema, SourceFileItemIdSchema, } from \"../../sources/codec.ts\";\nimport { AttemptDiagnosticsReferencesSchema, AttemptReferenceTargetSchema, AttemptTimingReferencesSchema, CollectionSchema, CommandsReferencesSchema, ConversationReferencesSchema, CurrencyCodeSchema, NonNegativeSafeIntegerSchema, PositiveSafeIntegerSchema, RunDiagnosticsReferencesSchema, RunReferenceTargetSchema, RunTimingReferencesSchema, SafeIdentifierSchema, SafeTextSchema, SourceNativeToolNameSchema, StableLabelSchema, UsageObservationIdSchema, UsageReferencesSchema, boundedSafeTextSchema, CallIdSchema, CommandIdSchema, DiagnosticIdSchema, IntervalIdSchema, ItemIdSchema, TurnIdSchema, } from \"./codec.ts\";\nimport { MAX_COMMAND_ARGUMENT_BYTES, MAX_COMMAND_ARGUMENTS, MAX_COMMAND_EXECUTABLE_BYTES, MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES, MAX_COMMAND_SHELL_BYTES, MAX_COMMAND_STREAM_BYTES, MAX_COMMANDS_ATTACHMENT_BYTES, MAX_COMMANDS_CLOSURE_BYTES, MAX_COMMANDS, MAX_CONVERSATION_ATTACHMENT_BYTES, MAX_CONVERSATION_ITEMS, MAX_CONVERSATION_TEXT_BYTES, MAX_CONVERSATION_TURNS, MAX_DIAGNOSTIC_CAUSES, MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES, MAX_DIAGNOSTIC_CONTEXT_ITEMS, MAX_DIAGNOSTIC_SUMMARY_BYTES, MAX_DIAGNOSTICS_ATTACHMENT_BYTES, MAX_DIAGNOSTICS, MAX_TIMING_ATTACHMENT_BYTES, MAX_TIMING_INTERVALS, MAX_USAGE_ATTACHMENT_BYTES, MAX_USAGE_OBSERVATIONS, } from \"./limits.ts\";\nimport { ATTEMPT_OBSERVABILITY_FAMILY_SCHEMA_IDS, RUN_OBSERVABILITY_FAMILY_SCHEMA_IDS, compareObservabilityText, isSafeText, jsonUtf8ByteLength, limitationTarget, type AttemptDiagnosticsReferences, type AttemptReferenceTarget, type Collection, type CommandId, type CommandsReferences, type RunDiagnosticsReferences, } from \"./model.ts\";\nimport { makeAttemptObservabilityFamilyValidation, makeRunObservabilityFamilyValidation, type ObservabilityFamilyValidation, } from \"./validation.ts\";\nfunction freezeArray<Value>(values: readonly Value[]): readonly Value[] {\n return Object.freeze([...values]);\n}\nfunction payloadFits(value: object, maximumBytes: number): boolean {\n const length = jsonUtf8ByteLength(value);\n return length !== undefined && length <= maximumBytes;\n}\nfunction isStrictlyOrderedById<Item>(values: readonly Item[], idOf: (value: Item) => string): boolean {\n let previous: string | undefined;\n const seen = new Set<string>();\n for (const value of values) {\n const id = idOf(value);\n if (seen.has(id) || (previous !== undefined && compareObservabilityText(previous, id) >= 0)) {\n return false;\n }\n seen.add(id);\n previous = id;\n }\n return true;\n}\nfunction isAllowedCollection(collection: Collection, targets: readonly string[]): boolean {\n return collection.limitations.every((limitation) => targets.some((target) => limitationTarget(limitation) === target));\n}\nfunction hasExactStreamTruncation(collection: Collection, commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return collection.limitations.some((limitation) => limitation.code === \"stream-truncated\" &&\n limitation.commandId === commandId &&\n limitation.stream === stream &&\n limitation.retainedBytes === retainedBytes &&\n limitation.omittedBytes === omittedBytes);\n}\nfunction isProjectRelativePath(value: string): boolean {\n return (isSafeText(value) &&\n value.length > 0 &&\n !value.startsWith(\"/\") &&\n value.split(\"/\").every((segment) => segment.length > 0 && segment !== \".\" && segment !== \"..\") &&\n new TextEncoder().encode(value).byteLength <= MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES);\n}\nconst ProjectRelativePathSchema = Schema.String.pipe(Schema.filter(isProjectRelativePath, {\n identifier: \"ObservabilityProjectRelativePath\",\n description: \"a portable project-relative path without dot segments\",\n}));\nconst ExitCodeSchema = Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value) &&\n value >= -2147483648 &&\n value <= 2147483647, {\n identifier: \"ObservabilityCommandExitCode\",\n description: \"a signed 32-bit command exit code\",\n}));\n/** Record's opaque ref position is the only non-JSON value in a durable command payload. */\nconst RecordBlobRefPositionSchema: Schema.Schema<RecordBlobRef, RecordBlobRef, never> = Schema.declare<RecordBlobRef>((value): value is RecordBlobRef => typeof value === \"object\" && value !== null);\nconst ConversationItemBaseFields = {\n itemId: ItemIdSchema,\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n refs: ConversationReferencesSchema,\n} as const;\nexport const ConversationTurnSchema = Schema.Struct({\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n refs: ConversationReferencesSchema,\n});\nexport const ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-call\"),\n callId: CallIdSchema,\n tool: SourceNativeToolNameSchema,\n inputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-result\"),\n callId: CallIdSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"thinking-summary\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n responseSummary: Schema.NullOr(boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES)),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"skill-load\"),\n skill: SafeIdentifierSchema,\n outcome: Schema.Literal(\"loaded\", \"failed\"),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"context-injection\"),\n source: Schema.Literal(\"system\", \"memory\", \"skill\", \"user\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"compaction\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n compactedItemCount: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}));\nexport type ConversationTurn = Schema.Schema.Type<typeof ConversationTurnSchema>;\nexport type ConversationItem = Schema.Schema.Type<typeof ConversationItemSchema>;\nfunction conversationTextLengths(item: ConversationItem): readonly number[] {\n switch (item.kind) {\n case \"message\":\n return freezeArray([new TextEncoder().encode(item.text).byteLength]);\n case \"tool-call\":\n return freezeArray([new TextEncoder().encode(item.inputSummary).byteLength]);\n case \"tool-result\":\n return freezeArray([new TextEncoder().encode(item.outputSummary).byteLength]);\n case \"thinking-summary\":\n case \"subagent\":\n case \"context-injection\":\n case \"compaction\":\n case \"conversation-error\":\n return freezeArray([new TextEncoder().encode(item.summary).byteLength]);\n case \"input-request\":\n return freezeArray([\n new TextEncoder().encode(item.promptSummary).byteLength,\n ...(item.responseSummary === null\n ? []\n : [new TextEncoder().encode(item.responseSummary).byteLength]),\n ]);\n case \"skill-load\":\n return freezeArray([]);\n }\n}\nfunction isCanonicalConversationAttachment(value: Schema.Schema.Type<typeof ConversationAttachmentStructuralSchema>): boolean {\n if (value.turns.length > MAX_CONVERSATION_TURNS ||\n value.items.length > MAX_CONVERSATION_ITEMS ||\n !payloadFits(value, MAX_CONVERSATION_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\"conversation-item\", \"conversation-text\"])) {\n return false;\n }\n if (!isStrictlyOrderedById(value.turns, (turn) => turn.turnId))\n return false;\n const turnIds = new Set<string>();\n const turnSequences = new Set<number>();\n for (const turn of value.turns) {\n turnIds.add(turn.turnId);\n if (turnSequences.has(turn.sequence))\n return false;\n turnSequences.add(turn.sequence);\n }\n const itemIds = new Set<string>();\n const itemSequences = new Set<number>();\n const callIds = new Set<string>();\n const resultCallIds = new Set<string>();\n let previous: ConversationItem | undefined;\n for (const item of value.items) {\n if (itemIds.has(item.itemId) ||\n itemSequences.has(item.sequence) ||\n !turnIds.has(item.turnId)) {\n return false;\n }\n if (previous !== undefined &&\n (previous.sequence > item.sequence ||\n (previous.sequence === item.sequence &&\n compareObservabilityText(previous.itemId, item.itemId) >= 0))) {\n return false;\n }\n itemIds.add(item.itemId);\n itemSequences.add(item.sequence);\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.add(item.callId);\n }\n if (item.kind === \"tool-result\") {\n if (!callIds.has(item.callId) || resultCallIds.has(item.callId))\n return false;\n resultCallIds.add(item.callId);\n }\n previous = item;\n }\n if (value.collection.state === \"complete\" &&\n [...callIds].some((callId) => !resultCallIds.has(callId))) {\n return false;\n }\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"conversation-text\") {\n return true;\n }\n const item = value.items.find((candidate) => candidate.itemId === limitation.itemId);\n return item !== undefined && conversationTextLengths(item).some((length) => length === limitation.retainedBytes);\n });\n}\nconst ConversationAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n});\nexport const ConversationAttachmentSchema = ConversationAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalConversationAttachment, {\n identifier: \"ObservabilityConversationAttachment\",\n description: \"a canonical, bounded conversation attachment\",\n}));\nexport type ConversationAttachment = Schema.Schema.Type<typeof ConversationAttachmentSchema>;\nconst CommandInvocationSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: boundedSafeTextSchema(MAX_COMMAND_EXECUTABLE_BYTES),\n arguments: Schema.Array(boundedSafeTextSchema(MAX_COMMAND_ARGUMENT_BYTES)).pipe(Schema.filter((arguments_) => arguments_.length <= MAX_COMMAND_ARGUMENTS, {\n identifier: \"ObservabilityCommandArguments\",\n description: \"at most 64 safe command arguments\",\n })),\n}), Schema.Struct({\n kind: Schema.Literal(\"shell\"),\n command: boundedSafeTextSchema(MAX_COMMAND_SHELL_BYTES),\n}));\nconst CommandWorkingDirectorySchema = Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: ProjectRelativePathSchema,\n}), Schema.Struct({ kind: Schema.Literal(\"redacted\") }));\nexport const CommandManifestSchema = Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: CommandInvocationSchema,\n workingDirectory: CommandWorkingDirectorySchema,\n});\nexport const CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"inline\"),\n text: SafeTextSchema,\n }), Schema.Struct({\n kind: Schema.Literal(\"blob\"),\n ref: RecordBlobRefPositionSchema,\n })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n});\nexport const CommandOutcomeSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: ExitCodeSchema,\n}), Schema.Struct({\n kind: Schema.Literal(\"terminated\"),\n reason: Schema.Literal(\"timeout\", \"cancelled\", \"transport-lost\"),\n}), Schema.Struct({\n kind: Schema.Literal(\"not-started\"),\n reason: Schema.Literal(\"spawn-failed\", \"cancelled-before-start\"),\n}));\nexport const CommandResultSchema = Schema.Struct({\n outcome: CommandOutcomeSchema,\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n});\nexport const CommandObservationSchema = Schema.Struct({\n commandId: CommandIdSchema,\n manifest: CommandManifestSchema,\n result: CommandResultSchema,\n refs: CommandsReferencesSchema,\n});\nconst CommandsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n commands: Schema.Array(CommandObservationSchema),\n});\nexport type CommandManifest = Schema.Schema.Type<typeof CommandManifestSchema>;\nexport type CommandStream = Schema.Schema.Type<typeof CommandStreamSchema>;\nexport type CommandResult = Schema.Schema.Type<typeof CommandResultSchema>;\nexport type CommandObservation = Schema.Schema.Type<typeof CommandObservationSchema>;\nfunction isCanonicalCommandStream(stream: CommandStream, collection: Collection, commandId: string, streamName: \"stdout\" | \"stderr\"): boolean {\n if (stream.retainedBytes > MAX_COMMAND_STREAM_BYTES ||\n stream.totalSafeUtf8Bytes < stream.retainedBytes) {\n return false;\n }\n if (stream.storage.kind === \"inline\") {\n const bytes = new TextEncoder().encode(stream.storage.text).byteLength;\n if (bytes !== stream.retainedBytes ||\n stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES) {\n return false;\n }\n }\n if (stream.totalSafeUtf8Bytes === stream.retainedBytes) {\n return stream.storage.kind === \"inline\"\n ? stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES\n : stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES;\n }\n return hasExactStreamTruncation(collection, commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes);\n}\nfunction commandManifestTextLengths(manifest: CommandManifest): readonly number[] {\n const encoder = new TextEncoder();\n const invocation = manifest.invocation.kind === \"argv\"\n ? [manifest.invocation.executable, ...manifest.invocation.arguments]\n : [manifest.invocation.command];\n const directory = manifest.workingDirectory.kind === \"project-relative\"\n ? [manifest.workingDirectory.path]\n : [];\n return freezeArray([...invocation, ...directory].map((value) => encoder.encode(value).byteLength));\n}\nfunction isCanonicalCommandsAttachment(value: Schema.Schema.Type<typeof CommandsAttachmentStructuralSchema>): boolean {\n if (value.commands.length > MAX_COMMANDS ||\n !payloadFits(value, MAX_COMMANDS_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\n \"command-manifest\",\n \"command-stdout\",\n \"command-stderr\",\n ]) ||\n !isStrictlyOrderedById(value.commands, (command) => command.commandId)) {\n return false;\n }\n let closureBytes = 0;\n for (const command of value.commands) {\n for (const [name, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if (!isCanonicalCommandStream(stream, value.collection, command.commandId, name)) {\n return false;\n }\n if (stream.storage.kind === \"blob\") {\n closureBytes += stream.retainedBytes;\n }\n }\n }\n if (closureBytes > MAX_COMMANDS_CLOSURE_BYTES)\n return false;\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"command-manifest\") {\n return true;\n }\n const command = value.commands.find((candidate) => candidate.commandId === limitation.commandId);\n return command !== undefined && commandManifestTextLengths(command.manifest).some((length) => length === limitation.retainedBytes);\n });\n}\nexport const CommandsAttachmentSchema = CommandsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalCommandsAttachment, {\n identifier: \"ObservabilityCommandsAttachment\",\n description: \"a canonical, bounded commands attachment\",\n}));\nexport type CommandsAttachment = Schema.Schema.Type<typeof CommandsAttachmentSchema>;\nexport const UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"token-bucket\"),\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"request\"),\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"provider-cost\"),\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]*[1-9])?$/u.test(value) &&\n new TextEncoder().encode(value).byteLength <= 64, {\n identifier: \"ObservabilityCanonicalDecimal\",\n description: \"a non-negative canonical decimal string\",\n })),\n currency: CurrencyCodeSchema,\n}));\nconst UsageAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n observations: Schema.Array(UsageObservationSchema),\n});\nexport type UsageObservation = Schema.Schema.Type<typeof UsageObservationSchema>;\nfunction isCanonicalUsageAttachment(value: Schema.Schema.Type<typeof UsageAttachmentStructuralSchema>): boolean {\n return (value.observations.length <= MAX_USAGE_OBSERVATIONS &&\n payloadFits(value, MAX_USAGE_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"usage-observation\"]) &&\n isStrictlyOrderedById(value.observations, (observation) => observation.usageObservationId));\n}\nexport const UsageAttachmentSchema = UsageAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalUsageAttachment, {\n identifier: \"ObservabilityUsageAttachment\",\n description: \"a canonical, bounded usage attachment\",\n}));\nexport type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;\nexport const AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nexport const RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\nconst TimingOutcomeSchema = Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\");\nexport const AttemptTimingIntervalSchema = Schema.Struct({\n intervalId: IntervalIdSchema,\n phase: AttemptTimingPhaseSchema,\n label: StableLabelSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: AttemptTimingReferencesSchema,\n});\nexport const RunTimingIntervalSchema = Schema.Struct({\n intervalId: IntervalIdSchema,\n phase: RunTimingPhaseSchema,\n label: StableLabelSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: RunTimingReferencesSchema,\n});\nexport type AttemptTimingInterval = Schema.Schema.Type<typeof AttemptTimingIntervalSchema>;\nexport type RunTimingInterval = Schema.Schema.Type<typeof RunTimingIntervalSchema>;\nfunction timingEnd(start: number, duration: number): number | undefined {\n const end = start + duration;\n return Number.isSafeInteger(end) ? end : undefined;\n}\nfunction isCanonicalTimingTree<Interval extends {\n readonly intervalId: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n readonly parentIntervalId: string | null;\n}>(intervals: readonly Interval[]): boolean {\n if (!isStrictlyOrderedById(intervals, (interval) => interval.intervalId))\n return false;\n const byId = new Map(intervals.map((interval) => [interval.intervalId, interval] as const));\n for (const interval of intervals) {\n const end = timingEnd(interval.startOffsetMs, interval.durationMs);\n if (end === undefined)\n return false;\n const ancestors = new Set<string>([interval.intervalId]);\n let child: Interval = interval;\n while (child.parentIntervalId !== null) {\n const parent = byId.get(child.parentIntervalId);\n if (parent === undefined || ancestors.has(parent.intervalId)) {\n return false;\n }\n const parentEnd = timingEnd(parent.startOffsetMs, parent.durationMs);\n const childEnd = timingEnd(child.startOffsetMs, child.durationMs);\n if (parentEnd === undefined ||\n childEnd === undefined ||\n parent.startOffsetMs > child.startOffsetMs ||\n childEnd > parentEnd) {\n return false;\n }\n ancestors.add(parent.intervalId);\n child = parent;\n }\n }\n return true;\n}\nconst AttemptTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(AttemptTimingIntervalSchema),\n});\nfunction isCanonicalAttemptTimingAttachment(value: Schema.Schema.Type<typeof AttemptTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const AttemptTimingAttachmentSchema = AttemptTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptTimingAttachment, {\n identifier: \"ObservabilityAttemptTimingAttachment\",\n description: \"a canonical, bounded attempt timing tree\",\n}));\nexport type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;\nconst RunTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(RunTimingIntervalSchema),\n});\nfunction isCanonicalRunTimingAttachment(value: Schema.Schema.Type<typeof RunTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const RunTimingAttachmentSchema = RunTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunTimingAttachment, {\n identifier: \"ObservabilityRunTimingAttachment\",\n description: \"a canonical, bounded run timing tree\",\n}));\nexport type RunTimingAttachment = Schema.Schema.Type<typeof RunTimingAttachmentSchema>;\nexport const AttemptDiagnosticPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\", \"collection\");\nexport const RunDiagnosticPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\", \"collection\");\nexport const SourcePositionSchema = Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n});\nexport const SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceFileItemIdSchema,\n sha256: Sha256DigestSchema,\n start: SourcePositionSchema,\n end: SourcePositionSchema,\n});\nconst SafeDiagnosticCauseSchema = Schema.Struct({\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES),\n});\nconst DiagnosticRedactionSchema = Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({\n state: Schema.Literal(\"applied\"),\n summaryReplacements: NonNegativeSafeIntegerSchema,\n causeReplacements: NonNegativeSafeIntegerSchema,\n contextReplacements: NonNegativeSafeIntegerSchema,\n}));\nconst DiagnosticLimitContextSchema = Schema.Struct({\n kind: Schema.Literal(\"limit\"),\n limit: Schema.Literal(\"conversation-items\", \"commands\", \"usage-observations\", \"timing-intervals\", \"diagnostics\", \"command-stream-bytes\"),\n maximum: NonNegativeSafeIntegerSchema,\n observedAtLeast: NonNegativeSafeIntegerSchema,\n});\nconst DiagnosticProviderContextSchema = Schema.Struct({\n kind: Schema.Literal(\"provider\"),\n provider: SafeIdentifierSchema,\n});\n/**\n * The entity context is a single target rather than an array. Schema's generic\n * ref-array constructors cannot express the exclusion while preserving the\n * direct triple, so these declarations keep the exact input check local.\n */\nconst AttemptDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: AttemptReferenceTargetSchema.pipe(Schema.filter((target): target is AttemptDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst RunDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: RunReferenceTargetSchema.pipe(Schema.filter((target): target is RunDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst AttemptDiagnosticContextExactSchema = Schema.Union(AttemptDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nconst RunDiagnosticContextExactSchema = Schema.Union(RunDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nexport const AttemptDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: AttemptDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(AttemptDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: AttemptDiagnosticsReferencesSchema,\n});\nexport const RunDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: RunDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(RunDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: RunDiagnosticsReferencesSchema,\n});\nexport type SourcePosition = Schema.Schema.Type<typeof SourcePositionSchema>;\nexport type SourceFrame = Schema.Schema.Type<typeof SourceFrameSchema>;\nexport type SafeDiagnosticCause = Schema.Schema.Type<typeof SafeDiagnosticCauseSchema>;\nexport type DiagnosticRedaction = Schema.Schema.Type<typeof DiagnosticRedactionSchema>;\nexport type AttemptDiagnostic = Schema.Schema.Type<typeof AttemptDiagnosticSchema>;\nexport type RunDiagnostic = Schema.Schema.Type<typeof RunDiagnosticSchema>;\nfunction sourcePositionBeforeOrEqual(left: SourcePosition, right: SourcePosition): boolean {\n return left.line < right.line || (left.line === right.line && left.column <= right.column);\n}\nfunction hasValidDiagnosticShape(diagnostic: {\n readonly causes: readonly SafeDiagnosticCause[];\n readonly context: readonly unknown[];\n readonly redaction: DiagnosticRedaction;\n readonly sourceFrame: SourceFrame | null;\n}): boolean {\n if (diagnostic.causes.length > MAX_DIAGNOSTIC_CAUSES ||\n diagnostic.context.length > MAX_DIAGNOSTIC_CONTEXT_ITEMS) {\n return false;\n }\n if (diagnostic.redaction.state === \"applied\" &&\n diagnostic.redaction.summaryReplacements === 0 &&\n diagnostic.redaction.causeReplacements === 0 &&\n diagnostic.redaction.contextReplacements === 0) {\n return false;\n }\n return (diagnostic.sourceFrame === null ||\n sourcePositionBeforeOrEqual(diagnostic.sourceFrame.start, diagnostic.sourceFrame.end));\n}\nconst AttemptDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(AttemptDiagnosticSchema),\n});\nfunction isCanonicalAttemptDiagnosticsAttachment(value: Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const AttemptDiagnosticsAttachmentSchema = AttemptDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptDiagnosticsAttachment, {\n identifier: \"ObservabilityAttemptDiagnosticsAttachment\",\n description: \"a canonical, bounded attempt diagnostics attachment\",\n}));\nexport type AttemptDiagnosticsAttachment = Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentSchema>;\nconst RunDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(RunDiagnosticSchema),\n});\nfunction isCanonicalRunDiagnosticsAttachment(value: Schema.Schema.Type<typeof RunDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const RunDiagnosticsAttachmentSchema = RunDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunDiagnosticsAttachment, {\n identifier: \"ObservabilityRunDiagnosticsAttachment\",\n description: \"a canonical, bounded run diagnostics attachment\",\n}));\nexport type RunDiagnosticsAttachment = Schema.Schema.Type<typeof RunDiagnosticsAttachmentSchema>;\nconst attemptConversationFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptCommandsFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptUsageFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\nconst runTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst runDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\n/** Semantic cross-family facts intentionally remain independent of writes. */\nexport function makeAttemptConversationAttachmentFamilyValidation(payload: ConversationAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n const entities: AttemptReferenceTarget[] = [\n ...payload.turns.map((turn) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"turn\" as const,\n id: turn.turnId,\n })),\n ...payload.items.map((item) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"item\" as const,\n id: item.itemId,\n })),\n ...payload.items.flatMap((item) => item.kind === \"tool-call\"\n ? [\n Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"call\" as const,\n id: item.callId,\n }),\n ]\n : []),\n ];\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptConversationFamilySchemaId,\n entities,\n references: [\n ...payload.turns.map((turn) => Object.freeze({ sourceId: turn.turnId, refs: turn.refs })),\n ...payload.items.map((item) => Object.freeze({ sourceId: item.itemId, refs: item.refs })),\n ],\n });\n}\nexport function makeAttemptCommandsAttachmentFamilyValidation(input: {\n readonly commands: readonly {\n readonly commandId: CommandId;\n readonly refs: readonly CommandsReferences[];\n }[];\n}): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptCommandsFamilySchemaId,\n entities: input.commands.map((command) => Object.freeze({\n family: attemptCommandsFamilySchemaId,\n kind: \"command\" as const,\n id: command.commandId,\n })),\n references: input.commands.map((command) => Object.freeze({ sourceId: command.commandId, refs: command.refs })),\n });\n}\nexport function makeAttemptUsageAttachmentFamilyValidation(payload: UsageAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptUsageFamilySchemaId,\n entities: payload.observations.map((observation) => Object.freeze({\n family: attemptUsageFamilySchemaId,\n kind: \"usage-observation\" as const,\n id: observation.usageObservationId,\n })),\n references: payload.observations.map((observation) => Object.freeze({\n sourceId: observation.usageObservationId,\n refs: observation.refs,\n })),\n });\n}\nexport function makeAttemptTimingAttachmentFamilyValidation(payload: AttemptTimingAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: attemptTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeAttemptDiagnosticsAttachmentFamilyValidation(payload: AttemptDiagnosticsAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: attemptDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\nexport function makeRunTimingAttachmentFamilyValidation(payload: RunTimingAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: runTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeRunDiagnosticsAttachmentFamilyValidation(payload: RunDiagnosticsAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: runDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\n"]}
1
+ {"version":3,"file":"families.js","sourceRoot":"","sources":["families.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema } from \"effect\";\nimport { isCanonicalTurnLabel } from \"../../shared/turn-label.ts\";\nimport type { RecordBlobRef } from \"../../record/attachment/index.ts\";\nimport { Sha256DigestSchema, SourceFileItemIdSchema, } from \"../../sources/codec.ts\";\nimport { AttemptDiagnosticsReferencesSchema, AttemptReferenceTargetSchema, AttemptTimingReferencesSchema, CollectionSchema, CommandsReferencesSchema, ConversationReferencesSchema, CurrencyCodeSchema, NonNegativeSafeIntegerSchema, PositiveSafeIntegerSchema, RunDiagnosticsReferencesSchema, RunReferenceTargetSchema, RunTimingReferencesSchema, SafeIdentifierSchema, SafeTextSchema, SourceNativeToolNameSchema, StableLabelSchema, UsageObservationIdSchema, UsageReferencesSchema, boundedSafeTextSchema, CallIdSchema, CommandIdSchema, DiagnosticIdSchema, IntervalIdSchema, ItemIdSchema, TurnIdSchema, } from \"./codec.ts\";\nimport { MAX_COMMAND_ARGUMENT_BYTES, MAX_COMMAND_ARGUMENTS, MAX_COMMAND_EXECUTABLE_BYTES, MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES, MAX_COMMAND_SHELL_BYTES, MAX_COMMAND_STREAM_BYTES, MAX_COMMANDS_ATTACHMENT_BYTES, MAX_COMMANDS_CLOSURE_BYTES, MAX_COMMANDS, MAX_CONVERSATION_ATTACHMENT_BYTES, MAX_CONVERSATION_ITEMS, MAX_CONVERSATION_TEXT_BYTES, MAX_CONVERSATION_TURNS, MAX_DIAGNOSTIC_CAUSES, MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES, MAX_DIAGNOSTIC_CONTEXT_ITEMS, MAX_DIAGNOSTIC_SUMMARY_BYTES, MAX_DIAGNOSTICS_ATTACHMENT_BYTES, MAX_DIAGNOSTICS, MAX_TIMING_ATTACHMENT_BYTES, MAX_TIMING_INTERVALS, MAX_USAGE_ATTACHMENT_BYTES, MAX_USAGE_OBSERVATIONS, } from \"./limits.ts\";\nimport { ATTEMPT_OBSERVABILITY_FAMILY_SCHEMA_IDS, RUN_OBSERVABILITY_FAMILY_SCHEMA_IDS, compareObservabilityText, isSafeText, isStableLabel, jsonUtf8ByteLength, limitationTarget, type AttemptDiagnosticsReferences, type AttemptReferenceTarget, type Collection, type CommandId, type CommandsReferences, type RunDiagnosticsReferences, } from \"./model.ts\";\nimport { makeAttemptObservabilityFamilyValidation, makeRunObservabilityFamilyValidation, type ObservabilityFamilyValidation, } from \"./validation.ts\";\nfunction freezeArray<Value>(values: readonly Value[]): readonly Value[] {\n return Object.freeze([...values]);\n}\nfunction payloadFits(value: object, maximumBytes: number): boolean {\n const length = jsonUtf8ByteLength(value);\n return length !== undefined && length <= maximumBytes;\n}\nfunction isStrictlyOrderedById<Item>(values: readonly Item[], idOf: (value: Item) => string): boolean {\n let previous: string | undefined;\n const seen = new Set<string>();\n for (const value of values) {\n const id = idOf(value);\n if (seen.has(id) || (previous !== undefined && compareObservabilityText(previous, id) >= 0)) {\n return false;\n }\n seen.add(id);\n previous = id;\n }\n return true;\n}\nfunction isAllowedCollection(collection: Collection, targets: readonly string[]): boolean {\n return collection.limitations.every((limitation) => targets.some((target) => limitationTarget(limitation) === target));\n}\nfunction hasExactStreamTruncation(collection: Collection, commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return collection.limitations.some((limitation) => limitation.code === \"stream-truncated\" &&\n limitation.commandId === commandId &&\n limitation.stream === stream &&\n limitation.retainedBytes === retainedBytes &&\n limitation.omittedBytes === omittedBytes);\n}\nfunction isProjectRelativePath(value: string): boolean {\n return (isSafeText(value) &&\n value.length > 0 &&\n !value.startsWith(\"/\") &&\n value.split(\"/\").every((segment) => segment.length > 0 && segment !== \".\" && segment !== \"..\") &&\n new TextEncoder().encode(value).byteLength <= MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES);\n}\nconst ProjectRelativePathSchema = Schema.String.pipe(Schema.filter(isProjectRelativePath, {\n identifier: \"ObservabilityProjectRelativePath\",\n description: \"a portable project-relative path without dot segments\",\n}));\nconst ExitCodeSchema = Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value) &&\n value >= -2147483648 &&\n value <= 2147483647, {\n identifier: \"ObservabilityCommandExitCode\",\n description: \"a signed 32-bit command exit code\",\n}));\n/** Record's opaque ref position is the only non-JSON value in a durable command payload. */\nconst RecordBlobRefPositionSchema: Schema.Schema<RecordBlobRef, RecordBlobRef, never> = Schema.declare<RecordBlobRef>((value): value is RecordBlobRef => typeof value === \"object\" && value !== null);\nconst ConversationItemBaseFields = {\n itemId: ItemIdSchema,\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n refs: ConversationReferencesSchema,\n} as const;\nexport const ConversationTurnSchema = Schema.Struct({\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n refs: ConversationReferencesSchema,\n});\nexport const ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-call\"),\n callId: CallIdSchema,\n tool: SourceNativeToolNameSchema,\n inputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-result\"),\n callId: CallIdSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"thinking-summary\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n responseSummary: Schema.NullOr(boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES)),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"skill-load\"),\n skill: SafeIdentifierSchema,\n outcome: Schema.Literal(\"loaded\", \"failed\"),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"context-injection\"),\n source: Schema.Literal(\"system\", \"memory\", \"skill\", \"user\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"compaction\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n compactedItemCount: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}));\nexport type ConversationTurn = Schema.Schema.Type<typeof ConversationTurnSchema>;\nexport type ConversationItem = Schema.Schema.Type<typeof ConversationItemSchema>;\nfunction conversationTextLengths(item: ConversationItem): readonly number[] {\n switch (item.kind) {\n case \"message\":\n return freezeArray([new TextEncoder().encode(item.text).byteLength]);\n case \"tool-call\":\n return freezeArray([new TextEncoder().encode(item.inputSummary).byteLength]);\n case \"tool-result\":\n return freezeArray([new TextEncoder().encode(item.outputSummary).byteLength]);\n case \"thinking-summary\":\n case \"subagent\":\n case \"context-injection\":\n case \"compaction\":\n case \"conversation-error\":\n return freezeArray([new TextEncoder().encode(item.summary).byteLength]);\n case \"input-request\":\n return freezeArray([\n new TextEncoder().encode(item.promptSummary).byteLength,\n ...(item.responseSummary === null\n ? []\n : [new TextEncoder().encode(item.responseSummary).byteLength]),\n ]);\n case \"skill-load\":\n return freezeArray([]);\n }\n}\nfunction isCanonicalConversationAttachment(value: Schema.Schema.Type<typeof ConversationAttachmentStructuralSchema>): boolean {\n if (value.turns.length > MAX_CONVERSATION_TURNS ||\n value.items.length > MAX_CONVERSATION_ITEMS ||\n !payloadFits(value, MAX_CONVERSATION_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\"conversation-item\", \"conversation-text\"])) {\n return false;\n }\n if (!isStrictlyOrderedById(value.turns, (turn) => turn.turnId))\n return false;\n const turnIds = new Set<string>();\n const turnSequences = new Set<number>();\n for (const turn of value.turns) {\n turnIds.add(turn.turnId);\n if (turnSequences.has(turn.sequence))\n return false;\n turnSequences.add(turn.sequence);\n }\n const itemIds = new Set<string>();\n const itemSequences = new Set<number>();\n const callIds = new Set<string>();\n const resultCallIds = new Set<string>();\n let previous: ConversationItem | undefined;\n for (const item of value.items) {\n if (itemIds.has(item.itemId) ||\n itemSequences.has(item.sequence) ||\n !turnIds.has(item.turnId)) {\n return false;\n }\n if (previous !== undefined &&\n (previous.sequence > item.sequence ||\n (previous.sequence === item.sequence &&\n compareObservabilityText(previous.itemId, item.itemId) >= 0))) {\n return false;\n }\n itemIds.add(item.itemId);\n itemSequences.add(item.sequence);\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.add(item.callId);\n }\n if (item.kind === \"tool-result\") {\n if (!callIds.has(item.callId) || resultCallIds.has(item.callId))\n return false;\n resultCallIds.add(item.callId);\n }\n previous = item;\n }\n if (value.collection.state === \"complete\" &&\n [...callIds].some((callId) => !resultCallIds.has(callId))) {\n return false;\n }\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"conversation-text\") {\n return true;\n }\n const item = value.items.find((candidate) => candidate.itemId === limitation.itemId);\n return item !== undefined && conversationTextLengths(item).some((length) => length === limitation.retainedBytes);\n });\n}\nconst ConversationAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n});\nexport const ConversationAttachmentSchema = ConversationAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalConversationAttachment, {\n identifier: \"ObservabilityConversationAttachment\",\n description: \"a canonical, bounded conversation attachment\",\n}));\nexport type ConversationAttachment = Schema.Schema.Type<typeof ConversationAttachmentSchema>;\nconst CommandInvocationSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: boundedSafeTextSchema(MAX_COMMAND_EXECUTABLE_BYTES),\n arguments: Schema.Array(boundedSafeTextSchema(MAX_COMMAND_ARGUMENT_BYTES)).pipe(Schema.filter((arguments_) => arguments_.length <= MAX_COMMAND_ARGUMENTS, {\n identifier: \"ObservabilityCommandArguments\",\n description: \"at most 64 safe command arguments\",\n })),\n}), Schema.Struct({\n kind: Schema.Literal(\"shell\"),\n command: boundedSafeTextSchema(MAX_COMMAND_SHELL_BYTES),\n}));\nconst CommandWorkingDirectorySchema = Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: ProjectRelativePathSchema,\n}), Schema.Struct({ kind: Schema.Literal(\"redacted\") }));\nexport const CommandManifestSchema = Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: CommandInvocationSchema,\n workingDirectory: CommandWorkingDirectorySchema,\n});\nexport const CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"inline\"),\n text: SafeTextSchema,\n }), Schema.Struct({\n kind: Schema.Literal(\"blob\"),\n ref: RecordBlobRefPositionSchema,\n })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n});\nexport const CommandOutcomeSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: ExitCodeSchema,\n}), Schema.Struct({\n kind: Schema.Literal(\"terminated\"),\n reason: Schema.Literal(\"timeout\", \"cancelled\", \"transport-lost\"),\n}), Schema.Struct({\n kind: Schema.Literal(\"not-started\"),\n reason: Schema.Literal(\"spawn-failed\", \"cancelled-before-start\"),\n}));\nexport const CommandResultSchema = Schema.Struct({\n outcome: CommandOutcomeSchema,\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n});\nexport const CommandObservationSchema = Schema.Struct({\n commandId: CommandIdSchema,\n manifest: CommandManifestSchema,\n result: CommandResultSchema,\n refs: CommandsReferencesSchema,\n});\nconst CommandsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n commands: Schema.Array(CommandObservationSchema),\n});\nexport type CommandManifest = Schema.Schema.Type<typeof CommandManifestSchema>;\nexport type CommandStream = Schema.Schema.Type<typeof CommandStreamSchema>;\nexport type CommandResult = Schema.Schema.Type<typeof CommandResultSchema>;\nexport type CommandObservation = Schema.Schema.Type<typeof CommandObservationSchema>;\nfunction isCanonicalCommandStream(stream: CommandStream, collection: Collection, commandId: string, streamName: \"stdout\" | \"stderr\"): boolean {\n if (stream.retainedBytes > MAX_COMMAND_STREAM_BYTES ||\n stream.totalSafeUtf8Bytes < stream.retainedBytes) {\n return false;\n }\n if (stream.storage.kind === \"inline\") {\n const bytes = new TextEncoder().encode(stream.storage.text).byteLength;\n if (bytes !== stream.retainedBytes ||\n stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES) {\n return false;\n }\n }\n if (stream.totalSafeUtf8Bytes === stream.retainedBytes) {\n return stream.storage.kind === \"inline\"\n ? stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES\n : stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES;\n }\n return hasExactStreamTruncation(collection, commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes);\n}\nfunction commandManifestTextLengths(manifest: CommandManifest): readonly number[] {\n const encoder = new TextEncoder();\n const invocation = manifest.invocation.kind === \"argv\"\n ? [manifest.invocation.executable, ...manifest.invocation.arguments]\n : [manifest.invocation.command];\n const directory = manifest.workingDirectory.kind === \"project-relative\"\n ? [manifest.workingDirectory.path]\n : [];\n return freezeArray([...invocation, ...directory].map((value) => encoder.encode(value).byteLength));\n}\nfunction isCanonicalCommandsAttachment(value: Schema.Schema.Type<typeof CommandsAttachmentStructuralSchema>): boolean {\n if (value.commands.length > MAX_COMMANDS ||\n !payloadFits(value, MAX_COMMANDS_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\n \"command-manifest\",\n \"command-stdout\",\n \"command-stderr\",\n ]) ||\n !isStrictlyOrderedById(value.commands, (command) => command.commandId)) {\n return false;\n }\n let closureBytes = 0;\n for (const command of value.commands) {\n for (const [name, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if (!isCanonicalCommandStream(stream, value.collection, command.commandId, name)) {\n return false;\n }\n if (stream.storage.kind === \"blob\") {\n closureBytes += stream.retainedBytes;\n }\n }\n }\n if (closureBytes > MAX_COMMANDS_CLOSURE_BYTES)\n return false;\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"command-manifest\") {\n return true;\n }\n const command = value.commands.find((candidate) => candidate.commandId === limitation.commandId);\n return command !== undefined && commandManifestTextLengths(command.manifest).some((length) => length === limitation.retainedBytes);\n });\n}\nexport const CommandsAttachmentSchema = CommandsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalCommandsAttachment, {\n identifier: \"ObservabilityCommandsAttachment\",\n description: \"a canonical, bounded commands attachment\",\n}));\nexport type CommandsAttachment = Schema.Schema.Type<typeof CommandsAttachmentSchema>;\nexport const UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"token-bucket\"),\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"request\"),\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"provider-cost\"),\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]*[1-9])?$/u.test(value) &&\n new TextEncoder().encode(value).byteLength <= 64, {\n identifier: \"ObservabilityCanonicalDecimal\",\n description: \"a non-negative canonical decimal string\",\n })),\n currency: CurrencyCodeSchema,\n}));\nconst UsageAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n observations: Schema.Array(UsageObservationSchema),\n});\nexport type UsageObservation = Schema.Schema.Type<typeof UsageObservationSchema>;\nfunction isCanonicalUsageAttachment(value: Schema.Schema.Type<typeof UsageAttachmentStructuralSchema>): boolean {\n return (value.observations.length <= MAX_USAGE_OBSERVATIONS &&\n payloadFits(value, MAX_USAGE_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"usage-observation\"]) &&\n isStrictlyOrderedById(value.observations, (observation) => observation.usageObservationId));\n}\nexport const UsageAttachmentSchema = UsageAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalUsageAttachment, {\n identifier: \"ObservabilityUsageAttachment\",\n description: \"a canonical, bounded usage attachment\",\n}));\nexport type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;\nexport const AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nexport const RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\nconst TimingOutcomeSchema = Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\");\nconst CanonicalTurnLabelSchema = Schema.String.pipe(Schema.filter((value): value is string => isCanonicalTurnLabel(value), { identifier: \"CanonicalTurnLabel\" }));\nconst AttemptTimingIntervalBase = {\n intervalId: IntervalIdSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: AttemptTimingReferencesSchema,\n} as const;\nconst AttemptTimingIntervalStructuralSchema = Schema.Struct({\n ...AttemptTimingIntervalBase,\n phase: AttemptTimingPhaseSchema,\n label: Schema.Union(StableLabelSchema, CanonicalTurnLabelSchema),\n});\nexport const AttemptTimingIntervalSchema = AttemptTimingIntervalStructuralSchema.pipe(Schema.filter((interval) => interval.phase === \"agent.send\" || isStableLabel(interval.label), {\n identifier: \"AttemptTimingInterval\",\n description: \"canonical turn labels are reserved for agent.send intervals\",\n}));\nexport const RunTimingIntervalSchema = Schema.Struct({\n intervalId: IntervalIdSchema,\n phase: RunTimingPhaseSchema,\n label: StableLabelSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: RunTimingReferencesSchema,\n});\nexport type AttemptTimingInterval = Schema.Schema.Type<typeof AttemptTimingIntervalSchema>;\nexport type RunTimingInterval = Schema.Schema.Type<typeof RunTimingIntervalSchema>;\nfunction timingEnd(start: number, duration: number): number | undefined {\n const end = start + duration;\n return Number.isSafeInteger(end) ? end : undefined;\n}\nfunction isCanonicalTimingTree<Interval extends {\n readonly intervalId: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n readonly parentIntervalId: string | null;\n}>(intervals: readonly Interval[]): boolean {\n if (!isStrictlyOrderedById(intervals, (interval) => interval.intervalId))\n return false;\n const byId = new Map(intervals.map((interval) => [interval.intervalId, interval] as const));\n for (const interval of intervals) {\n const end = timingEnd(interval.startOffsetMs, interval.durationMs);\n if (end === undefined)\n return false;\n const ancestors = new Set<string>([interval.intervalId]);\n let child: Interval = interval;\n while (child.parentIntervalId !== null) {\n const parent = byId.get(child.parentIntervalId);\n if (parent === undefined || ancestors.has(parent.intervalId)) {\n return false;\n }\n const parentEnd = timingEnd(parent.startOffsetMs, parent.durationMs);\n const childEnd = timingEnd(child.startOffsetMs, child.durationMs);\n if (parentEnd === undefined ||\n childEnd === undefined ||\n parent.startOffsetMs > child.startOffsetMs ||\n childEnd > parentEnd) {\n return false;\n }\n ancestors.add(parent.intervalId);\n child = parent;\n }\n }\n return true;\n}\nconst AttemptTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(AttemptTimingIntervalSchema),\n});\nfunction isCanonicalAttemptTimingAttachment(value: Schema.Schema.Type<typeof AttemptTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const AttemptTimingAttachmentSchema = AttemptTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptTimingAttachment, {\n identifier: \"ObservabilityAttemptTimingAttachment\",\n description: \"a canonical, bounded attempt timing tree\",\n}));\nexport type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;\nconst RunTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(RunTimingIntervalSchema),\n});\nfunction isCanonicalRunTimingAttachment(value: Schema.Schema.Type<typeof RunTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const RunTimingAttachmentSchema = RunTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunTimingAttachment, {\n identifier: \"ObservabilityRunTimingAttachment\",\n description: \"a canonical, bounded run timing tree\",\n}));\nexport type RunTimingAttachment = Schema.Schema.Type<typeof RunTimingAttachmentSchema>;\nexport const AttemptDiagnosticPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\", \"collection\");\nexport const RunDiagnosticPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\", \"collection\");\nexport const SourcePositionSchema = Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n});\nexport const SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceFileItemIdSchema,\n sha256: Sha256DigestSchema,\n start: SourcePositionSchema,\n end: SourcePositionSchema,\n});\nconst SafeDiagnosticCauseSchema = Schema.Struct({\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES),\n});\nconst DiagnosticRedactionSchema = Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({\n state: Schema.Literal(\"applied\"),\n summaryReplacements: NonNegativeSafeIntegerSchema,\n causeReplacements: NonNegativeSafeIntegerSchema,\n contextReplacements: NonNegativeSafeIntegerSchema,\n}));\nconst DiagnosticLimitContextSchema = Schema.Struct({\n kind: Schema.Literal(\"limit\"),\n limit: Schema.Literal(\"conversation-items\", \"commands\", \"usage-observations\", \"timing-intervals\", \"diagnostics\", \"command-stream-bytes\"),\n maximum: NonNegativeSafeIntegerSchema,\n observedAtLeast: NonNegativeSafeIntegerSchema,\n});\nconst DiagnosticProviderContextSchema = Schema.Struct({\n kind: Schema.Literal(\"provider\"),\n provider: SafeIdentifierSchema,\n});\n/**\n * The entity context is a single target rather than an array. Schema's generic\n * ref-array constructors cannot express the exclusion while preserving the\n * direct triple, so these declarations keep the exact input check local.\n */\nconst AttemptDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: AttemptReferenceTargetSchema.pipe(Schema.filter((target): target is AttemptDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst RunDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: RunReferenceTargetSchema.pipe(Schema.filter((target): target is RunDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst AttemptDiagnosticContextExactSchema = Schema.Union(AttemptDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nconst RunDiagnosticContextExactSchema = Schema.Union(RunDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nexport const AttemptDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: AttemptDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(AttemptDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: AttemptDiagnosticsReferencesSchema,\n});\nexport const RunDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: RunDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(RunDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: RunDiagnosticsReferencesSchema,\n});\nexport type SourcePosition = Schema.Schema.Type<typeof SourcePositionSchema>;\nexport type SourceFrame = Schema.Schema.Type<typeof SourceFrameSchema>;\nexport type SafeDiagnosticCause = Schema.Schema.Type<typeof SafeDiagnosticCauseSchema>;\nexport type DiagnosticRedaction = Schema.Schema.Type<typeof DiagnosticRedactionSchema>;\nexport type AttemptDiagnostic = Schema.Schema.Type<typeof AttemptDiagnosticSchema>;\nexport type RunDiagnostic = Schema.Schema.Type<typeof RunDiagnosticSchema>;\nfunction sourcePositionBeforeOrEqual(left: SourcePosition, right: SourcePosition): boolean {\n return left.line < right.line || (left.line === right.line && left.column <= right.column);\n}\nfunction hasValidDiagnosticShape(diagnostic: {\n readonly causes: readonly SafeDiagnosticCause[];\n readonly context: readonly unknown[];\n readonly redaction: DiagnosticRedaction;\n readonly sourceFrame: SourceFrame | null;\n}): boolean {\n if (diagnostic.causes.length > MAX_DIAGNOSTIC_CAUSES ||\n diagnostic.context.length > MAX_DIAGNOSTIC_CONTEXT_ITEMS) {\n return false;\n }\n if (diagnostic.redaction.state === \"applied\" &&\n diagnostic.redaction.summaryReplacements === 0 &&\n diagnostic.redaction.causeReplacements === 0 &&\n diagnostic.redaction.contextReplacements === 0) {\n return false;\n }\n return (diagnostic.sourceFrame === null ||\n sourcePositionBeforeOrEqual(diagnostic.sourceFrame.start, diagnostic.sourceFrame.end));\n}\nconst AttemptDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(AttemptDiagnosticSchema),\n});\nfunction isCanonicalAttemptDiagnosticsAttachment(value: Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const AttemptDiagnosticsAttachmentSchema = AttemptDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptDiagnosticsAttachment, {\n identifier: \"ObservabilityAttemptDiagnosticsAttachment\",\n description: \"a canonical, bounded attempt diagnostics attachment\",\n}));\nexport type AttemptDiagnosticsAttachment = Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentSchema>;\nconst RunDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(RunDiagnosticSchema),\n});\nfunction isCanonicalRunDiagnosticsAttachment(value: Schema.Schema.Type<typeof RunDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const RunDiagnosticsAttachmentSchema = RunDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunDiagnosticsAttachment, {\n identifier: \"ObservabilityRunDiagnosticsAttachment\",\n description: \"a canonical, bounded run diagnostics attachment\",\n}));\nexport type RunDiagnosticsAttachment = Schema.Schema.Type<typeof RunDiagnosticsAttachmentSchema>;\nconst attemptConversationFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptCommandsFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptUsageFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\nconst runTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst runDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\n/** Semantic cross-family facts intentionally remain independent of writes. */\nexport function makeAttemptConversationAttachmentFamilyValidation(payload: ConversationAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n const entities: AttemptReferenceTarget[] = [\n ...payload.turns.map((turn) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"turn\" as const,\n id: turn.turnId,\n })),\n ...payload.items.map((item) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"item\" as const,\n id: item.itemId,\n })),\n ...payload.items.flatMap((item) => item.kind === \"tool-call\"\n ? [\n Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"call\" as const,\n id: item.callId,\n }),\n ]\n : []),\n ];\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptConversationFamilySchemaId,\n entities,\n references: [\n ...payload.turns.map((turn) => Object.freeze({ sourceId: turn.turnId, refs: turn.refs })),\n ...payload.items.map((item) => Object.freeze({ sourceId: item.itemId, refs: item.refs })),\n ],\n });\n}\nexport function makeAttemptCommandsAttachmentFamilyValidation(input: {\n readonly commands: readonly {\n readonly commandId: CommandId;\n readonly refs: readonly CommandsReferences[];\n }[];\n}): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptCommandsFamilySchemaId,\n entities: input.commands.map((command) => Object.freeze({\n family: attemptCommandsFamilySchemaId,\n kind: \"command\" as const,\n id: command.commandId,\n })),\n references: input.commands.map((command) => Object.freeze({ sourceId: command.commandId, refs: command.refs })),\n });\n}\nexport function makeAttemptUsageAttachmentFamilyValidation(payload: UsageAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptUsageFamilySchemaId,\n entities: payload.observations.map((observation) => Object.freeze({\n family: attemptUsageFamilySchemaId,\n kind: \"usage-observation\" as const,\n id: observation.usageObservationId,\n })),\n references: payload.observations.map((observation) => Object.freeze({\n sourceId: observation.usageObservationId,\n refs: observation.refs,\n })),\n });\n}\nexport function makeAttemptTimingAttachmentFamilyValidation(payload: AttemptTimingAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: attemptTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeAttemptDiagnosticsAttachmentFamilyValidation(payload: AttemptDiagnosticsAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: attemptDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\nexport function makeRunTimingAttachmentFamilyValidation(payload: RunTimingAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: runTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeRunDiagnosticsAttachmentFamilyValidation(payload: RunDiagnosticsAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: runDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\n"]}
@@ -3136,10 +3136,10 @@ export declare const UsageAttachmentSchema: Schema.filter<Schema.Struct<{
3136
3136
  export type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;
3137
3137
  export declare const AttemptTimingPhaseSchema: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3138
3138
  export declare const RunTimingPhaseSchema: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
3139
- export declare const AttemptTimingIntervalSchema: Schema.Struct<{
3140
- intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
3139
+ export declare const AttemptTimingIntervalSchema: Schema.filter<Schema.Struct<{
3141
3140
  phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3142
- label: Schema.Schema<import("./model.cjs").StableLabel, string, never>;
3141
+ label: Schema.Union<[Schema.Schema<import("./model.cjs").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
3142
+ intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
3143
3143
  startOffsetMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
3144
3144
  durationMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
3145
3145
  parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.cjs").IntervalId, string, never>>;
@@ -3229,7 +3229,7 @@ export declare const AttemptTimingIntervalSchema: Schema.Struct<{
3229
3229
  readonly family: "niceeval.observability";
3230
3230
  readonly id: string;
3231
3231
  })[], never>>;
3232
- }>;
3232
+ }>>;
3233
3233
  export declare const RunTimingIntervalSchema: Schema.Struct<{
3234
3234
  intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
3235
3235
  phase: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
@@ -3329,10 +3329,10 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
3329
3329
  replacementCount: Schema.Schema<import("./model.cjs").PositiveSafeInteger, number, never>;
3330
3330
  }>]>>>;
3331
3331
  }>]>>;
3332
- intervals: Schema.Array$<Schema.Struct<{
3333
- intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
3332
+ intervals: Schema.Array$<Schema.filter<Schema.Struct<{
3334
3333
  phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3335
- label: Schema.Schema<import("./model.cjs").StableLabel, string, never>;
3334
+ label: Schema.Union<[Schema.Schema<import("./model.cjs").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
3335
+ intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
3336
3336
  startOffsetMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
3337
3337
  durationMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
3338
3338
  parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.cjs").IntervalId, string, never>>;
@@ -3422,7 +3422,7 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
3422
3422
  readonly family: "niceeval.observability";
3423
3423
  readonly id: string;
3424
3424
  })[], never>>;
3425
- }>>;
3425
+ }>>>;
3426
3426
  }>>;
3427
3427
  export type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;
3428
3428
  export declare const RunTimingAttachmentSchema: Schema.filter<Schema.Struct<{
@@ -3136,10 +3136,10 @@ export declare const UsageAttachmentSchema: Schema.filter<Schema.Struct<{
3136
3136
  export type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;
3137
3137
  export declare const AttemptTimingPhaseSchema: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3138
3138
  export declare const RunTimingPhaseSchema: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
3139
- export declare const AttemptTimingIntervalSchema: Schema.Struct<{
3140
- intervalId: Schema.Schema<import("./model.mjs").IntervalId, string, never>;
3139
+ export declare const AttemptTimingIntervalSchema: Schema.filter<Schema.Struct<{
3141
3140
  phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3142
- label: Schema.Schema<import("./model.mjs").StableLabel, string, never>;
3141
+ label: Schema.Union<[Schema.Schema<import("./model.mjs").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
3142
+ intervalId: Schema.Schema<import("./model.mjs").IntervalId, string, never>;
3143
3143
  startOffsetMs: Schema.Schema<import("./model.mjs").NonNegativeSafeInteger, number, never>;
3144
3144
  durationMs: Schema.Schema<import("./model.mjs").NonNegativeSafeInteger, number, never>;
3145
3145
  parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.mjs").IntervalId, string, never>>;
@@ -3229,7 +3229,7 @@ export declare const AttemptTimingIntervalSchema: Schema.Struct<{
3229
3229
  readonly family: "niceeval.observability";
3230
3230
  readonly id: string;
3231
3231
  })[], never>>;
3232
- }>;
3232
+ }>>;
3233
3233
  export declare const RunTimingIntervalSchema: Schema.Struct<{
3234
3234
  intervalId: Schema.Schema<import("./model.mjs").IntervalId, string, never>;
3235
3235
  phase: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
@@ -3329,10 +3329,10 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
3329
3329
  replacementCount: Schema.Schema<import("./model.mjs").PositiveSafeInteger, number, never>;
3330
3330
  }>]>>>;
3331
3331
  }>]>>;
3332
- intervals: Schema.Array$<Schema.Struct<{
3333
- intervalId: Schema.Schema<import("./model.mjs").IntervalId, string, never>;
3332
+ intervals: Schema.Array$<Schema.filter<Schema.Struct<{
3334
3333
  phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3335
- label: Schema.Schema<import("./model.mjs").StableLabel, string, never>;
3334
+ label: Schema.Union<[Schema.Schema<import("./model.mjs").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
3335
+ intervalId: Schema.Schema<import("./model.mjs").IntervalId, string, never>;
3336
3336
  startOffsetMs: Schema.Schema<import("./model.mjs").NonNegativeSafeInteger, number, never>;
3337
3337
  durationMs: Schema.Schema<import("./model.mjs").NonNegativeSafeInteger, number, never>;
3338
3338
  parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.mjs").IntervalId, string, never>>;
@@ -3422,7 +3422,7 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
3422
3422
  readonly family: "niceeval.observability";
3423
3423
  readonly id: string;
3424
3424
  })[], never>>;
3425
- }>>;
3425
+ }>>>;
3426
3426
  }>>;
3427
3427
  export type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;
3428
3428
  export declare const RunTimingAttachmentSchema: Schema.filter<Schema.Struct<{
@@ -3136,10 +3136,10 @@ export declare const UsageAttachmentSchema: Schema.filter<Schema.Struct<{
3136
3136
  export type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;
3137
3137
  export declare const AttemptTimingPhaseSchema: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3138
3138
  export declare const RunTimingPhaseSchema: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
3139
- export declare const AttemptTimingIntervalSchema: Schema.Struct<{
3140
- intervalId: Schema.Schema<import("./model.js").IntervalId, string, never>;
3139
+ export declare const AttemptTimingIntervalSchema: Schema.filter<Schema.Struct<{
3141
3140
  phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3142
- label: Schema.Schema<import("./model.js").StableLabel, string, never>;
3141
+ label: Schema.Union<[Schema.Schema<import("./model.js").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
3142
+ intervalId: Schema.Schema<import("./model.js").IntervalId, string, never>;
3143
3143
  startOffsetMs: Schema.Schema<import("./model.js").NonNegativeSafeInteger, number, never>;
3144
3144
  durationMs: Schema.Schema<import("./model.js").NonNegativeSafeInteger, number, never>;
3145
3145
  parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.js").IntervalId, string, never>>;
@@ -3229,7 +3229,7 @@ export declare const AttemptTimingIntervalSchema: Schema.Struct<{
3229
3229
  readonly family: "niceeval.observability";
3230
3230
  readonly id: string;
3231
3231
  })[], never>>;
3232
- }>;
3232
+ }>>;
3233
3233
  export declare const RunTimingIntervalSchema: Schema.Struct<{
3234
3234
  intervalId: Schema.Schema<import("./model.js").IntervalId, string, never>;
3235
3235
  phase: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
@@ -3329,10 +3329,10 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
3329
3329
  replacementCount: Schema.Schema<import("./model.js").PositiveSafeInteger, number, never>;
3330
3330
  }>]>>>;
3331
3331
  }>]>>;
3332
- intervals: Schema.Array$<Schema.Struct<{
3333
- intervalId: Schema.Schema<import("./model.js").IntervalId, string, never>;
3332
+ intervals: Schema.Array$<Schema.filter<Schema.Struct<{
3334
3333
  phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
3335
- label: Schema.Schema<import("./model.js").StableLabel, string, never>;
3334
+ label: Schema.Union<[Schema.Schema<import("./model.js").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
3335
+ intervalId: Schema.Schema<import("./model.js").IntervalId, string, never>;
3336
3336
  startOffsetMs: Schema.Schema<import("./model.js").NonNegativeSafeInteger, number, never>;
3337
3337
  durationMs: Schema.Schema<import("./model.js").NonNegativeSafeInteger, number, never>;
3338
3338
  parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.js").IntervalId, string, never>>;
@@ -3422,7 +3422,7 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
3422
3422
  readonly family: "niceeval.observability";
3423
3423
  readonly id: string;
3424
3424
  })[], never>>;
3425
- }>>;
3425
+ }>>>;
3426
3426
  }>>;
3427
3427
  export type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;
3428
3428
  export declare const RunTimingAttachmentSchema: Schema.filter<Schema.Struct<{