openpond 0.2.66 → 0.2.68

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 (580) hide show
  1. package/dist/app-server.d.ts +691 -1
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{account-context-TIJOM22A.js → account-context-MWB6HN6I.js} +1 -1
  4. package/dist/chunks/{acp-YYZ3ZO3Q.js → acp-2OIXATRY.js} +1 -1
  5. package/dist/chunks/{acp-agent-T26S7TU2.js → acp-agent-PAGX2B47.js} +1 -1
  6. package/dist/chunks/actions-command-2VE6YI4W.js +2 -0
  7. package/dist/chunks/{app-layer-5XUMNHDO.js → app-layer-YNEUEOEP.js} +1 -1
  8. package/dist/chunks/{app-server-connected-apps-IB6M35NS.js → app-server-connected-apps-TZOAUOYR.js} +1 -1
  9. package/dist/chunks/app-server-evaluations-RRLYWLPK.js +2 -0
  10. package/dist/chunks/app-server-harness-services-XXM336NU.js +2 -0
  11. package/dist/chunks/app-server-runtime-GBX65JJ7.js +2 -0
  12. package/dist/chunks/apps-RSFEJOQN.js +2 -0
  13. package/dist/chunks/chunk-2PXKSAG6.js +2 -0
  14. package/dist/chunks/{chunk-GRLQHYAU.js → chunk-2TGHZXJE.js} +2 -2
  15. package/dist/chunks/{chunk-YU4JYWCA.js → chunk-3A2Y7UK3.js} +1 -1
  16. package/dist/chunks/chunk-3Z4VM2LF.js +4 -0
  17. package/dist/chunks/chunk-4BUM6JEC.js +33 -0
  18. package/dist/chunks/chunk-4G3GTEVS.js +23 -0
  19. package/dist/chunks/{chunk-FUFI4THX.js → chunk-4KNPCJR4.js} +1 -1
  20. package/dist/chunks/chunk-4KTGYHCE.js +2 -0
  21. package/dist/chunks/chunk-4PUOWSDE.js +13 -0
  22. package/dist/chunks/chunk-55YD4UTW.js +2 -0
  23. package/dist/chunks/chunk-5G7BQAUA.js +2 -0
  24. package/dist/chunks/chunk-65FJWWXG.js +2 -0
  25. package/dist/chunks/{chunk-2GJD23CM.js → chunk-65WRWLUD.js} +1 -1
  26. package/dist/chunks/chunk-6D3FI2XT.js +2 -0
  27. package/dist/chunks/chunk-73TW6BKK.js +6 -0
  28. package/dist/chunks/{chunk-6S2MWJVD.js → chunk-7NCM6GBN.js} +1 -1
  29. package/dist/chunks/chunk-7OFD6TFD.js +2 -0
  30. package/dist/chunks/chunk-7OKZCJHS.js +3 -0
  31. package/dist/chunks/{chunk-NTM3KQ25.js → chunk-7PKDJHT6.js} +1 -1
  32. package/dist/chunks/chunk-7RJOCGQ6.js +2 -0
  33. package/dist/chunks/{chunk-SAZTOGX6.js → chunk-7RSQOC5M.js} +3 -3
  34. package/dist/chunks/{chunk-6TRVEA3T.js → chunk-AFH462DO.js} +1 -1
  35. package/dist/chunks/{chunk-GUG2SWRZ.js → chunk-AFKFN25T.js} +1 -1
  36. package/dist/chunks/chunk-AFYYIJ6K.js +2 -0
  37. package/dist/chunks/chunk-APKXXAUF.js +2 -0
  38. package/dist/chunks/chunk-AQUZCWM3.js +2 -0
  39. package/dist/chunks/chunk-AUO5DCEU.js +2 -0
  40. package/dist/chunks/chunk-AYOMVI7J.js +2 -0
  41. package/dist/chunks/{chunk-EVQISX7M.js → chunk-B66QCXH2.js} +1 -1
  42. package/dist/chunks/{chunk-S6UCVXBC.js → chunk-BHKXPWFB.js} +1 -1
  43. package/dist/chunks/chunk-BU6MW65V.js +10 -0
  44. package/dist/chunks/{chunk-C5B3FMV3.js → chunk-CCZ276IA.js} +1 -1
  45. package/dist/chunks/{chunk-LYVHYT3L.js → chunk-CIZI6Z7D.js} +1 -1
  46. package/dist/chunks/{chunk-4D3CICBG.js → chunk-CO23RRN7.js} +1 -1
  47. package/dist/chunks/{chunk-QAFXQHHG.js → chunk-D6L6UNUQ.js} +2 -2
  48. package/dist/chunks/chunk-DDOIPTOM.js +2 -0
  49. package/dist/chunks/{chunk-ZU3YBRXS.js → chunk-DKOVZ6R2.js} +3 -3
  50. package/dist/chunks/chunk-DRLP7GIU.js +2 -0
  51. package/dist/chunks/{chunk-DAEUVT2I.js → chunk-DRTHKWHK.js} +1 -1
  52. package/dist/chunks/{chunk-W22KWKF6.js → chunk-DWF3FCY4.js} +1 -1
  53. package/dist/chunks/{chunk-NABPZ7AK.js → chunk-DWM5G7BU.js} +1 -1
  54. package/dist/chunks/chunk-DXJC3QW7.js +2 -0
  55. package/dist/chunks/{chunk-V3S2B6WU.js → chunk-E2JB5OCO.js} +1 -1
  56. package/dist/chunks/{chunk-GI7LTJV3.js → chunk-EDYCSW22.js} +1 -1
  57. package/dist/chunks/{chunk-4JYTFEND.js → chunk-EFP75UEX.js} +1 -1
  58. package/dist/chunks/{chunk-WKHGXLJD.js → chunk-EGP6DF34.js} +2 -2
  59. package/dist/chunks/{chunk-M5QPL5NO.js → chunk-ESYPMD7Q.js} +1 -1
  60. package/dist/chunks/{chunk-PWKJ5KLZ.js → chunk-EXYSD45J.js} +1 -1
  61. package/dist/chunks/{chunk-XHBMK6LC.js → chunk-EYTTZ5H4.js} +1 -1
  62. package/dist/chunks/chunk-FKUWCJ73.js +161 -0
  63. package/dist/chunks/{chunk-U2BD545L.js → chunk-FNGZ4UDZ.js} +1 -1
  64. package/dist/chunks/{chunk-JFZ6USNQ.js → chunk-G7X73SBG.js} +1 -1
  65. package/dist/chunks/{chunk-36FNNR5N.js → chunk-GEYZVOGD.js} +1 -1
  66. package/dist/chunks/{chunk-ULJZ7NUF.js → chunk-GY7YSD6J.js} +1 -1
  67. package/dist/chunks/{chunk-JLW5BQVO.js → chunk-GYYJ47GX.js} +1 -1
  68. package/dist/chunks/chunk-HG2YFMVU.js +4 -0
  69. package/dist/chunks/{chunk-BTJACFU3.js → chunk-HKVFU3B3.js} +1 -1
  70. package/dist/chunks/chunk-IHAEZ73V.js +2 -0
  71. package/dist/chunks/{chunk-LI3FTPAH.js → chunk-IIT66347.js} +4 -4
  72. package/dist/chunks/{chunk-Q4AXZY2P.js → chunk-IO5DZUKL.js} +1 -1
  73. package/dist/chunks/chunk-J256AEEE.js +2 -0
  74. package/dist/chunks/{chunk-CRDKBFRN.js → chunk-JEMECEQH.js} +1 -1
  75. package/dist/chunks/{chunk-7P5SH3CI.js → chunk-JPUSTFZC.js} +1 -1
  76. package/dist/chunks/{chunk-5AU5Y6KS.js → chunk-JQOVC35K.js} +1 -1
  77. package/dist/chunks/{chunk-VS3AMJEK.js → chunk-JT5YQ52I.js} +1 -1
  78. package/dist/chunks/chunk-JVMSN7LH.js +2 -0
  79. package/dist/chunks/{chunk-HORMGT2Q.js → chunk-JXYJQT5Q.js} +1 -1
  80. package/dist/chunks/{chunk-OTUS7NTQ.js → chunk-K7KBFM2T.js} +1 -1
  81. package/dist/chunks/{chunk-FS2VKOT7.js → chunk-KCLMA2IH.js} +1 -1
  82. package/dist/chunks/chunk-KDER7R45.js +2 -0
  83. package/dist/chunks/{chunk-WBO6FQHR.js → chunk-KOC3YJEU.js} +2 -2
  84. package/dist/chunks/{chunk-6ZTP6CUJ.js → chunk-KP2MYTP5.js} +1 -1
  85. package/dist/chunks/{chunk-YRDPVTEI.js → chunk-KU4TPDPH.js} +2 -2
  86. package/dist/chunks/{chunk-WJSJXK2N.js → chunk-KUE46HTH.js} +1 -1
  87. package/dist/chunks/chunk-LVXL7T5O.js +2 -0
  88. package/dist/chunks/{chunk-5KWKSR4P.js → chunk-M4A7G4S5.js} +2 -2
  89. package/dist/chunks/{chunk-KAWXVMHI.js → chunk-M4ZHFDRJ.js} +1 -1
  90. package/dist/chunks/{chunk-HX6GXMDK.js → chunk-MEJLWNRS.js} +1 -1
  91. package/dist/chunks/{chunk-B666Z2NS.js → chunk-MIFVX5PK.js} +1 -1
  92. package/dist/chunks/{chunk-66HFW4OU.js → chunk-MOXIGLN2.js} +1 -1
  93. package/dist/chunks/{chunk-7XOUM6RK.js → chunk-N5EAVX4G.js} +1 -1
  94. package/dist/chunks/{chunk-Z2TOBS3P.js → chunk-NMMHXYDJ.js} +1 -1
  95. package/dist/chunks/{chunk-EBOTNBUS.js → chunk-NRYC4NH6.js} +1 -1
  96. package/dist/chunks/chunk-NSSZ2ZIU.js +2 -0
  97. package/dist/chunks/{chunk-4TTXNVCE.js → chunk-OFJPOTES.js} +1 -1
  98. package/dist/chunks/chunk-OIH2LPIT.js +2 -0
  99. package/dist/chunks/chunk-OUJ63LMU.js +2 -0
  100. package/dist/chunks/{chunk-DXA2UHBE.js → chunk-P4QM63L3.js} +1 -1
  101. package/dist/chunks/chunk-PACLKDTN.js +2 -0
  102. package/dist/chunks/{chunk-AF3AVDPP.js → chunk-PAYFJHPO.js} +1 -1
  103. package/dist/chunks/{chunk-OPTJYDZN.js → chunk-PHZZBXDO.js} +1 -1
  104. package/dist/chunks/{chunk-HPTEJBP4.js → chunk-PKJHN666.js} +1 -1
  105. package/dist/chunks/{chunk-HNDAGZCF.js → chunk-PLROXHG2.js} +1 -1
  106. package/dist/chunks/{chunk-W7NXFRHN.js → chunk-PNPV2LDE.js} +1 -1
  107. package/dist/chunks/{chunk-DSJZS77R.js → chunk-PSY6IRJE.js} +8 -8
  108. package/dist/chunks/{chunk-UK5LGSGT.js → chunk-Q73RKX7I.js} +1 -1
  109. package/dist/chunks/{chunk-PLVWARB7.js → chunk-Q7FBVLLB.js} +1 -1
  110. package/dist/chunks/{chunk-QAEZNFAM.js → chunk-Q7P34B2O.js} +1 -1
  111. package/dist/chunks/{chunk-QYQZQVVN.js → chunk-QLGP2OAQ.js} +1 -1
  112. package/dist/chunks/{chunk-GIU3Z45P.js → chunk-QUNQM2E3.js} +1 -1
  113. package/dist/chunks/chunk-R2FYCJL6.js +2 -0
  114. package/dist/chunks/{chunk-KOKBDIGR.js → chunk-R4EEGWXB.js} +1 -1
  115. package/dist/chunks/chunk-RBTDSI4L.js +11 -0
  116. package/dist/chunks/chunk-RCQYEHHD.js +2 -0
  117. package/dist/chunks/{chunk-TGULVWPV.js → chunk-RFQD6B44.js} +1 -1
  118. package/dist/chunks/{chunk-3WJQ4IGK.js → chunk-RPM4FDRX.js} +1 -1
  119. package/dist/chunks/{chunk-MCBRB5D6.js → chunk-RY46UPBO.js} +4 -4
  120. package/dist/chunks/{chunk-67HXM6AL.js → chunk-SDHG6CKU.js} +1 -1
  121. package/dist/chunks/{chunk-DIDQHTAX.js → chunk-SO4GMSNP.js} +1 -1
  122. package/dist/chunks/{chunk-O6ZYDHEJ.js → chunk-SSHE6B7Z.js} +1 -1
  123. package/dist/chunks/{chunk-SH7POUVX.js → chunk-SV7ZBEK2.js} +6 -6
  124. package/dist/chunks/{chunk-BJXPQIVD.js → chunk-U7D6Q744.js} +1 -1
  125. package/dist/chunks/chunk-U7X5ZLAL.js +2 -0
  126. package/dist/chunks/{chunk-LARJARMS.js → chunk-UANH7U3Y.js} +1 -1
  127. package/dist/chunks/{chunk-CYQLXS2U.js → chunk-UGFSAG4U.js} +1 -1
  128. package/dist/chunks/chunk-ULTV6INR.js +2 -0
  129. package/dist/chunks/{chunk-FHLSLOKH.js → chunk-UMAVVMXL.js} +7 -7
  130. package/dist/chunks/chunk-V24VHT76.js +2 -0
  131. package/dist/chunks/chunk-VEBW7NKD.js +2 -0
  132. package/dist/chunks/chunk-VJR2GNRY.js +2 -0
  133. package/dist/chunks/{chunk-JD76ANPN.js → chunk-VJYOKU3C.js} +1 -1
  134. package/dist/chunks/{chunk-5Z3AU5CL.js → chunk-VWWKWYSQ.js} +1 -1
  135. package/dist/chunks/chunk-WCNPGKST.js +2 -0
  136. package/dist/chunks/chunk-WD4KAKEX.js +2 -0
  137. package/dist/chunks/chunk-WGQ3FMRF.js +2 -0
  138. package/dist/chunks/{chunk-6C3CXME7.js → chunk-WNXUSELC.js} +1 -1
  139. package/dist/chunks/{chunk-GFAI2MCJ.js → chunk-WZ35ICTE.js} +3 -3
  140. package/dist/chunks/chunk-XHACK2KR.js +2 -0
  141. package/dist/chunks/chunk-XOPHFUUY.js +2 -0
  142. package/dist/chunks/{chunk-UXPO3ZV7.js → chunk-XQAUHXL4.js} +4 -4
  143. package/dist/chunks/{chunk-OXRVILDW.js → chunk-XT4CSKHM.js} +1 -1
  144. package/dist/chunks/{chunk-QJJNHKLT.js → chunk-XY7HFXLH.js} +1 -1
  145. package/dist/chunks/{chunk-ZUT4EM64.js → chunk-XYZV3FKD.js} +1 -1
  146. package/dist/chunks/{chunk-7FBWUVX7.js → chunk-Y2WNZWT2.js} +1 -1
  147. package/dist/chunks/chunk-Y4I6CFZJ.js +2 -0
  148. package/dist/chunks/chunk-YDZBX4XQ.js +2 -0
  149. package/dist/chunks/chunk-YI6ME6PU.js +22 -0
  150. package/dist/chunks/{chunk-H42UW6IF.js → chunk-YXMYK5P7.js} +1 -1
  151. package/dist/chunks/{chunk-D7R2AAX2.js → chunk-Z33RVGP6.js} +1 -1
  152. package/dist/chunks/{chunk-B32CW3NT.js → chunk-ZDEIVUUI.js} +1 -1
  153. package/dist/chunks/{chunk-IEVJLG3V.js → chunk-ZIQJDTQB.js} +1 -1
  154. package/dist/chunks/{chunk-GDJ4X2ZN.js → chunk-ZYLLPRPU.js} +1 -1
  155. package/dist/chunks/cli-R7TAP6Z2.js +2 -0
  156. package/dist/chunks/command-LNOVZQSK.js +58 -0
  157. package/dist/chunks/{configuration-command-4WTS2MZS.js → configuration-command-CNITTZRP.js} +1 -1
  158. package/dist/chunks/connected-app-executor-FGWCLOJO.js +2 -0
  159. package/dist/chunks/connected-evidence-5VZBYNWN.js +2 -0
  160. package/dist/chunks/{connected-starting-assets-4LDXQVLN.js → connected-starting-assets-KWOFEIE4.js} +1 -1
  161. package/dist/chunks/{connection-GDWPMHPC.js → connection-VMBXW5PD.js} +1 -1
  162. package/dist/chunks/{continual-HQCFY7GN.js → continual-FVOLGGOE.js} +1 -1
  163. package/dist/chunks/core-commands-BPYXVT7O.js +2 -0
  164. package/dist/chunks/dataset-preparation-authoring-UUYFWWCT.js +4 -0
  165. package/dist/chunks/datasets-E5TXSVIY.js +2 -0
  166. package/dist/chunks/desktop-test-FX7DTY4N.js +3 -0
  167. package/dist/chunks/dist-2MKJC6HN.js +2 -0
  168. package/dist/chunks/{dist-GR56E3QK.js → dist-DKE7RJZN.js} +1 -1
  169. package/dist/chunks/evaluation-coordination-KUTZEEPB.js +2 -0
  170. package/dist/chunks/experiment-improvements-PQNR5YHN.js +2 -0
  171. package/dist/chunks/experiments-Z4BJWT3Y.js +2 -0
  172. package/dist/chunks/experiments-signal-3GCLKUWZ.js +2 -0
  173. package/dist/chunks/{extension-UH34ZF7N.js → extension-3EKIT6BB.js} +1 -1
  174. package/dist/chunks/{help-JQA3YMCX.js → help-K6YLZ3KL.js} +1 -1
  175. package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +2 -0
  176. package/dist/chunks/host-profile-external-dataset-KSEPXY2S.js +2 -0
  177. package/dist/chunks/hosted-app-server-composition-LA3BZ4SE.js +2 -0
  178. package/dist/chunks/hosted-experiment-improvement-VG2WE7XZ.js +3 -0
  179. package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +2 -0
  180. package/dist/chunks/hosted-profile-candidate-PTGQLPZO.js +3 -0
  181. package/dist/chunks/hosted-profile-compiler-FS5R6CHJ.js +2 -0
  182. package/dist/chunks/hosted-profile-evaluation-control-UUEZEMXU.js +2 -0
  183. package/dist/chunks/hosted-profile-evaluation-inspection-4F7OEF4T.js +3 -0
  184. package/dist/chunks/hosted-profile-evaluation-preparation-LIJJZDHQ.js +3 -0
  185. package/dist/chunks/hosted-tasksets-NXVF4AQA.js +2 -0
  186. package/dist/chunks/human-review-2ZOB7CJZ.js +2 -0
  187. package/dist/chunks/{import-CLWTKDG6.js → import-YHYKZ6JN.js} +2 -2
  188. package/dist/chunks/javascript-isolate-process-source-YAT3GPW4.js +2 -0
  189. package/dist/chunks/javascript-verifier-worker-source-LGRP74W4.js +2 -0
  190. package/dist/chunks/{learning-XTY5VOTK.js → learning-LAXMGWSQ.js} +1 -1
  191. package/dist/chunks/learning-Y3UKNUGE.js +2 -0
  192. package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +2 -0
  193. package/dist/chunks/local-harness-taskset-review-XQHQ6JCR.js +2 -0
  194. package/dist/chunks/{model-projects-GHWCKDON.js → model-projects-6YWVD2TS.js} +1 -1
  195. package/dist/chunks/opchat-XXI2ZM53.js +3 -0
  196. package/dist/chunks/opchat-bounded-chat-3MZGCRLY.js +2 -0
  197. package/dist/chunks/organizations-W7HI2JA4.js +2 -0
  198. package/dist/chunks/{profile-RIDNU2I5.js → profile-P2SJPBOJ.js} +1 -1
  199. package/dist/chunks/project-action-payload-LTIQBX77.js +2 -0
  200. package/dist/chunks/project-agent-XRIXMXQK.js +2 -0
  201. package/dist/chunks/published-experiment-source-SDXUVPE7.js +2 -0
  202. package/dist/chunks/refiner-profile-service-56VYLZQJ.js +2 -0
  203. package/dist/chunks/{runtime-VSOOPNYN.js → runtime-Q7JUJO4D.js} +2 -2
  204. package/dist/chunks/sandbox-command-HVA5FJU4.js +2 -0
  205. package/dist/chunks/{sandbox-template-NN3XQI7M.js → sandbox-template-U536EEWY.js} +1 -1
  206. package/dist/chunks/saved-work-KSIQPXC2.js +2 -0
  207. package/dist/chunks/{send-turn-D3GTSSHI.js → send-turn-YLY3YNEQ.js} +1 -1
  208. package/dist/chunks/setup-RMZ2BHLM.js +2 -0
  209. package/dist/chunks/{src-662QOKNP.js → src-C3ZUESMK.js} +1 -1
  210. package/dist/chunks/src-SGQYVBNQ.js +424 -0
  211. package/dist/chunks/standalone-experiment-turn-owner-TW5MTWIO.js +2 -0
  212. package/dist/chunks/store-chat-resources-IRHBW2EC.js +2 -0
  213. package/dist/chunks/{store-continual-support-reviews-7PDLGRWF.js → store-continual-support-reviews-3KK42L4I.js} +1 -1
  214. package/dist/chunks/store-conversation-serving-IVURK52V.js +2 -0
  215. package/dist/chunks/{store-create-improve-G46KIUVT.js → store-create-improve-UTCLBXF2.js} +1 -1
  216. package/dist/chunks/{store-datasets-O67F75BL.js → store-datasets-4AQOVAQY.js} +1 -1
  217. package/dist/chunks/store-evaluation-results-PK2P3IMH.js +7 -0
  218. package/dist/chunks/{store-harness-workspaces-PJJQ74G6.js → store-harness-workspaces-YEXB4IRV.js} +1 -1
  219. package/dist/chunks/store-human-review-O4BVHP25.js +7 -0
  220. package/dist/chunks/store-learned-preference-migration-validation-44SVX6YB.js +2 -0
  221. package/dist/chunks/{store-learning-6P6IS7GH.js → store-learning-SIUQIY5C.js} +1 -1
  222. package/dist/chunks/{store-learning-credentials-EGJ2WTZI.js → store-learning-credentials-BUHR7SN6.js} +1 -1
  223. package/dist/chunks/store-local-experiments-BHVTKPPE.js +97 -0
  224. package/dist/chunks/store-model-batch-review-RVAYUVK2.js +2 -0
  225. package/dist/chunks/{store-model-configuration-T6XJJDAB.js → store-model-configuration-6L3OYXF4.js} +1 -1
  226. package/dist/chunks/store-model-project-preparation-AAEKCF6V.js +2 -0
  227. package/dist/chunks/store-modification-recordings-LCPK6K2T.js +9 -0
  228. package/dist/chunks/{store-preference-comparison-XQFTLMGH.js → store-preference-comparison-5YVIQNVB.js} +1 -1
  229. package/dist/chunks/{store-sidebar-file-bookmarks-J3JEVAYR.js → store-sidebar-file-bookmarks-WLMYDA4E.js} +1 -1
  230. package/dist/chunks/{store-sidebar-preferences-2JHTFXJK.js → store-sidebar-preferences-AFMYIDWT.js} +1 -1
  231. package/dist/chunks/{store-subagents-PUBQVWSU.js → store-subagents-KFPVSTRO.js} +1 -1
  232. package/dist/chunks/{store-task-inbox-VVXZUJIO.js → store-task-inbox-L6IQTY26.js} +1 -1
  233. package/dist/chunks/{store-task-inventory-MQX44AI6.js → store-task-inventory-QWS2C656.js} +1 -1
  234. package/dist/chunks/store-taskset-drafts-FRFL6ITK.js +9 -0
  235. package/dist/chunks/{store-training-DUVIDYK5.js → store-training-FYXZU2FE.js} +1 -1
  236. package/dist/chunks/{store-training-jobs-HHFH3V5O.js → store-training-jobs-3N3VKPIY.js} +1 -1
  237. package/dist/chunks/{store-training-models-C7UUZDTO.js → store-training-models-VOFVGPZR.js} +1 -1
  238. package/dist/chunks/{taskset-7FQCJ55X.js → taskset-UDDLFYKV.js} +1 -1
  239. package/dist/chunks/taskset-catalog-RZYEBCRQ.js +2 -0
  240. package/dist/chunks/taskset-packages-T6B6HYKZ.js +2 -0
  241. package/dist/chunks/taskset-packages-WMG5DUBN.js +2 -0
  242. package/dist/chunks/{teams-bot-FXMCOCPP.js → teams-bot-MPWL2PP4.js} +1 -1
  243. package/dist/chunks/tool-learning-ZQ6NSJ5K.js +2 -0
  244. package/dist/chunks/training-5NT2YB2L.js +2 -0
  245. package/dist/chunks/training-5UMT45UL.js +2 -0
  246. package/dist/chunks/training-UY6KRG4M.js +2 -0
  247. package/dist/chunks/{training-error-LQKCOQDJ.js → training-error-WF463UNZ.js} +1 -1
  248. package/dist/chunks/{training-hardware-ESXRWUIK.js → training-hardware-UWQCRDMV.js} +1 -1
  249. package/dist/chunks/training-hosted-CKSDRVL6.js +2 -0
  250. package/dist/chunks/training-hosted-alphaedit-HSMRDJTD.js +2 -0
  251. package/dist/chunks/training-hosted-checkpoint-evaluation-2X7RSOLC.js +2 -0
  252. package/dist/chunks/training-hosted-decision-7JALOU6O.js +2 -0
  253. package/dist/chunks/training-hosted-engram-SXO75MFG.js +2 -0
  254. package/dist/chunks/{training-hosted-learning-YN5VD3PW.js → training-hosted-learning-E2N32YU5.js} +1 -1
  255. package/dist/chunks/training-hosted-modification-comparison-TXFDJFTG.js +2 -0
  256. package/dist/chunks/training-hosted-neuron-training-J42WK4EH.js +2 -0
  257. package/dist/chunks/training-hosted-report-T633TNJG.js +2 -0
  258. package/dist/chunks/training-hosted-serving-report-BAEABGJH.js +2 -0
  259. package/dist/chunks/training-hosted-steering-T556BUBG.js +2 -0
  260. package/dist/chunks/training-hosted-workers-Y2PO5IOA.js +2 -0
  261. package/dist/chunks/training-model-start-P3PXDWNT.js +2 -0
  262. package/dist/chunks/web-search-ZEKJHZW4.js +2 -0
  263. package/dist/chunks/{workspaces-MCS2AQX6.js → workspaces-EK62ANTB.js} +1 -1
  264. package/dist/cli.js +1 -1
  265. package/dist/index.js +1 -1
  266. package/dist/sandbox/types/billing.d.ts +87 -6
  267. package/dist/sandbox/types/io.d.ts +3 -0
  268. package/dist/sandbox-template/manifest.js +1 -1
  269. package/dist/skills/manifest.json +3 -3
  270. package/dist/skills/openpond-cli/references/experiments-and-training.md +461 -1
  271. package/dist/web/assets/App-CCuh99JW.js +54 -0
  272. package/dist/web/assets/{AppDialog-DuSd0wk6.js → AppDialog-CxjDHVk9.js} +1 -1
  273. package/dist/web/assets/AppTerminalPanel-CKJIVpKa.js +2 -0
  274. package/dist/web/assets/{AppToastContext-Dklk6CaG.js → AppToastContext-EpiT1dHs.js} +1 -1
  275. package/dist/web/assets/AppsView-BsMyPX_3.js +1 -0
  276. package/dist/web/assets/{AppsView-DNHWzJb2.css → AppsView-D3vVesNd.css} +1 -1
  277. package/dist/web/assets/{AttachmentTypeIcon-DipNT6Tj.js → AttachmentTypeIcon-BXvZy5gB.js} +1 -1
  278. package/dist/web/assets/BrowserSidebar-BIIV4aq4.js +1 -0
  279. package/dist/web/assets/{CartesianChart-UU1sdoUO.js → CartesianChart-brqLBqnF.js} +1 -1
  280. package/dist/web/assets/ChatTimelineEntry-CwZbn16X.js +8 -0
  281. package/dist/web/assets/{CollaborationTabs-BWYRQ1PE.js → CollaborationTabs-BU4uc4tZ.js} +1 -1
  282. package/dist/web/assets/{CommandMenu-B08F9x5g.js → CommandMenu-DkWpXR55.js} +1 -1
  283. package/dist/web/assets/CommunityView-CsSxJZGn.js +1 -0
  284. package/dist/web/assets/{ComposerAttachments-srWBKvCv.js → ComposerAttachments-BdJGCYzI.js} +1 -1
  285. package/dist/web/assets/{ComposerCreateImproveStrip-DqTpU5cO.js → ComposerCreateImproveStrip-CWy0j1vv.js} +1 -1
  286. package/dist/web/assets/{ConversationImportsSettings-2KC-KQvu.js → ConversationImportsSettings-DCmiakbZ.js} +1 -1
  287. package/dist/web/assets/DatasetReviewImport-DEnF_pGu.js +1 -0
  288. package/dist/web/assets/ExperimentTrainingDataWorkspace-WhwQ0QBi.js +2 -0
  289. package/dist/web/assets/{FilePagePreview-B-iUVPhh.js → FilePagePreview-BRhhz99q.js} +2 -2
  290. package/dist/web/assets/{GetStartedView-5v0vBWXy.js → GetStartedView-CLVD-qEi.js} +1 -1
  291. package/dist/web/assets/{GettingStartedDialog-Bn4072K-.js → GettingStartedDialog-CMxaAMg-.js} +1 -1
  292. package/dist/web/assets/HostedModelLearningReview-Cn-j-rDo.js +1 -0
  293. package/dist/web/assets/HostedModelLearningSettings-VNBvf38S.js +1 -0
  294. package/dist/web/assets/{HtmlVisual-C2WsMj90.js → HtmlVisual-D5y2WG9L.js} +10 -10
  295. package/dist/web/assets/LabModelVersionDetailPage-BxRmYD6h.js +1 -0
  296. package/dist/web/assets/{TrainingRunLineage-PXzWR65d.css → LabModelWorkspace-DOrgCk9Z.css} +1 -1
  297. package/dist/web/assets/LabModelWorkspace-u2Ulm_z4.js +1 -0
  298. package/dist/web/assets/{LabSkillSidebar-C50P74LI.js → LabSkillSidebar-C7IceJTJ.js} +1 -1
  299. package/dist/web/assets/LabsRoute-C9Y0GU34.css +1 -0
  300. package/dist/web/assets/LabsRoute-CbztQaEf.js +74 -0
  301. package/dist/web/assets/LearningBatchesPage-B1NZTBSv.css +1 -0
  302. package/dist/web/assets/LearningBatchesPage-CJqgZNvM.js +26 -0
  303. package/dist/web/assets/MainChatThread-DNMfrrRq.js +2 -0
  304. package/dist/web/assets/{MainPane-Dje-hfUM.css → MainPane-BZlNLfTM.css} +1 -1
  305. package/dist/web/assets/MainPane-CQQxSDPS.js +13 -0
  306. package/dist/web/assets/ModelProjectPageHeader-Dge19aE1.js +1 -0
  307. package/dist/web/assets/NativeSetupTerminal-D4JnbpyD.js +2 -0
  308. package/dist/web/assets/{NativeSkillSidebar-Clv0IWyn.js → NativeSkillSidebar-Jzx1BeKV.js} +1 -1
  309. package/dist/web/assets/{NewProjectDialog-Cw_F5Eaa.js → NewProjectDialog-DcnGzEd9.js} +1 -1
  310. package/dist/web/assets/{OutputsPage-Btyiie4B.js → OutputsPage-Cmk15Vt_.js} +1 -1
  311. package/dist/web/assets/{PageChrome-BLLw_cEA.js → PageChrome-Cz_fCqtn.js} +1 -1
  312. package/dist/web/assets/{ProjectsPage-BpSHWQgj.js → ProjectsPage-BZ3Eo3Mz.js} +1 -1
  313. package/dist/web/assets/RightChatPanelStack-C6H2vU9N.js +1 -0
  314. package/dist/web/assets/RightSidebarHomePanel-BfMMVkM1.js +1 -0
  315. package/dist/web/assets/{ScheduledWorkPage-WytWGQgw.js → ScheduledWorkPage-CAkSwM0T.js} +1 -1
  316. package/dist/web/assets/{SettingsView-BJq5zNkv.js → SettingsView-DvQXGw3_.js} +3 -3
  317. package/dist/web/assets/{TasksetDraftEditorPrimitives-BxFEWI9W.js → TasksetDraftEditorPrimitives-JuU1k8vr.js} +1 -1
  318. package/dist/web/assets/TeamChatView-DmHjr8W9.js +1 -0
  319. package/dist/web/assets/{TerminalOverlay-C7OM2F0-.js → TerminalOverlay-DlaM9d8F.js} +1 -1
  320. package/dist/web/assets/{TrainingCreationPanel-KH5GFacT.js → TrainingCreationPanel-ClpylNsr.js} +1 -1
  321. package/dist/web/assets/{TrainingDraftPanel-DzOw13Md.js → TrainingDraftPanel-6tH2xSDj.js} +1 -1
  322. package/dist/web/assets/{UsageSettingsSection-nZHno_4P.js → UsageSettingsSection-CzDqxOYM.js} +2 -2
  323. package/dist/web/assets/WorkSidebarPanel-CY-AHZ4-.js +1 -0
  324. package/dist/web/assets/WorkspaceDiffPanel-B4e0lyF7.js +11 -0
  325. package/dist/web/assets/WorkspaceEnvironmentMenu-D01ZkZZF.js +35 -0
  326. package/dist/web/assets/{WorkspaceFileLocation-1U8DDj1J.js → WorkspaceFileLocation-C5s_njZb.js} +1 -1
  327. package/dist/web/assets/{WorkspaceGitDialogs-BO1EUA3G.js → WorkspaceGitDialogs-DjPZ6KIh.js} +1 -1
  328. package/dist/web/assets/{WorkspaceMonacoEditor-Rqq_sKW_.js → WorkspaceMonacoEditor-CC4sfOiU.js} +3 -3
  329. package/dist/web/assets/{WorkspacePdfPreview-zmmMp09R.js → WorkspacePdfPreview-vszQqFa4.js} +2 -2
  330. package/dist/web/assets/{WorkspacePresentationPreview-DNbhGjkE.js → WorkspacePresentationPreview-DQTvhaRD.js} +1 -1
  331. package/dist/web/assets/api-client-DJRVOFzS.js +1 -0
  332. package/dist/web/assets/{app-models-Cz3yxq4x.js → app-models-BUdzQbXo.js} +1 -1
  333. package/dist/web/assets/bot-Doyx3T4j.js +1 -0
  334. package/dist/web/assets/{browser-sidebar-links-ZyYiYBBd.js → browser-sidebar-links-PVPCrsDJ.js} +1 -1
  335. package/dist/web/assets/chat-resources-Beh5lB36.js +1 -0
  336. package/dist/web/assets/chevron-down-DX1hzujj.js +1 -0
  337. package/dist/web/assets/chevron-right-DHN0y3KC.js +1 -0
  338. package/dist/web/assets/chevron-up-_QrW88NF.js +1 -0
  339. package/dist/web/assets/chunk-3BYFS4RO-ztZjcMmt.js +1 -0
  340. package/dist/web/assets/chunk-AG6UJ3DI-D9KZjTYP.js +1 -0
  341. package/dist/web/assets/chunk-C3TS766N-ppRhs95p.js +1 -0
  342. package/dist/web/assets/chunk-GCUWJUUM-Dy6oUNJ6.js +9 -0
  343. package/dist/web/assets/chunk-GS5HEE4M-C0RLeIsy.js +1 -0
  344. package/dist/web/assets/chunk-H3JZ3P5T-DolwEJXo.js +2 -0
  345. package/dist/web/assets/chunk-Q4RGCEOI-Cr-dg4Nk.js +1 -0
  346. package/dist/web/assets/client-DwZ92xtu.js +1 -0
  347. package/dist/web/assets/{client-choice-storage-CXlWJW5g.js → client-choice-storage-DitqKiIT.js} +1 -1
  348. package/dist/web/assets/cloud-upload-HdzNTgr2.js +1 -0
  349. package/dist/web/assets/common-BWVSBnpX.js +1 -0
  350. package/dist/web/assets/copy-DTQhoBNg.js +1 -0
  351. package/dist/web/assets/create-pipeline-DsZzNkt9.js +1 -0
  352. package/dist/web/assets/{cssMode-Cps-05f3.js → cssMode-BRTtfXxU.js} +1 -1
  353. package/dist/web/assets/dataset-workspaces-BTPi71mz.js +1 -0
  354. package/dist/web/assets/external-link-H1629UU6.js +1 -0
  355. package/dist/web/assets/folder-open-CAGdWOrr.js +1 -0
  356. package/dist/web/assets/folder-plus-C14cs2mE.js +1 -0
  357. package/dist/web/assets/git-commit-horizontal-DFUfuVvF.js +1 -0
  358. package/dist/web/assets/{htmlMode-Do72TyNy.js → htmlMode-BVaCcL76.js} +1 -1
  359. package/dist/web/assets/icons-Bk2b68aC.js +1 -0
  360. package/dist/web/assets/image-0DPVY6Ev.js +1 -0
  361. package/dist/web/assets/{index-D7igQSAg.js → index-B6XX_0h3.js} +2 -2
  362. package/dist/web/assets/info-C8b_tafZ.js +1 -0
  363. package/dist/web/assets/intake-contracts-B8JZKYwb.js +1 -0
  364. package/dist/web/assets/{jsonMode-B2N7W15Y.js → jsonMode-BCKKQmmV.js} +1 -1
  365. package/dist/web/assets/loader-circle-y-SSPwpk.js +1 -0
  366. package/dist/web/assets/{lspLanguageFeatures-DPmyOFVA.js → lspLanguageFeatures-DozmNUOx.js} +1 -1
  367. package/dist/web/assets/maximize-2-CByk9-zN.js +1 -0
  368. package/dist/web/assets/message-square-C889vRqm.js +1 -0
  369. package/dist/web/assets/{monaco.contribution-DqqJBDzF.js → monaco.contribution-B9q6qbbo.js} +2 -2
  370. package/dist/web/assets/{monaco.contribution-BfOxF9PJ.js → monaco.contribution-BITdsRbn.js} +2 -2
  371. package/dist/web/assets/{monaco.contribution-DNONXznc.js → monaco.contribution-BqA-XZ44.js} +2 -2
  372. package/dist/web/assets/{monaco.contribution-CRdTg0FH.js → monaco.contribution-DxAV1oS5.js} +2 -2
  373. package/dist/web/assets/monitor-BtxlcLuI.js +1 -0
  374. package/dist/web/assets/paperclip-BeIdaspf.js +1 -0
  375. package/dist/web/assets/{pdf-BCq2Oosd.js → pdf-perlzwEB.js} +1 -1
  376. package/dist/web/assets/play-CHXXdkuO.js +1 -0
  377. package/dist/web/assets/plus-DFFWjhPw.js +1 -0
  378. package/dist/web/assets/{ponder-desktop-Dm7tOkKo.js → ponder-desktop-Ca-9KggQ.js} +1 -1
  379. package/dist/web/assets/presentation-0bzvu6_u.js +1 -0
  380. package/dist/web/assets/{profile-ref-DSNkG6Ol.js → profile-ref-D8lxL7dW.js} +1 -1
  381. package/dist/web/assets/{python-DuGMr666.js → python-B9hOnkOI.js} +1 -1
  382. package/dist/web/assets/refresh-cw-D61-Ozk3.js +1 -0
  383. package/dist/web/assets/{requests-BCbaFiqV.js → requests-DmeUYik4.js} +1 -1
  384. package/dist/web/assets/reward-checks-DJJZYgf8.js +7 -0
  385. package/dist/web/assets/save-iEMNZoPe.js +1 -0
  386. package/dist/web/assets/schemas-Brv9Vmnk.js +64 -0
  387. package/dist/web/assets/settings-BC-bzgk6.js +21 -0
  388. package/dist/web/assets/settings-lists-C84qxFmP.js +5 -0
  389. package/dist/web/assets/square-BE_4JMR3.js +1 -0
  390. package/dist/web/assets/square-terminal-Djpzo2Qs.js +1 -0
  391. package/dist/web/assets/{submit-issue-command-wfngGS6Y.js → submit-issue-command-HfKzyxg5.js} +1 -1
  392. package/dist/web/assets/{toggleHighContrast-cl0cw2QK.js → toggleHighContrast-ClsXu39R.js} +1 -1
  393. package/dist/web/assets/training-DWfghwfZ.js +1 -0
  394. package/dist/web/assets/{training-model-data-CWnu1bz9.js → training-model-data-CIysl8wH.js} +4 -4
  395. package/dist/web/assets/{tsMode-DLEc0PYL.js → tsMode-nbmaMc-D.js} +1 -1
  396. package/dist/web/assets/upload-C6ug8RD-.js +1 -0
  397. package/dist/web/assets/{useAccountSettings-ByxjI9BG.js → useAccountSettings-Dr9h4Qz_.js} +1 -1
  398. package/dist/web/assets/{useAgentInventory-Df64T07n.js → useAgentInventory-ByCk2JAv.js} +1 -1
  399. package/dist/web/assets/useChatContextSelection-C0eMm2g6.js +1 -0
  400. package/dist/web/assets/{useLocalAgentSchedules-DNh_x9gQ.js → useLocalAgentSchedules-Do0y_leJ.js} +1 -1
  401. package/dist/web/assets/useQuery-D2MQ7e5U.js +1 -0
  402. package/dist/web/assets/wifi-off-Dr-CapyW.js +1 -0
  403. package/dist/web/assets/work-outputs-D_8TovAK.js +1 -0
  404. package/dist/web/assets/{workers-CnqrOtic.js → workers-DKvM2NdM.js} +1 -1
  405. package/dist/web/assets/x-Jx2jlP9u.js +1 -0
  406. package/dist/web/assets/{yaml-C9vtYV4w.js → yaml-C02vq4ar.js} +1 -1
  407. package/dist/web/index.html +1 -1
  408. package/docs/command-reference.md +100 -4
  409. package/package.json +1 -1
  410. package/dist/chunks/actions-command-VLKMHCMI.js +0 -2
  411. package/dist/chunks/app-server-evaluations-V6LRWDUF.js +0 -2
  412. package/dist/chunks/app-server-harness-services-6ZRLA3YD.js +0 -2
  413. package/dist/chunks/app-server-runtime-TH56EG2Z.js +0 -2
  414. package/dist/chunks/apps-MNT3KXIY.js +0 -2
  415. package/dist/chunks/chunk-2W22IXHB.js +0 -2
  416. package/dist/chunks/chunk-2ZNW6GUU.js +0 -2
  417. package/dist/chunks/chunk-3BJ7LPE3.js +0 -2
  418. package/dist/chunks/chunk-3MVKXAH7.js +0 -2
  419. package/dist/chunks/chunk-4MQHIFZL.js +0 -2
  420. package/dist/chunks/chunk-55Q64WWF.js +0 -2
  421. package/dist/chunks/chunk-5KJMFK65.js +0 -2
  422. package/dist/chunks/chunk-5WPMI6QX.js +0 -2
  423. package/dist/chunks/chunk-7PKTCMZ6.js +0 -2
  424. package/dist/chunks/chunk-ANG2YMMD.js +0 -2
  425. package/dist/chunks/chunk-BQVB2SPF.js +0 -10
  426. package/dist/chunks/chunk-DMO3UIS7.js +0 -6
  427. package/dist/chunks/chunk-FEQ7HNJR.js +0 -2
  428. package/dist/chunks/chunk-G4E3WGLM.js +0 -13
  429. package/dist/chunks/chunk-H5ML7735.js +0 -2
  430. package/dist/chunks/chunk-I3NYYOSS.js +0 -2
  431. package/dist/chunks/chunk-IOSBGCRT.js +0 -2
  432. package/dist/chunks/chunk-JBFPTEVE.js +0 -2
  433. package/dist/chunks/chunk-JKI53ED7.js +0 -161
  434. package/dist/chunks/chunk-JRGECNP3.js +0 -2
  435. package/dist/chunks/chunk-L4EJ5R3B.js +0 -23
  436. package/dist/chunks/chunk-LXZLLTYQ.js +0 -2
  437. package/dist/chunks/chunk-MHPCVQOE.js +0 -2
  438. package/dist/chunks/chunk-MVPKU72J.js +0 -4
  439. package/dist/chunks/chunk-OKEC2EIE.js +0 -2
  440. package/dist/chunks/chunk-OW3EOC5Q.js +0 -4
  441. package/dist/chunks/chunk-QCJY6FTC.js +0 -3
  442. package/dist/chunks/chunk-SBQ6KLXB.js +0 -33
  443. package/dist/chunks/chunk-TVDZXDQW.js +0 -2
  444. package/dist/chunks/chunk-V3KEG6MI.js +0 -2
  445. package/dist/chunks/chunk-VD2TQCMH.js +0 -2
  446. package/dist/chunks/chunk-WLZJOCLA.js +0 -10
  447. package/dist/chunks/chunk-Y3B6ZUE6.js +0 -22
  448. package/dist/chunks/chunk-YBKDEEEH.js +0 -2
  449. package/dist/chunks/chunk-ZWW227M3.js +0 -2
  450. package/dist/chunks/cli-TE7RP5H7.js +0 -2
  451. package/dist/chunks/command-NW6BGKOM.js +0 -13
  452. package/dist/chunks/connected-app-executor-7DYMZCD7.js +0 -2
  453. package/dist/chunks/connected-evidence-D7C45HYD.js +0 -2
  454. package/dist/chunks/core-commands-RXPXOYOP.js +0 -2
  455. package/dist/chunks/dataset-preparation-authoring-KWRTMKN6.js +0 -4
  456. package/dist/chunks/datasets-LBLEKLCS.js +0 -2
  457. package/dist/chunks/desktop-test-INJPZ5VP.js +0 -3
  458. package/dist/chunks/dist-J4KHAVO3.js +0 -2
  459. package/dist/chunks/evaluation-coordination-3ARLJAFH.js +0 -2
  460. package/dist/chunks/experiment-improvements-UB4C5CSP.js +0 -2
  461. package/dist/chunks/experiments-AHHKFJD6.js +0 -2
  462. package/dist/chunks/experiments-signal-MTR475QV.js +0 -2
  463. package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +0 -2
  464. package/dist/chunks/host-profile-external-dataset-YRKG2GL5.js +0 -2
  465. package/dist/chunks/hosted-app-server-composition-GPXH3BOG.js +0 -2
  466. package/dist/chunks/hosted-experiment-improvement-NZTPZTDH.js +0 -3
  467. package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +0 -2
  468. package/dist/chunks/hosted-profile-candidate-3CAT3XBI.js +0 -3
  469. package/dist/chunks/hosted-profile-compiler-RXU626Q6.js +0 -2
  470. package/dist/chunks/hosted-profile-evaluation-control-CBDRKJ5J.js +0 -2
  471. package/dist/chunks/hosted-profile-evaluation-inspection-CHYKDYUQ.js +0 -3
  472. package/dist/chunks/hosted-profile-evaluation-preparation-H5S7JZMD.js +0 -3
  473. package/dist/chunks/hosted-tasksets-AMGDDB2R.js +0 -2
  474. package/dist/chunks/human-review-DVHVJXBA.js +0 -2
  475. package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +0 -2
  476. package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +0 -2
  477. package/dist/chunks/learning-NJLTGZFQ.js +0 -2
  478. package/dist/chunks/local-harness-improvement-runtime-XEA73RGS.js +0 -2
  479. package/dist/chunks/local-harness-taskset-review-SW35G4DM.js +0 -2
  480. package/dist/chunks/opchat-LMKH3OWR.js +0 -3
  481. package/dist/chunks/opchat-bounded-chat-PPOWO7H4.js +0 -2
  482. package/dist/chunks/organizations-T6ZUSHNJ.js +0 -2
  483. package/dist/chunks/project-action-payload-2G57RL74.js +0 -2
  484. package/dist/chunks/project-agent-GBMVDJY3.js +0 -2
  485. package/dist/chunks/published-experiment-source-D3C2AWQD.js +0 -2
  486. package/dist/chunks/refiner-profile-service-PPGGNVOV.js +0 -2
  487. package/dist/chunks/sandbox-command-L5VQ2T6C.js +0 -2
  488. package/dist/chunks/saved-work-LAVTNKPT.js +0 -2
  489. package/dist/chunks/setup-TXEM2QSG.js +0 -2
  490. package/dist/chunks/src-HJHIBDFX.js +0 -424
  491. package/dist/chunks/standalone-experiment-turn-owner-KKYIGGPF.js +0 -2
  492. package/dist/chunks/store-chat-resources-ZWDYMDJF.js +0 -2
  493. package/dist/chunks/store-conversation-serving-WRT4N7N2.js +0 -2
  494. package/dist/chunks/store-evaluation-results-BEPR4LVD.js +0 -7
  495. package/dist/chunks/store-human-review-HJ3D7ZFA.js +0 -7
  496. package/dist/chunks/store-learned-preference-migration-validation-EXNRDHCO.js +0 -2
  497. package/dist/chunks/store-local-experiments-CBJA56X2.js +0 -97
  498. package/dist/chunks/store-model-batch-review-YIVD7T2T.js +0 -2
  499. package/dist/chunks/store-model-project-preparation-WWU5CJTV.js +0 -2
  500. package/dist/chunks/store-taskset-drafts-G3WFVN4M.js +0 -9
  501. package/dist/chunks/taskset-packages-NRRPON7B.js +0 -2
  502. package/dist/chunks/taskset-packages-RW4SFGDU.js +0 -2
  503. package/dist/chunks/tool-learning-O7QTTEDB.js +0 -2
  504. package/dist/chunks/training-XFM3OOPN.js +0 -2
  505. package/dist/chunks/training-XILDD5RG.js +0 -2
  506. package/dist/chunks/training-hosted-6BX2IASC.js +0 -2
  507. package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +0 -2
  508. package/dist/chunks/training-hosted-report-UVGTPDOK.js +0 -2
  509. package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +0 -2
  510. package/dist/chunks/training-hosted-workers-6JTDCCWA.js +0 -2
  511. package/dist/chunks/training-model-start-E5MP3URL.js +0 -2
  512. package/dist/chunks/web-search-56QRZGPR.js +0 -2
  513. package/dist/web/assets/App-CNQi3RlI.js +0 -53
  514. package/dist/web/assets/AppTerminalPanel-DLz34eSs.js +0 -2
  515. package/dist/web/assets/AppsView-DkCMr67-.js +0 -1
  516. package/dist/web/assets/BrowserSidebar-BBaaanMS.js +0 -1
  517. package/dist/web/assets/ChatTimelineEntry-Ct59FKw1.js +0 -8
  518. package/dist/web/assets/CommunityView-BLTlSxyb.js +0 -1
  519. package/dist/web/assets/HostedModelLearningReview-DWF6WPao.js +0 -1
  520. package/dist/web/assets/HostedModelLearningSettings-BYl-2j7B.js +0 -1
  521. package/dist/web/assets/LabModelVersionDetailPage-CQz29DwD.js +0 -1
  522. package/dist/web/assets/LabsRoute-CE45yAXJ.css +0 -1
  523. package/dist/web/assets/LabsRoute-DJRgF1kQ.js +0 -101
  524. package/dist/web/assets/MainChatThread-gwmhe1Nw.js +0 -2
  525. package/dist/web/assets/MainPane-CqtgV9rU.js +0 -10
  526. package/dist/web/assets/NativeSetupTerminal-DrQldDsG.js +0 -2
  527. package/dist/web/assets/RightChatPanelStack-xW5rKbp0.js +0 -1
  528. package/dist/web/assets/RightSidebarHomePanel-BDmIxvIm.js +0 -1
  529. package/dist/web/assets/TeamChatView-BisSMAXy.js +0 -1
  530. package/dist/web/assets/TrainingRunLineage-B2WBOchk.js +0 -1
  531. package/dist/web/assets/WorkSidebarPanel-D3Ub_jVj.js +0 -1
  532. package/dist/web/assets/WorkspaceDiffPanel-CyTa8Cjs.js +0 -11
  533. package/dist/web/assets/WorkspaceEnvironmentMenu-CtZzxQ1e.js +0 -35
  534. package/dist/web/assets/api-client-Dgz-fOMl.js +0 -1
  535. package/dist/web/assets/bot-D-eTQib6.js +0 -1
  536. package/dist/web/assets/chat-resources-CTN4f6KC.js +0 -1
  537. package/dist/web/assets/chevron-down-75im8nFF.js +0 -1
  538. package/dist/web/assets/chevron-right-CpbCIUFo.js +0 -1
  539. package/dist/web/assets/chevron-up-BD8jg0bQ.js +0 -1
  540. package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +0 -9
  541. package/dist/web/assets/chunk-H3JZ3P5T-B0SCoPw4.js +0 -2
  542. package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +0 -1
  543. package/dist/web/assets/cloud-upload-4lP-5zmp.js +0 -1
  544. package/dist/web/assets/common-BMjyKlX-.js +0 -1
  545. package/dist/web/assets/contracts-BLiqJxBv.js +0 -1
  546. package/dist/web/assets/copy-DRnATDDY.js +0 -1
  547. package/dist/web/assets/create-pipeline-CyUZrbbO.js +0 -1
  548. package/dist/web/assets/createLucideIcon-CmkSm39S.js +0 -1
  549. package/dist/web/assets/external-link-D_nBEDFO.js +0 -1
  550. package/dist/web/assets/folder-open-tD5Lle1M.js +0 -1
  551. package/dist/web/assets/folder-plus-DlZ4hM48.js +0 -1
  552. package/dist/web/assets/git-commit-horizontal-g8KBhvfr.js +0 -1
  553. package/dist/web/assets/icons-B8_Rkg-l.js +0 -1
  554. package/dist/web/assets/image-CUZMnZYi.js +0 -1
  555. package/dist/web/assets/info-SmuBZiE5.js +0 -1
  556. package/dist/web/assets/intake-contracts-BW0Y0C2R.js +0 -1
  557. package/dist/web/assets/loader-circle-D_KVxLLz.js +0 -1
  558. package/dist/web/assets/maximize-2-B8HN3jsA.js +0 -1
  559. package/dist/web/assets/message-square-CrDvzn66.js +0 -1
  560. package/dist/web/assets/models-route-CWcJuOd0.js +0 -1
  561. package/dist/web/assets/monitor-CW-M_aaj.js +0 -1
  562. package/dist/web/assets/paperclip-DL449Io5.js +0 -1
  563. package/dist/web/assets/play-DYLqBrwg.js +0 -1
  564. package/dist/web/assets/plus-DXZIpQuY.js +0 -1
  565. package/dist/web/assets/presentation-CupIXaYv.js +0 -1
  566. package/dist/web/assets/refresh-cw-CzVf5_oo.js +0 -1
  567. package/dist/web/assets/reward-checks-Bcq9ETCA.js +0 -7
  568. package/dist/web/assets/save-DatjrYPV.js +0 -1
  569. package/dist/web/assets/schemas-lO3MoWQr.js +0 -64
  570. package/dist/web/assets/settings-D7C-Auyi.js +0 -21
  571. package/dist/web/assets/settings-lists-D2ol3uNK.js +0 -5
  572. package/dist/web/assets/square-BWB1nbZF.js +0 -1
  573. package/dist/web/assets/square-terminal-Buj-s-fz.js +0 -1
  574. package/dist/web/assets/training-DCdoHJ0Y.js +0 -2
  575. package/dist/web/assets/upload-DaFVH6R1.js +0 -1
  576. package/dist/web/assets/useQuery-yUz7Ui8g.js +0 -1
  577. package/dist/web/assets/wifi-off-CtNwnIJc.js +0 -1
  578. package/dist/web/assets/work-outputs-CK0nHe4g.js +0 -1
  579. package/dist/web/assets/x-Bhl-4Zlt.js +0 -1
  580. /package/dist/chunks/{chunk-SFR32TMJ.js → chunk-JXLDEYRW.js} +0 -0
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{e as ut}from"./chunk-RRWL5BHZ.js";import{c as dt}from"./chunk-NXN7GJOH.js";import{a as A,b as $,c as be,d as p,e as b,f as ie,g as pt,l as xe}from"./chunk-5WPMI6QX.js";import{d as he,e as q,f as fe,g as d,h as y,j as u,k}from"./chunk-5HPZGLOL.js";import{f as ct,ob as mt,qb as ne}from"./chunk-QAFXQHHG.js";import{$b as rt,C as tt,E as nt,H as it,b as U,hc as ot,kc as st,o as Ze,s as et,tb as at}from"./chunk-G4E3WGLM.js";import{Ka as te,Na as Le,Ra as Qe,W as Be,Wa as Fe,Za as Ke,bb as We,fb as Xe,l as Ne,lb as Ye,oa as ee,va as ge}from"./chunk-ZY32SZ2P.js";import{t as $e,v as Ve}from"./chunk-OTDDXEQ6.js";import{g as ue,k as Je,n as w,o as le}from"./chunk-RCT3O3HQ.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as s}from"./chunk-FTQLQJQV.js";var lt=e.string().trim().min(1).max(240),an=e.string().trim().min(8).max(256),z=e.object({schemaVersion:e.literal("openpond.sftRecipe.v1"),method:e.literal("sft"),parameterization:e.literal("lora"),baseModel:e.object({id:lt,revision:e.string().trim().min(1).max(256),tokenizerRevision:e.string().trim().min(1).max(256),chatTemplateHash:an}),dataset:e.object({trainSplit:e.literal("train"),validationSplit:e.enum(["validation","frozen_eval"]),completionOnly:e.boolean(),maxSequenceLength:e.number().int().positive().max(32768),maxExamples:e.number().int().positive().max(1e5).default(1e3),selectionStrategy:e.literal("stable_hash_top_n").default("stable_hash_top_n"),selectionSeed:e.number().int().default(17)}),lora:e.object({rank:e.number().int().positive().max(256),alpha:e.number().positive().max(1024),dropout:e.number().min(0).max(1),targetModules:e.array(lt).min(1).max(100)}),optimizer:e.object({learningRate:e.number().positive(),epochs:e.number().positive().max(100),maxSteps:e.number().int().positive().max(1e6),batchSize:e.number().int().positive().max(1e4),gradientAccumulationSteps:e.number().int().positive().max(1e4),seed:e.number().int()}),resourceLimits:e.object({cpuThreads:e.number().int().positive().max(256),memoryBytes:e.number().int().positive(),wallTimeMs:e.number().int().positive()})}),rn=z.safeExtend({dataset:z.shape.dataset.safeExtend({completionOnly:e.literal(!0),maxSequenceLength:e.number().int().min(2).max(8192),maxExamples:e.number().int().min(1).max(1e3).default(1e3)}),lora:z.shape.lora.safeExtend({rank:e.number().int().min(1).max(64),dropout:e.number().min(0).lt(1),targetModules:e.array(e.enum(["q_proj","k_proj","v_proj","o_proj","gate_proj","up_proj","down_proj"])).min(1).max(7)}),optimizer:z.shape.optimizer.safeExtend({learningRate:e.number().positive().max(.001),epochs:e.number().positive().max(10),maxSteps:e.number().int().min(1).max(128),batchSize:e.number().int().min(1).max(32),gradientAccumulationSteps:e.number().int().min(1).max(32),seed:e.number().int().min(-(2**31)).max(2**31-1)}),resourceLimits:z.shape.resourceLimits.safeExtend({wallTimeMs:e.number().int().min(1e3).max(216e5)})}).superRefine((t,n)=>{t.optimizer.batchSize*t.optimizer.gradientAccumulationSteps>32&&n.addIssue({code:"custom",path:["optimizer"],message:"Managed SFT supports at most 32 accumulated examples."}),new Set(t.lora.targetModules).size!==t.lora.targetModules.length&&n.addIssue({code:"custom",path:["lora","targetModules"],message:"Adapter target modules must be unique."})});var C=e.string().trim().min(1).max(240),ye=p.extend({revision:e.number().int().positive()}).strict(),gt=ye.extend({teamId:C,jobId:C,plan:p,baseline:p,candidate:p,state:ot.shape.state,updatedAt:e.string().datetime()}).strict(),ht=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:C,jobId:C,groups:e.array(gt).max(100),nextCursor:C.nullable()}).strict(),ft=e.object({cursor:C.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function bt(t){let n=s(i=>(C.parse(i.teamId),`/v1/training/jobs/${encodeURIComponent(C.parse(i.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(i,a={}){let r=ft.parse(a),o=new URLSearchParams({limit:String(r.limit)});r.cursor&&o.set("cursor",r.cursor);let m=ht.parse(await t(`${n(i)}?${o}`));if(m.teamId!==i.teamId||m.jobId!==i.jobId||m.groups.length>r.limit||m.groups.some(c=>c.teamId!==i.teamId||c.jobId!==i.jobId||r.cursor&&c.id<=r.cursor)||new Set(m.groups.map(c=>c.id)).size!==m.groups.length||m.nextCursor!==null&&m.nextCursor!==m.groups.at(-1)?.id)throw new d("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return m},async acceptanceGroup(i,a,r){let o=r?ye.parse({id:r.id,revision:r.revision,contentHash:r.contentHash}):null;if(o&&o.id!==a)throw new d("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let m=o?`?revision=${o.revision}`:"",c=st(await t(`${n(i)}/${encodeURIComponent(C.parse(a))}${m}`));if(c.manifest.teamId!==i.teamId||c.manifest.trainingJob.id!==i.jobId||c.manifest.id!==a||o&&(c.revision!==o.revision||c.contentHash!==o.contentHash))throw new d("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return c}}}s(bt,"createTrainingAcceptanceClient");var V=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().positive(),contentHash:e.string().regex(/^[a-f0-9]{64}$/),targetId:e.string().trim().min(1).max(240).nullable()}).strict(),xt=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,n)=>{t.reduce((i,a)=>i+a.content.length,0)>1e5&&n.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})});var N=e.string().regex(/^[a-f0-9]{64}$/),Se=e.object({providerId:e.literal("claude-code"),configurationHash:N,executableHash:N,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:N,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5),maximumTurns:e.number().int().min(1).max(100),holdOpen:e.boolean()}).strict(),oi=e.object({id:e.string().min(1).max(200),receiptId:e.string().min(1).max(200),sessionId:e.uuid(),operationId:e.string().min(1).max(200),action:e.enum(["message","seal"]),text:e.string().max(262144).optional()}).strict().superRefine((t,n)=>{t.action==="message"&&!t.text?.trim()&&n.addIssue({code:"custom",message:"A human intervention requires a message."}),t.action==="seal"&&t.text!==void 0&&n.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),si=e.object({provider:e.literal("claude-code"),sessionId:e.uuid(),requestId:e.string().min(1).max(200),modelId:e.string().min(1).max(500),runtime:Se,sourceHash:N,outputHash:N,traceHash:N,runtimeEventRefs:e.array(e.string().min(1).max(200)).min(1).max(2e4),eventCount:e.number().int().positive().max(2e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),cleanupComplete:e.literal(!0)}).strict().superRefine((t,n)=>{(t.runtimeEventRefs.length!==t.eventCount||new Set(t.runtimeEventRefs).size!==t.eventCount)&&n.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})});var ae=e.object({providerId:e.literal("codex"),configurationHash:e.string().regex(/^[a-f0-9]{64}$/),accountHash:e.string().regex(/^[a-f0-9]{64}$/),reasoningEffort:e.enum(["low","medium","high","xhigh"]),maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict();var yt=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(te).min(1).max(100),score:e.number().min(0).max(1).nullable(),passed:e.boolean(),rewardEligible:e.boolean(),gradingStatus:e.enum(["scored","pending","unscorable","not_configured"]),failureClass:Je.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,n)=>{let{contentHash:i,...a}=t;w(a)!==i&&n.addIssue({code:"custom",message:"Experiment grading integrity failed."});let r=t.grades.flatMap(o=>o.components);(r.length!==t.grades.length||new Set(r.map(o=>o.graderId)).size!==r.length)&&n.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let o of t.grades){let{contentHash:m,...c}=o;w(c)!==m&&n.addIssue({code:"custom",message:"A retained criterion changed."});for(let x of o.components){let{contentHash:R,...v}=x;w(v)!==R&&n.addIssue({code:"custom",message:"A retained grader result changed."})}}});var h=e.string().trim().min(1).max(200),G=e.string().regex(/^[a-f0-9]{64}$/),Te=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:h,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:G,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),Se,ae]).optional(),candidate:e.object({artifactId:h,contentHash:G,preparationId:h,dispatchId:h,baseProfileId:h,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:Xe.optional(),messages:xt.optional(),maxOutputTokens:e.number().int().min(1).max(1e6).default(1e5),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict(),e.object({kind:e.literal("fixture"),fixtureId:h}).strict()]),on=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:h,teamId:h,modelProjectId:h.nullable(),project:V.optional(),taskset:b,taskId:h,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:Te}).strict(),Pi=e.object({modelProjectId:h.nullable(),taskset:b,afterTaskId:h.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),ki=e.object({modelProjectId:h.nullable(),taskset:b,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:h,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:h,split:Be,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:h,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:h.nullable()}).strict(),re=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:h,revision:e.number().int().positive(),request:on,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:h,provider:h,upstreamModelId:e.string().min(1).max(500),configurationHash:G}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:h,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{t.request.policy.kind==="fixture"!=(t.policySnapshot===null)&&n.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable||!t.completedAt)&&n.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),_i=e.object({modelProjectId:h,afterId:h.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),ji=e.object({items:e.array(re).max(100),nextCursor:h.nullable()}).strict(),Hi=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:re,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:Ke.nullable(),grade:te.nullable().optional(),experimentGrade:yt.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:b,initialStateHash:G.nullable(),finalStateHash:G.nullable(),attemptHash:G}).strict(),native:Ye.optional(),providerRequestIds:e.array(h).max(1001),contentHash:G}).strict().superRefine((t,n)=>{let i=t.attempt.request.policy.kind==="hosted_chat"?t.attempt.request.policy.harness:void 0;!!i!=!!t.native&&n.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),t.native&&(!i||w(i)!==w(t.native.source)||t.native.modelConfigurationHash!==t.attempt.policySnapshot?.configurationHash||t.environment.initialStateHash!==null||t.environment.finalStateHash!==null||t.environment.status==="completed"&&(!t.environment.collected||t.output===null||t.native.partialOutputAvailable||t.native.outputHash!==w(t.output)))&&n.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),t.experimentGrade&&((t.grade||t.composition)&&n.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.experimentGrade.score||t.attempt.gradingStatus!==t.experimentGrade.gradingStatus||t.attempt.passed!==(t.experimentGrade.score===null?null:t.experimentGrade.passed))&&n.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),t.grade&&(t.composition&&n.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.grade.score||t.attempt.gradingStatus!==t.grade.gradingStatus||t.attempt.passed!==(t.grade.score===null?null:t.grade.passed))&&n.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))});var B=e.string().trim().min(1).max(240),ve=e.string().regex(/^[a-f0-9]{64}$/),Ie=e.object({maxOutputTokens:e.number().int().min(1).max(1e6).default(4096),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict();var M=e.object({kind:e.literal("hosted_harness"),modelId:B,maxOutputTokens:Ie.shape.maxOutputTokens.removeDefault().optional(),temperature:Ie.shape.temperature.removeDefault().optional(),topP:Ie.shape.topP.removeDefault().optional(),localRuntime:ae.optional(),candidate:e.object({artifactId:B,contentHash:ve,preparationId:B,dispatchId:B,baseProfileId:B,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:ge.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:B,source:ge,modelConfigurationHash:ve,packageHash:ve,externalDatasetBinding:ee.optional()}).strict().superRefine((t,n)=>{JSON.stringify(t.externalDatasetBinding??null)!==JSON.stringify(t.source.externalDatasetBinding??null)&&n.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(t.sourceCandidate??null)!==JSON.stringify(t.source.sourceCandidate??null)&&n.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})});var _=e.string().trim().min(1).max(200),St=e.string().regex(/^[a-f0-9]{64}$/),sn=e.discriminatedUnion("kind",[Te.options[0],e.object({kind:e.literal("fixture")}).strict(),M]),D=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:_,teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:V.optional(),taskset:b,policy:sn,population:e.array(mt).min(1).max(1e4)}).strict().superRefine((t,n)=>{new Set(t.population.map(i=>i.receiptId)).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),t.population.some(i=>i.fixtureId!==null!=(t.policy.kind==="fixture"))&&n.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),t.population.some(i=>!/^(0|[1-9][0-9]*)$/.test(i.seed)||Number(i.seed)>2147483647)&&n.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),t.policy.kind==="hosted_harness"&&t.modelProjectId!==null&&n.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),t.policy.kind==="hosted_harness"&&new Set(t.population.map(i=>y([i.taskId,i.seed]))).size!==t.population.length&&n.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Tt=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:_,revision:e.number().int().positive(),teamId:_,modelProjectId:_.nullable(),name:e.string().trim().min(1).max(200).optional(),project:V.optional(),operationId:_,taskset:b,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:St,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),totalCount:e.number().int().min(1).max(1e4),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),metricName:e.string().min(1).max(240),error:e.object({code:_,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,n)=>{Object.values(t.counts).reduce((i,a)=>i+a,0)!==t.totalCount&&n.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),t.status!=="completed"&&t.score!==null&&n.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&n.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),t.status==="cancelled"&&!t.cleanupComplete&&n.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),t.resultAvailable&&!["completed","failed","cancelled"].includes(t.status)&&n.addIssue({code:"custom",message:"Run results require terminal population accounting."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable)&&n.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),vt=e.object({summary:Tt,request:D,manifest:ne,policySnapshot:re.shape.policySnapshot}).strict(),Ki=e.object({modelProjectId:_.optional(),projectId:V.shape.id.optional(),afterId:_.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Wi=e.object({items:e.array(Tt).max(100),nextCursor:_.nullable()}).strict(),Xi=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:vt,receipts:e.array(ct).min(1).max(1e4),metric:Ne.nullable(),contentHash:St}).strict();function cn(t,n){le(n,"Taskset run manifest");let i=t.policy;if(i.kind!=="hosted_harness"||n.execution.kind!=="harness"||y(n.profileEvaluation)!==y(i.source)||y(n.execution.harnessRelease)!==y(i.source.harnessRelease)||n.metadata.profileRepositoryId!==i.profileRepositoryId||n.packageHash!==i.packageHash||n.policy.kind!=="model"||n.policy.model.provider!==(i.localRuntime?.providerId??"openpond")||n.policy.model.model!==i.modelId||n.policy.model.revision!==null||n.policy.model.artifactHash!==(i.candidate?.contentHash??null)||n.policy.model.tokenizerRevision!==null||n.policy.model.chatTemplateHash!==null||n.policy.configurationHash!==i.modelConfigurationHash||n.tasksetRelease.id!==t.taskset.id||n.tasksetRelease.contentHash!==t.taskset.contentHash||y(n.population)!==y(t.population)||n.population.some(a=>a.receiptId!==`evaluation-${w(n.profileEvaluation?.externalDatasetBinding?[n.id,a.taskId,a.seed,a.fixtureId]:[n.id,a.taskId,a.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}s(cn,"verifyHarnessExperimentManifest");async function Yi(t){let n=vt.parse(t),{summary:i,request:a,manifest:r,policySnapshot:o}=n;if(le(r,"Taskset run manifest"),r.contentHash!==i.manifestHash||r.id!==i.id||r.createdAt!==i.createdAt||i.teamId!==a.teamId||i.modelProjectId!==a.modelProjectId||y(i.project??null)!==y(a.project??null)||y(r.metadata.project??null)!==y(a.project??null)||(i.name??null)!==(a.name??null)||i.operationId!==a.operationId||i.policyKind!==a.policy.kind||i.totalCount!==a.population.length||i.metricName!==r.metricPolicy.primaryMetric||y(i.taskset)!==y(a.taskset)||r.tasksetRelease.id!==a.taskset.id||r.tasksetRelease.contentHash!==a.taskset.contentHash||y(r.population)!==y(a.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(a.policy.kind==="fixture"){if(r.policy.kind!=="fixture"||o!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(a.policy.kind==="hosted_harness"){if(cn(a,r),o!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(r.policy.kind!=="model"||!o||o.modelId!==a.policy.modelId||r.policy.model.provider!==o.provider||r.policy.model.model!==o.upstreamModelId||r.policy.model.revision!==null||r.policy.model.artifactHash!==(a.policy.candidate?.contentHash??null)||r.policy.model.tokenizerRevision!==null||r.policy.model.chatTemplateHash!==null||r.policy.configurationHash!==await u({policy:a.policy,snapshot:o}))throw new Error("Evaluation model differs from its admitted policy.");return n}s(Yi,"verifyModelTasksetRunDetails");var wt=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),mn=e.array(wt).min(1).max(20),It=e.enum(["input","output","expectedOutput","evaluatorContext"]),pn=e.object({destination:It,path:mn,source:It,sourcePath:e.array(wt).max(20)}).strict(),Re=e.array(pn).max(100).superRefine((t,n)=>{for(let[i,a]of t.entries())t.slice(0,i).some(r=>r.destination===a.destination&&(Rt(r.path,a.path)||Rt(a.path,r.path)))&&n.addIssue({code:"custom",path:[i,"path"],message:"Mapped destination paths must not overlap."})});function Rt(t,n){return t.length<=n.length&&t.every((i,a)=>i===n[a])}s(Rt,"prefix");var T=e.string().trim().min(1).max(200),J=e.string().regex(/^[a-f0-9]{64}$/),we=e.object({id:T,revision:e.number().int().positive(),contentHash:J}).strict(),Pe=e.object({id:T,version:e.string().min(1).max(200),contentHash:J,name:e.string().trim().min(1).max(500).optional(),feedbackKey:Le,release:we.nullable(),mappings:Re.optional()}).strict(),ke=e.object({id:T,version:e.string().min(1).max(200),contentHash:J,mappings:Re}).strict(),da=e.object({operationId:T,id:T.optional(),expectedRevision:e.number().int().nonnegative(),request:D,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(ke).min(1).max(100).optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!t.id!=t.expectedRevision>0&&n.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),dn=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:T,teamId:T,revision:e.number().int().positive(),request:D,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Pe).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),ua=dn.extend({contentHash:J}),la=e.object({operationId:T,definition:we}).strict(),ga=e.object({projectId:T.optional(),datasetHash:J.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:T.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),ha=e.object({definition:we.nullable(),configurationHash:J.optional(),admissionRequestHash:J.optional(),sourceExperimentId:T.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Pe).min(1).max(100)}).strict().superRefine((t,n)=>{t.definition===null&&(!t.configurationHash||!t.admissionRequestHash)&&n.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),fa=e.object({operationId:T,profileRepositoryId:T,definitionId:T,modelId:T,localRuntime:M.shape.localRuntime,maxOutputTokens:M.shape.maxOutputTokens,temperature:M.shape.temperature,topP:M.shape.topP,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:ee.optional(),sourceCandidate:M.shape.sourceCandidate}).strict(),ba=e.object({request:D,manifest:ne,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Pe).min(1).max(100)}).strict();var Pt=e.string().trim().min(1).max(200),_e=e.object({operationId:Pt,request:D,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(ke).min(1).max(100).optional(),sourceExperimentId:Pt.optional()}).strict().superRefine((t,n)=>{t.request.name||n.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),t.operationId!==t.request.operationId&&n.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(t.maximumCostUsd*1e6)<1&&n.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),t.graders&&new Set(t.graders.map(i=>i.id)).size!==t.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var g=e.string().trim().min(1).max(200),H=e.string().regex(/^[a-f0-9]{64}$/),oe=e.object({id:g,contentHash:H}).strict(),Aa=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:U.nullable()}).strict(),kt=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:g,revision:e.number().int().positive(),contentHash:H}).strict(),projectId:g.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:g,configuration:_e}).strict()).min(1).max(20),acceptancePlan:rt.nullable()}).strict().superRefine((t,n)=>{if(new Set(t.experiments.map(i=>i.id)).size!==t.experiments.length&&n.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((i,a)=>i+a.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(i=>(i.configuration.request.project?.id??null)!==t.projectId)&&n.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let i=new Set(t.acceptancePlan.checks.map(r=>r.id));t.acceptancePlan.checks.some(r=>!t.experiments.some(o=>o.id===r.id))&&n.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(r=>!i.has(r.id)).reduce((r,o)=>r+o.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&n.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var un=e.object({baseline:oe,checks:e.array(e.object({id:g,sourceRunId:g,sourceManifestHash:H,targetConfigurationHash:H,executionHash:H,populationHash:H,evaluator:oe,feedbackKey:g,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),ln=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),_t=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:g,teamId:g,jobId:g,revision:e.number().int().positive(),planHash:H,automatic:e.boolean(),candidate:oe.nullable(),state:ln,total:e.number().int().positive(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),requiredOutcome:e.enum(["none","pending","passed","failed","blocked"]),reason:e.string().max(500).nullable(),groupId:g.nullable(),experimentIds:e.array(g).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,n)=>{t.completed+t.failed>t.total&&n.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&n.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),gn=e.object({operationId:g,expectedRevision:e.number().int().positive(),planHash:H}).strict(),hn=e.object({operationId:g,attachment:kt}).strict(),fn=e.object({id:g,teamId:g,ownerUserId:g,attachment:kt,qualification:un.nullable(),contentHash:H,createdAt:e.iso.datetime()}).strict();function bn(t){let n=fn.parse(t);if(n.contentHash!==w({attachment:n.attachment,qualification:n.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return n}s(bn,"verifyPostTrainingPlan");function jt(t){let{request:n}=t,i={accept:"application/json","content-type":"application/json"},a=s(o=>`/v1/training/jobs/${encodeURIComponent(g.parse(o))}/post-training`,"path");async function r(o,m,c){if(o===null)return null;let x=_t.parse(o);if(x.teamId!==m||x.jobId!==c)throw new d("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return x}return s(r,"read"),{async attach(o,m){let c=hn.parse(m),x=bn(await n("/v1/training/post-training-plans",{method:"POST",headers:i,body:JSON.stringify(c)}));if(x.teamId!==o||await u(x.attachment)!==await u(c.attachment))throw new d("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return x},async get(o,m){return r(await n(a(m),{headers:i}),o,m)},async control(o,m,c,x){let R=gn.parse(x),v=await r(await n(`${a(m)}/${c}`,{method:"POST",headers:i,body:JSON.stringify(R)}),o,m);if(!v||v.planHash!==R.planHash)throw new d("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return v}}}s(jt,"createPostTrainingClient");var Ca=e.object({teamId:g,actorId:g,projectId:g.nullable(),configuration:xe,batches:e.array(tt).max(1e4),sources:e.array(et).max(1e4),definitions:e.array(Ze).max(1e4),experiments:e.array(e.object({id:g,name:e.string().max(500),configuration:_e,graders:e.array(e.object({feedbackKey:g,name:e.string().max(500),ref:oe}).strict()).max(100)}).strict()).max(1e4)}).strict(),qa=e.enum(["prepare","start","cancel","publish","attach"]),za=e.object({teamId:g,actorId:g,configuration:xe,policy:nt,inspection:at,iterations:e.array(e.object({iteration:it,evals:_t.nullable()}).strict()).max(100),nextCursor:g.nullable()}).strict(),Ma=e.object({id:g,expectedRevision:e.number().int().positive(),policyHash:H,operationId:g,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:g.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var K=e.string().trim().min(1).max(191),se=e.string().regex(/^[a-f0-9]{64}$/),Ht=e.object({schemaVersion:e.literal("openpond.checkpointRecoveryResourceApproval.v1"),ownerUserId:K,teamId:K,sourceJobId:K,sourceJobVersion:e.number().int().positive(),sourceInputManifestSha256:se,checkpointId:K,adapterSha256:se,resumeSha256:se,idempotencyKey:e.string().trim().min(16).max(191),approvedAt:e.iso.datetime({offset:!0}),maximumSpendUsd:e.number().positive().finite().max(30).refine(t=>Number(t.toFixed(6))===t,"Recovery spend must use whole microdollars"),maximumGpuSeconds:e.number().int().positive().max(21600),maximumWallSeconds:e.number().int().positive().max(21600)}).strict(),W=Ht.extend({approvalHash:se}).strict().superRefine((t,n)=>{t.maximumGpuSeconds>t.maximumWallSeconds&&n.addIssue({code:"custom",path:["maximumGpuSeconds"],message:"Recovery GPU duration exceeds its wall"})});async function xn(t){let n=Ht.parse(t);return W.parse({...n,approvalHash:await u(n)})}s(xn,"createTrainingCheckpointRecoveryResourceApproval");var je=e.object({resourceApproval:W.optional(),mode:e.literal("evaluation_only").optional(),evaluationGpuType:e.enum(["NVIDIA A100 80GB PCIe","NVIDIA A100-SXM4-80GB","NVIDIA H100 80GB HBM3"]).optional(),expectedVersion:e.number().int().positive(),checkpointId:K,idempotencyKey:e.string().trim().min(16).max(191),maximumSpendUsd:e.number().positive().finite(),maximumWallSeconds:e.number().int().positive().max(21600)}).strict().superRefine((t,n)=>{t.evaluationGpuType&&t.mode!=="evaluation_only"&&n.addIssue({code:"custom",path:["evaluationGpuType"],message:"GPU substitution requires explicit evaluation-only recovery"});let i=t.resourceApproval;i&&(i.sourceJobVersion!==t.expectedVersion||i.checkpointId!==t.checkpointId||i.idempotencyKey!==t.idempotencyKey||i.maximumSpendUsd!==t.maximumSpendUsd||i.maximumWallSeconds!==t.maximumWallSeconds)&&n.addIssue({code:"custom",path:["resourceApproval"],message:"Recovery resource approval does not match its request"})});var X=e.object({mode:e.literal("reuse_only"),physicalWorkerId:e.string().trim().min(1).max(191),providerPodId:e.string().trim().min(1).max(191),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),baseProfileSha256:e.string().regex(/^[a-f0-9]{64}$/),gpuType:e.string().trim().min(1).max(200),sourceJobId:e.string().trim().min(1).max(191),sourceInputManifestSha256:e.string().regex(/^[a-f0-9]{64}$/),ownerTeamId:e.string().trim().min(1).max(191),deadlineAt:e.string().datetime({offset:!0})}).strict();var S=e.string().trim().min(1).max(191),Y=e.string().regex(/^[a-f0-9]{64}$/),Ee=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:S,operationId:S,projectId:S.nullable(),configuration:e.object({id:S,expectedRevision:e.number().int().positive(),expectedEtag:Y}).strict(),origin:U.optional(),batch:b,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6),gpuSelection:A.optional(),physicalPlacement:X.optional()}).strict(),Et=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:S,creatorUserId:S,request:Ee,requestHash:Y,source:e.lazy(()=>Ce),submissionHash:Y,createdAt:e.string().datetime({offset:!0})}).strict(),At=Et.extend({contentHash:Y}).strict(),Ae=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:At,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:S.nullable()}).strict().superRefine((t,n)=>{t.state==="submitted"!=!!t.jobId&&n.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),He=e.object({teamId:S,planHash:Y,expectedRevision:e.number().int().positive(),estimateReview:$.optional()}).strict(),Ct=e.object({projectId:S.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:S.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),qt=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:S,items:e.array(Ae).max(100),nextCursor:S.nullable()}).strict();async function zt(t){let n=Ae.parse(t),{contentHash:i,...a}=n.plan;if(await u(a)!==i||await u(a.request)!==a.requestHash||a.source.modelProject.id!==a.request.configuration.id||await u(a.source.origin??null)!==await u(a.request.origin??null))throw new d("training_preparation_mismatch","The prepared training inputs changed.");return n}s(zt,"parseAndVerifyTrainingPreparationReceipt");function Mt(t){async function n(i,a,r){let o=await zt(i);if(o.plan.request.teamId!==a||r&&o.plan.id!==r)throw new d("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return o}return s(n,"read"),{async listPreparations(i,a={}){let r=S.parse(i),o=Ct.parse(a),m=new URLSearchParams;for(let[R,v]of Object.entries(o))m.set(R,String(v));let c=qt.parse(await t(`/v1/training/preparations?${m}`));if(c.teamId!==r||c.items.length>o.limit||new Set(c.items.map(R=>R.plan.id)).size!==c.items.length||c.nextCursor!==null&&(c.nextCursor!==c.items.at(-1)?.plan.id||c.nextCursor===o.afterId))throw new d("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let x=await Promise.all(c.items.map(async R=>{let v=await n(R,r);if(o.projectId&&v.plan.request.projectId!==o.projectId||o.state&&v.state!==o.state)throw new d("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return v}));return{...c,items:x}},async prepareRun(i){let a=Ee.parse(i),r=await n(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(a)}),a.teamId);if(r.plan.requestHash!==await u(a))throw new d("training_preparation_request_mismatch","The preparation does not match the requested run.");return r},async getPreparation(i,a){return n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(a))}`),S.parse(i),a)},async startPreparation(i,a){let r=He.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/start`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="submitted")throw new d("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return o},async cancelPreparation(i,a){let r=He.parse(a),o=await n(await t(`/v1/training/preparations/${encodeURIComponent(S.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(r)}),r.teamId,i);if(o.plan.contentHash!==r.planHash||o.state!=="cancelled")throw new d("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return o}}}s(Mt,"createTrainingPreparationClient");var I=e.string().trim().min(1).max(191),L=e.string().regex(/^[a-f0-9]{64}$/),qe=e.string().datetime({offset:!0}),P=e.number().finite().nonnegative(),Ot=e.discriminatedUnion("kind",[e.object({kind:e.literal("preparation"),id:I,planHash:L,expectedRevision:e.number().int().positive()}).strict(),e.object({kind:e.literal("configuration"),id:I,expectedRevision:e.number().int().positive(),expectedEtag:L,batch:b.nullable().default(null)}).strict(),e.object({kind:e.literal("submission"),submission:e.lazy(()=>ze)}).strict()]),Ut=e.object({schemaVersion:e.literal("openpond.trainingEstimateRequest.v1"),teamId:I,source:Ot,gpuSelection:A.optional()}).strict(),ce=e.object({low:P,high:P}).strict().refine(t=>t.high>=t.low,"Planning range must be ordered"),Gt=e.object({phase:e.enum(["startup","baseline_evaluation","rollouts","optimization","checkpointing","backbone_materialization","final_evaluation","publication","cleanup","retention"]),resource:e.enum(["gpu","cpu","judge","storage","network"]),expectedUsd:P.nullable(),expectedSeconds:P.nullable(),planningRangeUsd:ce.nullable(),evidence:e.enum(["measured","configured_rate","unavailable"]),reason:e.string().trim().min(1).max(1e3).nullable()}).strict();function Dt(t){return t.kind==="submission"?{kind:t.kind,id:t.submission.idempotencyKey,contentHash:t.submission.contentHash,revision:null}:t.kind==="preparation"?{kind:t.kind,id:t.id,contentHash:t.planHash,revision:t.expectedRevision}:{kind:t.kind,id:t.id,contentHash:t.expectedEtag,revision:t.expectedRevision}}s(Dt,"trainingEstimateSourceIdentity");var Jt=e.object({schemaVersion:e.literal("openpond.trainingEstimate.v1"),id:I,teamId:I,requestHash:L,inputHash:L,source:e.object({kind:e.enum(["preparation","configuration","submission"]),id:I,contentHash:L,revision:e.number().int().positive().nullable()}).strict(),status:e.enum(["available","partial","insufficient_evidence"]),currency:e.literal("USD"),createdAt:qe,expiresAt:qe,estimatorVersion:I,runtimeVersion:I,pricing:e.object({version:I,quoteExpiresAt:qe.nullable()}).strict(),gpu:e.object({requested:A,resolved:e.object({availabilityId:I,gpuType:e.string().min(1).max(256),gpuCount:e.union([e.literal(1),e.literal(2)])}).strict().nullable(),customerHourlyUsd:P.nullable(),availability:e.enum(["available","limited","unavailable","unknown"])}).strict(),configuration:e.object({modelId:I,modelRevision:e.string().min(1).max(256),method:I,loraRank:e.number().int().positive().nullable(),adapterMode:e.enum(["residual_append","shared","sequential_merge"]).nullable(),groups:e.number().int().nonnegative().nullable(),rolloutConcurrency:e.number().int().positive().nullable(),maxOutputTokens:e.number().int().positive().nullable(),trainingRows:e.number().int().nonnegative().nullable(),evaluationRows:e.number().int().nonnegative().nullable(),retentionDays:e.number().int().positive().nullable(),approvedMaximumUsd:P.nullable()}).strict(),cost:e.object({expectedUsd:P.nullable(),planningRangeUsd:ce.nullable(),knownMinimumUsd:P,recommendedMaximumUsd:P.nullable(),minimumCleanupReserveUsd:P.nullable(),components:e.array(Gt).max(50)}).strict(),executionSeconds:e.object({expected:P.nullable(),planningRange:ce.nullable()}).strict(),queueWaitSeconds:e.object({expected:P,planningRange:ce.nullable()}).strict().nullable(),calibration:e.object({version:I,cohortHash:L,completedSamples:e.number().int().nonnegative(),partialSamples:e.number().int().nonnegative(),scope:e.enum(["workspace","authorized_aggregate"])}).strict(),assumptions:e.array(e.string().trim().min(1).max(1e3)).max(50),unknowns:e.array(e.string().trim().min(1).max(1e3)).max(50),review:$}).strict().superRefine((t,n)=>{(t.review.estimateId!==t.id||t.review.inputHash!==t.inputHash||t.review.requestHash!==t.requestHash||t.review.pricingVersion!==t.pricing.version||t.review.expiresAt!==t.expiresAt)&&n.addIssue({code:"custom",path:["review"],message:"Estimate review identity differs from the estimate"}),Date.parse(t.expiresAt)<=Date.parse(t.createdAt)&&n.addIssue({code:"custom",path:["expiresAt"],message:"Estimate must expire after its creation"}),t.status==="available"&&(t.cost.expectedUsd===null||t.executionSeconds.expected===null||t.unknowns.length>0)&&n.addIssue({code:"custom",path:["status"],message:"An available estimate requires complete cost and duration coverage"}),t.gpu.requested.mode==="manual"&&t.gpu.resolved&&(t.gpu.requested.availabilityId!==t.gpu.resolved.availabilityId||t.gpu.requested.gpuType!==t.gpu.resolved.gpuType)&&n.addIssue({code:"custom",path:["gpu"],message:"An explicit GPU offering cannot be substituted"}),t.gpu.resolved&&t.gpu.resolved.gpuCount!==(t.gpu.requested.gpuCount??1)&&n.addIssue({code:"custom",path:["gpu","resolved","gpuCount"],message:"The resolved GPU count must match the requested count"})});function $t(t){return{async estimate(n){let i=Ut.parse(n);i.source.kind==="submission"&&await me(i.source.submission);let a=Jt.parse(await t("/v1/training/estimates",{method:"POST",body:JSON.stringify(i)}));if(a.teamId!==i.teamId||a.requestHash!==await u(i)||await u(a.source)!==await u(Dt(i.source))||i.gpuSelection&&await u(a.gpu.requested)!==await u(i.gpuSelection))throw new d("training_estimate_scope_mismatch","The estimate does not match the requested workspace and exact configuration.");return a}}}s($t,"createTrainingEstimateClient");var pe=e.string().datetime({offset:!0}),Me=e.object({ticketId:e.string().trim().min(1).max(191),ticketNumber:e.number().int().positive().max(Number.MAX_SAFE_INTEGER),label:e.literal("Waiting for resources"),position:e.number().int().positive().nullable(),positionScope:e.literal("compatible_fair_queue"),enqueuedAt:pe,asOf:pe,estimate:e.object({revision:e.number().int().nonnegative(),estimatedStartAt:pe,expiresAt:pe,evidence:e.enum(["observed_capacity","measured_bootstrap","scheduled_release"])}).strict().nullable()}).strict().superRefine((t,n)=>{t.estimate&&Date.parse(t.estimate.expiresAt)<=Date.parse(t.asOf)&&n.addIssue({code:"custom",path:["estimate"],message:"An expired queue forecast must be returned as unavailable"})});var Nt=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:ue,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(67108864)}).strict();function Bt(t){let n=s(i=>{let a=ue.parse(i);return`/v1/training/harness-sources/${encodeURIComponent(a.id)}/${a.contentHash}`},"route");return{async publishHarnessSource(i){k(i,67108864,"Training Harness source");let a=Vt(i),r=a.agentSnapshot.portability;if(!r.portable||r.blockers.length||r.localOnlyAssetRefs.length||r.hostPrivateAssetRefs.length||a.schemaVersion==="openpond.harnessSourcePackage.v1"&&a.harnessRelease.files.some(m=>m.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let o=Nt.parse(await t(n({id:a.harnessRelease.id,contentHash:a.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(a)}));if(o.harnessRelease.id!==a.harnessRelease.id||o.harnessRelease.contentHash!==a.harnessRelease.contentHash||o.sourcePackageHash!==a.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return o},async getHarnessSource(i){let a=await t(n(i),void 0,67108864);return k(a,67108864,"Training Harness source"),Vt(a,i)}}}s(Bt,"createTrainingHarnessSourceClient");function Vt(t,n){return typeof t=="object"&&t!==null&&Reflect.get(t,"schemaVersion")==="openpond.harnessPolicySourcePackage.v1"?$e(t,n):Ve(t,n)}s(Vt,"validateSource");var O=e.string().trim().min(1).max(500),yn=e.string().regex(/^[a-f0-9]{64}$/),de=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:O,jobId:O,artifact:p,evaluation:p,executionReceipt:p,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:O,expectedDecision:p.nullable()}).strict(),Lt=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:O,request:de,revision:e.number().int().positive(),actor:e.object({userId:O,kind:e.enum(["user","api_key","agent_delegate"]),id:O}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:yn}).strict().superRefine((t,n)=>{t.revision===1!=(t.request.expectedDecision===null)&&n.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),t.request.expectedDecision?.id===t.id&&n.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function Qt(t){let{contentHash:n,...i}=t;return u(i)}s(Qt,"trainingCandidateDecisionHash");async function Oe(t,n){k(t,32768,"Training candidate decision");let i=Lt.parse(t);if(i.contentHash!==await Qt(i))throw new d("content_hash_mismatch","Training candidate decision content hash does not match.");if(i.request.teamId!==n.teamId||i.request.jobId!==n.jobId||i.request.artifact.id!==n.artifact.id||i.request.artifact.contentHash!==n.artifact.contentHash)throw new d("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(n.request&&await u(i.request)!==await u(de.parse(n.request)))throw new d("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return i}s(Oe,"parseAndVerifyTrainingCandidateDecision");function Ft(t){function n(i){return`/v1/training/jobs/${encodeURIComponent(O.parse(i.jobId))}/candidates/${encodeURIComponent(p.parse(i.artifact).id)}/decision`}return s(n,"route"),{async candidateDecision(i,a={}){O.parse(i.teamId);let r=a.decision?p.parse(a.decision):void 0,o=r?`?decisionId=${encodeURIComponent(r.id)}`:"",m=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${n(i)}${o}`));if(m.decision===null&&!r)return null;let c=await Oe(m.decision,i);if(r&&(c.id!==r.id||c.contentHash!==r.contentHash))throw new d("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return c},async recordCandidateDecision(i){let a=de.parse(i),r=await t(n(a),{method:"POST",body:JSON.stringify(a)});return Oe(r,{...a,request:a})}}}s(Ft,"createTrainingCandidateDecisionClient");var Q=e.string().trim().min(1).max(500),Z=e.string().regex(/^[a-f0-9]{64}$/),Kt=e.object({taskId:Q,taskSha256:Z,resultSha256:Z,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:Z,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:Q}).strict()}).strict(),Wt=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Q,teamId:Q,evaluation:p,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:b,panelSha256:Z,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(Kt).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:Z}).strict().superRefine((t,n)=>{let i=t.offset+t.tasks.length,a=i<t.total?String(i):null;(i>t.total||t.nextCursor!==a)&&n.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(r=>r.taskId)).size!==t.tasks.length&&n.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function Xt(t){let{contentHash:n,...i}=t;return u(i)}s(Xt,"trainingEvaluationTaskPageHash");async function Ue(t,n){k(t,8388608,"Training evaluation task page");let i=Wt.parse(t),a=p.parse(n.evaluation);if(i.jobId!==Q.parse(n.jobId)||i.evaluation.id!==a.id||i.evaluation.contentHash!==a.contentHash||i.offset!==(n.offset??0)||n.teamId!==void 0&&i.teamId!==Q.parse(n.teamId))throw new d("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await Xt(i)!==i.contentHash)throw new d("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let r of i.tasks)if(await u(r.output)!==r.outputSha256)throw new d("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return i}s(Ue,"parseAndVerifyTrainingEvaluationTaskPage");var Sn=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),Tn=e.object({binding:Fe,rewards:e.array(Qe).min(1).max(100)}).strict();async function vn(t){let n=t.rewardExecution?Tn.parse(t.rewardExecution):null,i=Sn.parse(n?We(n.binding,n.rewards):t.graders);if(new Set(i.map(r=>r.id)).size!==i.length)throw new Error("Training grader identities must be unique.");let a=await u({schemaVersion:"openpond.trainingGraderSet.v1",graders:i});return{kind:"deterministic",grader:{id:`training-graders-${a.slice(0,32)}`,contentHash:a},composer:n?{id:n.binding.id,contentHash:n.binding.contentHash}:null}}s(vn,"deterministicTrainingRewardSource");var In="evaluation-source.json",Ge=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),Yt=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:b,tasks:e.array(Ge).min(1).max(1e4),assets:e.array(e.object({path:e.string().trim().min(1).max(2e3),sha256:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().nonnegative(),encoding:e.literal("base64"),content:e.string().max(32*1024*1024)}).strict()).max(1e4)}).strict().superRefine((t,n)=>{let i=new Set;t.tasks.forEach((a,r)=>{a.split==="train"&&n.addIssue({code:"custom",path:["tasks",r,"split"],message:"Evaluation sources require held-out tasks."}),i.has(a.id)&&n.addIssue({code:"custom",path:["tasks",r,"id"],message:"Evaluation task identities must be unique."}),i.add(a.id)})});function Rn(t,n){let i=e.array(Ge).min(1).max(1e4).parse(t),a=e.array(Ge).min(1).max(1e4).parse(n),r=new Set,o=new Set;for(let c of i){if(c.split!=="train")throw new Error("The training population contains a held-out task.");if(r.has(c.id))throw new Error("Training task identities must be unique.");r.add(c.id),o.add(c.clusterKey)}let m=new Set;for(let c of a){if(c.split==="train")throw new Error("The evaluation population contains a training task.");if(m.has(c.id))throw new Error("Evaluation task identities must be unique.");if(r.has(c.id)||o.has(c.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");m.add(c.id)}}s(Rn,"assertTrainingEvaluationIsolation");async function wn(t){let n=Yt.parse(t),i=await u(n);return{taskset:n.taskset,dataset:{id:`training-evaluation-${i.slice(0,32)}`,contentHash:i}}}s(wn,"trainingEvaluationSourceRef");var l=e.string().trim().min(1).max(500),f=e.string().regex(/^[a-f0-9]{64}$/),j=e.string().datetime({offset:!0}),Pn=e.object({schemaVersion:e.literal("openpond.trainingInputArtifactUpload.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:e.string().trim().min(1).max(500),sourceManifest:p,payload:e.unknown(),contentHash:f}).strict(),kn=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:p,artifactRef:e.string().trim().min(1).max(2e3),contentHash:f,sizeBytes:e.number().int().positive(),createdAt:j}).strict();async function _n(t){let{contentHash:n,...i}=t;return u(i)}s(_n,"trainingInputArtifactUploadHash");async function jn(t){k(t,67108864,"Training input artifact");let n=Pn.parse(t),i=await _n(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training input artifact contentHash ${n.contentHash} does not match ${i}.`);return n}s(jn,"parseAndVerifyTrainingInputArtifactUpload");var en=e.enum(["reward_model_train","policy_optimize"]),Hn=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),En=e.object({id:l,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Ce=e.object({origin:U.optional(),modelProject:e.object({id:l,portableProjectId:l,revision:e.number().int().positive(),contentHash:f}).strict(),harnessRunManifest:p,harnessRelease:p,taskset:b,tasksetRelease:p,evaluation:e.object({taskset:b,dataset:p}).strict().nullable().optional(),dataset:p,evidenceSets:e.array(p).max(1e4)}).strict(),An=e.object({kind:e.literal("reward_model_train"),baseModel:ie,preferenceDatasetRelease:p,processorRelease:p,recipe:e.object({schemaVersion:e.literal("openpond.rewardModelRecipe.v1"),method:e.literal("reward_model"),parameterization:e.literal("lora_with_scalar_head")}).catchall(e.unknown())}).strict(),Cn=e.object({kind:e.literal("deterministic"),grader:p,composer:p.nullable().default(null)}).strict(),qn=e.object({kind:e.literal("learned_reward"),rewardModelVersion:p,qualificationReport:p.nullable().default(null),evaluationReferences:e.array(p).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:f,executionReceipt:p}).strict(),processorRelease:p,rewardComposerRelease:p}).strict(),tn=ie.extend({revision:e.string().regex(/^[a-f0-9]{40,64}$/),tokenizerRevision:e.string().regex(/^[a-f0-9]{40,64}$/),chatTemplateHash:f}).strict(),zn=e.object({kind:e.literal("policy_optimize"),executionMode:e.literal("qualification").optional(),baseModel:ie,recipe:pt,rewardSource:e.discriminatedUnion("kind",[Cn,qn]),resumeFrom:p.nullable().default(null)}).strict().superRefine((t,n)=>{if(t.recipe.method!=="sft")return;let i=z.safeParse(t.recipe);if(!i.success){n.addIssue({code:"custom",path:["recipe"],message:"The SFT recipe is incomplete or invalid."});return}(t.executionMode||t.resumeFrom||"continuation"in t.recipe)&&n.addIssue({code:"custom",message:"Initial managed SFT requires a fresh supervised run without rollout qualification or continuation."}),(i.data.baseModel.id!==t.baseModel.modelId||i.data.baseModel.revision!==t.baseModel.revision||i.data.baseModel.tokenizerRevision!==t.baseModel.tokenizerRevision||i.data.baseModel.chatTemplateHash!==t.baseModel.chatTemplateHash)&&n.addIssue({code:"custom",path:["baseModel"],message:"The SFT recipe must pin the exact submitted base and tokenizer."})}),Mn=e.discriminatedUnion("kind",[An,zn]),On=e.object({approvalHash:f,approvedAt:j,exportApproved:e.boolean(),maximumSpendUsd:e.number().nonnegative(),retentionDays:e.number().int().nonnegative().nullable(),region:e.string().trim().min(1).max(200).nullable().default(null)}).strict(),ze=e.object({schemaVersion:e.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:e.string().trim().min(1).max(500),name:e.string().trim().min(1).max(200),source:Ce,job:Mn,requestedCapabilities:e.array(En).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),gpuSelection:A.optional(),physicalPlacement:X.optional(),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:On,contentHash:f}).strict().superRefine((t,n)=>{let i=(t.gpuSelection?.gpuCount??1)===2,a=t.requestedCapabilities.some(r=>r.id==="managed_rl.policy.data_parallel"&&r.version==="1"&&r.required);if(i!==a&&n.addIssue({code:"custom",path:["requestedCapabilities"],message:"Two-GPU training must require managed_rl.policy.data_parallel@1 and bind gpuSelection.gpuCount to 2."}),i&&(t.job.kind!=="policy_optimize"||t.job.executionMode||t.job.recipe.method!=="grpo"||t.physicalPlacement)&&n.addIssue({code:"custom",path:["gpuSelection"],message:"Two-GPU execution requires exclusive GRPO policy training."}),t.physicalPlacement&&(t.job.kind!=="policy_optimize"||t.job.resumeFrom||t.job.executionMode||t.job.recipe.continuation!==void 0)&&n.addIssue({code:"custom",path:["physicalPlacement"],message:"Reuse-only placement requires fresh-base policy training without continuation."}),t.job.kind==="policy_optimize"&&t.job.executionMode==="qualification"){let r=t.job;tn.safeParse(r.baseModel).success||n.addIssue({code:"custom",path:["job","baseModel"],message:"Qualification requires immutable model and tokenizer revisions and a SHA-256 chat-template pin."}),(r.resumeFrom||r.recipe.continuation!==void 0||r.rewardSource.kind!=="deterministic"||r.recipe.method!=="grpo")&&n.addIssue({code:"custom",path:["job"],message:"Qualification requires the original GRPO learner, deterministic reward, and no resume or continuation."}),t.requestedCapabilities.some(o=>o.required&&o.id==="managed_rl.policy.qualification"&&o.version==="1")||n.addIssue({code:"custom",path:["requestedCapabilities"],message:"Qualification must require managed_rl.policy.qualification@1."})}t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&n.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function Un(t){let{contentHash:n,...i}=t;return u(i)}s(Un,"trainingJobSubmissionHash");async function me(t){k(t,1048576,"Training Job submission");let n=ze.parse(t),i=await Un(n);if(n.contentHash!==i)throw new d("content_hash_mismatch",`Training Job contentHash ${n.contentHash} does not match ${i}.`);return n}s(me,"parseAndVerifyTrainingJobSubmission");var Gn=e.object({resourceApproval:W.optional(),mode:e.literal("evaluation_only").optional(),trainingWorkloadComplete:e.boolean().optional(),sourceJobId:l,checkpointId:l,policyVersion:e.number().int().positive(),completedGroups:e.number().int().positive(),optimizerMode:e.literal("continue")}).strict(),F=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:l,teamId:l,kind:en,executionMode:e.literal("qualification").optional(),recovery:Gn.optional(),modelProjectId:l,portableProjectId:l,sourceProjectRevision:e.number().int().positive(),submissionHash:f,state:Hn,queue:Me.optional(),phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:j,updatedAt:j,completedAt:j.nullable()}).strict(),Dn=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(F).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),Jn=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:l,jobId:l,sequence:e.number().int().nonnegative(),type:l,phase:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3).nullable(),data:e.record(e.string(),e.unknown()).default({}),createdAt:j}).strict(),$n=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:l,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:j}).strict(),Zt=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Vn=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:l,jobId:l,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:f,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:j}).strict(),nn=e.object({schemaVersion:e.literal("openpond.trainingQualificationEvidence.v1"),baseModel:tn,group:p,rolloutReceipts:e.array(p).min(1).max(1e3),rewardEvidenceHash:f,groupsCompleted:e.literal(1),optimizerUpdatesApplied:e.literal(0),optimizerUpdatesSkipped:e.literal(0),trainingStepsCreated:e.literal(0),checkpointsCreated:e.literal(0),artifactsCreated:e.literal(0)}).strict().superRefine((t,n)=>{new Set(t.rolloutReceipts.map(i=>i.id)).size!==t.rolloutReceipts.length&&n.addIssue({code:"custom",path:["rolloutReceipts"],message:"Qualification rollout receipt identities must be unique."})}),De=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:l,teamId:l,jobId:l,submissionHash:f,manifestHash:f,recipeHash:f,capabilityHash:f,runtimeRelease:p,inputs:e.array(p).max(1e4),outputs:e.array(p).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),qualification:nn.optional(),issuer:l,issuedAt:j,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Nn(t){return u(De.parse(t))}s(Nn,"trainingExecutionReceiptHash");async function po(t,n){let i=De.parse(t),a=l.parse(n.id),r=f.parse(n.contentHash),o=await Nn(i);if(i.id!==a||o!==r)throw new d("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(n.teamId!==void 0&&i.teamId!==l.parse(n.teamId))throw new d("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(n.jobId!==void 0&&i.jobId!==l.parse(n.jobId))throw new d("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((n.requireCleanup??!0)&&!i.cleanupComplete)throw new d("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");if(n.qualificationSubmission){let m=await me(n.qualificationSubmission);if(m.job.kind!=="policy_optimize"||m.job.executionMode!=="qualification")throw new d("qualification_submission_required","Expected an immutable qualification submission.");await Bn(i,{submissionHash:m.contentHash,baseModel:m.job.baseModel,outputs:n.outputs})}return i}s(po,"parseAndVerifyTrainingExecutionReceipt");async function Bn(t,n){let i=nn.parse(t.qualification);if(t.submissionHash!==n.submissionHash||!t.cleanupComplete)throw new d("qualification_receipt_mismatch","Qualification must attest the expected submission and complete cleanup.");if(n.baseModel&&await u(i.baseModel)!==await u(n.baseModel))throw new d("qualification_learner_mismatch","Qualification used a different original learner or tokenizer.");if(n.outputs?.some(a=>["checkpoint","adapter","scorer"].includes(a.kind)))throw new d("qualification_updated_artifact","Qualification must not publish trained artifacts or checkpoints.")}s(Bn,"assertTrainingQualificationReceipt");var Ln=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Vn).max(1e4),receipt:De.nullable()}).strict(),Qn=e.object({workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),envelopeRank:e.number().int().positive().max(256),supportedRanks:e.array(e.number().int().positive().max(256)).max(256),qualification:e.object({evidenceRef:e.string().min(1),evidenceSha256:f}).strict().nullable(),continuation:e.object({sharedRequiresSameRank:e.literal(!0),mergedRequiresSameRank:e.literal(!0),residualAppendRequiresFreeCapacity:e.literal(!0),stageOptimizer:e.literal("reset"),interruptedRecoveryOptimizer:e.literal("restore")}).strict()}).strict().superRefine((t,n)=>{(new Set(t.supportedRanks).size!==t.supportedRanks.length||t.supportedRanks.some(i=>i>t.envelopeRank))&&n.addIssue({code:"custom",path:["supportedRanks"],message:"Supported ranks must be unique and fit the physical adapter envelope."}),t.supportedRanks.length&&!t.qualification&&n.addIssue({code:"custom",path:["qualification"],message:"Advertised ranks require immutable image qualification evidence."})});function uo(t,n,i){return t.supportedRanks.includes(n)?i?i.mode==="residual_append"?i.parentEnabledRank+n<=t.envelopeRank:i.parentEnabledRank===n:!0:!1}s(uo,"supportsTrainingPolicyLoraRank");var Fn=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:f,jobKinds:e.array(en),methods:e.array(e.string().trim().min(1).max(200)),executionModes:e.array(e.enum(["training","qualification"])).optional(),policyLora:Qn.optional(),policyDataParallel:e.object({capability:e.literal("managed_rl.policy.data_parallel"),version:e.literal("1"),gpuCount:e.literal(2),worldSize:e.literal(2),backend:e.literal("nccl"),allocationMode:e.literal("exclusive"),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),structuredOutputs:e.object({capability:e.literal("work.structured-output.v1"),harnessRuntimeHash:f,workHarnessHash:f,schemaHash:f,artifactHash:f,invalidDataRejected:e.literal(!0),invalidBytesRejected:e.literal(!0)}).strict().optional(),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),estimates:e.object({schemaVersion:e.literal("openpond.trainingEstimate.v1")}).strict().optional(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:j,expiresAt:j}).strict();function lo(t){let n=dt(t);return{postTraining:jt({request:n}),...Mt(n),...$t(n),...bt(n),...ut(n),...Bt(n),...Ft(n),async capabilities(){return Fn.parse(E(await n("/v1/training/capabilities"),"capabilities"))},async gpuCatalog(){return be.parse(E(await n("/v1/training/gpu-catalog"),"catalog"))},async stageArtifact(i){let a=await jn(i);return kn.parse(E(await n("/v1/training/artifacts",{method:"POST",body:JSON.stringify(a)}),"artifact"))},async createJob(i){let a=await me(i);return F.parse(E(await n("/v1/training/jobs",{method:"POST",body:JSON.stringify(a)}),"job"))},async listJobs(i={}){let a=new URLSearchParams;i.modelProjectId&&a.set("modelProjectId",l.parse(i.modelProjectId)),i.cursor&&a.set("cursor",e.string().trim().min(1).max(2e3).parse(i.cursor)),i.limit!==void 0&&a.set("limit",String(e.number().int().min(1).max(1e3).parse(i.limit)));let r=a.size>0?`?${a.toString()}`:"";return Dn.parse(await n(`/v1/training/jobs${r}`))},async getJob(i){return F.parse(E(await n(`/v1/training/jobs/${encodeURIComponent(l.parse(i))}`),"job"))},async cancelJob(i,a){let r=Zt.parse({expectedVersion:a});return F.parse(E(await n(`/v1/training/jobs/${encodeURIComponent(l.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(r)}),"job"))},async stopAfterGroup(i,a){let r=Zt.parse({expectedVersion:a});return F.parse(E(await n(`/v1/training/jobs/${encodeURIComponent(l.parse(i))}/stop-after-group`,{method:"POST",body:JSON.stringify(r)}),"job"))},async recoverCheckpoint(i,a){let r=je.parse(a);if(r.resourceApproval){let{approvalHash:o,...m}=r.resourceApproval;if(m.sourceJobId!==i||await u(m)!==o)throw new d("content_hash_mismatch","Recovery resource approval does not bind this source request.")}return F.parse(E(await n(`/v1/training/jobs/${encodeURIComponent(l.parse(i))}/recover`,{method:"POST",body:JSON.stringify(r)}),"job"))},async events(i){return e.array(Jn).parse(E(await n(`/v1/training/jobs/${encodeURIComponent(l.parse(i))}/events`),"events"))},async outputs(i){return Ln.parse(await n(`/v1/training/jobs/${encodeURIComponent(l.parse(i))}/outputs`))},async evaluationTasks(i,a,r={}){let o=l.parse(i),m=p.parse(a),c=new URLSearchParams,x=r.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(r.cursor),R=x===void 0?0:e.number().int().min(1).max(9999).parse(Number(x));x!==void 0&&c.set("cursor",x),r.limit!==void 0&&c.set("limit",String(e.number().int().min(1).max(100).parse(r.limit)));let v=c.size?`?${c.toString()}`:"";return Ue(await n(`/v1/training/jobs/${encodeURIComponent(o)}/evaluations/${encodeURIComponent(m.id)}/tasks${v}`),{jobId:o,evaluation:m,offset:R})},async logs(i){return e.array($n).max(1e5).parse(E(await n(`/v1/training/jobs/${encodeURIComponent(l.parse(i))}/logs`),"logs"))}}}s(lo,"createTrainingClient");function E(t,n){return!t||typeof t!="object"||Array.isArray(t)?t:n in t?t[n]:t}s(E,"unwrapObject");export{z as a,rn as b,ye as c,gt as d,ht as e,ft as f,D as g,vt as h,cn as i,Yi as j,Re as k,Pe as l,ga as m,ha as n,fa as o,ba as p,_e as q,W as r,xn as s,je as t,X as u,Ee as v,Et as w,At as x,Ae as y,He as z,Ct as A,qt as B,zt as C,Ot as D,Ut as E,Gt as F,Dt as G,Jt as H,Me as I,Nt as J,de as K,Lt as L,Qt as M,Oe as N,Kt as O,Wt as P,Xt as Q,Ue as R,vn as S,In as T,Yt as U,Rn as V,wn as W,Pn as X,kn as Y,_n as Z,jn as _,en as $,Hn as aa,En as ba,Ce as ca,An as da,tn as ea,zn as fa,Mn as ga,On as ha,ze as ia,Un as ja,me as ka,Gn as la,F as ma,Dn as na,Jn as oa,$n as pa,Zt as qa,Vn as ra,nn as sa,De as ta,Nn as ua,po as va,Bn as wa,Ln as xa,Qn as ya,uo as za,Fn as Aa,lo as Ba};
@@ -1,23 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{A as je,C as K,D as J,E as z,G as Me,N as _e,O,P as L,S as re,U as Fe,W as oe,X as I,Y as Ce,Z as U,_ as B,a as Z,b as ue,c as ee,h as ae,i as Se,j as xe,k as De,l as Pe,p as Ie,r as Ae,s as V,t as C,y as Ee,z as He}from"./chunk-YRDPVTEI.js";import{d as Re}from"./chunk-I6VMRQF4.js";import{V as be,X as ye}from"./chunk-QAFXQHHG.js";import{K as H,L as se,M as F,P as we,o as Te}from"./chunk-G4E3WGLM.js";import{ga as te,v as he}from"./chunk-ZY32SZ2P.js";import{i as Q,l as _,m as q,n as i}from"./chunk-RCT3O3HQ.js";import{A as m}from"./chunk-X2J2P5ZT.js";import{a as d}from"./chunk-FTQLQJQV.js";var Ye=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","tasks/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","metrics/policy.json","assets/manifest.json","environment/contract.json","environment/taskset.ts","rubrics/preference-review.md","comparisons/policy.json"]);function ne(t){return Ye.has(C.parse(t))}d(ne,"isManagedTasksetDraftFilePath");function Be(t){let e=O(t.source),s=O(t.edited),o=t.preparation;if(o.authoringGraph!=="bound"||!e.modelResources||e.learningResources||s.modelResources||s.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==o.sourcePackageHash||!se(H(e.taskset),o.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let n=d(g=>g.taskset.graders.map(x=>x.kind==="custom_verifier"?{...x,exportName:x.exportName??"verify"}:x),"normalizedGraders");if(i(n(e))!==i(n(s)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let c=e.modelResources,T=new Map(c.assets.map(g=>[g.id,g])),a=J(s),k=J(e),p=d(g=>{let{id:x,revision:me,contentHash:fe,metadata:pe,...Xe}=g,{javascriptEnvironment:lt,...ve}=pe;return{...Xe,metadata:{...ve,resources:ve.resources??[]}}},"environmentContent"),u=d(g=>{if(!g)return null;let{id:x,revision:me,contentHash:fe,...pe}=g.execution.javascript;return pe},"javascriptContent"),R=i(p(e.environment))===i(p(s.environment))&&i(u(k))===i(u(a)),D=R?e.environment:s.environment,h=R?k:a,y=new Set([...c.assets.map(g=>g.id),...s.taskset.tasks.flatMap(g=>g.privilegedContextRef?[g.privilegedContextRef]:[]),...[s.environment.actionSchemaRef,s.environment.observationSchemaRef,s.environment.stateSchemaRef].flatMap(g=>g?[g.id]:[]),...a?.assets.map(g=>g.id)??[]]),j=new Set([...y,...s.taskset.tasks.flatMap(g=>[...g.artifactRefs.map(x=>x.id),...(g.requiredOutputs??[]).flatMap(x=>x.schemaRef?[x.schemaRef.id]:[])])]),A=Qe(e,s,j);for(let g of y){let x=A.find(fe=>fe.asset.id===g);if(!x)throw new Error(`Bound Taskset asset is missing: ${g}.`);let me=new TextDecoder("utf-8",{fatal:!0}).decode(K(x));T.set(g,we.parse(F({schemaVersion:"openpond.learningTextAsset.v1",id:g,revision:1,asset:x.asset,text:me})))}let S=_e(s),{contentHash:$,...w}=c.taskDefinition,{policy:W,environment:ce,environmentRelease:N,tools:r,capabilities:l,verifierSetRelease:v}=s.taskset,f=Te.parse(F({...w,instructions:S,execution:{policy:W,environment:ce,environmentRelease:N,tools:r,capabilities:l,verifierSetRelease:v}})),{contentHash:b,...P}=s.taskset,M=te.parse(F({...P,tasks:s.taskset.tasks.map(g=>c.instructionMode==="per_task"?g:{...g,policyVisibleContext:{...g.policyVisibleContext,instructions:S}})})),E=Pe({owner:o.lineage.owner,source:{...c,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:c.rewardBinding,rewards:c.rewards,assets:[...T.values()],edits:{taskset:M,taskDefinition:f,executionResources:{environment:D,verifierSet:s.verifierSet},...h?{execution:h.execution}:{}}}),G=xe.parse(E.taskset.metadata.modelTasksetDerivation);if(E.taskset.id!==o.tasksetId||E.taskset.revision!==o.tasksetRevision||i({...G,schemaVersion:o.lineage.schemaVersion})!==i(o.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:de,executionResources:le,...Je}=E;return L({schemaVersion:"openpond.tasksetPackage.v1",taskset:de,...le,modelResources:Je,files:A})}d(Be,"publishBoundModelTasksetDraftPackage");function Qe(t,e,s){let o=e.files,n=new Map(t.files.map(a=>[a.asset.id,{file:a,assetHash:i(a.asset)}])),c=d(a=>{let k=n.get(a.asset.id);return k!==void 0&&k.file.base64===a.base64&&k.assetHash===i(a.asset)},"isSourceFile"),T=t.files.filter(a=>ne(a.asset.path)).map(a=>{let k=`source-artifact-${i({packageHash:t.contentHash,assetId:a.asset.id})}`;return{original:a,asset:{...a.asset,id:k,path:`source-artifacts/${t.contentHash}/${i(a.asset.path)}/${a.asset.path.split("/").at(-1)}`}}});for(let{original:a,asset:k}of T){let p=T.filter(h=>i({...h.original.asset,id:a.asset.id})===i(a.asset)),R=e.files.find(h=>h.asset.id===k.id)??p.flatMap(h=>e.files.filter(y=>i(y.asset)===i(h.asset)))[0];if(!R||R.base64!==a.base64||!p.some(h=>i(h.asset)===i(R.asset)))throw new Error(`Retained Taskset source artifact differs from its original bytes: ${a.asset.id}.`);let D=o.filter(h=>h.asset.path===a.asset.path||h.asset.id===a.asset.id);if(D.some(h=>h.asset.path!==a.asset.path||h.asset.id!==a.asset.id&&h.asset.id!==`taskset-file-${i(a.asset.path)}`&&!c(h)))throw new Error(`Retained Taskset source artifact conflicts with an authored file: ${a.asset.id}.`);o=[...o.filter(h=>h.asset.id!==k.id&&h.asset.id!==a.asset.id&&(!D.includes(h)||c(h))),a]}for(let a of t.files.filter(k=>!o.some(p=>p.asset.id===k.asset.id))){if(a.asset.path==="environment/execution.json"){let u=ae.safeParse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(K(a))));if(u.success&&i(z(u.data))===i(a))continue}let k=o.filter(u=>u.asset.path===a.asset.path),p=d(u=>i({...u.asset,id:a.asset.id})===i(a.asset)&&u.base64===a.base64,"sameEnvelope");if(s.has(a.asset.id)||!k.length||k.some(u=>!p(u)))throw new Error(`Retained Taskset source alias differs from its original bytes: ${a.asset.id}.`);o=[...o,a]}return o}d(Qe,"retainSourceFileIdentities");function Ct(t){let e=Ae.parse(t.request),s=Ie.parse(t.owner),o=O(t.source);if(o.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(o.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(o.modelResources){let k=De({owner:s,source:{...o.modelResources,taskset:o.taskset,executionResources:{environment:o.environment,verifierSet:o.verifierSet}},rewardBinding:o.modelResources.rewardBinding,rewards:o.modelResources.rewards,assets:o.modelResources.assets}),p=k.taskset.metadata.modelTasksetDerivation;return V.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${i({owner:s,operationId:e.operationId})}`,requestHash:i(e),sourcePackageHash:o.contentHash,sourceTasksetRef:H(o.taskset),tasksetId:k.taskset.id,tasksetRevision:k.taskset.revision,lineage:{...p,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let n=He(o.taskset),c=n&&i(n.owner)===i(s),T=c?n.root:H(o.taskset),a={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:s,root:T,parent:H(o.taskset)};return V.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${i({owner:s,operationId:e.operationId})}`,requestHash:i(e),sourcePackageHash:o.contentHash,sourceTasksetRef:H(o.taskset),tasksetId:Ee(a),tasksetRevision:c?o.taskset.revision+1:1,lineage:a})}d(Ct,"prepareModelTasksetDraft");function $e(t){let e=V.parse(t.preparation);if(!se(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return Be({preparation:e,source:t.source,edited:t.edited})}let s=Ze(t.edited),{contentHash:o,...n}=s.verifierSet,c=ye({...n,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:H(s.verifierSet)}}),{contentHash:T,...a}=s.taskset,k=te.parse(F({...a,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:c.id,contentHash:c.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...s.taskset.metadata.environmentResources===void 0?{}:{environmentResources:s.taskset.metadata.environmentResources},...s.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:s.taskset.metadata.ordinaryAuthoring}}})),p=J(s),u=p?[...s.files.filter(R=>R.asset.id!==Se(s.taskset)),z({...p.execution,verifierSet:c})]:s.files;return L({schemaVersion:"openpond.tasksetPackage.v1",taskset:k,environment:s.environment,verifierSet:c,files:u})}d($e,"publishModelTasksetDraftPackage");function Ze(t){let e=O(t);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}d(Ze,"requireOrdinaryPackage");function qe(t,e,s,o){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:s,generatedFiles:[]};let n="environment/execution.json",c=e.get(n);if(!c||c.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let T=ae.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(c))),a=d(S=>{if(!S)return null;let $=s.find(w=>w.asset.id===S.id&&w.asset.path===S.path);if(!$)throw new Error(`Authored environment dependency is missing: ${S.id}.`);return $.asset},"repin"),{contentHash:k,...p}=T.javascript,u=Re.parse(F({...p,id:`javascript-${t.id}`,revision:t.revision,module:a(T.javascript.module)}));if(i(u.tools)!==i(t.environment.metadata.portableTools)||i(u.tools.map(S=>S.name))!==i(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let R=be({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:Fe(t),actionSchemaRef:a(T.environment.actionSchemaRef),observationSchemaRef:a(T.environment.observationSchemaRef),stateSchemaRef:a(T.environment.stateSchemaRef),artifactCollection:T.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:H(u),resources:t.environment.resources??[]}}),D=I.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:R}}}}),h=re({taskset:D,adapterId:o}),y=z({javascript:u,environment:R,verifierSet:h.verifierSetRelease}),j=[...s.filter(S=>S.sourcePath!==n),{asset:y.asset,sourcePath:n}],A=I.parse({...D,metadata:{...D.metadata,portableFileInventory:j}});return{taskset:I.parse({...A,contentHash:U(A)}),inventory:j,generatedFiles:[{path:n,role:"environment",content:new TextDecoder().decode(K(y))}]}}d(qe,"prepareAuthoredToolEnvironment");var ie=m.array(m.object({asset:Q,sourcePath:m.string().min(1)}).strict()).max(1e4),et=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function We(t){return et.has(t)}d(We,"isGeneratedTasksetPublicationFilePath");function Ve(t,e,s,o=je){let n=I.parse(t);for(let r of n.tasks)for(let l of r.requiredOutputs??[])if(Z(l.metadata)&&l.submissionMode!=="structured_json")throw new Error("Sampling schema requires a structured output.");if(n.metadata.taskDefinition!==void 0||n.metadata.rewardBinding!==void 0){for(let r of n.tasks)for(let l of oe(r).requiredOutputs??[]){let v=Z(l.metadata);if(!v)continue;let f=oe(r).artifactRefs.find(G=>G.id===v.schemaRef.id);if(!f||i(f)!==i(v.schemaRef)||!l.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let b=d((G,de)=>r.assets?.find(le=>le.id===G)?.artifactRef??de,"sourcePath"),P=e.get(b(l.schemaRef.id,l.schemaRef.path)),M=e.get(b(f.id,f.path));if(!P||!M)throw new Error("Sampling schema source bytes are missing.");let E=ee(P,l.schemaRef.contentHash);ue(E,v,M)}return{taskset:n,generatedFiles:[]}}let c=new Map,T=0;for(let[r,l]of e){if(C.parse(r),T+=l.byteLength,c.size>=1e4||T>o*3/4)throw new Error("Taskset source exceeds the package byte limit.");c.set(r,l.slice())}let a=n.metrics?.customAggregator,k=a?c.get(a.module):void 0;if(a&&!k)throw new Error("Declared Taskset metric module is missing.");let p=a&&k?{...n.metrics,customAggregator:{...a,contentHash:q(k)}}:n.metrics,u=new Map,R=new Set,D=[],h=d((r,l,v,f)=>{let b=c.get(l);if(!b)throw new Error(`Declared Taskset file is missing: ${l}.`);return{id:r,path:l,contentHash:q(b),sizeBytes:b.byteLength,mediaType:v,visibility:f}},"ref"),y=d((r,l=r.path)=>{let v=u.get(r.id);if(v&&i(v)!==i({asset:r,sourcePath:l}))throw new Error(`Conflicting Taskset file identity: ${r.id}.`);let f=c.get(l);if(!f||f.length!==r.sizeBytes||q(f)!==r.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${r.id}.`);u.set(r.id,{asset:r,sourcePath:l}),R.add(l)},"add");for(let r of n.tasks){let l={};for(let f of r.requiredOutputs??[])if(f.submissionMode==="structured_json"){if(!f.schemaRef||f.mediaType!=="application/json")throw new Error("Structured outputs require a JSON schemaRef and application/json.");let b=r.metadata.portableTaskRecord?.requiredOutputs?.find(E=>E.path===f.path)?.schemaRef,P=b?.id===f.schemaRef?b.path:f.schemaRef,M=h(f.schemaRef,P,"application/schema+json","policy");if(b&&b.id===f.schemaRef&&b.visibility!=="policy")throw new Error("Structured output schema must be policy-visible.");ee(c.get(P),M.contentHash),l[f.schemaRef]=M}Object.keys(l).length&&(r.metadata={...r.metadata,outputSchemaRefs:l});let v=oe(r);for(let f of v.artifactRefs)y(f,r.assets?.find(b=>b.id===f.id)?.artifactRef??f.path);for(let f of v.requiredOutputs??[])f.schemaRef&&y(f.schemaRef);for(let f of v.requiredOutputs??[]){let b=Z(f.metadata);if(!b)continue;let P=u.get(b.schemaRef.id);if(!P||i(P.asset)!==i(b.schemaRef)||!v.artifactRefs.some(E=>E.id===b.schemaRef.id)||!f.schemaRef)throw new Error("Sampling schema must match an ordinary declared policy artifact.");let M=ee(c.get(u.get(f.schemaRef.id).sourcePath),f.schemaRef.contentHash);ue(M,b,c.get(P.sourcePath))}}for(let r of n.environment.resources??[])y(h(r.id,r.path,r.mediaType??"application/octet-stream",r.visibility==="policy_visible"?"policy":"host_private"));let j=n.graders.map(r=>{if(r.kind==="custom_verifier"){let l=h(`verifier-${r.id}`,r.module,"application/javascript","host_private"),v=Q.safeParse(r.metadata.portableVerifierRef);return v.success&&v.data.contentHash===l.contentHash&&v.data.sizeBytes===l.sizeBytes&&(l=v.data),y(l,r.module),{...r,metadata:{...r.metadata,portableVerifierRef:l}}}if(r.kind==="human"||r.kind==="model_judge"){let l=new TextEncoder().encode(r.rubric),v=`graders/rubric-${q(l)}.md`;c.set(v,l);let f=h(`rubric-${r.id}`,v,"text/markdown","verifier"),b=Q.safeParse(r.metadata.portableRubricRef);if(b.success&&b.data.contentHash===f.contentHash&&b.data.sizeBytes===f.sizeBytes){if(b.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");f=b.data}return y(f,v),D.push({path:v,role:"verifier",content:r.rubric}),{...r,metadata:{...r.metadata,portableRubricRef:f}}}return r});a&&![...u.values()].some(r=>r.asset.path===a.module&&r.sourcePath===a.module&&r.asset.visibility!=="policy")&&y(h(`metric-${i(a.module)}`,a.module,"application/javascript","host_private"));let A=ie.parse(n.metadata.portableFileInventory??[]);for(let r of[...c.keys()].sort())if(!R.has(r)){let l=A.find(v=>v.sourcePath===r&&!u.has(v.asset.id));y(l?{...h(l.asset.id,r,l.asset.mediaType,l.asset.visibility),path:l.asset.path}:h(`taskset-file-${i(r)}`,r,"application/octet-stream","host_private"),r)}let{importedPackageHash:S,derivedPortableMetadata:$,...w}=n.metadata,W={...n.environment.metadata};if(W.portableExecutionResources!==void 0){let r=m.object({environment:m.unknown(),verifierSet:m.unknown().optional()}).parse(W.portableExecutionResources);W.portableExecutionResources={environment:r.environment}}let ce=I.parse({...n,graders:j,metrics:p,environment:{...n.environment,metadata:W},metadata:{...w,...S===void 0?{}:{sourceImportedPackageHash:S},portableFileInventory:ie.parse([...u.values()].sort((r,l)=>r.asset.id.localeCompare(l.asset.id)))}}),N=qe(ce,c,[...u.values()],s);return{taskset:I.parse({...N.taskset,contentHash:U(N.taskset)}),generatedFiles:[...D,...N.generatedFiles]}}d(Ve,"prepareAuthoredTasksetSource");var X=class extends Error{static{d(this,"TasksetDraftPublishError")}issues;constructor(e){super(e.map(s=>s.message).join(`
3
- `)),this.name="TasksetDraftPublishError",this.issues=e}};function ds(t){let e=t.now??new Date().toISOString(),s=t.id?.trim()||`taskset-draft-${globalThis.crypto.randomUUID()}`;return B.parse({schemaVersion:"openpond.tasksetDraft.v1",id:s,revision:1,profileId:t.profileId,modelScope:t.modelScope??null,name:t.name?.trim()??"",objective:"",purpose:"general",benchmark:null,preferenceComparison:null,status:"draft",sourceRefs:[],datasetArtifact:null,policy:{policyVisibleFields:["input"],privilegedFields:["expectedOutput"],hiddenGraderRefs:[],connectedAppScopes:[]},environment:{protocolVersion:"openpond.taskEnvironment.v1",kind:"chat",entrypoint:"openpond-chat-v1",stateful:!1,deterministicSeeds:!0,toolNames:[],lifecycle:["create","reset","step","grade","cleanup"],defaultTimeoutMs:12e4,networkPolicy:"none",resources:[],metadata:{}},output:{mode:"text",jsonSchema:null,renderer:null},capabilities:{schemaVersion:"openpond.tasksetCapabilities.v1",taskKind:"chat",supportedSignals:["demonstration","preference","correction","feedback","reward","label"],compatibleMethods:["none"],rewardKinds:["none"],requiresTools:!1,requiresState:!1,requiresPrivilegedGrading:!0,environmentPlacements:["local","remote","colocated"],exportable:!0,portabilityBlockers:[]},metrics:{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"score",aggregation:"mean_score",missingReward:"zero",customAggregator:null},review:{enabled:!1,candidateCount:2,minimumSamples:100,allowTies:!0,allowRejectAll:!0,rubric:"",criteria:[]},tasks:[],graders:[],graderFixtures:[],learningSignals:{demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},publishedTasksetRef:null,createdAt:e,updatedAt:e,metadata:{}})}d(ds,"createTasksetDraft");function ze(t){let e=[];t.name.trim()||e.push({code:"name_missing",message:"Name is required.",path:"name"}),t.objective.trim()||e.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!t.datasetArtifact&&t.tasks.length===0&&e.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"});let s=new Set(t.sourceRefs.map(o=>o.id));for(let o of t.tasks)for(let n of o.sourceRefs)s.has(n)||e.push({code:"task_source_missing",message:`Task ${o.id} references missing source ${n}.`,path:`tasks.${o.id}.sourceRefs`});return e}d(ze,"draftPublishIssues");function Oe(t){let e=B.parse(t.draft),s=t.now??new Date().toISOString(),o=ze(e);if(o.length)throw new X(o);let n=e.modelScope?.source;if(n&&t.tasksetId&&t.tasksetId!==n.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let c=n?.tasksetId||t.tasksetId?.trim()||e.publishedTasksetRef?.id||e.id.replace(/-draft$/,""),T=n?.tasksetRevision??(e.publishedTasksetRef?.id===c?e.publishedTasksetRef.revision+1:1),a=e.sourceRefs.length?e.sourceRefs:[tt(e,c,s)],k=a[0].id,p=e.tasks.map(w=>Me.parse({...w,sourceRefs:w.sourceRefs.length?w.sourceRefs:[k],metadata:{exampleOrigin:"expert_authored",...w.metadata}})),u=e.capabilities.compatibleMethods.find(w=>w!=="none"&&w!=="retrieval")??null,R=st(e),D=e.graders.filter(w=>w.rewardEligible&&w.weight>0&&w.kind!=="human"),h=u===null&&R==="verifiable_reward"&&D.length>0,y=u??(h?"grpo":null),j=I.parse({schemaVersion:"openpond.taskset.v1",id:c,revision:T,profileId:e.profileId,profileRelease:null,createImproveRunId:null,name:e.name,objective:e.objective,purpose:e.purpose,benchmark:e.benchmark,preferenceComparison:e.preferenceComparison,status:"needs_review",sourceRefs:a,datasetArtifact:e.datasetArtifact??null,policy:e.policy,environment:e.environment,capabilities:h?{...e.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(D.map(w=>w.kind==="model_judge"?"model_judge":"deterministic"))]}:e.capabilities,metrics:e.metrics,tasks:p,graders:e.graders,graderFixtures:e.graderFixtures,learningSignals:e.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:i("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:R,buildSpecification:null,evidenceHashes:a.map(w=>w.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:s},readiness:null,contentHash:"00000000",createdAt:T===1?e.createdAt:s,updatedAt:s,metadata:{...e.metadata,...n?{modelTasksetAuthoring:n.lineage}:{},tasksetReviewPolicy:e.review,tasksetOutputContract:e.output,...t.sourcePackageHash?{sourcePackageHash:t.sourcePackageHash}:{},...y?{trainingMethod:y}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:e.objective,stableBehavior:[e.objective],changingKnowledge:[],requiredContext:[],requiredTools:e.environment.toolNames,intervention:y==="dpo"?"preference":y==="grpo"||y==="ppo"?"grpo_rft":y==="sft"?"sft":"no_training",trainingEligible:y!==null,rationale:y?[`The author selected ${y.toUpperCase()} compatibility.`]:["The Taskset is currently configured for evaluation only."],confidence:1}}}),A=I.parse({...j,contentHash:U(j)}),$=Ce(A,{purpose:"publication"}).issues.filter(w=>w.severity==="error");if($.length)throw new X($.map(w=>({code:w.code,message:w.message,path:w.path})));return A}d(Oe,"publishTasksetDraft");function tt(t,e,s){let o=i({draftId:t.id,draftRevision:t.revision,tasks:t.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${e}`,profileId:t.profileId,title:`${t.name} manual authoring`,sourceHash:o,occurredAt:s,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:o,metadata:{draftId:t.id,draftRevision:t.revision}}}d(tt,"generatedDraftSource");function st(t){return t.metadata.buildIntent==="discovery"||!t.graders.length&&!t.learningSignals.preferences.length&&!t.learningSignals.rewards.length&&!t.learningSignals.labels.length?"discovery":t.learningSignals.preferences.length?"preferences":t.learningSignals.rewards.length?"verifiable_reward":t.learningSignals.labels.length?"rubric":!t.capabilities.compatibleMethods.some(e=>e!=="none"&&e!=="retrieval")&&t.graders.some(e=>e.rewardEligible&&e.weight>0&&e.kind!=="human")?"verifiable_reward":"demonstrations"}d(st,"buildIntentForDraft");function Rs(t){let e=[];t.output.renderer&&e.push({relativePath:t.output.renderer.module,source:`export async function ${t.output.renderer.exportName}(output: unknown) {
4
- // Return artifact paths or bytes derived from the model's structured output.
5
- return output;
6
- }
7
- `});for(let s of t.graders)s.kind==="custom_verifier"&&e.push({relativePath:s.module,source:`export async function ${s.exportName}(input: { output: unknown; task: unknown }) {
8
- return { passed: false, score: 0, feedback: "Implement this verifier." };
9
- }
10
- `});t.metrics.customAggregator&&e.push({relativePath:t.metrics.customAggregator.module,source:`export function ${t.metrics.customAggregator.exportName}(scores: number[]) {
11
- return scores.length ? scores.reduce((sum, score) => sum + score, 0) / scores.length : 0;
12
- }
13
- `});for(let s of e)C.parse(s.relativePath);return e}d(Rs,"configuredTasksetDraftFiles");function Le(t){let e=B.parse(t);return new Map([["taskset.json",_(e)],["tasks/tasks.jsonl",rt(e.tasks)],["graders/graders.json",_(e.graders)],["fixtures/grader-fixtures.json",_(e.graderFixtures)],["metrics/policy.json",_(e.metrics)],["assets/manifest.json",_(e.tasks.flatMap(s=>s.assets??[]))],["environment/contract.json",_(e.environment)],["rubrics/preference-review.md",at(e)],["comparisons/policy.json",_(e.review)]])}d(Le,"renderTasksetDraftManifests");function at(t){let e=t.review.criteria.length?`
14
-
15
- ## Criteria
16
-
17
- ${t.review.criteria.map(s=>`- **${s.label}** (${s.weight}): ${s.description}`).join(`
18
- `)}`:"";return`# Preference review rubric
19
-
20
- ${t.review.rubric}${e}
21
- `}d(at,"rubricMarkdown");function rt(t){return t.length?`${t.map(e=>JSON.stringify(e)).join(`
22
- `)}
23
- `:""}d(rt,"jsonLines");var Ue=64*1024*1024,Ne=m.string().regex(/^[a-f0-9]{64}$/),Ge=m.object({path:C,contentHash:Ne,sizeBytes:m.number().int().nonnegative(),base64:m.string()}).strict(),Ke=m.object({schemaVersion:m.literal("openpond.tasksetDraftWorkspace.v1"),draft:B,files:m.array(Ge).max(1e4)}).strict(),ot=Ke.extend({contentHash:Ne}).strict();function Cs(t,e=Ue){he(t,e);let s=Ke.parse(t);return s.files.sort((o,n)=>o.path<n.path?-1:o.path>n.path?1:0),ke({...s,contentHash:i(s)},e)}d(Cs,"createTasksetDraftWorkspace");function ke(t,e=Ue){he(t,e);let s=ot.parse(t),{contentHash:o,...n}=s;if(i(n)!==o)throw new Error("Taskset draft workspace differs from its retained bytes.");let c=null,T=new Set;for(let a of s.files){if(ne(a.path))throw new Error("Managed Taskset files are represented by the draft document.");if(c!==null&&c>=a.path)throw new Error("Taskset draft file paths must be unique and sorted.");let k=a.path.split("/");for(let p=1;p<k.length;p++)if(T.has(k.slice(0,p).join("/")))throw new Error("A Taskset draft file occupies another file's directory.");ge(a),T.add(a.path),c=a.path}return s}d(ke,"validateTasksetDraftWorkspace");function ge(t){let e=Ge.parse(t),s;try{s=atob(e.base64)}catch{throw new Error("Taskset draft file contains invalid base64.")}if(btoa(s)!==e.base64)throw new Error("Taskset draft file contains noncanonical base64.");let o=new Uint8Array(s.length);for(let n=0;n<s.length;n++)o[n]=s.charCodeAt(n);if(o.byteLength!==e.sizeBytes||q(o)!==e.contentHash)throw new Error("Taskset draft file differs from its retained bytes.");return o}d(ge,"decodeTasksetDraftWorkspaceFile");function nt(t){let e=ke(t.workspace,t.maximumBytes),s=t.preparation===null?null:V.parse(t.preparation);if(s?e.draft.id!==s.draftId||e.draft.modelScope?.modelId!==s.lineage.owner.modelId||e.draft.profileId!==s.lineage.owner.scopeId||i(e.draft.modelScope?.source??null)!==i(s):e.draft.modelScope?.source!==void 0)throw new Error("Taskset draft differs from its retained source preparation.");let o=Oe({draft:e.draft,now:e.draft.updatedAt,sourcePackageHash:t.sourceWorkspaceHash??e.contentHash}),n=new Map(e.files.map(p=>[p.path,ge(p)]));for(let[p,u]of Le(e.draft))We(p)||n.set(p,new TextEncoder().encode(u));let c=Ve(o,n,t.adapterId,t.maximumBytes);for(let p of c.generatedFiles)n.set(p.path,new TextEncoder().encode(p.content));let T=re({taskset:c.taskset,adapterId:t.adapterId}),a=ie.parse(c.taskset.metadata.portableFileInventory),k=L({schemaVersion:"openpond.tasksetPackage.v1",taskset:T.tasksetRelease,environment:T.environmentRelease,verifierSet:T.verifierSetRelease,files:a.map(p=>{let u=n.get(p.sourcePath);if(!u)throw new Error(`Captured Taskset file is missing: ${p.sourcePath}.`);return{asset:p.asset,base64:Buffer.from(u).toString("base64")}})},t.maximumBytes);return s?$e({preparation:s,edited:k,source:t.source}):k}d(nt,"compileTasksetDraftWorkspace");function Ks(t){if(!t.workspace.draft.modelScope)throw new Error("Taskset draft requires a Model owner.");return nt(t)}d(Ks,"compileModelTasksetDraftWorkspace");var Y=m.string().trim().min(1).max(500),it=m.string().regex(/^[a-f0-9]{64}$/),ct=m.object({id:Y,revision:m.number().int().positive(),contentHash:it}).strict(),dt=m.object({schemaVersion:m.literal("openpond.hostedTasksetSummary.v1"),id:Y,teamId:Y,release:ct,name:m.string().min(1).max(500),description:m.string().max(2e4),taskCount:m.number().int().nonnegative(),buildIntent:m.string().min(1).max(100),methodHint:m.string().min(1).max(100).nullable(),packageBytes:m.number().int().nonnegative().nullable(),storedBytes:m.number().int().nonnegative().nullable(),createdAt:m.string().datetime({offset:!0})}).strict(),Qs=m.object({afterId:m.string().trim().min(1).max(2e3).optional(),limit:m.number().int().min(1).max(100).default(30),modelProjectId:Y.optional(),projectId:Y.optional(),search:m.string().trim().max(100).optional(),sort:m.enum(["id","name","updated"]).default("id")}).strict(),Zs=m.object({items:m.array(dt).max(100),nextCursor:m.string().trim().min(1).max(2e3).nullable()}).strict(),ea=m.object({code:m.string().min(1),message:m.string().min(1)}).strict();export{ds as a,ne as b,Rs as c,ot as d,Cs as e,ke as f,ge as g,ct as h,Ct as i,$e as j,ie as k,We as l,Ve as m,nt as n,Ks as o};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{hb as _,kb as C}from"./chunk-WLZJOCLA.js";import{f as R,m}from"./chunk-HIQPGYVH.js";import{Sa as A}from"./chunk-ZY32SZ2P.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as l}from"./chunk-FTQLQJQV.js";var u=e.string().trim().min(1).max(200),P=e.object({operationId:u,execution:R,executionKind:e.literal("recorded_evidence").optional(),graders:e.array(A).min(1).max(100),maximumCostUsd:e.number().finite().min(1e-6).max(1e4),mappings:e.array(e.object({graderId:u,fields:_}).strict()).max(100).optional()}).strict().superRefine((a,n)=>{new Set(a.graders.map(o=>o.id)).size!==a.graders.length&&n.addIssue({code:"custom",path:["graders"],message:"Select each grader once."}),a.mappings&&(new Set(a.mappings.map(o=>o.graderId)).size!==a.mappings.length||a.mappings.some(o=>!a.graders.some(c=>c.id===o.graderId)))&&n.addIssue({code:"custom",path:["mappings"],message:"Map each selected grader at most once."})}),q=e.object({schemaVersion:e.literal("openpond.experimentScoringPass.v1"),id:u,teamId:u,revision:e.number().int().positive(),request:P,graders:e.array(C).min(1).max(100),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),totalCount:e.number().int().min(1).max(1e4),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),scored:e.number().int().nonnegative(),unavailable:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),resultAvailable:e.boolean(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),error:e.object({code:u,message:e.string().max(2e3)}).strict().nullable()}).strict(),L=q.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)});function O(a){let n=L.parse(a),{contentHash:o,...c}=n;if(m(c)!==o||Object.values(n.counts).reduce((r,d)=>r+d,0)!==n.totalCount)throw new Error("Scoring pass integrity or population accounting failed.");let t=["completed","failed","cancelled"].includes(n.status);if(t&&(!n.completedAt||n.counts.pending||n.counts.running)||!t&&(n.completedAt!==null||n.resultAvailable)||n.status==="completed"&&!n.resultAvailable)throw new Error("Scoring pass lifecycle differs from its retained result.");if(n.graders.length!==n.request.graders.length||new Set(n.graders.map(r=>r.feedbackKey)).size!==n.graders.length||n.graders.some((r,d)=>m(r.release)!==m(n.request.graders[d])||m(r.mappings??[])!==m(n.request.mappings?.find(f=>f.graderId===r.release?.id)?.fields??[])))throw new Error("Scoring pass graders differ from their exact admission.");return n}l(O,"verifyExperimentScoringPass");var I=8388608;async function B(a,n,o,c){let t=new AbortController,r=o.signal,d=l(()=>t.abort(r?.reason),"forward");r?.aborted?d():r?.addEventListener("abort",d,{once:!0});let f=setTimeout(()=>t.abort(new Error("Connected evidence request timed out.")),6e4),s,h=l(()=>{s&&s.cancel(t.signal.reason).catch(()=>{})},"abortReader");t.signal.addEventListener("abort",h,{once:!0});let v=new Promise((w,g)=>{let p=l(()=>g(t.signal.reason??new DOMException("Request aborted","AbortError")),"abort");t.signal.aborted?p():t.signal.addEventListener("abort",p,{once:!0})});try{let w=a(n,{...o,signal:t.signal}).then(i=>{if(t.signal.aborted)throw i.body?.cancel(t.signal.reason).catch(()=>{}),t.signal.reason;return i}),g=await Promise.race([w,v]),p=g.headers.get("content-length");if(s=g.body?.getReader(),t.signal.aborted)throw await s?.cancel(t.signal.reason),t.signal.reason;if(p&&Number(p)>I)throw await s?.cancel(),c(502,"connected_response_too_large","Connected evidence response exceeds 8 MiB.");let x=[],b=0;if(s)for(;;){let i=await Promise.race([s.read(),v]);if(i.done)break;if(b+=i.value.byteLength,b>I)throw await s.cancel(),c(502,"connected_response_too_large","Connected evidence response exceeds 8 MiB.");x.push(i.value)}let S=new Uint8Array(b),E=0;for(let i of x)S.set(i,E),E+=i.byteLength;let y;try{y=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(S))}catch{throw c(502,"connected_response_invalid","Connected evidence response is not valid JSON.")}return{response:g,value:y}}finally{clearTimeout(f),r?.removeEventListener("abort",d),t.signal.removeEventListener("abort",h),s?.releaseLock()}}l(B,"fetchConnectedJson");export{P as a,O as b,B as c};
@@ -1,2 +0,0 @@
1
- import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as Je}from"./chunk-IEVJLG3V.js";import{a as F,e as $,f as Ye,h as Ue}from"./chunk-OW3EOC5Q.js";import{b as ie}from"./chunk-EICS777E.js";import{a as $e}from"./chunk-FEAKTSRS.js";import{a as Ge}from"./chunk-TPOAAJKA.js";import{f as Fe,h as R}from"./chunk-3MVKXAH7.js";import{a as Me}from"./chunk-LARJARMS.js";import{b as We}from"./chunk-67HXM6AL.js";import{d as ze}from"./chunk-ANG2YMMD.js";import{b as O,c as W}from"./chunk-6TRVEA3T.js";import{d as X}from"./chunk-LYVHYT3L.js";import{a as Oe}from"./chunk-VFH5C6D2.js";import{d as je,e as Ne}from"./chunk-XHBMK6LC.js";import{m as Be}from"./chunk-ZU3YBRXS.js";import{u as ye}from"./chunk-4TTXNVCE.js";import{I as Q,mc as Ve,qc as qe,v as Ae}from"./chunk-MVPKU72J.js";import{i as Le,j as Ce}from"./chunk-7PKTCMZ6.js";import{i as _e}from"./chunk-5KJMFK65.js";import{t as U,x as K,y as be}from"./chunk-Y3B6ZUE6.js";import{f as Te}from"./chunk-OKEC2EIE.js";import{Ca as Se,Oa as De,_a as He,aa as q,ba as Y,ha as Ie,i as J,ia as Pe,ja as L,oa as N,za as Ee}from"./chunk-WLZJOCLA.js";import{rb as xe,sb as Re,ub as z}from"./chunk-QAFXQHHG.js";import{R as we,ca as ve,d as ke}from"./chunk-G4E3WGLM.js";import{Ia as ue,Oa as me,bb as he,e as ne,ja as ce,kb as ge,oa as le,pa as M,qa as de,ra as pe,xa as fe}from"./chunk-ZY32SZ2P.js";import{r as se}from"./chunk-OTDDXEQ6.js";import{a as re,f as oe}from"./chunk-HNQPEOJD.js";import{c as b,d as _,e as ae,m as V,n as f}from"./chunk-RCT3O3HQ.js";import{A as x}from"./chunk-X2J2P5ZT.js";import{a as h}from"./chunk-FTQLQJQV.js";import{promises as it}from"node:fs";import nt from"node:path";async function _t(e){let o=e.definition.tasksetRelease,c=await je(e.store,e.harnessRelease);if(!c)throw new Error("Evaluation Profile Harness release is unavailable.");let a=await lt({...e,runtime:c});if(a)return a;let s=await e.store.listTasksetRevisions(e.profileId);for(let i of s){if(o.id!==i.id&&o.id!==`taskset-release-${i.id}-r${i.revision}`)continue;let r=await ct(e.storeDir,i);if(r.taskset.id===o.id&&r.taskset.contentHash===o.contentHash)return r}throw new Error(`Released Taskset ${o.id} is unavailable in Profile ${e.profileId}.`)}h(_t,"loadLocalProfileEvaluationTaskset");async function ct(e,o){let c=o.metadata.importedPackageHash;if(typeof c=="string"){let i=await W(e,c);if(i.taskset.id!==o.id||i.taskset.revision!==o.revision)throw new Error("Imported evaluation Taskset differs from its local Profile revision.");return i}if(Se(o)!==o.contentHash)throw new Error("Authored evaluation Taskset differs from its immutable revision.");let a=De({taskset:o,adapterId:ze(o)}),s=await We({storeDir:e,taskset:o,content:{schemaVersion:"openpond.tasksetPackage.v1",taskset:a.tasksetRelease,environment:a.environmentRelease,verifierSet:a.verifierSetRelease}});return await O(e,s),s}h(ct,"loadCandidate");async function lt(e){let o=e.definition.tasksetRelease,c=e.runtime;if(c.release.harnessRelease.id!==e.harnessRelease.id||c.release.harnessRelease.contentHash!==e.harnessRelease.contentHash)throw new Error("Evaluation Taskset runtime differs from its requested release.");let a=`evals/tasksets/${o.contentHash}.json`,s=c.release.harnessRelease.files.find(i=>i.path===a);if(s){if(s.visibility!=="verifier")throw new Error("Evaluation Taskset package is not verifier-private.");let i=await it.readFile(nt.join(c.release.bundlePath,"source",...a.split("/")));if(V(i)!==s.contentHash)throw new Error("Released evaluation Taskset package bytes differ from their source receipt.");let r=L(JSON.parse(i.toString("utf8")));if(r.taskset.id!==o.id||r.taskset.contentHash!==o.contentHash)throw new Error("Released evaluation Taskset package differs from its definition.");return r}return null}h(lt,"loadReleasedProfileEvaluationTaskset");function Z(e){return{id:pe(e),label:"Selected Dataset evaluation",description:"Explicit sealed external Dataset evaluation recipe.",target:e.target,tasksetRelease:{id:e.dataset.id,contentHash:e.dataset.contentHash},split:e.split,taskIds:[...new Set(e.population.map(o=>o.taskId))],seeds:[...new Set(e.population.map(o=>o.seed))],criterion:e.criterion}}h(Z,"externalProfileEvaluationDefinition");async function Bt(e){let o=e.manifest.profileEvaluation,c=o?.externalDatasetBinding?M(o.externalDatasetBinding):null;if(!c)return null;if(!e.resolveExternalDataset)throw new Error("This owner has no authorized external Dataset resolver.");let a=await e.resolveExternalDataset(c,e.selected);await a.authorize();let s=L(a.packageValue),i=await e.loadCatalog({ref:e.selected.profileRef,sourceRevision:e.selected.sourceRevision,harnessRelease:e.selected.harnessRelease});if(f(a.binding)!==f(c)||c.profileId!==e.selected.profileRef.profileId||c.declaredProfileCatalogHash!==i.catalogHash||s.contentHash!==c.packageHash||f(s.taskset)!==f(e.taskset)||c.environmentHash!==f(s.taskset.environment)||c.privateDatasetClosureHash!==f(s.files.filter(t=>t.asset.visibility!=="policy").map(t=>t.asset)))throw new Error("External Dataset admission changed its actual Profile, package or private closure.");let r=Z(c),u={schemaVersion:"openpond.profileEvaluations.v1",definitions:[r],suites:[]};if(z(e.manifest,e.taskset,u),!o||o.catalogHash!==f(u)||o.definitionHash!==f(r)||f(o.target)!==f(c.target))throw new Error("External Dataset manifest changed its derived definition.");return await a.authorize(),{...a,packageValue:s,definition:r,catalog:u}}h(Bt,"admitProfileExternalDataset");import vt from"node:path";function Ke(e,o){return e.map(c=>{let a=c.workspace.draft,s=a.metadata.profileTarget,i=s&&typeof s=="object"&&!Array.isArray(s)?s:{},r=typeof i.profileId=="string"?{profileId:i.profileId,workflowId:typeof i.workflowId=="string"?i.workflowId:null}:null,u=c.checks.find(t=>t.kind==="graders"&&t.workspaceHash===c.workspace.contentHash);return{summary:{...o(c),rows:[]},projectId:c.projectId,profileTarget:r,updatedAt:a.updatedAt,workspaceHash:c.workspace.contentHash,packageHash:c.packageHash,graders:a.graders.map(t=>{let p=u?.scopes?.find(l=>l.graderId===t.id),g=t.metadata.portableVerifierRef;return{id:`grader-${f([a.id,t.id]).slice(0,40)}`,graderId:t.id,name:t.label,kind:t.kind,version:t.version,configurationHash:f(t),weight:t.weight,hardGate:t.hardGate,rewardEligible:t.rewardEligible,privileged:t.privileged,checkState:p?`${p.checked}/${p.total} ${p.status}`:u?u.status:"Not checked",verifierPath:g&&typeof g=="object"&&"path"in g&&typeof g.path=="string"?g.path:null,fields:Array.isArray(a.metadata.fields)?a.metadata.fields.filter(l=>typeof l=="string"):[]}})}})}h(Ke,"localLearningCatalog");function B(e){let o=e.workspace.draft,c=e.checks.find(a=>a.kind==="graders");return o.graders.map(a=>{let s=c?.scopes?.find(u=>u.graderId===a.id),i=c&&c.workspaceHash!==e.workspace.contentHash?"Checks stale":s?.status??"Not tested",r=o.graderFixtures.filter(u=>!Array.isArray(u.metadata.graderIds)||u.metadata.graderIds.includes(a.id));return{kind:"grader",id:`grader-${f([o.id,a.id]).slice(0,40)}`,revision:o.revision,name:a.label,datasetId:o.id,datasetRevision:o.revision,graderId:a.id,graderType:a.kind,state:i,description:a.kind==="content"&&typeof a.config.operator=="string"?a.config.operator:`${a.kind} grader \xB7 ${a.version}`,checkState:s?`${s.checked}/${s.total} examples checked \xB7 ${i}`:i,rows:r.slice(0,3).map(u=>({id:u.id,label:u.label,detail:JSON.stringify(u.output)}))}})}h(B,"localGraderSummaries");function Xe(e,o,c){let{offset:a,limit:s}=x.object({offset:x.number().int().nonnegative().default(0),limit:x.number().int().min(1).max(100).default(20)}).parse(c),i=e.workspace.draft,r=i.graders.find(g=>g.id===o.graderId),u=i.graderFixtures.filter(g=>!Array.isArray(g.metadata.graderIds)||g.metadata.graderIds.includes(r.id)),t=r.kind==="custom_verifier"?e.workspace.files.find(g=>g.path===r.module):null,p=t?Buffer.from(t.base64,"base64").toString("utf8"):null;return{summary:o,dataset:{id:i.id,revision:i.revision,name:i.name,workspaceHash:e.workspace.contentHash},grader:r,taskCount:i.tasks.length,fixtures:{total:u.length,offset:a,items:u.slice(a,a+s),hasMore:a+s<u.length},files:t?[{path:t.path,contentHash:t.contentHash,sizeBytes:t.sizeBytes,content:p.slice(0,24e3),truncated:p.length>24e3}]:[]}}h(Xe,"localGraderInspection");async function Qe(e,o,c,a){let s=a?e.checks.find(l=>l.kind==="graders"&&l.revision===e.workspace.draft.revision&&l.workspaceHash===e.workspace.contentHash):void 0,i=s?.scopes?.filter(l=>l.graderId!==a&&o.taskset.graders.some(d=>d.id===l.graderId))??[],r=s?.issues.filter(l=>l.graderId&&i.some(d=>d.graderId===l.graderId))??[],u=e.workspace.draft.graderFixtures,t=i.reduce((l,d)=>l+d.checked,0),p=i.reduce((l,d)=>l+d.total,0),g=[...i];for(let l of o.taskset.graders){let d=u.filter(n=>!Array.isArray(n.metadata.graderIds)||n.metadata.graderIds.includes(l.id));if(a&&l.id!==a){i.some(n=>n.graderId===l.id)||(p+=d.length,g.push({graderId:l.id,checked:0,total:d.length,status:"unavailable"}),r.push({code:"grader_not_checked",message:"This grader has not been checked at the saved revision.",graderId:l.id}));continue}let k=t,I=r.length;p+=d.length,(!d.some(n=>n.label==="positive")||!d.some(n=>n.label==="negative"))&&r.push({code:"examples_missing",message:"Add known-good and known-bad examples before claiming qualification.",graderId:l.id});for(let n of d){c?.throwIfAborted();let P=o.taskset.tasks.find(w=>w.id===n.taskId);if(!P){r.push({code:"fixture_task_missing",message:`Example ${n.id} references a missing task.`,graderId:l.id,taskId:n.taskId});continue}try{let w=Ye(o,n),v={output:n.output,runtimeEventRefs:[],artifactRefs:w.map(E=>E.reference.id),artifacts:w,infrastructureError:n.infrastructureError},[S]=await ue({task:P,graders:[l],purpose:"fixture_calibration",signal:c,evidence:v,customVerifier:h(async({grader:E,task:D,evidence:H})=>{let C=o.files.find(y=>y.asset.id===E.verifierRef.id);if(!C||f(C.asset)!==f(E.verifierRef))throw new Error("The exact verifier source is missing.");let T=E.runtime==="sandbox_process"?await F({packageValue:o,grader:E,task:D,evidence:{...H,artifacts:w},signal:c,authorize:h(async()=>{c?.throwIfAborted()},"authorize")}):await $({source:new TextDecoder("utf-8",{fatal:!0}).decode(q(C)),exportName:E.exportName,runtime:E.runtime,timeoutMs:E.timeoutMs,signal:c,value:{task:D,attempt:H,input:D.input,expectedOutput:D.expectedOutput,output:H.output,artifacts:w,infrastructureError:n.infrastructureError}});return{score:T.score,passed:T.passed,rewardEligible:E.rewardEligible,failureClass:null,feedback:[T.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:T.evidenceRefs}},"customVerifier")});!S||S.score===null&&!n.infrastructureError||S.status==="pending"?r.push({code:"grader_unavailable",message:S?.feedback.join(" ")??"The grader returned no evidence.",graderId:l.id,taskId:P.id}):(t++,(S.passed!==n.expectedPassed||S.rewardEligible!==n.expectedRewardEligible)&&r.push({code:"example_mismatch",message:`Example ${n.id} did not match its expected pass/reward outcome. ${S.feedback.join(" ").slice(0,2e3)}`,graderId:l.id,taskId:P.id}))}catch(w){r.push({code:"grader_unavailable",message:w instanceof Error?w.message:"Example check failed.",graderId:l.id,taskId:P.id})}}let m=r.slice(I);g.push({graderId:l.id,checked:t-k,total:d.length,status:m.some(n=>n.code==="example_mismatch")?"failed":m.length?"unavailable":"passed"})}return o.taskset.graders.length||r.push({code:"graders_missing",message:"No graders are configured."}),{kind:"graders",revision:e.workspace.draft.revision,workspaceHash:e.workspace.contentHash,status:r.some(l=>l.code==="example_mismatch")?"failed":r.length?"unavailable":"passed",checked:t,total:p,scopes:g,issues:r,checkedAt:new Date().toISOString()}}h(Qe,"checkLocalDatasetGraders");var dt=new Set(["unknown","other"]);function Ze(e,o){return o?"approved":!e||dt.has(e.toLowerCase())?"review":"approved"}h(Ze,"approvedLicenseStatus");function pt(e,o){if(e.schemaVersion!=="openpond.huggingFaceDatasetSource.v1")throw new Error("Selected source checks require a captured Hugging Face sample.");let c=V(o);if(e.metadata.capturedSourceHash!==c||!e.sourceFileHashes.includes(c))throw new Error("The captured source bytes do not match their retained hash.");let a=new TextDecoder("utf-8",{fatal:!0}).decode(o),s=Te(a);return{...e,secretScanStatus:s.secretStatus,piiScanStatus:s.piiStatus,licensingStatus:Ze(e.declaredLicense,!1),metadata:{...e.metadata,privacyScanner:"openpond-evidence-v1",findings:s.findings,checkedSourceHash:c}}}h(pt,"checkCapturedHuggingFaceSource");function et(e){let o=0,c=e.draft.sourceRefs.map(a=>{if(a.schemaVersion!=="openpond.huggingFaceDatasetSource.v1"||typeof a.metadata.capturedSourcePath!="string")return a;let s=e.files.find(r=>r.path===a.metadata.capturedSourcePath);if(!s)throw new Error("The captured source file is missing.");let i=Buffer.from(s.base64,"base64");if(V(i)!==s.contentHash||i.byteLength!==s.sizeBytes)throw new Error("The captured source file failed integrity verification.");return o++,pt(a,i)});if(!o)throw new Error("This Dataset has no captured Hugging Face samples to check.");return c}h(et,"checkCapturedDatasetSources");function A(e){let{draft:o}=e.workspace,c=e.checks.filter(a=>a.workspaceHash===e.workspace.contentHash);return{kind:"dataset",id:o.id,revision:o.revision,name:o.name||"Untitled dataset",state:e.packageHash?"Runnable":"Saved draft",evaluationHash:e.workspace.contentHash,taskCount:o.datasetArtifact?.rowCount??o.tasks.length,graderCount:o.graders.length,checkState:c.length?c.map(a=>`${a.kind}: ${a.status} (${a.checked}/${a.total})`).join(" \xB7 "):e.checks.length?"Checks stale":"Not checked",syncState:e.sync?e.sync.paused?"Paused":e.sync.acknowledgedHash===e.workspace.contentHash&&e.sync.status==="synced"?"Synced":e.sync.status==="synced"?"Sync pending":e.sync.status:"Local",rows:o.tasks.slice(0,3).map(a=>({id:a.id,label:typeof a.input.prompt=="string"?a.input.prompt:JSON.stringify(a.input),detail:o.graders.map(s=>s.label).join(", ")}))}}h(A,"localDatasetSummary");function tt(e){async function o(r,u){let t=await e.store.readLocalDataset(r,u);if(!t||t.ownerId!==await e.store.localResourceOwnerId())throw new Error("Local Dataset was not found.");return t}h(o,"read");async function c(r,u){let t=await e.store.readLocalDatasetListing(r,u);if(!t||t.ownerId!==await e.store.localResourceOwnerId())throw new Error("Local Dataset was not found.");return t}h(c,"readListing");function a(r,u,t=r.workspace.contentHash){return _e({workspace:u?Me(r.workspace,u):r.workspace,sourceWorkspaceHash:t,maximumBytes:Number.POSITIVE_INFINITY,preparation:null,adapterId:"openpond-desktop-taskset-authoring-v1",now:r.workspace.draft.updatedAt})}h(a,"compile");async function s(r,u,t){if(t){let d=await e.store.readLocalDatasetProjection(r,t,{revision:u});if(!d||d.record.ownerId!==await e.store.localResourceOwnerId())throw new Error("Local Dataset was not found.");let k=a(d.record,void 0,d.sourceWorkspaceHash);return await O(e.home,k,Number.POSITIVE_INFINITY),{record:d.record,package:k}}let p=await o(r,u),g=a(p,t);await O(e.home,g,Number.POSITIVE_INFINITY);let l=await o(r);if(!t&&l.workspace.contentHash===p.workspace.contentHash&&l.packageHash!==g.contentHash)try{p=await e.store.updateLocalDatasetMetadata(r,f(l),d=>({...d,packageHash:g.contentHash}))}catch(d){if(!(d instanceof Error)||!d.message.startsWith("Dataset state changed."))throw d}return{record:p,package:g}}h(s,"packageDataset");async function i(r,u){let t=qe.parse(r),p=await e.store.localResourceOwnerId();if(t.action==="schema"){let m=x.enum(["task","grader","fixture","draft","file"]).parse(t.payload.kind??"task"),n=m==="task"?N.shape.tasks.unwrap().element:m==="grader"?N.shape.graders.unwrap().element:m==="fixture"?N.shape.graderFixtures.unwrap().element:m==="file"?J:N;return{kind:m,schema:x.toJSONSchema(n),...m==="grader"?{example:{id:"exact-answer",version:"1",label:"Exact answer",kind:"content",weight:1,hardGate:!0,rewardEligible:!1,privileged:!0,config:{operator:"final_answer_equals_expected"},metadata:{}}}:{}}}if(t.action==="list"){let m=(await e.store.listLocalDatasetListings()).filter(n=>n.ownerId===p);return t.payload.view==="catalog"?Ke(m,A):m.map(n=>({...A(n),projectId:n.projectId}))}if(t.action==="inspect_source"||t.action==="import_source"){if(!e.sourceAction)throw new Error("This Dataset source adapter is unavailable.");return e.sourceAction(t.action,t.payload,p)}if(t.action==="related_chats"){let m=t.payload.kind;if(m!==void 0&&!["dataset","grader","experiment"].includes(String(m)))throw new Error("Select a supported resource kind.");let n=await e.store.chatResourceLinks({kind:typeof m=="string"?m:"dataset",id:t.id}),P=[...new Set(n.map(w=>w.sessionId))];return(await Promise.all(P.map(w=>e.store.getSession(w)))).filter(w=>w&&!w.systemKind&&w.workspaceKind!=="sandbox").map(w=>({id:w.id,title:w.title}))}let g=f(t);if(["create","save","file","import","save_grader","check_sources"].includes(t.action)){if(!t.operationId)throw new Error("A stable operationId is required. Reuse it after an uncertain response.");let m=await e.store.recoverLocalDatasetOperation(t.operationId,g);if(m)return{record:m,summary:A(m),summaries:B(m)};let n=new Date().toISOString(),P;if(t.action==="create"||t.action==="import"){let v=`dataset-${f([p,t.operationId]).slice(0,40)}`,S;if(t.action==="import"){if(typeof t.payload.path!="string")throw new Error("Import requires a package folder path.");S=(await X({directory:t.payload.path,teamId:p,datasetId:v,expectedRevision:0,maximumBytes:Number.POSITIVE_INFINITY})).workspace}else{let E=Ee({profileId:p,id:v,name:typeof t.payload.name=="string"?t.payload.name:"",now:n});S=U({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:{...E,...t.payload.draft,id:v,profileId:p,modelScope:null,revision:1,status:"draft",publishedTasksetRef:null,createdAt:n,updatedAt:n},files:Array.isArray(t.payload.files)?t.payload.files:[]},Number.POSITIVE_INFINITY)}P=Ve.parse({schemaVersion:"openpond.localDataset.v1",ownerId:p,projectId:typeof t.payload.projectId=="string"?t.payload.projectId:null,workspace:S,checks:[],packageHash:null,sync:null})}else{if(!t.id||t.expectedRevision===void 0)throw new Error("Editing requires a Dataset ID and expectedRevision.");let v=await o(t.id),S=t.payload.draft;if(t.action==="check_sources"&&(S={sourceRefs:et(v.workspace)}),t.action==="save_grader"){let D=N.shape.graders.unwrap().element.parse(t.payload.grader),H=v.workspace.draft.graders.filter(T=>T.id!==D.id),C=v.workspace.draft.graders.findIndex(T=>T.id===D.id);H.splice(C<0?H.length:C,0,D),S={graders:H,...Array.isArray(t.payload.fixtures)?{graderFixtures:t.payload.fixtures}:{}}}let E;if(t.action==="save"&&typeof t.payload.path=="string"){if(v.workspace.draft.modelScope)throw new Error("Folder replacement requires an ordinary local Dataset.");let D=await X({directory:t.payload.path,teamId:p,datasetId:t.id,expectedRevision:t.expectedRevision,maximumBytes:Number.POSITIVE_INFINITY}),H=K({workspace:v.workspace,expectedDraftRevision:t.expectedRevision,draft:{...D.workspace.draft,id:v.workspace.draft.id,profileId:v.workspace.draft.profileId,modelScope:v.workspace.draft.modelScope,revision:v.workspace.draft.revision,status:v.workspace.draft.status,createdAt:v.workspace.draft.createdAt,publishedTasksetRef:v.workspace.draft.publishedTasksetRef},now:n,maximumBytes:Number.POSITIVE_INFINITY});E=U({schemaVersion:H.schemaVersion,draft:H.draft,files:D.workspace.files},Number.POSITIVE_INFINITY)}else E=t.action==="file"?be({workspace:v.workspace,mutation:J.parse({...t.payload,draftId:t.id,expectedDraftRevision:t.expectedRevision}),now:n,maximumBytes:Number.POSITIVE_INFINITY}):K({workspace:v.workspace,expectedDraftRevision:t.expectedRevision,draft:{...v.workspace.draft,...S},now:n,maximumBytes:Number.POSITIVE_INFINITY});P={...v,workspace:E,packageHash:null}}u?.throwIfAborted();let w=await e.store.saveLocalDataset({record:P,expectedRevision:t.action==="create"||t.action==="import"?0:t.expectedRevision,operationId:t.operationId,requestHash:g});return e.onSaved?.(w),{record:w,summary:A(w),summaries:B(w)}}if(!t.id)throw new Error("A Dataset ID is required.");if(t.action==="read"&&t.payload.view==="metadata"){let m=t.payload.revision===void 0?void 0:x.number().int().positive().parse(t.payload.revision),n=await c(t.id,m);return{record:n,summary:A(n)}}let l=await o(t.id,["read","read_grader","list_graders"].includes(t.action)&&t.expectedRevision?t.expectedRevision:void 0);if(t.action==="list_graders")return{summaries:B(l)};if(t.action==="read_grader"){let m=B(l).find(n=>n.graderId===t.payload.graderId||n.id===t.payload.graderId);if(!m)throw new Error("The saved grader was not found.");return t.payload.view==="inspection"?Xe(l,m,t.payload):{record:l,summary:m,grader:l.workspace.draft.graders.find(n=>n.id===m.graderId)}}if(t.action==="read")return{record:l,summary:A(l)};if(["upload","sync","pause_sync","disconnect_sync","publish"].includes(t.action)){if(t.expectedRevision!==l.workspace.draft.revision)throw new Error("Cloud actions require the exact current saved expectedRevision.");if(!e.syncAction)throw new Error("Cloud Dataset synchronization is unavailable.");let m=await e.syncAction(t.action,l,t.payload);return{record:m,summary:A(m)}}if(t.expectedRevision!==l.workspace.draft.revision)throw new Error("Checks and packaging require the exact saved expectedRevision.");if(t.action==="test_grader"&&!l.workspace.draft.graders.some(m=>m.id===t.payload.graderId))throw new Error("The saved grader was not found.");let d=null,k={kind:"structure",revision:l.workspace.draft.revision,workspaceHash:l.workspace.contentHash,status:"passed",checked:l.workspace.draft.tasks.length,total:l.workspace.draft.datasetArtifact?.rowCount??l.workspace.draft.tasks.length,checkedAt:new Date().toISOString(),issues:[]};try{d=a(l),await O(e.home,d,Number.POSITIVE_INFINITY)}catch(m){k={...k,status:"failed",issues:[{code:"package_invalid",message:m instanceof Error?m.message:"Package validation failed."}]}}if(["check_graders","test_grader"].includes(t.action)&&d){let m=[...new Set(l.workspace.draft.graderFixtures.map(n=>n.taskId))];k=await Qe(l,m.length?a(l,m):d,u,t.action==="test_grader"?t.payload.graderId:void 0)}let I=await e.store.updateLocalDatasetMetadata(t.id,f(l),m=>({...m,packageHash:d?.contentHash??null,checks:[...m.checks.filter(n=>n.kind!==k.kind),k]}));return{record:I,summary:t.action==="test_grader"?B(I).find(m=>m.graderId===t.payload.graderId):A(I),summaries:B(I),check:k,...t.action==="package"&&d?{package:d}:{}}}return h(i,"request"),{request:i,read:o,readListing:c,packageDataset:s,compile:a}}h(tt,"createLocalDatasetService");import{mkdtemp as ft,mkdir as ut,rm as mt}from"node:fs/promises";import ht from"node:os";import at from"node:path";var rt=new Set(["work_exec","work_save_output"]);function ot(e){let o=e.taskset,c=o.environment.kind==="text"&&o.tools.length===0,a=o.environment.kind==="work"&&o.environment.entrypoint==="openpond-work-v1"&&o.tools.every(s=>rt.has(s.name));return(c||a)&&o.policy.connectedAppScopes.length===0&&o.capabilities.every(s=>!s.required||s.id==="private-verifier"||s.id==="tools"&&s.scopes.every(i=>rt.has(i)&&o.tools.some(r=>r.name===i)))}h(ot,"supportsLocalProfileEnvironment");async function ba(){let e=await ft(at.join(ht.tmpdir(),"openpond-work-preflight-"));try{await ut(at.join(e,"outputs"));let o="local-work-preflight",a=await $e({authorize:h(async()=>({candidateId:o,candidateRevision:1,ownerId:o,sessionId:o,turnId:o,sourceRoot:e,layout:"profile_case",writablePaths:["outputs"]}),"authorize")})({candidateId:o,expectedRevision:1,sessionId:o,turnId:o,timeoutMs:5e3,command:`/runtime/node -e 'require("node:fs").writeFileSync("outputs/probe","ready");process.stdout.write("ready")'`});if(a.code!==0||a.timedOut||a.stdout!=="ready")throw new Error("The confined local Work executor is unavailable.")}finally{await mt(e,{recursive:!0,force:!0})}}h(ba,"assertLocalProfileWorkRuntime");function G(e){let o=Ie(e),c=e.modelResources?.rewards??(e.learningResources?ve(e.taskset).rewards:[]);if(o&&f(he(o,c))!==f(e.taskset.graders))throw new R("local_grader_closure_conflict","The retained Reward closure differs from the released Dataset graders.",422);return e.taskset.graders.map(a=>{let s=o?.sources.find(r=>r.graderId===a.id),i=s&&c.find(r=>r.id===s.reward.id&&r.revision===s.reward.revision&&r.contentHash===s.reward.contentHash);return{id:a.id,version:a.version,contentHash:f(a),name:i?.name??("config"in a&&a.config.operator==="final_answer_equals_expected"?"Answer accuracy":`${a.kind.replaceAll("_"," ")} grader`),feedbackKey:i?me(i):`grader_${f(a.id).slice(0,24)}`,release:i?{id:i.id,revision:i.revision,contentHash:i.contentHash}:null}})}h(G,"localPackageGraders");function za(e,o){let c=G(e),a=o?o.map(s=>{let i=c.find(r=>r.id===s.id&&r.version===s.version&&r.contentHash===s.contentHash);if(!i)throw new R("local_grader_pin_unavailable","Select an exact grader from the retained Dataset package.",422);return{...i,mappings:s.mappings}}):c;try{return Le(a)}catch(s){throw new R("experiment_grader_feedback_conflict",s instanceof Error?s.message:"Grader selection conflicts.",422)}}h(za,"selectLocalPackageGraders");function Wa(e,o,c,a=!1,s=!1,i=!1){let r=L(o),u=e.configuration.request;if(r.contentHash!==e.packageHash||f(u.taskset)!==f({id:r.taskset.id,revision:r.taskset.revision,contentHash:r.taskset.contentHash}))throw new R("local_dataset_pin_conflict","Local execution requires the exact retained Dataset package.",422);if(u.policy.kind!=="hosted_chat"&&!(u.policy.kind==="hosted_harness"&&i))throw new R("local_target_not_qualified","This local execution path requires a qualified exact target owner.",422);let t=i&&u.policy.kind==="hosted_harness"&&ot(r);if(["claude-code","codex"].includes(e.model.providerId)&&!t&&(gt(r)||r.taskset.environment.kind!=="text"||r.taskset.tools.length))throw new R("native_text_environment_not_admitted","This native model adapter requires a text Dataset with no environment tools. Additional tool owners require explicit admission.",422);let p=u.policy.kind==="hosted_chat"?u.policy.harness:void 0;if(p&&!a)throw new R("local_harness_not_qualified","A released Harness must execute through its native turn owner.",422);let g=Y(r);if(r.taskset.policy.connectedAppScopes.length)throw new R("local_connected_scope_not_qualified","This Dataset requires connected scopes that have not been admitted for local execution.",422);for(let l of r.taskset.capabilities.filter(d=>d.required)){if(l.id==="tools"&&i&&l.scopes.every(k=>["work_exec","work_save_output"].includes(k)&&r.taskset.tools.some(I=>I.name===k)))continue;if(l.id!=="private-verifier")throw new R("local_capability_not_qualified","This Dataset requires capabilities not supplied by the local execution owner.",422);if((l.scopes.length?l.scopes:r.taskset.policy.hiddenGraderRefs).some(k=>!r.taskset.policy.hiddenGraderRefs.includes(k)||!r.taskset.graders.some(I=>I.id===k&&I.privileged&&I.kind!=="human")))throw new R("local_capability_not_qualified","The required private grader scope has no supported exact local grader owner.",422)}if(!g&&r.taskset.tools.length&&!i)throw new R("local_tool_target_not_qualified","This Dataset's tools require a released native target executor.",422);if(g?.execution.javascript.executionServices?.length&&!s)throw new R("local_prepared_environment_not_qualified","This Dataset requires prepared compute services that are not yet bound to the local execution owner.",422);if(r.taskset.environment.kind!=="text"&&!g&&!t)throw new R("local_environment_unavailable","The released Dataset has no supported local environment executor.",422);if(p&&(g||r.taskset.environment.kind!=="text"))throw new R("local_harness_environment_not_qualified","This native Harness requires a compatible text Dataset.",422);return u.population.map(l=>{let d=r.taskset.tasks.find(P=>P.id===l.taskId);if(!d)throw new R("local_population_unavailable","The selected task is absent from this immutable Dataset release.",422);let k=ce(d);if((k.artifactRefs.length||d.requiredOutputs?.length)&&!(i&&u.policy.kind==="hosted_harness"))throw new R("local_work_target_not_qualified","This Dataset requires document input or Work output capabilities not supplied by this local model target.",422);let I=g?.assets.find(P=>P.id===g.execution.javascript.module.id),m=g?.assets.find(P=>P.id===d.privilegedContextRef);if(g&&(!I||!m))throw new R("local_environment_assets_missing","Private environment resources are missing from the retained package.",422);let n={kind:"model",id:`local-case-${f([c,l.receiptId]).slice(0,48)}`,taskId:d.id,model:e.model,...p?{harness:p}:{},instructions:Pe(r),input:k.input,policyVisibleContext:k.policyVisibleContext,timeoutMs:r.taskset.environment.defaultTimeoutMs,environment:g?{kind:"javascript",definition:g.execution.javascript,asset:I,initialState:JSON.parse(we(m,m.asset)),seed:Number(l.seed)}:{kind:"text"}};return{receiptId:l.receiptId,taskId:l.taskId,seed:l.seed,request:Fe.parse({...n,admissionHash:f(n)})}})}h(Wa,"localExperimentAdmissions");function gt(e){return!!Y(e)}h(gt,"executionForClaude");import{readFile as kt}from"node:fs/promises";import wt from"node:path";async function st(e,o,c,a){let s=await e.getHarnessReleaseRecord(o.contentHash),i=s&&await e.getHarnessWorkspace(s.workspaceId);if(!s||!i||s.harnessRelease.id!==o.id||i.location!=="local"||i.metadata.sourceLayout!=="openpond.harnessSourceManifest.v1")throw new R("local_profile_source_unavailable","The exact Profile Harness is unavailable.",403);let r=i.metadata.profileExperimentOrigin!==void 0||i.metadata.experimentCandidateOrigin!==void 0;if(r){if(!a||!c)throw new R("local_profile_origin_access_denied","This source requires its authenticated origin.",403);await a(i,o,c)}else{if(i.ownerScope.kind!=="personal"||i.ownerScope.id!=="desktop-personal"||typeof s.harnessRelease.metadata.profileRepositoryId=="string"||typeof s.agentSnapshot.metadata.profileRepositoryId=="string")throw new R("local_profile_origin_access_denied","The Profile is not device-owned.",403);let d=s.harnessRelease.metadata.profile;if(c&&(c.source!=="local"||d?.id!==c.profileId||d.repositoryId&&d.repositoryId!==c.repositoryId))throw new R("local_profile_origin_access_denied","The retained Harness differs from this exact Profile reference.",403);if(i.metadata.selectionEligible===!1&&(!c||!d?.repositoryId||d.repositoryId!==c.repositoryId||i.id!==`${Oe}${f({ref:c,sourceRevision:d.sourceRevision}).slice(0,24)}`))throw new R("local_profile_origin_access_denied","This explicit Profile release requires its canonical accepted reference.",403)}let u=await Ne({workspace:i,release:s}),t=new Map;for(let d of s.harnessRelease.files)t.set(d.path,await kt(wt.join(s.bundlePath,"source",...d.path.split("/"))));let p=se({agentSnapshot:s.agentSnapshot,harnessRelease:s.harnessRelease,files:t}),g=ge(s);ie({sourcePackage:p,expectedRelease:o,baseSystemPrompt:"",runtimeId:"openpond.native-profile-experiment.v1",maxContextCharacters:262144,tools:g.map(d=>({name:d.name,inputSchema:d.inputSchema,definition:{type:"function",function:{name:d.name,description:d.description,parameters:d.inputSchema}}}))});let l=await e.getHarnessWorkspace(i.id);if(!l||f(l.ownerScope)!==f(i.ownerScope)||f(l.metadata)!==f(i.metadata))throw new R("local_profile_origin_access_denied","Profile source ownership changed during admission.",403);return r&&await a(i,o,c),u}h(st,"resolveLocalProfileExperimentSource");var ee=x.object({id:b,revision:x.number().int().positive(),workspaceHash:_,taskIds:x.array(b).min(1).max(500),seed:x.string().trim().min(1).max(500).default("1")}).strict();function mr(e){let o=tt({store:e.store,home:e.storeDir});async function c(r){if(r.profileRef.source!=="local")throw new Error("Installation-local Datasets require an accepted local Profile.");if(!(await ye()).profiles.some(l=>f(l.ref)===f(r.profileRef)))throw new Error("The local Dataset's Profile is no longer in this installation's accepted library.");let t=await st(e.store,r.harnessRelease,r.profileRef),p=await Je({store:e.store,ref:r.profileRef,sourceRevision:r.sourceRevision,harnessRelease:r.harnessRelease}),g=await Be({workspaceId:typeof t.release.agentSnapshot.metadata.workspaceId=="string"?t.release.agentSnapshot.metadata.workspaceId:t.release.workspaceId,sourceDir:vt.join(t.release.bundlePath,"source")});if(g.harnessRelease.contentHash!==r.harnessRelease.contentHash)throw new Error("The local Dataset's frozen Profile source changed.");return{catalog:p,protectedClosureHash:Ge(g).protectedClosureHash}}h(c,"profileAuthority");async function a(r,u,t){let p=await e.store.readLocalDatasetProjection(r,t,{workspaceHash:u});if(!p||p.record.ownerId!==await e.store.localResourceOwnerId())throw new Error("The exact installation-local Dataset workspace is unavailable to this owner.");return{record:p.record,packageValue:o.compile(p.record,void 0,p.sourceWorkspaceHash)}}return h(a,"savedPackage"),{prepareBinding:h(async(r,u,t)=>{let p=ee.parse(r);if((await o.readListing(p.id,p.revision)).workspace.contentHash!==p.workspaceHash)throw new Error("The selected local Dataset revision or workspace hash changed.");if(new Set(p.taskIds).size!==p.taskIds.length)throw new Error("Select each local Dataset task once.");let{package:l}=await o.packageDataset(p.id,p.revision,p.taskIds),d=p.taskIds.map(n=>l.taskset.tasks.find(P=>P.id===n));if(d.some(n=>!n)||d.some(n=>n.split!==d[0].split))throw new Error("Select existing local Dataset tasks from one exact split.");let{catalog:k,protectedClosureHash:I}=await c(u);if(!k.definitions.some(n=>f(n)===f(t)))throw new Error("The local Dataset target differs from the accepted Profile definition.");let m=G(l);return de({schemaVersion:"openpond.profileExternalDatasetBinding.v1",dataset:{id:l.taskset.id,revision:l.taskset.revision,contentHash:l.taskset.contentHash},packageHash:l.contentHash,profileId:u.profileRef.profileId,target:t.target,declaredProfileCatalogHash:k.catalogHash,protectedProfileClosureHash:I,split:d[0].split,population:p.taskIds.map(n=>({taskId:n,seed:p.seed,fixtureId:null})),evaluators:m.map(n=>({release:n.release??{id:n.id,revision:n.version,contentHash:n.contentHash},feedbackKey:n.feedbackKey,configurationHash:f({graderHash:n.contentHash,mappings:[]}),output:"score",categories:[]})),fieldMappings:[],fieldMappingsHash:f([]),environmentHash:f(l.taskset.environment),privateDatasetClosureHash:f(l.files.filter(n=>n.asset.visibility!=="policy").map(n=>n.asset)),criterion:t.criterion})},"prepareBinding"),resolveExternalDataset:h(async(r,u)=>{let t;try{t=await W(e.storeDir,r.packageHash)}catch(n){if(n.code!=="ENOENT")throw n}let p=t?x.object({sourceTasksetId:b,sourcePackageHash:_}).passthrough().safeParse(t.taskset.metadata):null,g=p?.success?await e.store.readLocalDatasetListing(p.data.sourceTasksetId):null;if(!t||!p?.success||!g){if(!e.remote)throw new Error("This external Dataset has no installation-local owner.");return e.remote(r,u)}let l=p.data,d=t.contentHash,k=g.ownerId;async function I(){let n=[...new Set(r.population.map(S=>S.taskId))],{record:P,packageValue:w}=await a(l.sourceTasksetId,l.sourcePackageHash,n);if(P.ownerId!==k||w.contentHash!==d)throw new Error("The cached Dataset differs from its exact saved local source.");let v=await c(u);if(r.profileId!==u.profileRef.profileId||r.declaredProfileCatalogHash!==v.catalog.catalogHash||r.protectedProfileClosureHash!==v.protectedClosureHash)throw new Error("The local Dataset recipe changed its accepted Profile or protected evaluator closure.");return Ce({binding:r,packageValue:w,graders:G(w)})}h(I,"read");let m=await I();return{binding:r,packageValue:m,authorize:h(async()=>{if(f(await I())!==f(m))throw new Error("The local Dataset authority changed during execution.")},"authorize")}},"resolveExternalDataset")}}h(mr,"createInstallationLocalProfileDatasets");var yt=x.object({id:b,createdAt:ae,definitionId:b,externalDatasetBinding:le.optional(),localDataset:ee.optional(),profileRef:Ae.optional(),profileSource:x.object({sourceRevision:x.string().min(1).max(500),harnessRelease:x.object({id:b,contentHash:_}).strict()}).strict().optional(),modelRef:oe,hostModelConfigurationHash:_.optional(),hostArtifactHash:_.optional(),maximumSpendUsd:x.number().positive().max(1e4).optional(),expectedManifestHash:_.optional(),hostExperiment:x.object({definition:x.object({id:b,revision:x.number().int().positive(),contentHash:_}).strict().nullable(),configurationHash:_,project:x.object({id:b,revision:x.number().int().positive(),contentHash:_,targetId:b.nullable()}).strict().optional()}).strict().optional()}).strict();function Er(e){return async(o,c)=>{let a=yt.parse(o);if(c?.requireExpectedManifestHash&&!a.expectedManifestHash)throw new Error("Profile evaluation execution requires the reviewed manifest hash.");if(a.profileSource&&!a.profileRef)throw new Error("An exact Profile source requires its accepted Profile reference.");let s=c?.selectedWorkflows??await e.selectedWorkflows(a.profileRef,a.profileSource);if(a.profileRef&&f(a.profileRef)!==f(s.profileRef))throw new Error("Profile preparation did not resolve the explicitly selected Profile.");if(a.profileSource&&(s.sourceRevision!==a.profileSource.sourceRevision||f(s.harnessRelease)!==f(a.profileSource.harnessRelease)))throw new Error("Profile preparation changed its explicitly pinned source.");if(a.localDataset&&a.externalDatasetBinding)throw new Error("Select a local Dataset or an external recipe, not both.");let i=await e.loadCatalog({ref:s.profileRef,sourceRevision:s.sourceRevision,harnessRelease:s.harnessRelease}),r=a.localDataset?i.definitions.find(y=>y.id===a.definitionId):null;if(a.localDataset&&!r)throw new Error("Choose an existing accepted Profile definition as the local Dataset target.");let t=(a.localDataset&&r?await(e.prepareLocalDatasetBinding?e.prepareLocalDatasetBinding(a.localDataset,s,r):Promise.reject(new Error("This host has not qualified installation-local Profile Datasets."))):null)??(a.externalDatasetBinding?M(a.externalDatasetBinding):null),p=t?await(e.resolveExternalDataset?e.resolveExternalDataset(t,s):Promise.reject(new Error("This host has not qualified external Dataset Profile execution."))):null;if(p&&(await p.authorize(),f(M(p.binding))!==f(t)))throw new Error("External Dataset admission differs from the actual authorized recipe.");if(t&&t.declaredProfileCatalogHash!==i.catalogHash)throw new Error("The original Profile verifier catalog changed.");let g=t?Z(t):null;if(g&&!a.localDataset&&a.definitionId!==g.id)throw new Error("Use the external recipe's own definition identity.");let l={schemaVersion:"openpond.profileEvaluations.v1",definitions:g?[g]:i.definitions,suites:g?[]:i.suites},d=g??i.definitions.find(y=>y.id===a.definitionId);if(!d)throw new Error(`Evaluation ${a.definitionId} is absent from the selected Profile release.`);let k=d.target,I=k.kind==="workflow"?s.workflows.find(y=>y.binding.workflowId===k.workflowId)?.binding:ne.parse({schemaVersion:"openpond.profileComponentBinding.v1",profileId:s.profileRef.profileId,sourceRevision:s.sourceRevision,harnessRelease:s.harnessRelease,target:k});if(!I)throw new Error(`Evaluation workflow ${k.kind==="workflow"?k.workflowId:""} is absent from the selected Profile release.`);let m=L(p?.packageValue??await e.loadTasksetPackage(d,s.profileRef.profileId,s.harnessRelease)),n=m.taskset;if(n.id!==d.tasksetRelease.id||n.contentHash!==d.tasksetRelease.contentHash)throw new Error("Evaluation Taskset package differs from its released definition.");let P=n.environment.kind==="text"&&n.tools.length===0,w=n.environment.kind==="work"&&n.environment.entrypoint==="openpond-work-v1"&&n.tools.every(y=>["work_exec","work_save_output"].includes(y.name));if(!P&&!w)throw new Error("Profile evaluation supports text cases or Work cases with the built-in execution and output tools.");if(a.maximumSpendUsd!==void 0&&w){if(typeof e.boundedWorkComputeAvailable=="function")await e.boundedWorkComputeAvailable();else if(!e.boundedWorkComputeAvailable)throw new Error("This host has not admitted budgeted Work compute.")}if(n.tasks.some(y=>y.artifactRefs.length>Q.maxAttachments||y.artifactRefs.some(j=>j.visibility!=="policy"||j.mediaType!=="application/pdf"||j.sizeBytes>Q.maxAttachmentBytes)))throw new Error("Profile evaluation accepts only bounded policy-visible PDF task attachments.");if(!t&&!e.privateGradingPreflight&&(n.graders.some(y=>y.kind==="model_judge"||y.kind==="custom_verifier")||n.metrics?.aggregation==="custom"))throw new Error("Profile evaluation cannot run this Taskset's model judge, custom verifier, or custom metric in the current app-server runtime.");await e.privateGradingPreflight?.(m);let v={adapterId:k.kind==="workflow"?"openpond.profile-workflow":"openpond.profile-component",placement:e.placement,runtimeVersion:"app-server-v1",capabilityReceipt:f({adapterId:k.kind==="workflow"?"openpond.profile-workflow":"openpond.profile-component",packageHash:m.contentHash,connectedAppScopes:n.policy.connectedAppScopes})},E={...fe({catalog:l,definitionId:d.id,profileId:s.profileRef.profileId,sourceRevision:s.sourceRevision,harnessRelease:s.harnessRelease,environmentHash:f({packageHash:m.contentHash,runtimeTarget:v})}),...t?{externalDatasetBinding:t}:{},...e.sourceCandidate?{sourceCandidate:e.sourceCandidate}:{}};if(t&&(t.packageHash!==m.contentHash||t.environmentHash!==f(n.environment)||t.privateDatasetClosureHash!==f(m.files.filter(y=>y.asset.visibility!=="policy").map(y=>y.asset))))throw new Error("External Dataset package/environment/private closure changed.");let D=re.parse({provider:a.modelRef.providerId,model:a.modelRef.modelId,revision:null,artifactHash:a.hostArtifactHash??null,tokenizerRevision:null,chatTemplateHash:null}),H=await e.modelConfigurationHash(a.modelRef,a),C=c?.modelSampling?f({ownerModelConfigurationHash:H,sampling:He.parse(c.modelSampling)}):H,T=xe({schemaVersion:"openpond.tasksetRunManifest.v1",id:a.id,tasksetRelease:d.tasksetRelease,packageHash:m.contentHash,execution:{kind:"harness",harnessRelease:s.harnessRelease},profileEvaluation:E,policy:{kind:"model",model:D,configurationHash:C},gradingRole:"evaluation",metricPolicy:Re(n),population:t?t.population.map(y=>({...y,receiptId:`evaluation-${f([a.id,y.taskId,y.seed,y.fixtureId]).slice(0,32)}`})):d.taskIds.flatMap(y=>d.seeds.map(j=>({receiptId:`evaluation-${f([a.id,y,j]).slice(0,32)}`,taskId:y,seed:j,fixtureId:null}))),runtimeTarget:v,limits:{maxTurns:128,timeoutMs:n.environment.defaultTimeoutMs,maxOutputBytes:25e7,maximumSpendUsd:a.maximumSpendUsd??null},createdAt:a.createdAt,metadata:{sourceTasksetId:n.metadata.sourceTasksetId??n.id,...s.profileRef.source==="openpond_git"?{profileRepositoryId:s.profileRef.repositoryId}:{},...a.hostExperiment?{experimentDefinition:a.hostExperiment.definition,experimentConfigurationHash:a.hostExperiment.configurationHash,...a.hostExperiment.project?{project:a.hostExperiment.project}:{}}:{}}});if(z(T,n,l),p&&await p.authorize(),a.expectedManifestHash&&T.contentHash!==a.expectedManifestHash)throw new Error("Profile evaluation setup changed since preview; prepare the run again.");return{manifest:T,taskset:n,profileRef:s.profileRef,binding:I,modelRef:a.modelRef,modelConfigurationHash:C}}}h(Er,"createProfileEvaluationRunPreparationService");async function xt(e,o){let c=L(e);for(let s of c.taskset.graders){if(s.kind==="model_judge"&&(!o||s.calibrationStatus!=="passed"))throw new Error("This Profile requires its current calibrated judge and bounded private provider owner.");let i="verifierRef"in s?s.verifierRef:"rubricRef"in s?s.rubricRef:null;i&&te(c,i)}let a=c.taskset.metrics?.customAggregator;if(a){let s=c.files.find(i=>i.asset.path===a.module);if(!s||s.asset.visibility==="policy"||V(q(s))!==a.contentHash)throw new Error("The authored aggregate metric is not its exact private release.");new TextDecoder("utf8",{fatal:!0}).decode(q(s))}}h(xt,"preflightProfilePrivateGrading");function te(e,o){let c=e.files.find(a=>a.asset.id===o.id);if(!c||c.asset.visibility==="policy"||f(c.asset)!==f(o))throw new Error("The exact private grader asset is unavailable.");return new TextDecoder("utf8",{fatal:!0}).decode(q(c))}h(te,"readPrivate");async function Ar(e){let o=L(e.packageValue);if(o.contentHash!==e.manifest.packageHash||o.taskset.contentHash!==e.manifest.tasksetRelease.contentHash)throw new Error("The private grading package changed its frozen Run identity.");await e.authorize(),await xt(o,!!e.executeBudgetedJudge),await e.authorize();let c=h(async({grader:i,task:r,evidence:u})=>{let t=e.signal;await e.authorize(),t?.throwIfAborted();let p={manifest:e.manifest,packageValue:o,grader:i,task:r,evidence:u,signal:t,authorize:e.authorize},g=e.executeSandboxVerifier?await e.executeSandboxVerifier(p):i.runtime==="sandbox_process"?await F(p):await $({source:te(o,i.verifierRef),exportName:i.exportName,runtime:i.runtime,timeoutMs:i.timeoutMs,signal:t,value:{task:r,attempt:u,input:r.input,output:u.output,artifacts:"artifacts"in u?u.artifacts:[],expectedOutput:r.expectedOutput,infrastructureError:u.infrastructureError??null}});return await e.authorize(),t?.throwIfAborted(),{score:g.score,passed:g.passed,rewardEligible:i.rewardEligible,failureClass:null,feedback:[g.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:g.evidenceRefs}},"customVerifier"),a=o.taskset.metrics?.customAggregator,s=a?new TextDecoder("utf8",{fatal:!0}).decode(q(o.files.find(i=>i.asset.path===a.module))):void 0;return{authorize:e.authorize,customVerifier:c,...e.executeBudgetedJudge?{modelJudge:ke({readRubric:h(async i=>{await e.authorize();let r=te(o,i);return await e.authorize(),r},"readRubric"),executeBudgeted:h(async(i,r)=>{await e.authorize(),r?.throwIfAborted();let u=await e.executeBudgetedJudge(i,r);return await e.authorize(),r?.throwIfAborted(),u},"executeBudgeted")})}:{},...s!==void 0?{metricSource:s,metricExecutor:h(async i=>{await e.authorize(),i.signal?.throwIfAborted();let r=await Ue(i);return await e.authorize(),i.signal?.throwIfAborted(),r},"metricExecutor")}:{}}}h(Ar,"createProfilePrivateGradingOwner");export{_t as a,lt as b,Bt as c,B as d,Ze as e,pt as f,A as g,tt as h,ot as i,ba as j,G as k,za as l,Wa as m,st as n,mr as o,Er as p,xt as q,Ar as r};