niceeval 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/INDEX.md +4 -2
  2. package/dist/adapter-usage.cjs.map +1 -1
  3. package/dist/adapter-usage.d.cts +1 -1
  4. package/dist/adapter-usage.d.mts +1 -1
  5. package/dist/adapter-usage.d.ts +1 -1
  6. package/dist/adapter.cjs +8 -7
  7. package/dist/adapter.cjs.map +1 -1
  8. package/dist/adapter.d.cts +21 -21
  9. package/dist/adapter.d.mts +21 -21
  10. package/dist/adapter.d.ts +21 -21
  11. package/dist/agents/{effect-runtime.cjs → agent-effects.cjs} +12 -18
  12. package/dist/agents/agent-effects.cjs.map +1 -0
  13. package/dist/agents/agent-effects.d.cts +23 -0
  14. package/dist/agents/agent-effects.d.mts +23 -0
  15. package/dist/agents/agent-effects.d.ts +23 -0
  16. package/dist/agents/agent-effects.js +16 -0
  17. package/dist/agents/agent-effects.js.map +1 -0
  18. package/dist/agents/ai-sdk.cjs +1 -1
  19. package/dist/agents/ai-sdk.cjs.map +1 -1
  20. package/dist/agents/bub.cjs +31 -18
  21. package/dist/agents/bub.cjs.map +1 -1
  22. package/dist/agents/bub.d.cts +9 -12
  23. package/dist/agents/bub.d.mts +9 -12
  24. package/dist/agents/bub.d.ts +9 -12
  25. package/dist/agents/claude-code-native.cjs +2 -2
  26. package/dist/agents/claude-code-native.cjs.map +1 -1
  27. package/dist/agents/claude-code.cjs +17 -11
  28. package/dist/agents/claude-code.cjs.map +1 -1
  29. package/dist/agents/claude-code.d.cts +11 -11
  30. package/dist/agents/claude-code.d.mts +11 -11
  31. package/dist/agents/claude-code.d.ts +11 -11
  32. package/dist/agents/codex-app-server.cjs +2 -2
  33. package/dist/agents/codex-app-server.cjs.map +1 -1
  34. package/dist/agents/codex.cjs +18 -12
  35. package/dist/agents/codex.cjs.map +1 -1
  36. package/dist/agents/codex.d.cts +12 -12
  37. package/dist/agents/codex.d.mts +12 -12
  38. package/dist/agents/codex.d.ts +12 -12
  39. package/dist/agents/deepseek-harness.cjs +2 -2
  40. package/dist/agents/deepseek-harness.cjs.map +1 -1
  41. package/dist/agents/hermes.cjs +3 -3
  42. package/dist/agents/hermes.cjs.map +1 -1
  43. package/dist/agents/index.cjs +3 -3
  44. package/dist/agents/index.cjs.map +1 -1
  45. package/dist/agents/index.d.cts +3 -3
  46. package/dist/agents/index.d.mts +3 -3
  47. package/dist/agents/index.d.ts +3 -3
  48. package/dist/agents/index.js +2 -2
  49. package/dist/agents/index.mjs +2 -2
  50. package/dist/agents/mcp.cjs.map +1 -1
  51. package/dist/agents/mcp.d.cts +2 -2
  52. package/dist/agents/mcp.d.mts +2 -2
  53. package/dist/agents/mcp.d.ts +2 -2
  54. package/dist/agents/omp.cjs +2 -2
  55. package/dist/agents/omp.cjs.map +1 -1
  56. package/dist/agents/openai-compat.cjs +2 -2
  57. package/dist/agents/openai-compat.cjs.map +1 -1
  58. package/dist/agents/openclaw.cjs +3 -3
  59. package/dist/agents/openclaw.cjs.map +1 -1
  60. package/dist/agents/opencode.cjs +16 -4
  61. package/dist/agents/opencode.cjs.map +1 -1
  62. package/dist/agents/plugin-extensions.cjs +71 -0
  63. package/dist/agents/plugin-extensions.cjs.map +1 -0
  64. package/dist/agents/plugin-extensions.d.cts +26 -0
  65. package/dist/agents/plugin-extensions.d.mts +26 -0
  66. package/dist/agents/plugin-extensions.d.ts +26 -0
  67. package/dist/agents/plugin-extensions.js +8 -0
  68. package/dist/agents/plugin-extensions.js.map +1 -0
  69. package/dist/agents/post-setup.cjs +14 -3
  70. package/dist/agents/post-setup.cjs.map +1 -1
  71. package/dist/agents/post-setup.d.cts +4 -2
  72. package/dist/agents/post-setup.d.mts +4 -2
  73. package/dist/agents/post-setup.d.ts +4 -2
  74. package/dist/agents/post-setup.js +8 -6
  75. package/dist/agents/sdk-streams.cjs +3 -3
  76. package/dist/agents/sdk-streams.cjs.map +1 -1
  77. package/dist/agents/{session-slot.cjs → session-key.cjs} +4 -4
  78. package/dist/agents/session-key.cjs.map +1 -0
  79. package/dist/agents/session-key.d.cts +12 -0
  80. package/dist/agents/session-key.d.mts +12 -0
  81. package/dist/agents/session-key.d.ts +12 -0
  82. package/dist/agents/session-key.js +6 -0
  83. package/dist/agents/session-key.js.map +1 -0
  84. package/dist/agents/shared.cjs +2 -2
  85. package/dist/agents/shared.cjs.map +1 -1
  86. package/dist/agents/shared.d.cts +4 -4
  87. package/dist/agents/shared.d.mts +4 -4
  88. package/dist/agents/shared.d.ts +4 -4
  89. package/dist/agents/skills.cjs.map +1 -1
  90. package/dist/agents/skills.d.cts +3 -3
  91. package/dist/agents/skills.d.mts +3 -3
  92. package/dist/agents/skills.d.ts +3 -3
  93. package/dist/agents/types.cjs.map +1 -1
  94. package/dist/agents/types.d.cts +55 -54
  95. package/dist/agents/types.d.mts +55 -54
  96. package/dist/agents/types.d.ts +55 -54
  97. package/dist/agents/ui-message-stream.cjs +4 -4
  98. package/dist/agents/ui-message-stream.cjs.map +1 -1
  99. package/dist/agents/unrecognized-events.cjs +32 -0
  100. package/dist/agents/unrecognized-events.cjs.map +1 -0
  101. package/dist/agents/unrecognized-events.d.cts +8 -0
  102. package/dist/agents/unrecognized-events.d.mts +8 -0
  103. package/dist/agents/unrecognized-events.d.ts +8 -0
  104. package/dist/agents/unrecognized-events.js +6 -0
  105. package/dist/agents/unrecognized-events.js.map +1 -0
  106. package/dist/assertions/api.cjs.map +1 -1
  107. package/dist/assertions/api.d.cts +3 -0
  108. package/dist/assertions/api.d.mts +3 -0
  109. package/dist/assertions/api.d.ts +3 -0
  110. package/dist/assertions/collection.cjs +1 -1
  111. package/dist/assertions/collection.cjs.map +1 -1
  112. package/dist/assertions/judge.cjs +1 -1
  113. package/dist/assertions/judge.cjs.map +1 -1
  114. package/dist/assertions/match.cjs +52 -21
  115. package/dist/assertions/match.cjs.map +1 -1
  116. package/dist/assertions/match.d.cts +16 -5
  117. package/dist/assertions/match.d.mts +16 -5
  118. package/dist/assertions/match.d.ts +16 -5
  119. package/dist/assertions/match.js +96 -94
  120. package/dist/assertions/measurements.cjs +22 -6
  121. package/dist/assertions/measurements.cjs.map +1 -1
  122. package/dist/assertions/measurements.d.cts +8 -1
  123. package/dist/assertions/measurements.d.mts +8 -1
  124. package/dist/assertions/measurements.d.ts +8 -1
  125. package/dist/assertions/numeric.cjs +2 -0
  126. package/dist/assertions/numeric.cjs.map +1 -1
  127. package/dist/assertions/numeric.d.cts +1 -1
  128. package/dist/assertions/numeric.d.mts +1 -1
  129. package/dist/assertions/numeric.d.ts +1 -1
  130. package/dist/assertions/quantity.cjs +42 -0
  131. package/dist/assertions/quantity.cjs.map +1 -0
  132. package/dist/assertions/quantity.d.cts +18 -0
  133. package/dist/assertions/quantity.d.mts +18 -0
  134. package/dist/assertions/quantity.d.ts +18 -0
  135. package/dist/assertions/quantity.js +22 -0
  136. package/dist/assertions/quantity.js.map +1 -0
  137. package/dist/assertions/record/attachment.cjs +2 -0
  138. package/dist/assertions/record/attachment.cjs.map +1 -1
  139. package/dist/assertions/record/codec.cjs +5 -1
  140. package/dist/assertions/record/codec.cjs.map +1 -1
  141. package/dist/assertions/record/model.cjs.map +1 -1
  142. package/dist/assertions/record/model.d.cts +3 -1
  143. package/dist/assertions/record/model.d.mts +3 -1
  144. package/dist/assertions/record/model.d.ts +3 -1
  145. package/dist/assertions/runtime.cjs +11 -6
  146. package/dist/assertions/runtime.cjs.map +1 -1
  147. package/dist/cli/program.cjs +3 -0
  148. package/dist/cli/program.cjs.map +1 -1
  149. package/dist/context/assert-first.cjs +6 -4
  150. package/dist/context/assert-first.cjs.map +1 -1
  151. package/dist/context/assert-first.d.cts +9 -3
  152. package/dist/context/assert-first.d.mts +9 -3
  153. package/dist/context/assert-first.d.ts +9 -3
  154. package/dist/context/notes.cjs +47 -0
  155. package/dist/context/notes.cjs.map +1 -0
  156. package/dist/context/notes.d.cts +10 -0
  157. package/dist/context/notes.d.mts +10 -0
  158. package/dist/context/notes.d.ts +10 -0
  159. package/dist/context/notes.js +6 -0
  160. package/dist/context/notes.js.map +1 -0
  161. package/dist/context/send-failures.cjs +1 -7
  162. package/dist/context/send-failures.cjs.map +1 -1
  163. package/dist/context/send-failures.d.cts +2 -3
  164. package/dist/context/send-failures.d.mts +2 -3
  165. package/dist/context/send-failures.d.ts +2 -3
  166. package/dist/context/send-retry.cjs +0 -1
  167. package/dist/context/send-retry.cjs.map +1 -1
  168. package/dist/context/send-retry.d.cts +1 -2
  169. package/dist/context/send-retry.d.mts +1 -2
  170. package/dist/context/send-retry.d.ts +1 -2
  171. package/dist/context/session.cjs +10 -17
  172. package/dist/context/session.cjs.map +1 -1
  173. package/dist/context/session.d.cts +4 -10
  174. package/dist/context/session.d.mts +4 -10
  175. package/dist/context/session.d.ts +4 -10
  176. package/dist/define.cjs +88 -65
  177. package/dist/define.cjs.map +1 -1
  178. package/dist/define.d.cts +3 -3
  179. package/dist/define.d.mts +3 -3
  180. package/dist/define.d.ts +3 -3
  181. package/dist/eval/cli/contribution.cjs +1 -1
  182. package/dist/eval/cli/contribution.cjs.map +1 -1
  183. package/dist/eval/host/index.cjs +1 -1
  184. package/dist/eval/host/index.cjs.map +1 -1
  185. package/dist/eval/record/evaluation.cjs +1 -1
  186. package/dist/eval/record/evaluation.cjs.map +1 -1
  187. package/dist/eval/record/membership-provenance.d.cts +3 -3
  188. package/dist/eval/record/membership-provenance.d.mts +3 -3
  189. package/dist/eval/record/membership-provenance.d.ts +3 -3
  190. package/dist/eval/record/score.cjs +2 -2
  191. package/dist/eval/record/score.cjs.map +1 -1
  192. package/dist/eval/record/sealed-assertion.cjs +1 -1
  193. package/dist/eval/record/sealed-assertion.cjs.map +1 -1
  194. package/dist/eval/record/verdict.cjs +2 -2
  195. package/dist/eval/record/verdict.cjs.map +1 -1
  196. package/dist/expect/index.cjs +10 -1
  197. package/dist/expect/index.cjs.map +1 -1
  198. package/dist/expect/index.d.cts +3 -1
  199. package/dist/expect/index.d.mts +3 -1
  200. package/dist/expect/index.d.ts +3 -1
  201. package/dist/expect/index.js +92 -76
  202. package/dist/expect/index.mjs +92 -76
  203. package/dist/experiment/host/cli/contribution.cjs +52 -39
  204. package/dist/experiment/host/cli/contribution.cjs.map +1 -1
  205. package/dist/experiment/host/cli/contribution.d.cts +18 -4
  206. package/dist/experiment/host/cli/contribution.d.mts +18 -4
  207. package/dist/experiment/host/cli/contribution.d.ts +18 -4
  208. package/dist/experiment/host/cli/contribution.js +2 -2
  209. package/dist/experiment/host/cli/debug-protocol.cjs +2 -2
  210. package/dist/experiment/host/cli/debug-protocol.cjs.map +1 -1
  211. package/dist/experiment/host/cli/debug-protocol.d.cts +2 -2
  212. package/dist/experiment/host/cli/debug-protocol.d.mts +2 -2
  213. package/dist/experiment/host/cli/debug-protocol.d.ts +2 -2
  214. package/dist/experiment/host/cli/output-protocol.cjs +1 -1
  215. package/dist/experiment/host/cli/output-protocol.cjs.map +1 -1
  216. package/dist/experiment/host/cli/output-protocol.d.cts +2 -2
  217. package/dist/experiment/host/cli/output-protocol.d.mts +2 -2
  218. package/dist/experiment/host/cli/output-protocol.d.ts +2 -2
  219. package/dist/experiment/host/current.cjs +2 -2
  220. package/dist/experiment/host/current.cjs.map +1 -1
  221. package/dist/experiment/host/index.cjs +1 -1
  222. package/dist/experiment/host/index.cjs.map +1 -1
  223. package/dist/experiment/host/operations.cjs +21 -22
  224. package/dist/experiment/host/operations.cjs.map +1 -1
  225. package/dist/experiment/host/runtime.cjs +8 -9
  226. package/dist/experiment/host/runtime.cjs.map +1 -1
  227. package/dist/experiment/host/runtime.d.cts +3 -3
  228. package/dist/experiment/host/runtime.d.mts +3 -3
  229. package/dist/experiment/host/runtime.d.ts +3 -3
  230. package/dist/experiment/host/teardown.cjs +3 -3
  231. package/dist/experiment/host/teardown.cjs.map +1 -1
  232. package/dist/experiment/host/teardown.d.cts +3 -3
  233. package/dist/experiment/host/teardown.d.mts +3 -3
  234. package/dist/experiment/host/teardown.d.ts +3 -3
  235. package/dist/experiment/host/types.cjs.map +1 -1
  236. package/dist/experiment/host/types.d.cts +19 -19
  237. package/dist/experiment/host/types.d.mts +19 -19
  238. package/dist/experiment/host/types.d.ts +19 -19
  239. package/dist/index.cjs +3 -3
  240. package/dist/index.cjs.map +1 -1
  241. package/dist/index.d.cts +3 -3
  242. package/dist/index.d.mts +3 -3
  243. package/dist/index.d.ts +3 -3
  244. package/dist/index.js +2 -2
  245. package/dist/index.mjs +2 -2
  246. package/dist/inspection/assertions.cjs +1 -1
  247. package/dist/inspection/assertions.cjs.map +1 -1
  248. package/dist/inspection/cli/contribution.cjs +8 -7
  249. package/dist/inspection/cli/contribution.cjs.map +1 -1
  250. package/dist/inspection/facts.cjs +4 -4
  251. package/dist/inspection/facts.cjs.map +1 -1
  252. package/dist/inspection/index.cjs +1 -5
  253. package/dist/inspection/index.cjs.map +1 -1
  254. package/dist/inspection/index.d.cts +1 -2
  255. package/dist/inspection/index.d.mts +1 -2
  256. package/dist/inspection/index.d.ts +1 -2
  257. package/dist/inspection/index.js +20 -26
  258. package/dist/inspection/lifecycle.cjs +7 -0
  259. package/dist/inspection/lifecycle.cjs.map +1 -0
  260. package/dist/inspection/lifecycle.d.cts +4 -0
  261. package/dist/inspection/lifecycle.d.mts +4 -0
  262. package/dist/inspection/lifecycle.d.ts +4 -0
  263. package/dist/inspection/lifecycle.js +6 -0
  264. package/dist/inspection/lifecycle.js.map +1 -0
  265. package/dist/inspection/notes.cjs +40 -0
  266. package/dist/inspection/notes.cjs.map +1 -0
  267. package/dist/inspection/notes.d.cts +12 -0
  268. package/dist/inspection/notes.d.mts +12 -0
  269. package/dist/inspection/notes.d.ts +12 -0
  270. package/dist/inspection/notes.js +8 -0
  271. package/dist/inspection/notes.js.map +1 -0
  272. package/dist/inspection/overview.cjs +12 -15
  273. package/dist/inspection/overview.cjs.map +1 -1
  274. package/dist/inspection/overview.d.cts +8 -6
  275. package/dist/inspection/overview.d.mts +8 -6
  276. package/dist/inspection/overview.d.ts +8 -6
  277. package/dist/inspection/planned-attempt.cjs +45 -0
  278. package/dist/inspection/planned-attempt.cjs.map +1 -0
  279. package/dist/inspection/planned-attempt.d.cts +109 -0
  280. package/dist/inspection/planned-attempt.d.mts +109 -0
  281. package/dist/inspection/planned-attempt.d.ts +109 -0
  282. package/dist/inspection/planned-attempt.js +24 -0
  283. package/dist/inspection/planned-attempt.js.map +1 -0
  284. package/dist/inspection/project-result.cjs +5 -5
  285. package/dist/inspection/project-result.cjs.map +1 -1
  286. package/dist/inspection/project-result.d.cts +58 -57
  287. package/dist/inspection/project-result.d.mts +58 -57
  288. package/dist/inspection/project-result.d.ts +58 -57
  289. package/dist/inspection/project-result.js +4 -4
  290. package/dist/inspection/project.cjs +3 -3
  291. package/dist/inspection/project.cjs.map +1 -1
  292. package/dist/inspection/protocol-values.cjs +1 -1
  293. package/dist/inspection/protocol-values.cjs.map +1 -1
  294. package/dist/inspection/protocol-values.d.cts +1 -1
  295. package/dist/inspection/protocol-values.d.mts +1 -1
  296. package/dist/inspection/protocol-values.d.ts +1 -1
  297. package/dist/inspection/protocol.cjs +8 -8
  298. package/dist/inspection/protocol.cjs.map +1 -1
  299. package/dist/inspection/protocol.d.cts +237 -219
  300. package/dist/inspection/protocol.d.mts +237 -219
  301. package/dist/inspection/protocol.d.ts +237 -219
  302. package/dist/inspection/public.cjs +1 -5
  303. package/dist/inspection/public.cjs.map +1 -1
  304. package/dist/inspection/public.d.cts +1 -2
  305. package/dist/inspection/public.d.mts +1 -2
  306. package/dist/inspection/public.d.ts +1 -2
  307. package/dist/inspection/public.js +14 -20
  308. package/dist/inspection/public.mjs +166 -129
  309. package/dist/inspection/query.cjs +1 -1
  310. package/dist/inspection/query.cjs.map +1 -1
  311. package/dist/inspection/results.cjs +61 -52
  312. package/dist/inspection/results.cjs.map +1 -1
  313. package/dist/inspection/results.d.cts +157 -140
  314. package/dist/inspection/results.d.mts +157 -140
  315. package/dist/inspection/results.d.ts +157 -140
  316. package/dist/inspection/select.cjs +33 -28
  317. package/dist/inspection/select.cjs.map +1 -1
  318. package/dist/inspection/source.cjs +1 -1
  319. package/dist/inspection/source.cjs.map +1 -1
  320. package/dist/inspection/sources.cjs +2 -2
  321. package/dist/inspection/sources.cjs.map +1 -1
  322. package/dist/inspection/trace.cjs +9 -8
  323. package/dist/inspection/trace.cjs.map +1 -1
  324. package/dist/inspection/trace.d.cts +4 -4
  325. package/dist/inspection/trace.d.mts +4 -4
  326. package/dist/inspection/trace.d.ts +4 -4
  327. package/dist/loaders/index.cjs +7 -279
  328. package/dist/loaders/index.cjs.map +1 -1
  329. package/dist/loaders/index.d.cts +2 -95
  330. package/dist/loaders/index.d.mts +2 -95
  331. package/dist/loaders/index.d.ts +2 -95
  332. package/dist/loaders/index.js +10 -12
  333. package/dist/loaders/index.mjs +10 -12
  334. package/dist/loaders/runtime.cjs +283 -0
  335. package/dist/loaders/runtime.cjs.map +1 -0
  336. package/dist/loaders/runtime.d.cts +95 -0
  337. package/dist/loaders/runtime.d.mts +95 -0
  338. package/dist/loaders/runtime.d.ts +95 -0
  339. package/dist/loaders/runtime.js +16 -0
  340. package/dist/loaders/runtime.js.map +1 -0
  341. package/dist/migrations/judge-provider.md +6 -6
  342. package/dist/{model-slots.cjs → model-roles.cjs} +12 -12
  343. package/dist/{model-slots.cjs.map → model-roles.cjs.map} +1 -1
  344. package/dist/{model-slots.d.cts → model-roles.d.cts} +10 -10
  345. package/dist/{model-slots.d.mts → model-roles.d.mts} +10 -10
  346. package/dist/{model-slots.d.ts → model-roles.d.ts} +10 -10
  347. package/dist/model-roles.js +14 -0
  348. package/dist/model-roles.js.map +1 -0
  349. package/dist/o11y/adapter-usage-projection.cjs +9 -8
  350. package/dist/o11y/adapter-usage-projection.cjs.map +1 -1
  351. package/dist/o11y/adapter-usage-projection.d.cts +23 -15
  352. package/dist/o11y/adapter-usage-projection.d.mts +23 -15
  353. package/dist/o11y/adapter-usage-projection.d.ts +23 -15
  354. package/dist/o11y/cache-read.cjs +14 -14
  355. package/dist/o11y/cache-read.cjs.map +1 -1
  356. package/dist/o11y/cache-read.d.cts +5 -5
  357. package/dist/o11y/cache-read.d.mts +5 -5
  358. package/dist/o11y/cache-read.d.ts +5 -5
  359. package/dist/o11y/derive.cjs.map +1 -1
  360. package/dist/o11y/derive.d.cts +2 -2
  361. package/dist/o11y/derive.d.mts +2 -2
  362. package/dist/o11y/derive.d.ts +2 -2
  363. package/dist/o11y/eval-usage.cjs +9 -9
  364. package/dist/o11y/eval-usage.cjs.map +1 -1
  365. package/dist/o11y/eval-usage.d.cts +7 -7
  366. package/dist/o11y/eval-usage.d.mts +7 -7
  367. package/dist/o11y/eval-usage.d.ts +7 -7
  368. package/dist/o11y/parsers/bub.cjs +57 -81
  369. package/dist/o11y/parsers/bub.cjs.map +1 -1
  370. package/dist/o11y/parsers/index.cjs.map +1 -1
  371. package/dist/o11y/parsers/index.d.cts +2 -0
  372. package/dist/o11y/parsers/index.d.mts +2 -0
  373. package/dist/o11y/parsers/index.d.ts +2 -0
  374. package/dist/o11y/parsers/opencode.cjs +129 -217
  375. package/dist/o11y/parsers/opencode.cjs.map +1 -1
  376. package/dist/o11y/parsers/opencode.d.cts +2 -5
  377. package/dist/o11y/parsers/opencode.d.mts +2 -5
  378. package/dist/o11y/parsers/opencode.d.ts +2 -5
  379. package/dist/o11y/types.cjs.map +1 -1
  380. package/dist/o11y/types.d.cts +1 -1
  381. package/dist/o11y/types.d.mts +1 -1
  382. package/dist/o11y/types.d.ts +1 -1
  383. package/dist/plugin/contracts.cjs +170 -120
  384. package/dist/plugin/contracts.cjs.map +1 -1
  385. package/dist/plugin/contracts.d.cts +102 -90
  386. package/dist/plugin/contracts.d.mts +102 -90
  387. package/dist/plugin/contracts.d.ts +102 -90
  388. package/dist/plugin/contracts.js +16 -12
  389. package/dist/plugin/index.cjs.map +1 -1
  390. package/dist/plugin/index.d.cts +1 -1
  391. package/dist/plugin/index.d.mts +1 -1
  392. package/dist/plugin/index.d.ts +1 -1
  393. package/dist/plugin/link.cjs +69 -64
  394. package/dist/plugin/link.cjs.map +1 -1
  395. package/dist/plugin/link.d.cts +5 -3
  396. package/dist/plugin/link.d.mts +5 -3
  397. package/dist/plugin/link.d.ts +5 -3
  398. package/dist/plugin/link.js +12 -8
  399. package/dist/record/codec/seal-manifest.d.cts +3 -3
  400. package/dist/record/codec/seal-manifest.d.mts +3 -3
  401. package/dist/record/codec/seal-manifest.d.ts +3 -3
  402. package/dist/record/family/attempt-note/definition.cjs +12 -0
  403. package/dist/record/family/attempt-note/definition.cjs.map +1 -0
  404. package/dist/record/family/attempt-note/definition.d.cts +6 -0
  405. package/dist/record/family/attempt-note/definition.d.mts +6 -0
  406. package/dist/record/family/attempt-note/definition.d.ts +6 -0
  407. package/dist/record/family/attempt-note/definition.js +6 -0
  408. package/dist/record/family/attempt-note/definition.js.map +1 -0
  409. package/dist/record/family/attempt-note/persistence.cjs +10 -0
  410. package/dist/record/family/attempt-note/persistence.cjs.map +1 -0
  411. package/dist/record/family/attempt-note/persistence.d.cts +6 -0
  412. package/dist/record/family/attempt-note/persistence.d.mts +6 -0
  413. package/dist/record/family/attempt-note/persistence.d.ts +6 -0
  414. package/dist/record/family/attempt-note/persistence.js +6 -0
  415. package/dist/record/family/attempt-note/persistence.js.map +1 -0
  416. package/dist/record/family/attempt-note/schema.cjs +20 -0
  417. package/dist/record/family/attempt-note/schema.cjs.map +1 -0
  418. package/dist/record/family/attempt-note/schema.d.cts +21 -0
  419. package/dist/record/family/attempt-note/schema.d.mts +21 -0
  420. package/dist/record/family/attempt-note/schema.d.ts +21 -0
  421. package/dist/record/family/attempt-note/schema.js +10 -0
  422. package/dist/record/family/attempt-note/schema.js.map +1 -0
  423. package/dist/record/family/catalog.cjs +32 -29
  424. package/dist/record/family/catalog.cjs.map +1 -1
  425. package/dist/record/family/catalog.d.cts +7 -2
  426. package/dist/record/family/catalog.d.mts +7 -2
  427. package/dist/record/family/catalog.d.ts +7 -2
  428. package/dist/record/family/current.cjs +48 -45
  429. package/dist/record/family/current.cjs.map +1 -1
  430. package/dist/record/family/current.d.cts +15 -0
  431. package/dist/record/family/current.d.mts +15 -0
  432. package/dist/record/family/current.d.ts +15 -0
  433. package/dist/record/model/index.js +66 -64
  434. package/dist/record/model/run-context.cjs +9 -3
  435. package/dist/record/model/run-context.cjs.map +1 -1
  436. package/dist/record/model/run-context.d.cts +9 -2
  437. package/dist/record/model/run-context.d.mts +9 -2
  438. package/dist/record/model/run-context.d.ts +9 -2
  439. package/dist/record/model/run-context.js +8 -6
  440. package/dist/record/model/seal-manifest.d.cts +1 -1
  441. package/dist/record/model/seal-manifest.d.mts +1 -1
  442. package/dist/record/model/seal-manifest.d.ts +1 -1
  443. package/dist/run/cli/contribution.cjs +6 -32
  444. package/dist/run/cli/contribution.cjs.map +1 -1
  445. package/dist/run/host/runtime.cjs +1 -1
  446. package/dist/run/host/runtime.cjs.map +1 -1
  447. package/dist/run/storage/sqlite.cjs +7 -7
  448. package/dist/run/storage/sqlite.cjs.map +1 -1
  449. package/dist/runner/adapter-usage.cjs +5 -3
  450. package/dist/runner/adapter-usage.cjs.map +1 -1
  451. package/dist/runner/adapter-usage.d.cts +2 -2
  452. package/dist/runner/adapter-usage.d.mts +2 -2
  453. package/dist/runner/adapter-usage.d.ts +2 -2
  454. package/dist/runner/adoption.cjs +9 -12
  455. package/dist/runner/adoption.cjs.map +1 -1
  456. package/dist/runner/attempt-notes.cjs +8 -0
  457. package/dist/runner/attempt-notes.cjs.map +1 -0
  458. package/dist/runner/attempt-notes.d.cts +4 -0
  459. package/dist/runner/attempt-notes.d.mts +4 -0
  460. package/dist/runner/attempt-notes.d.ts +4 -0
  461. package/dist/runner/attempt-notes.js +8 -0
  462. package/dist/runner/attempt-notes.js.map +1 -0
  463. package/dist/runner/attempt.cjs +61 -73
  464. package/dist/runner/attempt.cjs.map +1 -1
  465. package/dist/runner/attempt.d.cts +3 -3
  466. package/dist/runner/attempt.d.mts +3 -3
  467. package/dist/runner/attempt.d.ts +3 -3
  468. package/dist/runner/command-plan.cjs +21 -26
  469. package/dist/runner/command-plan.cjs.map +1 -1
  470. package/dist/runner/command-plan.d.cts +4 -4
  471. package/dist/runner/command-plan.d.mts +4 -4
  472. package/dist/runner/command-plan.d.ts +4 -4
  473. package/dist/runner/command-plan.js +4 -4
  474. package/dist/runner/config-identity.cjs.map +1 -1
  475. package/dist/runner/config-identity.d.cts +2 -2
  476. package/dist/runner/config-identity.d.mts +2 -2
  477. package/dist/runner/config-identity.d.ts +2 -2
  478. package/dist/runner/discover.cjs +6 -6
  479. package/dist/runner/discover.cjs.map +1 -1
  480. package/dist/runner/eval-selection.cjs +2 -2
  481. package/dist/runner/eval-selection.cjs.map +1 -1
  482. package/dist/runner/eval-selection.d.cts +2 -2
  483. package/dist/runner/eval-selection.d.mts +2 -2
  484. package/dist/runner/eval-selection.d.ts +2 -2
  485. package/dist/runner/feedback/human.cjs +1 -1
  486. package/dist/runner/feedback/human.cjs.map +1 -1
  487. package/dist/runner/feedback/json.cjs +4 -2
  488. package/dist/runner/feedback/json.cjs.map +1 -1
  489. package/dist/runner/feedback/json.d.cts +1 -1
  490. package/dist/runner/feedback/json.d.mts +1 -1
  491. package/dist/runner/feedback/json.d.ts +1 -1
  492. package/dist/runner/feedback/sink.cjs +1 -1
  493. package/dist/runner/feedback/sink.cjs.map +1 -1
  494. package/dist/runner/feedback/sink.d.cts +1 -1
  495. package/dist/runner/feedback/sink.d.mts +1 -1
  496. package/dist/runner/feedback/sink.d.ts +1 -1
  497. package/dist/runner/fingerprint.cjs +1 -1
  498. package/dist/runner/fingerprint.cjs.map +1 -1
  499. package/dist/runner/project-target.cjs.map +1 -1
  500. package/dist/runner/project-target.d.cts +2 -2
  501. package/dist/runner/project-target.d.mts +2 -2
  502. package/dist/runner/project-target.d.ts +2 -2
  503. package/dist/runner/record/attachments.cjs +2 -2
  504. package/dist/runner/record/attachments.cjs.map +1 -1
  505. package/dist/runner/record/planning.cjs +8 -2
  506. package/dist/runner/record/planning.cjs.map +1 -1
  507. package/dist/runner/record.cjs +2 -0
  508. package/dist/runner/record.cjs.map +1 -1
  509. package/dist/runner/report.cjs +3 -3
  510. package/dist/runner/report.cjs.map +1 -1
  511. package/dist/runner/report.d.cts +1 -1
  512. package/dist/runner/report.d.mts +1 -1
  513. package/dist/runner/report.d.ts +1 -1
  514. package/dist/runner/reuse-plan.cjs +2 -2
  515. package/dist/runner/reuse-plan.cjs.map +1 -1
  516. package/dist/runner/run.cjs +10 -45
  517. package/dist/runner/run.cjs.map +1 -1
  518. package/dist/runner/sandbox-pool.cjs +1 -2
  519. package/dist/runner/sandbox-pool.cjs.map +1 -1
  520. package/dist/runner/setup-prefix-preparation.cjs +1 -1
  521. package/dist/runner/setup-prefix-preparation.cjs.map +1 -1
  522. package/dist/runner/teardown-registry.cjs +2 -2
  523. package/dist/runner/teardown-registry.cjs.map +1 -1
  524. package/dist/runner/teardown-registry.d.cts +1 -1
  525. package/dist/runner/teardown-registry.d.mts +1 -1
  526. package/dist/runner/teardown-registry.d.ts +1 -1
  527. package/dist/runner/types.cjs +4 -4
  528. package/dist/runner/types.cjs.map +1 -1
  529. package/dist/runner/types.d.cts +64 -93
  530. package/dist/runner/types.d.mts +64 -93
  531. package/dist/runner/types.d.ts +64 -93
  532. package/dist/runner/types.js +2 -2
  533. package/dist/sandbox/action.cjs +1 -1
  534. package/dist/sandbox/action.cjs.map +1 -1
  535. package/dist/sandbox/cli/contribution.cjs +17 -14
  536. package/dist/sandbox/cli/contribution.cjs.map +1 -1
  537. package/dist/sandbox/cli/contribution.d.cts +1 -1
  538. package/dist/sandbox/cli/contribution.d.mts +1 -1
  539. package/dist/sandbox/cli/contribution.d.ts +1 -1
  540. package/dist/sandbox/commands.cjs +1 -1
  541. package/dist/sandbox/commands.cjs.map +1 -1
  542. package/dist/sandbox/commands.d.cts +1 -1
  543. package/dist/sandbox/commands.d.mts +1 -1
  544. package/dist/sandbox/commands.d.ts +1 -1
  545. package/dist/sandbox/compose.cjs +2 -2
  546. package/dist/sandbox/compose.cjs.map +1 -1
  547. package/dist/sandbox/docker-profile/registry.cjs +5 -9
  548. package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
  549. package/dist/sandbox/docker-profile/registry.d.cts +0 -3
  550. package/dist/sandbox/docker-profile/registry.d.mts +0 -3
  551. package/dist/sandbox/docker-profile/registry.d.ts +0 -3
  552. package/dist/sandbox/docker-profile/registry.js +6 -12
  553. package/dist/sandbox/docker-profile/runtime.cjs +1 -1
  554. package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
  555. package/dist/sandbox/docker-profile/schema.cjs +12 -16
  556. package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
  557. package/dist/sandbox/docker-profile/schema.d.cts +2 -6
  558. package/dist/sandbox/docker-profile/schema.d.mts +2 -6
  559. package/dist/sandbox/docker-profile/schema.d.ts +2 -6
  560. package/dist/sandbox/docker-profile/schema.js +24 -32
  561. package/dist/sandbox/incus.cjs +2 -2
  562. package/dist/sandbox/incus.cjs.map +1 -1
  563. package/dist/sandbox/index.cjs +4 -35
  564. package/dist/sandbox/index.cjs.map +1 -1
  565. package/dist/sandbox/index.d.cts +4 -8
  566. package/dist/sandbox/index.d.mts +4 -8
  567. package/dist/sandbox/index.d.ts +4 -8
  568. package/dist/sandbox/index.js +116 -172
  569. package/dist/sandbox/index.mjs +116 -172
  570. package/dist/sandbox/layer.cjs +3 -3
  571. package/dist/sandbox/layer.cjs.map +1 -1
  572. package/dist/sandbox/link.cjs +5 -0
  573. package/dist/sandbox/link.cjs.map +1 -1
  574. package/dist/sandbox/link.d.cts +3 -0
  575. package/dist/sandbox/link.d.mts +3 -0
  576. package/dist/sandbox/link.d.ts +3 -0
  577. package/dist/sandbox/runtime.cjs +9 -4
  578. package/dist/sandbox/runtime.cjs.map +1 -1
  579. package/dist/shared/failure-class.cjs +5 -5
  580. package/dist/shared/failure-class.cjs.map +1 -1
  581. package/dist/shared/failure-class.d.cts +4 -10
  582. package/dist/shared/failure-class.d.mts +4 -10
  583. package/dist/shared/failure-class.d.ts +4 -10
  584. package/dist/shared/types.cjs.map +1 -1
  585. package/dist/shared/types.d.cts +1 -1
  586. package/dist/shared/types.d.mts +1 -1
  587. package/dist/shared/types.d.ts +1 -1
  588. package/dist/show/contribution.cjs +17 -2
  589. package/dist/show/contribution.cjs.map +1 -1
  590. package/dist/show/contribution.d.cts +14 -0
  591. package/dist/show/contribution.d.mts +14 -0
  592. package/dist/show/contribution.d.ts +14 -0
  593. package/dist/show/model.cjs +8 -5
  594. package/dist/show/model.cjs.map +1 -1
  595. package/dist/show/model.d.cts +11 -8
  596. package/dist/show/model.d.mts +11 -8
  597. package/dist/show/model.d.ts +11 -8
  598. package/dist/show/render.cjs +34 -22
  599. package/dist/show/render.cjs.map +1 -1
  600. package/dist/sources/projector.cjs +1 -1
  601. package/dist/sources/projector.cjs.map +1 -1
  602. package/dist/types.cjs +1 -1
  603. package/dist/types.cjs.map +1 -1
  604. package/dist/types.d.cts +1 -1
  605. package/dist/types.d.mts +1 -1
  606. package/dist/types.d.ts +1 -1
  607. package/dist/types.js +2 -2
  608. package/dist/view/app-dist/.vite/manifest.json +2 -2
  609. package/dist/view/app-dist/assets/{index-B3ijZRph.js → index-CxrOUvHC.js} +17 -17
  610. package/dist/view/app-dist/assets/{quality-cost-scatter-B--DfJ9s.js → quality-cost-scatter-B6Aiss7x.js} +1 -1
  611. package/dist/view/app-dist/index.html +1 -1
  612. package/dist/view/cli/contribution.cjs +1 -1
  613. package/dist/view/cli/contribution.cjs.map +1 -1
  614. package/dist/view/function-runtime.mjs +318 -121
  615. package/dist/view/http-protocol.d.cts +1 -1
  616. package/dist/view/http-protocol.d.mts +1 -1
  617. package/dist/view/http-protocol.d.ts +1 -1
  618. package/dist/view/inspection-host.cjs +2 -2
  619. package/dist/view/inspection-host.cjs.map +1 -1
  620. package/dist/view/inspection-host.d.cts +349 -331
  621. package/dist/view/inspection-host.d.mts +349 -331
  622. package/dist/view/inspection-host.d.ts +349 -331
  623. package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +6 -6
  624. package/docs-site/zh/examples/integrations/claude-sdk.mdx +5 -5
  625. package/docs-site/zh/examples/integrations/codex-sdk.mdx +4 -4
  626. package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
  627. package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
  628. package/docs-site/zh/explanation/adapter.mdx +6 -6
  629. package/docs-site/zh/explanation/assert.mdx +7 -7
  630. package/docs-site/zh/explanation/drive.mdx +4 -4
  631. package/docs-site/zh/explanation/hitl.mdx +2 -2
  632. package/docs-site/zh/explanation/judge.mdx +2 -2
  633. package/docs-site/zh/introduction.mdx +2 -2
  634. package/docs-site/zh/reference/builtin-agents.mdx +46 -49
  635. package/docs-site/zh/reference/cli.mdx +16 -14
  636. package/docs-site/zh/reference/define-agent.mdx +19 -19
  637. package/docs-site/zh/reference/define-config.mdx +7 -15
  638. package/docs-site/zh/reference/define-eval.mdx +20 -14
  639. package/docs-site/zh/reference/define-experiment.mdx +18 -39
  640. package/docs-site/zh/reference/events.mdx +1 -1
  641. package/docs-site/zh/reference/expect.mdx +21 -0
  642. package/docs-site/zh/reference/official-adapters.mdx +12 -5
  643. package/docs-site/zh/troubleshooting/debugging.mdx +2 -2
  644. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +1 -1
  645. package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
  646. package/docs-site/zh/tutorials/authoring.mdx +2 -2
  647. package/docs-site/zh/tutorials/compare-runs.mdx +1 -1
  648. package/docs-site/zh/tutorials/concurrency.mdx +8 -8
  649. package/docs-site/zh/tutorials/configuration.mdx +5 -5
  650. package/docs-site/zh/tutorials/control-run-cost.mdx +19 -19
  651. package/docs-site/zh/tutorials/eval-groups.mdx +1 -1
  652. package/docs-site/zh/tutorials/evaluation-kinds.mdx +5 -5
  653. package/docs-site/zh/tutorials/experiment-services.mdx +32 -32
  654. package/docs-site/zh/tutorials/handle-execution-failures.mdx +2 -28
  655. package/docs-site/zh/tutorials/plugins.mdx +49 -143
  656. package/docs-site/zh/tutorials/sandbox-agent.mdx +1 -1
  657. package/docs-site/zh/tutorials/sandbox-reuse.mdx +7 -7
  658. package/docs-site/zh/tutorials/upgrade-0-18.mdx +1 -1
  659. package/docs-site/zh/tutorials/upgrade-0-19.mdx +121 -0
  660. package/docs-site/zh/tutorials/upgrade-0-20.mdx +12 -0
  661. package/docs-site/zh/tutorials/verify-judge.mdx +2 -2
  662. package/docs-site/zh/tutorials/viewing-results.mdx +2 -2
  663. package/docs-site/zh/tutorials/write-experiment.mdx +1 -1
  664. package/docs-site/zh/tutorials/write-send.mdx +13 -13
  665. package/package.json +1 -1
  666. package/dist/agents/effect-runtime.cjs.map +0 -1
  667. package/dist/agents/effect-runtime.d.cts +0 -29
  668. package/dist/agents/effect-runtime.d.mts +0 -29
  669. package/dist/agents/effect-runtime.d.ts +0 -29
  670. package/dist/agents/effect-runtime.js +0 -16
  671. package/dist/agents/effect-runtime.js.map +0 -1
  672. package/dist/agents/session-slot.cjs.map +0 -1
  673. package/dist/agents/session-slot.d.cts +0 -12
  674. package/dist/agents/session-slot.d.mts +0 -12
  675. package/dist/agents/session-slot.d.ts +0 -12
  676. package/dist/agents/session-slot.js +0 -6
  677. package/dist/agents/session-slot.js.map +0 -1
  678. package/dist/model-slots.js +0 -14
  679. package/dist/model-slots.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-values.js","sourceRoot":"","sources":["protocol-values.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,mBAA4B,CAAC;AAC3D,6EAA6E;AAChE,QAAA,2BAA2B,GAAG,OAAgB,CAAC","sourcesContent":["export const QUERY_PROTOCOL = \"niceeval.query/v1\" as const;\n/** Selector semantics revision; independent from the wire protocol major. */\nexport const INSPECTION_BEHAVIOR_VERSION = \"2.0.0\" as const;\n"]}
