niceeval 0.13.1 → 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 (548) hide show
  1. package/INDEX.md +25 -2
  2. package/README.md +9 -10
  3. package/README.zh.md +9 -10
  4. package/dist/agents/ai-sdk.cjs.map +1 -1
  5. package/dist/agents/ai-sdk.d.cts +1 -1
  6. package/dist/agents/ai-sdk.d.mts +1 -1
  7. package/dist/agents/ai-sdk.d.ts +1 -1
  8. package/dist/agents/bub-install-spec.cjs +19 -5
  9. package/dist/agents/bub-install-spec.cjs.map +1 -1
  10. package/dist/agents/bub-install-spec.d.cts +9 -2
  11. package/dist/agents/bub-install-spec.d.mts +9 -2
  12. package/dist/agents/bub-install-spec.d.ts +9 -2
  13. package/dist/agents/bub-install-spec.js +14 -12
  14. package/dist/agents/bub.cjs +10 -6
  15. package/dist/agents/bub.cjs.map +1 -1
  16. package/dist/agents/bub.d.cts +2 -2
  17. package/dist/agents/bub.d.mts +2 -2
  18. package/dist/agents/bub.d.ts +2 -2
  19. package/dist/agents/claude-code.cjs.map +1 -1
  20. package/dist/agents/claude-code.d.cts +2 -2
  21. package/dist/agents/claude-code.d.mts +2 -2
  22. package/dist/agents/claude-code.d.ts +2 -2
  23. package/dist/agents/codex.cjs +4 -4
  24. package/dist/agents/codex.cjs.map +1 -1
  25. package/dist/agents/codex.d.cts +3 -3
  26. package/dist/agents/codex.d.mts +3 -3
  27. package/dist/agents/codex.d.ts +3 -3
  28. package/dist/agents/coding-cli-versions.cjs +10 -1
  29. package/dist/agents/coding-cli-versions.cjs.map +1 -1
  30. package/dist/agents/coding-cli-versions.d.cts +8 -3
  31. package/dist/agents/coding-cli-versions.d.mts +8 -3
  32. package/dist/agents/coding-cli-versions.d.ts +8 -3
  33. package/dist/agents/coding-cli-versions.js +18 -12
  34. package/dist/agents/deepseek-harness.cjs +151 -0
  35. package/dist/agents/deepseek-harness.cjs.map +1 -0
  36. package/dist/agents/deepseek-harness.d.cts +14 -0
  37. package/dist/agents/deepseek-harness.d.mts +14 -0
  38. package/dist/agents/deepseek-harness.d.ts +14 -0
  39. package/dist/agents/deepseek-harness.js +7 -0
  40. package/dist/agents/deepseek-harness.js.map +1 -0
  41. package/dist/agents/exact-npm-plugins.cjs +28 -0
  42. package/dist/agents/exact-npm-plugins.cjs.map +1 -0
  43. package/dist/agents/exact-npm-plugins.d.cts +10 -0
  44. package/dist/agents/exact-npm-plugins.d.mts +10 -0
  45. package/dist/agents/exact-npm-plugins.d.ts +10 -0
  46. package/dist/agents/exact-npm-plugins.js +8 -0
  47. package/dist/agents/exact-npm-plugins.js.map +1 -0
  48. package/dist/agents/index.cjs +5 -1
  49. package/dist/agents/index.cjs.map +1 -1
  50. package/dist/agents/index.d.cts +4 -0
  51. package/dist/agents/index.d.mts +4 -0
  52. package/dist/agents/index.d.ts +4 -0
  53. package/dist/agents/index.js +54 -50
  54. package/dist/agents/index.mjs +54 -50
  55. package/dist/agents/omp.cjs +170 -0
  56. package/dist/agents/omp.cjs.map +1 -0
  57. package/dist/agents/omp.d.cts +14 -0
  58. package/dist/agents/omp.d.mts +14 -0
  59. package/dist/agents/omp.d.ts +14 -0
  60. package/dist/agents/omp.js +7 -0
  61. package/dist/agents/omp.js.map +1 -0
  62. package/dist/agents/openclaw.cjs +51 -2
  63. package/dist/agents/openclaw.cjs.map +1 -1
  64. package/dist/agents/openclaw.d.cts +2 -0
  65. package/dist/agents/openclaw.d.mts +2 -0
  66. package/dist/agents/openclaw.d.ts +2 -0
  67. package/dist/agents/types.cjs.map +1 -1
  68. package/dist/agents/types.d.cts +4 -4
  69. package/dist/agents/types.d.mts +4 -4
  70. package/dist/agents/types.d.ts +4 -4
  71. package/dist/agents/ui-message-stream.cjs +24 -7
  72. package/dist/agents/ui-message-stream.cjs.map +1 -1
  73. package/dist/analysis/api.cjs +28 -2
  74. package/dist/analysis/api.cjs.map +1 -1
  75. package/dist/analysis/api.d.cts +22 -1
  76. package/dist/analysis/api.d.mts +22 -1
  77. package/dist/analysis/api.d.ts +22 -1
  78. package/dist/analysis/api.js +8 -6
  79. package/dist/analysis/bindings.cjs +11 -18
  80. package/dist/analysis/bindings.cjs.map +1 -1
  81. package/dist/analysis/bindings.d.cts +177 -49
  82. package/dist/analysis/bindings.d.mts +177 -49
  83. package/dist/analysis/bindings.d.ts +177 -49
  84. package/dist/analysis/contracts.cjs +1 -0
  85. package/dist/analysis/contracts.cjs.map +1 -1
  86. package/dist/analysis/contracts.d.cts +43 -3
  87. package/dist/analysis/contracts.d.mts +43 -3
  88. package/dist/analysis/contracts.d.ts +43 -3
  89. package/dist/analysis/cost-projection.cjs +2 -1
  90. package/dist/analysis/cost-projection.cjs.map +1 -1
  91. package/dist/analysis/cost-projection.d.cts +1 -1
  92. package/dist/analysis/cost-projection.d.mts +1 -1
  93. package/dist/analysis/cost-projection.d.ts +1 -1
  94. package/dist/analysis/cost.cjs +13 -3
  95. package/dist/analysis/cost.cjs.map +1 -1
  96. package/dist/analysis/cost.d.cts +10 -3
  97. package/dist/analysis/cost.d.mts +10 -3
  98. package/dist/analysis/cost.d.ts +10 -3
  99. package/dist/analysis/experiment-groups.cjs +96 -0
  100. package/dist/analysis/experiment-groups.cjs.map +1 -0
  101. package/dist/analysis/experiment-groups.d.cts +9 -0
  102. package/dist/analysis/experiment-groups.d.mts +9 -0
  103. package/dist/analysis/experiment-groups.d.ts +9 -0
  104. package/dist/analysis/experiment-groups.js +10 -0
  105. package/dist/analysis/experiment-groups.js.map +1 -0
  106. package/dist/analysis/index.cjs +4 -1
  107. package/dist/analysis/index.cjs.map +1 -1
  108. package/dist/analysis/index.d.cts +4 -2
  109. package/dist/analysis/index.d.mts +4 -2
  110. package/dist/analysis/index.d.ts +4 -2
  111. package/dist/analysis/index.js +40 -36
  112. package/dist/analysis/index.mjs +40 -36
  113. package/dist/assertions/limits.cjs +4 -0
  114. package/dist/assertions/limits.cjs.map +1 -1
  115. package/dist/assertions/limits.d.cts +4 -0
  116. package/dist/assertions/limits.d.mts +4 -0
  117. package/dist/assertions/limits.d.ts +4 -0
  118. package/dist/assertions/match.cjs +63 -25
  119. package/dist/assertions/match.cjs.map +1 -1
  120. package/dist/assertions/match.d.cts +7 -0
  121. package/dist/assertions/match.d.mts +7 -0
  122. package/dist/assertions/match.d.ts +7 -0
  123. package/dist/assertions/record/attachment.cjs +32 -4
  124. package/dist/assertions/record/attachment.cjs.map +1 -1
  125. package/dist/assertions/record/diff.cjs +10 -4
  126. package/dist/assertions/record/diff.cjs.map +1 -1
  127. package/dist/assertions/record/producer.cjs +101 -4
  128. package/dist/assertions/record/producer.cjs.map +1 -1
  129. package/dist/assertions/record/producer.d.cts +4 -1
  130. package/dist/assertions/record/producer.d.mts +4 -1
  131. package/dist/assertions/record/producer.d.ts +4 -1
  132. package/dist/assertions/runtime.cjs +45 -5
  133. package/dist/assertions/runtime.cjs.map +1 -1
  134. package/dist/cli/record.cjs +113 -8
  135. package/dist/cli/record.cjs.map +1 -1
  136. package/dist/cli/record.d.cts +20 -1
  137. package/dist/cli/record.d.mts +20 -1
  138. package/dist/cli/record.d.ts +20 -1
  139. package/dist/cli/record.js +4 -2
  140. package/dist/cli.cjs +386 -31
  141. package/dist/cli.cjs.map +1 -1
  142. package/dist/cli.d.cts +10 -2
  143. package/dist/cli.d.mts +10 -2
  144. package/dist/cli.d.ts +10 -2
  145. package/dist/context/send-retry.cjs +4 -4
  146. package/dist/context/send-retry.cjs.map +1 -1
  147. package/dist/coordination/host/runtime.cjs +8 -30
  148. package/dist/coordination/host/runtime.cjs.map +1 -1
  149. package/dist/coordination/host/runtime.d.cts +3 -3
  150. package/dist/coordination/host/runtime.d.mts +3 -3
  151. package/dist/coordination/host/runtime.d.ts +3 -3
  152. package/dist/coordination/host/types.cjs.map +1 -1
  153. package/dist/coordination/host/types.d.cts +0 -5
  154. package/dist/coordination/host/types.d.mts +0 -5
  155. package/dist/coordination/host/types.d.ts +0 -5
  156. package/dist/coordination/platform/node.cjs +90 -9
  157. package/dist/coordination/platform/node.cjs.map +1 -1
  158. package/dist/define.cjs +25 -1
  159. package/dist/define.cjs.map +1 -1
  160. package/dist/experiment/host/index.cjs +1 -0
  161. package/dist/experiment/host/index.cjs.map +1 -1
  162. package/dist/i18n/en.cjs +26 -8
  163. package/dist/i18n/en.cjs.map +1 -1
  164. package/dist/i18n/en.d.cts +19 -6
  165. package/dist/i18n/en.d.mts +19 -6
  166. package/dist/i18n/en.d.ts +19 -6
  167. package/dist/index.cjs.map +1 -1
  168. package/dist/index.d.cts +1 -1
  169. package/dist/index.d.mts +1 -1
  170. package/dist/index.d.ts +1 -1
  171. package/dist/o11y/parsers/hermes.cjs +1 -1
  172. package/dist/o11y/parsers/hermes.cjs.map +1 -1
  173. package/dist/o11y/prices.json +1 -1
  174. package/dist/o11y/record/families.cjs +12 -3
  175. package/dist/o11y/record/families.cjs.map +1 -1
  176. package/dist/o11y/record/families.d.cts +8 -8
  177. package/dist/o11y/record/families.d.mts +8 -8
  178. package/dist/o11y/record/families.d.ts +8 -8
  179. package/dist/o11y/record/family-projectors.d.cts +66 -18
  180. package/dist/o11y/record/family-projectors.d.mts +66 -18
  181. package/dist/o11y/record/family-projectors.d.ts +66 -18
  182. package/dist/o11y/record/family-writers.d.cts +11 -3
  183. package/dist/o11y/record/family-writers.d.mts +11 -3
  184. package/dist/o11y/record/family-writers.d.ts +11 -3
  185. package/dist/o11y/record/runner-producer.cjs +14 -4
  186. package/dist/o11y/record/runner-producer.cjs.map +1 -1
  187. package/dist/record/codec/core.d.cts +2 -2
  188. package/dist/record/codec/core.d.mts +2 -2
  189. package/dist/record/codec/core.d.ts +2 -2
  190. package/dist/record/family/catalog.d.cts +44 -12
  191. package/dist/record/family/catalog.d.mts +44 -12
  192. package/dist/record/family/catalog.d.ts +44 -12
  193. package/dist/record/family/index.js +128 -124
  194. package/dist/record/family/observability-v1.cjs +35 -0
  195. package/dist/record/family/observability-v1.cjs.map +1 -0
  196. package/dist/record/family/observability-v1.d.cts +3 -0
  197. package/dist/record/family/observability-v1.d.mts +3 -0
  198. package/dist/record/family/observability-v1.d.ts +3 -0
  199. package/dist/record/family/observability-v1.js +6 -0
  200. package/dist/record/family/observability-v1.js.map +1 -0
  201. package/dist/record/family/observability.cjs +58 -9
  202. package/dist/record/family/observability.cjs.map +1 -1
  203. package/dist/record/family/observability.d.cts +1014 -15
  204. package/dist/record/family/observability.d.mts +1014 -15
  205. package/dist/record/family/observability.d.ts +1014 -15
  206. package/dist/record/family/observability.js +22 -18
  207. package/dist/record/host/runtime.cjs +600 -31
  208. package/dist/record/host/runtime.cjs.map +1 -1
  209. package/dist/record/host/types.cjs.map +1 -1
  210. package/dist/record/host/types.d.cts +33 -9
  211. package/dist/record/host/types.d.mts +33 -9
  212. package/dist/record/host/types.d.ts +33 -9
  213. package/dist/record/maintenance/runtime.cjs +1 -2
  214. package/dist/record/maintenance/runtime.cjs.map +1 -1
  215. package/dist/record/model/core.cjs.map +1 -1
  216. package/dist/record/model/core.d.cts +1 -1
  217. package/dist/record/model/core.d.mts +1 -1
  218. package/dist/record/model/core.d.ts +1 -1
  219. package/dist/record/model/definition.d.cts +6 -6
  220. package/dist/record/model/definition.d.mts +6 -6
  221. package/dist/record/model/definition.d.ts +6 -6
  222. package/dist/record/model/identifiers.cjs +1 -1
  223. package/dist/record/model/identifiers.cjs.map +1 -1
  224. package/dist/record/model/identifiers.d.cts +1 -1
  225. package/dist/record/model/identifiers.d.mts +1 -1
  226. package/dist/record/model/identifiers.d.ts +1 -1
  227. package/dist/record/platform/node.cjs +159 -23
  228. package/dist/record/platform/node.cjs.map +1 -1
  229. package/dist/record/platform/services.cjs.map +1 -1
  230. package/dist/record/platform/services.d.cts +15 -2
  231. package/dist/record/platform/services.d.mts +15 -2
  232. package/dist/record/platform/services.d.ts +15 -2
  233. package/dist/record/reader/errors.cjs +37 -1
  234. package/dist/record/reader/errors.cjs.map +1 -1
  235. package/dist/record/reader/errors.d.cts +49 -1
  236. package/dist/record/reader/errors.d.mts +49 -1
  237. package/dist/record/reader/errors.d.ts +49 -1
  238. package/dist/record/reader/errors.js +22 -12
  239. package/dist/record/reader/format.cjs +76 -17
  240. package/dist/record/reader/format.cjs.map +1 -1
  241. package/dist/record/reader/format.d.cts +11 -4
  242. package/dist/record/reader/format.d.mts +11 -4
  243. package/dist/record/reader/format.d.ts +11 -4
  244. package/dist/record/reader/format.js +2 -0
  245. package/dist/record/reader/index.js +32 -18
  246. package/dist/record/reader/runtime.cjs +64 -0
  247. package/dist/record/reader/runtime.cjs.map +1 -1
  248. package/dist/record/reader/runtime.d.cts +15 -0
  249. package/dist/record/reader/runtime.d.mts +15 -0
  250. package/dist/record/reader/runtime.d.ts +15 -0
  251. package/dist/record/reader/runtime.js +2 -0
  252. package/dist/report/assets/styles.css +53 -29
  253. package/dist/report/built-in/analysis-values.cjs +21 -13
  254. package/dist/report/built-in/analysis-values.cjs.map +1 -1
  255. package/dist/report/built-in/analysis-values.d.cts +11 -22
  256. package/dist/report/built-in/analysis-values.d.mts +11 -22
  257. package/dist/report/built-in/analysis-values.d.ts +11 -22
  258. package/dist/report/built-in/analysis-values.js +4 -6
  259. package/dist/report/built-in/index.cjs +1 -3
  260. package/dist/report/built-in/index.cjs.map +1 -1
  261. package/dist/report/built-in/index.d.cts +1 -1
  262. package/dist/report/built-in/index.d.mts +1 -1
  263. package/dist/report/built-in/index.d.ts +1 -1
  264. package/dist/report/built-in/index.js +4 -8
  265. package/dist/report/built-in/index.mjs +4 -8
  266. package/dist/report/built-in/machine.cjs +0 -2
  267. package/dist/report/built-in/machine.cjs.map +1 -1
  268. package/dist/report/built-in/machine.d.cts +0 -2
  269. package/dist/report/built-in/machine.d.mts +0 -2
  270. package/dist/report/built-in/machine.d.ts +0 -2
  271. package/dist/report/built-in/result-components.cjs +49 -51
  272. package/dist/report/built-in/result-components.cjs.map +1 -1
  273. package/dist/report/built-in/result-components.d.cts +16 -17
  274. package/dist/report/built-in/result-components.d.mts +16 -17
  275. package/dist/report/built-in/result-components.d.ts +16 -17
  276. package/dist/report/built-in/result-components.js +0 -4
  277. package/dist/report/built-in/run-membership-overview.cjs +126 -17
  278. package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
  279. package/dist/report/built-in/run-membership-overview.d.cts +14 -0
  280. package/dist/report/built-in/run-membership-overview.d.mts +14 -0
  281. package/dist/report/built-in/run-membership-overview.d.ts +14 -0
  282. package/dist/report/built-in/run-membership-overview.js +4 -2
  283. package/dist/report/built-in/standard.cjs +80 -45
  284. package/dist/report/built-in/standard.cjs.map +1 -1
  285. package/dist/report/built-in/standard.d.cts +19 -41
  286. package/dist/report/built-in/standard.d.mts +19 -41
  287. package/dist/report/built-in/standard.d.ts +19 -41
  288. package/dist/report/built-in/standard.js +6 -6
  289. package/dist/report/components/attempt-detail/compute.cjs +78 -2
  290. package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
  291. package/dist/report/components/attempt-detail/compute.d.cts +1 -1
  292. package/dist/report/components/attempt-detail/compute.d.mts +1 -1
  293. package/dist/report/components/attempt-detail/compute.d.ts +1 -1
  294. package/dist/report/components/attempt-detail/content.cjs +1 -1
  295. package/dist/report/components/attempt-detail/content.cjs.map +1 -1
  296. package/dist/report/components/entity-lists/compute.cjs +42 -5
  297. package/dist/report/components/entity-lists/compute.cjs.map +1 -1
  298. package/dist/report/components/entity-lists/compute.d.cts +10 -8
  299. package/dist/report/components/entity-lists/compute.d.mts +10 -8
  300. package/dist/report/components/entity-lists/compute.d.ts +10 -8
  301. package/dist/report/components/entity-lists/content.cjs +31 -6
  302. package/dist/report/components/entity-lists/content.cjs.map +1 -1
  303. package/dist/report/components/entity-lists/index.cjs +9 -4
  304. package/dist/report/components/entity-lists/index.cjs.map +1 -1
  305. package/dist/report/components/entity-lists/index.d.cts +4 -7
  306. package/dist/report/components/entity-lists/index.d.mts +4 -7
  307. package/dist/report/components/entity-lists/index.d.ts +4 -7
  308. package/dist/report/components/summaries/compute.cjs +8 -1
  309. package/dist/report/components/summaries/compute.cjs.map +1 -1
  310. package/dist/report/components/summaries/compute.d.cts +9 -1
  311. package/dist/report/components/summaries/compute.d.mts +9 -1
  312. package/dist/report/components/summaries/compute.d.ts +9 -1
  313. package/dist/report/components/summaries/index.cjs +48 -4
  314. package/dist/report/components/summaries/index.cjs.map +1 -1
  315. package/dist/report/components/summaries/index.d.cts +7 -4
  316. package/dist/report/components/summaries/index.d.mts +7 -4
  317. package/dist/report/components/summaries/index.d.ts +7 -4
  318. package/dist/report/definition/cell.cjs +3 -0
  319. package/dist/report/definition/cell.cjs.map +1 -1
  320. package/dist/report/definition/cell.d.cts +2 -0
  321. package/dist/report/definition/cell.d.mts +2 -0
  322. package/dist/report/definition/cell.d.ts +2 -0
  323. package/dist/report/definition/primitives/chart.cjs +8 -5
  324. package/dist/report/definition/primitives/chart.cjs.map +1 -1
  325. package/dist/report/definition/primitives/points-dataset.cjs +1 -0
  326. package/dist/report/definition/primitives/points-dataset.cjs.map +1 -1
  327. package/dist/report/definition/primitives.cjs +15 -2
  328. package/dist/report/definition/primitives.cjs.map +1 -1
  329. package/dist/report/definition/report.cjs +27 -3
  330. package/dist/report/definition/report.cjs.map +1 -1
  331. package/dist/report/definition/report.d.cts +8 -0
  332. package/dist/report/definition/report.d.mts +8 -0
  333. package/dist/report/definition/report.d.ts +8 -0
  334. package/dist/report/execution/machine.cjs +30 -14
  335. package/dist/report/execution/machine.cjs.map +1 -1
  336. package/dist/report/execution/machine.d.cts +20 -10
  337. package/dist/report/execution/machine.d.mts +20 -10
  338. package/dist/report/execution/machine.d.ts +20 -10
  339. package/dist/report/execution/machine.js +6 -6
  340. package/dist/report/host/execute.cjs +25 -16
  341. package/dist/report/host/execute.cjs.map +1 -1
  342. package/dist/report/host/execute.d.cts +4 -0
  343. package/dist/report/host/execute.d.mts +4 -0
  344. package/dist/report/host/execute.d.ts +4 -0
  345. package/dist/report/host/from-record.cjs +22 -5
  346. package/dist/report/host/from-record.cjs.map +1 -1
  347. package/dist/report/host/machine.cjs +53 -11
  348. package/dist/report/host/machine.cjs.map +1 -1
  349. package/dist/report/host/site-runtime.cjs +9 -8
  350. package/dist/report/host/site-runtime.cjs.map +1 -1
  351. package/dist/report/host/site-runtime.d.cts +1 -1
  352. package/dist/report/host/site-runtime.d.mts +1 -1
  353. package/dist/report/host/site-runtime.d.ts +1 -1
  354. package/dist/report/host/static.cjs +56 -9
  355. package/dist/report/host/static.cjs.map +1 -1
  356. package/dist/report/index.cjs.map +1 -1
  357. package/dist/report/index.d.cts +1 -1
  358. package/dist/report/index.d.mts +1 -1
  359. package/dist/report/index.d.ts +1 -1
  360. package/dist/report/model/dataset.cjs +7 -2
  361. package/dist/report/model/dataset.cjs.map +1 -1
  362. package/dist/report/model/locale.cjs +2 -0
  363. package/dist/report/model/locale.cjs.map +1 -1
  364. package/dist/report/model/locale.d.cts +1 -0
  365. package/dist/report/model/locale.d.mts +1 -0
  366. package/dist/report/model/locale.d.ts +1 -0
  367. package/dist/report/model/metrics.cjs +3 -1
  368. package/dist/report/model/metrics.cjs.map +1 -1
  369. package/dist/report/model/pricing.cjs +16 -11
  370. package/dist/report/model/pricing.cjs.map +1 -1
  371. package/dist/report/react/styles.css +53 -29
  372. package/dist/runner/adoption.cjs +1 -0
  373. package/dist/runner/adoption.cjs.map +1 -1
  374. package/dist/runner/attempt.cjs +44 -5
  375. package/dist/runner/attempt.cjs.map +1 -1
  376. package/dist/runner/attempt.d.cts +13 -1
  377. package/dist/runner/attempt.d.mts +13 -1
  378. package/dist/runner/attempt.d.ts +13 -1
  379. package/dist/runner/config-identity.cjs +10 -2
  380. package/dist/runner/config-identity.cjs.map +1 -1
  381. package/dist/runner/config-identity.d.cts +4 -2
  382. package/dist/runner/config-identity.d.mts +4 -2
  383. package/dist/runner/config-identity.d.ts +4 -2
  384. package/dist/runner/feedback/human.cjs +298 -59
  385. package/dist/runner/feedback/human.cjs.map +1 -1
  386. package/dist/runner/feedback/json.cjs +14 -6
  387. package/dist/runner/feedback/json.cjs.map +1 -1
  388. package/dist/runner/feedback/json.d.cts +3 -2
  389. package/dist/runner/feedback/json.d.mts +3 -2
  390. package/dist/runner/feedback/json.d.ts +3 -2
  391. package/dist/runner/feedback/reducer.cjs +2 -0
  392. package/dist/runner/feedback/reducer.cjs.map +1 -1
  393. package/dist/runner/judge-config.cjs +1 -1
  394. package/dist/runner/judge-config.cjs.map +1 -1
  395. package/dist/runner/ledger.cjs +124 -12
  396. package/dist/runner/ledger.cjs.map +1 -1
  397. package/dist/runner/project-current.cjs +13 -5
  398. package/dist/runner/project-current.cjs.map +1 -1
  399. package/dist/runner/run.cjs +564 -256
  400. package/dist/runner/run.cjs.map +1 -1
  401. package/dist/runner/sandbox-pool.cjs +161 -30
  402. package/dist/runner/sandbox-pool.cjs.map +1 -1
  403. package/dist/runner/sandbox-pool.d.cts +34 -2
  404. package/dist/runner/sandbox-pool.d.mts +34 -2
  405. package/dist/runner/sandbox-pool.d.ts +34 -2
  406. package/dist/runner/shared-state-lease.cjs +803 -0
  407. package/dist/runner/shared-state-lease.cjs.map +1 -0
  408. package/dist/runner/shared-state-lease.d.cts +121 -0
  409. package/dist/runner/shared-state-lease.d.mts +121 -0
  410. package/dist/runner/shared-state-lease.d.ts +121 -0
  411. package/dist/runner/shared-state-lease.js +24 -0
  412. package/dist/runner/shared-state-lease.js.map +1 -0
  413. package/dist/runner/teardown-registry.cjs +97 -34
  414. package/dist/runner/teardown-registry.cjs.map +1 -1
  415. package/dist/runner/teardown-registry.d.cts +27 -1
  416. package/dist/runner/teardown-registry.d.mts +27 -1
  417. package/dist/runner/teardown-registry.d.ts +27 -1
  418. package/dist/runner/teardown-registry.js +20 -16
  419. package/dist/runner/types.cjs.map +1 -1
  420. package/dist/runner/types.d.cts +31 -5
  421. package/dist/runner/types.d.mts +31 -5
  422. package/dist/runner/types.d.ts +31 -5
  423. package/dist/sample/analysis.cjs +249 -459
  424. package/dist/sample/analysis.cjs.map +1 -1
  425. package/dist/sample/capability.cjs +138 -7
  426. package/dist/sample/capability.cjs.map +1 -1
  427. package/dist/sample/capability.d.cts +3 -1
  428. package/dist/sample/capability.d.mts +3 -1
  429. package/dist/sample/capability.d.ts +3 -1
  430. package/dist/sample/capability.js +8 -6
  431. package/dist/sandbox/docker-agent-image.cjs +5 -1
  432. package/dist/sandbox/docker-agent-image.cjs.map +1 -1
  433. package/dist/sandbox/docker-agent-image.d.cts +2 -0
  434. package/dist/sandbox/docker-agent-image.d.mts +2 -0
  435. package/dist/sandbox/docker-agent-image.d.ts +2 -0
  436. package/dist/sandbox/docker-agent-image.js +14 -10
  437. package/dist/sandbox/docker-profile/schema.cjs +283 -534
  438. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  439. package/dist/sandbox/docker-profile/schema.d.cts +10 -27
  440. package/dist/sandbox/docker-profile/schema.d.mts +10 -27
  441. package/dist/sandbox/docker-profile/schema.d.ts +10 -27
  442. package/dist/sandbox/e2b-agent-template.cjs +5 -2
  443. package/dist/sandbox/e2b-agent-template.cjs.map +1 -1
  444. package/dist/sandbox/index.cjs +4 -2
  445. package/dist/sandbox/index.cjs.map +1 -1
  446. package/dist/sandbox/index.d.cts +1 -1
  447. package/dist/sandbox/index.d.mts +1 -1
  448. package/dist/sandbox/index.d.ts +1 -1
  449. package/dist/sandbox/index.js +120 -116
  450. package/dist/sandbox/index.mjs +120 -116
  451. package/dist/sandbox/keep-registry.cjs +28 -66
  452. package/dist/sandbox/keep-registry.cjs.map +1 -1
  453. package/dist/sandbox/types.cjs.map +1 -1
  454. package/dist/sandbox/types.d.cts +1 -1
  455. package/dist/sandbox/types.d.mts +1 -1
  456. package/dist/sandbox/types.d.ts +1 -1
  457. package/dist/shared/aggregate.cjs +16 -6
  458. package/dist/shared/aggregate.cjs.map +1 -1
  459. package/dist/shared/aggregate.d.cts +12 -4
  460. package/dist/shared/aggregate.d.mts +12 -4
  461. package/dist/shared/aggregate.d.ts +12 -4
  462. package/dist/shared/turn-label.cjs +20 -2
  463. package/dist/shared/turn-label.cjs.map +1 -1
  464. package/dist/shared/turn-label.d.cts +2 -0
  465. package/dist/shared/turn-label.d.mts +2 -0
  466. package/dist/shared/turn-label.d.ts +2 -0
  467. package/dist/shared/turn-label.js +4 -2
  468. package/dist/vendor/remark/remark-gfm.cjs +7 -7
  469. package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
  470. package/dist/vendor/remark/remark-parse.cjs +12 -12
  471. package/dist/vendor/remark/remark-parse.cjs.map +1 -1
  472. package/dist/vendor/remark/remark.cjs +13 -13
  473. package/dist/vendor/remark/remark.cjs.map +1 -1
  474. package/dist/view/server.cjs +6 -0
  475. package/dist/view/server.cjs.map +1 -1
  476. package/docs-site/images/hitl-handshake-zh.svg +3 -3
  477. package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
  478. package/docs-site/zh/examples/coding-agent-extensions.mdx +1 -1
  479. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +4 -3
  480. package/docs-site/zh/examples/integrations/claude-sdk.mdx +3 -3
  481. package/docs-site/zh/examples/integrations/codex-sdk.mdx +5 -5
  482. package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
  483. package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
  484. package/docs-site/zh/explanation/adapter.mdx +5 -5
  485. package/docs-site/zh/explanation/assert.mdx +7 -7
  486. package/docs-site/zh/explanation/drive.mdx +4 -2
  487. package/docs-site/zh/explanation/evals.mdx +10 -8
  488. package/docs-site/zh/explanation/experiment.mdx +2 -2
  489. package/docs-site/zh/explanation/hitl.mdx +9 -9
  490. package/docs-site/zh/explanation/judge.mdx +5 -5
  491. package/docs-site/zh/explanation/overview.mdx +3 -3
  492. package/docs-site/zh/explanation/runner.mdx +1 -1
  493. package/docs-site/zh/index.mdx +3 -3
  494. package/docs-site/zh/reference/builtin-agents.mdx +13 -13
  495. package/docs-site/zh/reference/capabilities.mdx +1 -1
  496. package/docs-site/zh/reference/cli.mdx +18 -12
  497. package/docs-site/zh/reference/define-agent.mdx +130 -5
  498. package/docs-site/zh/reference/define-config.mdx +2 -2
  499. package/docs-site/zh/reference/define-eval.mdx +4 -4
  500. package/docs-site/zh/reference/events.mdx +11 -11
  501. package/docs-site/zh/reference/official-adapters.mdx +6 -6
  502. package/docs-site/zh/reference/results-data.mdx +6 -0
  503. package/docs-site/zh/troubleshooting/debugging.mdx +1 -1
  504. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +37 -5
  505. package/docs-site/zh/tutorials/accept-results.mdx +72 -0
  506. package/docs-site/zh/tutorials/agent-onboarding.mdx +6 -6
  507. package/docs-site/zh/tutorials/authoring.mdx +9 -13
  508. package/docs-site/zh/tutorials/ci-integration.mdx +6 -6
  509. package/docs-site/zh/tutorials/compare-runs.mdx +61 -0
  510. package/docs-site/zh/tutorials/concurrency.mdx +13 -12
  511. package/docs-site/zh/tutorials/configuration.mdx +4 -6
  512. package/docs-site/zh/tutorials/connect-your-agent.mdx +1 -1
  513. package/docs-site/zh/tutorials/control-run-cost.mdx +58 -0
  514. package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
  515. package/docs-site/zh/tutorials/custom-reports.mdx +2 -2
  516. package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +46 -0
  517. package/docs-site/zh/tutorials/docker-in-docker.mdx +52 -43
  518. package/docs-site/zh/tutorials/eval-groups.mdx +6 -6
  519. package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
  520. package/docs-site/zh/tutorials/experiments.mdx +2 -3
  521. package/docs-site/zh/tutorials/handle-execution-failures.mdx +18 -10
  522. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +16 -8
  523. package/docs-site/zh/tutorials/nixos-managed-dind.mdx +160 -0
  524. package/docs-site/zh/tutorials/plugins.mdx +14 -0
  525. package/docs-site/zh/tutorials/rerun-and-cache.mdx +4 -2
  526. package/docs-site/zh/tutorials/sandbox-agent.mdx +17 -11
  527. package/docs-site/zh/tutorials/sandbox-providers.mdx +17 -13
  528. package/docs-site/zh/tutorials/sandbox-reuse.mdx +12 -19
  529. package/docs-site/zh/tutorials/select-and-preview.mdx +65 -0
  530. package/docs-site/zh/tutorials/verify-judge.mdx +78 -0
  531. package/docs-site/zh/tutorials/viewing-results.mdx +38 -1
  532. package/docs-site/zh/tutorials/write-experiment.mdx +7 -5
  533. package/docs-site/zh/tutorials/write-send.mdx +9 -8
  534. package/package.json +9 -5
  535. package/dist/report/built-in/overview.cjs +0 -44
  536. package/dist/report/built-in/overview.cjs.map +0 -1
  537. package/dist/report/built-in/overview.d.cts +0 -6
  538. package/dist/report/built-in/overview.d.mts +0 -6
  539. package/dist/report/built-in/overview.d.ts +0 -6
  540. package/dist/report/built-in/overview.js +0 -9
  541. package/dist/report/built-in/overview.js.map +0 -1
  542. package/dist/runner/gate-lease.cjs +0 -283
  543. package/dist/runner/gate-lease.cjs.map +0 -1
  544. package/dist/runner/gate-lease.d.cts +0 -62
  545. package/dist/runner/gate-lease.d.mts +0 -62
  546. package/dist/runner/gate-lease.d.ts +0 -62
  547. package/dist/runner/gate-lease.js +0 -22
  548. package/dist/runner/gate-lease.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"observability.js","sourceRoot":"","sources":["observability.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport { Schema } from \"effect\";\nimport { CanonicalProjectRelativePathSchema, Sha256DigestSchema, SourceItemIdSchema, } from \"../codec/identifiers.ts\";\nimport { RecordBlobRefSchema, type RecordBlobRef, } from \"../attachment/blob-ref.ts\";\nimport { recordAttachmentIssue, type RecordAttachmentIssue } from \"../attachment/errors.ts\";\nimport { defineRecordAttachment } from \"../definition/index.ts\";\nimport type { SourcesAttachment } from \"./sources.ts\";\nimport { MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_STREAM_BYTES, } from \"../../o11y/record/limits.ts\";\nimport { FixedAttachmentValueLimits, NonNegativeSafeIntegerSchema, EmptyArraySchema, PositiveSafeIntegerSchema, SafeIdentifierSchema, SafeTextSchema, isCanonicalIdentitySequence, } from \"./common.ts\";\nconst ObservabilityTargetSchema = Schema.Literal(\"conversation\", \"command\", \"usage\", \"timing\", \"diagnostic\");\nconst ObservabilityLimitationSchema = Schema.Union(Schema.Struct({\n code: Schema.Literal(\"capture-failed\", \"capture-interrupted\"),\n stage: Schema.Literal(\"adapter\", \"command-capture\", \"usage-capture\", \"timing-capture\", \"diagnostic-capture\", \"attempt-finalizer\", \"run-teardown\"),\n target: ObservabilityTargetSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"collection-cap-reached\", \"unsupported-input\"),\n target: ObservabilityTargetSchema,\n omittedAtLeast: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"text-truncated\", \"redacted\"),\n target: ObservabilityTargetSchema,\n replacementOrOmittedCount: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"stream-truncated\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n retainedBytes: NonNegativeSafeIntegerSchema,\n omittedBytes: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"invalid-utf8-replaced\", \"unsafe-control-stripped\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n count: PositiveSafeIntegerSchema,\n}));\nconst ObservabilityCollectionStateSchema = Schema.Union(Schema.Struct({\n state: Schema.Literal(\"complete\"),\n limitations: EmptyArraySchema,\n}), Schema.Struct({\n state: Schema.Literal(\"partial\"),\n limitations: Schema.NonEmptyArray(ObservabilityLimitationSchema),\n}));\nconst ConversationTurnSchema = Schema.Struct({\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n});\nconst ConversationItemBase = {\n itemId: SafeIdentifierSchema,\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n} as const;\nconst ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-call\"),\n callId: SafeIdentifierSchema,\n tool: SafeIdentifierSchema,\n inputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-result\"),\n callId: SafeIdentifierSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"thinking-summary\", \"compaction\", \"context-injection\"),\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: SafeTextSchema,\n responseSummary: Schema.NullOr(SafeTextSchema),\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"skill-load\", \"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}));\nexport const AttemptConversationCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n}).pipe(Schema.filter((value) => {\n if (!isCanonicalIdentitySequence(value.turns.map((turn) => turn.turnId)))\n return false;\n if (!isCanonicalIdentitySequence(value.items.map((item) => item.itemId)))\n return false;\n const turnIds = new Set(value.turns.map((turn) => turn.turnId));\n if (new Set(value.turns.map((turn) => turn.sequence)).size !== value.turns.length)\n return false;\n if (new Set(value.items.map((item) => item.sequence)).size !== value.items.length)\n return false;\n const callIds = new Map<string, {\n readonly turnId: string;\n readonly sequence: number;\n }>();\n for (const item of value.items) {\n if (!turnIds.has(item.turnId))\n return false;\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.set(item.callId, { turnId: item.turnId, sequence: item.sequence });\n }\n }\n // Item arrays are canonically ordered by immutable item identity, not by\n // temporal sequence. Resolve every call first, then validate results by\n // their explicit sequence so a lexically earlier result id is not\n // mistaken for an impossible pair.\n const resultIds = new Set<string>();\n for (const item of value.items) {\n if (item.kind === \"tool-result\") {\n const call = callIds.get(item.callId);\n if (call === undefined || resultIds.has(item.callId) ||\n call.turnId !== item.turnId || item.sequence <= call.sequence)\n return false;\n resultIds.add(item.callId);\n }\n }\n return value.collection.state !== \"complete\" || [...callIds.keys()].every((id) => resultIds.has(id));\n}, {\n identifier: \"AttemptConversationCollection\",\n description: \"canonical turns/items with matched tool calls in a complete collection\",\n}));\nconst CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"inline\"), text: SafeTextSchema }), Schema.Struct({ kind: Schema.Literal(\"blob\"), ref: RecordBlobRefSchema })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n /** Digest of the exact retained safe bytes, whether inline or blob-backed. */\n sha256: Sha256DigestSchema,\n}).pipe(Schema.filter((value) => {\n if (value.totalSafeUtf8Bytes < value.retainedBytes ||\n value.retainedBytes > MAX_COMMAND_STREAM_BYTES)\n return false;\n if (value.storage.kind !== \"inline\")\n return true;\n return value.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES &&\n new TextEncoder().encode(value.storage.text).byteLength === value.retainedBytes;\n}, {\n identifier: \"CommandStream\",\n description: \"a stream whose retained bytes cannot exceed the observed safe bytes\",\n}));\nconst CommandObservationSchema = Schema.Struct({\n commandId: SafeIdentifierSchema,\n manifest: Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: SafeTextSchema,\n arguments: Schema.Array(SafeTextSchema),\n }), Schema.Struct({ kind: Schema.Literal(\"shell\"), command: SafeTextSchema })),\n workingDirectory: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: CanonicalProjectRelativePathSchema,\n }), Schema.Struct({ kind: Schema.Literal(\"redacted\") })),\n }),\n result: Schema.Struct({\n outcome: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value))),\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 })),\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n }),\n});\nfunction hasStreamTruncationLimitation(limitations: readonly unknown[], commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n if (totalSafeUtf8Bytes === retainedBytes)\n return true;\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return limitations.some((limitation) => {\n if (typeof limitation !== \"object\" || limitation === null)\n return false;\n const candidate = limitation as Record<string, unknown>;\n return candidate.code === \"stream-truncated\" &&\n candidate.commandId === commandId &&\n candidate.stream === stream &&\n candidate.retainedBytes === retainedBytes &&\n candidate.omittedBytes === omittedBytes;\n });\n}\nfunction hasCanonicalCommandsCollection(value: {\n readonly collection: {\n readonly limitations: readonly unknown[];\n };\n readonly commands: readonly Schema.Schema.Type<typeof CommandObservationSchema>[];\n}): boolean {\n if (value.commands.length > 256 ||\n !isCanonicalIdentitySequence(value.commands.map((command) => command.commandId)))\n return false;\n for (const command of value.commands) {\n for (const [streamName, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if ((stream.storage.kind === \"inline\") !==\n (stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES) ||\n !hasStreamTruncationLimitation(value.collection.limitations, command.commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes))\n return false;\n }\n }\n return true;\n}\nexport const AttemptCommandsCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n commands: Schema.Array(CommandObservationSchema),\n}).pipe(Schema.filter(hasCanonicalCommandsCollection, {\n identifier: \"AttemptCommandsCollection\",\n description: \"canonical command identities\",\n}));\nconst UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"token-bucket\"),\n provider: SafeIdentifierSchema,\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"request\"),\n provider: SafeIdentifierSchema,\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"provider-cost\"),\n provider: SafeIdentifierSchema,\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$/.test(value))),\n currency: Schema.String.pipe(Schema.filter((value) => /^[A-Z]{3}$/.test(value))),\n}));\nexport const AttemptUsageCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n observations: Schema.Array(UsageObservationSchema),\n}).pipe(Schema.filter((value) => isCanonicalIdentitySequence(value.observations.map((observation) => observation.usageObservationId)), { identifier: \"AttemptUsageCollection\", description: \"canonical usage identities\" }));\nconst AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nconst RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\ninterface TimingEntryForValidation {\n readonly intervalId: string;\n readonly parentIntervalId: string | null;\n readonly outcome: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n}\ninterface TimingCollectionForValidation {\n readonly collection: {\n readonly state: string;\n };\n readonly intervals: readonly TimingEntryForValidation[];\n}\nfunction isTimingEntryForValidation(value: unknown): value is TimingEntryForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"intervalId\" in value &&\n typeof value.intervalId === \"string\" &&\n \"parentIntervalId\" in value &&\n (typeof value.parentIntervalId === \"string\" || value.parentIntervalId === null) &&\n \"outcome\" in value &&\n typeof value.outcome === \"string\" &&\n \"startOffsetMs\" in value &&\n typeof value.startOffsetMs === \"number\" &&\n \"durationMs\" in value &&\n typeof value.durationMs === \"number\");\n}\nfunction isTimingCollectionForValidation(value: unknown): value is TimingCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"collection\" in value &&\n typeof value.collection === \"object\" &&\n value.collection !== null &&\n \"state\" in value.collection &&\n typeof value.collection.state === \"string\" &&\n \"intervals\" in value &&\n Array.isArray(value.intervals) &&\n value.intervals.every(isTimingEntryForValidation));\n}\nfunction hasCanonicalTimingCollection(value: unknown): boolean {\n if (!isTimingCollectionForValidation(value))\n return false;\n if (!isCanonicalIdentitySequence(value.intervals.map((entry) => entry.intervalId))) {\n return false;\n }\n const byId = new Map(value.intervals.map((entry) => [entry.intervalId, entry] as const));\n for (const entry of value.intervals) {\n const end = entry.startOffsetMs + entry.durationMs;\n if (!Number.isSafeInteger(end))\n return false;\n if (entry.parentIntervalId === null)\n continue;\n const parent = byId.get(entry.parentIntervalId);\n if (parent === undefined)\n return false;\n const parentEnd = parent.startOffsetMs + parent.durationMs;\n if (!Number.isSafeInteger(parentEnd) || entry.startOffsetMs < parent.startOffsetMs ||\n end > parentEnd)\n return false;\n const visited = new Set<string>([entry.intervalId]);\n let cursor: TimingEntryForValidation | undefined = parent;\n while (cursor !== undefined && cursor.parentIntervalId !== null) {\n if (visited.has(cursor.intervalId))\n return false;\n visited.add(cursor.intervalId);\n cursor = byId.get(cursor.parentIntervalId);\n if (cursor === undefined)\n return false;\n }\n }\n return (value.collection.state !== \"complete\" ||\n value.intervals.every((entry) => entry.outcome !== \"unknown\"));\n}\nfunction timingCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const interval = Schema.Struct({\n intervalId: SafeIdentifierSchema,\n phase,\n label: SafeIdentifierSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(SafeIdentifierSchema),\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\"),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n intervals: Schema.Array(interval),\n }).pipe(Schema.filter(hasCanonicalTimingCollection, { identifier: \"TimingCollection\", description: \"canonical timing intervals with valid parents\" }));\n}\nexport const AttemptTimingCollectionSchema = timingCollectionSchema(AttemptTimingPhaseSchema);\nexport const RunTimingCollectionSchema = timingCollectionSchema(RunTimingPhaseSchema);\nconst SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceItemIdSchema,\n sha256: Sha256DigestSchema,\n start: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n end: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n});\ninterface DiagnosticForValidation {\n readonly diagnosticId: string;\n}\ninterface DiagnosticsCollectionForValidation {\n readonly diagnostics: readonly DiagnosticForValidation[];\n}\nfunction isDiagnosticForValidation(value: unknown): value is DiagnosticForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnosticId\" in value &&\n typeof value.diagnosticId === \"string\");\n}\nfunction isDiagnosticsCollectionForValidation(value: unknown): value is DiagnosticsCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnostics\" in value &&\n Array.isArray(value.diagnostics) &&\n value.diagnostics.every(isDiagnosticForValidation));\n}\nfunction hasCanonicalDiagnosticsCollection(value: unknown): boolean {\n return (isDiagnosticsCollectionForValidation(value) &&\n isCanonicalIdentitySequence(value.diagnostics.map((diagnostic) => diagnostic.diagnosticId)));\n}\nfunction diagnosticsCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const diagnostic = Schema.Struct({\n diagnosticId: SafeIdentifierSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase,\n summary: SafeTextSchema,\n causes: Schema.Array(Schema.Struct({ code: SafeIdentifierSchema, summary: SafeTextSchema })),\n redaction: Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({ state: Schema.Literal(\"applied\"), replacements: PositiveSafeIntegerSchema })),\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n diagnostics: Schema.Array(diagnostic),\n }).pipe(Schema.filter(hasCanonicalDiagnosticsCollection, { identifier: \"DiagnosticsCollection\", description: \"canonical diagnostic identities\" }));\n}\nexport const AttemptDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\"));\nexport const RunDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\"));\n/** Exact Attempt owner payload for the one fixed Observability family. */\nexport const AttemptObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"attempt\")).pipe(Schema.fromKey(\"owner-kind\")),\n conversation: Schema.propertySignature(AttemptConversationCollectionSchema).pipe(Schema.fromKey(\"conversation-data\")),\n commands: Schema.propertySignature(AttemptCommandsCollectionSchema).pipe(Schema.fromKey(\"commands-data\")),\n usage: Schema.propertySignature(AttemptUsageCollectionSchema).pipe(Schema.fromKey(\"usage-data\")),\n timing: Schema.propertySignature(AttemptTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(AttemptDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\n/** Exact Run owner payload for the same fixed Observability family. */\nexport const RunObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"run\")).pipe(Schema.fromKey(\"owner-kind\")),\n timing: Schema.propertySignature(RunTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(RunDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\nexport type AttemptObservabilityAttachment = Schema.Schema.Type<typeof AttemptObservabilityAttachmentSchema>;\nexport type RunObservabilityAttachment = Schema.Schema.Type<typeof RunObservabilityAttachmentSchema>;\nexport type ObservabilityAttachment = AttemptObservabilityAttachment | RunObservabilityAttachment;\nfunction commandStreamBlobRefs(stream: Schema.Schema.Type<typeof CommandStreamSchema>): readonly RecordBlobRef[] {\n return stream.storage.kind === \"blob\" ? [stream.storage.ref] : [];\n}\n/** Complete closure projection for `niceeval.observability`. */\nexport function observabilityBlobRefs(payload: ObservabilityAttachment): readonly RecordBlobRef[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n return Object.freeze(payload.commands.commands.flatMap((command) => [\n ...commandStreamBlobRefs(command.result.stdout),\n ...commandStreamBlobRefs(command.result.stderr),\n ]));\n}\nfunction commandStreamIntegrityIssues(stream: Schema.Schema.Type<typeof CommandStreamSchema>, blobs: ReadonlyMap<RecordBlobRef, Uint8Array>, path: readonly string[]): readonly RecordAttachmentIssue[] {\n const bytes = stream.storage.kind === \"inline\"\n ? new TextEncoder().encode(stream.storage.text)\n : blobs.get(stream.storage.ref);\n if (bytes === undefined) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n if (stream.storage.kind === \"blob\") {\n try {\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n if (/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f]/.test(text)) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n catch {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n if (bytes.byteLength !== stream.retainedBytes || stream.totalSafeUtf8Bytes < bytes.byteLength) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"retainedBytes\"]),\n ]);\n }\n if (createHash(\"sha256\").update(bytes).digest(\"hex\") !== stream.sha256) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"sha256\"]),\n ]);\n }\n return Object.freeze([]);\n}\n/** Own-closure checks shared by the writer seal and the reader materializer. */\nexport function observabilityAttachmentIntegrityIssues(payload: ObservabilityAttachment, blobs: readonly {\n readonly ref: RecordBlobRef;\n readonly bytes: Uint8Array;\n}[]): readonly RecordAttachmentIssue[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n const bytesByRef = new Map<RecordBlobRef, Uint8Array>(blobs.map((blob) => [blob.ref, blob.bytes] as const));\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, command] of payload.commands.commands.entries()) {\n issues.push(...commandStreamIntegrityIssues(command.result.stdout, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stdout\"]));\n issues.push(...commandStreamIntegrityIssues(command.result.stderr, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stderr\"]));\n }\n return Object.freeze(issues);\n}\n/**\n * The Sources closure belongs to the origin Run, so this cross-family join is\n * deliberately performed by Host's common seal/read boundary rather than by\n * a family-local reader special case.\n */\nexport function observabilitySourceFrameIntegrityIssues(payload: ObservabilityAttachment, sources: SourcesAttachment): readonly RecordAttachmentIssue[] {\n const sourceById = new Map(sources.items.map((item) => [item.sourceItemId, item] as const));\n const diagnostics = payload.diagnostics.diagnostics;\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, diagnostic] of diagnostics.entries()) {\n const frame = diagnostic.sourceFrame;\n if (frame === null)\n continue;\n const source = sourceById.get(frame.sourceItemId);\n if (source === undefined || source.sha256 !== frame.sha256) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n continue;\n }\n const startsAfterEnd = frame.start.line > frame.end.line ||\n (frame.start.line === frame.end.line && frame.start.column > frame.end.column);\n if (startsAfterEnd) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n }\n }\n return Object.freeze(issues);\n}\nconst AttemptObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 4000,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 64 * 1024 * 1024,\n});\nconst RunObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 256,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 16 * 1024 * 1024,\n});\n/** One family declaration owns both Observability owner payloads. */\nexport const observabilityRecordAttachment = defineRecordAttachment({\n family: \"niceeval.observability\",\n current: {\n schemaVersion: 1,\n owners: {\n attempt: {\n schema: AttemptObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: AttemptObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n run: {\n schema: RunObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: RunObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n },\n },\n});\n"]}
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["observability.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport { Schema } from \"effect\";\nimport { CanonicalProjectRelativePathSchema, Sha256DigestSchema, SourceItemIdSchema, } from \"../codec/identifiers.ts\";\nimport { RecordBlobRefSchema, type RecordBlobRef, } from \"../attachment/blob-ref.ts\";\nimport { recordAttachmentIssue, type RecordAttachmentIssue } from \"../attachment/errors.ts\";\nimport { defineRecordAttachment } from \"../definition/index.ts\";\nimport type { SourcesAttachment } from \"./sources.ts\";\nimport { MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_STREAM_BYTES, } from \"../../o11y/record/limits.ts\";\nimport { isCanonicalTurnLabel } from \"../../shared/turn-label.ts\";\nimport { FixedAttachmentValueLimits, NonNegativeSafeIntegerSchema, EmptyArraySchema, PositiveSafeIntegerSchema, SafeIdentifierSchema, SafeTextSchema, isCanonicalIdentitySequence, } from \"./common.ts\";\nconst ObservabilityTargetSchema = Schema.Literal(\"conversation\", \"command\", \"usage\", \"timing\", \"diagnostic\");\nconst ObservabilityLimitationSchema = Schema.Union(Schema.Struct({\n code: Schema.Literal(\"capture-failed\", \"capture-interrupted\"),\n stage: Schema.Literal(\"adapter\", \"command-capture\", \"usage-capture\", \"timing-capture\", \"diagnostic-capture\", \"attempt-finalizer\", \"run-teardown\"),\n target: ObservabilityTargetSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"collection-cap-reached\", \"unsupported-input\"),\n target: ObservabilityTargetSchema,\n omittedAtLeast: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"text-truncated\", \"redacted\"),\n target: ObservabilityTargetSchema,\n replacementOrOmittedCount: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"stream-truncated\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n retainedBytes: NonNegativeSafeIntegerSchema,\n omittedBytes: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"invalid-utf8-replaced\", \"unsafe-control-stripped\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n count: PositiveSafeIntegerSchema,\n}));\nconst ObservabilityCollectionStateSchema = Schema.Union(Schema.Struct({\n state: Schema.Literal(\"complete\"),\n limitations: EmptyArraySchema,\n}), Schema.Struct({\n state: Schema.Literal(\"partial\"),\n limitations: Schema.NonEmptyArray(ObservabilityLimitationSchema),\n}));\nconst ConversationTurnSchema = Schema.Struct({\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n});\nconst ConversationItemBase = {\n itemId: SafeIdentifierSchema,\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n} as const;\nconst ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-call\"),\n callId: SafeIdentifierSchema,\n tool: SafeIdentifierSchema,\n inputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-result\"),\n callId: SafeIdentifierSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"thinking-summary\", \"compaction\", \"context-injection\"),\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: SafeTextSchema,\n responseSummary: Schema.NullOr(SafeTextSchema),\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"skill-load\", \"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}));\nexport const AttemptConversationCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n}).pipe(Schema.filter((value) => {\n // Conversation is temporal. Producers retain turns and items in their\n // observed sequence, so canonicality is unique identity plus a strictly\n // increasing sequence (not lexical ordering of ids such as turn-9 and\n // turn-10).\n if (new Set(value.turns.map((turn) => turn.turnId)).size !== value.turns.length)\n return false;\n if (new Set(value.items.map((item) => item.itemId)).size !== value.items.length)\n return false;\n const turnIds = new Set(value.turns.map((turn) => turn.turnId));\n if (new Set(value.turns.map((turn) => turn.sequence)).size !== value.turns.length)\n return false;\n if (new Set(value.items.map((item) => item.sequence)).size !== value.items.length)\n return false;\n if (value.turns.some((turn, index) => index > 0 && value.turns[index - 1]!.sequence >= turn.sequence))\n return false;\n if (value.items.some((item, index) => index > 0 && value.items[index - 1]!.sequence >= item.sequence))\n return false;\n const callIds = new Map<string, {\n readonly turnId: string;\n readonly sequence: number;\n }>();\n for (const item of value.items) {\n if (!turnIds.has(item.turnId))\n return false;\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.set(item.callId, { turnId: item.turnId, sequence: item.sequence });\n }\n }\n // Resolve every call first, then validate results by their explicit\n // sequence.\n const resultIds = new Set<string>();\n for (const item of value.items) {\n if (item.kind === \"tool-result\") {\n const call = callIds.get(item.callId);\n if (call === undefined || resultIds.has(item.callId) ||\n call.turnId !== item.turnId || item.sequence <= call.sequence)\n return false;\n resultIds.add(item.callId);\n }\n }\n return value.collection.state !== \"complete\" || [...callIds.keys()].every((id) => resultIds.has(id));\n}, {\n identifier: \"AttemptConversationCollection\",\n description: \"canonical turns/items with matched tool calls in a complete collection\",\n}));\nconst CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"inline\"), text: SafeTextSchema }), Schema.Struct({ kind: Schema.Literal(\"blob\"), ref: RecordBlobRefSchema })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n /** Digest of the exact retained safe bytes, whether inline or blob-backed. */\n sha256: Sha256DigestSchema,\n}).pipe(Schema.filter((value) => {\n if (value.totalSafeUtf8Bytes < value.retainedBytes ||\n value.retainedBytes > MAX_COMMAND_STREAM_BYTES)\n return false;\n if (value.storage.kind !== \"inline\")\n return true;\n return value.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES &&\n new TextEncoder().encode(value.storage.text).byteLength === value.retainedBytes;\n}, {\n identifier: \"CommandStream\",\n description: \"a stream whose retained bytes cannot exceed the observed safe bytes\",\n}));\nconst CommandObservationSchema = Schema.Struct({\n commandId: SafeIdentifierSchema,\n manifest: Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: SafeTextSchema,\n arguments: Schema.Array(SafeTextSchema),\n }), Schema.Struct({ kind: Schema.Literal(\"shell\"), command: SafeTextSchema })),\n workingDirectory: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: CanonicalProjectRelativePathSchema,\n }), Schema.Struct({ kind: Schema.Literal(\"redacted\") })),\n }),\n result: Schema.Struct({\n outcome: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value))),\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 })),\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n }),\n});\nfunction hasStreamTruncationLimitation(limitations: readonly unknown[], commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n if (totalSafeUtf8Bytes === retainedBytes)\n return true;\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return limitations.some((limitation) => {\n if (typeof limitation !== \"object\" || limitation === null)\n return false;\n const candidate = limitation as Record<string, unknown>;\n return candidate.code === \"stream-truncated\" &&\n candidate.commandId === commandId &&\n candidate.stream === stream &&\n candidate.retainedBytes === retainedBytes &&\n candidate.omittedBytes === omittedBytes;\n });\n}\nfunction hasCanonicalCommandsCollection(value: {\n readonly collection: {\n readonly limitations: readonly unknown[];\n };\n readonly commands: readonly Schema.Schema.Type<typeof CommandObservationSchema>[];\n}): boolean {\n if (value.commands.length > 256 ||\n !isCanonicalIdentitySequence(value.commands.map((command) => command.commandId)))\n return false;\n for (const command of value.commands) {\n for (const [streamName, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if ((stream.storage.kind === \"inline\") !==\n (stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES) ||\n !hasStreamTruncationLimitation(value.collection.limitations, command.commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes))\n return false;\n }\n }\n return true;\n}\nexport const AttemptCommandsCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n commands: Schema.Array(CommandObservationSchema),\n}).pipe(Schema.filter(hasCanonicalCommandsCollection, {\n identifier: \"AttemptCommandsCollection\",\n description: \"canonical command identities\",\n}));\nconst UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"token-bucket\"),\n provider: SafeIdentifierSchema,\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"request\"),\n provider: SafeIdentifierSchema,\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"provider-cost\"),\n provider: SafeIdentifierSchema,\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$/.test(value))),\n currency: Schema.String.pipe(Schema.filter((value) => /^[A-Z]{3}$/.test(value))),\n}));\nexport const AttemptUsageCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n observations: Schema.Array(UsageObservationSchema),\n}).pipe(Schema.filter((value) => isCanonicalIdentitySequence(value.observations.map((observation) => observation.usageObservationId)), { identifier: \"AttemptUsageCollection\", description: \"canonical usage identities\" }));\nconst AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nconst RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\ninterface TimingEntryForValidation {\n readonly intervalId: string;\n readonly parentIntervalId: string | null;\n readonly outcome: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n}\ninterface TimingCollectionForValidation {\n readonly collection: {\n readonly state: string;\n };\n readonly intervals: readonly TimingEntryForValidation[];\n}\nfunction isTimingEntryForValidation(value: unknown): value is TimingEntryForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"intervalId\" in value &&\n typeof value.intervalId === \"string\" &&\n \"parentIntervalId\" in value &&\n (typeof value.parentIntervalId === \"string\" || value.parentIntervalId === null) &&\n \"outcome\" in value &&\n typeof value.outcome === \"string\" &&\n \"startOffsetMs\" in value &&\n typeof value.startOffsetMs === \"number\" &&\n \"durationMs\" in value &&\n typeof value.durationMs === \"number\");\n}\nfunction isTimingCollectionForValidation(value: unknown): value is TimingCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"collection\" in value &&\n typeof value.collection === \"object\" &&\n value.collection !== null &&\n \"state\" in value.collection &&\n typeof value.collection.state === \"string\" &&\n \"intervals\" in value &&\n Array.isArray(value.intervals) &&\n value.intervals.every(isTimingEntryForValidation));\n}\nfunction hasCanonicalTimingCollection(value: unknown): boolean {\n if (!isTimingCollectionForValidation(value))\n return false;\n if (!isCanonicalIdentitySequence(value.intervals.map((entry) => entry.intervalId))) {\n return false;\n }\n const byId = new Map(value.intervals.map((entry) => [entry.intervalId, entry] as const));\n for (const entry of value.intervals) {\n const end = entry.startOffsetMs + entry.durationMs;\n if (!Number.isSafeInteger(end))\n return false;\n if (entry.parentIntervalId === null)\n continue;\n const parent = byId.get(entry.parentIntervalId);\n if (parent === undefined)\n return false;\n const parentEnd = parent.startOffsetMs + parent.durationMs;\n if (!Number.isSafeInteger(parentEnd) || entry.startOffsetMs < parent.startOffsetMs ||\n end > parentEnd)\n return false;\n const visited = new Set<string>([entry.intervalId]);\n let cursor: TimingEntryForValidation | undefined = parent;\n while (cursor !== undefined && cursor.parentIntervalId !== null) {\n if (visited.has(cursor.intervalId))\n return false;\n visited.add(cursor.intervalId);\n cursor = byId.get(cursor.parentIntervalId);\n if (cursor === undefined)\n return false;\n }\n }\n return (value.collection.state !== \"complete\" ||\n value.intervals.every((entry) => entry.outcome !== \"unknown\"));\n}\nfunction timingCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const interval = Schema.Struct({\n intervalId: SafeIdentifierSchema,\n phase,\n label: SafeIdentifierSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(SafeIdentifierSchema),\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\"),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n intervals: Schema.Array(interval),\n }).pipe(Schema.filter(hasCanonicalTimingCollection, { identifier: \"TimingCollection\", description: \"canonical timing intervals with valid parents\" }));\n}\nconst CanonicalTurnLabelSchema = Schema.String.pipe(Schema.filter(isCanonicalTurnLabel, {\n identifier: \"CanonicalTurnLabel\",\n description: \"a canonical turnN or sessionK/turnN timing label\",\n}));\nfunction attemptTimingCollectionSchema<Label extends Schema.Schema.AnyNoContext>(agentSendLabel: Label) {\n const intervalBase = {\n intervalId: SafeIdentifierSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(SafeIdentifierSchema),\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\"),\n } as const;\n const interval = Schema.Union(Schema.Struct({\n ...intervalBase,\n phase: Schema.Literal(\"agent.send\"),\n label: agentSendLabel,\n }), Schema.Struct({\n ...intervalBase,\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\"),\n label: SafeIdentifierSchema,\n }));\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n intervals: Schema.Array(interval),\n }).pipe(Schema.filter(hasCanonicalTimingCollection, { identifier: \"TimingCollection\", description: \"canonical timing intervals with valid parents\" }));\n}\nexport const AttemptTimingCollectionSchema = attemptTimingCollectionSchema(Schema.Union(SafeIdentifierSchema, CanonicalTurnLabelSchema));\n/** Exact historical v1 timing shape: every label was a SafeIdentifier. */\nexport const AttemptTimingCollectionV1Schema = attemptTimingCollectionSchema(SafeIdentifierSchema);\nexport const RunTimingCollectionSchema = timingCollectionSchema(RunTimingPhaseSchema);\nconst SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceItemIdSchema,\n sha256: Sha256DigestSchema,\n start: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n end: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n});\ninterface DiagnosticForValidation {\n readonly diagnosticId: string;\n}\ninterface DiagnosticsCollectionForValidation {\n readonly diagnostics: readonly DiagnosticForValidation[];\n}\nfunction isDiagnosticForValidation(value: unknown): value is DiagnosticForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnosticId\" in value &&\n typeof value.diagnosticId === \"string\");\n}\nfunction isDiagnosticsCollectionForValidation(value: unknown): value is DiagnosticsCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnostics\" in value &&\n Array.isArray(value.diagnostics) &&\n value.diagnostics.every(isDiagnosticForValidation));\n}\nfunction hasCanonicalDiagnosticsCollection(value: unknown): boolean {\n return (isDiagnosticsCollectionForValidation(value) &&\n isCanonicalIdentitySequence(value.diagnostics.map((diagnostic) => diagnostic.diagnosticId)));\n}\nfunction diagnosticsCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const diagnostic = Schema.Struct({\n diagnosticId: SafeIdentifierSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase,\n summary: SafeTextSchema,\n causes: Schema.Array(Schema.Struct({ code: SafeIdentifierSchema, summary: SafeTextSchema })),\n redaction: Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({ state: Schema.Literal(\"applied\"), replacements: PositiveSafeIntegerSchema })),\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n diagnostics: Schema.Array(diagnostic),\n }).pipe(Schema.filter(hasCanonicalDiagnosticsCollection, { identifier: \"DiagnosticsCollection\", description: \"canonical diagnostic identities\" }));\n}\nexport const AttemptDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\"));\nexport const RunDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\"));\n/** Exact Attempt owner payload for the one fixed Observability family. */\nexport const AttemptObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"attempt\")).pipe(Schema.fromKey(\"owner-kind\")),\n conversation: Schema.propertySignature(AttemptConversationCollectionSchema).pipe(Schema.fromKey(\"conversation-data\")),\n commands: Schema.propertySignature(AttemptCommandsCollectionSchema).pipe(Schema.fromKey(\"commands-data\")),\n usage: Schema.propertySignature(AttemptUsageCollectionSchema).pipe(Schema.fromKey(\"usage-data\")),\n timing: Schema.propertySignature(AttemptTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(AttemptDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\n/** Exact historical v1 payload; only the agent.send label domain differs from v2. */\nexport const AttemptObservabilityAttachmentV1Schema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"attempt\")).pipe(Schema.fromKey(\"owner-kind\")),\n conversation: Schema.propertySignature(AttemptConversationCollectionSchema).pipe(Schema.fromKey(\"conversation-data\")),\n commands: Schema.propertySignature(AttemptCommandsCollectionSchema).pipe(Schema.fromKey(\"commands-data\")),\n usage: Schema.propertySignature(AttemptUsageCollectionSchema).pipe(Schema.fromKey(\"usage-data\")),\n timing: Schema.propertySignature(AttemptTimingCollectionV1Schema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(AttemptDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\n/** Exact Run owner payload for the same fixed Observability family. */\nexport const RunObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"run\")).pipe(Schema.fromKey(\"owner-kind\")),\n timing: Schema.propertySignature(RunTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(RunDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\nexport type AttemptObservabilityAttachment = Schema.Schema.Type<typeof AttemptObservabilityAttachmentSchema>;\nexport type RunObservabilityAttachment = Schema.Schema.Type<typeof RunObservabilityAttachmentSchema>;\nexport type ObservabilityAttachment = AttemptObservabilityAttachment | RunObservabilityAttachment;\nfunction commandStreamBlobRefs(stream: Schema.Schema.Type<typeof CommandStreamSchema>): readonly RecordBlobRef[] {\n return stream.storage.kind === \"blob\" ? [stream.storage.ref] : [];\n}\n/** Complete closure projection for `niceeval.observability`. */\nexport function observabilityBlobRefs(payload: ObservabilityAttachment): readonly RecordBlobRef[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n return Object.freeze(payload.commands.commands.flatMap((command) => [\n ...commandStreamBlobRefs(command.result.stdout),\n ...commandStreamBlobRefs(command.result.stderr),\n ]));\n}\nfunction commandStreamIntegrityIssues(stream: Schema.Schema.Type<typeof CommandStreamSchema>, blobs: ReadonlyMap<RecordBlobRef, Uint8Array>, path: readonly string[]): readonly RecordAttachmentIssue[] {\n const bytes = stream.storage.kind === \"inline\"\n ? new TextEncoder().encode(stream.storage.text)\n : blobs.get(stream.storage.ref);\n if (bytes === undefined) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n if (stream.storage.kind === \"blob\") {\n try {\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n if (/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f]/.test(text)) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n catch {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n if (bytes.byteLength !== stream.retainedBytes || stream.totalSafeUtf8Bytes < bytes.byteLength) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"retainedBytes\"]),\n ]);\n }\n if (createHash(\"sha256\").update(bytes).digest(\"hex\") !== stream.sha256) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"sha256\"]),\n ]);\n }\n return Object.freeze([]);\n}\n/** Own-closure checks shared by the writer seal and the reader materializer. */\nexport function observabilityAttachmentIntegrityIssues(payload: ObservabilityAttachment, blobs: readonly {\n readonly ref: RecordBlobRef;\n readonly bytes: Uint8Array;\n}[]): readonly RecordAttachmentIssue[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n const bytesByRef = new Map<RecordBlobRef, Uint8Array>(blobs.map((blob) => [blob.ref, blob.bytes] as const));\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, command] of payload.commands.commands.entries()) {\n issues.push(...commandStreamIntegrityIssues(command.result.stdout, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stdout\"]));\n issues.push(...commandStreamIntegrityIssues(command.result.stderr, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stderr\"]));\n }\n return Object.freeze(issues);\n}\n/**\n * The Sources closure belongs to the origin Run, so this cross-family join is\n * deliberately performed by Host's common seal/read boundary rather than by\n * a family-local reader special case.\n */\nexport function observabilitySourceFrameIntegrityIssues(payload: ObservabilityAttachment, sources: SourcesAttachment): readonly RecordAttachmentIssue[] {\n const sourceById = new Map(sources.items.map((item) => [item.sourceItemId, item] as const));\n const diagnostics = payload.diagnostics.diagnostics;\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, diagnostic] of diagnostics.entries()) {\n const frame = diagnostic.sourceFrame;\n if (frame === null)\n continue;\n const source = sourceById.get(frame.sourceItemId);\n if (source === undefined || source.sha256 !== frame.sha256) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n continue;\n }\n const startsAfterEnd = frame.start.line > frame.end.line ||\n (frame.start.line === frame.end.line && frame.start.column > frame.end.column);\n if (startsAfterEnd) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n }\n }\n return Object.freeze(issues);\n}\nconst AttemptObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 4000,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 64 * 1024 * 1024,\n});\nconst RunObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 256,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 16 * 1024 * 1024,\n});\n/** One family declaration owns both Observability owner payloads. */\nexport const observabilityRecordAttachment = defineRecordAttachment({\n family: \"niceeval.observability\",\n current: {\n schemaVersion: 2,\n owners: {\n attempt: {\n schema: AttemptObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: AttemptObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n run: {\n schema: RunObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: RunObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n },\n },\n maintenance: () => __niceevalDynamicImport(\"./observability-v1.cjs\").then(({ observabilityV1Maintenance }) => observabilityV1Maintenance),\n adjacentMigrationLinks: Object.freeze([\n Object.freeze({ fromSchemaVersion: 1, toSchemaVersion: 2 }),\n ]),\n});\n"]}