openpond 0.2.53 → 0.2.55

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 (254) hide show
  1. package/dist/app-server.d.ts +1514 -100
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/actions-command-WTFZA7LF.js +2 -0
  4. package/dist/chunks/{app-layer-I7MZYVLL.js → app-layer-Y2UERCPY.js} +1 -1
  5. package/dist/chunks/app-server-runtime-2RM3N4I6.js +2 -0
  6. package/dist/chunks/apps-KDNWYO3G.js +2 -0
  7. package/dist/chunks/chunk-2DFR7PJ4.js +2460 -0
  8. package/dist/chunks/chunk-4CRM2ADK.js +2 -0
  9. package/dist/chunks/{chunk-7ZG3IT7C.js → chunk-4WEUCGJ3.js} +6 -6
  10. package/dist/chunks/chunk-55G6B54U.js +6 -0
  11. package/dist/chunks/chunk-73G5UYBB.js +12 -0
  12. package/dist/chunks/{chunk-DALJMSJG.js → chunk-ARQEJOEK.js} +24 -24
  13. package/dist/chunks/chunk-B7QDZPNX.js +2 -0
  14. package/dist/chunks/chunk-BFKYRQMA.js +2 -0
  15. package/dist/chunks/{chunk-AH22RHPS.js → chunk-BQAF5P7K.js} +2 -2
  16. package/dist/chunks/{chunk-YJ4PNAST.js → chunk-BTI4N7YO.js} +1 -1
  17. package/dist/chunks/chunk-C6D4WAYN.js +6 -0
  18. package/dist/chunks/chunk-CGBI2VYJ.js +2 -0
  19. package/dist/chunks/chunk-DLVPSCTB.js +2 -0
  20. package/dist/chunks/{chunk-UJ5EFSEC.js → chunk-G6JMQGX7.js} +1 -1
  21. package/dist/chunks/chunk-GGIG3XU7.js +3 -0
  22. package/dist/chunks/chunk-IODUCRBA.js +58 -0
  23. package/dist/chunks/chunk-JIMU3KDA.js +24 -0
  24. package/dist/chunks/chunk-JUJSA7KI.js +22 -0
  25. package/dist/chunks/chunk-K5SBVO3B.js +195 -0
  26. package/dist/chunks/chunk-KD3QVRIJ.js +21 -0
  27. package/dist/chunks/chunk-KGNCKIFP.js +3 -0
  28. package/dist/chunks/chunk-L4235TRQ.js +140 -0
  29. package/dist/chunks/{chunk-N5QNXMIS.js → chunk-MH3LHSGX.js} +1 -1
  30. package/dist/chunks/chunk-MVF3F5QS.js +2 -0
  31. package/dist/chunks/{chunk-N3DEA6PG.js → chunk-NNIRIUSY.js} +1 -1
  32. package/dist/chunks/{chunk-WITSXYEW.js → chunk-NOTXPD2T.js} +1 -1
  33. package/dist/chunks/{chunk-T5LE6R5S.js → chunk-OSIO7PLX.js} +1 -1
  34. package/dist/chunks/chunk-OULAKUIN.js +2 -0
  35. package/dist/chunks/chunk-OWNLDB2O.js +2 -0
  36. package/dist/chunks/{chunk-NAZ26IZL.js → chunk-Q7AXHFZV.js} +1 -1
  37. package/dist/chunks/chunk-QDHMP5FS.js +2 -0
  38. package/dist/chunks/chunk-QKD5OMDI.js +2 -0
  39. package/dist/chunks/{chunk-YD55Z5H3.js → chunk-QRAKXZOC.js} +10 -10
  40. package/dist/chunks/{chunk-JDLAHVAJ.js → chunk-R27YGT77.js} +1 -1
  41. package/dist/chunks/chunk-R2BSIRYL.js +3 -0
  42. package/dist/chunks/chunk-SHQOIROR.js +42 -0
  43. package/dist/chunks/chunk-STDMBJOQ.js +9 -0
  44. package/dist/chunks/chunk-T4QGDQHP.js +4 -0
  45. package/dist/chunks/{chunk-R3XFY7VL.js → chunk-TERVLCRG.js} +1 -1
  46. package/dist/chunks/{chunk-PA7XP42P.js → chunk-U2YMBCX7.js} +1 -1
  47. package/dist/chunks/{chunk-GXSTZBM6.js → chunk-UA5DA5I2.js} +1 -1
  48. package/dist/chunks/chunk-VJEZPDBS.js +5 -0
  49. package/dist/chunks/chunk-WDFLCNRC.js +8 -0
  50. package/dist/chunks/chunk-WZYRAR7X.js +16 -0
  51. package/dist/chunks/chunk-YDT7L3VZ.js +24 -0
  52. package/dist/chunks/chunk-YR5ID2SS.js +2 -0
  53. package/dist/chunks/chunk-YUPBAWBJ.js +554 -0
  54. package/dist/chunks/cli-465VC2WP.js +2 -0
  55. package/dist/chunks/{configuration-command-MATM4XR5.js → configuration-command-LAAP2EXT.js} +1 -1
  56. package/dist/chunks/connected-evidence-XM626247.js +2 -0
  57. package/dist/chunks/{continual-PKK2BOTB.js → continual-TTGJ6YTR.js} +1 -1
  58. package/dist/chunks/core-commands-W7EK552V.js +2 -0
  59. package/dist/chunks/datasets-QJWYTTQL.js +2 -0
  60. package/dist/chunks/desktop-test-3B2D34NF.js +3 -0
  61. package/dist/chunks/dist-FAJX2UBW.js +2 -0
  62. package/dist/chunks/{dist-4HV2W6V4.js → dist-HUAE2KFZ.js} +1 -1
  63. package/dist/chunks/{chunk-6VF3Q6QJ.js → dist-SKYG5LZO.js} +2 -4
  64. package/dist/chunks/evaluation-coordination-2MONR4AX.js +2 -0
  65. package/dist/chunks/experiment-improvements-WVQ5FK46.js +2 -0
  66. package/dist/chunks/experiments-S5UQ32QB.js +2 -0
  67. package/dist/chunks/extension-DWMY6D2R.js +4 -0
  68. package/dist/chunks/{help-WLKSACLZ.js → help-A72QDRNG.js} +1 -1
  69. package/dist/chunks/hosted-experiment-improvement-2OWOQLHC.js +3 -0
  70. package/dist/chunks/hosted-harness-runtime-TGFMAV7W.js +2 -0
  71. package/dist/chunks/hosted-profile-candidate-WQSI6HZO.js +3 -0
  72. package/dist/chunks/hosted-profile-compiler-Z2A4TEA6.js +2 -0
  73. package/dist/chunks/hosted-profile-evaluation-control-FKGARUEE.js +2 -0
  74. package/dist/chunks/hosted-profile-evaluation-inspection-QOY2JKV4.js +3 -0
  75. package/dist/chunks/hosted-profile-evaluation-preparation-WVP6CALP.js +3 -0
  76. package/dist/chunks/human-review-TGHQKXFZ.js +2 -0
  77. package/dist/chunks/{import-V3HUGRHR.js → import-4UE5XNSG.js} +1 -1
  78. package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +2 -0
  79. package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +2 -0
  80. package/dist/chunks/learning-R2XBMMEM.js +2 -0
  81. package/dist/chunks/opchat-WULL6CUP.js +3 -0
  82. package/dist/chunks/organizations-I37HISVX.js +2 -0
  83. package/dist/chunks/profile-NOZ6TVXL.js +3 -0
  84. package/dist/chunks/project-agent-T6XKC54C.js +2 -0
  85. package/dist/chunks/sandbox-command-STB47FRY.js +2 -0
  86. package/dist/chunks/{sandbox-template-BBGGPJMI.js → sandbox-template-LKGBDVJ4.js} +1 -1
  87. package/dist/chunks/sql-execution-process-source-B4HQM6ZV.js +2 -0
  88. package/dist/chunks/src-T3KWWCAH.js +322 -0
  89. package/dist/chunks/{src-CR6UZYTX.js → src-ZWJ5IO7A.js} +1 -1
  90. package/dist/chunks/{taskset-LUG3ZU6J.js → taskset-RNYDR4GS.js} +1 -1
  91. package/dist/chunks/{teams-bot-7I4BAUVO.js → teams-bot-H7XT23XB.js} +1 -1
  92. package/dist/chunks/{training-XHE6FVII.js → training-M6FAPRSJ.js} +1 -1
  93. package/dist/cli.js +1 -1
  94. package/dist/index.js +1 -1
  95. package/dist/web/assets/App-CLFfy_Av.js +154 -0
  96. package/dist/web/assets/App-CTlAPuCY.css +1 -0
  97. package/dist/web/assets/{AppDialog-BdusXgU0.js → AppDialog-CPHTPqrx.js} +1 -1
  98. package/dist/web/assets/{AppTerminalPanel-C4uRpnBz.js → AppTerminalPanel-BVj5Tj93.js} +2 -2
  99. package/dist/web/assets/AppsView-O69zEBY3.js +1 -0
  100. package/dist/web/assets/{BrowserSidebar-Bl7V6YO2.js → BrowserSidebar-Pr_Kpe8p.js} +1 -1
  101. package/dist/web/assets/{CartesianChart-BstFbsdn.js → CartesianChart-JPqo6YOf.js} +1 -1
  102. package/dist/web/assets/{CollaborationTabs-B8YAf0c1.js → CollaborationTabs-CAJcQFn2.js} +1 -1
  103. package/dist/web/assets/{CommandMenu-DZct7zUJ.js → CommandMenu-B-w53n9A.js} +1 -1
  104. package/dist/web/assets/{CommunityView-CR0-W-uG.js → CommunityView-DbZKK8_P.js} +1 -1
  105. package/dist/web/assets/{ComposerCreateImproveStrip-DR-Qo7b4.js → ComposerCreateImproveStrip-3_083PF4.js} +1 -1
  106. package/dist/web/assets/{GetStartedView-xqQoMMei.js → GetStartedView-D7JGm_6c.js} +1 -1
  107. package/dist/web/assets/HostedModelLearningReview-DwgMfZ7_.js +1 -0
  108. package/dist/web/assets/{HostedModelLearningSettings-De3i9wF4.js → HostedModelLearningSettings-JRfQadRl.js} +1 -1
  109. package/dist/web/assets/{LabModelVersionDetailPage-DAY1MmqP.js → LabModelVersionDetailPage-BUYflJY_.js} +1 -1
  110. package/dist/web/assets/{LabSkillSidebar-DLnIgnry.js → LabSkillSidebar-BBiqk7Rf.js} +1 -1
  111. package/dist/web/assets/LabsRoute-Ci6vUnSd.js +99 -0
  112. package/dist/web/assets/MainChatThread-BQK3oI2N.js +2 -0
  113. package/dist/web/assets/MainPane-D3ojiN-p.js +18 -0
  114. package/dist/web/assets/{MarkdownText-gJMuefaJ.js → MarkdownText-DOdOVFXL.js} +25 -25
  115. package/dist/web/assets/{NativeSkillSidebar-Dlxb8iOC.js → NativeSkillSidebar-CRI_ri8z.js} +1 -1
  116. package/dist/web/assets/{NewExperienceSwitcher-DM-cqJ-K.js → NewExperienceSwitcher-DhYtfE68.js} +1 -1
  117. package/dist/web/assets/{NewProjectDialog-Cu1q75gq.js → NewProjectDialog-D8sy1gOz.js} +1 -1
  118. package/dist/web/assets/{OutputsPage-DiXMkasl.js → OutputsPage-CbWgrhXA.js} +1 -1
  119. package/dist/web/assets/{ProjectsPage-DqiBHiCB.js → ProjectsPage-DLB67lyA.js} +1 -1
  120. package/dist/web/assets/RightChatPanelStack-ozSKnDyX.js +1 -0
  121. package/dist/web/assets/{RightSidebarHomePanel-CeSFJM5s.js → RightSidebarHomePanel-CKs3OwhD.js} +1 -1
  122. package/dist/web/assets/ScheduledWorkPage-Cafv_QnR.js +1 -0
  123. package/dist/web/assets/SettingsView-T1vYDPjh.js +5 -0
  124. package/dist/web/assets/{TeamChatView-DM0adMtj.js → TeamChatView-vIrmXOY_.js} +2 -2
  125. package/dist/web/assets/{TerminalOverlay-CFlH51DD.js → TerminalOverlay-CAmF__Dq.js} +1 -1
  126. package/dist/web/assets/{TrainingCreationPanel-CgIBVGha.js → TrainingCreationPanel-D75K0yk5.js} +1 -1
  127. package/dist/web/assets/{TrainingDraftPanel-Bbo3RRie.js → TrainingDraftPanel-D7XZePAk.js} +1 -1
  128. package/dist/web/assets/{UsageSettingsSection-CSRjJUSa.js → UsageSettingsSection-CYTmp7PG.js} +1 -1
  129. package/dist/web/assets/WorkSidebarPanel-CODMjVHY.js +1 -0
  130. package/dist/web/assets/WorkspaceDiffPanel-DQGoIjH9.js +14 -0
  131. package/dist/web/assets/WorkspaceEnvironmentMenu-c1pHDskn.js +63 -0
  132. package/dist/web/assets/{WorkspaceGitDialogs-Dgmg-6XG.js → WorkspaceGitDialogs-DrVtapQQ.js} +1 -1
  133. package/dist/web/assets/{WorkspaceMonacoEditor-BR4qxMgU.js → WorkspaceMonacoEditor-BCKzvSj2.js} +3 -3
  134. package/dist/web/assets/arrow-up-right-CP4hZdrJ.js +1 -0
  135. package/dist/web/assets/chunk-NOJECMB7-Bhcms-w5.js +1 -0
  136. package/dist/web/assets/{clipboard-BZzZ82Bk.js → clipboard-BgrXorn-.js} +1 -1
  137. package/dist/web/assets/{cloud-upload-CJPYPVl8.js → cloud-upload-B_zYztb6.js} +1 -1
  138. package/dist/web/assets/{cssMode-WC4Rg1l-.js → cssMode-DanjGgA8.js} +1 -1
  139. package/dist/web/assets/{folder-open-sLZJxLQy.js → folder-open-CdVKbtGq.js} +1 -1
  140. package/dist/web/assets/folder-plus-Cc5KElB6.js +1 -0
  141. package/dist/web/assets/{git-commit-horizontal-Cotm7KEC.js → git-commit-horizontal-CjGIIgRi.js} +1 -1
  142. package/dist/web/assets/{htmlMode-C6oZGeaB.js → htmlMode-DRGDF_UL.js} +1 -1
  143. package/dist/web/assets/index-B5re-RJy.css +1 -0
  144. package/dist/web/assets/{index-BxWTVKtn.js → index-BE-wXZ5R.js} +2 -2
  145. package/dist/web/assets/info-BLj0RvhA.js +1 -0
  146. package/dist/web/assets/{jsonMode-BET4LQIn.js → jsonMode-CCu0j2GD.js} +1 -1
  147. package/dist/web/assets/{lspLanguageFeatures-BPxA_-Kg.js → lspLanguageFeatures-s_Lhm7P6.js} +1 -1
  148. package/dist/web/assets/minimize-2-Cyg_zD9z.js +1 -0
  149. package/dist/web/assets/{monaco.contribution-DXzyQfVi.js → monaco.contribution-CAzXvYkn.js} +2 -2
  150. package/dist/web/assets/{monaco.contribution-DFzEyaHi.js → monaco.contribution-CY7mRgOB.js} +2 -2
  151. package/dist/web/assets/{monaco.contribution-7AUuf2NS.js → monaco.contribution-aUeLcBEg.js} +2 -2
  152. package/dist/web/assets/{monaco.contribution-BH6kkO4b.js → monaco.contribution-mUPNK9ra.js} +2 -2
  153. package/dist/web/assets/monitor-DZvOs_wC.js +1 -0
  154. package/dist/web/assets/play-BJPzemuY.js +1 -0
  155. package/dist/web/assets/{python-PzBkTjWx.js → python-B_qnnVaG.js} +1 -1
  156. package/dist/web/assets/{save-DpezrtH2.js → save-BDy9tA3E.js} +1 -1
  157. package/dist/web/assets/square-Cb2c5td4.js +1 -0
  158. package/dist/web/assets/{toggleHighContrast-Cto-fOXm.js → toggleHighContrast-MhO1JLyR.js} +1 -1
  159. package/dist/web/assets/{tsMode-BYA4LNc6.js → tsMode-DfBXJb9V.js} +1 -1
  160. package/dist/web/assets/{upload-C5YFNgtS.js → upload-D56kThRh.js} +1 -1
  161. package/dist/web/assets/{useLocalAgentSchedules-CnyTsqlf.js → useLocalAgentSchedules-DMnGfswi.js} +1 -1
  162. package/dist/web/assets/useProviderSettings-Bv5B9eNk.js +5 -0
  163. package/dist/web/assets/{useSessionTurnCache-DICuJSJW.js → useSessionTurnCache-ClAY8gze.js} +1 -1
  164. package/dist/web/assets/{wifi-off-nzHj7JXp.js → wifi-off-C9lWJmVm.js} +1 -1
  165. package/dist/web/assets/{workers-Dboaw6f_.js → workers-BYzrH8by.js} +1 -1
  166. package/dist/web/assets/{yaml-uuY5JmO8.js → yaml-D3T8UkT3.js} +1 -1
  167. package/dist/web/index.html +2 -2
  168. package/package.json +3 -3
  169. package/dist/chunks/actions-command-DSO6YOEE.js +0 -2
  170. package/dist/chunks/app-server-runtime-KZP2LB5X.js +0 -2
  171. package/dist/chunks/apps-TM74FFQB.js +0 -2
  172. package/dist/chunks/chunk-2JO2KWT3.js +0 -5
  173. package/dist/chunks/chunk-2SPZYBDN.js +0 -16
  174. package/dist/chunks/chunk-3LX6RU3C.js +0 -3
  175. package/dist/chunks/chunk-4SHKI3BH.js +0 -2
  176. package/dist/chunks/chunk-4TZHH5FC.js +0 -2409
  177. package/dist/chunks/chunk-5TNDPNS3.js +0 -2
  178. package/dist/chunks/chunk-6JAN4RMN.js +0 -42
  179. package/dist/chunks/chunk-7QEE4PBI.js +0 -8
  180. package/dist/chunks/chunk-AFUDIT36.js +0 -2
  181. package/dist/chunks/chunk-BX4J2VDU.js +0 -2
  182. package/dist/chunks/chunk-EMKZVP7Z.js +0 -2
  183. package/dist/chunks/chunk-FPUUZQUP.js +0 -6
  184. package/dist/chunks/chunk-GCOUYYHG.js +0 -5
  185. package/dist/chunks/chunk-GS2NKNKG.js +0 -4
  186. package/dist/chunks/chunk-H2VT22JK.js +0 -2
  187. package/dist/chunks/chunk-HA7EFTPF.js +0 -23
  188. package/dist/chunks/chunk-IKWDL3RB.js +0 -17
  189. package/dist/chunks/chunk-L3KS6MOV.js +0 -2
  190. package/dist/chunks/chunk-NHFGEVVH.js +0 -518
  191. package/dist/chunks/chunk-NNF6KCHD.js +0 -3
  192. package/dist/chunks/chunk-PJM2G7SG.js +0 -21
  193. package/dist/chunks/chunk-PQHTZ5CP.js +0 -2
  194. package/dist/chunks/chunk-PYABBF53.js +0 -53
  195. package/dist/chunks/chunk-QRWPEW3Z.js +0 -24
  196. package/dist/chunks/chunk-QXVIIM4T.js +0 -2
  197. package/dist/chunks/chunk-SDEDAHV6.js +0 -160
  198. package/dist/chunks/chunk-TGIB24K4.js +0 -22
  199. package/dist/chunks/chunk-USKE34VR.js +0 -9
  200. package/dist/chunks/chunk-WV2APYWG.js +0 -2
  201. package/dist/chunks/chunk-XGE2XI6M.js +0 -191
  202. package/dist/chunks/chunk-XM26DGML.js +0 -3
  203. package/dist/chunks/chunk-YIB3J4RC.js +0 -2
  204. package/dist/chunks/chunk-YL6VFJ4P.js +0 -2
  205. package/dist/chunks/chunk-Z3D4C7BG.js +0 -12
  206. package/dist/chunks/cli-JVB345H2.js +0 -2
  207. package/dist/chunks/connected-evidence-YDPGNHLP.js +0 -2
  208. package/dist/chunks/core-commands-MTV4EKXY.js +0 -2
  209. package/dist/chunks/datasets-CP3IT47T.js +0 -2
  210. package/dist/chunks/desktop-test-IAZC5MAH.js +0 -3
  211. package/dist/chunks/dist-SAABJU5F.js +0 -2
  212. package/dist/chunks/evaluation-coordination-EPHLZXYM.js +0 -2
  213. package/dist/chunks/experiment-improvements-6JTOPA74.js +0 -2
  214. package/dist/chunks/experiments-XHPFGECH.js +0 -2
  215. package/dist/chunks/extension-GX7DLW2X.js +0 -4
  216. package/dist/chunks/hosted-experiment-improvement-HAB3UE6A.js +0 -3
  217. package/dist/chunks/hosted-harness-runtime-YM23QNDK.js +0 -2
  218. package/dist/chunks/hosted-profile-candidate-EOBGKQAS.js +0 -3
  219. package/dist/chunks/hosted-profile-compiler-OZAOZ2ES.js +0 -2
  220. package/dist/chunks/hosted-profile-evaluation-control-RJ6XJZCS.js +0 -2
  221. package/dist/chunks/hosted-profile-evaluation-inspection-SJIDXPHI.js +0 -3
  222. package/dist/chunks/hosted-profile-evaluation-preparation-26EI5LJR.js +0 -3
  223. package/dist/chunks/human-review-AAVMISBF.js +0 -2
  224. package/dist/chunks/learning-FNBEIAY6.js +0 -2
  225. package/dist/chunks/opchat-QK43DXTY.js +0 -3
  226. package/dist/chunks/organizations-SRPAWKC7.js +0 -2
  227. package/dist/chunks/profile-C6CQNVYE.js +0 -3
  228. package/dist/chunks/project-agent-GZV5HNYI.js +0 -2
  229. package/dist/chunks/sandbox-command-4TJXQTKT.js +0 -2
  230. package/dist/chunks/src-P3VYLFLI.js +0 -329
  231. package/dist/web/assets/App-CO2F717V.css +0 -1
  232. package/dist/web/assets/App-CuhaCsfb.js +0 -235
  233. package/dist/web/assets/AppsView-BS1czXUP.js +0 -1
  234. package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +0 -1
  235. package/dist/web/assets/LabsRoute-CXJRJMhr.js +0 -99
  236. package/dist/web/assets/MainChatThread-BwAla81W.js +0 -2
  237. package/dist/web/assets/MainPane-CakOBCHw.js +0 -19
  238. package/dist/web/assets/RightChatPanelStack-VaOOmxwd.js +0 -1
  239. package/dist/web/assets/ScheduledWorkPage-D1jRQxFs.js +0 -1
  240. package/dist/web/assets/SettingsView-RA9OXgcu.js +0 -5
  241. package/dist/web/assets/WorkSidebarPanel-DwlEMEoG.js +0 -1
  242. package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +0 -14
  243. package/dist/web/assets/WorkspaceEnvironmentMenu-Byjngd9V.js +0 -32
  244. package/dist/web/assets/arrow-up-right-H0pvnH2s.js +0 -1
  245. package/dist/web/assets/chunk-UHVJOMWN-BqXRe639.js +0 -1
  246. package/dist/web/assets/folder-plus-C84wrpt_.js +0 -1
  247. package/dist/web/assets/index-dSmk3FLJ.css +0 -1
  248. package/dist/web/assets/info-Dc81lEfw.js +0 -1
  249. package/dist/web/assets/minimize-2-Bs7MVN3C.js +0 -1
  250. package/dist/web/assets/monitor-DXL019Wf.js +0 -1
  251. package/dist/web/assets/play-CXkxUZeU.js +0 -1
  252. package/dist/web/assets/square-oy7f5Ce6.js +0 -1
  253. package/dist/web/assets/useProviderSettings-B_KeQjE5.js +0 -5
  254. /package/dist/chunks/{chunk-OGPHXXCD.js → chunk-BT5YNE5U.js} +0 -0