1
+ {"version":3,"file":"protocol-values.js","sourceRoot":"","sources":["protocol-values.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,mBAA4B,CAAC;AAC3D,6EAA6E;AAChE,QAAA,2BAA2B,GAAG,OAAgB,CAAC","sourcesContent":["export const QUERY_PROTOCOL = \"niceeval.query/v2\" as const;\n/** Selector semantics revision; independent from the wire protocol major. */\nexport const INSPECTION_BEHAVIOR_VERSION = \"2.0.0\" as const;\n"]}
@@ -1,3 +1,3 @@
1
- export declare const QUERY_PROTOCOL: "niceeval.query/v1";
1
+ export declare const QUERY_PROTOCOL: "niceeval.query/v2";
2
2
  /** Selector semantics revision; independent from the wire protocol major. */
3
3
  export declare const INSPECTION_BEHAVIOR_VERSION: "2.0.0";
@@ -1,3 +1,3 @@
1
- export declare const QUERY_PROTOCOL: "niceeval.query/v1";
1
+ export declare const QUERY_PROTOCOL: "niceeval.query/v2";
2
2
  /** Selector semantics revision; independent from the wire protocol major. */
3
3
  export declare const INSPECTION_BEHAVIOR_VERSION: "2.0.0";
@@ -1,3 +1,3 @@
1
- export declare const QUERY_PROTOCOL: "niceeval.query/v1";
1
+ export declare const QUERY_PROTOCOL: "niceeval.query/v2";
2
2
  /** Selector semantics revision; independent from the wire protocol major. */
3
3
  export declare const INSPECTION_BEHAVIOR_VERSION: "2.0.0";
@@ -4,7 +4,7 @@ exports.InspectionDocumentSchema = exports.InspectionFailureDocumentSchema = exp
4
4
  exports.decodeInspectionDocument = decodeInspectionDocument;
5
5
  exports.narrowInspectionSuccess = narrowInspectionSuccess;
6
6
  exports.narrowInspectionExplanation = narrowInspectionExplanation;
7
- // @concord-file ne-eval-inspection-protocol
7
+ // @concord-file
8
8
  // @concord-implements docs/feature/inspection/README.md
9
9
  // @concord-implements docs/feature/inspection/architecture.md
10
10
  // @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md
@@ -13,7 +13,7 @@ const codec_ts_1 = require("../assertions/record/codec.cjs");
13
13
  const attempt_locator_ts_1 = require("../attempt-locator.cjs");
14
14
  const identifiers_ts_1 = require("../record/codec/identifiers.cjs");
15
15
  const artifacts_ts_1 = require("./artifacts.cjs");
16
- const core_ts_1 = require("../record/codec/core.cjs");
16
+ const planned_attempt_ts_1 = require("./planned-attempt.cjs");
17
17
  const artifact_list_ts_1 = require("./artifact-list.cjs");
18
18
  const model_ts_1 = require("../record/family/source-receipt/model.cjs");
19
19
  const protocol_values_ts_1 = require("./protocol-values.cjs");
@@ -68,13 +68,13 @@ const ArtifactsResultSchema = effect_1.Schema.Union([
68
68
  }),
69
69
  ]);
