openpond 0.2.69 → 0.2.71

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 (397) hide show
  1. package/dist/api/client-context.d.ts +4 -0
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{account-context-V3KLSNKS.js → account-context-LEZDNYMR.js} +1 -1
  4. package/dist/chunks/{acp-ER6CUXG2.js → acp-VWPJ2EL4.js} +1 -1
  5. package/dist/chunks/{acp-agent-AYJ5RPVF.js → acp-agent-OZHZMQ6R.js} +1 -1
  6. package/dist/chunks/{actions-command-BBUS3HDK.js → actions-command-AXGXBU75.js} +1 -1
  7. package/dist/chunks/{app-layer-JCEWGUDH.js → app-layer-OHPIYEOJ.js} +1 -1
  8. package/dist/chunks/{app-server-connected-apps-ILXBFD3S.js → app-server-connected-apps-NH4667QJ.js} +1 -1
  9. package/dist/chunks/{app-server-evaluations-RRLYWLPK.js → app-server-evaluations-Y5UEF2Y7.js} +1 -1
  10. package/dist/chunks/{app-server-harness-services-XXM336NU.js → app-server-harness-services-GUHAIIPS.js} +1 -1
  11. package/dist/chunks/app-server-runtime-CH5STRJP.js +2 -0
  12. package/dist/chunks/apps-DNLT6P4J.js +2 -0
  13. package/dist/chunks/{chunk-MOXIGLN2.js → chunk-23YW5PAQ.js} +1 -1
  14. package/dist/chunks/{chunk-ZDEIVUUI.js → chunk-27OJ2OLP.js} +1 -1
  15. package/dist/chunks/{chunk-RY46UPBO.js → chunk-2ACX7IW5.js} +1 -1
  16. package/dist/chunks/{chunk-NSSZ2ZIU.js → chunk-2EAZB2MW.js} +1 -1
  17. package/dist/chunks/{chunk-DRLP7GIU.js → chunk-2GEZ3ZY7.js} +1 -1
  18. package/dist/chunks/{chunk-PAYFJHPO.js → chunk-2PVW2XFF.js} +1 -1
  19. package/dist/chunks/{chunk-Y2WNZWT2.js → chunk-2Q6FTL4C.js} +1 -1
  20. package/dist/chunks/{chunk-KP2MYTP5.js → chunk-2QHB5P2K.js} +1 -1
  21. package/dist/chunks/{chunk-FNGZ4UDZ.js → chunk-33UVQ7DU.js} +1 -1
  22. package/dist/chunks/{chunk-M4ZHFDRJ.js → chunk-3JVZ7OCQ.js} +1 -1
  23. package/dist/chunks/{chunk-4BUM6JEC.js → chunk-3JYPUOK4.js} +1 -1
  24. package/dist/chunks/{chunk-DXJC3QW7.js → chunk-3VT2PPKW.js} +1 -1
  25. package/dist/chunks/{chunk-Z33RVGP6.js → chunk-5LKEVB2P.js} +1 -1
  26. package/dist/chunks/{chunk-P4QM63L3.js → chunk-5ZBDHIIE.js} +1 -1
  27. package/dist/chunks/{chunk-WD4KAKEX.js → chunk-64EDQ7UV.js} +1 -1
  28. package/dist/chunks/{chunk-UMAVVMXL.js → chunk-6BTX66SV.js} +1 -1
  29. package/dist/chunks/{chunk-KU4TPDPH.js → chunk-6LAGMWJE.js} +1 -1
  30. package/dist/chunks/{chunk-65FJWWXG.js → chunk-6YR5IYHH.js} +1 -1
  31. package/dist/chunks/{chunk-AUO5DCEU.js → chunk-73COPJ32.js} +1 -1
  32. package/dist/chunks/{chunk-KDER7R45.js → chunk-7PDF2UX2.js} +1 -1
  33. package/dist/chunks/{chunk-SO4GMSNP.js → chunk-7SOHV5BH.js} +1 -1
  34. package/dist/chunks/{chunk-XOPHFUUY.js → chunk-ASMQTMQB.js} +1 -1
  35. package/dist/chunks/{chunk-ESYPMD7Q.js → chunk-AT3ZYNX4.js} +1 -1
  36. package/dist/chunks/{chunk-NMMHXYDJ.js → chunk-AVEHWUML.js} +1 -1
  37. package/dist/chunks/{chunk-M4A7G4S5.js → chunk-B7SCVTE6.js} +1 -1
  38. package/dist/chunks/{chunk-7EQLW2KM.js → chunk-BLNEHU62.js} +1 -1
  39. package/dist/chunks/{chunk-DKOVZ6R2.js → chunk-BQNU4HZW.js} +1 -1
  40. package/dist/chunks/{chunk-UANH7U3Y.js → chunk-BTEBZYK3.js} +1 -1
  41. package/dist/chunks/{chunk-BU6MW65V.js → chunk-BYVE4TMU.js} +1 -1
  42. package/dist/chunks/{chunk-PNPV2LDE.js → chunk-BZS2PA4O.js} +1 -1
  43. package/dist/chunks/{chunk-AFYYIJ6K.js → chunk-C7NQPICU.js} +1 -1
  44. package/dist/chunks/{chunk-K7KBFM2T.js → chunk-CBD554GZ.js} +1 -1
  45. package/dist/chunks/{chunk-GYYJ47GX.js → chunk-CWE2N3JI.js} +1 -1
  46. package/dist/chunks/{chunk-ZYLLPRPU.js → chunk-CX4T7I47.js} +1 -1
  47. package/dist/chunks/{chunk-AQUZCWM3.js → chunk-D2V2Y3FB.js} +1 -1
  48. package/dist/chunks/chunk-DFZTRMTL.js +2 -0
  49. package/dist/chunks/{chunk-2PXKSAG6.js → chunk-DLOJG7LP.js} +1 -1
  50. package/dist/chunks/{chunk-5G7BQAUA.js → chunk-DNNWMOMG.js} +1 -1
  51. package/dist/chunks/{chunk-M5X7XKXY.js → chunk-DNRC6TPJ.js} +7 -7
  52. package/dist/chunks/{chunk-HKVFU3B3.js → chunk-DUR32LJG.js} +1 -1
  53. package/dist/chunks/{chunk-XT4CSKHM.js → chunk-E57PUTV2.js} +1 -1
  54. package/dist/chunks/{chunk-4N4EH3RJ.js → chunk-EJOV6Z6F.js} +1 -1
  55. package/dist/chunks/{chunk-OUJ63LMU.js → chunk-ER2VONWQ.js} +1 -1
  56. package/dist/chunks/{chunk-PSY6IRJE.js → chunk-ESOIZG2G.js} +4 -4
  57. package/dist/chunks/{chunk-WNXUSELC.js → chunk-EXAJ2B4I.js} +1 -1
  58. package/dist/chunks/{chunk-CCZ276IA.js → chunk-F2EUZG2W.js} +1 -1
  59. package/dist/chunks/{chunk-VJR2GNRY.js → chunk-FVMTQSVW.js} +1 -1
  60. package/dist/chunks/{chunk-YI6ME6PU.js → chunk-GG6PM7TB.js} +1 -1
  61. package/dist/chunks/{chunk-DDOIPTOM.js → chunk-GMA365GI.js} +1 -1
  62. package/dist/chunks/{chunk-JVMSN7LH.js → chunk-GR4MJJCE.js} +1 -1
  63. package/dist/chunks/{chunk-TB5P3FWM.js → chunk-GUWNSMGH.js} +1 -1
  64. package/dist/chunks/{chunk-AYOMVI7J.js → chunk-HIMG7S5E.js} +1 -1
  65. package/dist/chunks/{chunk-2LJCJOJ7.js → chunk-HLJJAOI2.js} +1 -1
  66. package/dist/chunks/{chunk-AFH462DO.js → chunk-HT6ILPD6.js} +1 -1
  67. package/dist/chunks/{chunk-3Z4VM2LF.js → chunk-HUMNLSCV.js} +1 -1
  68. package/dist/chunks/{chunk-NZDLL6JN.js → chunk-HYUTDZ3N.js} +1 -1
  69. package/dist/chunks/{chunk-XYZV3FKD.js → chunk-I6KTJ3GH.js} +1 -1
  70. package/dist/chunks/{chunk-WZ35ICTE.js → chunk-IFMWAOBR.js} +1 -1
  71. package/dist/chunks/{chunk-R2FYCJL6.js → chunk-IJJ7FYZE.js} +1 -1
  72. package/dist/chunks/{chunk-XHACK2KR.js → chunk-IUYGQO2K.js} +1 -1
  73. package/dist/chunks/{chunk-55YD4UTW.js → chunk-IV2HEX3I.js} +1 -1
  74. package/dist/chunks/chunk-J7X72QUY.js +2 -0
  75. package/dist/chunks/{chunk-U7X5ZLAL.js → chunk-JCHLDNCX.js} +1 -1
  76. package/dist/chunks/chunk-JF7WWLNW.js +2 -0
  77. package/dist/chunks/{chunk-7PKDJHT6.js → chunk-JH4RACOB.js} +1 -1
  78. package/dist/chunks/{chunk-65WRWLUD.js → chunk-JVEIK4RH.js} +1 -1
  79. package/dist/chunks/{chunk-Z5CQXPIS.js → chunk-K3WM4NEC.js} +1 -1
  80. package/dist/chunks/{chunk-EGP6DF34.js → chunk-KASHK2U5.js} +2 -2
  81. package/dist/chunks/{chunk-JEMECEQH.js → chunk-KHDCMVEJ.js} +1 -1
  82. package/dist/chunks/{chunk-BDZDWHBJ.js → chunk-KURL76NW.js} +1 -1
  83. package/dist/chunks/{chunk-7OFD6TFD.js → chunk-LMLGEOKV.js} +1 -1
  84. package/dist/chunks/{chunk-QUNQM2E3.js → chunk-MPEK4ZNY.js} +1 -1
  85. package/dist/chunks/chunk-MZKCW6CB.js +2 -0
  86. package/dist/chunks/{chunk-SDHG6CKU.js → chunk-NDNSLCPE.js} +1 -1
  87. package/dist/chunks/chunk-NK2L5HA2.js +2 -0
  88. package/dist/chunks/{chunk-WCNPGKST.js → chunk-O4YHISU2.js} +1 -1
  89. package/dist/chunks/{chunk-RCQYEHHD.js → chunk-O5ZOW474.js} +1 -1
  90. package/dist/chunks/{chunk-IIT66347.js → chunk-OEAKX5TS.js} +1 -1
  91. package/dist/chunks/{chunk-LSKMALD6.js → chunk-OFV26C2U.js} +2 -2
  92. package/dist/chunks/{chunk-IO5DZUKL.js → chunk-OI4DAZ4U.js} +1 -1
  93. package/dist/chunks/{chunk-Q73RKX7I.js → chunk-OIIE5GUK.js} +1 -1
  94. package/dist/chunks/{chunk-R6I623SZ.js → chunk-OKPV6MBX.js} +6 -6
  95. package/dist/chunks/{chunk-N5EAVX4G.js → chunk-OOKHHOIU.js} +1 -1
  96. package/dist/chunks/{chunk-MIFVX5PK.js → chunk-OQ4RWCYI.js} +1 -1
  97. package/dist/chunks/{chunk-RCRZXHAI.js → chunk-OTG77H7U.js} +1 -1
  98. package/dist/chunks/{chunk-7OKZCJHS.js → chunk-OXRN2257.js} +1 -1
  99. package/dist/chunks/{chunk-4KNPCJR4.js → chunk-PJJSQ4ZI.js} +1 -1
  100. package/dist/chunks/{chunk-7RSQOC5M.js → chunk-PXQZOVSV.js} +2 -2
  101. package/dist/chunks/chunk-QKGNAYSC.js +2 -0
  102. package/dist/chunks/{chunk-R4EEGWXB.js → chunk-QN4CFJQC.js} +1 -1
  103. package/dist/chunks/{chunk-V24VHT76.js → chunk-REGKOCDO.js} +1 -1
  104. package/dist/chunks/chunk-RJY4EI46.js +2 -0
  105. package/dist/chunks/{chunk-E2JB5OCO.js → chunk-RP4DPUN2.js} +1 -1
  106. package/dist/chunks/{chunk-QLGP2OAQ.js → chunk-SNBFWBJI.js} +1 -1
  107. package/dist/chunks/{chunk-G4FRBT7G.js → chunk-SRJTQS2D.js} +3 -3
  108. package/dist/chunks/{chunk-XY7HFXLH.js → chunk-SVLVIYH2.js} +1 -1
  109. package/dist/chunks/{chunk-NW6WGGSL.js → chunk-TCTBCAI6.js} +1 -1
  110. package/dist/chunks/{chunk-7NCM6GBN.js → chunk-TOWY6Y23.js} +1 -1
  111. package/dist/chunks/{chunk-VWWKWYSQ.js → chunk-TWLPZHH7.js} +1 -1
  112. package/dist/chunks/{chunk-Y4I6CFZJ.js → chunk-UGDBMRCT.js} +1 -1
  113. package/dist/chunks/{chunk-JQOVC35K.js → chunk-UKTPX2EE.js} +1 -1
  114. package/dist/chunks/{chunk-CO23RRN7.js → chunk-UMRQKE3W.js} +1 -1
  115. package/dist/chunks/{chunk-B66QCXH2.js → chunk-USKCFST5.js} +1 -1
  116. package/dist/chunks/{chunk-3A2Y7UK3.js → chunk-USTDWGR4.js} +1 -1
  117. package/dist/chunks/{chunk-EWDDDHJN.js → chunk-UZNRH6I3.js} +1 -1
  118. package/dist/chunks/{chunk-CIZI6Z7D.js → chunk-VMW23TIZ.js} +1 -1
  119. package/dist/chunks/{chunk-22RLEU3Q.js → chunk-VND53FAU.js} +1 -1
  120. package/dist/chunks/{chunk-4G3GTEVS.js → chunk-VSQPWLAG.js} +1 -1
  121. package/dist/chunks/{chunk-KCLMA2IH.js → chunk-VV4K5YPD.js} +1 -1
  122. package/dist/chunks/{chunk-7RJOCGQ6.js → chunk-WAUFXZ5B.js} +1 -1
  123. package/dist/chunks/{chunk-HG2YFMVU.js → chunk-WXG3G2O6.js} +1 -1
  124. package/dist/chunks/{chunk-PACLKDTN.js → chunk-XBAB3HMA.js} +1 -1
  125. package/dist/chunks/chunk-XJU47QS2.js +2 -0
  126. package/dist/chunks/{chunk-WGQ3FMRF.js → chunk-XKDOPNQ5.js} +1 -1
  127. package/dist/chunks/{chunk-EYTTZ5H4.js → chunk-XLZMSD5K.js} +1 -1
  128. package/dist/chunks/{chunk-Q7FBVLLB.js → chunk-XNPTLJ5Z.js} +1 -1
  129. package/dist/chunks/{chunk-ZIQJDTQB.js → chunk-XTT3K3TR.js} +1 -1
  130. package/dist/chunks/{chunk-Q7P34B2O.js → chunk-YFHQRDNQ.js} +1 -1
  131. package/dist/chunks/{chunk-UGFSAG4U.js → chunk-YG3HITOU.js} +1 -1
  132. package/dist/chunks/{chunk-DWF3FCY4.js → chunk-Z5R4OSGC.js} +1 -1
  133. package/dist/chunks/{chunk-JT5YQ52I.js → chunk-Z6HWSTEP.js} +1 -1
  134. package/dist/chunks/{chunk-4PUOWSDE.js → chunk-ZEOYNUHL.js} +1 -1
  135. package/dist/chunks/{chunk-2TGHZXJE.js → chunk-ZG3DBXQG.js} +1 -1
  136. package/dist/chunks/{chunk-4KTGYHCE.js → chunk-ZMRP2A7K.js} +1 -1
  137. package/dist/chunks/cli-5JARGJOD.js +2 -0
  138. package/dist/chunks/{command-LNOVZQSK.js → command-AI3SMEAH.js} +11 -11
  139. package/dist/chunks/{configuration-command-C3QBDFND.js → configuration-command-NPA46ZOT.js} +1 -1
  140. package/dist/chunks/connected-app-executor-DLC23O43.js +2 -0
  141. package/dist/chunks/connected-evidence-TVORI55Q.js +2 -0
  142. package/dist/chunks/{connected-starting-assets-5LAJ7CZY.js → connected-starting-assets-WGGBWH4K.js} +1 -1
  143. package/dist/chunks/{continual-FVOLGGOE.js → continual-UHQI2EQD.js} +1 -1
  144. package/dist/chunks/core-commands-QNZUBKOC.js +2 -0
  145. package/dist/chunks/{dataset-preparation-authoring-UUYFWWCT.js → dataset-preparation-authoring-OBMJLGA4.js} +1 -1
  146. package/dist/chunks/datasets-USJLJOEQ.js +2 -0
  147. package/dist/chunks/desktop-test-IYHAOR47.js +3 -0
  148. package/dist/chunks/{dist-2MKJC6HN.js → dist-C5XFRP53.js} +1 -1
  149. package/dist/chunks/evaluation-coordination-UJENK4WQ.js +2 -0
  150. package/dist/chunks/experiment-improvements-6GJMKIER.js +2 -0
  151. package/dist/chunks/experiments-FZHILSC6.js +2 -0
  152. package/dist/chunks/experiments-signal-E32CWBS4.js +2 -0
  153. package/dist/chunks/{help-PLQJOP4P.js → help-32DLAPJR.js} +1 -1
  154. package/dist/chunks/host-profile-evaluation-tools-QAV2UGSB.js +2 -0
  155. package/dist/chunks/{host-profile-external-dataset-KSEPXY2S.js → host-profile-external-dataset-C6ZPMTX6.js} +1 -1
  156. package/dist/chunks/{hosted-app-server-composition-GZES7QXJ.js → hosted-app-server-composition-5DVBKNV3.js} +1 -1
  157. package/dist/chunks/{hosted-experiment-improvement-VG2WE7XZ.js → hosted-experiment-improvement-YQ24C54D.js} +1 -1
  158. package/dist/chunks/hosted-harness-runtime-KLIORGWV.js +2 -0
  159. package/dist/chunks/{hosted-profile-candidate-PTGQLPZO.js → hosted-profile-candidate-RCWFLOVJ.js} +1 -1
  160. package/dist/chunks/{hosted-profile-compiler-FS5R6CHJ.js → hosted-profile-compiler-UDG4BCEW.js} +1 -1
  161. package/dist/chunks/{hosted-profile-evaluation-control-UUEZEMXU.js → hosted-profile-evaluation-control-4R3L4FTK.js} +1 -1
  162. package/dist/chunks/{hosted-profile-evaluation-inspection-4F7OEF4T.js → hosted-profile-evaluation-inspection-NA4SSY7N.js} +1 -1
  163. package/dist/chunks/{hosted-profile-evaluation-preparation-LIJJZDHQ.js → hosted-profile-evaluation-preparation-B4BW6JTB.js} +1 -1
  164. package/dist/chunks/{hosted-tasksets-V24IBVJX.js → hosted-tasksets-IUK3VWSL.js} +1 -1
  165. package/dist/chunks/human-review-D6QCZLYN.js +2 -0
  166. package/dist/chunks/{import-SI24Z7EF.js → import-UCG75PN5.js} +1 -1
  167. package/dist/chunks/{learning-Y3UKNUGE.js → learning-3XDYMYBE.js} +1 -1
  168. package/dist/chunks/learning-OR4CYV4B.js +2 -0
  169. package/dist/chunks/local-harness-improvement-runtime-GZBMBZB2.js +2 -0
  170. package/dist/chunks/local-harness-taskset-review-YVP2ZQJG.js +2 -0
  171. package/dist/chunks/{model-projects-6YWVD2TS.js → model-projects-POZRHXTF.js} +1 -1
  172. package/dist/chunks/opchat-APJUUTT7.js +3 -0
  173. package/dist/chunks/opchat-bounded-chat-PBUSUAY2.js +2 -0
  174. package/dist/chunks/organizations-WK6EZ6L3.js +2 -0
  175. package/dist/chunks/{profile-TD5U3INY.js → profile-BQMS7ALQ.js} +1 -1
  176. package/dist/chunks/project-action-payload-CGV77JSA.js +2 -0
  177. package/dist/chunks/project-agent-XVFYTEUQ.js +2 -0
  178. package/dist/chunks/{published-experiment-source-SDXUVPE7.js → published-experiment-source-2CYFIRBL.js} +1 -1
  179. package/dist/chunks/{refiner-profile-service-56VYLZQJ.js → refiner-profile-service-OLJHA4DI.js} +1 -1
  180. package/dist/chunks/{runtime-Q7JUJO4D.js → runtime-32KYSVZR.js} +1 -1
  181. package/dist/chunks/sandbox-command-OY3VZXGG.js +2 -0
  182. package/dist/chunks/{sandbox-template-GOY7QQUY.js → sandbox-template-YOOSJ4FK.js} +1 -1
  183. package/dist/chunks/saved-work-L4KNWLZB.js +2 -0
  184. package/dist/chunks/setup-EU6CMRXQ.js +2 -0
  185. package/dist/chunks/{src-C3ZUESMK.js → src-3DJR7OAH.js} +1 -1
  186. package/dist/chunks/{src-MT4B43TD.js → src-HYOTHMRX.js} +111 -113
  187. package/dist/chunks/{standalone-experiment-turn-owner-TW5MTWIO.js → standalone-experiment-turn-owner-UYPA6XHW.js} +1 -1
  188. package/dist/chunks/{store-chat-resources-IRHBW2EC.js → store-chat-resources-HISLEZZM.js} +1 -1
  189. package/dist/chunks/{store-continual-support-reviews-3KK42L4I.js → store-continual-support-reviews-ORWHS57V.js} +1 -1
  190. package/dist/chunks/{store-conversation-serving-IVURK52V.js → store-conversation-serving-5UGYKEGJ.js} +1 -1
  191. package/dist/chunks/{store-create-improve-UTCLBXF2.js → store-create-improve-APLPTVYQ.js} +1 -1
  192. package/dist/chunks/{store-datasets-4AQOVAQY.js → store-datasets-HDW6IYBL.js} +1 -1
  193. package/dist/chunks/{store-evaluation-results-PK2P3IMH.js → store-evaluation-results-KB2UDCF3.js} +1 -1
  194. package/dist/chunks/{store-harness-workspaces-YEXB4IRV.js → store-harness-workspaces-TKX5PZWP.js} +1 -1
  195. package/dist/chunks/{store-human-review-O4BVHP25.js → store-human-review-IURNTX3C.js} +1 -1
  196. package/dist/chunks/{store-learned-preference-migration-validation-44SVX6YB.js → store-learned-preference-migration-validation-TH2LKQWV.js} +1 -1
  197. package/dist/chunks/{store-learning-SIUQIY5C.js → store-learning-WLUW2PWE.js} +1 -1
  198. package/dist/chunks/{store-learning-credentials-BUHR7SN6.js → store-learning-credentials-FDKCEDHK.js} +1 -1
  199. package/dist/chunks/{store-local-experiments-BHVTKPPE.js → store-local-experiments-M4V5RLHJ.js} +1 -1
  200. package/dist/chunks/{store-model-batch-review-RVAYUVK2.js → store-model-batch-review-DDZLWVTG.js} +1 -1
  201. package/dist/chunks/{store-model-configuration-6L3OYXF4.js → store-model-configuration-ATOFA5OH.js} +1 -1
  202. package/dist/chunks/{store-model-project-preparation-AAEKCF6V.js → store-model-project-preparation-ZRSCQEQR.js} +1 -1
  203. package/dist/chunks/{store-modification-recordings-LCPK6K2T.js → store-modification-recordings-YJIDUPVJ.js} +1 -1
  204. package/dist/chunks/{store-preference-comparison-5YVIQNVB.js → store-preference-comparison-JKURBESE.js} +1 -1
  205. package/dist/chunks/{store-task-inbox-L6IQTY26.js → store-task-inbox-L53OT6ZC.js} +1 -1
  206. package/dist/chunks/{store-task-inventory-QWS2C656.js → store-task-inventory-R2JJGAHW.js} +1 -1
  207. package/dist/chunks/{store-taskset-drafts-FRFL6ITK.js → store-taskset-drafts-FPNJPFPO.js} +1 -1
  208. package/dist/chunks/{store-training-FYXZU2FE.js → store-training-DIBW7OMP.js} +1 -1
  209. package/dist/chunks/{store-training-jobs-3N3VKPIY.js → store-training-jobs-K7I4SXWW.js} +1 -1
  210. package/dist/chunks/{store-training-models-VOFVGPZR.js → store-training-models-LCSB37YY.js} +1 -1
  211. package/dist/chunks/{taskset-UDDLFYKV.js → taskset-XI5SJBJL.js} +1 -1
  212. package/dist/chunks/{taskset-packages-WMG5DUBN.js → taskset-packages-FUQWNTSB.js} +1 -1
  213. package/dist/chunks/{taskset-packages-T6B6HYKZ.js → taskset-packages-GM6IUOTY.js} +1 -1
  214. package/dist/chunks/{teams-bot-YCUTDDDC.js → teams-bot-CYC5TR64.js} +1 -1
  215. package/dist/chunks/{tool-learning-ZQ6NSJ5K.js → tool-learning-52QZIJIR.js} +1 -1
  216. package/dist/chunks/{training-5UMT45UL.js → training-GDLLLXSV.js} +1 -1
  217. package/dist/chunks/training-RL7UUBER.js +2 -0
  218. package/dist/chunks/training-UJ62NOJJ.js +2 -0
  219. package/dist/chunks/training-hardware-MR4FUC4U.js +3 -0
  220. package/dist/chunks/training-hosted-V5CHG3M3.js +2 -0
  221. package/dist/chunks/{training-hosted-alphaedit-HSMRDJTD.js → training-hosted-alphaedit-R5PVATV4.js} +1 -1
  222. package/dist/chunks/{training-hosted-decision-7JALOU6O.js → training-hosted-decision-WNK5DE3M.js} +1 -1
  223. package/dist/chunks/{training-hosted-engram-SXO75MFG.js → training-hosted-engram-ZQDOKXAV.js} +1 -1
  224. package/dist/chunks/{training-hosted-learning-E2N32YU5.js → training-hosted-learning-UEBGSSNC.js} +1 -1
  225. package/dist/chunks/{training-hosted-modification-comparison-TXFDJFTG.js → training-hosted-modification-comparison-KKI5CKOH.js} +1 -1
  226. package/dist/chunks/{training-hosted-neuron-training-J42WK4EH.js → training-hosted-neuron-training-CFWEDRSR.js} +1 -1
  227. package/dist/chunks/{training-hosted-serving-report-BAEABGJH.js → training-hosted-serving-report-N4NF5AVW.js} +1 -1
  228. package/dist/chunks/{training-hosted-steering-T556BUBG.js → training-hosted-steering-4MDUQ2YV.js} +1 -1
  229. package/dist/chunks/{training-model-start-P3PXDWNT.js → training-model-start-NOA6TYQK.js} +1 -1
  230. package/dist/chunks/{web-search-ZEKJHZW4.js → web-search-FTVNZ7PH.js} +1 -1
  231. package/dist/cli.js +2 -2
  232. package/dist/index.js +1 -1
  233. package/dist/skills/manifest.json +3 -3
  234. package/dist/skills/openpond-cli/references/experiments-and-training.md +19 -0
  235. package/dist/web/assets/App-L7RV4D0A.js +54 -0
  236. package/dist/web/assets/{AppDialog-CxjDHVk9.js → AppDialog-B2V84J7f.js} +1 -1
  237. package/dist/web/assets/{AppTerminalPanel-CKJIVpKa.js → AppTerminalPanel-DfYpUDKT.js} +2 -2
  238. package/dist/web/assets/{AppToastContext-EpiT1dHs.js → AppToastContext-DuiPouLz.js} +1 -1
  239. package/dist/web/assets/{AppsView-BsMyPX_3.js → AppsView-B20RHDCy.js} +1 -1
  240. package/dist/web/assets/{AttachmentTypeIcon-BXvZy5gB.js → AttachmentTypeIcon-l-GRNxaz.js} +1 -1
  241. package/dist/web/assets/{BrowserSidebar-BIIV4aq4.js → BrowserSidebar-Ce0ToS2O.js} +1 -1
  242. package/dist/web/assets/{CartesianChart-brqLBqnF.js → CartesianChart-CtfMRAfp.js} +1 -1
  243. package/dist/web/assets/{ChatTimelineEntry-CwZbn16X.js → ChatTimelineEntry-DzcucW20.js} +1 -1
  244. package/dist/web/assets/{CollaborationTabs-BU4uc4tZ.js → CollaborationTabs-BpmKjNAC.js} +1 -1
  245. package/dist/web/assets/{CommandMenu-DkWpXR55.js → CommandMenu-JXsoxijv.js} +1 -1
  246. package/dist/web/assets/{CommunityView-CsSxJZGn.js → CommunityView-ggdn8pcH.js} +1 -1
  247. package/dist/web/assets/{ComposerAttachments-BdJGCYzI.js → ComposerAttachments-BMmALUs_.js} +1 -1
  248. package/dist/web/assets/{ComposerCreateImproveStrip-CWy0j1vv.js → ComposerCreateImproveStrip-DcM1bkfu.js} +1 -1
  249. package/dist/web/assets/{ConversationImportsSettings-DCmiakbZ.js → ConversationImportsSettings-BKNeARHI.js} +1 -1
  250. package/dist/web/assets/{DatasetReviewImport-DEnF_pGu.js → DatasetReviewImport-DyFOE0Q0.js} +1 -1
  251. package/dist/web/assets/{ExperimentTrainingDataWorkspace-WhwQ0QBi.js → ExperimentTrainingDataWorkspace-CfOyoMrq.js} +2 -2
  252. package/dist/web/assets/{FilePagePreview-BRhhz99q.js → FilePagePreview-B7bWObJN.js} +2 -2
  253. package/dist/web/assets/{GetStartedView-CLVD-qEi.js → GetStartedView-BYbFl93M.js} +1 -1
  254. package/dist/web/assets/{GettingStartedDialog-CMxaAMg-.js → GettingStartedDialog-UgreDozV.js} +1 -1
  255. package/dist/web/assets/{HostedModelLearningReview-Cn-j-rDo.js → HostedModelLearningReview-C_kng2U_.js} +1 -1
  256. package/dist/web/assets/HostedModelLearningSettings-aesD_ifF.js +1 -0
  257. package/dist/web/assets/{HtmlVisual-D5y2WG9L.js → HtmlVisual-nvl1x-jh.js} +1 -1
  258. package/dist/web/assets/{LabModelVersionDetailPage-BxRmYD6h.js → LabModelVersionDetailPage-DrdoNvI-.js} +1 -1
  259. package/dist/web/assets/{LabModelWorkspace-u2Ulm_z4.js → LabModelWorkspace-CHlhzG3q.js} +1 -1
  260. package/dist/web/assets/{LabSkillSidebar-C7IceJTJ.js → LabSkillSidebar-CqHeZzoj.js} +1 -1
  261. package/dist/web/assets/{LabsRoute-CbztQaEf.js → LabsRoute-DzEbPpMK.js} +4 -4
  262. package/dist/web/assets/{LearningBatchesPage-CJqgZNvM.js → LearningBatchesPage-A2dFQW2j.js} +1 -1
  263. package/dist/web/assets/{MainChatThread-DNMfrrRq.js → MainChatThread-BSvKu4e5.js} +2 -2
  264. package/dist/web/assets/{MainPane-CQQxSDPS.js → MainPane-DiWIAxMj.js} +6 -6
  265. package/dist/web/assets/{ModelProjectPageHeader-Dge19aE1.js → ModelProjectPageHeader-lu6iRXHK.js} +1 -1
  266. package/dist/web/assets/{NativeSetupTerminal-D4JnbpyD.js → NativeSetupTerminal-kZ-nFPE8.js} +2 -2
  267. package/dist/web/assets/{NativeSkillSidebar-Jzx1BeKV.js → NativeSkillSidebar-DkkD1uH2.js} +1 -1
  268. package/dist/web/assets/{NewProjectDialog-DcnGzEd9.js → NewProjectDialog-Dg8dMEpc.js} +1 -1
  269. package/dist/web/assets/{OutputsPage-Cmk15Vt_.js → OutputsPage-Dz190U9t.js} +1 -1
  270. package/dist/web/assets/{PageChrome-Cz_fCqtn.js → PageChrome-Bncv-ps0.js} +1 -1
  271. package/dist/web/assets/{ProjectsPage-BZ3Eo3Mz.js → ProjectsPage-DVkYvLtd.js} +1 -1
  272. package/dist/web/assets/{RightChatPanelStack-C6H2vU9N.js → RightChatPanelStack-CP4leenI.js} +1 -1
  273. package/dist/web/assets/RightSidebarHomePanel-C0etQXpt.js +1 -0
  274. package/dist/web/assets/{ScheduledWorkPage-CAkSwM0T.js → ScheduledWorkPage-DI0mgt82.js} +1 -1
  275. package/dist/web/assets/{SettingsView-DvQXGw3_.js → SettingsView-cCtkr089.js} +3 -3
  276. package/dist/web/assets/{TasksetDraftEditorPrimitives-JuU1k8vr.js → TasksetDraftEditorPrimitives-DCQTuswJ.js} +1 -1
  277. package/dist/web/assets/{TeamChatView-DmHjr8W9.js → TeamChatView-BBEomfQ7.js} +1 -1
  278. package/dist/web/assets/{TerminalOverlay-DlaM9d8F.js → TerminalOverlay-Dj5NUDMp.js} +1 -1
  279. package/dist/web/assets/{TrainingCreationPanel-ClpylNsr.js → TrainingCreationPanel-Ds4PLfsd.js} +1 -1
  280. package/dist/web/assets/{TrainingDraftPanel-6tH2xSDj.js → TrainingDraftPanel-BAuh_BF3.js} +1 -1
  281. package/dist/web/assets/{UsageSettingsSection-CzDqxOYM.js → UsageSettingsSection-DbzeatcW.js} +1 -1
  282. package/dist/web/assets/WorkSidebarPanel-BaNuXoZc.js +1 -0
  283. package/dist/web/assets/{WorkspaceDiffPanel-B4e0lyF7.js → WorkspaceDiffPanel-xk-ve1MO.js} +3 -3
  284. package/dist/web/assets/{WorkspaceEnvironmentMenu-D01ZkZZF.js → WorkspaceEnvironmentMenu-D8GSuoYz.js} +1 -1
  285. package/dist/web/assets/{WorkspaceFileLocation-C5s_njZb.js → WorkspaceFileLocation-Dl8M2ZKN.js} +1 -1
  286. package/dist/web/assets/{WorkspaceGitDialogs-DjPZ6KIh.js → WorkspaceGitDialogs-9BhLjYx4.js} +1 -1
  287. package/dist/web/assets/{WorkspaceMonacoEditor-CC4sfOiU.js → WorkspaceMonacoEditor-DYPuC7pj.js} +3 -3
  288. package/dist/web/assets/{WorkspacePdfPreview-vszQqFa4.js → WorkspacePdfPreview-B7BI9tLR.js} +2 -2
  289. package/dist/web/assets/{WorkspacePresentationPreview-DQTvhaRD.js → WorkspacePresentationPreview-sP7JUT7m.js} +1 -1
  290. package/dist/web/assets/{bot-Doyx3T4j.js → bot-D7M8ZtE6.js} +1 -1
  291. package/dist/web/assets/{chat-resources-Beh5lB36.js → chat-resources-DhKAnljP.js} +1 -1
  292. package/dist/web/assets/chevron-down-BAEcJitl.js +1 -0
  293. package/dist/web/assets/chevron-right-3G9s2cQ9.js +1 -0
  294. package/dist/web/assets/chevron-up-DTYF52H1.js +1 -0
  295. package/dist/web/assets/{chunk-C3TS766N-ppRhs95p.js → chunk-C3TS766N-DENE60SE.js} +1 -1
  296. package/dist/web/assets/{client-choice-storage-DitqKiIT.js → client-choice-storage-DYZsrVr9.js} +1 -1
  297. package/dist/web/assets/{client-DwZ92xtu.js → client-gy7zrd7a.js} +1 -1
  298. package/dist/web/assets/{cloud-upload-HdzNTgr2.js → cloud-upload-De-XSMUr.js} +1 -1
  299. package/dist/web/assets/{copy-DTQhoBNg.js → copy-DEK20zbZ.js} +1 -1
  300. package/dist/web/assets/{cssMode-BRTtfXxU.js → cssMode-Dau-Fhqf.js} +1 -1
  301. package/dist/web/assets/{external-link-H1629UU6.js → external-link-DwDry0Fb.js} +1 -1
  302. package/dist/web/assets/{folder-open-CAGdWOrr.js → folder-open-DOb4AjV6.js} +1 -1
  303. package/dist/web/assets/{folder-plus-C14cs2mE.js → folder-plus-BAouDaXv.js} +1 -1
  304. package/dist/web/assets/{git-commit-horizontal-DFUfuVvF.js → git-commit-horizontal-DZbHXcai.js} +1 -1
  305. package/dist/web/assets/{htmlMode-BVaCcL76.js → htmlMode-DlNEe6hu.js} +1 -1
  306. package/dist/web/assets/{icons-Bk2b68aC.js → icons-OQhKVrDc.js} +1 -1
  307. package/dist/web/assets/{image-0DPVY6Ev.js → image-BkYJDChH.js} +1 -1
  308. package/dist/web/assets/{index-B6XX_0h3.js → index-M_h2Ok4V.js} +2 -2
  309. package/dist/web/assets/{info-C8b_tafZ.js → info-Mj5lp4Ic.js} +1 -1
  310. package/dist/web/assets/{jsonMode-BCKKQmmV.js → jsonMode-CyOEyonV.js} +1 -1
  311. package/dist/web/assets/loader-circle-DXVtGvuV.js +1 -0
  312. package/dist/web/assets/{lspLanguageFeatures-DozmNUOx.js → lspLanguageFeatures-DAYPzatg.js} +1 -1
  313. package/dist/web/assets/{maximize-2-CByk9-zN.js → maximize-2-BwFXSX6b.js} +1 -1
  314. package/dist/web/assets/{message-square-C889vRqm.js → message-square-C2nqfNLn.js} +1 -1
  315. package/dist/web/assets/{monaco.contribution-BITdsRbn.js → monaco.contribution-BZcNCJER.js} +2 -2
  316. package/dist/web/assets/{monaco.contribution-DxAV1oS5.js → monaco.contribution-BZkfRhss.js} +2 -2
  317. package/dist/web/assets/{monaco.contribution-BqA-XZ44.js → monaco.contribution-D7_X8TXe.js} +2 -2
  318. package/dist/web/assets/{monaco.contribution-B9q6qbbo.js → monaco.contribution-KyLdVay7.js} +2 -2
  319. package/dist/web/assets/{monitor-BtxlcLuI.js → monitor-B0Qj5Wea.js} +1 -1
  320. package/dist/web/assets/{paperclip-BeIdaspf.js → paperclip-CmrRruxi.js} +1 -1
  321. package/dist/web/assets/{pdf-perlzwEB.js → pdf-BM-9_48p.js} +1 -1
  322. package/dist/web/assets/play-CkACZ6Zo.js +1 -0
  323. package/dist/web/assets/plus-CB258e62.js +1 -0
  324. package/dist/web/assets/{presentation-0bzvu6_u.js → presentation-BYxhoSIo.js} +1 -1
  325. package/dist/web/assets/{python-B9hOnkOI.js → python-B3Mj03I5.js} +1 -1
  326. package/dist/web/assets/{refresh-cw-D61-Ozk3.js → refresh-cw-CwEmO71D.js} +1 -1
  327. package/dist/web/assets/{save-iEMNZoPe.js → save-S--FOuce.js} +1 -1
  328. package/dist/web/assets/{settings-lists-C84qxFmP.js → settings-lists-ChqDppMP.js} +1 -1
  329. package/dist/web/assets/square-BmPfHjGU.js +1 -0
  330. package/dist/web/assets/{square-terminal-Djpzo2Qs.js → square-terminal-CawpQtCi.js} +1 -1
  331. package/dist/web/assets/{submit-issue-command-HfKzyxg5.js → submit-issue-command-CFitxxmO.js} +1 -1
  332. package/dist/web/assets/{toggleHighContrast-ClsXu39R.js → toggleHighContrast-D-cMCvXx.js} +1 -1
  333. package/dist/web/assets/training-CzbWtx75.js +1 -0
  334. package/dist/web/assets/{training-model-data-CIysl8wH.js → training-model-data-G-D64935.js} +1 -1
  335. package/dist/web/assets/{tsMode-nbmaMc-D.js → tsMode-9kzS1ijG.js} +1 -1
  336. package/dist/web/assets/{upload-C6ug8RD-.js → upload-CtYsSYrM.js} +1 -1
  337. package/dist/web/assets/{useAccountSettings-Dr9h4Qz_.js → useAccountSettings-DYYa6puz.js} +1 -1
  338. package/dist/web/assets/{useAgentInventory-ByCk2JAv.js → useAgentInventory-c5B_Tszj.js} +1 -1
  339. package/dist/web/assets/{useChatContextSelection-C0eMm2g6.js → useChatContextSelection-DOISZpTz.js} +1 -1
  340. package/dist/web/assets/{useLocalAgentSchedules-Do0y_leJ.js → useLocalAgentSchedules-QJ8RsMKm.js} +1 -1
  341. package/dist/web/assets/{useQuery-D2MQ7e5U.js → useQuery-DuTGOe2b.js} +1 -1
  342. package/dist/web/assets/{wifi-off-Dr-CapyW.js → wifi-off-BOfP4Vmg.js} +1 -1
  343. package/dist/web/assets/{workers-DKvM2NdM.js → workers-BwGpyrdj.js} +1 -1
  344. package/dist/web/assets/x-5_iy6IDd.js +1 -0
  345. package/dist/web/assets/{yaml-C02vq4ar.js → yaml-BU4IWV_7.js} +1 -1
  346. package/dist/web/index.html +1 -1
  347. package/docs/command-reference.md +1 -0
  348. package/package.json +1 -1
  349. package/dist/chunks/app-server-runtime-43MCH5SY.js +0 -2
  350. package/dist/chunks/apps-VNFGMQFG.js +0 -2
  351. package/dist/chunks/chunk-6D3FI2XT.js +0 -2
  352. package/dist/chunks/chunk-APKXXAUF.js +0 -2
  353. package/dist/chunks/chunk-JCLTFDVW.js +0 -2
  354. package/dist/chunks/chunk-KTIBXRWQ.js +0 -2
  355. package/dist/chunks/chunk-VEBW7NKD.js +0 -2
  356. package/dist/chunks/chunk-YDZBX4XQ.js +0 -2
  357. package/dist/chunks/cli-R7TAP6Z2.js +0 -2
  358. package/dist/chunks/connected-app-executor-LAEAQUJS.js +0 -2
  359. package/dist/chunks/connected-evidence-VKY6O2JW.js +0 -2
  360. package/dist/chunks/core-commands-5TNBVR72.js +0 -2
  361. package/dist/chunks/datasets-BIDZJYDC.js +0 -2
  362. package/dist/chunks/desktop-test-BY2MS3UL.js +0 -3
  363. package/dist/chunks/evaluation-coordination-FXB4DXZA.js +0 -2
  364. package/dist/chunks/experiment-improvements-JPDLKZXD.js +0 -2
  365. package/dist/chunks/experiments-IEN7RXLX.js +0 -2
  366. package/dist/chunks/experiments-signal-L32D36NH.js +0 -2
  367. package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +0 -2
  368. package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +0 -2
  369. package/dist/chunks/human-review-6V6EMNVN.js +0 -2
  370. package/dist/chunks/learning-LAXMGWSQ.js +0 -2
  371. package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +0 -2
  372. package/dist/chunks/local-harness-taskset-review-XQHQ6JCR.js +0 -2
  373. package/dist/chunks/opchat-SV67HVMX.js +0 -3
  374. package/dist/chunks/opchat-bounded-chat-KLMIYSZZ.js +0 -2
  375. package/dist/chunks/organizations-OZZFX7RG.js +0 -2
  376. package/dist/chunks/project-action-payload-TK6G4VMC.js +0 -2
  377. package/dist/chunks/project-agent-FFXPNXCO.js +0 -2
  378. package/dist/chunks/sandbox-command-4BCUDAED.js +0 -2
  379. package/dist/chunks/saved-work-M6PUHKCC.js +0 -2
  380. package/dist/chunks/setup-RMZ2BHLM.js +0 -2
  381. package/dist/chunks/training-5NT2YB2L.js +0 -2
  382. package/dist/chunks/training-UY6KRG4M.js +0 -2
  383. package/dist/chunks/training-hardware-UWQCRDMV.js +0 -3
  384. package/dist/chunks/training-hosted-CKSDRVL6.js +0 -2
  385. package/dist/web/assets/App-CCuh99JW.js +0 -54
  386. package/dist/web/assets/HostedModelLearningSettings-VNBvf38S.js +0 -1
  387. package/dist/web/assets/RightSidebarHomePanel-BfMMVkM1.js +0 -1
  388. package/dist/web/assets/WorkSidebarPanel-CY-AHZ4-.js +0 -1
  389. package/dist/web/assets/chevron-down-DX1hzujj.js +0 -1
  390. package/dist/web/assets/chevron-right-DHN0y3KC.js +0 -1
  391. package/dist/web/assets/chevron-up-_QrW88NF.js +0 -1
  392. package/dist/web/assets/loader-circle-y-SSPwpk.js +0 -1
  393. package/dist/web/assets/play-CHXXdkuO.js +0 -1
  394. package/dist/web/assets/plus-DFFWjhPw.js +0 -1
  395. package/dist/web/assets/square-BE_4JMR3.js +0 -1
  396. package/dist/web/assets/training-DWfghwfZ.js +0 -1
  397. package/dist/web/assets/x-Jx2jlP9u.js +0 -1
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{E as U}from"./chunk-WGQ3FMRF.js";import{m as X}from"./chunk-HIQPGYVH.js";import{A as te,Q as M,d as Y,e as Z,i as p,l as h,m as q,p as ee,w as c,x as T,y as R}from"./chunk-DXJC3QW7.js";import{D as F,F as Q,I as L,b as _,dc as K,o as N,t as D,wb as W}from"./chunk-4PUOWSDE.js";import{Ra as O,Wa as G,bb as $}from"./chunk-ZY32SZ2P.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as m}from"./chunk-FTQLQJQV.js";var ie=e.string().trim().min(1).max(240),ue=e.string().trim().min(8).max(256),y=e.object({schemaVersion:e.literal("openpond.sftRecipe.v1"),method:e.literal("sft"),parameterization:e.literal("lora"),baseModel:e.object({id:ie,revision:e.string().trim().min(1).max(256),tokenizerRevision:e.string().trim().min(1).max(256),chatTemplateHash:ue}),dataset:e.object({trainSplit:e.literal("train"),validationSplit:e.enum(["validation","frozen_eval"]),completionOnly:e.boolean(),maxSequenceLength:e.number().int().positive().max(32768),maxExamples:e.number().int().positive().max(1e5).default(1e3),selectionStrategy:e.literal("stable_hash_top_n").default("stable_hash_top_n"),selectionSeed:e.number().int().default(17)}),lora:e.object({rank:e.number().int().positive().max(256),alpha:e.number().positive().max(1024),dropout:e.number().min(0).max(1),targetModules:e.array(ie).min(1).max(100)}),optimizer:e.object({learningRate:e.number().positive(),epochs:e.number().positive().max(100),maxSteps:e.number().int().positive().max(1e6),batchSize:e.number().int().positive().max(1e4),gradientAccumulationSteps:e.number().int().positive().max(1e4),seed:e.number().int()}),resourceLimits:e.object({cpuThreads:e.number().int().positive().max(256),memoryBytes:e.number().int().positive(),wallTimeMs:e.number().int().positive()})}),Ze=y.safeExtend({dataset:y.shape.dataset.safeExtend({completionOnly:e.literal(!0),maxSequenceLength:e.number().int().min(2).max(8192),maxExamples:e.number().int().min(1).max(1e3).default(1e3)}),lora:y.shape.lora.safeExtend({rank:e.number().int().min(1).max(64),dropout:e.number().min(0).lt(1),targetModules:e.array(e.enum(["q_proj","k_proj","v_proj","o_proj","gate_proj","up_proj","down_proj"])).min(1).max(7)}),optimizer:y.shape.optimizer.safeExtend({learningRate:e.number().positive().max(.001),epochs:e.number().positive().max(10),maxSteps:e.number().int().min(1).max(128),batchSize:e.number().int().min(1).max(32),gradientAccumulationSteps:e.number().int().min(1).max(32),seed:e.number().int().min(-(2**31)).max(2**31-1)}),resourceLimits:y.shape.resourceLimits.safeExtend({wallTimeMs:e.number().int().min(1e3).max(216e5)})}).superRefine((t,i)=>{t.optimizer.batchSize*t.optimizer.gradientAccumulationSteps>32&&i.addIssue({code:"custom",path:["optimizer"],message:"Managed SFT supports at most 32 accumulated examples."}),new Set(t.lora.targetModules).size!==t.lora.targetModules.length&&i.addIssue({code:"custom",path:["lora","targetModules"],message:"Adapter target modules must be unique."})});var pe=e.string().regex(/^[a-f0-9]{64}$/),z=e.string().regex(/^(0|[1-9]\d*)(\.\d{1,6})?$/).max(24),ae=m(t=>{let[i,a=""]=z.parse(t).split(".");return BigInt(i)*1000000n+BigInt(a.padEnd(6,"0"))},"micros"),ne=e.object({schemaVersion:e.literal("openpond.computeAppliedPrice.v1"),version:e.string().min(1).max(500),service:e.enum(["managed_rl","model_modification","model_serving","sandbox"]),profileHash:pe,currency:e.literal("USD"),unit:e.literal("resource_hour"),hourlyUsd:z.refine(t=>{if(!z.safeParse(t).success)return!1;let i=ae(t);return i>0n&&i<=BigInt(Number.MAX_SAFE_INTEGER)})}).strict(),rt=e.object({schemaVersion:e.literal("openpond.modificationPrice.v1"),appliedPrice:ne.extend({service:e.literal("model_modification")}),billingBoundary:e.literal("active_allocation_until_verified_cleanup"),startupBillable:e.literal(!0),postCompletionIdleBillable:e.literal(!1),minimumBillableSeconds:e.literal(0),warmReuseSeconds:e.literal(300)}).strict();function ge(t){if(t==null||t.trim()==="")return null;let i=ae(t);if(i<=0n||i>1000000000000n)throw new p("managed_modification_cap_invalid","Choose a positive spending limit of at most 1,000,000 USD, or use available credits.");return`${i/1000000n}.${(i%1000000n).toString().padStart(6,"0")}`}m(ge,"canonicalComputeSpendCap");function ot(t){if(t.maximumSpendUsd!==ge(t.maximumSpendUsd)||t.maximumSpendUsd===null&&!t.computePrice||t.computePrice&&t.computePrice.appliedPrice.profileHash!==t.runtimeHash)throw new p("managed_modification_price_mismatch","Retain the exact reviewed rate, runtime and optional spending limit.")}m(ot,"assertManagedModificationPricing");async function st(t,i){return t.computePrice?i.approvedPriceHash===await h(t.computePrice):i.approvedPriceHash===void 0}m(st,"managedModificationPriceApprovalMatches");var I=e.string().min(1).max(500),w=e.string().regex(/^[a-f0-9]{64}$/),E=ne.extend({service:e.literal("managed_rl")}),re=e.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine(t=>{if(!/^(0|[1-9]\d*)\.\d{6}$/.test(t)||t.length>24)return!1;let i=BigInt(t.replace(".",""));return i>0n&&i<=BigInt(Number.MAX_SAFE_INTEGER)}).nullable(),he=e.array(e.object({profileHash:w,price:E,resources:e.object({cpu:e.number().positive(),memoryGb:e.number().positive(),diskGb:e.number().nonnegative()}).strict()}).strict()).max(32),S=e.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine(t=>/^(0|[1-9]\d*)\.\d{6}$/.test(t)&&t.length<=24&&BigInt(t.replace(".",""))<=BigInt(Number.MAX_SAFE_INTEGER)),be=e.object({billing:e.literal("existing_retail_child_captures"),acceptedPricingHashes:e.array(w).max(64),prices:e.array(e.object({modelId:I,displayName:I,acceptedPricingHash:w,inputUsdPerMillionTokens:S,cachedInputUsdPerMillionTokens:S,outputUsdPerMillionTokens:S,cacheWriteUsdPerMillionTokens:S.nullable(),cacheWriteOneHourUsdPerMillionTokens:S.nullable(),longContextThresholdTokens:e.number().int().positive().nullable(),longContext:e.object({inputUsdPerMillionTokens:S,cachedInputUsdPerMillionTokens:S,outputUsdPerMillionTokens:S,cacheWriteUsdPerMillionTokens:S.nullable()}).strict().nullable()}).strict()).max(64)}).strict(),fe=e.tuple([e.object({mode:e.literal("prepaid_only"),availability:e.literal("available"),reason:e.null()}).strict(),e.object({mode:e.literal("actual_usage"),availability:e.enum(["unavailable","requires_preparation"]),reason:e.string().min(1).max(500).nullable()}).strict()]),mt=e.object({schemaVersion:e.literal("openpond.trainingUsageFundingRequest.v1"),billingMode:e.literal("actual_usage"),customerCapUsd:re}).strict(),ve=e.object({schemaVersion:e.literal("openpond.trainingUsageQuote.v1"),teamId:I,actorUserId:I,preparationId:I,submissionHash:w,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),customerCapUsd:re,maximumWallSeconds:e.number().int().positive(),retentionDays:e.number().int().nonnegative(),gpu:E,guests:he,judges:be,storage:e.object({price:E,storageClass:e.literal("STANDARD"),quantityBasis:e.literal("gib_milliseconds"),onCreditExhaustion:e.literal("retain_objects_and_stop_new_storage")}).strict(),gpuBillingBoundary:e.literal("active_allocation_until_verified_cleanup"),storageBillingBoundary:e.literal("accepted_retention_window"),startupBillable:e.literal(!0),postCompletionIdleBillable:e.literal(!1),minimumBillableSeconds:e.literal(0),issuedAt:e.iso.datetime(),expiresAt:e.iso.datetime()}).strict(),Se=ve.extend({contentHash:w,signature:I}).strict();async function lt(t,i){let a=Se.parse(t),{contentHash:l,signature:n,...s}=a;if(l!==await h(s)||a.teamId!==i.teamId||a.actorUserId!==i.actorUserId||a.preparationId!==i.preparationId||a.submissionHash!==i.submissionHash||a.customerCapUsd!==i.customerCapUsd||Date.parse(a.expiresAt)<=Date.parse(a.issuedAt)||new Set(a.guests.map(o=>o.profileHash)).size!==a.guests.length||a.guests.some(o=>o.profileHash!==o.price.profileHash)||new Set(a.judges.acceptedPricingHashes).size!==a.judges.acceptedPricingHashes.length||new Set(a.judges.prices.map(o=>o.acceptedPricingHash)).size!==a.judges.prices.length||a.judges.prices.length!==a.judges.acceptedPricingHashes.length||a.judges.prices.some(o=>!a.judges.acceptedPricingHashes.includes(o.acceptedPricingHash)))throw new p("training_usage_quote_mismatch","Training prices differ from the reviewed preparation, actor or spending limit.");return a}m(lt,"verifyTrainingUsageQuote");var j=e.string().trim().min(1).max(191),H=e.string().regex(/^[a-f0-9]{64}$/),oe=e.object({schemaVersion:e.literal("openpond.checkpointRecoveryResourceApproval.v1"),ownerUserId:j,teamId:j,sourceJobId:j,sourceJobVersion:e.number().int().positive(),sourceInputManifestSha256:H,checkpointId:j,adapterSha256:H,resumeSha256:H,idempotencyKey:e.string().trim().min(16).max(191),approvedAt:e.iso.datetime({offset:!0}),maximumSpendUsd:e.number().positive().finite().max(30).refine(t=>Number(t.toFixed(6))===t,"Recovery spend must use whole microdollars"),maximumGpuSeconds:e.number().int().positive().max(21600),maximumWallSeconds:e.number().int().positive().max(21600)}).strict(),B=oe.extend({approvalHash:H}).strict().superRefine((t,i)=>{t.maximumGpuSeconds>t.maximumWallSeconds&&i.addIssue({code:"custom",path:["maximumGpuSeconds"],message:"Recovery GPU duration exceeds its wall"})});async function ut(t){let i=oe.parse(t);return B.parse({...i,approvalHash:await h(i)})}m(ut,"createTrainingCheckpointRecoveryResourceApproval");var pt=e.object({resourceApproval:B.optional(),mode:e.literal("evaluation_only").optional(),evaluationGpuType:e.enum(["NVIDIA A100 80GB PCIe","NVIDIA A100-SXM4-80GB","NVIDIA H100 80GB HBM3"]).optional(),expectedVersion:e.number().int().positive(),checkpointId:j,idempotencyKey:e.string().trim().min(16).max(191),maximumSpendUsd:e.number().positive().finite(),maximumWallSeconds:e.number().int().positive().max(21600)}).strict().superRefine((t,i)=>{t.evaluationGpuType&&t.mode!=="evaluation_only"&&i.addIssue({code:"custom",path:["evaluationGpuType"],message:"GPU substitution requires explicit evaluation-only recovery"});let a=t.resourceApproval;a&&(a.sourceJobVersion!==t.expectedVersion||a.checkpointId!==t.checkpointId||a.idempotencyKey!==t.idempotencyKey||a.maximumSpendUsd!==t.maximumSpendUsd||a.maximumWallSeconds!==t.maximumWallSeconds)&&i.addIssue({code:"custom",path:["resourceApproval"],message:"Recovery resource approval does not match its request"})}),xe=e.object({mode:e.literal("reuse_only"),physicalWorkerId:e.string().trim().min(1).max(191),providerPodId:e.string().trim().min(1).max(191),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),baseProfileSha256:e.string().regex(/^[a-f0-9]{64}$/),gpuType:e.string().trim().min(1).max(200),sourceJobId:e.string().trim().min(1).max(191),sourceInputManifestSha256:e.string().regex(/^[a-f0-9]{64}$/),ownerTeamId:e.string().trim().min(1).max(191),deadlineAt:e.string().datetime({offset:!0})}).strict(),k=e.string().datetime({offset:!0}),ye=e.object({ticketId:e.string().trim().min(1).max(191),ticketNumber:e.number().int().positive().max(Number.MAX_SAFE_INTEGER),label:e.literal("Waiting for resources"),position:e.number().int().positive().nullable(),positionScope:e.literal("compatible_fair_queue"),enqueuedAt:k,asOf:k,estimate:e.object({revision:e.number().int().nonnegative(),estimatedStartAt:k,expiresAt:k,evidence:e.enum(["observed_capacity","measured_bootstrap","scheduled_release"])}).strict().nullable()}).strict().superRefine((t,i)=>{t.estimate&&Date.parse(t.estimate.expiresAt)<=Date.parse(t.asOf)&&i.addIssue({code:"custom",path:["estimate"],message:"An expired queue forecast must be returned as unavailable"})}),x=e.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine(t=>/^(0|[1-9]\d*)\.\d{6}$/.test(t)&&t.length<=24&&BigInt(t.replace(".",""))<=BigInt(Number.MAX_SAFE_INTEGER)),Ie=e.object({schemaVersion:e.literal("openpond.trainingUsageSnapshot.v1"),asOf:e.iso.datetime(),customerCapUsd:x.nullable(),chargedUsd:x,committedUsd:x,outstandingUsd:x,remainingCapUsd:x.nullable(),availableCreditUsd:x,complete:e.boolean(),components:e.array(e.object({component:e.enum(["gpu","guest","storage","judge"]),chargedUsd:x,committedUsd:x,outstandingUsd:x,openOwners:e.number().int().nonnegative()}).strict()).length(4).refine(t=>t.every((i,a)=>i.component===["gpu","guest","storage","judge"][a]))}).strict(),d=e.string().trim().min(1).max(500),u=e.string().regex(/^[a-f0-9]{64}$/),b=e.string().datetime({offset:!0}),_e=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:c,payload:e.unknown(),contentHash:u}).strict(),St=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:c,artifactRef:e.string().trim().min(1).max(2e3),contentHash:u,sizeBytes:e.number().int().positive(),createdAt:b}).strict();async function je(t){let{contentHash:i,...a}=t;return h(a)}m(je,"trainingInputArtifactUploadHash");async function xt(t){q(t,Z,"Training input artifact");let i=_e.parse(t),a=await je(i);if(i.contentHash!==a)throw new p("content_hash_mismatch",`Training input artifact contentHash ${i.contentHash} does not match ${a}.`);return i}m(xt,"parseAndVerifyTrainingInputArtifactUpload");var se=e.enum(["reward_model_train","policy_optimize"]),we=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Te=e.object({id:d,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Re=e.object({origin:_.optional(),modelProject:e.object({id:d,portableProjectId:d,revision:e.number().int().positive(),contentHash:u}).strict(),harnessRunManifest:c,harnessRelease:c,taskset:T,tasksetRelease:c,evaluation:e.object({taskset:T,dataset:c}).strict().nullable().optional(),dataset:c,evidenceSets:e.array(c).max(1e4)}).strict(),ke=e.object({kind:e.literal("reward_model_train"),baseModel:R,preferenceDatasetRelease:c,processorRelease:c,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(),He=e.object({kind:e.literal("deterministic"),grader:c,composer:c.nullable().default(null)}).strict(),Pe=e.object({kind:e.literal("learned_reward"),rewardModelVersion:c,qualificationReport:c.nullable().default(null),evaluationReferences:e.array(c).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:u,executionReceipt:c}).strict(),processorRelease:c,rewardComposerRelease:c}).strict(),ce=R.extend({revision:e.string().regex(/^[a-f0-9]{40,64}$/),tokenizerRevision:e.string().regex(/^[a-f0-9]{40,64}$/),chatTemplateHash:u}).strict(),Ae=e.object({kind:e.literal("policy_optimize"),executionMode:e.literal("qualification").optional(),baseModel:R,recipe:te,rewardSource:e.discriminatedUnion("kind",[He,Pe]),resumeFrom:c.nullable().default(null)}).strict().superRefine((t,i)=>{if(t.recipe.method!=="sft")return;let a=y.safeParse(t.recipe);if(!a.success){i.addIssue({code:"custom",path:["recipe"],message:"The SFT recipe is incomplete or invalid."});return}(t.executionMode||t.resumeFrom||"continuation"in t.recipe)&&i.addIssue({code:"custom",message:"Initial managed SFT requires a fresh supervised run without rollout qualification or continuation."}),(a.data.baseModel.id!==t.baseModel.modelId||a.data.baseModel.revision!==t.baseModel.revision||a.data.baseModel.tokenizerRevision!==t.baseModel.tokenizerRevision||a.data.baseModel.chatTemplateHash!==t.baseModel.chatTemplateHash)&&i.addIssue({code:"custom",path:["baseModel"],message:"The SFT recipe must pin the exact submitted base and tokenizer."})}),qe=e.discriminatedUnion("kind",[ke,Ae]),Me=e.object({approvalHash:u,approvedAt:b,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(),Ue=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:Re,job:qe,requestedCapabilities:e.array(Te).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),gpuSelection:ee.optional(),physicalPlacement:xe.optional(),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Me,contentHash:u}).strict().superRefine((t,i)=>{let a=(t.gpuSelection?.gpuCount??1)===2,l=t.requestedCapabilities.some(n=>n.id==="managed_rl.policy.data_parallel"&&n.version==="1"&&n.required);if(a!==l&&i.addIssue({code:"custom",path:["requestedCapabilities"],message:"Two-GPU training must require managed_rl.policy.data_parallel@1 and bind gpuSelection.gpuCount to 2."}),a&&(t.job.kind!=="policy_optimize"||t.job.executionMode||t.job.recipe.method!=="grpo"||t.physicalPlacement)&&i.addIssue({code:"custom",path:["gpuSelection"],message:"Two-GPU execution requires exclusive GRPO policy training."}),t.physicalPlacement&&(t.job.kind!=="policy_optimize"||t.job.resumeFrom||t.job.executionMode||t.job.recipe.continuation!==void 0)&&i.addIssue({code:"custom",path:["physicalPlacement"],message:"Reuse-only placement requires fresh-base policy training without continuation."}),t.job.kind==="policy_optimize"&&t.job.executionMode==="qualification"){let n=t.job;ce.safeParse(n.baseModel).success||i.addIssue({code:"custom",path:["job","baseModel"],message:"Qualification requires immutable model and tokenizer revisions and a SHA-256 chat-template pin."}),(n.resumeFrom||n.recipe.continuation!==void 0||n.rewardSource.kind!=="deterministic"||n.recipe.method!=="grpo")&&i.addIssue({code:"custom",path:["job"],message:"Qualification requires the original GRPO learner, deterministic reward, and no resume or continuation."}),t.requestedCapabilities.some(s=>s.required&&s.id==="managed_rl.policy.qualification"&&s.version==="1")||i.addIssue({code:"custom",path:["requestedCapabilities"],message:"Qualification must require managed_rl.policy.qualification@1."})}t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&i.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function ze(t){let{contentHash:i,...a}=t;return h(a)}m(ze,"trainingJobSubmissionHash");async function Ee(t){q(t,Y,"Training Job submission");let i=Ue.parse(t),a=await ze(i);if(i.contentHash!==a)throw new p("content_hash_mismatch",`Training Job contentHash ${i.contentHash} does not match ${a}.`);return i}m(Ee,"parseAndVerifyTrainingJobSubmission");var Ce=e.object({resourceApproval:B.optional(),mode:e.literal("evaluation_only").optional(),trainingWorkloadComplete:e.boolean().optional(),sourceJobId:d,checkpointId:d,policyVersion:e.number().int().positive(),completedGroups:e.number().int().positive(),optimizerMode:e.literal("continue")}).strict(),Be=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:d,teamId:d,kind:se,executionMode:e.literal("qualification").optional(),recovery:Ce.optional(),modelProjectId:d,portableProjectId:d,sourceProjectRevision:e.number().int().positive(),submissionHash:u,state:we,queue:ye.optional(),phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),usage:Ie.optional(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:b,updatedAt:b,completedAt:b.nullable()}).strict(),yt=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Be).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),It=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:d,jobId:d,sequence:e.number().int().nonnegative(),type:d,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:b}).strict(),_t=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:d,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:b}).strict(),jt=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Ve=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:d,jobId:d,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:u,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:b}).strict(),me=e.object({schemaVersion:e.literal("openpond.trainingQualificationEvidence.v1"),baseModel:ce,group:c,rolloutReceipts:e.array(c).min(1).max(1e3),rewardEvidenceHash:u,groupsCompleted:e.literal(1),optimizerUpdatesApplied:e.literal(0),optimizerUpdatesSkipped:e.literal(0),trainingStepsCreated:e.literal(0),checkpointsCreated:e.literal(0),artifactsCreated:e.literal(0)}).strict().superRefine((t,i)=>{new Set(t.rolloutReceipts.map(a=>a.id)).size!==t.rolloutReceipts.length&&i.addIssue({code:"custom",path:["rolloutReceipts"],message:"Qualification rollout receipt identities must be unique."})}),V=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:d,teamId:d,jobId:d,submissionHash:u,manifestHash:u,recipeHash:u,capabilityHash:u,runtimeRelease:c,inputs:e.array(c).max(1e4),outputs:e.array(c).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),qualification:me.optional(),issuer:d,issuedAt:b,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Je(t){return h(V.parse(t))}m(Je,"trainingExecutionReceiptHash");async function wt(t,i){let a=V.parse(t),l=d.parse(i.id),n=u.parse(i.contentHash),s=await Je(a);if(a.id!==l||s!==n)throw new p("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(i.teamId!==void 0&&a.teamId!==d.parse(i.teamId))throw new p("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(i.jobId!==void 0&&a.jobId!==d.parse(i.jobId))throw new p("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((i.requireCleanup??!0)&&!a.cleanupComplete)throw new p("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");if(i.qualificationSubmission){let o=await Ee(i.qualificationSubmission);if(o.job.kind!=="policy_optimize"||o.job.executionMode!=="qualification")throw new p("qualification_submission_required","Expected an immutable qualification submission.");await Oe(a,{submissionHash:o.contentHash,baseModel:o.job.baseModel,outputs:i.outputs})}return a}m(wt,"parseAndVerifyTrainingExecutionReceipt");async function Oe(t,i){let a=me.parse(t.qualification);if(t.submissionHash!==i.submissionHash||!t.cleanupComplete)throw new p("qualification_receipt_mismatch","Qualification must attest the expected submission and complete cleanup.");if(i.baseModel&&await h(a.baseModel)!==await h(i.baseModel))throw new p("qualification_learner_mismatch","Qualification used a different original learner or tokenizer.");if(i.outputs?.some(l=>["checkpoint","adapter","scorer"].includes(l.kind)))throw new p("qualification_updated_artifact","Qualification must not publish trained artifacts or checkpoints.")}m(Oe,"assertTrainingQualificationReceipt");var Tt=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Ve).max(1e4),receipt:V.nullable()}).strict(),Ge=e.object({workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),envelopeRank:e.number().int().positive().max(256),supportedRanks:e.array(e.number().int().positive().max(256)).max(256),qualification:e.object({evidenceRef:e.string().min(1),evidenceSha256:u}).strict().nullable(),continuation:e.object({sharedRequiresSameRank:e.literal(!0),mergedRequiresSameRank:e.literal(!0),residualAppendRequiresFreeCapacity:e.literal(!0),stageOptimizer:e.literal("reset"),interruptedRecoveryOptimizer:e.literal("restore")}).strict()}).strict().superRefine((t,i)=>{(new Set(t.supportedRanks).size!==t.supportedRanks.length||t.supportedRanks.some(a=>a>t.envelopeRank))&&i.addIssue({code:"custom",path:["supportedRanks"],message:"Supported ranks must be unique and fit the physical adapter envelope."}),t.supportedRanks.length&&!t.qualification&&i.addIssue({code:"custom",path:["qualification"],message:"Advertised ranks require immutable image qualification evidence."})});function Rt(t,i,a){return t.supportedRanks.includes(i)?a?a.mode==="residual_append"?a.parentEnabledRank+i<=t.envelopeRank:a.parentEnabledRank===i:!0:!1}m(Rt,"supportsTrainingPolicyLoraRank");var kt=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:u,jobKinds:e.array(se),methods:e.array(e.string().trim().min(1).max(200)),billingModes:fe.optional(),executionModes:e.array(e.enum(["training","qualification"])).optional(),policyLora:Ge.optional(),policyDataParallel:e.object({capability:e.literal("managed_rl.policy.data_parallel"),version:e.literal("1"),gpuCount:e.literal(2),worldSize:e.literal(2),backend:e.literal("nccl"),allocationMode:e.literal("exclusive"),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),structuredOutputs:e.object({capability:e.literal("work.structured-output.v1"),harnessRuntimeHash:u,workHarnessHash:u,schemaHash:u,artifactHash:u,invalidDataRejected:e.literal(!0),invalidBytesRejected:e.literal(!0)}).strict().optional(),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),estimates:e.object({schemaVersion:e.literal("openpond.trainingEstimate.v1")}).strict().optional(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:b,expiresAt:b}).strict(),$e=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),Ne=e.object({binding:G,rewards:e.array(O).min(1).max(100)}).strict();async function At(t){let i=t.rewardExecution?Ne.parse(t.rewardExecution):null,a=$e.parse(i?$(i.binding,i.rewards):t.graders);if(new Set(a.map(n=>n.id)).size!==a.length)throw new Error("Training grader identities must be unique.");let l=await h({schemaVersion:"openpond.trainingGraderSet.v1",graders:a});return{kind:"deterministic",grader:{id:`training-graders-${l.slice(0,32)}`,contentHash:l},composer:i?{id:i.binding.id,contentHash:i.binding.contentHash}:null}}m(At,"deterministicTrainingRewardSource");var Mt="evaluation-source.json",C=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),De=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:T,tasks:e.array(C).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,i)=>{let a=new Set;t.tasks.forEach((l,n)=>{l.split==="train"&&i.addIssue({code:"custom",path:["tasks",n,"split"],message:"Evaluation sources require held-out tasks."}),a.has(l.id)&&i.addIssue({code:"custom",path:["tasks",n,"id"],message:"Evaluation task identities must be unique."}),a.add(l.id)})});function Ut(t,i){let a=e.array(C).min(1).max(1e4).parse(t),l=e.array(C).min(1).max(1e4).parse(i),n=new Set,s=new Set;for(let g of a){if(g.split!=="train")throw new Error("The training population contains a held-out task.");if(n.has(g.id))throw new Error("Training task identities must be unique.");n.add(g.id),s.add(g.clusterKey)}let o=new Set;for(let g of l){if(g.split==="train")throw new Error("The evaluation population contains a training task.");if(o.has(g.id))throw new Error("Evaluation task identities must be unique.");if(n.has(g.id)||s.has(g.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");o.add(g.id)}}m(Ut,"assertTrainingEvaluationIsolation");async function zt(t){let i=De.parse(t),a=await h(i);return{taskset:i.taskset,dataset:{id:`training-evaluation-${a.slice(0,32)}`,contentHash:a}}}m(zt,"trainingEvaluationSourceRef");var r=e.string().trim().min(1).max(200),f=e.string().regex(/^[a-f0-9]{64}$/),P=e.object({id:r,contentHash:f}).strict(),Qt=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:_.nullable()}).strict(),le=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:r,revision:e.number().int().positive(),contentHash:f}).strict(),projectId:r.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:r,configuration:U}).strict()).min(1).max(20),acceptancePlan:K.nullable()}).strict().superRefine((t,i)=>{if(new Set(t.experiments.map(a=>a.id)).size!==t.experiments.length&&i.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((a,l)=>a+l.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&i.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(a=>(a.configuration.request.project?.id??null)!==t.projectId)&&i.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let a=new Set(t.acceptancePlan.checks.map(n=>n.id));t.acceptancePlan.checks.some(n=>!t.experiments.some(s=>s.id===n.id))&&i.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(n=>!a.has(n.id)).reduce((n,s)=>n+s.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&i.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var Fe=e.object({baseline:P,checks:e.array(e.object({id:r,sourceRunId:r,sourceManifestHash:f,targetConfigurationHash:f,executionHash:f,populationHash:f,evaluator:P,feedbackKey:r,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),Qe=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),de=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:r,teamId:r,jobId:r,revision:e.number().int().positive(),planHash:f,automatic:e.boolean(),candidate:P.nullable(),state:Qe,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:r.nullable(),experimentIds:e.array(r).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,i)=>{t.completed+t.failed>t.total&&i.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&i.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Le=e.object({operationId:r,expectedRevision:e.number().int().positive(),planHash:f}).strict(),We=e.object({operationId:r,attachment:le}).strict(),Ke=e.object({id:r,teamId:r,ownerUserId:r,attachment:le,qualification:Fe.nullable(),contentHash:f,createdAt:e.iso.datetime()}).strict();function Xe(t){let i=Ke.parse(t);if(i.contentHash!==X({attachment:i.attachment,qualification:i.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return i}m(Xe,"verifyPostTrainingPlan");function Lt(t){let{request:i}=t,a={accept:"application/json","content-type":"application/json"},l=m(s=>`/v1/training/jobs/${encodeURIComponent(r.parse(s))}/post-training`,"path");async function n(s,o,g){if(s===null)return null;let v=de.parse(s);if(v.teamId!==o||v.jobId!==g)throw new p("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return v}return m(n,"read"),{async attach(s,o){let g=We.parse(o),v=Xe(await i("/v1/training/post-training-plans",{method:"POST",headers:a,body:JSON.stringify(g)}));if(v.teamId!==s||await h(v.attachment)!==await h(g.attachment))throw new p("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return v},async get(s,o){return n(await i(l(o),{headers:a}),s,o)},async control(s,o,g,v){let J=Le.parse(v),A=await n(await i(`${l(o)}/${g}`,{method:"POST",headers:a,body:JSON.stringify(J)}),s,o);if(!A||A.planHash!==J.planHash)throw new p("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return A}}}m(Lt,"createPostTrainingClient");var Wt=e.object({teamId:r,actorId:r,projectId:r.nullable(),configuration:M,batches:e.array(F).max(1e4),sources:e.array(D).max(1e4),definitions:e.array(N).max(1e4),experiments:e.array(e.object({id:r,name:e.string().max(500),configuration:U,graders:e.array(e.object({feedbackKey:r,name:e.string().max(500),ref:P}).strict()).max(100)}).strict()).max(1e4)}).strict(),Kt=e.enum(["hardware-catalog","gpu-catalog","modification-capabilities","estimate","funding","funding-handoff","list-drafts","get-draft","save-draft","archive-draft","prepare","prepare-draft","review-dataset","start","cancel","publish","attach"]),Xt=e.object({teamId:r,actorId:r,configuration:M,policy:Q,inspection:W,iterations:e.array(e.object({iteration:L,evals:de.nullable()}).strict()).max(100),nextCursor:r.nullable()}).strict(),Yt=e.object({id:r,expectedRevision:e.number().int().positive(),policyHash:f,operationId:r,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:r.optional(),iterationRevision:e.number().int().positive().optional()}).strict();export{y as a,Ze as b,ne as c,rt as d,ge as e,ot as f,st as g,fe as h,mt as i,ve as j,Se as k,lt as l,B as m,ut as n,pt as o,xe as p,ye as q,Ie as r,_e as s,St as t,je as u,xt as v,se as w,we as x,Te as y,Re as z,ke as A,ce as B,Ae as C,qe as D,Me as E,Ue as F,ze as G,Ee as H,Ce as I,Be as J,yt as K,It as L,_t as M,jt as N,Ve as O,me as P,V as Q,Je as R,wt as S,Oe as T,Tt as U,Ge as V,Rt as W,kt as X,At as Y,Mt as Z,De as _,Ut as $,zt as aa,Qt as ba,le as ca,de as da,Le as ea,We as fa,Xe as ga,Lt as ha,Wt as ia,Kt as ja,Xt as ka,Yt as la};
2
+ import{E as U}from"./chunk-XKDOPNQ5.js";import{m as X}from"./chunk-HIQPGYVH.js";import{A as te,Q as M,d as Y,e as Z,i as p,l as h,m as q,p as ee,w as c,x as T,y as R}from"./chunk-3VT2PPKW.js";import{D as F,F as Q,I as L,b as _,dc as K,o as N,t as D,wb as W}from"./chunk-ZEOYNUHL.js";import{Ra as O,Wa as G,bb as $}from"./chunk-ZY32SZ2P.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as m}from"./chunk-FTQLQJQV.js";var ie=e.string().trim().min(1).max(240),ue=e.string().trim().min(8).max(256),y=e.object({schemaVersion:e.literal("openpond.sftRecipe.v1"),method:e.literal("sft"),parameterization:e.literal("lora"),baseModel:e.object({id:ie,revision:e.string().trim().min(1).max(256),tokenizerRevision:e.string().trim().min(1).max(256),chatTemplateHash:ue}),dataset:e.object({trainSplit:e.literal("train"),validationSplit:e.enum(["validation","frozen_eval"]),completionOnly:e.boolean(),maxSequenceLength:e.number().int().positive().max(32768),maxExamples:e.number().int().positive().max(1e5).default(1e3),selectionStrategy:e.literal("stable_hash_top_n").default("stable_hash_top_n"),selectionSeed:e.number().int().default(17)}),lora:e.object({rank:e.number().int().positive().max(256),alpha:e.number().positive().max(1024),dropout:e.number().min(0).max(1),targetModules:e.array(ie).min(1).max(100)}),optimizer:e.object({learningRate:e.number().positive(),epochs:e.number().positive().max(100),maxSteps:e.number().int().positive().max(1e6),batchSize:e.number().int().positive().max(1e4),gradientAccumulationSteps:e.number().int().positive().max(1e4),seed:e.number().int()}),resourceLimits:e.object({cpuThreads:e.number().int().positive().max(256),memoryBytes:e.number().int().positive(),wallTimeMs:e.number().int().positive()})}),Ze=y.safeExtend({dataset:y.shape.dataset.safeExtend({completionOnly:e.literal(!0),maxSequenceLength:e.number().int().min(2).max(8192),maxExamples:e.number().int().min(1).max(1e3).default(1e3)}),lora:y.shape.lora.safeExtend({rank:e.number().int().min(1).max(64),dropout:e.number().min(0).lt(1),targetModules:e.array(e.enum(["q_proj","k_proj","v_proj","o_proj","gate_proj","up_proj","down_proj"])).min(1).max(7)}),optimizer:y.shape.optimizer.safeExtend({learningRate:e.number().positive().max(.001),epochs:e.number().positive().max(10),maxSteps:e.number().int().min(1).max(128),batchSize:e.number().int().min(1).max(32),gradientAccumulationSteps:e.number().int().min(1).max(32),seed:e.number().int().min(-(2**31)).max(2**31-1)}),resourceLimits:y.shape.resourceLimits.safeExtend({wallTimeMs:e.number().int().min(1e3).max(216e5)})}).superRefine((t,i)=>{t.optimizer.batchSize*t.optimizer.gradientAccumulationSteps>32&&i.addIssue({code:"custom",path:["optimizer"],message:"Managed SFT supports at most 32 accumulated examples."}),new Set(t.lora.targetModules).size!==t.lora.targetModules.length&&i.addIssue({code:"custom",path:["lora","targetModules"],message:"Adapter target modules must be unique."})});var pe=e.string().regex(/^[a-f0-9]{64}$/),z=e.string().regex(/^(0|[1-9]\d*)(\.\d{1,6})?$/).max(24),ae=m(t=>{let[i,a=""]=z.parse(t).split(".");return BigInt(i)*1000000n+BigInt(a.padEnd(6,"0"))},"micros"),ne=e.object({schemaVersion:e.literal("openpond.computeAppliedPrice.v1"),version:e.string().min(1).max(500),service:e.enum(["managed_rl","model_modification","model_serving","sandbox"]),profileHash:pe,currency:e.literal("USD"),unit:e.literal("resource_hour"),hourlyUsd:z.refine(t=>{if(!z.safeParse(t).success)return!1;let i=ae(t);return i>0n&&i<=BigInt(Number.MAX_SAFE_INTEGER)})}).strict(),rt=e.object({schemaVersion:e.literal("openpond.modificationPrice.v1"),appliedPrice:ne.extend({service:e.literal("model_modification")}),billingBoundary:e.literal("active_allocation_until_verified_cleanup"),startupBillable:e.literal(!0),postCompletionIdleBillable:e.literal(!1),minimumBillableSeconds:e.literal(0),warmReuseSeconds:e.literal(300)}).strict();function ge(t){if(t==null||t.trim()==="")return null;let i=ae(t);if(i<=0n||i>1000000000000n)throw new p("managed_modification_cap_invalid","Choose a positive spending limit of at most 1,000,000 USD, or use available credits.");return`${i/1000000n}.${(i%1000000n).toString().padStart(6,"0")}`}m(ge,"canonicalComputeSpendCap");function ot(t){if(t.maximumSpendUsd!==ge(t.maximumSpendUsd)||t.maximumSpendUsd===null&&!t.computePrice||t.computePrice&&t.computePrice.appliedPrice.profileHash!==t.runtimeHash)throw new p("managed_modification_price_mismatch","Retain the exact reviewed rate, runtime and optional spending limit.")}m(ot,"assertManagedModificationPricing");async function st(t,i){return t.computePrice?i.approvedPriceHash===await h(t.computePrice):i.approvedPriceHash===void 0}m(st,"managedModificationPriceApprovalMatches");var I=e.string().min(1).max(500),w=e.string().regex(/^[a-f0-9]{64}$/),E=ne.extend({service:e.literal("managed_rl")}),re=e.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine(t=>{if(!/^(0|[1-9]\d*)\.\d{6}$/.test(t)||t.length>24)return!1;let i=BigInt(t.replace(".",""));return i>0n&&i<=BigInt(Number.MAX_SAFE_INTEGER)}).nullable(),he=e.array(e.object({profileHash:w,price:E,resources:e.object({cpu:e.number().positive(),memoryGb:e.number().positive(),diskGb:e.number().nonnegative()}).strict()}).strict()).max(32),S=e.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine(t=>/^(0|[1-9]\d*)\.\d{6}$/.test(t)&&t.length<=24&&BigInt(t.replace(".",""))<=BigInt(Number.MAX_SAFE_INTEGER)),be=e.object({billing:e.literal("existing_retail_child_captures"),acceptedPricingHashes:e.array(w).max(64),prices:e.array(e.object({modelId:I,displayName:I,acceptedPricingHash:w,inputUsdPerMillionTokens:S,cachedInputUsdPerMillionTokens:S,outputUsdPerMillionTokens:S,cacheWriteUsdPerMillionTokens:S.nullable(),cacheWriteOneHourUsdPerMillionTokens:S.nullable(),longContextThresholdTokens:e.number().int().positive().nullable(),longContext:e.object({inputUsdPerMillionTokens:S,cachedInputUsdPerMillionTokens:S,outputUsdPerMillionTokens:S,cacheWriteUsdPerMillionTokens:S.nullable()}).strict().nullable()}).strict()).max(64)}).strict(),fe=e.tuple([e.object({mode:e.literal("prepaid_only"),availability:e.literal("available"),reason:e.null()}).strict(),e.object({mode:e.literal("actual_usage"),availability:e.enum(["unavailable","requires_preparation"]),reason:e.string().min(1).max(500).nullable()}).strict()]),mt=e.object({schemaVersion:e.literal("openpond.trainingUsageFundingRequest.v1"),billingMode:e.literal("actual_usage"),customerCapUsd:re}).strict(),ve=e.object({schemaVersion:e.literal("openpond.trainingUsageQuote.v1"),teamId:I,actorUserId:I,preparationId:I,submissionHash:w,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),customerCapUsd:re,maximumWallSeconds:e.number().int().positive(),retentionDays:e.number().int().nonnegative(),gpu:E,guests:he,judges:be,storage:e.object({price:E,storageClass:e.literal("STANDARD"),quantityBasis:e.literal("gib_milliseconds"),onCreditExhaustion:e.literal("retain_objects_and_stop_new_storage")}).strict(),gpuBillingBoundary:e.literal("active_allocation_until_verified_cleanup"),storageBillingBoundary:e.literal("accepted_retention_window"),startupBillable:e.literal(!0),postCompletionIdleBillable:e.literal(!1),minimumBillableSeconds:e.literal(0),issuedAt:e.iso.datetime(),expiresAt:e.iso.datetime()}).strict(),Se=ve.extend({contentHash:w,signature:I}).strict();async function lt(t,i){let a=Se.parse(t),{contentHash:l,signature:n,...s}=a;if(l!==await h(s)||a.teamId!==i.teamId||a.actorUserId!==i.actorUserId||a.preparationId!==i.preparationId||a.submissionHash!==i.submissionHash||a.customerCapUsd!==i.customerCapUsd||Date.parse(a.expiresAt)<=Date.parse(a.issuedAt)||new Set(a.guests.map(o=>o.profileHash)).size!==a.guests.length||a.guests.some(o=>o.profileHash!==o.price.profileHash)||new Set(a.judges.acceptedPricingHashes).size!==a.judges.acceptedPricingHashes.length||new Set(a.judges.prices.map(o=>o.acceptedPricingHash)).size!==a.judges.prices.length||a.judges.prices.length!==a.judges.acceptedPricingHashes.length||a.judges.prices.some(o=>!a.judges.acceptedPricingHashes.includes(o.acceptedPricingHash)))throw new p("training_usage_quote_mismatch","Training prices differ from the reviewed preparation, actor or spending limit.");return a}m(lt,"verifyTrainingUsageQuote");var j=e.string().trim().min(1).max(191),H=e.string().regex(/^[a-f0-9]{64}$/),oe=e.object({schemaVersion:e.literal("openpond.checkpointRecoveryResourceApproval.v1"),ownerUserId:j,teamId:j,sourceJobId:j,sourceJobVersion:e.number().int().positive(),sourceInputManifestSha256:H,checkpointId:j,adapterSha256:H,resumeSha256:H,idempotencyKey:e.string().trim().min(16).max(191),approvedAt:e.iso.datetime({offset:!0}),maximumSpendUsd:e.number().positive().finite().max(30).refine(t=>Number(t.toFixed(6))===t,"Recovery spend must use whole microdollars"),maximumGpuSeconds:e.number().int().positive().max(21600),maximumWallSeconds:e.number().int().positive().max(21600)}).strict(),B=oe.extend({approvalHash:H}).strict().superRefine((t,i)=>{t.maximumGpuSeconds>t.maximumWallSeconds&&i.addIssue({code:"custom",path:["maximumGpuSeconds"],message:"Recovery GPU duration exceeds its wall"})});async function ut(t){let i=oe.parse(t);return B.parse({...i,approvalHash:await h(i)})}m(ut,"createTrainingCheckpointRecoveryResourceApproval");var pt=e.object({resourceApproval:B.optional(),mode:e.literal("evaluation_only").optional(),evaluationGpuType:e.enum(["NVIDIA A100 80GB PCIe","NVIDIA A100-SXM4-80GB","NVIDIA H100 80GB HBM3"]).optional(),expectedVersion:e.number().int().positive(),checkpointId:j,idempotencyKey:e.string().trim().min(16).max(191),maximumSpendUsd:e.number().positive().finite(),maximumWallSeconds:e.number().int().positive().max(21600)}).strict().superRefine((t,i)=>{t.evaluationGpuType&&t.mode!=="evaluation_only"&&i.addIssue({code:"custom",path:["evaluationGpuType"],message:"GPU substitution requires explicit evaluation-only recovery"});let a=t.resourceApproval;a&&(a.sourceJobVersion!==t.expectedVersion||a.checkpointId!==t.checkpointId||a.idempotencyKey!==t.idempotencyKey||a.maximumSpendUsd!==t.maximumSpendUsd||a.maximumWallSeconds!==t.maximumWallSeconds)&&i.addIssue({code:"custom",path:["resourceApproval"],message:"Recovery resource approval does not match its request"})}),xe=e.object({mode:e.literal("reuse_only"),physicalWorkerId:e.string().trim().min(1).max(191),providerPodId:e.string().trim().min(1).max(191),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),baseProfileSha256:e.string().regex(/^[a-f0-9]{64}$/),gpuType:e.string().trim().min(1).max(200),sourceJobId:e.string().trim().min(1).max(191),sourceInputManifestSha256:e.string().regex(/^[a-f0-9]{64}$/),ownerTeamId:e.string().trim().min(1).max(191),deadlineAt:e.string().datetime({offset:!0})}).strict(),k=e.string().datetime({offset:!0}),ye=e.object({ticketId:e.string().trim().min(1).max(191),ticketNumber:e.number().int().positive().max(Number.MAX_SAFE_INTEGER),label:e.literal("Waiting for resources"),position:e.number().int().positive().nullable(),positionScope:e.literal("compatible_fair_queue"),enqueuedAt:k,asOf:k,estimate:e.object({revision:e.number().int().nonnegative(),estimatedStartAt:k,expiresAt:k,evidence:e.enum(["observed_capacity","measured_bootstrap","scheduled_release"])}).strict().nullable()}).strict().superRefine((t,i)=>{t.estimate&&Date.parse(t.estimate.expiresAt)<=Date.parse(t.asOf)&&i.addIssue({code:"custom",path:["estimate"],message:"An expired queue forecast must be returned as unavailable"})}),x=e.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine(t=>/^(0|[1-9]\d*)\.\d{6}$/.test(t)&&t.length<=24&&BigInt(t.replace(".",""))<=BigInt(Number.MAX_SAFE_INTEGER)),Ie=e.object({schemaVersion:e.literal("openpond.trainingUsageSnapshot.v1"),asOf:e.iso.datetime(),customerCapUsd:x.nullable(),chargedUsd:x,committedUsd:x,outstandingUsd:x,remainingCapUsd:x.nullable(),availableCreditUsd:x,complete:e.boolean(),components:e.array(e.object({component:e.enum(["gpu","guest","storage","judge"]),chargedUsd:x,committedUsd:x,outstandingUsd:x,openOwners:e.number().int().nonnegative()}).strict()).length(4).refine(t=>t.every((i,a)=>i.component===["gpu","guest","storage","judge"][a]))}).strict(),d=e.string().trim().min(1).max(500),u=e.string().regex(/^[a-f0-9]{64}$/),b=e.string().datetime({offset:!0}),_e=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:c,payload:e.unknown(),contentHash:u}).strict(),St=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:c,artifactRef:e.string().trim().min(1).max(2e3),contentHash:u,sizeBytes:e.number().int().positive(),createdAt:b}).strict();async function je(t){let{contentHash:i,...a}=t;return h(a)}m(je,"trainingInputArtifactUploadHash");async function xt(t){q(t,Z,"Training input artifact");let i=_e.parse(t),a=await je(i);if(i.contentHash!==a)throw new p("content_hash_mismatch",`Training input artifact contentHash ${i.contentHash} does not match ${a}.`);return i}m(xt,"parseAndVerifyTrainingInputArtifactUpload");var se=e.enum(["reward_model_train","policy_optimize"]),we=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Te=e.object({id:d,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Re=e.object({origin:_.optional(),modelProject:e.object({id:d,portableProjectId:d,revision:e.number().int().positive(),contentHash:u}).strict(),harnessRunManifest:c,harnessRelease:c,taskset:T,tasksetRelease:c,evaluation:e.object({taskset:T,dataset:c}).strict().nullable().optional(),dataset:c,evidenceSets:e.array(c).max(1e4)}).strict(),ke=e.object({kind:e.literal("reward_model_train"),baseModel:R,preferenceDatasetRelease:c,processorRelease:c,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(),He=e.object({kind:e.literal("deterministic"),grader:c,composer:c.nullable().default(null)}).strict(),Pe=e.object({kind:e.literal("learned_reward"),rewardModelVersion:c,qualificationReport:c.nullable().default(null),evaluationReferences:e.array(c).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:u,executionReceipt:c}).strict(),processorRelease:c,rewardComposerRelease:c}).strict(),ce=R.extend({revision:e.string().regex(/^[a-f0-9]{40,64}$/),tokenizerRevision:e.string().regex(/^[a-f0-9]{40,64}$/),chatTemplateHash:u}).strict(),Ae=e.object({kind:e.literal("policy_optimize"),executionMode:e.literal("qualification").optional(),baseModel:R,recipe:te,rewardSource:e.discriminatedUnion("kind",[He,Pe]),resumeFrom:c.nullable().default(null)}).strict().superRefine((t,i)=>{if(t.recipe.method!=="sft")return;let a=y.safeParse(t.recipe);if(!a.success){i.addIssue({code:"custom",path:["recipe"],message:"The SFT recipe is incomplete or invalid."});return}(t.executionMode||t.resumeFrom||"continuation"in t.recipe)&&i.addIssue({code:"custom",message:"Initial managed SFT requires a fresh supervised run without rollout qualification or continuation."}),(a.data.baseModel.id!==t.baseModel.modelId||a.data.baseModel.revision!==t.baseModel.revision||a.data.baseModel.tokenizerRevision!==t.baseModel.tokenizerRevision||a.data.baseModel.chatTemplateHash!==t.baseModel.chatTemplateHash)&&i.addIssue({code:"custom",path:["baseModel"],message:"The SFT recipe must pin the exact submitted base and tokenizer."})}),qe=e.discriminatedUnion("kind",[ke,Ae]),Me=e.object({approvalHash:u,approvedAt:b,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(),Ue=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:Re,job:qe,requestedCapabilities:e.array(Te).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),gpuSelection:ee.optional(),physicalPlacement:xe.optional(),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Me,contentHash:u}).strict().superRefine((t,i)=>{let a=(t.gpuSelection?.gpuCount??1)===2,l=t.requestedCapabilities.some(n=>n.id==="managed_rl.policy.data_parallel"&&n.version==="1"&&n.required);if(a!==l&&i.addIssue({code:"custom",path:["requestedCapabilities"],message:"Two-GPU training must require managed_rl.policy.data_parallel@1 and bind gpuSelection.gpuCount to 2."}),a&&(t.job.kind!=="policy_optimize"||t.job.executionMode||t.job.recipe.method!=="grpo"||t.physicalPlacement)&&i.addIssue({code:"custom",path:["gpuSelection"],message:"Two-GPU execution requires exclusive GRPO policy training."}),t.physicalPlacement&&(t.job.kind!=="policy_optimize"||t.job.resumeFrom||t.job.executionMode||t.job.recipe.continuation!==void 0)&&i.addIssue({code:"custom",path:["physicalPlacement"],message:"Reuse-only placement requires fresh-base policy training without continuation."}),t.job.kind==="policy_optimize"&&t.job.executionMode==="qualification"){let n=t.job;ce.safeParse(n.baseModel).success||i.addIssue({code:"custom",path:["job","baseModel"],message:"Qualification requires immutable model and tokenizer revisions and a SHA-256 chat-template pin."}),(n.resumeFrom||n.recipe.continuation!==void 0||n.rewardSource.kind!=="deterministic"||n.recipe.method!=="grpo")&&i.addIssue({code:"custom",path:["job"],message:"Qualification requires the original GRPO learner, deterministic reward, and no resume or continuation."}),t.requestedCapabilities.some(s=>s.required&&s.id==="managed_rl.policy.qualification"&&s.version==="1")||i.addIssue({code:"custom",path:["requestedCapabilities"],message:"Qualification must require managed_rl.policy.qualification@1."})}t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&i.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function ze(t){let{contentHash:i,...a}=t;return h(a)}m(ze,"trainingJobSubmissionHash");async function Ee(t){q(t,Y,"Training Job submission");let i=Ue.parse(t),a=await ze(i);if(i.contentHash!==a)throw new p("content_hash_mismatch",`Training Job contentHash ${i.contentHash} does not match ${a}.`);return i}m(Ee,"parseAndVerifyTrainingJobSubmission");var Ce=e.object({resourceApproval:B.optional(),mode:e.literal("evaluation_only").optional(),trainingWorkloadComplete:e.boolean().optional(),sourceJobId:d,checkpointId:d,policyVersion:e.number().int().positive(),completedGroups:e.number().int().positive(),optimizerMode:e.literal("continue")}).strict(),Be=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:d,teamId:d,kind:se,executionMode:e.literal("qualification").optional(),recovery:Ce.optional(),modelProjectId:d,portableProjectId:d,sourceProjectRevision:e.number().int().positive(),submissionHash:u,state:we,queue:ye.optional(),phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),usage:Ie.optional(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:b,updatedAt:b,completedAt:b.nullable()}).strict(),yt=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Be).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),It=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:d,jobId:d,sequence:e.number().int().nonnegative(),type:d,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:b}).strict(),_t=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:d,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:b}).strict(),jt=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Ve=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:d,jobId:d,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:u,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:b}).strict(),me=e.object({schemaVersion:e.literal("openpond.trainingQualificationEvidence.v1"),baseModel:ce,group:c,rolloutReceipts:e.array(c).min(1).max(1e3),rewardEvidenceHash:u,groupsCompleted:e.literal(1),optimizerUpdatesApplied:e.literal(0),optimizerUpdatesSkipped:e.literal(0),trainingStepsCreated:e.literal(0),checkpointsCreated:e.literal(0),artifactsCreated:e.literal(0)}).strict().superRefine((t,i)=>{new Set(t.rolloutReceipts.map(a=>a.id)).size!==t.rolloutReceipts.length&&i.addIssue({code:"custom",path:["rolloutReceipts"],message:"Qualification rollout receipt identities must be unique."})}),V=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:d,teamId:d,jobId:d,submissionHash:u,manifestHash:u,recipeHash:u,capabilityHash:u,runtimeRelease:c,inputs:e.array(c).max(1e4),outputs:e.array(c).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),qualification:me.optional(),issuer:d,issuedAt:b,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Je(t){return h(V.parse(t))}m(Je,"trainingExecutionReceiptHash");async function wt(t,i){let a=V.parse(t),l=d.parse(i.id),n=u.parse(i.contentHash),s=await Je(a);if(a.id!==l||s!==n)throw new p("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(i.teamId!==void 0&&a.teamId!==d.parse(i.teamId))throw new p("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(i.jobId!==void 0&&a.jobId!==d.parse(i.jobId))throw new p("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((i.requireCleanup??!0)&&!a.cleanupComplete)throw new p("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");if(i.qualificationSubmission){let o=await Ee(i.qualificationSubmission);if(o.job.kind!=="policy_optimize"||o.job.executionMode!=="qualification")throw new p("qualification_submission_required","Expected an immutable qualification submission.");await Oe(a,{submissionHash:o.contentHash,baseModel:o.job.baseModel,outputs:i.outputs})}return a}m(wt,"parseAndVerifyTrainingExecutionReceipt");async function Oe(t,i){let a=me.parse(t.qualification);if(t.submissionHash!==i.submissionHash||!t.cleanupComplete)throw new p("qualification_receipt_mismatch","Qualification must attest the expected submission and complete cleanup.");if(i.baseModel&&await h(a.baseModel)!==await h(i.baseModel))throw new p("qualification_learner_mismatch","Qualification used a different original learner or tokenizer.");if(i.outputs?.some(l=>["checkpoint","adapter","scorer"].includes(l.kind)))throw new p("qualification_updated_artifact","Qualification must not publish trained artifacts or checkpoints.")}m(Oe,"assertTrainingQualificationReceipt");var Tt=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Ve).max(1e4),receipt:V.nullable()}).strict(),Ge=e.object({workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),envelopeRank:e.number().int().positive().max(256),supportedRanks:e.array(e.number().int().positive().max(256)).max(256),qualification:e.object({evidenceRef:e.string().min(1),evidenceSha256:u}).strict().nullable(),continuation:e.object({sharedRequiresSameRank:e.literal(!0),mergedRequiresSameRank:e.literal(!0),residualAppendRequiresFreeCapacity:e.literal(!0),stageOptimizer:e.literal("reset"),interruptedRecoveryOptimizer:e.literal("restore")}).strict()}).strict().superRefine((t,i)=>{(new Set(t.supportedRanks).size!==t.supportedRanks.length||t.supportedRanks.some(a=>a>t.envelopeRank))&&i.addIssue({code:"custom",path:["supportedRanks"],message:"Supported ranks must be unique and fit the physical adapter envelope."}),t.supportedRanks.length&&!t.qualification&&i.addIssue({code:"custom",path:["qualification"],message:"Advertised ranks require immutable image qualification evidence."})});function Rt(t,i,a){return t.supportedRanks.includes(i)?a?a.mode==="residual_append"?a.parentEnabledRank+i<=t.envelopeRank:a.parentEnabledRank===i:!0:!1}m(Rt,"supportsTrainingPolicyLoraRank");var kt=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:u,jobKinds:e.array(se),methods:e.array(e.string().trim().min(1).max(200)),billingModes:fe.optional(),executionModes:e.array(e.enum(["training","qualification"])).optional(),policyLora:Ge.optional(),policyDataParallel:e.object({capability:e.literal("managed_rl.policy.data_parallel"),version:e.literal("1"),gpuCount:e.literal(2),worldSize:e.literal(2),backend:e.literal("nccl"),allocationMode:e.literal("exclusive"),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),structuredOutputs:e.object({capability:e.literal("work.structured-output.v1"),harnessRuntimeHash:u,workHarnessHash:u,schemaHash:u,artifactHash:u,invalidDataRejected:e.literal(!0),invalidBytesRejected:e.literal(!0)}).strict().optional(),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),estimates:e.object({schemaVersion:e.literal("openpond.trainingEstimate.v1")}).strict().optional(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:b,expiresAt:b}).strict(),$e=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),Ne=e.object({binding:G,rewards:e.array(O).min(1).max(100)}).strict();async function At(t){let i=t.rewardExecution?Ne.parse(t.rewardExecution):null,a=$e.parse(i?$(i.binding,i.rewards):t.graders);if(new Set(a.map(n=>n.id)).size!==a.length)throw new Error("Training grader identities must be unique.");let l=await h({schemaVersion:"openpond.trainingGraderSet.v1",graders:a});return{kind:"deterministic",grader:{id:`training-graders-${l.slice(0,32)}`,contentHash:l},composer:i?{id:i.binding.id,contentHash:i.binding.contentHash}:null}}m(At,"deterministicTrainingRewardSource");var Mt="evaluation-source.json",C=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),De=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:T,tasks:e.array(C).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,i)=>{let a=new Set;t.tasks.forEach((l,n)=>{l.split==="train"&&i.addIssue({code:"custom",path:["tasks",n,"split"],message:"Evaluation sources require held-out tasks."}),a.has(l.id)&&i.addIssue({code:"custom",path:["tasks",n,"id"],message:"Evaluation task identities must be unique."}),a.add(l.id)})});function Ut(t,i){let a=e.array(C).min(1).max(1e4).parse(t),l=e.array(C).min(1).max(1e4).parse(i),n=new Set,s=new Set;for(let g of a){if(g.split!=="train")throw new Error("The training population contains a held-out task.");if(n.has(g.id))throw new Error("Training task identities must be unique.");n.add(g.id),s.add(g.clusterKey)}let o=new Set;for(let g of l){if(g.split==="train")throw new Error("The evaluation population contains a training task.");if(o.has(g.id))throw new Error("Evaluation task identities must be unique.");if(n.has(g.id)||s.has(g.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");o.add(g.id)}}m(Ut,"assertTrainingEvaluationIsolation");async function zt(t){let i=De.parse(t),a=await h(i);return{taskset:i.taskset,dataset:{id:`training-evaluation-${a.slice(0,32)}`,contentHash:a}}}m(zt,"trainingEvaluationSourceRef");var r=e.string().trim().min(1).max(200),f=e.string().regex(/^[a-f0-9]{64}$/),P=e.object({id:r,contentHash:f}).strict(),Qt=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:_.nullable()}).strict(),le=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:r,revision:e.number().int().positive(),contentHash:f}).strict(),projectId:r.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:r,configuration:U}).strict()).min(1).max(20),acceptancePlan:K.nullable()}).strict().superRefine((t,i)=>{if(new Set(t.experiments.map(a=>a.id)).size!==t.experiments.length&&i.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((a,l)=>a+l.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&i.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(a=>(a.configuration.request.project?.id??null)!==t.projectId)&&i.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let a=new Set(t.acceptancePlan.checks.map(n=>n.id));t.acceptancePlan.checks.some(n=>!t.experiments.some(s=>s.id===n.id))&&i.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(n=>!a.has(n.id)).reduce((n,s)=>n+s.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&i.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var Fe=e.object({baseline:P,checks:e.array(e.object({id:r,sourceRunId:r,sourceManifestHash:f,targetConfigurationHash:f,executionHash:f,populationHash:f,evaluator:P,feedbackKey:r,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),Qe=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),de=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:r,teamId:r,jobId:r,revision:e.number().int().positive(),planHash:f,automatic:e.boolean(),candidate:P.nullable(),state:Qe,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:r.nullable(),experimentIds:e.array(r).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,i)=>{t.completed+t.failed>t.total&&i.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&i.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Le=e.object({operationId:r,expectedRevision:e.number().int().positive(),planHash:f}).strict(),We=e.object({operationId:r,attachment:le}).strict(),Ke=e.object({id:r,teamId:r,ownerUserId:r,attachment:le,qualification:Fe.nullable(),contentHash:f,createdAt:e.iso.datetime()}).strict();function Xe(t){let i=Ke.parse(t);if(i.contentHash!==X({attachment:i.attachment,qualification:i.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return i}m(Xe,"verifyPostTrainingPlan");function Lt(t){let{request:i}=t,a={accept:"application/json","content-type":"application/json"},l=m(s=>`/v1/training/jobs/${encodeURIComponent(r.parse(s))}/post-training`,"path");async function n(s,o,g){if(s===null)return null;let v=de.parse(s);if(v.teamId!==o||v.jobId!==g)throw new p("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return v}return m(n,"read"),{async attach(s,o){let g=We.parse(o),v=Xe(await i("/v1/training/post-training-plans",{method:"POST",headers:a,body:JSON.stringify(g)}));if(v.teamId!==s||await h(v.attachment)!==await h(g.attachment))throw new p("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return v},async get(s,o){return n(await i(l(o),{headers:a}),s,o)},async control(s,o,g,v){let J=Le.parse(v),A=await n(await i(`${l(o)}/${g}`,{method:"POST",headers:a,body:JSON.stringify(J)}),s,o);if(!A||A.planHash!==J.planHash)throw new p("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return A}}}m(Lt,"createPostTrainingClient");var Wt=e.object({teamId:r,actorId:r,projectId:r.nullable(),configuration:M,batches:e.array(F).max(1e4),sources:e.array(D).max(1e4),definitions:e.array(N).max(1e4),experiments:e.array(e.object({id:r,name:e.string().max(500),configuration:U,graders:e.array(e.object({feedbackKey:r,name:e.string().max(500),ref:P}).strict()).max(100)}).strict()).max(1e4)}).strict(),Kt=e.enum(["hardware-catalog","gpu-catalog","modification-capabilities","estimate","funding","funding-handoff","list-drafts","get-draft","save-draft","archive-draft","prepare","prepare-draft","save-experiment-learning","review-dataset","start","cancel","publish","attach"]),Xt=e.object({teamId:r,actorId:r,configuration:M,policy:Q,inspection:W,iterations:e.array(e.object({iteration:L,evals:de.nullable()}).strict()).max(100),nextCursor:r.nullable()}).strict(),Yt=e.object({id:r,expectedRevision:e.number().int().positive(),policyHash:f,operationId:r,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:r.optional(),iterationRevision:e.number().int().positive().optional()}).strict();export{y as a,Ze as b,ne as c,rt as d,ge as e,ot as f,st as g,fe as h,mt as i,ve as j,Se as k,lt as l,B as m,ut as n,pt as o,xe as p,ye as q,Ie as r,_e as s,St as t,je as u,xt as v,se as w,we as x,Te as y,Re as z,ke as A,ce as B,Ae as C,qe as D,Me as E,Ue as F,ze as G,Ee as H,Ce as I,Be as J,yt as K,It as L,_t as M,jt as N,Ve as O,me as P,V as Q,Je as R,wt as S,Oe as T,Tt as U,Ge as V,Rt as W,kt as X,At as Y,Mt as Z,De as _,Ut as $,zt as aa,Qt as ba,le as ca,de as da,Le as ea,We as fa,Xe as ga,Lt as ha,Wt as ia,Kt as ja,Xt as ka,Yt as la};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{$i as E,Di as T,Je as p,fe as g,fi as l,ii as h,ji as m,ki as w,qi as f}from"./chunk-6D3FI2XT.js";import{c as a,f as u,h as d}from"./chunk-3M53YXEI.js";import{a as c}from"./chunk-FTQLQJQV.js";var I=new Set(["hosted-neuron-training-capability","hosted-compile-neuron-training","hosted-prepare-neuron-training","hosted-start-neuron-training","hosted-cancel-neuron-training","hosted-neuron-training-execution","hosted-neuron-training-executions","hosted-save-neuron-training-model","hosted-control-neuron-training-serving","hosted-neuron-training-serving"]);async function M(S){let{action:e,target:s,teamId:r,options:t,client:i,readInput:x}=S;if(e==="hosted-neuron-training-execution"){if(!s)throw new Error("Supply the original NeuronTraining execution ID.");return i.getNeuronTrainingExecution(r,s)}if(e==="hosted-neuron-training-executions"){if(s)throw new Error("List NeuronTraining executions using filters.");let n=f.parse(Object.fromEntries(Object.entries({id:a(t,"id")||void 0,projectId:a(t,"projectId")||void 0,phase:a(t,"phase")||void 0,cursor:a(t,"cursor")||void 0,limit:d(t.limit,"--limit")}).filter(([,N])=>N!==void 0)));return i.listNeuronTrainingExecutions(r,n)}let o=await x();if(e==="hosted-neuron-training-serving"){let n=T.parse(o);return i.neuronTrainingModelServing(n.modelProjectId,{teamId:r,versionHash:n.versionHash})}if(e==="hosted-control-neuron-training-serving"){let n=E.parse(o);if(n.request.teamId!==r)throw new Error("Use the Model's original workspace.");if(n.request.action==="activate"&&!u(t.yes))throw new Error("Activating billed serving capacity requires --yes.");return i.controlNeuronTrainingModelServing(n.modelProjectId,n.request)}if(e==="hosted-neuron-training-capability"){let n=g.parse(o);if(n.teamId!==r)throw new Error("Use this input's original workspace.");return i.neuronTrainingExecutionCapability(n)}if(e==="hosted-compile-neuron-training"){let n=l.parse(o);if(n.teamId!==r)throw new Error("Use this input's original workspace.");return i.compileNeuronTrainingExecution(n)}if(e==="hosted-prepare-neuron-training"){let n=h.parse(o);if(n.teamId!==r)throw new Error("Use this input's original workspace.");return i.prepareNeuronTrainingExecution(n)}if(e==="hosted-start-neuron-training"){let n=m.parse(o);if(n.teamId!==r)throw new Error("Use this execution's original workspace.");if(!u(t.yes))throw new Error("Starting paid selective neuron training execution requires --yes.");return i.startNeuronTrainingExecution(n)}if(e==="hosted-cancel-neuron-training"){let n=w.parse(o);if(n.teamId!==r)throw new Error("Use this execution's original workspace.");return i.cancelNeuronTrainingExecution(n)}if(e==="hosted-save-neuron-training-model"){let n=p.parse(o);if(n.teamId!==r)throw new Error("Use this result's original workspace.");return i.saveNeuronTrainingResultModel(n)}throw new Error("Unsupported NeuronTraining command.")}c(M,"runHostedNeuronTrainingCommand");export{I as a,M as b};
2
+ import{Ei as T,Je as p,aj as E,fe as g,gi as l,ji as h,ki as m,li as w,ri as f}from"./chunk-XJU47QS2.js";import{c as a,f as u,h as d}from"./chunk-3M53YXEI.js";import{a as c}from"./chunk-FTQLQJQV.js";var I=new Set(["hosted-neuron-training-capability","hosted-compile-neuron-training","hosted-prepare-neuron-training","hosted-start-neuron-training","hosted-cancel-neuron-training","hosted-neuron-training-execution","hosted-neuron-training-executions","hosted-save-neuron-training-model","hosted-control-neuron-training-serving","hosted-neuron-training-serving"]);async function M(S){let{action:e,target:s,teamId:r,options:t,client:i,readInput:x}=S;if(e==="hosted-neuron-training-execution"){if(!s)throw new Error("Supply the original NeuronTraining execution ID.");return i.getNeuronTrainingExecution(r,s)}if(e==="hosted-neuron-training-executions"){if(s)throw new Error("List NeuronTraining executions using filters.");let n=f.parse(Object.fromEntries(Object.entries({id:a(t,"id")||void 0,projectId:a(t,"projectId")||void 0,phase:a(t,"phase")||void 0,cursor:a(t,"cursor")||void 0,limit:d(t.limit,"--limit")}).filter(([,N])=>N!==void 0)));return i.listNeuronTrainingExecutions(r,n)}let o=await x();if(e==="hosted-neuron-training-serving"){let n=T.parse(o);return i.neuronTrainingModelServing(n.modelProjectId,{teamId:r,versionHash:n.versionHash})}if(e==="hosted-control-neuron-training-serving"){let n=E.parse(o);if(n.request.teamId!==r)throw new Error("Use the Model's original workspace.");if(n.request.action==="activate"&&!u(t.yes))throw new Error("Activating billed serving capacity requires --yes.");return i.controlNeuronTrainingModelServing(n.modelProjectId,n.request)}if(e==="hosted-neuron-training-capability"){let n=g.parse(o);if(n.teamId!==r)throw new Error("Use this input's original workspace.");return i.neuronTrainingExecutionCapability(n)}if(e==="hosted-compile-neuron-training"){let n=l.parse(o);if(n.teamId!==r)throw new Error("Use this input's original workspace.");return i.compileNeuronTrainingExecution(n)}if(e==="hosted-prepare-neuron-training"){let n=h.parse(o);if(n.teamId!==r)throw new Error("Use this input's original workspace.");return i.prepareNeuronTrainingExecution(n)}if(e==="hosted-start-neuron-training"){let n=m.parse(o);if(n.teamId!==r)throw new Error("Use this execution's original workspace.");if(!u(t.yes))throw new Error("Starting paid selective neuron training execution requires --yes.");return i.startNeuronTrainingExecution(n)}if(e==="hosted-cancel-neuron-training"){let n=w.parse(o);if(n.teamId!==r)throw new Error("Use this execution's original workspace.");return i.cancelNeuronTrainingExecution(n)}if(e==="hosted-save-neuron-training-model"){let n=p.parse(o);if(n.teamId!==r)throw new Error("Use this result's original workspace.");return i.saveNeuronTrainingResultModel(n)}throw new Error("Unsupported NeuronTraining command.")}c(M,"runHostedNeuronTrainingCommand");export{I as a,M as b};