@@ -0,0 +1,24 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{B as Qr,Da as sa,Ga as bn,H as en,I as aa,M as tn,Z as ze,aa as Le,da as ft,fa as ht,ga as vn,ja as Fe,la as Ne,u as Or}from"./chunk-55G6B54U.js";import{$a as Zr,A as Va,Aa as Yr,Ab as Ve,Ba as Zt,C as Vr,Ca as Qt,Da as ee,Db as et,E as Wt,G as Yt,Ga as xe,Gb as ra,Ha as ea,I as zr,Ia as U,Ib as na,J as Lr,Ka as ta,Kb as ia,Mb as rn,Pb as nn,Ra as La,Sb as S,Sd as ln,T as Fr,Tb as z,Ub as P,Ud as un,Va as Xr,Vb as pt,Xd as pn,de as fn,ec as Fa,fc as sn,fd as cn,gc as ne,jb as ut,la as Nr,le as hn,mc as on,na as Ur,oa as za,oe as gn,pa as At,pb as an,qa as Gr,qd as Na,ra as le,rd as Ua,sa as Xt,sb as Qe,sd as dn,tb as ue,ua as Jr,wa as Ze,wb as te,x as me,xa as Kr,xd as mn,y as ge,ya as Pe,za as Wr}from"./chunk-KD3QVRIJ.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";var tt=ue.shape.id,Ct=e.string().regex(/^[a-f0-9]{64}$/),oa=e.object({scopeId:tt,modelId:tt}).strict(),ca=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:oa,root:ue,parent:ue}).strict(),Ga=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:tt,modelId:tt,expectedModelRevision:e.number().int().positive(),sourcePackageHash:Ct}).strict(),Ee=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:tt,requestHash:Ct,sourcePackageHash:Ct,sourceTasksetRef:ue,tasksetId:tt,tasksetRevision:e.number().int().positive(),lineage:ca,authoringGraph:e.literal("bound").optional()}).strict(),ie=e.string().min(1).max(1024).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.includes("\0")&&!t.startsWith("/")&&!t.split("/").some(a=>!a||a==="."||a===".."||a.startsWith(".env")),"Use a relative Taskset file path without environment files."),kn=e.object({path:ie,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),Mt=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),ds=kn.extend({contentHash:Ct,content:Mt}).strict(),Ja=e.object({draftId:tt,expectedDraftRevision:e.number().int().positive(),path:ie,expectedFileHash:Ct.nullable(),content:Mt.nullable()}).strict();var ms=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ls=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),us=class wn{static{c(this,"_Sha256State")}state=new Uint32Array(ms);pending=new Uint8Array(64);pendingLength=0;byteLength=0;words=new Uint32Array(64);update(a){let r=typeof a=="string"?new TextEncoder().encode(a):a;if(!Number.isSafeInteger(this.byteLength+r.length))throw new RangeError("SHA-256 input is too large");this.byteLength+=r.length;let n=0;if(this.pendingLength){let i=Math.min(64-this.pendingLength,r.length);this.pending.set(r.subarray(0,i),this.pendingLength),this.pendingLength+=i,n+=i,this.pendingLength===64&&(this.compress(this.pending),this.pendingLength=0)}for(;n+64<=r.length;)this.compress(r.subarray(n,n+64)),n+=64;return n<r.length&&(this.pending.set(r.subarray(n)),this.pendingLength=r.length-n),this}clone(){let a=new wn;return a.state.set(this.state),a.pending.set(this.pending),a.pendingLength=this.pendingLength,a.byteLength=this.byteLength,a}digestHex(){let a=this.clone(),r=new Uint8Array(a.pendingLength<56?64:128);r.set(a.pending.subarray(0,a.pendingLength)),r[a.pendingLength]=128;let n=a.byteLength*8,i=new DataView(r.buffer);return i.setUint32(r.length-8,Math.floor(n/4294967296),!1),i.setUint32(r.length-4,n>>>0,!1),a.compress(r.subarray(0,64)),r.length===128&&a.compress(r.subarray(64)),Array.from(a.state,s=>s.toString(16).padStart(8,"0")).join("")}compress(a){let r=new DataView(a.buffer,a.byteOffset,64),n=this.state,i=this.words;for(let g=0;g<16;g+=1)i[g]=r.getUint32(g*4,!1);for(let g=16;g<64;g+=1){let v=i[g-15],w=i[g-2],x=Re(v,7)^Re(v,18)^v>>>3,B=Re(w,17)^Re(w,19)^w>>>10;i[g]=i[g-16]+x+i[g-7]+B>>>0}let s=n[0],o=n[1],m=n[2],u=n[3],d=n[4],l=n[5],p=n[6],h=n[7];for(let g=0;g<64;g+=1){let v=d&l^~d&p,w=s&o^s&m^o&m,x=Re(s,2)^Re(s,13)^Re(s,22),B=Re(d,6)^Re(d,11)^Re(d,25),R=h+B+v+ls[g]+i[g]>>>0,y=x+w>>>0;h=p,p=l,l=d,d=u+R>>>0,u=m,m=o,o=s,s=R+y>>>0}n[0]=n[0]+s>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+m>>>0,n[3]=n[3]+u>>>0,n[4]=n[4]+d>>>0,n[5]=n[5]+l>>>0,n[6]=n[6]+p>>>0,n[7]=n[7]+h>>>0}};function ps(t){return new us().update(t).digestHex()}c(ps,"sha256Hex");function Re(t,a){return t>>>a|t<<32-a}c(Re,"rotateRight");var fs=2e3,Sn=25e7,L=e.string().trim().min(1).max(240),G=e.string().regex(/^[a-f0-9]{64}$/),Kd=e.string().datetime({offset:!0}),da=e.record(e.string(),e.unknown()).default({}),ve=e.object({id:L,contentHash:G}).strict(),yn=ve.extend({revision:e.number().int().positive()}).strict(),J=e.object({id:L,path:e.string().trim().min(1).max(fs).refine(hs),contentHash:G,sizeBytes:e.number().int().nonnegative().max(Sn),mediaType:e.string().trim().min(1).max(200),visibility:e.enum(["policy","verifier","host_private"])}).strict(),xn=e.object({id:L,contentHash:G,mediaType:e.string().trim().min(1).max(200).nullable().default(null),sizeBytes:e.number().int().nonnegative().max(Sn).nullable().default(null)}).strict(),ma=e.enum(["policy_failure","grader_failure","environment_failure","infrastructure_failure","timeout","cancelled"]);function Ae(t){return`${JSON.stringify(Ka(t),null,2)}
3
+ `}c(Ae,"canonicalJson");function F(t){return ps(t)}c(F,"sha256");function f(t){return F(Ae(t))}c(f,"contentHash");function Te(t,a){let{contentHash:r,...n}=t,i=f(n);if(r!==i)throw new Error(`${a} contentHash is ${r}; expected ${i}.`)}c(Te,"assertContentHash");function hs(t){let a=t.replaceAll("\\","/");return!a||a.startsWith("/")||a.includes("\0")?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(hs,"safeRelativePath");function Ka(t){return Array.isArray(t)?t.map(Ka):!t||typeof t!="object"?t:Object.fromEntries(Object.entries(t).sort(([a],[r])=>a.localeCompare(r)).map(([a,r])=>[a,Ka(r)]))}c(Ka,"sortValue");var Qd=e.object({provider:L,model:L,revision:e.string().trim().min(1).max(500).nullable().default(null),artifactHash:G.nullable().default(null),tokenizerRevision:e.string().trim().min(1).max(500).nullable().default(null),chatTemplateHash:G.nullable().default(null)}).strict(),gs=["openpond","codex","claude-code","grok-build","opencode","anthropic","openai","xai","google","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],vs=e.enum(gs),la=e.object({providerId:vs,modelId:e.string().trim().min(1).max(300)});var Wa=an.extend({mode:e.enum(["nightly","approved_count"]),minimumTasks:e.number().int().min(1).max(1e4),maximumSpendUsd:e.number().positive().max(1e5),maximumDailySpendUsd:e.number().positive().max(1e6)}).strict().superRefine((t,a)=>{t.maximumDailySpendUsd<t.maximumSpendUsd&&a.addIssue({code:"custom",path:["maximumDailySpendUsd"],message:"The daily budget must cover one update."})});var Xa="application/vnd.openpond.training+json;version=2",Rn="application/vnd.openpond.model-project+json;version=2",_n=1048576,gt=67108864,Za=8388608,ua=524288,bs=8388608,_=class extends Error{static{c(this,"OpenPondProtocolError")}code;constructor(t,a){super(a),this.name="OpenPondProtocolError",this.code=t}};function H(t){return JSON.stringify(Ya(t))}c(H,"canonicalJson");function ks(t){return new TextEncoder().encode(H(t)).byteLength}c(ks,"canonicalJsonByteLength");async function O(t){let a=new TextEncoder().encode(H(t)),r=await globalThis.crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(r),n=>n.toString(16).padStart(2,"0")).join("")}c(O,"canonicalSha256");function Me(t,a,r){let n=ks(t);if(n>a)throw new _("payload_too_large",`${r} is ${n} bytes; the maximum is ${a} bytes.`)}c(Me,"assertCanonicalPayloadSize");function Qa(t,a,r){let n=new TextEncoder().encode(t).byteLength;if(n>a)throw new _("response_too_large",`${r} is ${n} bytes; the maximum is ${a} bytes.`);try{return JSON.parse(t)}catch{throw new _("invalid_json",`${r} was not valid JSON.`)}}c(Qa,"parseBoundedJson");function Ya(t){if(t===null||typeof t=="string"||typeof t=="boolean")return t;if(typeof t=="number"){if(!Number.isFinite(t))throw new _("non_json_value","Canonical JSON cannot contain a non-finite number.");return Object.is(t,-0)?0:t}if(Array.isArray(t))return t.map(a=>Ya(a));if(typeof t=="object"){let a=Object.getPrototypeOf(t);if(a!==Object.prototype&&a!==null)throw new _("non_json_value","Canonical JSON accepts only plain objects.");let r={};for(let n of Object.keys(t).sort()){let i=t[n];if(i===void 0||typeof i=="function"||typeof i=="symbol")throw new _("non_json_value",`Canonical JSON cannot contain ${typeof i} at ${n}.`);r[n]=Ya(i)}return r}throw new _("non_json_value",`Canonical JSON cannot contain ${typeof t}.`)}c(Ya,"normalizeCanonicalJson");var A=e.string().trim().min(1).max(500),Ie=e.string().regex(/^[a-f0-9]{64}$/),pe=e.string().datetime({offset:!0}),T=e.object({id:A,contentHash:Ie}).strict(),V=T.extend({revision:e.number().int().positive()}).strict(),Ue=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:A,revision:e.string().trim().min(1).max(256).nullable(),tokenizerRevision:e.string().trim().min(1).max(256).nullable(),chatTemplateHash:e.string().trim().min(8).max(256).nullable(),modelAssetId:A.nullable(),source:e.enum(["managed","local","builtin"])}).strict(),jn=e.enum(["sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),er=e.object({schemaVersion:e.string().regex(/^openpond\.[A-Za-z0-9]+Recipe\.v\d+$/),method:jn,parameterization:e.enum(["lora","full"])}).catchall(e.unknown()),ws=e.object({profileProjectId:A,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),harnessRelease:T}).strict(),Ss=e.object({profileProjectId:A,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),catalogHash:Ie,definitionId:A,harnessRelease:T,tasksetRelease:T}).strict(),Hn=e.object({tasksetRef:V.nullable().default(null),evaluationTasksetRef:V.nullable().optional(),profileSource:ws.nullable().optional(),profileEvaluation:Ss.nullable().optional(),rewardBindingRef:V.nullable().optional(),tasksetRelease:T.nullable().default(null),harnessRelease:T.nullable().default(null),baseModel:Ue.nullable().default(null),method:jn.nullable().default(null),destinationId:A.nullable().default(null),managedRolloutPlacement:e.enum(["local","remote"]).default("remote"),managedGpuPlacementObjective:e.enum(["fast","balanced","economical"]).default("balanced"),managedGpuRequirement:e.enum(["any","h100_hbm3"]).default("any"),runPreset:e.enum(["small","standard","custom","small_experiment"]).nullable().default(null),recipe:er.nullable().default(null),preferredMaximumSpendUsd:e.number().nonnegative().nullable().default(null),preferredRetentionDays:e.number().int().nonnegative().nullable().default(null)}).strict(),$t=Hn.omit({managedGpuRequirement:!0}),ys=e.object({schemaVersion:e.literal("openpond.hostedModelProjectLink.v1"),apiOrigin:e.string().url().refine(t=>new URL(t).origin===t,"Use a canonical API origin.").nullable().default(null),teamId:A,projectId:A,portableProjectId:A,revision:e.number().int().positive(),etag:Ie,syncedSourceRevision:e.number().int().positive(),syncedAt:pe,tasksets:e.array(e.object({localTasksetId:A,localTasksetHash:Ie.nullable().default(null),releaseId:A,releaseRevision:e.number().int().positive(),releaseHash:Ie,packageHash:Ie.nullable().default(null),hostedTasksetId:A,syncedAt:pe}).strict()).max(1e4).default([])}).strict(),xs=e.object({localTasksetId:A,releaseId:A,releaseRevision:e.number().int().positive(),releaseHash:Ie,state:e.enum(["syncing","synced","sync_failed"]),hostedTasksetId:A.nullable().default(null),lastAttemptAt:pe,syncedAt:pe.nullable().default(null),lastError:e.string().trim().min(1).max(5e3).nullable().default(null)}).strict(),Rs=e.object({schemaVersion:e.literal("openpond.modelProject.v2"),id:A,profileId:A,revision:e.number().int().positive().default(1),name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:Ue.nullable(),defaultDestinationId:A.nullable(),trainingSetup:Hn,hosted:ys.nullable().default(null),tasksetSyncs:e.array(xs).max(1e4).default([]),createdAt:pe,updatedAt:pe}).strict(),Pn=Rs.pick({id:!0,profileId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,trainingSetup:!0}),Ts=e.object({schemaVersion:e.literal("openpond.modelProjectSave.v1"),operationId:A,expectedRevision:e.number().int().nonnegative(),project:Pn,learning:Wa.optional()}).strict().superRefine((t,a)=>{t.learning&&t.expectedRevision!==0&&a.addIssue({code:"custom",path:["learning"],message:"Use learning settings to edit an existing Model's policy."})}),Is=e.object({schemaVersion:e.literal("openpond.modelProjectConfigurationCheck.v1"),configurationHash:Ie,projectId:A,expectedRevision:e.number().int().nonnegative(),checkedAt:pe,canSave:e.boolean(),deferred:e.array(e.enum(["base_model","taskset"])).max(2),findings:e.array(e.object({code:A,severity:e.enum(["error","warning"]),message:e.string().min(1).max(5e3),field:e.string().min(1).max(500).nullable()}).strict()).max(100)}).strict(),_s=e.object({id:A,name:e.string().min(1).max(500),available:e.boolean(),preference:Ue}).strict();async function om(t){let a=pa(t);return O({project:a.project,expectedRevision:a.expectedRevision,...a.learning?{learning:a.learning}:{}})}c(om,"modelProjectConfigurationHash");function pa(t){try{ge(t,ua)}catch{throw new En(400,{schemaVersion:"openpond.modelProjectApiError.v2",code:"model_configuration_json_invalid",message:"Model configuration must be bounded JSON data.",retryable:!1,requestId:null,details:{}})}return Ts.parse(t)}c(pa,"parseModelProjectSaveRequest");async function cm(t,a,r){ge(t,ua);let n=Pn.parse(t);Me(n,ua,"Model configuration");let i=r?Wa.parse(r):void 0,s=await O({project:n,expectedRevision:a,...i?{learning:i}:{}});return pa({schemaVersion:"openpond.modelProjectSave.v1",operationId:`model-save:${s}`,expectedRevision:a,project:n,...i?{learning:i}:{}})}c(cm,"createModelProjectSaveRequest");var tr=e.object({schemaVersion:e.literal("openpond.hostedModelProjectSync.v2"),portableProjectId:A,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:Ue.nullable(),defaultDestinationId:A.nullable(),trainingSetup:$t,sourceRevision:e.number().int().positive(),sourceUpdatedAt:pe,expectedEtag:Ie.nullable().default(null)}).strict(),Ce=e.object({id:A,teamId:A,portableProjectId:A,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:Ue.nullable(),defaultDestinationId:A.nullable(),trainingSetup:$t,sourceRevision:e.number().int().positive(),sourceUpdatedAt:pe,revision:e.number().int().positive(),etag:Ie,createdAt:pe,updatedAt:pe}).strict(),js=e.object({kind:e.enum(["taskset_release","harness_release","dataset_release","evidence_set","model_version","reward_model_version","evaluation_receipt"]),ref:T,role:e.string().trim().min(1).max(200).nullable().default(null),updatedAt:pe}).strict(),Hs=e.object({project:Ce,resources:e.array(js).max(1e4),jobCount:e.number().int().nonnegative(),latestJobIds:e.array(A).max(100)}).strict(),Ps=e.object({schemaVersion:e.literal("openpond.modelProjectApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),En=class extends Error{static{c(this,"OpenPondModelProjectApiError")}status;code;retryable;requestId;details;constructor(t,a){super(a.message),this.name="OpenPondModelProjectApiError",this.status=t,this.code=a.code,this.retryable=a.retryable,this.requestId=a.requestId,this.details=a.details}};function Tn(t){let a={};return new Headers(t).forEach((r,n)=>{a[n]=r}),a}c(Tn,"headersRecord");function dm(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function n(i,s){let o=typeof t.headers=="function"?await t.headers():t.headers??{},m=await a(`${r}${i}`,{...s,headers:{accept:Rn,...s?.body?{"content-type":Rn}:{},...Tn(o),...Tn(s?.headers)}}),u=Qa(await m.text(),bs,"Model Project API response");if(!m.ok){let d=Ps.safeParse(u);throw d.success?new En(m.status,d.data):new _("invalid_error_response",`Model Project request failed with HTTP ${m.status} and an invalid error envelope.`)}return u}return c(n,"request"),{async configurationCandidates(){return e.object({candidates:e.array(_s).max(1e3)}).strict().parse(await n("/v1/model-projects/configuration/candidates",{headers:{accept:"application/json"}})).candidates},async checkConfiguration(i){let s=pa(i);return Is.parse(await n("/v1/model-projects/configuration/check",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async saveConfiguration(i){let s=pa(i);return Ce.parse(await n("/v1/model-projects/configuration/save",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async upsert(i){Me(i,ua,"Model Project sync");let s=tr.parse(i),o=await n(`/v1/model-projects/${encodeURIComponent(s.portableProjectId)}`,{method:"PUT",body:JSON.stringify(s)});return Ce.parse(In(o,"project"))},async list(){let i=await n("/v1/model-projects");return e.array(Ce).parse(In(i,"projects"))},async get(i){let s=await n(`/v1/model-projects/${encodeURIComponent(A.parse(i))}`);return Hs.parse(s)}}}c(dm,"createModelProjectsClient");function In(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}c(In,"unwrapObject");var Es=e.object({schemaVersion:e.literal("openpond.connectedDatasetSource.v1"),kind:e.literal("connected_activity"),id:e.string().min(1).max(240),profileId:e.string().min(1).max(240),title:e.string().min(1).max(500),sourceHash:e.string().regex(/^[a-f0-9]{64}$/),occurredAt:e.string().datetime(),licensingStatus:e.enum(["pending","approved","review","blocked"]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),origin:Or,sourceId:e.string().min(1).max(500),sessionId:e.string().min(1).max(500),normalizerVersion:e.string().min(1).max(200),projection:e.enum(["turn","conversation"]),ownerUserId:e.string().min(1).max(500),purpose:e.literal("recorded_evaluation"),metadata:e.record(e.string(),e.unknown()).default({})}).strict(),fe=e.string().trim().min(1).max(240),qe=e.string().trim().min(1),Ge=e.string().trim().min(8).max(256),Cn=e.string().trim().min(1).max(1e3).refine(t=>!t.startsWith("/")&&!t.startsWith("\\")&&!t.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),nt=e.enum(["train","validation","test","frozen_eval"]),As=e.object({name:e.string().trim().min(1).max(500),semanticRole:e.enum(["row_id","cluster_id","prompt","messages","demonstration","chosen","rejected","expected_output","privileged_context","reward","feedback","tag","metadata"]),logicalType:e.enum(["string","integer","float","boolean","json","messages"]),nullable:e.boolean(),policy:e.enum(["visible","privileged","metadata"])}),Cs=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(As).min(1).max(1e4),schemaHash:Ge}),Ms=e.object({id:fe,split:nt,path:Cn,contentHash:Ge,schemaHash:Ge,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),qt=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:fe,tasksetId:fe,tasksetRevision:e.number().int().positive(),contentHash:Ge,format:e.literal("parquet"),schema:Cs,shards:e.array(Ms).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(nt,e.number().int().nonnegative()),sourceReceiptRefs:e.array(fe).min(1).max(1e5),mappingHash:Ge,qualityReportHash:Ge,createdAt:qe}),Sm=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:fe,tasksetId:fe,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(nt,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:Ge,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:qe}),$s=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:fe,tasksetRevision:e.number().int().positive(),artifactId:fe.nullable(),name:e.string().trim().min(1).max(500),status:e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),storageKind:e.enum(["inline","parquet"]),rowCount:e.number().int().nonnegative(),splitCounts:e.record(nt,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:qe,updatedAt:qe}),ym=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:fe,datasets:e.array($s),generatedAt:qe}),xm=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:qt,profileId:fe,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:Cn,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:qe.nullable(),createdAt:qe,updatedAt:qe}),Rm=e.object({split:nt.nullable().default(null),cursor:e.string().trim().min(1).max(2e3).nullable().default(null),limit:e.number().int().min(1).max(100).default(25),columns:e.array(e.string().trim().min(1).max(500)).max(100).default([])}),Tm=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:fe,tasksetRevision:e.number().int().positive(),artifactHash:Ge,split:nt.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),qs=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:qe}),Ds=e.object({id:fe,label:e.string().trim().min(1).max(500),path:e.string().trim().min(1).max(4e3),datasetStorePath:e.string().trim().min(1).max(4e3),kind:e.enum(["local","network","removable","cache"]),configured:e.boolean(),mounted:e.boolean(),writable:e.boolean(),totalBytes:e.number().int().nonnegative().nullable(),freeBytes:e.number().int().nonnegative().nullable()}),Im=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:qs,storageRoots:e.array(Ds)}),_m=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)}),bt=e.string().trim().min(1).max(240),Bs=e.string().trim().min(1),kt=e.string().trim().min(8).max(256),Os=e.record(e.string(),e.unknown()).default({}),Vs=e.string().trim().min(7).max(256),zs=e.enum(["pending","approved","review","blocked"]),ga=e.object({id:bt,profileId:bt,title:e.string().trim().min(1).max(500),sourceHash:kt,occurredAt:Bs,licensingStatus:zs,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:Os}),Ls=ga.extend({schemaVersion:e.literal("openpond.huggingFaceDatasetSource.v1"),kind:e.literal("huggingface"),repositoryId:e.string().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:e.string().url().max(2e3),revision:Vs,configuration:e.string().trim().min(1).max(500),upstreamSplits:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),gated:e.boolean(),private:e.boolean(),declaredLicense:e.string().trim().min(1).max(500).nullable(),sourceFileHashes:e.array(kt).min(1).max(1e5)}),Fs=ga.extend({schemaVersion:e.literal("openpond.uploadedFileDatasetSource.v1"),kind:e.literal("uploaded_file"),originalFileNames:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),mediaTypes:e.array(e.string().trim().min(1).max(200)).min(1).max(1e3),sourceFileHashes:e.array(kt).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),Ns=ga.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:bt,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:kt}),Us=ga.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:bt,revision:e.number().int().positive(),contentHash:kt}).strict(),taskDefinition:e.object({id:bt,revision:e.number().int().positive(),contentHash:kt}).strict(),admittedBy:bt}),Gs=e.discriminatedUnion("kind",[Ls,Fs,Ns,Us]),Js=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:L,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:G,agentRelease:ve,implementationHash:G,runtimeBindingId:L,capabilityReceiptHash:G,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:L,source:e.literal("case_id")}).strict()).max(20).default([])}).strict(),E=e.string().trim().min(1).max(240),rr=e.string().trim().min(1),Ks=e.string().trim().min(8).max(256),nr=e.string().trim().regex(/^[a-f0-9]{64}$/),Ws=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),be=e.record(e.string(),e.unknown()).default({}),va=E.nullable();function Dt(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(Dt,"safeRelativeFilePath");function Ys(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}c(Ys,"safeFileName");var ha=nt,ba=e.enum(["general","benchmark"]),ka=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:E,releaseId:E,releaseHash:nr,managedReleasePath:e.string().trim().min(1).max(1e3).refine(Dt,"Benchmark release paths must remain relative."),adaptationSplit:ha,evaluationSplit:ha,primaryMetric:e.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),qualityGate:e.enum(["none","non_regression","all_pass"]),source:e.enum(["builtin","imported"]),metadata:be}),wa=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:E,releaseHash:nr,publishedAt:rr,metadata:be}),Xs=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:va,grantedAt:rr.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),Zs=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:E,profileId:E,sessionId:E,turnIds:e.array(E).max(1e3).default([]),workspaceId:va,sourceHash:Ks,clusterKey:E,title:e.string().trim().min(1).max(500),occurredAt:rr,consent:Xs,connectedAppIds:e.array(E).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:be}),wt=e.union([Zs,Gs,Es]),Sa=e.object({policyVisibleFields:e.array(E).max(1e3).default([]),privilegedFields:e.array(E).max(1e3).default([]),hiddenGraderRefs:e.array(E).max(100).default([]),connectedAppScopes:e.array(E).max(100).default([])}),Qs=e.object({id:E,sourceRefId:E,artifactRef:e.string().trim().min(1).max(4e3).refine(Dt,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Ys,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:nr,sizeBytes:e.number().int().nonnegative().max(25e7),split:ha,metadata:be}),eo=e.object({path:e.string().trim().min(1).max(1e3).refine(Dt,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:E.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:be}),Bt=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:E,clusterKey:E,split:ha,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:va,sourceRefs:e.array(E).min(1).max(100),assets:e.array(Qs).max(1e3).optional(),resourceRefs:e.array(E).max(1e3).optional(),requiredOutputs:e.array(eo).max(100).optional(),tags:e.array(E).max(100).default([]),metadata:be}),ir=e.object({id:E,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(Dt,"Environment resource paths must remain relative."),mediaType:e.string().trim().min(1).max(200).nullable().optional(),visibility:e.enum(["policy_visible","policy_hidden","privileged"]),required:e.boolean(),metadata:be}),St=e.object({id:E,taskId:va,sourceRefs:e.array(E).min(1).max(100),artifactRef:E,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:be}),Mn=St.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),$n=St.extend({kind:e.literal("preference"),prompt:e.string().max(1e5),chosen:e.string().max(2e5),rejected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),qn=St.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Dn=St.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),Bn=St.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:E,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),On=St.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:E,label:e.string().trim().min(1).max(500),description:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),calibrationExamples:e.object({positive:e.string().trim().min(1).max(2e5),negative:e.string().trim().min(1).max(2e5),boundary:e.string().trim().min(1).max(2e5)})}),Cm=e.discriminatedUnion("kind",[Mn,$n,qn,Dn,Bn,On]),ya=e.object({demonstrations:e.array(Mn).max(1e5).default([]),preferences:e.array($n).max(1e5).default([]),corrections:e.array(qn).max(1e5).default([]),feedback:e.array(Dn).max(1e5).default([]),rewards:e.array(Bn).max(1e5).default([]),labels:e.array(On).max(1e5).default([])}),xa=e.object({protocolVersion:e.literal("openpond.taskEnvironment.v1"),kind:e.enum(["chat","agent","program","stateful_harness","work"]),entrypoint:e.string().trim().min(1).max(1e3),stateful:e.boolean(),deterministicSeeds:e.boolean(),toolNames:e.array(E).max(200).default([]),actionBindings:e.array(Js).max(200).optional(),lifecycle:e.array(e.enum(["create","reset","step","grade","cleanup"])).min(1),defaultTimeoutMs:e.number().int().positive().max(36e5),networkPolicy:e.enum(["none","declared_read_only","declared_scoped"]),resources:e.array(ir).max(1e4).optional(),metadata:be}),Ra=e.object({schemaVersion:e.literal("openpond.tasksetCapabilities.v1"),taskKind:e.enum(["chat","single_agent","multi_agent","custom_program"]),supportedSignals:e.array(e.enum(["demonstration","preference","correction","feedback","reward","label"])),compatibleMethods:e.array(e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"])),rewardKinds:e.array(e.enum(["none","exact","deterministic","model_judge","human"])),requiresTools:e.boolean(),requiresState:e.boolean(),requiresPrivilegedGrading:e.boolean(),environmentPlacements:e.array(e.enum(["local","remote","colocated","provider_native"])),exportable:e.boolean(),portabilityBlockers:e.array(e.string().trim().min(1).max(2e3)).default([])}),Ta=e.object({id:E,version:e.string().trim().min(1).max(100),label:e.string().trim().min(1).max(500),weight:e.number().min(0).max(1e3).default(1),hardGate:e.boolean().default(!1),rewardEligible:e.boolean().default(!1),privileged:e.boolean().default(!1),metadata:be}),to=Ta.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),ao=Ta.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:la,calibrationFixtureRefs:e.array(E).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),ro=Ta.extend({kind:e.literal("human"),form:Fr.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),no=Ta.extend({kind:e.literal("custom_verifier"),runtime:Ur.optional(),module:e.string().trim().min(1).max(1e3).refine(Dt,"Custom verifier modules must use a safe relative path."),exportName:Ws,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),se=e.union([to,ao,ro,no]),io=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),it=e.object({id:E,taskId:E,label:io,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:be}),fa=e.string().regex(/^[a-f0-9]{64}$/),Om=e.object({schemaVersion:e.literal("openpond.javascriptEnvironmentAttempt.v1"),taskId:e.string(),status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),output:e.string().nullable(),collected:e.boolean(),environmentCleanupComplete:e.boolean(),snapshot:e.object({definition:V,inputHash:fa,seed:e.number().int(),initialStateHash:fa,finalStateHash:fa,state:e.record(e.string(),e.unknown()),events:e.array(e.record(e.string(),e.unknown()))}).strict().nullable(),messages:e.array(e.unknown()),error:e.string().nullable(),contentHash:fa}).strict();var rt=e.object({environment:ze,verifierSet:Le,javascript:sa}).strict(),Vm=e.object({actions:e.array(e.object({name:e.string().min(1).max(64),arguments:e.record(e.string(),e.unknown())}).strict()).max(1e3)}).strict();function Ot(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${P({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}c(Ot,"modelStarterExecutionAssetId");function so(t){let a=rt.parse(t);Vn(a);let r=Ot({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),n=ea({text:H(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:i,...s}=n;return P({...s,id:r,asset:{...s.asset,id:r}})}c(so,"createModelStarterExecutionAsset");function zm(t,a,r){if(a.id!==Ot(t)||a.asset.visibility!=="host_private"||a.asset.mediaType!=="application/json")throw new Error("Starter execution asset differs from its Taskset references.");let n=rt.parse(JSON.parse(U(a,a.asset)));return sr(n,t,r),n}c(zm,"resolveModelStarterExecutionAsset");function at(t,a){return P({value:t}).contentHash===P({value:a}).contentHash}c(at,"equal");function Vn(t){bn(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...n}=a;if(P(n).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!at(t.environment.metadata.javascriptEnvironment,S(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}c(Vn,"assertExecutionIntegrity");function sr(t,a,r){if(!t){if(a.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:n,verifierSet:i,javascript:s}=t;if(Vn(t),!at(a.environmentRelease,{id:n.id,contentHash:n.contentHash})||!at(a.verifierSetRelease,{id:i.id,contentHash:i.contentHash})||!at(n.contract,a.environment)||!at(i.graders,a.graders)||!at(a.tools,s.tools)||!at(n.metadata.javascriptEnvironment,S(s)))throw new Error("Starter execution resources differ from its declared task context.");let o=n.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||a.capabilities.length||a.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let m of[s.module,n.actionSchemaRef,n.observationSchemaRef,n.stateSchemaRef]){if(!m)continue;let u=r.find(d=>d.id===m.id);if(!u)throw new Error(`Starter environment asset is missing: ${m.id}.`);U(u,m)}for(let m of a.tasks){let u=r.find(l=>l.id===m.privilegedContextRef);if(!u||u.asset.visibility!=="host_private"||u.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${m.id}.`);let d=JSON.parse(U(u,u.asset));if(!d||typeof d!="object"||Array.isArray(d))throw new Error(`Starter initial state must be a JSON object: ${m.id}.`);ge(d,s.maxStateBytes)}}c(sr,"validateModelStarterExecution");var zn=e.object({environment:ze,verifierSet:Le}).strict();function oo(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Taskset execution references are missing.");return`taskset-execution-${P({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}c(oo,"modelTasksetExecutionResourcesAssetId");function Um(t){let a=zn.parse({environment:t.environment,verifierSet:t.verifierSet});co(a);let r=oo({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),{contentHash:n,...i}=ea({text:H(a),path:"environment/resources.json",mediaType:"application/json",visibility:"host_private"});return P({...i,id:r,asset:{...i.asset,id:r}})}c(Um,"createModelTasksetExecutionResourcesAsset");function co(t){if(!Fe(t.environment)||!Ne(t.verifierSet))throw new Error("Taskset execution resource integrity failed.")}c(co,"assertIntegrity");var Ln=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),or=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:Ln,root:V,parent:V}).strict(),Fn=e.object({taskset:le,taskDefinition:te,rewardBinding:Pe,rewards:e.array(Ze).min(1).max(100),assets:e.array(xe).max(1e3),executionResources:zn.optional(),execution:rt.optional(),instructionMode:e.literal("per_task").optional()}).strict(),$e=c((t,a)=>P({value:t}).contentHash===P({value:a}).contentHash,"same"),An=c((t,a)=>`model-taskset-${P({owner:t,root:a}).contentHash}`,"identity");function Nn(t){return Vt({...t,source:cr(t.source)})}c(Nn,"deriveModelTaskset");function Vt(t){let a=Ln.parse(t.owner),r=t.source,n=t.edits??r,i=r.taskset.metadata.modelTasksetDerivation===void 0?null:or.parse(r.taskset.metadata.modelTasksetDerivation);if(i&&r.taskset.id!==An(i.owner,i.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let s=i&&$e(i.owner,a),o=s?i.root:S(r.taskset),m=s?r.taskset.id:An(a,o),u=s?r.taskset.revision+1:1,d=Pe.parse(t.rewardBinding),l=t.rewards.map(D=>Ze.parse(D)),p=ee(d,l);if(d.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let h={...n.taskset.policy,hiddenGraderRefs:p.filter(D=>D.privileged).map(D=>D.id)},g=n.executionResources??n.execution,v=g?.environment??ft({schemaVersion:"openpond.environmentRelease.v1",id:`${m}-environment`,revision:1,contract:n.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),w=ht({schemaVersion:"openpond.verifierSetRelease.v1",id:`${m}-verifiers`,revision:u,graders:p,isolation:g?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:g?{sourceVerifierSet:S(g.verifierSet)}:{}}),x={environment:v,verifierSet:w},B=n.execution?{...n.execution,verifierSet:w}:void 0,{contentHash:R,...y}=n.taskset,{contentHash:re,...ce}=n.taskDefinition,b={...ce.execution,policy:h,environmentRelease:{id:v.id,contentHash:v.contentHash},verifierSetRelease:{id:w.id,contentHash:w.contentHash}},I=te.parse(P({...ce,id:`${m}-definition`,revision:u,rewardBinding:S(d),execution:b})),j=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,N=j&&typeof j=="object"&&!Array.isArray(j)&&"graderFixtures"in j?j.graderFixtures:void 0,k=le.parse(P({...y,...b,id:m,revision:u,graders:p,metadata:{starter:{taskDefinition:S(I),rewardBinding:S(d)},rewardExecution:{binding:d,rewards:l},...N===void 0?{}:{starterAuthoring:{graderFixtures:N}},...n.taskset.metadata.environmentResources===void 0?{}:{environmentResources:n.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:S(r.taskset)}}}));return cr({taskset:k,taskDefinition:I,rewardBinding:d,rewards:l,assets:t.assets,executionResources:x,...B?{execution:B}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}c(Vt,"compileModelTasksetReward");function cr(t){let a=Fn.parse(t),{taskset:r,taskDefinition:n,rewardBinding:i,rewards:s,assets:o,execution:m}=a;for(let w of[r,n,i,...s,...o])pt(w);if(Xt(r),i.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!z(n.rewardBinding,S(i)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:u,environment:d,environmentRelease:l,tools:p,capabilities:h,verifierSetRelease:g}=r;if(!$e(n.execution,{policy:u,environment:d,...l?{environmentRelease:l}:{},tools:p,capabilities:h,...g?{verifierSetRelease:g}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!$e(r.graders,ee(i,s)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let w=e.object({taskDefinition:V,rewardBinding:V}).passthrough().parse(r.metadata.starter);if(!z(w.taskDefinition,S(n))||!z(w.rewardBinding,S(i)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!$e(r.metadata.rewardExecution,{binding:i,rewards:s}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!z(V.parse(r.metadata.rewardBinding),S(i)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let v=a.executionResources??m;if(r.environmentRelease&&!v)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(v&&(!Fe(v.environment)||!Ne(v.verifierSet)||!$e(r.environmentRelease,{id:v.environment.id,contentHash:v.environment.contentHash})||!$e(r.verifierSetRelease,{id:v.verifierSet.id,contentHash:v.verifierSet.contentHash})||!$e(r.environment,v.environment.contract)||!$e(r.graders,v.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(sr(m,r,o),new Set(o.map(w=>w.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let w of o)U(w,w.asset);for(let w of v?[v.environment.actionSchemaRef,v.environment.observationSchemaRef,v.environment.stateSchemaRef]:[]){if(!w)continue;let x=o.find(B=>B.id===w.id);if(!x)throw new Error(`Taskset environment asset is missing: ${w.id}.`);U(x,w)}for(let w of r.tasks){if(n.requiredOutputs&&!$e(w.requiredOutputs,n.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${w.id}.`);if(a.instructionMode!=="per_task"&&w.policyVisibleContext.instructions!==n.instructions||!Va(n.inputSchema,w.input).valid||w.expectedOutput!==null&&!Va(n.outputSchema,w.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${w.id}.`);if(w.privilegedContextRef&&!o.some(x=>x.id===w.privilegedContextRef&&x.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${w.id}.`)}for(let w of s){let x=w.implementation,B=[...w.assets,..."verifierRef"in x?[x.verifierRef]:[],..."rubricRef"in x?[x.rubricRef]:[],..."inputContract"in x?[x.inputContract]:[]];for(let R of B){let y=o.find(re=>re.id===R.id);if(!y||R.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${R.id}.`);U(y,R)}}return a}c(cr,"validateModelTasksetPackage");var dr=e.object({batch:ia,evidence:e.array(et).min(1).max(1e4),decisions:e.array(na).min(1).max(1e4),sources:e.array(Ve).min(1).max(1e4),assets:e.array(xe).max(1e3)}).strict();function Un(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=H(a.submission.evaluatorContext),n=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:F(n),sizeBytes:n.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(n,i=>String.fromCharCode(i)).join(""))}})}c(Un,"learningPackageContextFiles");function Gn(t,a){let r=dr.parse(a),n=ne(t);if(!z(S(r.batch),n.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let d of[r.evidence,r.decisions,r.sources,r.assets]){let l=new Set;for(let p of d){pt(p);let h=`${p.id}:${p.revision}`;if(l.has(h))throw new Error("Taskset learning resource identities must be unique.");l.add(h)}}if(r.evidence.length!==r.batch.examples.length||r.decisions.length!==r.batch.examples.length)throw new Error("Taskset learning snapshots must match the admitted batch inventory.");for(let d of r.evidence){let l=r.sources.find(p=>z(S(p),d.source));if(!l||!z(l.taskDefinition,S(n.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(d=>!r.evidence.some(l=>z(l.source,S(d)))))throw new Error("Taskset package includes an unrelated learning source.");let i=n.rewards.flatMap(d=>[...d.assets,...d.implementation.kind==="custom_verifier"?[d.implementation.verifierRef]:d.implementation.kind==="model_judge"||d.implementation.kind==="human"?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]);for(let d of i){let l=r.assets.find(p=>p.id===d.id);if(!l)throw new Error("Taskset learning Reward asset is missing.");U(l,d)}if(r.assets.some(d=>!i.some(l=>l.id===d.id)))throw new Error("Taskset package includes an unrelated learning asset.");let s=sn({batch:r.batch,definition:n.definition,binding:n.binding,rewards:n.rewards,evidence:r.evidence,decisions:r.decisions}),o=ne(s);if(f(o)!==f(n))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let m=c(d=>({policy:d.policy,environment:d.environment,tools:d.tools}),"execution");if(f(m(s))!==f(m(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let u=c(d=>({id:d.id,clusterKey:d.clusterKey,split:d.split,input:d.input,expectedOutput:d.expectedOutput,policyVisibleContext:d.policyVisibleContext,privilegedContextRef:d.privilegedContextRef,artifactRefs:d.artifactRefs,requiredOutputs:d.requiredOutputs??[],tags:d.tags}),"taskContent");if(f(s.tasks.map(u))!==f(t.tasks.map(u)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}c(Gn,"validateTasksetLearningResources");var De=64*1024*1024,mr=e.object({asset:J,base64:e.string().max(Math.ceil(De/3)*4)}).strict();function he(t){let a=mr.parse(t),r=atob(a.base64);if(btoa(r)!==a.base64)throw new Error(`Taskset asset ${a.asset.id} has noncanonical base64.`);let n=Uint8Array.from(r,i=>i.charCodeAt(0));if(n.byteLength!==a.asset.sizeBytes||F(n)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return n}c(he,"decodeTasksetPackageFile");function Je(t){if(t.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let a=new Map(t.files.map(o=>[o.asset.id,o])),r=c(o=>{let m=a.get(o);if(!m)throw new Error(`Taskset environment asset is missing: ${o}.`);if(m.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let u=new TextDecoder("utf-8",{fatal:!0}).decode(he(m));return xe.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:m.asset,text:u}))},"read"),n;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");n=rt.parse(t.modelResources.execution)}else{let o=r(Ot(t.taskset));if(o.asset.visibility!=="host_private"||o.asset.mediaType!=="application/json"||o.asset.path!=="environment/execution.json")throw new Error("Taskset execution declaration must be private JSON at environment/execution.json.");n=rt.parse(JSON.parse(o.text))}let s=[...new Set([n.javascript.module.id,...[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return sr(n,t.taskset,s),{execution:n,assets:s}}c(Je,"resolveTasksetPackageExecution");function Ia(t){let a=so(t),r=new TextEncoder().encode(a.text),n="";for(let i of r)n+=String.fromCharCode(i);return{asset:a.asset,base64:btoa(n)}}c(Ia,"createTasksetPackageExecutionFile");var Jn=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:Kr,fixtureSet:J,calibrationCheck:ue,fixture:cn,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:J,graderId:e.string().min(1).max(240).optional()}).strict();function Kn(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:it.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}c(Kn,"authoredFixtures");function mo(t){for(let a of Kn(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&lo(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Wn(t,a.asset)}c(mo,"assertTasksetCalibrationClosures");function lo(t,a){let r=Jn.parse(a.metadata.rewardCalibration),n=Wn(t,r.closureRef);(f(r.sourceReward)!==f(S(n.reward))||f(r.fixtureSet)!==f(n.reward.fixtureSetRef)||r.calibrationCheck.id!==n.check.id||r.calibrationCheck.revision!==n.check.revision||r.calibrationCheck.contentHash!==f(n.check))&&K("calibration_source_changed");let i=r.fixture,s=`calibration-${f([r.sourceReward,i.id])}`;(a.id!==s||a.taskId!==s||t.taskset.tasks.some(v=>v.id===s)||r.fixtureHash!==f(i)||f(a.output)!==f(i.output)||a.infrastructureError!==i.infrastructureError)&&K("calibration_fixture_changed");let o=n.check.results.filter(v=>v.fixture.id===i.id&&v.fixture.contentHash===r.fixtureHash);(o.length!==1||f(o[0])!==r.checkResultHash)&&K("calibration_result_changed");let m=i.expected;(m.status!=="scored"||typeof m.passed!="boolean"||a.expectedPassed!==m.passed||a.label!==(m.passed?"positive":"negative"))&&K("calibration_expectation_unsupported");let u=r.graderId??r.sourceReward.id,d=t.taskset.graders.filter(v=>v.id===u),l=d[0];(d.length!==1||!l)&&K("calibration_grader_not_unique"),a.expectedRewardEligible!==l.rewardEligible&&K("calibration_reward_expectation_changed");let p=Zt({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${n.contentHash}`,revision:1,sources:[{graderId:u,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:l.weight,required:!0,hardGate:l.hardGate,privileged:l.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[n.reward]),h=ee(p,[n.reward])[0],g=c(v=>{let{rewardEligible:w,...x}=v;return x.kind==="model_judge"?{...x,temperature:x.temperature??0}:x},"implementation");return f(g(l))!==f(g(h))&&K("calibration_grader_changed"),l.kind==="model_judge"&&uo(t,l,r,n),{kind:"independent_reward_calibration",fixtureId:s,task:At.parse({id:s,clusterKey:s,split:"validation",input:i.input,expectedOutput:i.expectedOutput,privilegedContextRef:null}),evaluatorContext:i.evaluatorContext,evidence:{output:i.output,artifactRefs:i.artifactRefs,runtimeEventRefs:i.runtimeEventRefs,infrastructureError:i.infrastructureError},grader:h,reward:n.reward,binding:p,expected:m,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}c(lo,"resolveIndependent");function Wn(t,a){(a.visibility!=="host_private"||a.sizeBytes>ln||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&K("calibration_closure_not_private");let r=t.files.filter(u=>u.asset.id===a.id);(r.length!==1||f(r[0].asset)!==f(a))&&K("calibration_closure_asset_changed");let n=he(r[0]),i=new TextDecoder("utf-8",{fatal:!0}).decode(n),s=un(JSON.parse(i));f(pn(s).asset)!==f(a)&&K("calibration_closure_reference_changed"),t.files.filter(u=>u.asset.contentHash===a.contentHash||u.asset.id===a.id||u.asset.path===a.path).some(u=>u.asset.visibility!=="host_private")&&K("calibration_closure_visible_alias");let m=c(u=>u.id===a.id||u.path===a.path||u.contentHash===a.contentHash,"isAlias");for(let u of t.taskset.tasks)(u.artifactRefs.some(m)||(u.requiredOutputs??[]).some(d=>d.schemaRef&&m(d.schemaRef))||u.privilegedContextRef&&t.files.some(d=>d.asset.id===u.privilegedContextRef&&m(d.asset)))&&K("calibration_closure_task_alias"),(ar(u.input,i,a.contentHash)||ar(u.policyVisibleContext,i,a.contentHash))&&K("calibration_closure_inline_alias");for(let u of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])u&&m(u)&&K("calibration_closure_environment_schema_alias");for(let u of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(u===void 0)continue;let d=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(u);for(let l of d){let p=t.files.find(h=>h.asset.path===l.path);(l.id===a.id||l.path===a.path||p&&m(p.asset))&&K("calibration_closure_environment_resource_alias")}}return s}c(Wn,"readPrivateClosure");function ar(t,a,r){return typeof t=="string"?t===a||F(t)===r:!t||typeof t!="object"?!1:F(JSON.stringify(t))===r?!0:Object.values(t).some(n=>ar(n,a,r))}c(ar,"containsClosure");function K(t){throw new Error(t)}c(K,"fail");function uo(t,a,r,n){let i=a.id,s=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring,o=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(s),m=n.check.fixtureRefs.map(d=>`calibration-${f([r.sourceReward,d.id])}`);f(o.judgeCalibrationFixtures[i]??[])!==f(m)&&K("calibration_judge_membership_changed");let u=Kn(t);for(let d=0;d<m.length;d++){let l=u.filter(x=>x.id===m[d]);l.length!==1&&K("calibration_judge_membership_changed");let p=l[0],h=Jn.parse(p.metadata.rewardCalibration),g=h.fixture.expected;(g.status!=="scored"||typeof g.passed!="boolean"||p.expectedPassed!==g.passed||p.expectedRewardEligible!==a.rewardEligible||p.label!==(g.passed?"positive":"negative")||f(p.output)!==f(h.fixture.output)||p.infrastructureError!==h.fixture.infrastructureError)&&K("calibration_judge_membership_changed");let v=n.check.fixtureRefs[d],w=n.check.results.find(x=>x.fixture.id===v.id);(p.taskId!==p.id||h.fixture.id!==v.id||h.fixtureHash!==v.contentHash||f(h.fixture)!==v.contentHash||h.checkResultHash!==f(w)||f(h.sourceReward)!==f(r.sourceReward)||f(h.fixtureSet)!==f(r.fixtureSet)||f(h.calibrationCheck)!==f(r.calibrationCheck)||f(h.closureRef)!==f(r.closureRef)||(h.graderId??h.sourceReward.id)!==i)&&K("calibration_judge_membership_changed")}}c(uo,"assertJudgeFixtureMembership");function lr(t){return`model-authored-taskset-${f({owner:t.owner,root:t.root})}`}c(lr,"modelAuthoredTasksetId");function ur(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=ca.parse(t.metadata.modelTasksetAuthoring);if(t.id!==lr(a)||(t.revision===1?!z(a.parent,a.root):a.parent.id!==t.id||a.parent.revision!==t.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return a}c(ur,"assertModelTasksetAuthoring");var po=Fn.omit({taskset:!0,executionResources:!0}),pr=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:le,environment:ze,verifierSet:Le,files:e.array(mr).max(1e4),modelResources:po.optional(),learningResources:dr.optional()}).strict(),st=pr.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function fr(t){return t.learningResources?ne(t.taskset).binding:t.modelResources?.rewardBinding??null}c(fr,"tasksetPackageRewardBinding");function ot(t){return t.learningResources?ne(t.taskset).definition.instructions:t.modelResources?t.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(t.taskset.metadata.ordinaryAuthoring??{}).instructions??""}c(ot,"resolveTasksetPackageInstructions");function W(t){ge(t,De);let a=st.parse(t),{contentHash:r,...n}=a;if(f(n)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:s,verifierSet:o}=a;if(Xt(i),ur(i)&&(a.modelResources||a.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!Fe(s)||!Ne(o)||!vt(i.environmentRelease,{id:s.id,contentHash:s.contentHash})||!vt(i.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!vt(i.environment,s.contract)||!vt(i.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let u=new Map;for(let l of a.files){if(u.has(l.asset.id))throw new Error(`Duplicate Taskset asset identity: ${l.asset.id}.`);he(l),u.set(l.asset.id,l)}function d(l){let p=u.get(l.id);if(!p||!vt(p.asset,l))throw new Error(`Taskset package asset is missing or mismatched: ${l.id}.`)}c(d,"requireAsset");for(let l of i.tasks){for(let p of l.artifactRefs)d(p);for(let p of l.requiredOutputs??[])p.schemaRef&&d(p.schemaRef);if(l.privilegedContextRef&&u.get(l.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${l.id}.`)}for(let l of[s.actionSchemaRef,s.observationSchemaRef,s.stateSchemaRef])l&&d(l);for(let l of i.graders){let p="verifierRef"in l?l.verifierRef:"rubricRef"in l?l.rubricRef:null;if(p&&(d(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(i.metrics?.customAggregator){let l=i.metrics.customAggregator,p=a.files.filter(h=>h.asset.path===l.module);if(p.length!==1||p[0].asset.contentHash!==l.contentHash||p[0].asset.sizeBytes>524288||p[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let l of[i.metadata.environmentResources,s.metadata.resources])if(l!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(l))if(!a.files.some(h=>h.asset.path===p.path))throw new Error(`Taskset environment resource is missing: ${p.path}.`)}if(a.learningResources){if(a.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let l=Gn(i,a.learningResources);for(let p of Un(l))if(!vt(u.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of l.assets)d(p.asset)}else if(a.modelResources){let l=cr({...a.modelResources,taskset:i,executionResources:{environment:s,verifierSet:o}});for(let p of l.assets)d(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(l=>i.metadata[l]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Je(a),ot(a),mo(a),a}c(W,"validateTasksetPackage");function yt(t){ge(t,De);let a=pr.parse(t);return W({...a,contentHash:f(a)})}c(yt,"createTasksetPackage");function vt(t,a){return f({value:t})===f({value:a})}c(vt,"same2");var _a=ue.shape.id,hr=e.object({schemaVersion:e.literal("openpond.modelBatchReviewInspection.v1"),packageHash:e.string().regex(/^[a-f0-9]{64}$/),definition:te,binding:Pe,evidence:e.array(et).min(1).max(1e4),decisions:e.array(na).min(1).max(1e4)}).strict(),ja=e.object({schemaVersion:e.literal("openpond.modelBatchReviewRequest.v1"),operationId:_a,modelId:_a,expectedModelRevision:e.number().int().positive(),tasksetRef:ue,rewardBindingRef:ue.nullable(),definition:e.object({name:e.string().trim().min(1).max(500).optional(),instructions:e.string().trim().min(1).max(2e4).optional(),inputSchema:Qe.optional(),outputSchema:Qe.optional(),requiredOutputs:te.shape.requiredOutputs}).strict(),examples:e.array(e.object({evidence:ue,input:Qe.optional(),expected:Qe.nullable().optional(),evaluatorContext:Qe.nullable().optional(),proposedTarget:Qe.nullable().optional()}).strict()).max(1e4)}).strict(),gr=e.object({schemaVersion:e.literal("openpond.modelBatchReviewReceipt.v1"),operationId:_a,modelId:_a,source:Ve,evidence:e.array(et).min(1).max(1e4),proposals:e.array(ra).max(1e4)}).strict();function Yn(t){let a=t.taskset.metadata.ordinaryAuthoring,r=e.record(e.string(),e.array(e.string().min(1)).max(1e5)).parse(a?.judgeCalibrationFixtures??{});return t.taskset.graders.map(n=>{let i={...n,label:n.id,metadata:{portableGrader:n}};if(n.kind==="custom_verifier")return se.parse({...i,module:zt(n.verifierRef.contentHash),exportName:n.exportName??"verify",metadata:{...i.metadata,portableVerifierRef:n.verifierRef}});if(n.kind==="human"||n.kind==="model_judge"){let s=t.files.find(u=>u.asset.id===n.rubricRef.id);if(!s)throw new Error(`Imported rubric is missing: ${n.id}.`);let o=new TextDecoder("utf-8",{fatal:!0}).decode(he(s)),m={...i.metadata,portableRubricRef:n.rubricRef};if(n.kind==="human")return se.parse({...i,rubric:o,metadata:m});if(!n.model)throw new Error(`Imported judge ${n.id} requires its declared model before local preparation.`);return se.parse({...i,rubric:o,metadata:m,judge:n.model,temperature:n.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:r[n.id]??[]})}return se.parse({...i,kind:n.kind==="artifact"?"file":n.kind,config:n.kind==="artifact"?{...n.config,...n.config.refIncludes===void 0?{}:{pathIncludes:n.config.refIncludes}}:n.config})})}c(Yn,"importedPackageGraders");function Ha(t,a,r=[]){let n=Qt(t,a);return ee(t,a).map(i=>{let s=n.find(({source:m})=>m.graderId===i.id).reward,o={...i,label:s.name,metadata:{rewardBinding:S(t)}};if(i.kind==="model_judge"){if(!i.model||i.calibrationStatus!=="passed"||!s.calibrationCheckRef||!s.fixtureSetRef)throw new Error(`Reward ${i.id} needs a retained passing calibration check before preparation.`);let m=r.find(l=>l.id===i.rubricRef.id),u=r.find(l=>l.id===s.fixtureSetRef.id);if(!m||!u)throw new Error(`Reward ${i.id} is missing its immutable rubric or calibration fixtures.`);let d=on.array().min(1).max(50).parse(JSON.parse(U(u,s.fixtureSetRef)));return se.parse({...o,rubric:U(m,i.rubricRef),judge:i.model,temperature:i.temperature??0,calibrationFixtureRefs:d.map(l=>l.id),metadata:{...o.metadata,portableGrader:i,portableRubricRef:i.rubricRef,calibrationEvidenceHash:s.calibrationCheckRef.contentHash,calibrationCheckRef:s.calibrationCheckRef}})}if(i.kind==="custom_verifier")return se.parse({...o,module:zt(i.verifierRef.contentHash),exportName:i.exportName??"verify",metadata:{...o.metadata,portableVerifierRef:i.verifierRef}});if(i.kind==="human"){let m=r.find(u=>u.id===i.rubricRef.id);if(!m)throw new Error(`Reward ${i.id} is missing its immutable rubric.`);return se.parse({...o,rubric:U(m,i.rubricRef),metadata:{...o.metadata,portableGrader:i,portableRubricRef:i.rubricRef}})}return se.parse({...o,kind:i.kind==="artifact"?"file":i.kind})})}c(Ha,"projectLearningBatchGraders");function zt(t){return`graders/reward-${t}.js`}c(zt,"learningVerifierModule");var _e=e.string().trim().min(1).max(240),Lt=e.string().trim().min(1),Pa=e.string().trim().min(8).max(256),Zn=e.record(e.string(),e.unknown()).default({}),fo=_e.nullable(),ho=["work_capabilities","work_environment","work_list_files","work_read_file","work_read_document","work_write_file","work_write_docx","work_edit_file","work_delete_file","work_exec","work_save_output","work_stop"],go=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),vo=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),X=e.string().trim().max(1e5),bo=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:X,examples:e.array(e.object({id:_e,prompt:X,response:X})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:X,pairs:e.array(e.object({id:_e,prompt:X,chosen:X,rejected:X,rationale:X})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:X,rules:e.array(e.object({id:_e,points:e.number().finite(),condition:X})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:X,criteria:e.array(e.object({id:_e,label:e.string().trim().max(500),description:X})).max(1e3).default([]),positiveExample:X,negativeExample:X,boundaryExample:X})]),Hl=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),ko=e.object({primaryMethod:e.enum(["sft","dpo","grpo","ppo","sdft","opsd","sdpo"]),bootstrap:e.object({method:e.literal("sft"),purpose:e.literal("trajectory_bootstrap"),demonstrationRefs:e.array(_e).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),wo=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),So=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(wo).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Xn=e.object({code:_e,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),yo=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:_e,tasksetHash:Pa,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:ko.nullable().default(null),methodReadiness:e.array(So).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Xn).default([]),advisories:e.array(Xn).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:Lt}),xo=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:Lt}),Ro=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:la.nullable(),modelConfig:Zn,skillHash:Pa,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:vo.default("demonstrations"),buildSpecification:bo.nullable().default(null),evidenceHashes:e.array(Pa).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(xo).max(1e3),createdAt:Lt}),Z=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:_e,revision:e.number().int().positive().default(1),profileId:_e,profileRelease:yn.nullable().optional(),createImproveRunId:fo.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:ba.default("general"),benchmark:ka.nullable().default(null),preferenceComparison:wa.nullable().default(null),status:go,sourceRefs:e.array(wt).min(1).max(1e5),datasetArtifact:qt.nullable().optional(),policy:Sa,environment:xa,capabilities:Ra,metrics:Yt.optional(),tasks:e.array(Bt).max(1e6),graders:e.array(se).min(1).max(1e3),graderFixtures:e.array(it).max(1e5),learningSignals:ya,authoringProvenance:Ro,readiness:yo.nullable(),contentHash:Pa,createdAt:Lt,updatedAt:Lt,metadata:Zn}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!t.datasetArtifact&&t.tasks.length===0&&a.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function To(t){return t.schemaVersion==="openpond.trainingSource.v1"}c(To,"isTrainingSourceRef");function Qn(t,a={}){let r=Z.safeParse(t);if(!r.success)return{valid:!1,taskset:null,computedHash:null,issues:r.error.issues.map(o=>({code:"schema_invalid",severity:"error",message:o.message,path:o.path.join(".")}))};let n=r.data,i=[];jo(n,i),_o(n,i),Ho(n,i),Eo(n,i),Ao(n,i),Io(n,i,a),Co(n,i),Mo(n.capabilities,i,n),Po(n,i);let s=ei(n);return n.contentHash!==s&&i.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${n.contentHash}, expected ${s}.`,path:"contentHash"}),{valid:!i.some(o=>o.severity==="error"),taskset:n,computedHash:s,issues:i}}c(Qn,"validateTaskset");function Io(t,a,r){let n=t.graders.length>0&&t.graders.every(o=>o.kind==="human");!n&&!t.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&t.metadata.trainingMethod==="grpo"&&t.metadata.learning)&&a.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let i=new Set(t.tasks.map(o=>o.id)),s=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let o of t.graderFixtures)!t.datasetArtifact&&!i.has(o.taskId)&&a.push({code:"grader_fixture_task_missing",severity:"warning",message:`Fixture ${o.id} references a task outside this Taskset revision (${o.taskId}).`,path:`graderFixtures.${o.id}.taskId`}),s.delete(o.label),o.label==="infrastructure_failure"&&!o.infrastructureError&&a.push({code:"infrastructure_fixture_error_missing",severity:"error",message:`Infrastructure fixture ${o.id} must declare an infrastructure error.`,path:`graderFixtures.${o.id}.infrastructureError`});for(let o of n?[]:s)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}c(Io,"validateGraderFixtures");function _o(t,a){let r=t.datasetArtifact;if(!r)return;(r.tasksetId!==t.id||r.tasksetRevision!==t.revision)&&a.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let n=Object.values(r.splitCounts).reduce((u,d)=>u+d,0),i=r.shards.reduce((u,d)=>u+d.rowCount,0);(n!==r.rowCount||i!==r.rowCount)&&a.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let s=new Map;for(let u of r.shards)s.set(u.split,(s.get(u.split)??0)+u.rowCount);for(let[u,d]of Object.entries(r.splitCounts))(s.get(u)??0)!==d&&a.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${u} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${u}`});let{contentHash:o,...m}=r;f(m)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}c(_o,"validateDatasetArtifact");function ct(t){return ei(t)}c(ct,"computeTasksetHash");function ei(t){let{contentHash:a,status:r,readiness:n,updatedAt:i,...s}=t;return f(s)}c(ei,"tasksetContentHash");function jo(t,a){for(let[r,n]of t.sourceRefs.entries())To(n)&&n.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${n.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),n.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${n.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),n.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${n.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),n.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${n.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}c(jo,"validateSourceConsent");function Ho(t,a){let r=new Map;for(let i of t.tasks){let s=r.get(i.clusterKey)??new Set;s.add(i.split),r.set(i.clusterKey,s)}for(let[i,s]of r)s.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${i} appears in multiple splits: ${[...s].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(i=>i.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}c(Ho,"validateSplitIsolation");function Po(t,a){if(t.environment.kind!=="work")return;t.environment.entrypoint!=="openpond-work-v1"&&a.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!t.environment.lifecycle.includes("reset")||!t.environment.lifecycle.includes("cleanup"))&&a.push({code:"work_reset_lifecycle_missing",severity:"error",message:"Work attempts require reset and cleanup; filesystem state belongs to one attempt.",path:"environment.lifecycle"});let r=new Set(ho),n=t.environment.toolNames.filter(s=>!r.has(s));n.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${n.join(", ")}.`,path:"environment.toolNames"}),t.environment.toolNames.includes("work_save_output")||a.push({code:"work_output_tool_missing",severity:"error",message:"Work Tasksets must declare work_save_output.",path:"environment.toolNames"});for(let s of["create","reset","step","grade","cleanup"])t.environment.lifecycle.includes(s)||a.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${s} lifecycle stage.`,path:"environment.lifecycle"});let i=new Map(t.sourceRefs.map(s=>[s.id,s]));for(let[s,o]of t.tasks.entries()){let m=new Set,u=new Set;for(let[l,p]of(o.assets??[]).entries()){let h=`tasks.${s}.assets.${l}`;m.has(p.id)&&a.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${p.id}.`,path:`${h}.id`}),u.has(p.fileName)&&a.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged file name ${p.fileName}.`,path:`${h}.fileName`}),m.add(p.id),u.add(p.fileName),o.sourceRefs.includes(p.sourceRefId)||a.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${p.id} references source ${p.sourceRefId} outside task ${o.id}.`,path:`${h}.sourceRefId`});let g=i.get(p.sourceRefId);g?"sourceFileHashes"in g&&!g.sourceFileHashes.includes(p.sha256)&&a.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${p.id} hash is not registered by source ${p.sourceRefId}.`,path:`${h}.sha256`}):a.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${p.id} references missing source ${p.sourceRefId}.`,path:`${h}.sourceRefId`}),g&&"kind"in g&&g.kind==="uploaded_file"&&!g.originalFileNames.includes(p.fileName)&&a.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${p.id} file name is not registered by source ${p.sourceRefId}.`,path:`${h}.fileName`}),g&&"kind"in g&&g.kind==="uploaded_file"&&!g.mediaTypes.includes(p.mediaType)&&a.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${p.id} media type is not registered by source ${p.sourceRefId}.`,path:`${h}.mediaType`}),p.split!==o.split&&a.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${p.id} is assigned to ${p.split}, not task split ${o.split}.`,path:`${h}.split`})}let d=new Set;for(let[l,p]of(o.requiredOutputs??[]).entries()){let h=p.path.replaceAll("\\","/"),g=`tasks.${s}.requiredOutputs.${l}.path`;d.has(h)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${h}.`,path:g}),d.add(h)}(o.requiredOutputs??[]).length===0&&a.push({code:"work_output_missing",severity:"error",message:`Work task ${o.id} must declare at least one required output.`,path:`tasks.${s}.requiredOutputs`})}}c(Po,"validateWorkExecution");function Eo(t,a){let r=new Set(t.policy.policyVisibleFields);for(let n of t.policy.privilegedFields)r.has(n)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${n} is both policy-visible and privileged.`,path:"policy"});for(let n of t.tasks)n.privilegedContextRef&&Object.keys(n.policyVisibleContext).includes(n.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${n.id} exposes its privileged context reference.`,path:`tasks.${n.id}.policyVisibleContext`})}c(Eo,"validatePolicyBoundary");function Ao(t,a){let r=new Set;for(let n of t.graders)r.has(n.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${n.id}.`,path:"graders"}),r.add(n.id),n.kind==="model_judge"&&n.rewardEligible&&n.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${n.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${n.id}`}),n.kind==="model_judge"&&n.calibrationStatus==="passed"&&typeof n.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${n.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${n.id}.metadata.calibrationEvidenceHash`}),n.kind==="human"&&n.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${n.id} cannot be an online optimizer reward.`,path:`graders.${n.id}`})}c(Ao,"validateGraders");function Co(t,a){let r=new Set(t.tasks.map(i=>i.id)),n=new Set(t.sourceRefs.map(i=>i.id));for(let i of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])i.taskId&&!t.datasetArtifact&&!r.has(i.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${i.id} references missing task ${i.taskId}.`,path:`learningSignals.${i.kind}.${i.id}.taskId`}),i.sourceRefs.some(s=>!n.has(s))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${i.id} references a source outside the Dataset.`,path:`learningSignals.${i.kind}.${i.id}.sourceRefs`});for(let i of t.learningSignals.preferences)i.chosen.trim()===i.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${i.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${i.id}`});for(let i of t.learningSignals.rewards)i.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${i.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${i.id}.executable`})}c(Co,"validateLearningSignals");function Mo(t,a,r){!t.exportable&&t.portabilityBlockers.length===0&&a.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),t.compatibleMethods.includes("grpo")&&!t.rewardKinds.some(n=>n==="exact"||n==="deterministic"||n==="model_judge")&&a.push({code:"grpo_reward_missing",severity:"error",message:"GRPO compatibility requires a scalar reward kind.",path:"capabilities.rewardKinds"}),r?.capabilities.compatibleMethods.includes("sft")&&r.learningSignals.demonstrations.length===0&&a.push({code:"sft_demonstrations_missing",severity:"error",message:"SFT compatibility requires approved demonstrations.",path:"learningSignals.demonstrations"}),r?.capabilities.compatibleMethods.includes("dpo")&&r.learningSignals.preferences.length===0&&a.push({code:"dpo_preferences_missing",severity:"error",message:"DPO compatibility requires chosen and rejected response pairs.",path:"learningSignals.preferences"}),r&&(r.capabilities.compatibleMethods.includes("grpo")||r.capabilities.compatibleMethods.includes("ppo"))&&!r.learningSignals.rewards.some(n=>n.executable)&&!r.graders.some(n=>n.rewardEligible&&n.weight>0&&n.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}c(Mo,"validateCapabilities");var xt=e.string().trim().min(1).max(240),ti=e.string().trim().min(1),$o=e.string().trim().min(8).max(256),qo=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),Do=e.record(e.string(),e.unknown()).default({});function ai(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(ai,"safeRelativeFilePath");var Bo=Bt.extend({sourceRefs:e.array(xt).max(100).default([])}),Oo=e.enum(["draft","validating","needs_review","published"]),Vo=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:xt,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),zo=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(ai,"Renderer modules must use a safe relative path."),exportName:qo,configRef:e.string().trim().min(1).max(1e3).refine(ai,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((t,a)=>{t.mode==="structured_json"&&!t.jsonSchema&&a.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),t.mode==="text"&&t.renderer&&a.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),je=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:xt,revision:e.number().int().positive(),profileId:xt,modelScope:e.object({modelId:xt,expectedModelRevision:e.number().int().positive(),source:Ee.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:ba.default("general"),benchmark:ka.nullable().default(null),preferenceComparison:wa.nullable().default(null),status:Oo,sourceRefs:e.array(wt).max(1e5).default([]),datasetArtifact:qt.nullable().optional(),policy:Sa,environment:xa,output:zo.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:Ra,metrics:Yt,review:Vo,tasks:e.array(Bo).max(1e6).default([]),graders:e.array(se).max(1e3).default([]),graderFixtures:e.array(it).max(1e5).default([]),learningSignals:ya,publishedTasksetRef:e.object({id:xt,revision:e.number().int().positive(),contentHash:$o}).nullable(),createdAt:ti,updatedAt:ti,metadata:Do}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),t.status==="published"&&!t.publishedTasksetRef&&a.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})}),ii=6e6,si=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 vr(t){let a=ie.parse(t);return!si.has(a)&&!a.startsWith("source-artifacts/")}c(vr,"isWritableTasksetDraftFilePath");function Rt(t){return si.has(ie.parse(t))}c(Rt,"isManagedTasksetDraftFilePath");function Lo(t,a){let r=vr(t);if(a.byteLength>ii)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");let n;try{let i=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(a);n=/[\u0000-\u0008\u000e-\u001f]/.test(i)?ri(a):{encoding:"utf8",data:i}}catch{n=ri(a)}return{path:t,writable:r,content:n,sizeBytes:a.byteLength,contentHash:F(a)}}c(Lo,"createTasksetDraftFile");function Fo(t){let a=Mt.parse(t),r;try{if(a.encoding==="utf8")r=new TextEncoder().encode(a.data);else{let n=atob(a.data);if(btoa(n)!==a.data)throw new Error("Noncanonical base64");r=Uint8Array.from(n,i=>i.charCodeAt(0))}}catch{throw new Error("Taskset draft file content is invalid or exceeds 6 MB.")}if(r.byteLength>ii)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");return r}c(Fo,"decodeTasksetDraftFileContent");function ri(t){let a="";for(let r=0;r<t.length;r+=8192)a+=String.fromCharCode(...t.subarray(r,r+8192));return{encoding:"base64",data:btoa(a)}}c(ri,"base64Content");function oi(t){let a=[];t.output.renderer&&a.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 r of t.graders)r.kind==="custom_verifier"&&a.push({relativePath:r.module,source:`export async function ${r.exportName}(input: { output: unknown; task: unknown }) {
8
+ return { passed: false, score: 0, feedback: "Implement this verifier." };
9
+ }
10
+ `});t.metrics.customAggregator&&a.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 r of a)ie.parse(r.relativePath);return a}c(oi,"configuredTasksetDraftFiles");function ci(t){let a=je.parse(t);return new Map([["taskset.json",Ae(a)],["tasks/tasks.jsonl",Uo(a.tasks)],["graders/graders.json",Ae(a.graders)],["fixtures/grader-fixtures.json",Ae(a.graderFixtures)],["metrics/policy.json",Ae(a.metrics)],["assets/manifest.json",Ae(a.tasks.flatMap(r=>r.assets??[]))],["environment/contract.json",Ae(a.environment)],["rubrics/preference-review.md",No(a)],["comparisons/policy.json",Ae(a.review)]])}c(ci,"renderTasksetDraftManifests");function No(t){let a=t.review.criteria.length?`
14
+
15
+ ## Criteria
16
+
17
+ ${t.review.criteria.map(r=>`- **${r.label}** (${r.weight}): ${r.description}`).join(`
18
+ `)}`:"";return`# Preference review rubric
19
+
20
+ ${t.review.rubric}${a}
21
+ `}c(No,"rubricMarkdown");function Uo(t){return t.length?`${t.map(a=>JSON.stringify(a)).join(`
22
+ `)}
23
+ `:""}c(Uo,"jsonLines");var Ea=64*1024*1024,di=e.string().regex(/^[a-f0-9]{64}$/),mi=e.object({path:ie,contentHash:di,sizeBytes:e.number().int().nonnegative().max(Ea),base64:e.string().max(Ea)}).strict(),li=e.object({schemaVersion:e.literal("openpond.tasksetDraftWorkspace.v1"),draft:je,files:e.array(mi).max(1e4)}).strict(),Go=li.extend({contentHash:di}).strict();function br(t){ge(t,Ea);let a=li.parse(t);return a.files.sort((r,n)=>r.path<n.path?-1:r.path>n.path?1:0),Aa({...a,contentHash:f(a)})}c(br,"createTasksetDraftWorkspace");function Aa(t){ge(t,Ea);let a=Go.parse(t),{contentHash:r,...n}=a;if(f(n)!==r)throw new Error("Taskset draft workspace differs from its retained bytes.");let i=null,s=new Set;for(let o of a.files){if(Rt(o.path))throw new Error("Managed Taskset files are represented by the draft document.");if(i!==null&&i>=o.path)throw new Error("Taskset draft file paths must be unique and sorted.");let m=o.path.split("/");for(let u=1;u<m.length;u++)if(s.has(m.slice(0,u).join("/")))throw new Error("A Taskset draft file occupies another file's directory.");kr(o),s.add(o.path),i=o.path}return a}c(Aa,"validateTasksetDraftWorkspace");function Vl(t,a){let r=Aa(t);ie.parse(a);let n=r.files.find(o=>o.path===a),i=Rt(a)?ci(r.draft).get(a):void 0;if(!n&&i===void 0)throw new Error("Taskset draft file does not exist.");let s=Lo(a,n?kr(n):new TextEncoder().encode(i));return{draftRevision:r.draft.revision,file:{...s,writable:s.writable&&r.draft.status!=="published"}}}c(Vl,"readTasksetDraftWorkspaceFile");function zl(t){let a=Aa(t),r=a.files.map(n=>({path:n.path,sizeBytes:n.sizeBytes,writable:a.draft.status!=="published"&&vr(n.path)}));for(let[n,i]of ci(a.draft))r.push({path:n,sizeBytes:new TextEncoder().encode(i).byteLength,writable:!1});return{draftRevision:a.draft.revision,files:r.sort((n,i)=>n.path<i.path?-1:n.path>i.path?1:0)}}c(zl,"listTasksetDraftWorkspaceFiles");function Ll(t){let a=ui(t.workspace,t.expectedDraftRevision),r=je.parse(t.draft),n=a.draft;if(r.id!==n.id||r.profileId!==n.profileId||f(r.modelScope)!==f(n.modelScope))throw new Error("Taskset draft Model ownership cannot change.");if(r.revision!==n.revision||r.status!==n.status||r.createdAt!==n.createdAt||f(r.publishedTasksetRef)!==f(n.publishedTasksetRef))throw new Error("Taskset draft lifecycle fields cannot change through form edits.");let i=[...a.files];for(let m of oi(r))if(!i.some(u=>u.path===m.relativePath)){let u=new TextEncoder().encode(m.source);i.push({path:m.relativePath,contentHash:F(u),sizeBytes:u.byteLength,base64:pi(u)})}let s=r.metrics.customAggregator,o=s?i.find(m=>m.path===s.module):void 0;return br({schemaVersion:a.schemaVersion,files:i,draft:{...r,revision:n.revision+1,status:"draft",updatedAt:t.now,...s&&o?{metrics:{...r.metrics,customAggregator:{...s,contentHash:o.contentHash}}}:{}}})}c(Ll,"saveTasksetDraftWorkspaceDocument");function Fl(t){let a=Ja.parse(t.mutation),r=ui(t.workspace,a.expectedDraftRevision);if(r.draft.id!==a.draftId)throw new Error("Taskset draft file belongs to another draft.");if(!vr(a.path))throw new Error("This file is managed by the Taskset forms or retained source history.");let n=r.files.find(s=>s.path===a.path);if((n?.contentHash??null)!==a.expectedFileHash)throw new Error("Taskset draft file changed. Reload it before saving.");if(!n&&a.content===null)throw new Error("Taskset draft file does not exist.");let i=r.files.filter(s=>s.path!==a.path);if(a.content!==null){let s=Fo(a.content);i.push({path:a.path,contentHash:F(s),sizeBytes:s.byteLength,base64:pi(s)})}return br({schemaVersion:r.schemaVersion,files:i,draft:{...r.draft,revision:r.draft.revision+1,status:"draft",updatedAt:t.now}})}c(Fl,"saveTasksetDraftWorkspaceFile");function ui(t,a){let r=Aa(t);if(r.draft.status==="published")throw new Error("Published Taskset drafts are immutable.");if(r.draft.revision!==a)throw new Error("Taskset draft changed. Reload before saving.");return r}c(ui,"editableWorkspace");function kr(t){let a=mi.parse(t),r;try{r=atob(a.base64)}catch{throw new Error("Taskset draft file contains invalid base64.")}if(btoa(r)!==a.base64)throw new Error("Taskset draft file contains noncanonical base64.");let n=Uint8Array.from(r,i=>i.charCodeAt(0));if(n.byteLength!==a.sizeBytes||F(n)!==a.contentHash)throw new Error("Taskset draft file differs from its retained bytes.");return n}c(kr,"decodeTasksetDraftWorkspaceFile");function pi(t){let a="";for(let r=0;r<t.length;r+=8192)a+=String.fromCharCode(...t.subarray(r,r+8192));return btoa(a)}c(pi,"base64");var ni=class extends Error{static{c(this,"TasksetDraftPublishError")}issues;constructor(t){super(t.map(a=>a.message).join(`
24
+ `)),this.name="TasksetDraftPublishError",this.issues=t}};function fi(t){let a=t.now??new Date().toISOString(),r=t.id?.trim()||`taskset-draft-${globalThis.crypto.randomUUID()}`;return je.parse({schemaVersion:"openpond.tasksetDraft.v1",id:r,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:a,updatedAt:a,metadata:{}})}c(fi,"createTasksetDraft");function Jo(t){let a=[];t.name.trim()||a.push({code:"name_missing",message:"Name is required.",path:"name"}),t.objective.trim()||a.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!t.datasetArtifact&&t.tasks.length===0&&a.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"}),t.graders.length===0&&a.push({code:"graders_missing",message:"Add at least one grader.",path:"graders"}),!(t.graders.length>0&&t.graders.every(i=>i.kind==="human"))&&t.graderFixtures.length===0&&a.push({code:"grader_fixtures_missing",message:"Add grader fixtures before publishing.",path:"graderFixtures"});let n=new Set(t.sourceRefs.map(i=>i.id));for(let i of t.tasks)for(let s of i.sourceRefs)n.has(s)||a.push({code:"task_source_missing",message:`Task ${i.id} references missing source ${s}.`,path:`tasks.${i.id}.sourceRefs`});return a}c(Jo,"draftPublishIssues");function Nl(t,a=new Date().toISOString()){let r=Z.parse(t);return je.parse({schemaVersion:"openpond.tasksetDraft.v1",id:`${r.id}-draft`,revision:1,profileId:r.profileId,name:r.name,objective:r.objective,purpose:r.purpose,benchmark:r.benchmark,preferenceComparison:r.preferenceComparison,status:"draft",sourceRefs:r.sourceRefs,datasetArtifact:r.datasetArtifact??null,policy:r.policy,environment:r.environment,output:Yo(r.metadata),capabilities:r.capabilities,metrics:r.metrics??{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"score",aggregation:"mean_score",missingReward:"zero",customAggregator:null},review:{enabled:!!r.preferenceComparison,candidateCount:2,minimumSamples:100,allowTies:!0,allowRejectAll:!0,rubric:"",criteria:[]},tasks:r.tasks,graders:r.graders,graderFixtures:r.graderFixtures,learningSignals:r.learningSignals,publishedTasksetRef:{id:r.id,revision:r.revision,contentHash:r.contentHash},createdAt:a,updatedAt:a,metadata:{...r.metadata,importedFromTaskset:{id:r.id,revision:r.revision,contentHash:r.contentHash}}})}c(Nl,"tasksetDraftFromTaskset");function Ul(t){let a=je.parse(t.draft),r=t.now??new Date().toISOString(),n=Jo(a);if(n.length)throw new ni(n);let i=a.modelScope?.source;if(i&&t.tasksetId&&t.tasksetId!==i.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let s=i?.tasksetId||t.tasksetId?.trim()||a.publishedTasksetRef?.id||a.id.replace(/-draft$/,""),o=i?.tasksetRevision??(a.publishedTasksetRef?.id===s?a.publishedTasksetRef.revision+1:1),m=a.sourceRefs.length?a.sourceRefs:[Ko(a,s,r)],u=m[0].id,d=a.tasks.map(y=>Bt.parse({...y,sourceRefs:y.sourceRefs.length?y.sourceRefs:[u],metadata:{exampleOrigin:"expert_authored",...y.metadata}})),l=a.capabilities.compatibleMethods.find(y=>y!=="none"&&y!=="retrieval")??null,p=Wo(a),h=a.graders.filter(y=>y.rewardEligible&&y.weight>0&&y.kind!=="human"),g=l===null&&p==="verifiable_reward"&&h.length>0,v=l??(g?"grpo":null),w=Z.parse({schemaVersion:"openpond.taskset.v1",id:s,revision:o,profileId:a.profileId,profileRelease:null,createImproveRunId:null,name:a.name,objective:a.objective,purpose:a.purpose,benchmark:a.benchmark,preferenceComparison:a.preferenceComparison,status:"needs_review",sourceRefs:m,datasetArtifact:a.datasetArtifact??null,policy:a.policy,environment:a.environment,capabilities:g?{...a.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(h.map(y=>y.kind==="model_judge"?"model_judge":"deterministic"))]}:a.capabilities,metrics:a.metrics,tasks:d,graders:a.graders,graderFixtures:a.graderFixtures,learningSignals:a.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:f("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:p,buildSpecification:null,evidenceHashes:m.map(y=>y.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:r},readiness:null,contentHash:"00000000",createdAt:o===1?a.createdAt:r,updatedAt:r,metadata:{...a.metadata,...i?{modelTasksetAuthoring:i.lineage}:{},tasksetReviewPolicy:a.review,tasksetOutputContract:a.output,...t.sourcePackageHash?{sourcePackageHash:t.sourcePackageHash}:{},...v?{trainingMethod:v}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:a.objective,stableBehavior:[a.objective],changingKnowledge:[],requiredContext:[],requiredTools:a.environment.toolNames,intervention:v==="dpo"?"preference":v==="grpo"||v==="ppo"?"grpo_rft":v==="sft"?"sft":"no_training",trainingEligible:v!==null,rationale:v?[`The author selected ${v.toUpperCase()} compatibility.`]:["The Taskset is currently configured for evaluation only."],confidence:1}}}),x=Z.parse({...w,contentHash:ct(w)}),R=Qn(x).issues.filter(y=>y.severity==="error");if(R.length)throw new ni(R.map(y=>({code:y.code,message:y.message,path:y.path})));return x}c(Ul,"publishTasksetDraft");function Ko(t,a,r){let n=f({draftId:t.id,draftRevision:t.revision,tasks:t.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${a}`,profileId:t.profileId,title:`${t.name} manual authoring`,sourceHash:n,occurredAt:r,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:n,metadata:{draftId:t.id,draftRevision:t.revision}}}c(Ko,"generatedDraftSource");function Wo(t){return t.learningSignals.preferences.length?"preferences":t.learningSignals.rewards.length?"verifiable_reward":t.learningSignals.labels.length?"rubric":!t.capabilities.compatibleMethods.some(a=>a!=="none"&&a!=="retrieval")&&t.graders.some(a=>a.rewardEligible&&a.weight>0&&a.kind!=="human")?"verifiable_reward":"demonstrations"}c(Wo,"buildIntentForDraft");function Yo(t){let a=t.tasksetOutputContract;return a&&typeof a=="object"&&!Array.isArray(a)?a:{mode:"text",jsonSchema:null,renderer:null}}c(Yo,"tasksetOutputContract");var Ca=e.object({name:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(2e3),inputSchema:e.record(e.string(),e.unknown()),inputSchemaHash:G,sideEffect:e.enum(["read","write"]),timeoutMs:e.number().int().positive().max(36e5)}).strict(),wr=e.object({id:L,required:e.boolean(),scopes:e.array(e.string().trim().min(1).max(500)).max(100).default([]),portability:e.enum(["portable","host_adapter","local_only","hosted_only"])}).strict(),Xo=e.object({portable:e.boolean(),blockers:e.array(e.string().trim().min(1).max(2e3)).max(1e3),localOnlyAssetRefs:e.array(L).max(1e4),hostPrivateAssetRefs:e.array(L).max(1e4)}).strict(),hi=e.object({schemaVersion:e.literal("openpond.agentSnapshot.v2"),id:L,sourceRelease:ve.nullable(),instructions:e.array(J).max(1e4),skills:e.array(J).max(1e4),agents:e.array(J).max(1e4),toolDeclarations:e.array(Ca).max(200),capabilityRequirements:e.array(wr).max(200),dependencyLock:J,portability:Xo,metadata:da}).strict(),gi=hi.extend({contentHash:G}).strict(),Zo=e.object({create:e.literal(!0),reset:e.literal(!0),step:e.literal(!0),collect:e.literal(!0),destroy:e.literal(!0),resetScope:e.enum(["task","attempt"])}).strict(),Qo=e.object({visibleEvidence:e.array(L).max(1e3),privilegedEvidence:e.array(L).max(1e3),privateVerifierIsolation:e.boolean()}).strict(),vi=e.object({schemaVersion:e.literal("openpond.harnessRelease.v2"),id:L,agentSnapshot:ve,program:J,tools:e.array(Ca).max(200),lifecycle:Zo,graderInterface:Qo,files:e.array(J).max(1e5),metadata:da}).strict(),bi=vi.extend({contentHash:G}).strict(),ec=e.object({id:L,turn:e.number().int().nonnegative(),kind:e.enum(["message","tool_call","terminal"]),name:L.nullable(),arguments:e.record(e.string(),e.unknown()),content:e.string().max(1e6).nullable()}).strict(),tc=e.object({actionId:L,turn:e.number().int().nonnegative(),terminal:e.boolean(),output:e.record(e.string(),e.unknown()),artifactRefs:e.array(xn).max(1e5)}).strict();function Ql(t){let a=hi.parse(t);return gi.parse({...a,contentHash:f(a)})}c(Ql,"createAgentSnapshot");function eu(t){let a=vi.parse(t);return bi.parse({...a,contentHash:f(a)})}c(eu,"createHarnessRelease");var ac=e.object({sequence:e.number().int().nonnegative(),type:e.enum(["created","reset","action","observation","terminal","failure","collected","destroyed"]),payloadHash:G,metadata:da}).strict(),tu=e.object({schemaVersion:e.literal("openpond.harnessTrace.v1"),manifest:ve,taskId:L,seed:e.string().trim().min(1).max(500),events:e.array(ac).max(1e6),actions:e.array(ec).max(1e5),observations:e.array(tc).max(1e5),terminal:e.boolean(),failureClass:ma.nullable(),output:e.record(e.string(),e.unknown()),contentHash:G}).strict(),Sr=25*1024*1024,rc=e.object({path:J.shape.path,base64:e.string().max(Math.ceil(Sr/3)*4)}).strict(),ki=e.object({schemaVersion:e.literal("openpond.harnessSourcePackage.v1"),agentSnapshot:gi,harnessRelease:bi,files:e.array(rc).max(1e4)}).strict(),nc=ki.extend({contentHash:G}).strict(),ic=ki.extend({schemaVersion:e.literal("openpond.harnessPolicySourcePackage.v1"),contentHash:G}).strict(),au=e.object({schemaVersion:e.literal("openpond.harnessSourceSelection.v1"),mode:e.enum(["taskset_owned","selected_release"]),harnessRelease:ve,sourcePackageHash:G.nullable()}).strict().superRefine((t,a)=>{t.mode==="selected_release"!=(t.sourcePackageHash!==null)&&a.addIssue({code:"custom",path:["sourcePackageHash"],message:"Only a selected release binds a source package."})});function ru(t,a){let r=ic.parse(t);Te(r,"Harness policy source package"),Te(r.agentSnapshot,"Harness policy source Agent snapshot"),Te(r.harnessRelease,"Harness policy source release");let{agentSnapshot:n,harnessRelease:i}=r;if(a&&(a.id!==i.id||a.contentHash!==i.contentHash))throw new Error("Harness policy source package differs from the selected release.");if(i.agentSnapshot.id!==n.id||i.agentSnapshot.contentHash!==n.contentHash)throw new Error("Harness policy source release does not bind its Agent snapshot.");let s=new Map;for(let d of i.files){if(s.has(d.path))throw new Error("Harness policy source contains duplicate asset paths.");s.set(d.path,d)}for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills,...n.agents])if(f(s.get(d.path)??null)!==f(d))throw new Error(`Harness policy source dependency ${d.path} is absent or differs from its release inventory.`);for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills])if(d.visibility!=="policy")throw new Error(`Harness policy source dependency ${d.path} is private.`);let o=new Set(i.files.filter(d=>d.visibility==="policy").map(d=>d.path)),m=new Set,u=0;for(let d of r.files){if(m.has(d.path))throw new Error("Harness policy source contains duplicate files.");m.add(d.path);let l=s.get(d.path);if(!l||l.visibility!=="policy")throw new Error(`Harness policy source file ${d.path} is not policy-visible.`);let p=wi(d.base64);if(u+=p.byteLength,u>Sr)throw new Error("Harness policy source exceeds its byte limit.");if(p.byteLength!==l.sizeBytes||F(p)!==l.contentHash)throw new Error(`Harness policy source file ${d.path} differs from its immutable bytes.`)}if(m.size!==o.size||[...o].some(d=>!m.has(d)))throw new Error("Harness policy source is missing released policy files.");return r}c(ru,"validateHarnessPolicySourcePackage");function yr(t,a){let r=nc.parse(t);Te(r,"Harness source package"),Te(r.agentSnapshot,"Harness source Agent snapshot"),Te(r.harnessRelease,"Harness source release");let{agentSnapshot:n,harnessRelease:i}=r;if(a&&(a.id!==i.id||a.contentHash!==i.contentHash))throw new Error("Harness source package differs from the selected release.");if(i.agentSnapshot.id!==n.id||i.agentSnapshot.contentHash!==n.contentHash)throw new Error("Harness source release does not bind its Agent snapshot.");let s=new Map,o=new Set;for(let d of i.files){if(d.path.includes("\\")||d.path.includes(":"))throw new Error("Harness source requires portable relative file paths.");if(s.has(d.path)||o.has(d.id))throw new Error("Harness source contains duplicate asset paths or identities.");s.set(d.path,d),o.add(d.id)}for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills,...n.agents])if(f(s.get(d.path)??null)!==f(d))throw new Error(`Harness source dependency ${d.path} is absent or differs from its release inventory.`);for(let d of[...n.instructions,...n.skills])if(d.visibility!=="policy")throw new Error(`Harness policy source ${d.path} is private.`);let m=new Set,u=0;for(let d of r.files){if(m.has(d.path))throw new Error("Harness source package contains duplicate files.");m.add(d.path);let l=s.get(d.path);if(!l)throw new Error(`Harness source file ${d.path} is not declared by its release.`);let p=wi(d.base64);if(u+=p.byteLength,u>Sr)throw new Error("Harness source package exceeds its byte limit.");if(p.byteLength!==l.sizeBytes||F(p)!==l.contentHash)throw new Error(`Harness source file ${d.path} differs from its immutable bytes.`)}if(m.size!==s.size)throw new Error("Harness source package is missing released files.");return r}c(yr,"validateHarnessSourcePackage");function wi(t){let a;try{a=atob(t)}catch{throw new Error("Harness source file is not valid base64.")}if(btoa(a)!==t)throw new Error("Harness source file is not canonical base64.");return Uint8Array.from(a,r=>r.charCodeAt(0))}c(wi,"decode");function xi(t,a){let r=t.metadata.learning===void 0?null:Fa.parse(t.metadata.learning),n=t.metadata.rewardExecution,i=a??(n?{binding:Pe.parse(n.binding),rewards:Ze.array().parse(n.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let s=t.metadata.rewardBinding;if(!i||!s||s.id!==i.binding.id||s.revision!==i.binding.revision||s.contentHash!==i.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return i&&ee(i.binding,i.rewards),i?{binding:i.binding,rewards:i.rewards}:null}c(xi,"resolvePortableTasksetRewardExecution");function Rr(t){let a=Ri(t.taskset),r=Ti(t.taskset),n=t.taskset.metadata.learning===void 0?null:Fa.parse(t.taskset.metadata.learning),i=t.taskset.metadata.rewardExecution,s=xi(t.taskset,t.rewardExecution),o=s?ee(s.binding,s.rewards):t.taskset.graders.map(oc),m=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!m.length)throw new Error("A portable Taskset release requires at least one task.");let u=t.taskset.environment.metadata.portableExecutionResources;if(a.entrypoint==="openpond.javascript-environment.v1"&&!u)throw new Error("Tool Taskset publication requires its pinned execution resources.");let d=u?ze.parse(u.environment):ft({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,contract:a,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[t.adapterId]:f({adapterId:t.adapterId,environment:a,tools:r})},metadata:{sourceTasksetId:t.taskset.id,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,resources:t.taskset.environment.resources??[]}}),l=u?.verifierSet!==void 0?Le.parse(u.verifierSet):ht({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,graders:o,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(t.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:t.taskset.id}});if(!Fe(d)||!Ne(l)||f(d.contract)!==f(a)||f(l.graders)!==f(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let p=Gr.parse({schemaVersion:"openpond.tasksetRelease.v2",id:t.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${t.taskset.id}-r${t.taskset.revision}`:t.taskset.id,revision:t.taskset.revision,policy:{policyVisibleFields:t.taskset.policy.policyVisibleFields,privilegedFields:t.taskset.policy.privilegedFields,hiddenGraderRefs:t.taskset.policy.hiddenGraderRefs,connectedAppScopes:t.taskset.policy.connectedAppScopes},environment:a,tools:r,capabilities:cc(t.taskset),tasks:m.map(Ma),graders:o,...t.taskset.metrics?{metrics:t.taskset.metrics}:{},metadata:t.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:t.taskset.id,sourceTasksetHash:t.taskset.contentHash,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,environmentResources:t.taskset.environment.resources??[],ordinaryAuthoring:{instructions:t.taskset.objective,graderFixtures:t.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(t.taskset.graders.filter(v=>v.kind==="model_judge").map(v=>[v.id,v.calibrationFixtureRefs]))},...n?{learning:n}:{},...s&&!n&&(t.rewardExecution||i)?{rewardExecution:{binding:s.binding,rewards:s.rewards}}:{}}}),h=t.admittedTasksetRelease?le.parse(t.admittedTasksetRelease):le.parse({...p,contentHash:f(p)}),g=h.environmentRelease?dc({draft:h,environmentRelease:d,verifierSetRelease:l}):vn({taskset:h,environment:d,verifierSet:l});return{environmentRelease:d,verifierSetRelease:l,tasksetRelease:g}}c(Rr,"materializePortableTasksetRelease");function Tr(t){return Ri(t)}c(Tr,"portableTasksetEnvironment");function sc(t){return Ti(t)}c(sc,"portableTasksetTools");function Ma(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=At.parse(a),n=At.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Si(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.map(i=>{let s=r.artifactRefs.find(o=>o.id===i.id);return{id:i.id,path:s?.path??`tasks/${Tt(t.id)}/${Tt(i.fileName)}`,contentHash:xr(i.sha256),sizeBytes:i.sizeBytes,mediaType:i.mediaType,visibility:s?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(i=>{let s=r.requiredOutputs?.find(o=>o.path===i.path);return{path:i.path,mediaType:i.mediaType,schemaRef:s?.schemaRef&&s.schemaRef.id===i.schemaRef?s.schemaRef:null,maxBytes:i.maxBytes??null,metadata:{...i.metadata,...i.schemaRef&&s?.schemaRef?.id!==i.schemaRef?{legacySchemaRef:i.schemaRef}:{}}}})});return n.requiredOutputs===void 0&&delete n.requiredOutputs,n}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Si(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${Tt(t.id)}/${Tt(r.fileName)}`,contentHash:xr(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(t.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,schemaRef:null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:t.tags}}c(Ma,"projectPortableTaskRecord");function Si(t){if(!t.expectedOutput)return null;if("artifactRenderer"in t.expectedOutput)throw new Error(`Task ${t.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return t.expectedOutput}c(Si,"portableExpectedOutput");function Ri(t){return{protocolVersion:"openpond.environment.v1",kind:t.environment.kind==="chat"?"text":t.environment.kind==="work"?"work":t.environment.kind==="program"?"custom_program":"agent",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:t.environment.networkPolicy,defaultTimeoutMs:t.environment.defaultTimeoutMs}}c(Ri,"portableEnvironment");function Ti(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return Ca.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(n=>({name:n.modelToolName,description:n.description,inputSchema:n.inputSchema,inputSchemaHash:xr(n.actionSchemaHash),sideEffect:n.sideEffect,timeoutMs:n.timeoutMs})):t.environment.toolNames.map(n=>({name:n,description:`Host-provided ${n} tool.`,inputSchema:{},inputSchemaHash:f({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}c(Ti,"portableTools");function oc(t){let a={id:t.id,version:t.version,weight:t.weight,hardGate:t.hardGate,rewardEligible:t.rewardEligible,privileged:t.privileged};if(t.kind==="model_judge")return{...a,kind:"model_judge",rubricRef:yi(t),model:mc(t),temperature:t.temperature,calibrationStatus:t.calibrationStatus};if(t.kind==="custom_verifier"){if(t.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${t.id} requires its immutable executable asset before publication.`);let r=za.safeParse(t.metadata.portableGrader),n=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&t.exportName==="verify";return{...a,kind:"custom_verifier",...t.runtime===void 0?{}:{runtime:t.runtime},verifierRef:J.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...n?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:yi(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...Vr(t)}}c(oc,"portableGrader");function cc(t){let a=t.metadata.portableCapabilities;return a!==void 0?wr.array().max(200).parse(a):[...t.capabilities.requiresTools?[{id:"tools",required:!0,scopes:t.environment.toolNames}]:[],...t.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...t.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:t.policy.hiddenGraderRefs}]:[],...t.policy.connectedAppScopes.map(r=>({id:`connected-app-${Tt(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}c(cc,"portableCapabilities");function dc(t){if(t.draft.environmentRelease?.id!==t.environmentRelease.id||t.draft.environmentRelease.contentHash!==t.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(t.draft.verifierSetRelease?.id!==t.verifierSetRelease.id||t.draft.verifierSetRelease.contentHash!==t.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(f(t.draft.environment)!==f(t.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(f(t.draft.graders)!==f(t.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return t.draft}c(dc,"assertReleaseBindings");function mc(t){let a=t.metadata.portableGrader===void 0?null:za.parse(t.metadata.portableGrader),r=a?.kind==="model_judge"&&a.model?.providerId===t.judge.providerId&&a.model.modelId===t.judge.modelId?a.model.revision:null;return{...t.judge,revision:r}}c(mc,"modelJudgeRef");function yi(t){let a=F(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,n=t.metadata.portableRubricRef;if(n!==void 0){let i=J.parse(n);if(i.contentHash!==a||i.sizeBytes!==r||i.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return i}return{id:`rubric-${t.id}`,path:`graders/${Tt(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}c(yi,"rubricAsset");function xr(t){return/^[a-f0-9]{64}$/.test(t)?t:f(t)}c(xr,"hash");function Tt(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}c(Tt,"segment");function lc(t){let a=W(t.source),r=W(t.edited),n=t.preparation;if(n.authoringGraph!=="bound"||!a.modelResources||a.learningResources||r.modelResources||r.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(a.contentHash!==n.sourcePackageHash||!z(S(a.taskset),n.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=c($=>$.taskset.graders.map(ye=>ye.kind==="custom_verifier"?{...ye,exportName:ye.exportName??"verify"}:ye),"normalizedGraders");if(f(i(a))!==f(i(r)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let s=a.modelResources,o=new Map(s.assets.map($=>[$.id,$])),m=Je(r),u=Je(a),d=c($=>{let{id:ye,revision:Da,contentHash:Ba,metadata:Oa,...cs}=$,{javascriptEnvironment:Fd,...Br}=Oa;return{...cs,metadata:{...Br,resources:Br.resources??[]}}},"environmentContent"),l=c($=>{if(!$)return null;let{id:ye,revision:Da,contentHash:Ba,...Oa}=$.execution.javascript;return Oa},"javascriptContent"),p=f(d(a.environment))===f(d(r.environment))&&f(l(u))===f(l(m)),h=p?a.environment:r.environment,g=p?u:m,v=new Set([...s.assets.map($=>$.id),...r.taskset.tasks.flatMap($=>$.privilegedContextRef?[$.privilegedContextRef]:[]),...[r.environment.actionSchemaRef,r.environment.observationSchemaRef,r.environment.stateSchemaRef].flatMap($=>$?[$.id]:[]),...m?.assets.map($=>$.id)??[]]);for(let $ of v){let ye=r.files.find(Ba=>Ba.asset.id===$);if(!ye)throw new Error(`Bound Taskset asset is missing: ${$}.`);let Da=new TextDecoder("utf-8",{fatal:!0}).decode(he(ye));o.set($,xe.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:$,revision:1,asset:ye.asset,text:Da})))}let w=ot(r),{contentHash:x,...B}=s.taskDefinition,{policy:R,environment:y,environmentRelease:re,tools:ce,capabilities:b,verifierSetRelease:I}=r.taskset,j=te.parse(P({...B,instructions:w,execution:{policy:R,environment:y,environmentRelease:re,tools:ce,capabilities:b,verifierSetRelease:I}})),{contentHash:N,...k}=r.taskset,D=le.parse(P({...k,tasks:r.taskset.tasks.map($=>s.instructionMode==="per_task"?$:{...$,policyVisibleContext:{...$.policyVisibleContext,instructions:w}})})),de=Vt({owner:n.lineage.owner,source:{...s,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:s.rewardBinding,rewards:s.rewards,assets:[...o.values()],edits:{taskset:D,taskDefinition:j,executionResources:{environment:h,verifierSet:r.verifierSet},...g?{execution:g.execution}:{}}}),Oe=or.parse(de.taskset.metadata.modelTasksetDerivation);if(de.taskset.id!==n.tasksetId||de.taskset.revision!==n.tasksetRevision||f({...Oe,schemaVersion:n.lineage.schemaVersion})!==f(n.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:qa,executionResources:ss,...os}=de;return yt({schemaVersion:"openpond.tasksetPackage.v1",taskset:qa,...ss,modelResources:os,files:r.files})}c(lc,"publishBoundModelTasksetDraftPackage");function uc(t){let a=Ga.parse(t.request),r=oa.parse(t.owner),n=W(t.source);if(n.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(n.contentHash!==a.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(n.modelResources){let u=Nn({owner:r,source:{...n.modelResources,taskset:n.taskset,executionResources:{environment:n.environment,verifierSet:n.verifierSet}},rewardBinding:n.modelResources.rewardBinding,rewards:n.modelResources.rewards,assets:n.modelResources.assets}),d=u.taskset.metadata.modelTasksetDerivation;return Ee.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${f({owner:r,operationId:a.operationId})}`,requestHash:f(a),sourcePackageHash:n.contentHash,sourceTasksetRef:S(n.taskset),tasksetId:u.taskset.id,tasksetRevision:u.taskset.revision,lineage:{...d,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=ur(n.taskset),s=i&&f(i.owner)===f(r),o=s?i.root:S(n.taskset),m={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:r,root:o,parent:S(n.taskset)};return Ee.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${f({owner:r,operationId:a.operationId})}`,requestHash:f(a),sourcePackageHash:n.contentHash,sourceTasksetRef:S(n.taskset),tasksetId:lr(m),tasksetRevision:s?n.taskset.revision+1:1,lineage:m})}c(uc,"prepareModelTasksetDraft");function pc(t){let a=Ee.parse(t.preparation);if(!z(a.sourceTasksetRef,a.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(a.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return lc({preparation:a,source:t.source,edited:t.edited})}let r=fc(t.edited),{contentHash:n,...i}=r.verifierSet,s=ht({...i,id:`${a.tasksetId}-verifiers`,revision:a.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:S(r.verifierSet)}}),{contentHash:o,...m}=r.taskset,u=le.parse(P({...m,id:a.tasksetId,revision:a.tasksetRevision,verifierSetRelease:{id:s.id,contentHash:s.contentHash},metadata:{modelTasksetAuthoring:a.lineage,...r.taskset.metadata.environmentResources===void 0?{}:{environmentResources:r.taskset.metadata.environmentResources},...r.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:r.taskset.metadata.ordinaryAuthoring}}})),d=Je(r),l=d?[...r.files.filter(p=>p.asset.id!==Ot(r.taskset)),Ia({...d.execution,verifierSet:s})]:r.files;return yt({schemaVersion:"openpond.tasksetPackage.v1",taskset:u,environment:r.environment,verifierSet:s,files:l})}c(pc,"publishModelTasksetDraftPackage");function fc(t){let a=W(t);if(a.modelResources||a.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return a}c(fc,"requireOrdinaryPackage");function hc(t,a,r,n){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:r,generatedFiles:[]};let i="environment/execution.json",s=a.get(i);if(!s||s.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let o=rt.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(s))),m=c(B=>{if(!B)return null;let R=r.find(y=>y.asset.id===B.id&&y.asset.path===B.path);if(!R)throw new Error(`Authored environment dependency is missing: ${B.id}.`);return R.asset},"repin"),{contentHash:u,...d}=o.javascript,l=sa.parse(P({...d,id:`javascript-${t.id}`,revision:t.revision,module:m(o.javascript.module)}));if(f(l.tools)!==f(t.environment.metadata.portableTools)||f(l.tools.map(B=>B.name))!==f(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let p=ft({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:Tr(t),actionSchemaRef:m(o.environment.actionSchemaRef),observationSchemaRef:m(o.environment.observationSchemaRef),stateSchemaRef:m(o.environment.stateSchemaRef),artifactCollection:o.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:S(l),resources:t.environment.resources??[]}}),h=Z.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:p}}}}),g=Rr({taskset:h,adapterId:n}),v=Ia({javascript:l,environment:p,verifierSet:g.verifierSetRelease}),w=[...r.filter(B=>B.sourcePath!==i),{asset:v.asset,sourcePath:i}],x=Z.parse({...h,metadata:{...h.metadata,portableFileInventory:w}});return{taskset:Z.parse({...x,contentHash:ct(x)}),inventory:w,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(he(v))}]}}c(hc,"prepareAuthoredToolEnvironment");var Ft=e.array(e.object({asset:J,sourcePath:e.string().min(1)}).strict()).max(1e4),gc=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function vc(t){return gc.has(t)}c(vc,"isGeneratedTasksetPublicationFilePath");function bc(t,a,r){let n=Z.parse(t);if(n.metadata.taskDefinition!==void 0||n.metadata.rewardBinding!==void 0)return{taskset:n,generatedFiles:[]};let i=new Map,s=0;for(let[b,I]of a){if(ie.parse(b),s+=I.byteLength,i.size>=1e4||s>De*3/4)throw new Error("Taskset source exceeds the package byte limit.");i.set(b,I.slice())}let o=n.metrics?.customAggregator,m=o?i.get(o.module):void 0;if(o&&!m)throw new Error("Declared Taskset metric module is missing.");let u=o&&m?{...n.metrics,customAggregator:{...o,contentHash:F(m)}}:n.metrics,d=new Map,l=new Set,p=[],h=c((b,I,j,N)=>{let k=i.get(I);if(!k)throw new Error(`Declared Taskset file is missing: ${I}.`);return{id:b,path:I,contentHash:F(k),sizeBytes:k.byteLength,mediaType:j,visibility:N}},"ref"),g=c((b,I=b.path)=>{let j=d.get(b.id);if(j&&f(j)!==f({asset:b,sourcePath:I}))throw new Error(`Conflicting Taskset file identity: ${b.id}.`);let N=i.get(I);if(!N||N.length!==b.sizeBytes||F(N)!==b.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${b.id}.`);d.set(b.id,{asset:b,sourcePath:I}),l.add(I)},"add");for(let b of n.tasks){let I=Ma(b);for(let j of I.artifactRefs)g(j,b.assets?.find(N=>N.id===j.id)?.artifactRef??j.path);for(let j of I.requiredOutputs??[])j.schemaRef&&g(j.schemaRef)}for(let b of n.environment.resources??[])g(h(b.id,b.path,b.mediaType??"application/octet-stream",b.visibility==="policy_visible"?"policy":"host_private"));let v=n.graders.map(b=>{if(b.kind==="custom_verifier"){let I=h(`verifier-${b.id}`,b.module,"application/javascript","host_private"),j=J.safeParse(b.metadata.portableVerifierRef);return j.success&&j.data.contentHash===I.contentHash&&j.data.sizeBytes===I.sizeBytes&&(I=j.data),g(I,b.module),{...b,metadata:{...b.metadata,portableVerifierRef:I}}}if(b.kind==="human"||b.kind==="model_judge"){let I=new TextEncoder().encode(b.rubric),j=`graders/rubric-${F(I)}.md`;i.set(j,I);let N=h(`rubric-${b.id}`,j,"text/markdown","verifier"),k=J.safeParse(b.metadata.portableRubricRef);if(k.success&&k.data.contentHash===N.contentHash&&k.data.sizeBytes===N.sizeBytes){if(k.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");N=k.data}return g(N,j),p.push({path:j,role:"verifier",content:b.rubric}),{...b,metadata:{...b.metadata,portableRubricRef:N}}}return b});o&&![...d.values()].some(b=>b.asset.path===o.module&&b.sourcePath===o.module&&b.asset.visibility!=="policy")&&g(h(`metric-${f(o.module)}`,o.module,"application/javascript","host_private"));let w=Ft.parse(n.metadata.portableFileInventory??[]);for(let b of[...i.keys()].sort())if(!l.has(b)){let I=w.find(j=>j.sourcePath===b&&!d.has(j.asset.id));g(I?{...h(I.asset.id,b,I.asset.mediaType,I.asset.visibility),path:I.asset.path}:h(`taskset-file-${f(b)}`,b,"application/octet-stream","host_private"),b)}let{importedPackageHash:x,derivedPortableMetadata:B,...R}=n.metadata,y={...n.environment.metadata};if(y.portableExecutionResources!==void 0){let b=e.object({environment:e.unknown(),verifierSet:e.unknown().optional()}).parse(y.portableExecutionResources);y.portableExecutionResources={environment:b.environment}}let re=Z.parse({...n,graders:v,metrics:u,environment:{...n.environment,metadata:y},metadata:{...R,...x===void 0?{}:{sourceImportedPackageHash:x},portableFileInventory:Ft.parse([...d.values()].sort((b,I)=>b.asset.id.localeCompare(I.asset.id)))}}),ce=hc(re,i,[...d.values()],r);return{taskset:Z.parse({...ce.taskset,contentHash:ct(ce.taskset)}),generatedFiles:[...p,...ce.generatedFiles]}}c(bc,"prepareAuthoredTasksetSource");function kc(t){let a=W(t.source);if(a.modelResources||a.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let r=ot(a);if(!r.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let n=new Map,i=Je(a);for(let R of i?.assets??[])n.set(R.id,R);let s=new Set([...a.taskset.tasks.flatMap(R=>R.privilegedContextRef?[R.privilegedContextRef]:[]),...[a.environment.actionSchemaRef,a.environment.observationSchemaRef,a.environment.stateSchemaRef].flatMap(R=>R?[R.id]:[])]);for(let R of s){if(n.has(R))continue;let y=a.files.find(ce=>ce.asset.id===R);if(!y)throw new Error(`Source Taskset context is missing: ${R}.`);let re=new TextDecoder("utf-8",{fatal:!0}).decode(he(y));n.set(R,xe.parse(P({schemaVersion:"openpond.learningTextAsset.v1",id:R,revision:1,asset:y.asset,text:re})))}for(let R of t.assets){let y=a.files.find(re=>re.asset.id===R.id);if(y&&P({asset:y.asset}).contentHash!==P({asset:R.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${R.id}.`);n.set(R.id,R)}let{policy:o,environment:m,environmentRelease:u,tools:d,capabilities:l,verifierSetRelease:p}=a.taskset,h=te.parse(P({schemaVersion:"openpond.taskDefinition.v1",id:`${a.taskset.id}-definition`,revision:1,name:a.taskset.id,description:"",instructions:r,category:"custom",familyNamespace:a.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:S(t.rewardBinding),harness:null,execution:{policy:o,environment:m,environmentRelease:u,tools:d,capabilities:l,verifierSetRelease:p}})),g=Vt({...t,assets:[...n.values()],source:{taskset:a.taskset,taskDefinition:h,instructionMode:"per_task",executionResources:{environment:a.environment,verifierSet:a.verifierSet},...i?{execution:i.execution}:{}}}),v=new Map(a.files.map(R=>[R.asset.id,R]));for(let R of g.assets){let y="";for(let re of new TextEncoder().encode(R.text))y+=String.fromCharCode(re);v.set(R.id,{asset:R.asset,base64:btoa(y)})}let{taskset:w,executionResources:x,...B}=g;return yt({schemaVersion:"openpond.tasksetPackage.v1",taskset:w,...x,modelResources:B,files:[...v.values()]})}c(kc,"bindOrdinaryModelTasksetReward");function wc(t){let{request:a,package:r}=t,n=r.learningResources;if(!n)throw new me("model_review_batch_required",422);let i=ne(r.taskset),s=`model-review-${f([t.scope,a.modelId,a.operationId])}`,o=new Map(a.examples.map(k=>[f(k.evidence),k])),m=new Set(n.evidence.map(k=>f(S(k)))),u=new Map(n.decisions.map(k=>[f(k.evidence),k]));if(o.size!==a.examples.length||a.examples.some(k=>!m.has(f(k.evidence))))throw new me("model_review_evidence_mismatch",409);for(let k of[t.binding,...t.rewards,...t.assets])pt(k);Qt(t.binding,t.rewards);let d=new Map;for(let k of t.binding.sources){let D=t.rewards.find(qa=>z(S(qa),k.reward)),{contentHash:de,...Oe}=D;d.set(D.contentHash,Yr({...Oe,id:`${s}-reward-${D.contentHash}`,revision:1}))}let l=[...d.values()],{contentHash:p,recipeRef:h,...g}=t.binding,v=Zt({...g,id:`${s}-binding`,revision:1,sources:t.binding.sources.map(k=>({...k,reward:S(d.get(k.reward.contentHash))}))},l),w=l.flatMap(k=>[...k.assets,..."verifierRef"in k.implementation?[k.implementation.verifierRef]:[],..."rubricRef"in k.implementation?[k.implementation.rubricRef]:[],..."inputContract"in k.implementation?[k.implementation.inputContract]:[]]),x=[...new Map(w.map(k=>{let D=t.assets.find(de=>de.id===k.id);if(!D)throw new me("model_review_reward_asset_missing",422);if(U(D,k),k.visibility==="policy")throw new me("reward_asset_visibility_invalid",422);return[D.id,D]})).values()],{environmentRelease:B,verifierSetRelease:R,...y}=i.definition.execution,{contentHash:re,...ce}=i.definition,b=te.parse(P({...ce,...a.definition,id:`${s}-definition`,revision:1,rewardBinding:S(v),execution:{...y,policy:{...y.policy,hiddenGraderRefs:ee(v,l).filter(k=>k.privileged).map(k=>k.id)}}})),I=Ve.parse(P({schemaVersion:"openpond.learningSource.v1",id:s,revision:1,name:`${b.name} review`,kind:"direct",taskDefinition:S(b),enabled:!0,allowedSplits:[...new Set(n.evidence.map(k=>k.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:a.modelId,packageHash:r.contentHash,taskset:S(r.taskset),batch:S(n.batch),rewardBinding:S(t.binding)}})),j=n.evidence.map(k=>{let D=o.get(f(S(k))),de=`review-${k.contentHash}`,Oe=f({instructions:b.instructions,inputSchema:b.inputSchema,outputSchema:b.outputSchema,requiredOutputs:b.requiredOutputs??[],input:D?.input??k.submission.input})!==f({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:k.submission.input});return et.parse(P({schemaVersion:"openpond.taskEvidence.v1",id:dn(I.id,k.submission.exampleId,de),revision:1,source:S(I),submission:{...k.submission,sourceId:I.id,taskDefinition:S(b),attemptId:de,observedOutput:Oe?null:k.submission.observedOutput,idempotencyKey:`${s}-${k.contentHash}`,...D?.input===void 0?{}:{input:D.input},...D?.expected===void 0?{}:{expected:D.expected},...D?.evaluatorContext===void 0?{}:{evaluatorContext:D.evaluatorContext}},supersedes:S(k),correctionFeedbackId:null,receivedAt:t.now}))}),N=j.flatMap(k=>{let D=o.get(f(k.supersedes)),de=u.get(f(k.supersedes)),Oe=D?.proposedTarget===void 0?de.approvedTarget:D.proposedTarget;return Oe===null?[]:[ra.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${f([s,k.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:I.id,idempotencyKey:`${s}-${k.id}`,exampleId:k.submission.exampleId,attemptId:k.submission.attemptId,expectedEvidenceHash:k.contentHash,occurredAt:t.now,kind:"target_correction",value:Oe,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:S(k),createdAt:t.now,review:null})]});return{source:I,definition:b,binding:v,rewards:l,assets:x,evidence:j,proposals:N}}c(wc,"prepareModelBatchReview");var Ii=c(t=>`model-batch-review-${f([t.modelId,t.operationId])}`,"operation");function Sc(t){let a=W(t);if(!a.learningResources)throw new me("model_review_batch_required",422);let r=ne(a.taskset);return hr.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:a.contentHash,definition:r.definition,binding:r.binding,evidence:a.learningResources.evidence,decisions:a.learningResources.decisions})}c(Sc,"inspectModelBatchPackage");async function _i(t,a){let r=ja.parse(a),n=await t.operation(Ii(r));if(!n)return null;if(n.requestHash!==f(r))throw new me("learning_idempotency_conflict",409);return ji(t,r,n.resources)}c(_i,"findModelBatchReview");async function yc(t,a){let r=ja.parse(a.request),n=await _i(t,r);if(n)return n;let i=W(a.package);if(!i.learningResources)throw new me("model_review_batch_required",422);let s=ne(i.taskset),o=r.rewardBindingRef,m=!o||z(o,S(s.binding)),u=m?s.binding:await Ua(t,"binding",o),d=m?s.rewards:await Promise.all(u.sources.map(v=>Ua(t,"reward",v.reward))),l=new Set(d.flatMap(v=>[...v.assets,..."verifierRef"in v.implementation?[v.implementation.verifierRef]:[],..."rubricRef"in v.implementation?[v.implementation.rubricRef]:[],..."inputContract"in v.implementation?[v.implementation.inputContract]:[]]).map(v=>v.id)),p=m?i.learningResources.assets:await Promise.all([...l].map(v=>Na(t,"asset",v,1))),h=wc({...a,request:r,package:i,binding:u,rewards:d,assets:p}),g=[];for(let v of h.assets){let w=await t.get("asset",v.id,1);if(w&&w.contentHash!==v.contentHash)throw new me("model_review_asset_conflict",409);w||await t.put("asset",v,0)}for(let v of h.rewards)await t.put("reward",v,0);await t.put("binding",h.binding,0),await t.put("definition",h.definition,0),await t.put("source",h.source,0,{parentId:r.modelId}),g.push({kind:"source",id:h.source.id,revision:1});for(let v of h.evidence)await t.put("evidence",v,0,{parentId:h.source.id}),g.push({kind:"evidence",id:v.id,revision:1});for(let v of h.proposals)await t.put("feedback",v,0,{parentId:v.evidence.id,status:v.status}),g.push({kind:"feedback",id:v.id,revision:1});return await t.saveOperation(Ii(r),{requestHash:f(r),resources:g}),ji(t,r,g)}c(yc,"beginModelBatchReview");async function ji(t,a,r){let n=await Promise.all(r.map(i=>Na(t,i.kind,i.id,i.revision)));return gr.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:a.operationId,modelId:a.modelId,source:n.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:n.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:n.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}c(ji,"readReceipt");function xc(t){let a=W(t.package),r=a.taskset,n=a.modelResources,i=a.learningResources?ne(r):void 0,s=wt.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${f({profileId:t.profileId,packageHash:a.contentHash})}`,profileId:t.profileId,title:t.name,sourceHash:a.contentHash,occurredAt:t.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[a.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(a)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),o=fi({profileId:t.profileId,id:`${r.id}-import`,name:t.name,now:t.createdAt}),m=[];for(let h of r.graders)if(h.kind==="custom_verifier"){let g=n?.assets.find(x=>x.id===h.verifierRef.id),v=a.files.find(x=>x.asset.id===h.verifierRef.id);if(!v)throw new Error(`Imported verifier source is missing: ${h.id}.`);let w=zt(h.verifierRef.contentHash);m.some(x=>x.path===w)||m.push({path:w,role:"verifier",content:g?U(g,h.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(he(v))})}let u=r.metadata.ordinaryAuthoring??r.metadata.starterAuthoring,d=it.array().max(1e5).parse(u?.graderFixtures??[]),l=r.environment.kind==="text"?"chat":r.environment.kind==="custom_program"?"program":r.environment.kind,p=Z.parse({schemaVersion:"openpond.taskset.v1",id:r.id,revision:r.revision,profileId:t.profileId,profileRelease:null,createImproveRunId:null,name:t.name,objective:ot(a),status:"needs_review",sourceRefs:[s],datasetArtifact:null,policy:r.policy,environment:{...o.environment,kind:l,entrypoint:r.environment.entrypoint,resources:ir.array().max(1e4).parse(r.metadata.environmentResources??[]),stateful:r.environment.stateful,deterministicSeeds:r.environment.deterministicSeeds,toolNames:r.tools.map(h=>h.name),defaultTimeoutMs:r.environment.defaultTimeoutMs,networkPolicy:r.environment.networkPolicy,metadata:{runtimeSourceTasksetId:Hi(t.profileId,a.contentHash),portableEnvironment:r.environment,portableTools:r.tools,portableExecutionResources:{environment:a.environment,verifierSet:a.verifierSet}}},capabilities:{...o.capabilities,taskKind:l==="chat"?"chat":l==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:r.tools.length>0,requiresState:r.environment.stateful,rewardKinds:[...new Set(r.graders.map(h=>h.kind==="human"?"human":h.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:r.tasks.map(h=>({...h,schemaVersion:"openpond.taskData.v1",sourceRefs:[s.id],assets:h.artifactRefs.map(g=>({id:g.id,sourceRefId:s.id,artifactRef:g.path,fileName:g.path.split("/").at(-1),mediaType:g.mediaType,sha256:g.contentHash,sizeBytes:g.sizeBytes,split:h.split,metadata:{portableAsset:g}})),...h.requiredOutputs?{requiredOutputs:h.requiredOutputs.map(g=>({...g,schemaRef:g.schemaRef?.id??null,maxBytes:g.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:h,exampleOrigin:"imported"}})),graders:n?Ha(n.rewardBinding,n.rewards,n.assets):i?Ha(i.binding,i.rewards,a.learningResources.assets):Yn(a),graderFixtures:d,learningSignals:o.learningSignals,...r.metrics?{metrics:r.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:f("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[a.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:t.createdAt},readiness:null,contentHash:"00000000",createdAt:t.createdAt,updatedAt:t.createdAt,metadata:{importedPackageHash:a.contentHash,tasksetOutputContract:r.metadata.tasksetOutputContract??null,...i?{learning:i}:{},portableFileInventory:a.files.map(h=>({asset:h.asset,sourcePath:h.asset.path})),...n?{taskDefinition:S(n.taskDefinition),rewardBinding:S(n.rewardBinding),rewardExecution:{binding:n.rewardBinding,rewards:n.rewards}}:{},portableCapabilities:r.capabilities,derivedPortableMetadata:r.metadata,...r.metadata.modelTasksetDerivation?{modelTasksetDerivation:r.metadata.modelTasksetDerivation}:{}}});return{package:a,taskset:Z.parse({...p,contentHash:ct(p)}),generatedFiles:m}}c(xc,"prepareImportedTasksetPackage");function Hi(t,a){return`package-${f({profileId:t,packageHash:a})}`}c(Hi,"tasksetPackageSourceId");var Pi=e.object({draft:je,filePaths:e.array(e.object({assetId:e.string().min(1),paths:e.array(ie).min(1).max(1e4)}).strict()).max(1e4)}).strict();function Rc(t){let a=W(t.source),r=je.parse(t.sourceDraft),n=Ee.parse(t.preparation);if(a.contentHash!==n.sourcePackageHash||!z(S(a.taskset),n.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(a.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!a.modelResources!=(n.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=Ft.parse(r.metadata.portableFileInventory??[]),s=c(l=>Rt(l)?`source-artifacts/${a.contentHash}/${f(l)}/${l.split("/").at(-1)}`:l,"sourcePath");if([...r.tasks.flatMap(l=>(l.assets??[]).map(p=>p.artifactRef)),...(r.environment.resources??[]).map(l=>l.path),...a.taskset.tasks.flatMap(l=>(l.requiredOutputs??[]).flatMap(p=>p.schemaRef?[p.schemaRef.path]:[])),...r.metrics.customAggregator?[r.metrics.customAggregator.module]:[],...r.graders.flatMap(l=>l.kind==="custom_verifier"?[l.module]:[])].some(Rt))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let m=a.files.map(l=>{let p=new Set([l.asset.path]);for(let h of i)h.asset.id===l.asset.id&&p.add(h.sourcePath);for(let h of r.tasks)for(let g of h.assets??[])g.id===l.asset.id&&p.add(g.artifactRef);for(let h of a.taskset.graders)if(h.kind==="custom_verifier"&&h.verifierRef.id===l.asset.id){let g=r.graders.find(v=>v.id===h.id);g?.kind==="custom_verifier"&&p.add(g.module)}return{assetId:l.asset.id,paths:[...p].map(s)}}),u={...r.metadata};if(a.modelResources)for(let l of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete u[l];let d=je.parse({...r,id:n.draftId,revision:1,status:"draft",graders:r.graders.map(l=>({...l,metadata:{...l.metadata,portableGrader:a.taskset.graders.find(p=>p.id===l.id)}})),environment:{...r.environment,metadata:{...r.environment.metadata,portableExecutionResources:{environment:a.environment}}},modelScope:{modelId:n.lineage.owner.modelId,expectedModelRevision:t.expectedModelRevision,source:n},publishedTasksetRef:n.tasksetRevision>1?n.sourceTasksetRef:null,metadata:{...u,modelTasksetAuthoring:n.lineage,portableFileInventory:i.map(l=>({...l,sourcePath:s(l.sourcePath),asset:{...l.asset,id:Rt(l.sourcePath)?`source-artifact-${f({packageHash:a.contentHash,assetId:l.asset.id})}`:l.asset.id,path:s(l.asset.path)}}))}});return Pi.parse({draft:d,filePaths:m})}c(Rc,"prepareTasksetDraftSource");var _t=e.string().trim().min(1).max(500),Tc=e.string().regex(/^[a-f0-9]{64}$/),Ke=e.object({id:_t,revision:e.number().int().positive(),contentHash:Tc}).strict(),Ir=e.object({schemaVersion:e.literal("openpond.hostedTasksetSummary.v1"),id:_t,teamId:_t,release:Ke,name:e.string().min(1).max(500),description:e.string().max(2e4),taskCount:e.number().int().nonnegative(),buildIntent:e.string().min(1).max(100),methodHint:e.string().min(1).max(100).nullable(),packageBytes:e.number().int().nonnegative().nullable(),storedBytes:e.number().int().nonnegative().nullable(),createdAt:e.string().datetime({offset:!0})}).strict(),Ic=e.object({afterId:e.string().trim().min(1).max(2e3).optional(),limit:e.number().int().min(1).max(100).default(30),modelProjectId:_t.optional(),projectId:_t.optional(),search:e.string().trim().max(100).optional(),sort:e.enum(["id","name","updated"]).default("id")}).strict(),_c=e.object({items:e.array(Ir).max(100),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),jc=e.object({code:e.string().min(1),message:e.string().min(1)}).strict(),It=class extends Error{static{c(this,"OpenPondTasksetCatalogError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondTasksetCatalogError"}status;code},Yu=class{static{c(this,"OpenPondTasksetCatalogClient")}#e;constructor(t){if(!t.apiKey.trim()||!t.teamId.trim())throw new Error("Taskset API key and workspace are required.");let a=new URL(t.baseUrl);if(!["http:","https:"].includes(a.protocol)||a.username||a.password||a.search||a.hash)throw new Error("Taskset base URL must be an HTTP(S) endpoint without credentials, query, or fragment.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async list(t={},a={}){let r=Ic.parse(t),n=new URLSearchParams({limit:String(r.limit)});r.afterId&&n.set("afterId",r.afterId),r.modelProjectId&&n.set("modelProjectId",r.modelProjectId),r.projectId&&n.set("projectId",r.projectId),r.search!==void 0&&n.set("search",r.search),n.set("sort",r.sort);let i=_c.parse(await this.#t(`?${n}`,a.signal));if(i.items.length>r.limit||new Set(i.items.map(s=>s.id)).size!==i.items.length||i.items.some(s=>s.teamId!==this.#e.teamId))throw new It(502,"catalog_scope_mismatch","Taskset inventory did not match the requested workspace or page size.");return i}async get(t,a={}){let r=_t.parse(t),n=Ir.parse(await this.#t(`/${encodeURIComponent(r)}`,a.signal));if(n.id!==r||n.teamId!==this.#e.teamId)throw new It(502,"catalog_identity_mismatch","Taskset metadata did not match the requested identity.");return n}async resolve(t,a={}){let r=Ke.parse(t),n=Ir.parse(await this.#t(`/releases/${encodeURIComponent(r.id)}/${r.revision}/${r.contentHash}`,a.signal));if(n.teamId!==this.#e.teamId||n.release.id!==r.id||n.release.revision!==r.revision||n.release.contentHash!==r.contentHash)throw new It(502,"catalog_release_mismatch","Taskset metadata did not match the requested immutable release.");return n}async#t(t,a){let r=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-catalog${t}`,{headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json"},signal:a,redirect:"error"}),n=r.body?.getReader();if(!n)throw new It(r.status,"empty_response","Taskset catalog response was empty.");let i=new TextDecoder,s=0,o="";try{for(;;){let u=await n.read();if(u.done)break;if(s+=u.value.byteLength,s>4194304)throw new It(r.status,"response_too_large","Taskset catalog response exceeded 4 MiB.");o+=i.decode(u.value,{stream:!0})}o+=i.decode()}finally{await n.cancel(),n.releaseLock()}let m=JSON.parse(o);if(!r.ok){let u=jc.safeParse(m);throw new It(r.status,u.success?u.data.code:"invalid_error_response",u.success?u.data.message:`Taskset catalog request failed (${r.status}).`)}return m}};var ke=e.string().trim().min(1).max(500),jt=e.string().regex(/^[a-f0-9]{64}$/),Ei=tr.pick({portableProjectId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,sourceRevision:!0,sourceUpdatedAt:!0}).extend({trainingSetup:$t.omit({tasksetRef:!0,rewardBindingRef:!0,tasksetRelease:!0})}).strict(),Ai=e.object({schemaVersion:e.literal("openpond.tasksetPackagePublication.v1"),operationId:ke,modelProjectId:ke,expectedProjectEtag:jt.nullable(),name:e.string().trim().min(1).max(200),description:e.string().max(5e3),buildIntent:e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),methodHint:e.enum(["sft","dpo","grpo","ppo"]).nullable(),package:st,modelConfiguration:Ei.optional(),evaluationPackage:st.optional(),selection:e.enum(["select","attach"]).optional()}).strict().refine(t=>t.selection!=="attach"||t.modelConfiguration===void 0,"Attachment-only publication cannot replace Model configuration.").refine(t=>!t.evaluationPackage||t.modelConfiguration!==void 0&&t.modelConfiguration.trainingSetup.evaluationTasksetRef!=null&&f(t.modelConfiguration.trainingSetup.evaluationTasksetRef)===f(S(t.evaluationPackage.taskset)),"Evaluation package must match the selected immutable evaluation in Model configuration."),Ci=e.object({schemaVersion:e.literal("openpond.tasksetPackageReceipt.v1"),teamId:ke,modelProjectId:ke,operationId:ke,taskset:Ke,packageHash:jt,hostedTasksetId:ke,projectEtag:jt,project:Ce.optional(),selection:e.enum(["select","attach"]).optional(),evaluation:e.object({taskset:Ke,packageHash:jt,hostedTasksetId:ke}).strict().optional()}).strict(),Mi=e.object({schemaVersion:e.literal("openpond.tasksetPackageReadback.v1"),teamId:ke,modelProjectId:ke,package:st}).strict(),$i=e.object({schemaVersion:e.literal("openpond.tasksetReleasePackageReadback.v1"),teamId:ke,release:Ke,package:st}).strict(),oe=class extends Error{static{c(this,"OpenPondTasksetPackageError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondTasksetPackageError"}status;code},Hc=class{static{c(this,"OpenPondTasksetPackageClient")}#e;constructor(t){let a=new URL(t.baseUrl);if(!["http:","https:"].includes(a.protocol)||a.username||a.password||a.search||a.hash||!t.apiKey.trim()||!t.teamId.trim())throw new Error("Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async publish(t,a={}){let r=Ai.parse(t);W(r.package),r.evaluationPackage&&W(r.evaluationPackage);let n=Ci.parse(await this.#t("","POST",r,a.signal)),i=r.package.taskset;if(n.teamId!==this.#e.teamId||n.modelProjectId!==r.modelProjectId||n.operationId!==r.operationId||n.packageHash!==r.package.contentHash||n.taskset.id!==i.id||n.taskset.revision!==i.revision||n.taskset.contentHash!==i.contentHash)throw new oe(502,"package_receipt_mismatch","Taskset publication receipt did not match the requested package and owner.");if(r.selection!==void 0&&n.selection!==r.selection)throw new oe(502,"package_receipt_mismatch","Taskset publication did not retain its selection mode.");if(r.evaluationPackage&&(!n.evaluation||n.evaluation.packageHash!==r.evaluationPackage.contentHash||f(n.evaluation.taskset)!==f(S(r.evaluationPackage.taskset))))throw new oe(502,"package_receipt_mismatch","Taskset publication did not retain the complete selected evaluation package.");if(r.selection==="attach"&&n.projectEtag!==r.expectedProjectEtag)throw new oe(502,"package_receipt_mismatch","Attaching a historical Taskset changed the Model configuration.");if(r.modelConfiguration){let s=r.modelConfiguration,o=n.project,m=fr(r.package),u=$t.parse({...s.trainingSetup,tasksetRef:S(i),rewardBindingRef:m?S(m):null,tasksetRelease:null});if(!o||o.teamId!==this.#e.teamId||o.etag!==n.projectEtag||![o.id,o.portableProjectId].includes(r.modelProjectId)||o.portableProjectId!==s.portableProjectId||o.name!==s.name||o.objective!==s.objective||o.sourceRevision!==s.sourceRevision||Date.parse(o.sourceUpdatedAt)!==Date.parse(s.sourceUpdatedAt)||f(o.defaultBaseModel)!==f(s.defaultBaseModel)||o.defaultDestinationId!==s.defaultDestinationId||f(o.trainingSetup)!==f(u))throw new oe(502,"package_receipt_mismatch","Taskset publication did not retain the requested Model configuration.")}return n}async getByRelease(t,a={}){let r=Ke.parse(t),n=a.expectedPackageHash===void 0?void 0:jt.parse(a.expectedPackageHash),i=$i.parse(await this.#t(`/releases/${encodeURIComponent(r.id)}/${r.revision}/${r.contentHash}/package`,"GET",void 0,a.signal)),s=W(i.package),o={id:s.taskset.id,revision:s.taskset.revision,contentHash:s.taskset.contentHash};if(i.teamId!==this.#e.teamId||f(i.release)!==f(r)||f(o)!==f(r)||n!==void 0&&s.contentHash!==n)throw new oe(502,"package_readback_mismatch","Independent Dataset package differs from the requested workspace or exact release.");return s}async get(t,a,r={}){let n=ke.parse(t),i=Ke.parse(a),s=r.expectedPackageHash===void 0?void 0:jt.parse(r.expectedPackageHash),o=Mi.parse(await this.#t(`/${encodeURIComponent(n)}/${encodeURIComponent(i.id)}/${i.revision}/${i.contentHash}`,"GET",void 0,r.signal)),m=o.package.taskset;if(o.teamId!==this.#e.teamId||o.modelProjectId!==n||m.id!==i.id||m.revision!==i.revision||m.contentHash!==i.contentHash)throw new oe(502,"package_readback_mismatch","Taskset package did not match the requested release and owner.");if(s!==void 0&&o.package.contentHash!==s)throw new oe(502,"package_readback_mismatch","Taskset package did not match the saved publication receipt.");return W(o.package)}async#t(t,a,r,n){let i=r===void 0?void 0:JSON.stringify(r);if(i&&new TextEncoder().encode(i).byteLength>De)throw new oe(413,"package_too_large","Taskset publication exceeds the 64 MiB envelope.");let s=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-packages${t}`,{method:a,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json",...i?{"Content-Type":"application/json"}:{}},body:i,signal:n,redirect:"error"}),o=s.body?.getReader();if(!o)throw new oe(s.status,"empty_response","Taskset package response was empty.");let m=new TextDecoder("utf-8",{fatal:!0}),u=0,d="";try{for(;;){let p=await o.read();if(p.done)break;if(u+=p.value.byteLength,u>De)throw new oe(413,"package_too_large","Taskset response exceeds the 64 MiB envelope.");d+=m.decode(p.value,{stream:!0})}d+=m.decode()}finally{await o.cancel(),o.releaseLock()}let l=JSON.parse(d);if(!s.ok){let p=e.object({code:e.string(),message:e.string()}).safeParse(l);throw new oe(s.status,p.success?p.data.code:"package_request_failed",p.success?p.data.message:`Taskset package request failed (${s.status}).`)}return l}};var Ht=e.string().regex(/^[a-f0-9]{64}$/),qi=e.object({providerId:e.literal("claude-code"),configurationHash:Ht,executableHash:Ht,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:Ht,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(),fp=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,a)=>{t.action==="message"&&!t.text?.trim()&&a.addIssue({code:"custom",message:"A human intervention requires a message."}),t.action==="seal"&&t.text!==void 0&&a.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),hp=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:qi,sourceHash:Ht,outputHash:Ht,traceHash:Ht,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,a)=>{(t.runtimeEventRefs.length!==t.eventCount||new Set(t.runtimeEventRefs).size!==t.eventCount)&&a.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})}),Nt=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(),Pc=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,a)=>{t.reduce((r,n)=>r+n.content.length,0)>1e5&&a.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})}),Ec=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(Wt).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:ma.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,a)=>{let{contentHash:r,...n}=t;f(n)!==r&&a.addIssue({code:"custom",message:"Experiment grading integrity failed."});let i=t.grades.flatMap(s=>s.components);(i.length!==t.grades.length||new Set(i.map(s=>s.graderId)).size!==i.length)&&a.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let s of t.grades){let{contentHash:o,...m}=s;f(m)!==o&&a.addIssue({code:"custom",message:"A retained criterion changed."});for(let u of s.components){let{contentHash:d,...l}=u;f(l)!==d&&a.addIssue({code:"custom",message:"A retained grader result changed."})}}}),C=e.string().trim().min(1).max(200),dt=e.string().regex(/^[a-f0-9]{64}$/),_r=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:C,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:dt,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),qi]).optional(),candidate:e.object({artifactId:C,contentHash:dt,preparationId:C,dispatchId:C,baseProfileId:C,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:Xr.optional(),messages:Pc.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:C}).strict()]),Di=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:C,teamId:C,modelProjectId:C.nullable(),project:Nt.optional(),taskset:V,taskId:C,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:_r}).strict(),Ac=e.object({modelProjectId:C.nullable(),taskset:V,afterTaskId:C.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Cc=e.object({modelProjectId:C.nullable(),taskset:V,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:C,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:C,split:Nr,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:C,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:C.nullable()}).strict(),Ut=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:C,revision:e.number().int().positive(),request:Di,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:C,provider:C,upstreamModelId:e.string().min(1).max(500),configurationHash:dt}).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:C,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{t.request.policy.kind==="fixture"!=(t.policySnapshot===null)&&a.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable||!t.completedAt)&&a.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),Mc=e.object({modelProjectId:C,afterId:C.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),$c=e.object({items:e.array(Ut).max(100),nextCursor:C.nullable()}).strict(),qc=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:Ut,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:Wr.nullable(),grade:Wt.nullable().optional(),experimentGrade:Ec.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:V,initialStateHash:dt.nullable(),finalStateHash:dt.nullable(),attemptHash:dt}).strict(),native:Zr.optional(),providerRequestIds:e.array(C).max(1001),contentHash:dt}).strict().superRefine((t,a)=>{let r=t.attempt.request.policy.kind==="hosted_chat"?t.attempt.request.policy.harness:void 0;!!r!=!!t.native&&a.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),t.native&&(!r||f(r)!==f(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!==f(t.output)))&&a.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),t.experimentGrade&&((t.grade||t.composition)&&a.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))&&a.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),t.grade&&(t.composition&&a.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))&&a.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))}),We=class extends Error{static{c(this,"OpenPondModelStarterAttemptError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondModelStarterAttemptError"}status;code},Rp=class{static{c(this,"OpenPondModelStarterAttemptsClient")}#e;constructor(t){let a=new URL(t.baseUrl);if(!t.apiKey.trim()||!t.teamId.trim()||!["https:","http:"].includes(a.protocol)||a.username||a.password||a.search||a.hash)throw new Error("Starter attempts require an HTTP(S) endpoint and workspace credentials.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async create(t,a={}){let r=Di.parse(t);if(r.teamId!==this.#e.teamId)throw new Error("Attempt belongs to another workspace.");let n=this.#t(await this.#a("","POST",r,a.signal));if(H(n.request)!==H(r))throw new We(502,"attempt_request_mismatch","Attempt receipt differs from the submitted request.");return n}async get(t,a={}){return this.#t(await this.#a(`/${encodeURIComponent(C.parse(t))}`,"GET",void 0,a.signal),t)}async choices(t,a={}){let r=Ac.parse(t),n=new URLSearchParams({...r.modelProjectId?{modelProjectId:r.modelProjectId}:{},tasksetId:r.taskset.id,revision:String(r.taskset.revision),contentHash:r.taskset.contentHash,limit:String(r.limit)});r.afterTaskId&&n.set("afterTaskId",r.afterTaskId);let i=Cc.parse(await this.#a(`/choices?${n}`,"GET",void 0,a.signal));if(i.modelProjectId!==r.modelProjectId||H(i.taskset)!==H(r.taskset)||i.tasks.length>r.limit||new Set(i.tasks.map(s=>s.id)).size!==i.tasks.length)throw new We(502,"attempt_choices_mismatch","Attempt choices differ from the selected model or Taskset.");return i}async cancel(t,a={}){return this.#t(await this.#a(`/${encodeURIComponent(C.parse(t))}/cancel`,"POST",void 0,a.signal),t)}async result(t,a={}){let r=qc.parse(await this.#a(`/${encodeURIComponent(C.parse(t))}/result`,"GET",void 0,a.signal));this.#t(r.attempt,t);let{contentHash:n,...i}=r;if(!r.attempt.resultAvailable||await O(i)!==n)throw new We(502,"attempt_result_integrity","Attempt result integrity failed.");return r}async list(t,a={}){let r=Mc.parse(t),n=new URLSearchParams({modelProjectId:r.modelProjectId,limit:String(r.limit)});r.afterId&&n.set("afterId",r.afterId);let i=$c.parse(await this.#a(`?${n}`,"GET",void 0,a.signal));if(i.items.length>r.limit||new Set(i.items.map(s=>s.id)).size!==i.items.length||i.items.some(s=>this.#t(s).request.modelProjectId!==r.modelProjectId))throw new We(502,"attempt_page_mismatch","Attempt page differs from the selected model.");return i}#t(t,a){let r=Ut.parse(t);if(r.request.teamId!==this.#e.teamId||a&&r.id!==a)throw new We(502,"attempt_identity_mismatch","Attempt receipt belongs to another identity or workspace.");return r}async#a(t,a,r,n){let i=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/model-starter-attempts${t}`,{method:a,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,"Content-Type":"application/json",Accept:"application/json"},...r===void 0?{}:{body:JSON.stringify(r)},signal:n,redirect:"error"}),s=i.body?.getReader();if(!s)throw new We(i.status,"attempt_empty_response","Attempt response was empty.");let o=0,m="",u=new TextDecoder;try{for(;;){let l=await s.read();if(l.done)break;if(o+=l.value.byteLength,o>16777216)throw new We(502,"attempt_response_too_large","Attempt response exceeded its byte limit.");m+=u.decode(l.value,{stream:!0})}m+=u.decode()}finally{await s.cancel(),s.releaseLock()}let d=JSON.parse(m);if(!i.ok){let l=e.object({code:C,message:e.string().max(2e3)}).safeParse(d);throw new We(i.status,l.success?l.data.code:"attempt_request_failed",l.success?l.data.message:"Attempt request failed.")}return d}};var Pt=e.string().trim().min(1).max(240),jr=e.string().regex(/^[a-f0-9]{64}$/),Hr=e.object({kind:e.literal("hosted_harness"),modelId:Pt,candidate:e.object({artifactId:Pt,contentHash:jr,preparationId:Pt,dispatchId:Pt,baseProfileId:Pt,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:La.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:Pt,source:La,modelConfigurationHash:jr,packageHash:jr,externalDatasetBinding:ta.optional()}).strict().superRefine((t,a)=>{JSON.stringify(t.externalDatasetBinding??null)!==JSON.stringify(t.source.externalDatasetBinding??null)&&a.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)&&a.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})}),we=e.string().trim().min(1).max(200),Bi=e.string().regex(/^[a-f0-9]{64}$/),Dc=e.discriminatedUnion("kind",[_r.options[0],e.object({kind:e.literal("fixture")}).strict(),Hr]),mt=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:we,teamId:we,modelProjectId:we.nullable(),name:e.string().trim().min(1).max(200).optional(),project:Nt.optional(),taskset:V,policy:Dc,population:e.array(en).min(1).max(1e4)}).strict().superRefine((t,a)=>{new Set(t.population.map(r=>r.receiptId)).size!==t.population.length&&a.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),t.population.some(r=>r.fixtureId!==null!=(t.policy.kind==="fixture"))&&a.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),t.population.some(r=>!/^(0|[1-9][0-9]*)$/.test(r.seed)||Number(r.seed)>2147483647)&&a.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),t.policy.kind==="hosted_harness"&&t.modelProjectId!==null&&a.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(r=>H([r.taskId,r.seed]))).size!==t.population.length&&a.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Oi=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:we,revision:e.number().int().positive(),teamId:we,modelProjectId:we.nullable(),name:e.string().trim().min(1).max(200).optional(),project:Nt.optional(),operationId:we,taskset:V,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:Bi,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:we,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{Object.values(t.counts).reduce((r,n)=>r+n,0)!==t.totalCount&&a.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),t.status!=="completed"&&t.score!==null&&a.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)&&a.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),t.status==="cancelled"&&!t.cleanupComplete&&a.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),t.resultAvailable&&!["completed","failed","cancelled"].includes(t.status)&&a.addIssue({code:"custom",message:"Run results require terminal population accounting."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable)&&a.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),Vi=e.object({summary:Oi,request:mt,manifest:aa,policySnapshot:Ut.shape.policySnapshot}).strict(),Dp=e.object({modelProjectId:we.optional(),projectId:Nt.shape.id.optional(),afterId:we.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Bp=e.object({items:e.array(Oi).max(100),nextCursor:we.nullable()}).strict(),Bc=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:Vi,receipts:e.array(Qr).min(1).max(1e4),metric:zr.nullable(),contentHash:Bi}).strict();function Oc(t,a){Te(a,"Taskset run manifest");let r=t.policy;if(r.kind!=="hosted_harness"||a.execution.kind!=="harness"||H(a.profileEvaluation)!==H(r.source)||H(a.execution.harnessRelease)!==H(r.source.harnessRelease)||a.metadata.profileRepositoryId!==r.profileRepositoryId||a.packageHash!==r.packageHash||a.policy.kind!=="model"||a.policy.model.provider!=="openpond"||a.policy.model.model!==r.modelId||a.policy.model.revision!==null||a.policy.model.artifactHash!==(r.candidate?.contentHash??null)||a.policy.model.tokenizerRevision!==null||a.policy.model.chatTemplateHash!==null||a.policy.configurationHash!==r.modelConfigurationHash||a.tasksetRelease.id!==t.taskset.id||a.tasksetRelease.contentHash!==t.taskset.contentHash||H(a.population)!==H(t.population)||a.population.some(n=>n.receiptId!==`evaluation-${f([a.id,n.taskId,n.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}c(Oc,"verifyHarnessExperimentManifest");async function Vc(t){let a=Vi.parse(t),{summary:r,request:n,manifest:i,policySnapshot:s}=a;if(Te(i,"Taskset run manifest"),i.contentHash!==r.manifestHash||i.id!==r.id||i.createdAt!==r.createdAt||r.teamId!==n.teamId||r.modelProjectId!==n.modelProjectId||H(r.project??null)!==H(n.project??null)||H(i.metadata.project??null)!==H(n.project??null)||(r.name??null)!==(n.name??null)||r.operationId!==n.operationId||r.policyKind!==n.policy.kind||r.totalCount!==n.population.length||r.metricName!==i.metricPolicy.primaryMetric||H(r.taskset)!==H(n.taskset)||i.tasksetRelease.id!==n.taskset.id||i.tasksetRelease.contentHash!==n.taskset.contentHash||H(i.population)!==H(n.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(n.policy.kind==="fixture"){if(i.policy.kind!=="fixture"||s!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(n.policy.kind==="hosted_harness"){if(Oc(n,i),s!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(i.policy.kind!=="model"||!s||s.modelId!==n.policy.modelId||i.policy.model.provider!==s.provider||i.policy.model.model!==s.upstreamModelId||i.policy.model.revision!==null||i.policy.model.artifactHash!==(n.policy.candidate?.contentHash??null)||i.policy.model.tokenizerRevision!==null||i.policy.model.chatTemplateHash!==null||i.policy.configurationHash!==await O({policy:n.policy,snapshot:s}))throw new Error("Evaluation model differs from its admitted policy.");return a}c(Vc,"verifyModelTasksetRunDetails");async function Op(t){let a=Bc.parse(t),{contentHash:r,...n}=a;if(await O(n)!==r)throw new Error("Evaluation result integrity failed.");let{summary:i,manifest:s}=await Vc(a.run);if(!i.resultAvailable||!["completed","failed","cancelled"].includes(i.status))throw new Error("Evaluation result is not terminal.");let o=tn(s,a.receipts);if(H(o)!==H(a.receipts))throw new Error("Evaluation receipts differ from the admitted order.");if(i.status==="completed"!=(a.metric!==null))throw new Error("Only completed evaluations retain a metric.");if(a.metric&&(Lr(a.metric),a.metric.runManifest.id!==s.id||a.metric.runManifest.contentHash!==s.contentHash||H(a.metric.tasksetRelease)!==H(s.tasksetRelease)||H(a.metric.policy)!==H(s.metricPolicy)||H(a.metric.receiptRefs)!==H(a.receipts.map(({id:m,contentHash:u})=>({id:m,contentHash:u})))||a.metric.value!==i.score))throw new Error("Evaluation metric differs from its admitted run or receipt population.");return a}c(Op,"verifyModelTasksetRunResult");var Ni=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),zc=e.array(Ni).min(1).max(20),zi=e.enum(["input","output","expectedOutput","evaluatorContext"]),Lc=e.object({destination:zi,path:zc,source:zi,sourcePath:e.array(Ni).max(20)}).strict(),Pr=e.array(Lc).max(100).superRefine((t,a)=>{for(let[r,n]of t.entries())t.slice(0,r).some(i=>i.destination===n.destination&&(Fi(i.path,n.path)||Fi(n.path,i.path)))&&a.addIssue({code:"custom",path:[r,"path"],message:"Mapped destination paths must not overlap."})});function Np(t,a){let r=Pr.parse(a),n=structuredClone(t);for(let i of r){let s=t[i.source];for(let m of i.sourcePath){if(!Li(s)||!Object.hasOwn(s,m))throw new Error("The configured grader source field is unavailable.");s=s[m]}if(s===void 0)throw new Error("The configured grader source field is unavailable.");let o=n[i.destination];o===null&&(n[i.destination]=o={});for(let m of i.path.slice(0,-1)){let u=Object.hasOwn(o,m)?o[m]:void 0;if(u!==void 0&&!Li(u))throw new Error("A grader destination path crosses a scalar field.");u===void 0&&(o[m]={}),o=o[m]}o[i.path.at(-1)]=structuredClone(s)}return n}c(Np,"mapExperimentGradingFields");function Li(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}c(Li,"record");function Fi(t,a){return t.length<=a.length&&t.every((r,n)=>r===a[n])}c(Fi,"prefix");var Q=e.string().trim().min(1).max(200),lt=e.string().regex(/^[a-f0-9]{64}$/),Er=e.object({id:Q,revision:e.number().int().positive(),contentHash:lt}).strict(),Ar=e.object({id:Q,version:e.string().min(1).max(200),contentHash:lt,name:e.string().trim().min(1).max(500).optional(),feedbackKey:Jr,release:Er.nullable(),mappings:Pr.optional()}).strict(),Cr=e.object({id:Q,version:e.string().min(1).max(200),contentHash:lt,mappings:Pr}).strict(),Wp=e.object({operationId:Q,id:Q.optional(),expectedRevision:e.number().int().nonnegative(),request:mt,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Cr).min(1).max(100).optional()}).strict().superRefine((t,a)=>{t.request.name||a.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!t.id!=t.expectedRevision>0&&a.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(t.maximumCostUsd*1e6)<1&&a.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),t.graders&&new Set(t.graders.map(r=>r.id)).size!==t.graders.length&&a.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),Fc=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:Q,teamId:Q,revision:e.number().int().positive(),request:mt,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Ar).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),Yp=Fc.extend({contentHash:lt}),Xp=e.object({operationId:Q,definition:Er}).strict(),Zp=e.object({projectId:Q.optional(),datasetHash:lt.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:Q.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),Qp=e.object({definition:Er.nullable(),configurationHash:lt.optional(),admissionRequestHash:lt.optional(),sourceExperimentId:Q.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Ar).min(1).max(100)}).strict().superRefine((t,a)=>{t.definition===null&&(!t.configurationHash||!t.admissionRequestHash)&&a.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),ef=e.object({operationId:Q,profileRepositoryId:Q,definitionId:Q,modelId:Q,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:ta.optional(),sourceCandidate:Hr.shape.sourceCandidate}).strict(),tf=e.object({request:mt,manifest:aa,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Ar).min(1).max(100)}).strict();var Ui=e.string().trim().min(1).max(200),Mr=e.object({operationId:Ui,request:mt,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Cr).min(1).max(100).optional(),sourceExperimentId:Ui.optional()}).strict().superRefine((t,a)=>{t.request.name||a.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),t.operationId!==t.request.operationId&&a.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(t.maximumCostUsd*1e6)<1&&a.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),t.graders&&new Set(t.graders.map(r=>r.id)).size!==t.graders.length&&a.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var M=e.string().trim().min(1).max(200),He=e.string().regex(/^[a-f0-9]{64}$/),$a=e.object({id:M,contentHash:He}).strict(),vf=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:ut.nullable()}).strict(),Gi=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:M,revision:e.number().int().positive(),contentHash:He}).strict(),projectId:M.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:M,configuration:Mr}).strict()).min(1).max(20),acceptancePlan:fn.nullable()}).strict().superRefine((t,a)=>{if(new Set(t.experiments.map(r=>r.id)).size!==t.experiments.length&&a.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((r,n)=>r+n.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(r=>(r.configuration.request.project?.id??null)!==t.projectId)&&a.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let r=new Set(t.acceptancePlan.checks.map(i=>i.id));t.acceptancePlan.checks.some(i=>!t.experiments.some(s=>s.id===i.id))&&a.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(i=>!r.has(i.id)).reduce((i,s)=>i+s.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var Nc=e.object({baseline:$a,checks:e.array(e.object({id:M,sourceRunId:M,sourceManifestHash:He,targetConfigurationHash:He,executionHash:He,populationHash:He,evaluator:$a,feedbackKey:M,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),Uc=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),Ji=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:M,teamId:M,jobId:M,revision:e.number().int().positive(),planHash:He,automatic:e.boolean(),candidate:$a.nullable(),state:Uc,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:M.nullable(),experimentIds:e.array(M).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,a)=>{t.completed+t.failed>t.total&&a.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&a.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Gc=e.object({operationId:M,expectedRevision:e.number().int().positive(),planHash:He}).strict(),Jc=e.object({operationId:M,attachment:Gi}).strict(),Kc=e.object({id:M,teamId:M,ownerUserId:M,attachment:Gi,qualification:Nc.nullable(),contentHash:He,createdAt:e.iso.datetime()}).strict();function Wc(t){let a=Kc.parse(t);if(a.contentHash!==f({attachment:a.attachment,qualification:a.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return a}c(Wc,"verifyPostTrainingPlan");function Ki(t){let{request:a}=t,r=c(i=>`/v1/training/jobs/${encodeURIComponent(M.parse(i))}/post-training`,"path");async function n(i,s,o){if(i===null)return null;let m=Ji.parse(i);if(m.teamId!==s||m.jobId!==o)throw new _("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return m}return c(n,"read"),{async attach(i,s){let o=Jc.parse(s),m=Wc(await a("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(o)}));if(m.teamId!==i||await O(m.attachment)!==await O(o.attachment))throw new _("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return m},async get(i,s){return n(await a(r(s)),i,s)},async control(i,s,o,m){let u=Gc.parse(m),d=await n(await a(`${r(s)}/${o}`,{method:"POST",body:JSON.stringify(u)}),i,s);if(!d||d.planHash!==u.planHash)throw new _("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return d}}}c(Ki,"createPostTrainingClient");var bf=e.object({teamId:M,actorId:M,projectId:M.nullable(),configuration:Ce,batches:e.array(ia).max(1e4),sources:e.array(Ve).max(1e4),definitions:e.array(te).max(1e4),experiments:e.array(e.object({id:M,name:e.string().max(500),configuration:Mr,graders:e.array(e.object({feedbackKey:M,name:e.string().max(500),ref:$a}).strict()).max(100)}).strict()).max(1e4)}).strict(),kf=e.enum(["prepare","start","cancel","publish","attach"]),wf=e.object({teamId:M,actorId:M,configuration:Ce,policy:rn,inspection:mn,iterations:e.array(e.object({iteration:nn,evals:Ji.nullable()}).strict()).max(100),nextCursor:M.nullable()}).strict(),Sf=e.object({id:M,expectedRevision:e.number().int().positive(),policyHash:He,operationId:M,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:M.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var Be=e.string().trim().min(1).max(240),es=T.extend({revision:e.number().int().positive()}).strict(),Yc=es.extend({teamId:Be,jobId:Be,plan:T,baseline:T,candidate:T,state:hn.shape.state,updatedAt:e.string().datetime()}).strict(),Xc=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:Be,jobId:Be,groups:e.array(Yc).max(100),nextCursor:Be.nullable()}).strict(),Zc=e.object({cursor:Be.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function Qc(t){let a=c(r=>(Be.parse(r.teamId),`/v1/training/jobs/${encodeURIComponent(Be.parse(r.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(r,n={}){let i=Zc.parse(n),s=new URLSearchParams({limit:String(i.limit)});i.cursor&&s.set("cursor",i.cursor);let o=Xc.parse(await t(`${a(r)}?${s}`));if(o.teamId!==r.teamId||o.jobId!==r.jobId||o.groups.length>i.limit||o.groups.some(m=>m.teamId!==r.teamId||m.jobId!==r.jobId||i.cursor&&m.id<=i.cursor)||new Set(o.groups.map(m=>m.id)).size!==o.groups.length||o.nextCursor!==null&&o.nextCursor!==o.groups.at(-1)?.id)throw new _("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return o},async acceptanceGroup(r,n,i){let s=i?es.parse({id:i.id,revision:i.revision,contentHash:i.contentHash}):null;if(s&&s.id!==n)throw new _("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let o=s?`?revision=${s.revision}`:"",m=gn(await t(`${a(r)}/${encodeURIComponent(Be.parse(n))}${o}`));if(m.manifest.teamId!==r.teamId||m.manifest.trainingJob.id!==r.jobId||m.manifest.id!==n||s&&(m.revision!==s.revision||m.contentHash!==s.contentHash))throw new _("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return m}}}c(Qc,"createTrainingAcceptanceClient");var Y=e.string().trim().min(1).max(191),Kt=e.string().regex(/^[a-f0-9]{64}$/),ts=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:Y,operationId:Y,projectId:Y.nullable(),configuration:e.object({id:Y,expectedRevision:e.number().int().positive(),expectedEtag:Kt}).strict(),origin:ut.optional(),batch:V,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),ed=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:Y,creatorUserId:Y,request:ts,requestHash:Kt,source:e.lazy(()=>ns),submissionHash:Kt,createdAt:e.string().datetime({offset:!0})}).strict(),td=ed.extend({contentHash:Kt}).strict(),as=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:td,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:Y.nullable()}).strict().superRefine((t,a)=>{t.state==="submitted"!=!!t.jobId&&a.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Wi=e.object({teamId:Y,planHash:Kt,expectedRevision:e.number().int().positive()}).strict(),ad=e.object({projectId:Y.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:Y.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),rd=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:Y,items:e.array(as).max(100),nextCursor:Y.nullable()}).strict();async function nd(t){let a=as.parse(t),{contentHash:r,...n}=a.plan;if(await O(n)!==r||await O(n.request)!==n.requestHash||n.source.modelProject.id!==n.request.configuration.id||await O(n.source.origin??null)!==await O(n.request.origin??null))throw new _("training_preparation_mismatch","The prepared training inputs changed.");return a}c(nd,"parseAndVerifyTrainingPreparationReceipt");function id(t){async function a(r,n,i){let s=await nd(r);if(s.plan.request.teamId!==n||i&&s.plan.id!==i)throw new _("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return s}return c(a,"read"),{async listPreparations(r,n={}){let i=Y.parse(r),s=ad.parse(n),o=new URLSearchParams;for(let[d,l]of Object.entries(s))o.set(d,String(l));let m=rd.parse(await t(`/v1/training/preparations?${o}`));if(m.teamId!==i||m.items.length>s.limit||new Set(m.items.map(d=>d.plan.id)).size!==m.items.length||m.nextCursor!==null&&(m.nextCursor!==m.items.at(-1)?.plan.id||m.nextCursor===s.afterId))throw new _("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let u=await Promise.all(m.items.map(async d=>{let l=await a(d,i);if(s.projectId&&l.plan.request.projectId!==s.projectId||s.state&&l.state!==s.state)throw new _("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return l}));return{...m,items:u}},async prepareRun(r){let n=ts.parse(r),i=await a(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(n)}),n.teamId);if(i.plan.requestHash!==await O(n))throw new _("training_preparation_request_mismatch","The preparation does not match the requested run.");return i},async getPreparation(r,n){return a(await t(`/v1/training/preparations/${encodeURIComponent(Y.parse(n))}`),Y.parse(r),n)},async startPreparation(r,n){let i=Wi.parse(n),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(Y.parse(r))}/start`,{method:"POST",body:JSON.stringify(i)}),i.teamId,r);if(s.plan.contentHash!==i.planHash||s.state!=="submitted")throw new _("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return s},async cancelPreparation(r,n){let i=Wi.parse(n),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(Y.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(i)}),i.teamId,r);if(s.plan.contentHash!==i.planHash||s.state!=="cancelled")throw new _("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return s}}}c(id,"createTrainingPreparationClient");var sd=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:ve,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(gt)}).strict();function od(t){let a=c(r=>{let n=ve.parse(r);return`/v1/training/harness-sources/${encodeURIComponent(n.id)}/${n.contentHash}`},"route");return{async publishHarnessSource(r){Me(r,gt,"Training Harness source");let n=yr(r),i=n.agentSnapshot.portability;if(!i.portable||i.blockers.length||i.localOnlyAssetRefs.length||i.hostPrivateAssetRefs.length||n.harnessRelease.files.some(o=>o.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let s=sd.parse(await t(a({id:n.harnessRelease.id,contentHash:n.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(n)}));if(s.harnessRelease.id!==n.harnessRelease.id||s.harnessRelease.contentHash!==n.harnessRelease.contentHash||s.sourcePackageHash!==n.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return s},async getHarnessSource(r){let n=await t(a(r),void 0,gt);return Me(n,gt,"Training Harness source"),yr(n,r)}}}c(od,"createTrainingHarnessSourceClient");var Xe=e.string().trim().min(1).max(500),cd=e.string().regex(/^[a-f0-9]{64}$/),qr=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:Xe,jobId:Xe,artifact:T,evaluation:T,executionReceipt:T,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:Xe,expectedDecision:T.nullable()}).strict(),dd=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:Xe,request:qr,revision:e.number().int().positive(),actor:e.object({userId:Xe,kind:e.enum(["user","api_key","agent_delegate"]),id:Xe}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:cd}).strict().superRefine((t,a)=>{t.revision===1!=(t.request.expectedDecision===null)&&a.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&&a.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function md(t){let{contentHash:a,...r}=t;return O(r)}c(md,"trainingCandidateDecisionHash");async function Yi(t,a){Me(t,32768,"Training candidate decision");let r=dd.parse(t);if(r.contentHash!==await md(r))throw new _("content_hash_mismatch","Training candidate decision content hash does not match.");if(r.request.teamId!==a.teamId||r.request.jobId!==a.jobId||r.request.artifact.id!==a.artifact.id||r.request.artifact.contentHash!==a.artifact.contentHash)throw new _("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(a.request&&await O(r.request)!==await O(qr.parse(a.request)))throw new _("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return r}c(Yi,"parseAndVerifyTrainingCandidateDecision");function ld(t){function a(r){return`/v1/training/jobs/${encodeURIComponent(Xe.parse(r.jobId))}/candidates/${encodeURIComponent(T.parse(r.artifact).id)}/decision`}return c(a,"route"),{async candidateDecision(r,n={}){Xe.parse(r.teamId);let i=n.decision?T.parse(n.decision):void 0,s=i?`?decisionId=${encodeURIComponent(i.id)}`:"",o=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${a(r)}${s}`));if(o.decision===null&&!i)return null;let m=await Yi(o.decision,r);if(i&&(m.id!==i.id||m.contentHash!==i.contentHash))throw new _("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return m},async recordCandidateDecision(r){let n=qr.parse(r),i=await t(a(n),{method:"POST",body:JSON.stringify(n)});return Yi(i,{...n,request:n})}}}c(ld,"createTrainingCandidateDecisionClient");var Et=e.string().trim().min(1).max(500),Jt=e.string().regex(/^[a-f0-9]{64}$/),ud=e.object({taskId:Et,taskSha256:Jt,resultSha256:Jt,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:Jt,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:Et}).strict()}).strict(),pd=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Et,teamId:Et,evaluation:T,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:V,panelSha256:Jt,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(ud).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:Jt}).strict().superRefine((t,a)=>{let r=t.offset+t.tasks.length,n=r<t.total?String(r):null;(r>t.total||t.nextCursor!==n)&&a.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(i=>i.taskId)).size!==t.tasks.length&&a.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function fd(t){let{contentHash:a,...r}=t;return O(r)}c(fd,"trainingEvaluationTaskPageHash");async function hd(t,a){Me(t,Za,"Training evaluation task page");let r=pd.parse(t),n=T.parse(a.evaluation);if(r.jobId!==Et.parse(a.jobId)||r.evaluation.id!==n.id||r.evaluation.contentHash!==n.contentHash||r.offset!==(a.offset??0)||a.teamId!==void 0&&r.teamId!==Et.parse(a.teamId))throw new _("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await fd(r)!==r.contentHash)throw new _("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let i of r.tasks)if(await O(i.output)!==i.outputSha256)throw new _("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return r}c(hd,"parseAndVerifyTrainingEvaluationTaskPage");var gd=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),vd=e.object({binding:Pe,rewards:e.array(Ze).min(1).max(100)}).strict();async function Df(t){let a=t.rewardExecution?vd.parse(t.rewardExecution):null,r=gd.parse(a?ee(a.binding,a.rewards):t.graders);if(new Set(r.map(i=>i.id)).size!==r.length)throw new Error("Training grader identities must be unique.");let n=await O({schemaVersion:"openpond.trainingGraderSet.v1",graders:r});return{kind:"deterministic",grader:{id:`training-graders-${n.slice(0,32)}`,contentHash:n},composer:a?{id:a.binding.id,contentHash:a.binding.contentHash}:null}}c(Df,"deterministicTrainingRewardSource");var Of="evaluation-source.json",$r=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),bd=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:V,tasks:e.array($r).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,a)=>{let r=new Set;t.tasks.forEach((n,i)=>{n.split==="train"&&a.addIssue({code:"custom",path:["tasks",i,"split"],message:"Evaluation sources require held-out tasks."}),r.has(n.id)&&a.addIssue({code:"custom",path:["tasks",i,"id"],message:"Evaluation task identities must be unique."}),r.add(n.id)})});function Vf(t,a){let r=e.array($r).min(1).max(1e4).parse(t),n=e.array($r).min(1).max(1e4).parse(a),i=new Set,s=new Set;for(let m of r){if(m.split!=="train")throw new Error("The training population contains a held-out task.");if(i.has(m.id))throw new Error("Training task identities must be unique.");i.add(m.id),s.add(m.clusterKey)}let o=new Set;for(let m of n){if(m.split==="train")throw new Error("The evaluation population contains a training task.");if(o.has(m.id))throw new Error("Evaluation task identities must be unique.");if(i.has(m.id)||s.has(m.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");o.add(m.id)}}c(Vf,"assertTrainingEvaluationIsolation");async function zf(t){let a=bd.parse(t),r=await O(a);return{taskset:a.taskset,dataset:{id:`training-evaluation-${r.slice(0,32)}`,contentHash:r}}}c(zf,"trainingEvaluationSourceRef");var q=e.string().trim().min(1).max(500),ae=e.string().regex(/^[a-f0-9]{64}$/),Se=e.string().datetime({offset:!0}),kd=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:T,payload:e.unknown(),contentHash:ae}).strict(),wd=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:T,artifactRef:e.string().trim().min(1).max(2e3),contentHash:ae,sizeBytes:e.number().int().positive(),createdAt:Se}).strict();async function Sd(t){let{contentHash:a,...r}=t;return O(r)}c(Sd,"trainingInputArtifactUploadHash");async function yd(t){Me(t,gt,"Training input artifact");let a=kd.parse(t),r=await Sd(a);if(a.contentHash!==r)throw new _("content_hash_mismatch",`Training input artifact contentHash ${a.contentHash} does not match ${r}.`);return a}c(yd,"parseAndVerifyTrainingInputArtifactUpload");var rs=e.enum(["reward_model_train","policy_optimize"]),xd=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Rd=e.object({id:q,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),ns=e.object({origin:ut.optional(),modelProject:e.object({id:q,portableProjectId:q,revision:e.number().int().positive(),contentHash:ae}).strict(),harnessRunManifest:T,harnessRelease:T,taskset:V,tasksetRelease:T,evaluation:e.object({taskset:V,dataset:T}).strict().nullable().optional(),dataset:T,evidenceSets:e.array(T).max(1e4)}).strict(),Td=e.object({kind:e.literal("reward_model_train"),baseModel:Ue,preferenceDatasetRelease:T,processorRelease:T,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(),Id=e.object({kind:e.literal("deterministic"),grader:T,composer:T.nullable().default(null)}).strict(),_d=e.object({kind:e.literal("learned_reward"),rewardModelVersion:T,qualificationReport:T.nullable().default(null),evaluationReferences:e.array(T).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:ae,executionReceipt:T}).strict(),processorRelease:T,rewardComposerRelease:T}).strict(),jd=e.object({kind:e.literal("policy_optimize"),baseModel:Ue,recipe:er,rewardSource:e.discriminatedUnion("kind",[Id,_d]),resumeFrom:T.nullable().default(null)}).strict(),Hd=e.discriminatedUnion("kind",[Td,jd]),Pd=e.object({approvalHash:ae,approvedAt:Se,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(),Ed=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:ns,job:Hd,requestedCapabilities:e.array(Rd).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Pd,contentHash:ae}).strict().superRefine((t,a)=>{t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&a.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function Ad(t){let{contentHash:a,...r}=t;return O(r)}c(Ad,"trainingJobSubmissionHash");async function Cd(t){Me(t,_n,"Training Job submission");let a=Ed.parse(t),r=await Ad(a);if(a.contentHash!==r)throw new _("content_hash_mismatch",`Training Job contentHash ${a.contentHash} does not match ${r}.`);return a}c(Cd,"parseAndVerifyTrainingJobSubmission");var Gt=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:q,teamId:q,kind:rs,modelProjectId:q,portableProjectId:q,sourceProjectRevision:e.number().int().positive(),submissionHash:ae,state:xd,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:Se,updatedAt:Se,completedAt:Se.nullable()}).strict(),Md=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Gt).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),$d=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:q,jobId:q,sequence:e.number().int().nonnegative(),type:q,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:Se}).strict(),qd=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:q,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:Se}).strict(),Xi=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Dd=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:q,jobId:q,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:ae,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:Se}).strict(),Dr=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:q,teamId:q,jobId:q,submissionHash:ae,manifestHash:ae,recipeHash:ae,capabilityHash:ae,runtimeRelease:T,inputs:e.array(T).max(1e4),outputs:e.array(T).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),issuer:q,issuedAt:Se,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Bd(t){return O(Dr.parse(t))}c(Bd,"trainingExecutionReceiptHash");async function Lf(t,a){let r=Dr.parse(t),n=q.parse(a.id),i=ae.parse(a.contentHash),s=await Bd(r);if(r.id!==n||s!==i)throw new _("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(a.teamId!==void 0&&r.teamId!==q.parse(a.teamId))throw new _("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(a.jobId!==void 0&&r.jobId!==q.parse(a.jobId))throw new _("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((a.requireCleanup??!0)&&!r.cleanupComplete)throw new _("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");return r}c(Lf,"parseAndVerifyTrainingExecutionReceipt");var Od=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Dd).max(1e4),receipt:Dr.nullable()}).strict(),Vd=e.object({schemaVersion:e.literal("openpond.trainingApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),is=class extends Error{static{c(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(t,a){super(a.message),this.name="OpenPondTrainingApiError",this.status=t,this.code=a.code,this.retryable=a.retryable,this.requestId=a.requestId,this.details=a.details}},zd=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:ae,jobKinds:e.array(rs),methods:e.array(e.string().trim().min(1).max(200)),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:Se,expiresAt:Se}).strict();function Zi(t){let a={};return new Headers(t).forEach((r,n)=>{a[n]=r}),a}c(Zi,"headersRecord");function Ff(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function n(i,s,o=Za){let u=s?.method===void 0||s.method.toUpperCase()==="GET"?3:1;for(let d=1;d<=u;d+=1){let l;try{let g=typeof t.headers=="function"?await t.headers():t.headers??{};l=await a(`${r}${i}`,{...s,headers:{accept:Xa,...s?.body?{"content-type":Xa}:{},...Zi(g),...Zi(s?.headers)}})}catch(g){if(d===u||s?.signal?.aborted||!Qi(null,g))throw g;await new Promise(v=>setTimeout(v,250*2**(d-1)));continue}let p=Qa(await l.text(),o,"Training API response");if(l.ok)return p;let h=Ld(p,l.status);if(d===u||!Qi(l.status,h))throw h;await new Promise(g=>setTimeout(g,250*2**(d-1)))}throw new _("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return c(n,"request"),{postTraining:Ki({request:n}),...id(n),...Qc(n),...od(n),...ld(n),async capabilities(){return zd.parse(Ye(await n("/v1/training/capabilities"),"capabilities"))},async stageArtifact(i){let s=await yd(i);return wd.parse(Ye(await n("/v1/training/artifacts",{method:"POST",body:JSON.stringify(s)}),"artifact"))},async createJob(i){let s=await Cd(i);return Gt.parse(Ye(await n("/v1/training/jobs",{method:"POST",body:JSON.stringify(s)}),"job"))},async listJobs(i={}){let s=new URLSearchParams;i.modelProjectId&&s.set("modelProjectId",q.parse(i.modelProjectId)),i.cursor&&s.set("cursor",e.string().trim().min(1).max(2e3).parse(i.cursor)),i.limit!==void 0&&s.set("limit",String(e.number().int().min(1).max(1e3).parse(i.limit)));let o=s.size>0?`?${s.toString()}`:"";return Md.parse(await n(`/v1/training/jobs${o}`))},async getJob(i){return Gt.parse(Ye(await n(`/v1/training/jobs/${encodeURIComponent(q.parse(i))}`),"job"))},async cancelJob(i,s){let o=Xi.parse({expectedVersion:s});return Gt.parse(Ye(await n(`/v1/training/jobs/${encodeURIComponent(q.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(o)}),"job"))},async stopAfterGroup(i,s){let o=Xi.parse({expectedVersion:s});return Gt.parse(Ye(await n(`/v1/training/jobs/${encodeURIComponent(q.parse(i))}/stop-after-group`,{method:"POST",body:JSON.stringify(o)}),"job"))},async events(i){return e.array($d).parse(Ye(await n(`/v1/training/jobs/${encodeURIComponent(q.parse(i))}/events`),"events"))},async outputs(i){return Od.parse(await n(`/v1/training/jobs/${encodeURIComponent(q.parse(i))}/outputs`))},async evaluationTasks(i,s,o={}){let m=q.parse(i),u=T.parse(s),d=new URLSearchParams,l=o.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(o.cursor),p=l===void 0?0:e.number().int().min(1).max(9999).parse(Number(l));l!==void 0&&d.set("cursor",l),o.limit!==void 0&&d.set("limit",String(e.number().int().min(1).max(100).parse(o.limit)));let h=d.size?`?${d.toString()}`:"";return hd(await n(`/v1/training/jobs/${encodeURIComponent(m)}/evaluations/${encodeURIComponent(u.id)}/tasks${h}`),{jobId:m,evaluation:u,offset:p})},async logs(i){return e.array(qd).max(1e5).parse(Ye(await n(`/v1/training/jobs/${encodeURIComponent(q.parse(i))}/logs`),"logs"))}}}c(Ff,"createTrainingClient");function Qi(t,a){return t!==null?t===408||t===429||t>=500:a instanceof is?a.retryable:a instanceof _?a.code==="invalid_error_response":a instanceof TypeError}c(Qi,"trainingReadFailureIsRetryable");function Ye(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}c(Ye,"unwrapObject");function Ld(t,a){let r=Vd.safeParse(t);return r.success?new is(a,r.data):new _("invalid_error_response",`Training request failed with HTTP ${a} and an invalid error envelope.`)}c(Ld,"trainingApiError");export{Ke as a,Yu as b,ca as c,Ga as d,ie as e,kn as f,ds as g,Ja as h,L as i,G as j,Kd as k,ve as l,Ae as m,F as n,f as o,Te as p,la as q,Wa as r,Rn as s,H as t,O as u,V as v,Ue as w,jn as x,Hn as y,$t as z,Rs as A,Pn as B,Is as C,om as D,pa as E,cm as F,Ce as G,En as H,dm as I,nt as J,qt as K,Sm as L,ym as M,xm as N,Rm as O,Tm as P,qs as Q,Im as R,_m as S,Ls as T,Us as U,Gs as V,ha as W,Zs as X,wt as Y,Sa as Z,Bt as _,Ra as $,se as aa,io as ba,it as ca,Om as da,rt as ea,Vm as fa,Ot as ga,so as ha,zm as ia,sr as ja,Um as ka,or as la,Fn as ma,Nn as na,cr as oa,Un as pa,De as qa,he as ra,Je as sa,st as ta,fr as ua,ot as va,W as wa,yt as xa,Ei as ya,Ai as za,Ci as Aa,oe as Ba,Hc as Ca,vo as Da,bo as Ea,Hl as Fa,ko as Ga,wo as Ha,yo as Ia,xo as Ja,Z as Ka,To as La,Qn as Ma,ct as Na,Oo as Oa,je as Pa,ii as Qa,vr as Ra,Rt as Sa,Lo as Ta,Fo as Ua,oi as Va,ci as Wa,Ea as Xa,Go as Ya,br as Za,Aa as _a,Vl as $a,zl as ab,Ll as bb,Fl as cb,fi as db,Nl as eb,Ul as fb,qi as gb,fp as hb,hp as ib,Ec as jb,Ac as kb,Rp as lb,mt as mb,Vi as nb,Dp as ob,Bp as pb,Oc as qb,Vc as rb,Op as sb,Pr as tb,Np as ub,Er as vb,Ar as wb,Cr as xb,Wp as yb,Zp as zb,Qp as Ab,ef as Bb,tf as Cb,Mr as Db,vf as Eb,Gi as Fb,Ji as Gb,Gc as Hb,Jc as Ib,Wc as Jb,bf as Kb,wf as Lb,Sf as Mb,Ql as Nb,eu as Ob,ic as Pb,au as Qb,ru as Rb,yr as Sb,ts as Tb,Wi as Ub,qr as Vb,Yi as Wb,hd as Xb,Df as Yb,Of as Zb,bd as _b,Vf as $b,zf as ac,Sd as bc,yd as cc,Ad as dc,Cd as ec,Gt as fc,$d as gc,Bd as hc,Lf as ic,Od as jc,is as kc,Ff as lc,Ha as mc,zt as nc,xi as oc,Rr as pc,Tr as qc,sc as rc,Ma as sc,ja as tc,uc,pc as vc,Ft as wc,vc as xc,bc as yc,kc as zc,Sc as Ac,_i as Bc,yc as Cc,xc as Dc,Hi as Ec,Pi as Fc,Rc as Gc};
@@ -0,0 +1,2 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{a}from"./chunk-FTQLQJQV.js";var p=class extends Error{static{a(this,"ApiTimeoutError")}timeoutMs;requestUrl;code="OPENPOND_API_TIMEOUT";constructor(e,s){super(`API request timed out after ${e}ms: ${s}`),this.timeoutMs=e,this.requestUrl=s,this.name="ApiTimeoutError"}},u=class extends Error{static{a(this,"ApiResponseTooLargeError")}maximumBytes;requestUrl;code="OPENPOND_API_RESPONSE_TOO_LARGE";constructor(e,s){super(`API response exceeded ${e} bytes: ${s}`),this.maximumBytes=e,this.requestUrl=s,this.name="ApiResponseTooLargeError"}},g=class extends Error{static{a(this,"OpenPondApiError")}status;apiMessage;code;constructor(e,s,r,o=null){let c=o||s;super(`${r} failed: ${e}${c?` ${c}`:""}`),this.status=e,this.apiMessage=o,this.name="OpenPondApiError",this.code=s||"OPENPOND_API_ERROR"}};async function S(t,e,s,r={}){let{timeoutMs:o=3e4,maxResponseBytes:c=8388608,explicitBearerAuth:n=!1,...i}=r,h=`${t}${s}`,d=new Headers(i.headers);d.set("Content-Type","application/json");let m=n?void 0:process.env.OPENPOND_API_KEY,y=e?.trim()||"",w=!n&&y.startsWith("opk_"),U=m||(w?y:null);U&&!d.has("openpond-api-key")&&d.set("openpond-api-key",U),e?d.set("Authorization",w?`ApiKey ${y}`:`Bearer ${e}`):m&&!d.has("Authorization")&&d.set("Authorization",`ApiKey ${m}`);let f=new AbortController,_=new p(o,h),E=o>0?setTimeout(()=>f.abort(_),o):null;E?.unref?.();let N=I(i.signal,f.signal,o),P=a(()=>{E&&clearTimeout(E)},"cleanup");try{let A=await fetch(h,{...i,headers:d,signal:N});return b(A,{cleanup:P,maximumBytes:c,requestUrl:h,timeoutController:f,timeoutError:_})}catch(A){throw P(),f.signal.aborted?_:A}}a(S,"apiFetch");async function C(t,e){let s;try{let r=await t.text();s=r?JSON.parse(r):{}}catch(r){if(r instanceof p||r instanceof u)throw r;s={}}if(!t.ok){let r=typeof s.error=="string"?s.error:null,o=typeof s.message=="string"?s.message:null;throw new g(t.status,r,e,o)}return s}a(C,"readApiJson");function b(t,e){if(!t.body)return e.cleanup(),t;let s=Number(t.headers.get("content-length"));if(e.maximumBytes>0&&Number.isFinite(s)&&s>e.maximumBytes)throw e.cleanup(),t.body.cancel(),new u(e.maximumBytes,e.requestUrl);let r=t.body.getReader(),o=0,c=new ReadableStream({async pull(n){try{let i=await r.read();if(i.done){e.cleanup(),n.close();return}if(o+=i.value.byteLength,e.maximumBytes>0&&o>e.maximumBytes){e.cleanup(),await r.cancel(),n.error(new u(e.maximumBytes,e.requestUrl));return}n.enqueue(i.value)}catch(i){e.cleanup(),n.error(e.timeoutController.signal.aborted?e.timeoutError:i)}},async cancel(n){e.cleanup(),await r.cancel(n)}});return new Response(c,{headers:t.headers,status:t.status,statusText:t.statusText})}a(b,"boundedResponse");function I(t,e,s){return s<=0?t??void 0:t?AbortSignal.any([t,e]):e}a(I,"composedSignal");var H="https://openpond.ai",q="https://api.openpond.ai",O="https://api.openpond.ai/opchat/v1";import{randomUUID as k}from"node:crypto";function B(t){let e=l(t);if(!e)throw new Error("apiBaseUrl is required");return e}a(B,"normalizeApiBaseUrl");function x(t){return t.replace(/\/+$/,"")}a(x,"trimTrailingSlashes");function l(t){let e=x(t?.trim()??"");return e?(e=e.replace(/\/chat\/completions$/i,"").replace(/\/models(?:\/[^/]+)?$/i,""),e.endsWith("/opchat/v1")?e:e.endsWith("/opchat")?`${e}/v1`:(e.endsWith("/v1")&&(e=e.slice(0,-3)),`${x(e)}/opchat/v1`)):null}a(l,"normalizeOptionalOpChatApiBaseUrl");function G(t={}){let e=t.env??(typeof process<"u"?process.env:{}),s=l(t.opChatApiBaseUrl)??l(e.OPENPOND_OPCHAT_API_URL);if(s)return s;let r=l(t.chatApiBaseUrl)??l(e.OPENPOND_CHAT_API_URL)??l(e.OPENPOND_GATEWAY_URL);return r||(l(t.apiBaseUrl)??l(e.OPENPOND_API_URL)??O)}a(G,"resolveOpChatApiBaseUrl");function v(t){let e=t.trim();if(!e)throw new Error("OpenPond API key is required");return e}a(v,"requireToken");function T(t,e,s){let r=new Headers;return r.set("Authorization",`Bearer ${v(t)}`),r.set("Content-Type","application/json"),r.set("Accept",e),r.set("x-openpond-client","openpond-code"),r.set("x-openpond-request-id",s||k()),r}a(T,"hostedHeaders");async function $(t){let e=await t.text().catch(()=>"");if(!e)return t.statusText||`HTTP ${t.status}`;try{let s=JSON.parse(e),r=typeof s.error=="string"||s.error&&typeof s.error=="object"&&!Array.isArray(s.error)?s.error:null,o=typeof s.code=="string"?s.code:r&&typeof r!="string"&&typeof r.code=="string"?r.code:null,c=typeof s.message=="string"?s.message:r&&typeof r!="string"&&typeof r.message=="string"?r.message:null,n=typeof r=="string"?r:r&&typeof r.type=="string"?r.type:null;return[o,n,c].filter(Boolean).join(": ")||e}catch{return e}}a($,"readError");function R(t,e){let s={model:t.model,messages:t.messages,stream:e};typeof t.temperature=="number"&&(s.temperature=t.temperature),typeof t.maxTokens=="number"&&(s.max_tokens=t.maxTokens),t.reasoningEffort==="off"?s.thinking={type:"disabled"}:t.reasoningEffort&&(s.reasoning_effort=t.reasoningEffort),t.tools&&(s.tools=t.tools);let r=t.toolChoice??t.tool_choice;return r!==void 0&&(s.tool_choice=r),t.metadata&&(s.metadata=t.metadata),s}a(R,"buildHostedChatBody");async function W(t){let s=`${B(t.apiBaseUrl)}/models`,r=await fetch(s,{method:"GET",headers:T(t.token,"application/json"),signal:t.signal});if(!r.ok)throw new Error(`Hosted model list failed: ${r.status} ${await $(r)}`);return await r.json()}a(W,"listOpChatModels");async function z(t){let s=`${B(t.apiBaseUrl)}/chat/completions`,r=await fetch(s,{method:"POST",headers:T(t.token,"application/json",t.requestId),body:JSON.stringify(R(t,!1)),signal:t.signal});if(!r.ok)throw new Error(`Hosted chat failed: ${r.status} ${await $(r)}`);return await r.json()}a(z,"sendHostedChatTurn");export{g as a,S as b,C as c,H as d,q as e,G as f,W as g,z as h};