70
70
  const ComparisonMemberSchema = effect_1.Schema.Struct({
71
- key: effect_1.Schema.String, runId: effect_1.Schema.String, slotId: effect_1.Schema.String, evalId: effect_1.Schema.String,
71
+ key: effect_1.Schema.String, runId: effect_1.Schema.String, plannedAttemptId: effect_1.Schema.String, evalId: effect_1.Schema.String,
72
72
  attemptOrdinal: effect_1.Schema.Number, locator: effect_1.Schema.String,
73
73
  });
74
74
  const RunsCompareResultSchema = effect_1.Schema.Struct({
75
75
  mode: effect_1.Schema.Literals(["side-by-side", "exact", "paired"]),
76
- left: effect_1.Schema.Struct({ runs: effect_1.Schema.Array(core_ts_1.RunDocumentSchema), members: effect_1.Schema.Array(ComparisonMemberSchema) }),
77
- right: effect_1.Schema.Struct({ runs: effect_1.Schema.Array(core_ts_1.RunDocumentSchema), members: effect_1.Schema.Array(ComparisonMemberSchema) }),
76
+ left: effect_1.Schema.Struct({ runs: effect_1.Schema.Array(planned_attempt_ts_1.InspectionRunCoreSchema), members: effect_1.Schema.Array(ComparisonMemberSchema) }),
77
+ right: effect_1.Schema.Struct({ runs: effect_1.Schema.Array(planned_attempt_ts_1.InspectionRunCoreSchema), members: effect_1.Schema.Array(ComparisonMemberSchema) }),
78
78
  exactMemberSet: effect_1.Schema.Boolean,
79
79
  pairs: effect_1.Schema.Array(effect_1.Schema.Struct({ key: effect_1.Schema.String, left: ComparisonMemberSchema, right: ComparisonMemberSchema })),
80
80
  });
@@ -83,10 +83,10 @@ const spec = (fields) => Object.freeze(fields);
83
83
  exports.inspectionProtocolRegistry = Object.freeze({
84
84
  "project.get": spec({ request: operation("project.get", { experimentIds: effect_1.Schema.optional(ProjectExperimentIdsSchema) }), result: { project: project_result_ts_1.InspectionProjectResultSchema }, factKinds: ["current-project", "core", "assertions", "attempt-cost"] }),
85
85
  "overview.get": spec({ request: operation("overview.get", { runIds: effect_1.Schema.optional(RunIdsSchema) }), result: { overview: results_ts_1.InspectionOverviewResultSchema }, factKinds: ["core", "assertions", "attempt-cost"] }),
86
- "experiment.get": spec({ request: operation("experiment.get", { experimentId: identifiers_ts_1.ExperimentIdSchema }), result: { experiment: results_ts_1.InspectionExperimentResultSchema }, factKinds: ["core", "assertions", "attempt-cost", "agent-turns", "adapter-usage", "judge-usage"] }),
86
+ "experiment.get": spec({ request: operation("experiment.get", { experimentId: identifiers_ts_1.ExperimentIdSchema }), result: { experiment: results_ts_1.InspectionExperimentResultSchema }, factKinds: ["core", "attempt-note", "assertions", "attempt-cost", "agent-turns", "adapter-usage", "judge-usage"] }),
87
87
  "run.list": spec({ request: operation("run.list", { continuation: effect_1.Schema.optional(effect_1.Schema.String) }), result: { runs: results_ts_1.InspectionRunListResultSchema, continuation: effect_1.Schema.optional(effect_1.Schema.String) }, factKinds: ["core"] }),
88
88
  "run.get": spec({ request: operation("run.get", { runId: identifiers_ts_1.RunIdSchema }), result: { run: results_ts_1.InspectionRunResultSchema }, factKinds: ["core", "assertions", "agent-turns", "adapter-usage", "judge-usage"] }),
89
- "attempt.get": spec({ request: operation("attempt.get", { locator: AttemptLocatorSchema }), result: { attempt: results_ts_1.InspectionAttemptResultSchema }, factKinds: ["core", "assertions"] }),
89
+ "attempt.get": spec({ request: operation("attempt.get", { locator: AttemptLocatorSchema }), result: { attempt: results_ts_1.InspectionAttemptResultSchema }, factKinds: ["core", "assertions", "attempt-note"] }),
90
90
  "attempt.assertion.detail": spec({ request: operation("attempt.assertion.detail", { locator: AttemptLocatorSchema, entryId: codec_ts_1.AssertionEntryIdSchema }), result: { assertion: assertion_projection_ts_1.AssertionDetailResultSchema }, factKinds: ["assertions", "agent-turns", "sources"] }),
91
91
  "attempt.assertion.image": spec({ request: operation("attempt.assertion.image", { locator: AttemptLocatorSchema,
92
92
  entryId: codec_ts_1.AssertionEntryIdSchema, imageId: effect_1.Schema.String,
@@ -167,7 +167,7 @@ exports.InspectionDocumentSchema = effect_1.Schema.Union([
167
167
  exports.InspectionDiscoveryDocumentSchema, exports.InspectionSuccessDocumentSchema,
168
168
  exports.InspectionExplanationDocumentSchema, exports.InspectionFailureDocumentSchema,
169
169
  ]);
170
- // @concord-code ne-eval-inspection-decode-document
170
+ // @concord-code
171
171
  // @concord-implements docs/feature/inspection/architecture.md
172
172
  function decodeInspectionDocument(input) {
173
173
  const decoded = effect_1.Schema.decodeUnknownResult(exports.InspectionDocumentSchema, { errors: "all", onExcessProperty: "error" })(input);
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["protocol.ts"],"names":[],"mappings":"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","sourcesContent":["// @concord-file ne-eval-inspection-protocol\n// @concord-implements docs/feature/inspection/README.md\n// @concord-implements docs/feature/inspection/architecture.md\n// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md\nimport { Result, Schema } from \"effect\";\nimport { AssertionEntryIdSchema } from \"../assertions/record/codec.ts\";\nimport { ATTEMPT_LOCATOR_PATTERN } from \"../attempt-locator.ts\";\nimport { ArtifactIdSchema, ExperimentIdSchema, RunIdSchema } from \"../record/codec/identifiers.ts\";\nimport { InspectionArtifactLimitSchema, InspectionArtifactOffsetSchema, InspectionArtifactResultSchema } from \"./artifacts.ts\";\nimport { RunDocumentSchema } from \"../record/codec/core.ts\";\nimport { InspectionArtifactMetadataSchema, InspectionArtifactsPageLimitSchema, InspectionArtifactsValueSchema } from \"./artifact-list.ts\";\nimport { isCommandId, isItemId, isToolOccurrenceId } from \"../record/family/source-receipt/model.ts\";\nimport { INSPECTION_BEHAVIOR_VERSION, QUERY_PROTOCOL } from \"./protocol-values.ts\";\nimport { AssertionDetailResultSchema } from \"./assertion-projection.ts\";\nimport { InspectionProjectResultSchema } from \"./project-result.ts\";\nimport { InspectionAttemptDiffResultSchema, InspectionAttemptResultSchema, InspectionAttemptTimingResultSchema, InspectionAttemptUsageResultSchema, InspectionExperimentResultSchema, InspectionOverviewResultSchema, InspectionRunResultSchema, InspectionRunListResultSchema, InspectionSourcesResultSchema, InspectionTraceDetailResultSchema, InspectionTraceResultSchema, } from \"./results.ts\";\nconst AttemptLocatorSchema = Schema.String.pipe(Schema.refine((value): value is string => ATTEMPT_LOCATOR_PATTERN.test(value), { identifier: \"AttemptLocator\", description: \"a canonical @-prefixed Attempt locator\" }));\nconst ItemIdSchema = Schema.String.pipe(Schema.check(Schema.makeFilter(isItemId)));\nconst ToolOccurrenceIdSchema = Schema.String.pipe(Schema.check(Schema.makeFilter(isToolOccurrenceId)));\nconst CommandIdSchema = Schema.String.pipe(Schema.check(Schema.makeFilter(isCommandId)));\nconst RunIdsSchema = Schema.Array(RunIdSchema);\nconst ProjectExperimentIdsSchema = Schema.Array(ExperimentIdSchema).check(Schema.makeFilter((ids) => ids.length > 0 && new Set(ids).size === ids.length));\nconst operation = <Kind extends string, Fields extends Schema.Struct.Fields>(kind: Kind, fields: Fields) => Schema.Struct({ kind: Schema.Literal(kind), ...fields });\nconst SourceSchema = Schema.Struct({\n kind: Schema.Literals([\"project-record\", \"external-record\"]), publicationCutoffIdentity: Schema.String,\n});\nconst PublicationCutoffSchema = Schema.Struct({\n storeGeneration: Schema.String, revision: Schema.Number.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0)),\n});\nconst SelectionSchema = Schema.Struct({\n requestedRunIds: Schema.Array(Schema.String), selectedRunIds: Schema.Array(Schema.String), missingRunIds: Schema.Array(Schema.String),\n});\nconst SuccessMetadataSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"success\"),\n behaviorVersion: Schema.Literal(INSPECTION_BEHAVIOR_VERSION),\n source: SourceSchema, publicationCutoff: PublicationCutoffSchema, selection: SelectionSchema,\n issues: Schema.Tuple([]), evidence: Schema.Struct({ refs: Schema.Array(Schema.String) }),\n});\nconst RunsListSuccessMetadataSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"success\"),\n behaviorVersion: Schema.Literal(INSPECTION_BEHAVIOR_VERSION),\n source: SourceSchema,\n publicationCutoff: PublicationCutoffSchema,\n selection: Schema.Struct({\n requestedRunIds: Schema.Array(Schema.String), selectedRunIds: Schema.Array(Schema.String), missingRunIds: Schema.Array(Schema.String),\n returnedRunCount: Schema.Number, truncated: Schema.Boolean,\n }),\n issues: Schema.Tuple([]), evidence: Schema.Struct({ refs: Schema.Array(Schema.String) }),\n});\nconst CompareIssueSchema = Schema.Union([\n Schema.Struct({ code: Schema.Literal(\"selection-run-missing\"), side: Schema.Literals([\"left\", \"right\"]), runId: Schema.String }),\n Schema.Struct({ code: Schema.Literal(\"comparison-member-set-mismatch\") }),\n]);\nconst CompareSuccessMetadataSchema = SuccessMetadataSchema.pipe(Schema.fieldsAssign({ issues: Schema.Array(CompareIssueSchema) }));\nconst ArtifactsResultSchema = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"not-recorded\") }),\n Schema.Struct({\n state: Schema.Literal(\"available\"), value: InspectionArtifactsValueSchema,\n collection: Schema.Struct({ state: Schema.Literals([\"complete-page\", \"bounded-page\"]), items: Schema.Array(InspectionArtifactMetadataSchema), hasMore: Schema.Boolean, nextOffset: Schema.NullOr(InspectionArtifactOffsetSchema), total: InspectionArtifactOffsetSchema }),\n contents: Schema.Array(Schema.Struct({ logicalHandle: Schema.String, byteLength: Schema.Number, digest: Schema.String })),\n contentsTruncated: Schema.Boolean,\n }),\n]);\nconst ComparisonMemberSchema = Schema.Struct({\n key: Schema.String, runId: Schema.String, slotId: Schema.String, evalId: Schema.String,\n attemptOrdinal: Schema.Number, locator: Schema.String,\n});\nconst RunsCompareResultSchema = Schema.Struct({\n mode: Schema.Literals([\"side-by-side\", \"exact\", \"paired\"]),\n left: Schema.Struct({ runs: Schema.Array(RunDocumentSchema), members: Schema.Array(ComparisonMemberSchema) }),\n right: Schema.Struct({ runs: Schema.Array(RunDocumentSchema), members: Schema.Array(ComparisonMemberSchema) }),\n exactMemberSet: Schema.Boolean,\n pairs: Schema.Array(Schema.Struct({ key: Schema.String, left: ComparisonMemberSchema, right: ComparisonMemberSchema })),\n});\nconst spec = <Request extends Schema.Constraint, ResultFields extends Schema.Struct.Fields, const FactKinds extends readonly string[]>(fields: {\n readonly request: Request;\n readonly result: ResultFields;\n readonly factKinds: FactKinds;\n}) => Object.freeze(fields);\n/** The sole protocol catalog owner. Every request, result and descriptor projection is derived from this registry. */\nexport const inspectionProtocolRegistry = Object.freeze({\n \"project.get\": spec({ request: operation(\"project.get\", { experimentIds: Schema.optional(ProjectExperimentIdsSchema) }), result: { project: InspectionProjectResultSchema }, factKinds: [\"current-project\", \"core\", \"assertions\", \"attempt-cost\"] }),\n \"overview.get\": spec({ request: operation(\"overview.get\", { runIds: Schema.optional(RunIdsSchema) }), result: { overview: InspectionOverviewResultSchema }, factKinds: [\"core\", \"assertions\", \"attempt-cost\"] }),\n \"experiment.get\": spec({ request: operation(\"experiment.get\", { experimentId: ExperimentIdSchema }), result: { experiment: InspectionExperimentResultSchema }, factKinds: [\"core\", \"assertions\", \"attempt-cost\", \"agent-turns\", \"adapter-usage\", \"judge-usage\"] }),\n \"run.list\": spec({ request: operation(\"run.list\", { continuation: Schema.optional(Schema.String) }), result: { runs: InspectionRunListResultSchema, continuation: Schema.optional(Schema.String) }, factKinds: [\"core\"] }),\n \"run.get\": spec({ request: operation(\"run.get\", { runId: RunIdSchema }), result: { run: InspectionRunResultSchema }, factKinds: [\"core\", \"assertions\", \"agent-turns\", \"adapter-usage\", \"judge-usage\"] }),\n \"attempt.get\": spec({ request: operation(\"attempt.get\", { locator: AttemptLocatorSchema }), result: { attempt: InspectionAttemptResultSchema }, factKinds: [\"core\", \"assertions\"] }),\n \"attempt.assertion.detail\": spec({ request: operation(\"attempt.assertion.detail\", { locator: AttemptLocatorSchema, entryId: AssertionEntryIdSchema }), result: { assertion: AssertionDetailResultSchema }, factKinds: [\"assertions\", \"agent-turns\", \"sources\"] }),\n \"attempt.assertion.image\": spec({ request: operation(\"attempt.assertion.image\", { locator: AttemptLocatorSchema,\n entryId: AssertionEntryIdSchema, imageId: Schema.String,\n offset: Schema.optional(InspectionArtifactOffsetSchema), limit: Schema.optional(InspectionArtifactLimitSchema) }),\n result: { image: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), imageId: Schema.String, mediaType: Schema.Literals([\"image/png\", \"image/jpeg\"]),\n byteLength: Schema.Number, sha256: Schema.String, offset: Schema.Number, base64: Schema.String, nextOffset: Schema.NullOr(Schema.Number) }),\n Schema.Struct({ state: Schema.Literal(\"invalid\") }), Schema.Struct({ state: Schema.Literal(\"not-recorded\") }),\n ]) }, factKinds: [\"assertions\"] }),\n \"attempt.trace\": spec({ request: operation(\"attempt.trace\", {\n locator: AttemptLocatorSchema,\n traceId: Schema.optional(Schema.String),\n sourceId: Schema.optional(Schema.String),\n actorId: Schema.optional(Schema.String),\n eventType: Schema.optional(Schema.String),\n continuation: Schema.optional(Schema.String),\n }), result: { trace: InspectionTraceResultSchema }, factKinds: [\"execution-traces\", \"agent-turns\", \"turn-contexts\", \"sandbox-commands\", \"runner-activities\", \"runner-diagnostics\"] }),\n \"attempt.trace.detail\": spec({ request: operation(\"attempt.trace.detail\", { locator: AttemptLocatorSchema, selector: Schema.Union([\n operation(\"execution-event\", { eventId: Schema.String }),\n operation(\"execution-evidence\", {\n evidenceId: Schema.String,\n offset: Schema.optional(InspectionArtifactOffsetSchema),\n limit: Schema.optional(InspectionArtifactLimitSchema),\n }),\n operation(\"item\", { itemId: ItemIdSchema }),\n operation(\"tool-occurrence\", { toolOccurrenceId: ToolOccurrenceIdSchema }),\n operation(\"command\", { commandId: CommandIdSchema }),\n ]) }), result: { detail: InspectionTraceDetailResultSchema }, factKinds: [\"execution-traces\", \"agent-turns\", \"sandbox-commands\", \"artifacts\"] }),\n \"attempt.timing\": spec({ request: operation(\"attempt.timing\", { locator: AttemptLocatorSchema }), result: { timing: InspectionAttemptTimingResultSchema }, factKinds: [\"runner-activities\"] }),\n \"attempt.usage\": spec({ request: operation(\"attempt.usage\", { locator: AttemptLocatorSchema }), result: { usage: InspectionAttemptUsageResultSchema }, factKinds: [\"agent-turns\", \"adapter-usage\", \"judge-usage\"] }),\n \"attempt.diff\": spec({ request: operation(\"attempt.diff\", { locator: AttemptLocatorSchema }), result: { diff: InspectionAttemptDiffResultSchema }, factKinds: [\"file-changes\"] }),\n \"attempt.sources\": spec({ request: operation(\"attempt.sources\", { locator: AttemptLocatorSchema }), result: { sources: InspectionSourcesResultSchema }, factKinds: [\"assertions\", \"sources\"] }),\n \"attempt.artifacts\": spec({ request: operation(\"attempt.artifacts\", { locator: AttemptLocatorSchema, offset: Schema.optional(InspectionArtifactOffsetSchema), limit: Schema.optional(InspectionArtifactsPageLimitSchema) }), result: { artifacts: ArtifactsResultSchema }, factKinds: [\"artifacts\"] }),\n \"attempt.artifact\": spec({ request: operation(\"attempt.artifact\", { locator: AttemptLocatorSchema, artifactId: ArtifactIdSchema, offset: Schema.optional(InspectionArtifactOffsetSchema), limit: Schema.optional(InspectionArtifactLimitSchema) }), result: { artifact: InspectionArtifactResultSchema }, factKinds: [\"artifacts\"] }),\n \"runs.compare\": spec({ request: operation(\"runs.compare\", { mode: Schema.Literals([\"side-by-side\", \"exact\", \"paired\"]), leftRunIds: RunIdsSchema, rightRunIds: RunIdsSchema }), result: { comparison: RunsCompareResultSchema }, factKinds: [\"core\"] }),\n});\nexport type InspectionOperationId = keyof typeof inspectionProtocolRegistry;\nexport const INSPECTION_OPERATION_IDS = Object.freeze(Object.keys(inspectionProtocolRegistry) as InspectionOperationId[]);\nexport const InspectionOperationIdSchema = Schema.Literals(INSPECTION_OPERATION_IDS);\nconst specs = Object.entries(inspectionProtocolRegistry);\nexport const InspectionRequestSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL),\n operation: Schema.Union(specs.map(([, entry]) => entry.request)),\n});\nexport type InspectionRequest = Schema.Schema.Type<typeof InspectionRequestSchema>;\nexport type InspectionOperation = InspectionRequest[\"operation\"];\nexport type InspectionOperationFor<Kind extends InspectionOperationId> = Extract<InspectionOperation, {\n readonly kind: Kind;\n}>;\nconst successSchema = (id: InspectionOperationId, entry: (typeof inspectionProtocolRegistry)[InspectionOperationId]): Schema.Codec<InspectionSuccessDocument, InspectionSuccessEncoded> => {\n const fields = Schema.fieldsAssign({ operation: Schema.Literal(id), ...entry.result });\n const schema = id === \"run.list\" ? RunsListSuccessMetadataSchema.pipe(fields)\n : id === \"runs.compare\" ? CompareSuccessMetadataSchema.pipe(fields)\n : SuccessMetadataSchema.pipe(fields);\n // Object.entries erases the ID/result correlation established by the registry.\n return schema as unknown as Schema.Codec<InspectionSuccessDocument, InspectionSuccessEncoded>;\n};\nexport const InspectionSuccessDocumentSchema: Schema.Union<readonly Schema.Codec<InspectionSuccessDocument, InspectionSuccessEncoded>[]> = Schema.Union(specs.map(([id, entry]) => successSchema(id as InspectionOperationId, entry)));\nconst explanationSchema = (id: InspectionOperationId, entry: (typeof inspectionProtocolRegistry)[InspectionOperationId]) => {\n const fields = Schema.fieldsAssign({\n outcome: Schema.Literal(\"explanation\"), operation: Schema.Literal(id),\n factKinds: Schema.Tuple(entry.factKinds.map((value) => Schema.Literal(value))),\n });\n if (id === \"run.list\")\n return RunsListSuccessMetadataSchema.pipe(fields);\n return SuccessMetadataSchema.pipe(fields);\n};\nexport const InspectionExplanationDocumentSchema = Schema.Union(specs.map(([id, entry]) => explanationSchema(id as InspectionOperationId, entry)));\nconst DescriptorSchema = Schema.Union(specs.map(([id]) => Schema.Struct({ id: Schema.Literal(id as InspectionOperationId) })));\nexport const InspectionDiscoveryDocumentSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"discovery\"), operations: Schema.Array(DescriptorSchema),\n});\nexport const InspectionFailureDocumentSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"failure\"),\n operation: Schema.NullOr(InspectionOperationIdSchema),\n failure: Schema.Struct({\n code: Schema.Literals([\"inspection-request-invalid\", \"inspection-selection-missing\", \"inspection-source-invalid\", \"inspection-record-integrity-failure\", \"inspection-operation-failed\", \"inspection-result-invalid\", \"evidence-budget-exceeded\", \"restart-required\", \"current-target-unavailable\"]),\n reason: Schema.String,\n identity: Schema.optional(Schema.Struct({ runId: Schema.String })),\n correction: Schema.Literals([\"fix-request\", \"choose-existing-selection\", \"fix-record-source\", \"retry\", \"upgrade-or-report\", \"restart\"]),\n }),\n});\nexport const InspectionDocumentSchema: Schema.Union<readonly [\n typeof InspectionDiscoveryDocumentSchema,\n typeof InspectionSuccessDocumentSchema,\n typeof InspectionExplanationDocumentSchema,\n typeof InspectionFailureDocumentSchema\n]> = Schema.Union([\n InspectionDiscoveryDocumentSchema, InspectionSuccessDocumentSchema,\n InspectionExplanationDocumentSchema, InspectionFailureDocumentSchema,\n]);\ntype Registry = typeof inspectionProtocolRegistry;\ntype MetadataFor<Kind extends InspectionOperationId> = Kind extends \"run.list\" ? Schema.Schema.Type<typeof RunsListSuccessMetadataSchema> : Kind extends \"runs.compare\" ? Schema.Schema.Type<typeof CompareSuccessMetadataSchema> : Schema.Schema.Type<typeof SuccessMetadataSchema>;\ntype ResultFields<Kind extends InspectionOperationId> = {\n readonly [Field in keyof Registry[Kind][\"result\"]]: Registry[Kind][\"result\"][Field] extends Schema.Constraint ? Schema.Schema.Type<Registry[Kind][\"result\"][Field]> : never;\n};\nexport type InspectionSuccessDocumentFor<Kind extends InspectionOperationId> = Kind extends InspectionOperationId ? MetadataFor<Kind> & {\n readonly operation: Kind;\n} & ResultFields<Kind> : never;\nexport type InspectionSuccessDocument = InspectionSuccessDocumentFor<InspectionOperationId>;\ntype SuccessEncodedFor<Kind extends InspectionOperationId> = Kind extends InspectionOperationId ? (Kind extends \"run.list\" ? Schema.Codec.Encoded<typeof RunsListSuccessMetadataSchema> : Kind extends \"runs.compare\" ? Schema.Codec.Encoded<typeof CompareSuccessMetadataSchema> : Schema.Codec.Encoded<typeof SuccessMetadataSchema>) & {\n readonly operation: Kind;\n} & {\n readonly [Field in keyof Registry[Kind][\"result\"]]: Registry[Kind][\"result\"][Field] extends Schema.Constraint ? Schema.Codec.Encoded<Registry[Kind][\"result\"][Field]> : never;\n} : never;\ntype InspectionSuccessEncoded = SuccessEncodedFor<InspectionOperationId>;\nexport type InspectionExplanationDocumentFor<Kind extends InspectionOperationId> = Kind extends InspectionOperationId ? Omit<MetadataFor<Kind>, \"outcome\"> & {\n readonly outcome: \"explanation\";\n readonly operation: Kind;\n readonly factKinds: Registry[Kind][\"factKinds\"];\n} : never;\nexport type InspectionExplanationDocument = InspectionExplanationDocumentFor<InspectionOperationId>;\nexport type InspectionOperationDocument = InspectionSuccessDocument | InspectionExplanationDocument;\nexport type InspectionDiscoveryDocument = Schema.Schema.Type<typeof InspectionDiscoveryDocumentSchema>;\nexport type InspectionFailureDocument = Schema.Schema.Type<typeof InspectionFailureDocumentSchema>;\nexport type InspectionDocument = InspectionDiscoveryDocument | InspectionOperationDocument | InspectionFailureDocument;\nexport type InspectionProtocolDecodeResult<A> = {\n readonly success: true;\n readonly value: A;\n} | {\n readonly success: false;\n readonly reason: string;\n};\n// @concord-code ne-eval-inspection-decode-document\n// @concord-implements docs/feature/inspection/architecture.md\nexport function decodeInspectionDocument(input: unknown): InspectionProtocolDecodeResult<InspectionDocument> {\n const decoded = Schema.decodeUnknownResult(InspectionDocumentSchema, { errors: \"all\", onExcessProperty: \"error\" })(input);\n return Result.isSuccess(decoded)\n ? { success: true, value: input as InspectionDocument }\n : { success: false, reason: String(decoded.failure) };\n}\nexport function narrowInspectionSuccess<Kind extends InspectionOperationId>(document: InspectionDocument, operationId: Kind): InspectionProtocolDecodeResult<InspectionSuccessDocumentFor<Kind>> {\n return document.outcome === \"success\" && document.operation === operationId\n ? { success: true, value: document as InspectionSuccessDocumentFor<Kind> }\n : { success: false, reason: `expected success ${operationId}, received ${document.outcome}${\"operation\" in document ? ` ${document.operation}` : \"\"}` };\n}\nexport function narrowInspectionExplanation<Kind extends InspectionOperationId>(document: InspectionDocument, operationId: Kind): InspectionProtocolDecodeResult<InspectionExplanationDocumentFor<Kind>> {\n return document.outcome === \"explanation\" && document.operation === operationId\n ? { success: true, value: document as InspectionExplanationDocumentFor<Kind> }\n : { success: false, reason: `expected explanation ${operationId}, received ${document.outcome}${\"operation\" in document ? ` ${document.operation}` : \"\"}` };\n}\n"]}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["protocol.ts"],"names":[],"mappings":"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","sourcesContent":["// @concord-file\n// @concord-implements docs/feature/inspection/README.md\n// @concord-implements docs/feature/inspection/architecture.md\n// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md\nimport { Result, Schema } from \"effect\";\nimport { AssertionEntryIdSchema } from \"../assertions/record/codec.ts\";\nimport { ATTEMPT_LOCATOR_PATTERN } from \"../attempt-locator.ts\";\nimport { ArtifactIdSchema, ExperimentIdSchema, RunIdSchema } from \"../record/codec/identifiers.ts\";\nimport { InspectionArtifactLimitSchema, InspectionArtifactOffsetSchema, InspectionArtifactResultSchema } from \"./artifacts.ts\";\nimport { InspectionRunCoreSchema } from \"./planned-attempt.ts\";\nimport { InspectionArtifactMetadataSchema, InspectionArtifactsPageLimitSchema, InspectionArtifactsValueSchema } from \"./artifact-list.ts\";\nimport { isCommandId, isItemId, isToolOccurrenceId } from \"../record/family/source-receipt/model.ts\";\nimport { INSPECTION_BEHAVIOR_VERSION, QUERY_PROTOCOL } from \"./protocol-values.ts\";\nimport { AssertionDetailResultSchema } from \"./assertion-projection.ts\";\nimport { InspectionProjectResultSchema } from \"./project-result.ts\";\nimport { InspectionAttemptDiffResultSchema, InspectionAttemptResultSchema, InspectionAttemptTimingResultSchema, InspectionAttemptUsageResultSchema, InspectionExperimentResultSchema, InspectionOverviewResultSchema, InspectionRunResultSchema, InspectionRunListResultSchema, InspectionSourcesResultSchema, InspectionTraceDetailResultSchema, InspectionTraceResultSchema, } from \"./results.ts\";\nconst AttemptLocatorSchema = Schema.String.pipe(Schema.refine((value): value is string => ATTEMPT_LOCATOR_PATTERN.test(value), { identifier: \"AttemptLocator\", description: \"a canonical @-prefixed Attempt locator\" }));\nconst ItemIdSchema = Schema.String.pipe(Schema.check(Schema.makeFilter(isItemId)));\nconst ToolOccurrenceIdSchema = Schema.String.pipe(Schema.check(Schema.makeFilter(isToolOccurrenceId)));\nconst CommandIdSchema = Schema.String.pipe(Schema.check(Schema.makeFilter(isCommandId)));\nconst RunIdsSchema = Schema.Array(RunIdSchema);\nconst ProjectExperimentIdsSchema = Schema.Array(ExperimentIdSchema).check(Schema.makeFilter((ids) => ids.length > 0 && new Set(ids).size === ids.length));\nconst operation = <Kind extends string, Fields extends Schema.Struct.Fields>(kind: Kind, fields: Fields) => Schema.Struct({ kind: Schema.Literal(kind), ...fields });\nconst SourceSchema = Schema.Struct({\n kind: Schema.Literals([\"project-record\", \"external-record\"]), publicationCutoffIdentity: Schema.String,\n});\nconst PublicationCutoffSchema = Schema.Struct({\n storeGeneration: Schema.String, revision: Schema.Number.check(Schema.isInt(), Schema.isGreaterThanOrEqualTo(0)),\n});\nconst SelectionSchema = Schema.Struct({\n requestedRunIds: Schema.Array(Schema.String), selectedRunIds: Schema.Array(Schema.String), missingRunIds: Schema.Array(Schema.String),\n});\nconst SuccessMetadataSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"success\"),\n behaviorVersion: Schema.Literal(INSPECTION_BEHAVIOR_VERSION),\n source: SourceSchema, publicationCutoff: PublicationCutoffSchema, selection: SelectionSchema,\n issues: Schema.Tuple([]), evidence: Schema.Struct({ refs: Schema.Array(Schema.String) }),\n});\nconst RunsListSuccessMetadataSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"success\"),\n behaviorVersion: Schema.Literal(INSPECTION_BEHAVIOR_VERSION),\n source: SourceSchema,\n publicationCutoff: PublicationCutoffSchema,\n selection: Schema.Struct({\n requestedRunIds: Schema.Array(Schema.String), selectedRunIds: Schema.Array(Schema.String), missingRunIds: Schema.Array(Schema.String),\n returnedRunCount: Schema.Number, truncated: Schema.Boolean,\n }),\n issues: Schema.Tuple([]), evidence: Schema.Struct({ refs: Schema.Array(Schema.String) }),\n});\nconst CompareIssueSchema = Schema.Union([\n Schema.Struct({ code: Schema.Literal(\"selection-run-missing\"), side: Schema.Literals([\"left\", \"right\"]), runId: Schema.String }),\n Schema.Struct({ code: Schema.Literal(\"comparison-member-set-mismatch\") }),\n]);\nconst CompareSuccessMetadataSchema = SuccessMetadataSchema.pipe(Schema.fieldsAssign({ issues: Schema.Array(CompareIssueSchema) }));\nconst ArtifactsResultSchema = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"not-recorded\") }),\n Schema.Struct({\n state: Schema.Literal(\"available\"), value: InspectionArtifactsValueSchema,\n collection: Schema.Struct({ state: Schema.Literals([\"complete-page\", \"bounded-page\"]), items: Schema.Array(InspectionArtifactMetadataSchema), hasMore: Schema.Boolean, nextOffset: Schema.NullOr(InspectionArtifactOffsetSchema), total: InspectionArtifactOffsetSchema }),\n contents: Schema.Array(Schema.Struct({ logicalHandle: Schema.String, byteLength: Schema.Number, digest: Schema.String })),\n contentsTruncated: Schema.Boolean,\n }),\n]);\nconst ComparisonMemberSchema = Schema.Struct({\n key: Schema.String, runId: Schema.String, plannedAttemptId: Schema.String, evalId: Schema.String,\n attemptOrdinal: Schema.Number, locator: Schema.String,\n});\nconst RunsCompareResultSchema = Schema.Struct({\n mode: Schema.Literals([\"side-by-side\", \"exact\", \"paired\"]),\n left: Schema.Struct({ runs: Schema.Array(InspectionRunCoreSchema), members: Schema.Array(ComparisonMemberSchema) }),\n right: Schema.Struct({ runs: Schema.Array(InspectionRunCoreSchema), members: Schema.Array(ComparisonMemberSchema) }),\n exactMemberSet: Schema.Boolean,\n pairs: Schema.Array(Schema.Struct({ key: Schema.String, left: ComparisonMemberSchema, right: ComparisonMemberSchema })),\n});\nconst spec = <Request extends Schema.Constraint, ResultFields extends Schema.Struct.Fields, const FactKinds extends readonly string[]>(fields: {\n readonly request: Request;\n readonly result: ResultFields;\n readonly factKinds: FactKinds;\n}) => Object.freeze(fields);\n/** The sole protocol catalog owner. Every request, result and descriptor projection is derived from this registry. */\nexport const inspectionProtocolRegistry = Object.freeze({\n \"project.get\": spec({ request: operation(\"project.get\", { experimentIds: Schema.optional(ProjectExperimentIdsSchema) }), result: { project: InspectionProjectResultSchema }, factKinds: [\"current-project\", \"core\", \"assertions\", \"attempt-cost\"] }),\n \"overview.get\": spec({ request: operation(\"overview.get\", { runIds: Schema.optional(RunIdsSchema) }), result: { overview: InspectionOverviewResultSchema }, factKinds: [\"core\", \"assertions\", \"attempt-cost\"] }),\n \"experiment.get\": spec({ request: operation(\"experiment.get\", { experimentId: ExperimentIdSchema }), result: { experiment: InspectionExperimentResultSchema }, factKinds: [\"core\", \"attempt-note\", \"assertions\", \"attempt-cost\", \"agent-turns\", \"adapter-usage\", \"judge-usage\"] }),\n \"run.list\": spec({ request: operation(\"run.list\", { continuation: Schema.optional(Schema.String) }), result: { runs: InspectionRunListResultSchema, continuation: Schema.optional(Schema.String) }, factKinds: [\"core\"] }),\n \"run.get\": spec({ request: operation(\"run.get\", { runId: RunIdSchema }), result: { run: InspectionRunResultSchema }, factKinds: [\"core\", \"assertions\", \"agent-turns\", \"adapter-usage\", \"judge-usage\"] }),\n \"attempt.get\": spec({ request: operation(\"attempt.get\", { locator: AttemptLocatorSchema }), result: { attempt: InspectionAttemptResultSchema }, factKinds: [\"core\", \"assertions\", \"attempt-note\"] }),\n \"attempt.assertion.detail\": spec({ request: operation(\"attempt.assertion.detail\", { locator: AttemptLocatorSchema, entryId: AssertionEntryIdSchema }), result: { assertion: AssertionDetailResultSchema }, factKinds: [\"assertions\", \"agent-turns\", \"sources\"] }),\n \"attempt.assertion.image\": spec({ request: operation(\"attempt.assertion.image\", { locator: AttemptLocatorSchema,\n entryId: AssertionEntryIdSchema, imageId: Schema.String,\n offset: Schema.optional(InspectionArtifactOffsetSchema), limit: Schema.optional(InspectionArtifactLimitSchema) }),\n result: { image: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), imageId: Schema.String, mediaType: Schema.Literals([\"image/png\", \"image/jpeg\"]),\n byteLength: Schema.Number, sha256: Schema.String, offset: Schema.Number, base64: Schema.String, nextOffset: Schema.NullOr(Schema.Number) }),\n Schema.Struct({ state: Schema.Literal(\"invalid\") }), Schema.Struct({ state: Schema.Literal(\"not-recorded\") }),\n ]) }, factKinds: [\"assertions\"] }),\n \"attempt.trace\": spec({ request: operation(\"attempt.trace\", {\n locator: AttemptLocatorSchema,\n traceId: Schema.optional(Schema.String),\n sourceId: Schema.optional(Schema.String),\n actorId: Schema.optional(Schema.String),\n eventType: Schema.optional(Schema.String),\n continuation: Schema.optional(Schema.String),\n }), result: { trace: InspectionTraceResultSchema }, factKinds: [\"execution-traces\", \"agent-turns\", \"turn-contexts\", \"sandbox-commands\", \"runner-activities\", \"runner-diagnostics\"] }),\n \"attempt.trace.detail\": spec({ request: operation(\"attempt.trace.detail\", { locator: AttemptLocatorSchema, selector: Schema.Union([\n operation(\"execution-event\", { eventId: Schema.String }),\n operation(\"execution-evidence\", {\n evidenceId: Schema.String,\n offset: Schema.optional(InspectionArtifactOffsetSchema),\n limit: Schema.optional(InspectionArtifactLimitSchema),\n }),\n operation(\"item\", { itemId: ItemIdSchema }),\n operation(\"tool-occurrence\", { toolOccurrenceId: ToolOccurrenceIdSchema }),\n operation(\"command\", { commandId: CommandIdSchema }),\n ]) }), result: { detail: InspectionTraceDetailResultSchema }, factKinds: [\"execution-traces\", \"agent-turns\", \"sandbox-commands\", \"artifacts\"] }),\n \"attempt.timing\": spec({ request: operation(\"attempt.timing\", { locator: AttemptLocatorSchema }), result: { timing: InspectionAttemptTimingResultSchema }, factKinds: [\"runner-activities\"] }),\n \"attempt.usage\": spec({ request: operation(\"attempt.usage\", { locator: AttemptLocatorSchema }), result: { usage: InspectionAttemptUsageResultSchema }, factKinds: [\"agent-turns\", \"adapter-usage\", \"judge-usage\"] }),\n \"attempt.diff\": spec({ request: operation(\"attempt.diff\", { locator: AttemptLocatorSchema }), result: { diff: InspectionAttemptDiffResultSchema }, factKinds: [\"file-changes\"] }),\n \"attempt.sources\": spec({ request: operation(\"attempt.sources\", { locator: AttemptLocatorSchema }), result: { sources: InspectionSourcesResultSchema }, factKinds: [\"assertions\", \"sources\"] }),\n \"attempt.artifacts\": spec({ request: operation(\"attempt.artifacts\", { locator: AttemptLocatorSchema, offset: Schema.optional(InspectionArtifactOffsetSchema), limit: Schema.optional(InspectionArtifactsPageLimitSchema) }), result: { artifacts: ArtifactsResultSchema }, factKinds: [\"artifacts\"] }),\n \"attempt.artifact\": spec({ request: operation(\"attempt.artifact\", { locator: AttemptLocatorSchema, artifactId: ArtifactIdSchema, offset: Schema.optional(InspectionArtifactOffsetSchema), limit: Schema.optional(InspectionArtifactLimitSchema) }), result: { artifact: InspectionArtifactResultSchema }, factKinds: [\"artifacts\"] }),\n \"runs.compare\": spec({ request: operation(\"runs.compare\", { mode: Schema.Literals([\"side-by-side\", \"exact\", \"paired\"]), leftRunIds: RunIdsSchema, rightRunIds: RunIdsSchema }), result: { comparison: RunsCompareResultSchema }, factKinds: [\"core\"] }),\n});\nexport type InspectionOperationId = keyof typeof inspectionProtocolRegistry;\nexport const INSPECTION_OPERATION_IDS = Object.freeze(Object.keys(inspectionProtocolRegistry) as InspectionOperationId[]);\nexport const InspectionOperationIdSchema = Schema.Literals(INSPECTION_OPERATION_IDS);\nconst specs = Object.entries(inspectionProtocolRegistry);\nexport const InspectionRequestSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL),\n operation: Schema.Union(specs.map(([, entry]) => entry.request)),\n});\nexport type InspectionRequest = Schema.Schema.Type<typeof InspectionRequestSchema>;\nexport type InspectionOperation = InspectionRequest[\"operation\"];\nexport type InspectionOperationFor<Kind extends InspectionOperationId> = Extract<InspectionOperation, {\n readonly kind: Kind;\n}>;\nconst successSchema = (id: InspectionOperationId, entry: (typeof inspectionProtocolRegistry)[InspectionOperationId]): Schema.Codec<InspectionSuccessDocument, InspectionSuccessEncoded> => {\n const fields = Schema.fieldsAssign({ operation: Schema.Literal(id), ...entry.result });\n const schema = id === \"run.list\" ? RunsListSuccessMetadataSchema.pipe(fields)\n : id === \"runs.compare\" ? CompareSuccessMetadataSchema.pipe(fields)\n : SuccessMetadataSchema.pipe(fields);\n // Object.entries erases the ID/result correlation established by the registry.\n return schema as unknown as Schema.Codec<InspectionSuccessDocument, InspectionSuccessEncoded>;\n};\nexport const InspectionSuccessDocumentSchema: Schema.Union<readonly Schema.Codec<InspectionSuccessDocument, InspectionSuccessEncoded>[]> = Schema.Union(specs.map(([id, entry]) => successSchema(id as InspectionOperationId, entry)));\nconst explanationSchema = (id: InspectionOperationId, entry: (typeof inspectionProtocolRegistry)[InspectionOperationId]) => {\n const fields = Schema.fieldsAssign({\n outcome: Schema.Literal(\"explanation\"), operation: Schema.Literal(id),\n factKinds: Schema.Tuple(entry.factKinds.map((value) => Schema.Literal(value))),\n });\n if (id === \"run.list\")\n return RunsListSuccessMetadataSchema.pipe(fields);\n return SuccessMetadataSchema.pipe(fields);\n};\nexport const InspectionExplanationDocumentSchema = Schema.Union(specs.map(([id, entry]) => explanationSchema(id as InspectionOperationId, entry)));\nconst DescriptorSchema = Schema.Union(specs.map(([id]) => Schema.Struct({ id: Schema.Literal(id as InspectionOperationId) })));\nexport const InspectionDiscoveryDocumentSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"discovery\"), operations: Schema.Array(DescriptorSchema),\n});\nexport const InspectionFailureDocumentSchema = Schema.Struct({\n protocol: Schema.Literal(QUERY_PROTOCOL), outcome: Schema.Literal(\"failure\"),\n operation: Schema.NullOr(InspectionOperationIdSchema),\n failure: Schema.Struct({\n code: Schema.Literals([\"inspection-request-invalid\", \"inspection-selection-missing\", \"inspection-source-invalid\", \"inspection-record-integrity-failure\", \"inspection-operation-failed\", \"inspection-result-invalid\", \"evidence-budget-exceeded\", \"restart-required\", \"current-target-unavailable\"]),\n reason: Schema.String,\n identity: Schema.optional(Schema.Struct({ runId: Schema.String })),\n correction: Schema.Literals([\"fix-request\", \"choose-existing-selection\", \"fix-record-source\", \"retry\", \"upgrade-or-report\", \"restart\"]),\n }),\n});\nexport const InspectionDocumentSchema: Schema.Union<readonly [\n typeof InspectionDiscoveryDocumentSchema,\n typeof InspectionSuccessDocumentSchema,\n typeof InspectionExplanationDocumentSchema,\n typeof InspectionFailureDocumentSchema\n]> = Schema.Union([\n InspectionDiscoveryDocumentSchema, InspectionSuccessDocumentSchema,\n InspectionExplanationDocumentSchema, InspectionFailureDocumentSchema,\n]);\ntype Registry = typeof inspectionProtocolRegistry;\ntype MetadataFor<Kind extends InspectionOperationId> = Kind extends \"run.list\" ? Schema.Schema.Type<typeof RunsListSuccessMetadataSchema> : Kind extends \"runs.compare\" ? Schema.Schema.Type<typeof CompareSuccessMetadataSchema> : Schema.Schema.Type<typeof SuccessMetadataSchema>;\ntype ResultFields<Kind extends InspectionOperationId> = {\n readonly [Field in keyof Registry[Kind][\"result\"]]: Registry[Kind][\"result\"][Field] extends Schema.Constraint ? Schema.Schema.Type<Registry[Kind][\"result\"][Field]> : never;\n};\nexport type InspectionSuccessDocumentFor<Kind extends InspectionOperationId> = Kind extends InspectionOperationId ? MetadataFor<Kind> & {\n readonly operation: Kind;\n} & ResultFields<Kind> : never;\nexport type InspectionSuccessDocument = InspectionSuccessDocumentFor<InspectionOperationId>;\ntype SuccessEncodedFor<Kind extends InspectionOperationId> = Kind extends InspectionOperationId ? (Kind extends \"run.list\" ? Schema.Codec.Encoded<typeof RunsListSuccessMetadataSchema> : Kind extends \"runs.compare\" ? Schema.Codec.Encoded<typeof CompareSuccessMetadataSchema> : Schema.Codec.Encoded<typeof SuccessMetadataSchema>) & {\n readonly operation: Kind;\n} & {\n readonly [Field in keyof Registry[Kind][\"result\"]]: Registry[Kind][\"result\"][Field] extends Schema.Constraint ? Schema.Codec.Encoded<Registry[Kind][\"result\"][Field]> : never;\n} : never;\ntype InspectionSuccessEncoded = SuccessEncodedFor<InspectionOperationId>;\nexport type InspectionExplanationDocumentFor<Kind extends InspectionOperationId> = Kind extends InspectionOperationId ? Omit<MetadataFor<Kind>, \"outcome\"> & {\n readonly outcome: \"explanation\";\n readonly operation: Kind;\n readonly factKinds: Registry[Kind][\"factKinds\"];\n} : never;\nexport type InspectionExplanationDocument = InspectionExplanationDocumentFor<InspectionOperationId>;\nexport type InspectionOperationDocument = InspectionSuccessDocument | InspectionExplanationDocument;\nexport type InspectionDiscoveryDocument = Schema.Schema.Type<typeof InspectionDiscoveryDocumentSchema>;\nexport type InspectionFailureDocument = Schema.Schema.Type<typeof InspectionFailureDocumentSchema>;\nexport type InspectionDocument = InspectionDiscoveryDocument | InspectionOperationDocument | InspectionFailureDocument;\nexport type InspectionProtocolDecodeResult<A> = {\n readonly success: true;\n readonly value: A;\n} | {\n readonly success: false;\n readonly reason: string;\n};\n// @concord-code\n// @concord-implements docs/feature/inspection/architecture.md\nexport function decodeInspectionDocument(input: unknown): InspectionProtocolDecodeResult<InspectionDocument> {\n const decoded = Schema.decodeUnknownResult(InspectionDocumentSchema, { errors: \"all\", onExcessProperty: \"error\" })(input);\n return Result.isSuccess(decoded)\n ? { success: true, value: input as InspectionDocument }\n : { success: false, reason: String(decoded.failure) };\n}\nexport function narrowInspectionSuccess<Kind extends InspectionOperationId>(document: InspectionDocument, operationId: Kind): InspectionProtocolDecodeResult<InspectionSuccessDocumentFor<Kind>> {\n return document.outcome === \"success\" && document.operation === operationId\n ? { success: true, value: document as InspectionSuccessDocumentFor<Kind> }\n : { success: false, reason: `expected success ${operationId}, received ${document.outcome}${\"operation\" in document ? ` ${document.operation}` : \"\"}` };\n}\nexport function narrowInspectionExplanation<Kind extends InspectionOperationId>(document: InspectionDocument, operationId: Kind): InspectionProtocolDecodeResult<InspectionExplanationDocumentFor<Kind>> {\n return document.outcome === \"explanation\" && document.operation === operationId\n ? { success: true, value: document as InspectionExplanationDocumentFor<Kind> }\n : { success: false, reason: `expected explanation ${operationId}, received ${document.outcome}${\"operation\" in document ? ` ${document.operation}` : \"\"}` };\n}\n"]}