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,6 +1,6 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
2
  import{a as Ee}from"./chunk-G4747MOW.js";import{F as ve}from"./chunk-OFJPOTES.js";import{a as B}from"./chunk-BL3CZWWD.js";import{a as Re}from"./chunk-LE75SVEL.js";import{e as Ie}from"./chunk-LZPCA6DH.js";import{b as He,c as ie,w as ne}from"./chunk-ZY32SZ2P.js";import{e as Se,i as Pe,l as be,m as je}from"./chunk-OTDDXEQ6.js";import{l as v,m as fe,n as j}from"./chunk-RCT3O3HQ.js";import{a as c}from"./chunk-FTQLQJQV.js";import{promises as f}from"node:fs";import n from"node:path";import te from"node:path";import{constants as De,promises as D}from"node:fs";import R from"node:path";async function Fe(e){let t=await D.lstat(e);if(t.isSymbolicLink())throw new Error(`Profile source cannot be a symlink: ${e}`);if(t.isFile())return[R.basename(e)];if(!t.isDirectory())throw new Error(`Profile source is not a file or directory: ${e}`);return _(e)}c(Fe,"sourceFilesForImport");function xe(e){for(let t of["agent.ts","index.ts","agent/agent.ts","agent.yaml","agent.yml","agent.json"])if(e.includes(t))return t;return e[0]}c(xe,"selectAgentPrimaryFile");async function $e(e,t){let a=await D.lstat(e);if(!a.isFile()||a.isSymbolicLink())throw new Error(`Harness import source must be a regular non-symlink file: ${e}`);await D.mkdir(R.dirname(t),{recursive:!0}),await D.copyFile(e,t,De.COPYFILE_EXCL)}c($e,"copyRegularFile");function Z(e){let t=R.extname(e).toLowerCase();return[".md",".txt"].includes(t)?t===".md"?"text/markdown":"text/plain":[".json"].includes(t)?"application/json":[".yaml",".yml"].includes(t)?"application/yaml":[".ts",".tsx",".js",".mjs",".cjs"].includes(t)?"text/javascript":t===".py"?"text/x-python":"application/octet-stream"}c(Z,"mediaTypeForPath");async function ee(e,t){let a=R.resolve(e,...t.split("/")),o=R.relative(e,a);if(!o||o.startsWith("..")||R.isAbsolute(o))throw new Error(`Harness source path escapes its root: ${t}`);let s=await D.lstat(a);if(!s.isFile()||s.isSymbolicLink())throw new Error(`Harness source path must be a regular non-symlink file: ${t}`);let r=await D.realpath(a),w=R.relative(await D.realpath(e),r);if(w.startsWith("..")||R.isAbsolute(w))throw new Error(`Harness source path resolves outside its root: ${t}`);return a}c(ee,"resolveContainedRegularFile");async function _(e,t=e){let a=await D.readdir(t,{withFileTypes:!0}),o=[];for(let s of a){if(["node_modules",".git",".openpond"].includes(s.name)||s.name.startsWith(".env"))continue;let r=R.join(t,s.name);if(s.isSymbolicLink())throw new Error(`Harness source cannot contain symlinks: ${R.relative(e,r)}`);if(s.isDirectory())o.push(...await _(e,r));else if(s.isFile())o.push(R.relative(e,r).split(R.sep).join("/"));else throw new Error(`Harness source contains an unsupported entry: ${R.relative(e,r)}`)}return o.sort()}c(_,"listRegularFiles");function H(e){return e.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)||"harness"}c(H,"safeSegment");function Ae(e,t){let a=[];return{async copy(o,s){await $e(o,s);let r=te.relative(e,o),w=te.relative(t,s);r&&!r.startsWith("..")&&!te.isAbsolute(r)&&a.push({releasedPath:w.split(te.sep).join("/"),profileRelativePath:r.split(te.sep).join("/")})},add(o,s){a.push({releasedPath:o,profileRelativePath:s})},policy(o){return a.filter(s=>o.some(r=>r.path===s.releasedPath&&r.visibility==="policy"))}}}c(Ae,"createProfileSourceBindings");var Le=c(e=>e==="evals/catalog.json"||/^evals\/(definitions|suites|tasksets)\//.test(e)||/^workflows\/[^/]+\/evals\//.test(e),"isProfilePrivateEvaluationPath");import{execFile as _e}from"node:child_process";import{promises as L}from"node:fs";import G from"node:path";import{promisify as Ne}from"node:util";var ze=Ne(_e);async function nt(e){let t=G.join(e.runPath,"package.json"),a=await L.lstat(t).catch(()=>null);if(a&&(!a.isFile()||a.isSymbolicLink()))throw new Error("Released Profile Agent package manifest must be a regular file.");a||await L.writeFile(t,`{"type":"module"}
3
- `,{flag:"wx"});let o=await me(e.runPath);if(o){let r=o==="npm"?["ci","--omit=dev","--ignore-scripts","--no-audit","--no-fund"]:["install","--prod","--frozen-lockfile","--ignore-scripts","--config.node-linker=hoisted"];await(e.install??Je)(o,r,e.runPath)}let s=G.join(e.runPath,"node_modules","openpond-agent-sdk");if(!await L.lstat(s).catch(()=>null)){let r=JSON.parse(await L.readFile(t,"utf8"));if({...le(r.dependencies),...le(r.optionalDependencies)}["openpond-agent-sdk"])throw new Error("Released Profile Agent declared an SDK dependency that the locked installation did not provide.");let P=await ve();await L.mkdir(G.dirname(s),{recursive:!0}),await L.symlink(P,s,"dir")}}c(nt,"prepareReleasedProfileActionDependencies");async function me(e){let t=G.join(e,"package.json"),a=await L.lstat(t).catch(()=>null);if(!a)return null;if(!a.isFile()||a.isSymbolicLink())throw new Error("Released Profile Agent package manifest must be a regular file.");let o=JSON.parse(await L.readFile(t,"utf8")),s={...le(o.dependencies),...le(o.optionalDependencies)};if(Object.keys(s).length){for(let[P,u]of Object.entries(s))if(/^(?:file:|link:|workspace:|git\+|https?:)/i.test(u))throw new Error(`Released Profile Agent dependency ${P} must use a portable registry version.`);let r=await We(G.join(e,"package-lock.json")),w=await We(G.join(e,"pnpm-lock.yaml"));if(r===w)throw new Error("Released Profile Agent with third-party dependencies requires exactly one npm or pnpm lockfile.");return r?"npm":"pnpm"}return null}c(me,"inspectReleasedProfileActionDependencies");function le(e){if(e===void 0)return{};if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Released Profile Agent dependencies must be a package map.");let t=Object.entries(e);if(t.some(([a,o])=>!a||typeof o!="string"||!o.trim()))throw new Error("Released Profile Agent dependencies must name portable versions.");return Object.fromEntries(t)}c(le,"dependencyMap");async function We(e){let t=await L.lstat(e).catch(()=>null);if(t&&(!t.isFile()||t.isSymbolicLink()))throw new Error("Released Profile Agent lockfile must be a regular file.");return!!t}c(We,"regularFile");async function Je(e,t,a){try{let o=process.platform==="win32"?`${e}.cmd`:e;await ze(o,t,{cwd:a,timeout:3e5,maxBuffer:1e6,...process.platform==="win32"?{shell:!0}:{}})}catch{throw new Error(`Released Profile Agent locked ${e} dependency installation failed.`)}}c(Je,"installLockedDependencies");var Te="harness.json";async function we(e,t,a,o,s){let r=n.resolve(a.sourcePath),w=[],P=Ae(r,e),u=P.copy,N=new Set((await _(r)).filter(Le)),E=new Set,y=c(i=>{let h=i.id;E.has(h)&&(h=`${h}-${j(i.path).slice(0,8)}`),E.add(h);let b={...i,id:h};return w.push(b),b},"addDeclaration");await f.mkdir(e,{recursive:!0});let ae=n.join(r,"instructions","system.md"),V=await f.lstat(ae).catch(i=>{if(i.code==="ENOENT")return null;throw i});if(V){if(!V.isFile()||V.isSymbolicLink())throw new Error("Profile instructions require an actual regular source file.");await u(ae,n.join(e,"instructions","system.md")),y({id:"instruction-system",kind:"instruction",path:"instructions/system.md",parentId:null,mediaType:"text/markdown",visibility:"policy",portability:"portable"})}for(let i of a.skills.filter(h=>h.enabled)){if(i.validationStatus!=="valid")throw new Error(`Cannot import invalid Profile Skill ${i.name}: ${i.validationMessages.join(" ")}`);let h=n.dirname(n.join(r,i.path)),b=`skills/${H(i.name)}/SKILL.md`;await u(n.join(h,"SKILL.md"),n.join(e,...b.split("/")));let T=y({id:`skill-${H(i.name)}`,kind:"skill",path:b,parentId:null,mediaType:"text/markdown",visibility:"policy",portability:"portable"});for(let p of i.resourceFiles){let O=`skills/${H(i.name)}/${p.split(n.sep).join("/")}`;await u(n.join(h,p),n.join(e,...O.split("/"))),y({id:`skill-resource-${H(i.name)}-${j(p).slice(0,12)}`,kind:"skill_resource",path:O,parentId:T.id,mediaType:Z(O),visibility:"policy",portability:"portable"})}}for(let i of a.agents.filter(h=>h.enabled)){let h=n.resolve(r,i.path),b=await f.realpath(h),T=await f.realpath(r),p=n.relative(T,b);if(p.startsWith("..")||n.isAbsolute(p))throw new Error("Profile Agent source escapes its admitted Profile root.");let O=await f.lstat(h),U=(await Fe(h)).filter(A=>{let C=O.isDirectory()?n.join(b,...A.split("/")):b;return!N.has(n.relative(T,C).split(n.sep).join("/"))});if(U.length===0)throw new Error(`Profile Agent ${i.id} has no source files.`);let Y=xe(U);for(let A of U){let C=`agents/${H(i.id)}/${A}`,Q=(await f.stat(h)).isDirectory()?n.join(h,...A.split("/")):h;await u(Q,n.join(e,...C.split("/"))),y({id:A===Y?`agent-${H(i.id)}`:`agent-asset-${H(i.id)}-${j(A).slice(0,12)}`,kind:A===Y?"agent":"asset",path:C,parentId:null,mediaType:Z(C),visibility:"policy",portability:"portable"})}await me(n.join(e,"agents",H(i.id)))}let X=new Set,se=new Set(a.agents.filter(i=>i.enabled).map(i=>i.id)),W=a.actionCatalog.filter(i=>i.agentId&&se.has(i.agentId)).map(i=>({id:i.id,agentId:H(i.agentId),sourceActionId:i.sourceActionId??i.id,inputSchema:typeof i.inputSchema=="object"&&i.inputSchema!==null?i.inputSchema:{type:"object",additionalProperties:!0}})),re=new Set(W.map(i=>i.id)),z=n.join(r,"workflows","catalog.json"),F=await f.lstat(z).catch(()=>null),l=(await _(r)).filter(i=>i.startsWith("workflows/")),S=l.some(i=>/^workflows\/[^/]+\/(PROMPT\.md|ACTION\.json)$/.test(i));if(S&&F)throw new Error("Authored Workflow packages and legacy workflows/catalog.json cannot coexist; migrate the catalog first.");if(F||S||W.length){if(F&&(!F.isFile()||F.isSymbolicLink()))throw new Error("Profile workflow catalog must be a regular file.");let i=S?Ie({files:new Map(await Promise.all(l.map(async p=>[p,await f.readFile(await ee(r,p),"utf8")]))),skillPaths:new Set(w.filter(p=>p.kind==="skill").map(p=>p.path)),actionIds:re}):null,h=i?Buffer.from(v(i.catalog)):F?await f.readFile(z):Buffer.from(v({schemaVersion:"openpond.profileWorkflows.v1",workflows:[]}));F&&P.add("workflows/catalog.json","workflows/catalog.json");let b=ie({catalog:JSON.parse(h.toString("utf8")),sourcePaths:new Set(w.filter(p=>p.kind==="skill").map(p=>p.path)),actionIds:new Set(W.map(p=>p.id))});for(let p of b.workflows)X.add(p.id);ue(b);let T="workflows/catalog.json";await f.mkdir(n.join(e,"workflows"),{recursive:!0}),await f.writeFile(n.join(e,"workflows","catalog.json"),h,{flag:"wx"});for(let p of i?.referencedPaths??[])await u(n.join(r,...p.split("/")),n.join(e,...p.split("/"))),y({id:`profile-workflow-source-${j(p).slice(0,16)}`,kind:"asset",path:p,parentId:null,mediaType:Z(p),visibility:"policy",portability:"portable"});y({id:"profile-workflows",kind:"workflow",path:T,parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"})}(F||S||W.length)&&(await f.writeFile(n.join(e,"workflows","actions.json"),v({schemaVersion:"openpond.profileWorkflowActions.v1",actions:W}),{flag:"wx"}),y({id:"profile-workflow-actions",kind:"asset",path:"workflows/actions.json",parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"}));let I=n.join(r,"evals","catalog.json"),J=await f.lstat(I).catch(()=>null),$=(await _(r)).filter(i=>/^workflows\/[^/]+\/evals\/[^/]+\.json$/.test(i)||/^evals\/(definitions|suites)\/[^/]+\.json$/.test(i));if(J&&$.length)throw new Error("Authored evaluation definitions and legacy evals/catalog.json cannot coexist; migrate the catalog first.");if(J||$.length){let[{ProfileEvaluationDefinitionSchema:i,ProfileEvaluationSuiteSchema:h,validateProfileEvaluationCatalog:b},{validateTasksetPackage:T}]=await Promise.all([import("./dist-2MKJC6HN.js"),import("./taskset-packages-T6B6HYKZ.js")]);if(J&&(!J.isFile()||J.isSymbolicLink()))throw new Error("Profile evaluation catalog must be a regular file.");let p=[],O=[];for(let g of $){let x=JSON.parse(await f.readFile(await ee(r,g),"utf8"));if(g.startsWith("evals/suites/"))O.push(h.parse(x));else{let M=i.parse(x),K=/^workflows\/([^/]+)\/evals\//.exec(g)?.[1];if(K&&(M.target.kind!=="workflow"||M.target.workflowId!==K))throw new Error(`Profile evaluation ${M.id} must target its containing Workflow ${K}.`);p.push(M)}}let U=$.length?Buffer.from(v({schemaVersion:"openpond.profileEvaluations.v1",definitions:p.sort((g,x)=>g.id.localeCompare(x.id)),suites:O.sort((g,x)=>g.id.localeCompare(x.id))})):await f.readFile(I),{catalog:Y}=b({catalog:JSON.parse(U.toString("utf8")),workflowIds:X,skillPaths:new Set(w.filter(g=>g.kind==="skill").map(g=>g.path)),actionIds:re});await f.mkdir(n.join(e,"evals"),{recursive:!0}),await f.writeFile(n.join(e,"evals","catalog.json"),U,{flag:"wx"});for(let g of $)await u(n.join(r,...g.split("/")),n.join(e,...g.split("/"))),y({id:`profile-evaluation-source-${j(g).slice(0,16)}`,kind:"asset",path:g,parentId:null,mediaType:"application/json",visibility:"verifier",portability:"portable"});y({id:"profile-evaluations",kind:"asset",path:"evals/catalog.json",parentId:null,mediaType:"application/json",visibility:"verifier",portability:"portable"});let A=new Set(Y.definitions.map(g=>g.tasksetRelease.contentHash)),C=n.join(r,"evals","tasksets"),Q=await f.lstat(C).catch(()=>null);if(Q&&(!Q.isDirectory()||Q.isSymbolicLink()))throw new Error("Profile evaluation Taskset directory must be a regular directory.");for(let g of A){let x=n.join(C,`${g}.json`),M=await f.lstat(x).catch(()=>null);if(!M)throw new Error(`Profile evaluation Taskset package ${g} is missing.`);if(!M.isFile()||M.isSymbolicLink())throw new Error("Profile evaluation Taskset package must be a regular file.");let K=T(JSON.parse(await f.readFile(x,"utf8")));if(K.taskset.contentHash!==g||!Y.definitions.some(ye=>ye.tasksetRelease.contentHash===g&&ye.tasksetRelease.id===K.taskset.id))throw new Error("Profile evaluation Taskset package differs from its catalog reference.");let ke=`evals/tasksets/${g}.json`;await u(x,n.join(e,...ke.split("/"))),y({id:`profile-evaluation-taskset-${g.slice(0,16)}`,kind:"asset",path:ke,parentId:null,mediaType:"application/json",visibility:"verifier",portability:"portable"})}}let q=await Be(a,o),k=`dependency-lock/${q.name}`;await f.mkdir(n.join(e,"dependency-lock"),{recursive:!0}),q.sourcePath?await u(q.sourcePath,n.join(e,...k.split("/"))):await f.writeFile(n.join(e,...k.split("/")),v(q.generated),{flag:"wx"}),y({id:"dependency-lock",kind:"dependency_lock",path:k,parentId:null,mediaType:Z(k),visibility:"policy",portability:"portable"}),await f.writeFile(n.join(e,"program.json"),v({runtimeProtocol:"openpond.agent-runtime.v1"}),{flag:"wx"}),y({id:"agent-runtime-program",kind:"program",path:"program.json",parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"});let de=B.parse({schemaVersion:"openpond.harnessSourceManifest.v1",name:t,files:w,toolDeclarations:[],capabilityRequirements:[],lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output","runtime_events","artifacts"],privilegedEvidence:["expected_output","private_verifier"],privateVerifierIsolation:!0},runtimeProtocol:"openpond.agent-runtime.v1",metadata:{importedFrom:"openpond.profile",profileId:a.activeProfile,...s?{profileRepositoryId:s}:{},profileGitHead:o??a.git?.head??null,profileSourceBindings:P.policy(w),profileInstructionSourcePath:"instructions/system.md",excludedEvalCount:a.evals.length,actionConversionPending:a.actionCatalog.length>0}});await f.writeFile(n.join(e,Te),v(de),{flag:"wx"}),await ce(e,t)}c(we,"writeImportedProfileSource");function ue(e){for(let t of e.workflows){let a=ne(t.inputSchema);if(!a.valid)throw new Error(`Profile workflow ${t.id} has an invalid input schema: ${a.issues[0]?.message??"schema mismatch"}`)}}c(ue,"assertProfileWorkflowInputSchemas");async function ce(e,t){let a=n.join(e,Te),o=B.parse(JSON.parse(await f.readFile(a,"utf8")));if(o.files.some(u=>u.kind==="instruction"))return;let s="instructions/system.md";await f.mkdir(n.join(e,"instructions"),{recursive:!0}),await f.writeFile(n.join(e,...s.split("/")),`# ${t}
3
+ `,{flag:"wx"});let o=await me(e.runPath);if(o){let r=o==="npm"?["ci","--omit=dev","--ignore-scripts","--no-audit","--no-fund"]:["install","--prod","--frozen-lockfile","--ignore-scripts","--config.node-linker=hoisted"];await(e.install??Je)(o,r,e.runPath)}let s=G.join(e.runPath,"node_modules","openpond-agent-sdk");if(!await L.lstat(s).catch(()=>null)){let r=JSON.parse(await L.readFile(t,"utf8"));if({...le(r.dependencies),...le(r.optionalDependencies)}["openpond-agent-sdk"])throw new Error("Released Profile Agent declared an SDK dependency that the locked installation did not provide.");let P=await ve();await L.mkdir(G.dirname(s),{recursive:!0}),await L.symlink(P,s,"dir")}}c(nt,"prepareReleasedProfileActionDependencies");async function me(e){let t=G.join(e,"package.json"),a=await L.lstat(t).catch(()=>null);if(!a)return null;if(!a.isFile()||a.isSymbolicLink())throw new Error("Released Profile Agent package manifest must be a regular file.");let o=JSON.parse(await L.readFile(t,"utf8")),s={...le(o.dependencies),...le(o.optionalDependencies)};if(Object.keys(s).length){for(let[P,u]of Object.entries(s))if(/^(?:file:|link:|workspace:|git\+|https?:)/i.test(u))throw new Error(`Released Profile Agent dependency ${P} must use a portable registry version.`);let r=await We(G.join(e,"package-lock.json")),w=await We(G.join(e,"pnpm-lock.yaml"));if(r===w)throw new Error("Released Profile Agent with third-party dependencies requires exactly one npm or pnpm lockfile.");return r?"npm":"pnpm"}return null}c(me,"inspectReleasedProfileActionDependencies");function le(e){if(e===void 0)return{};if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Released Profile Agent dependencies must be a package map.");let t=Object.entries(e);if(t.some(([a,o])=>!a||typeof o!="string"||!o.trim()))throw new Error("Released Profile Agent dependencies must name portable versions.");return Object.fromEntries(t)}c(le,"dependencyMap");async function We(e){let t=await L.lstat(e).catch(()=>null);if(t&&(!t.isFile()||t.isSymbolicLink()))throw new Error("Released Profile Agent lockfile must be a regular file.");return!!t}c(We,"regularFile");async function Je(e,t,a){try{let o=process.platform==="win32"?`${e}.cmd`:e;await ze(o,t,{cwd:a,timeout:3e5,maxBuffer:1e6,...process.platform==="win32"?{shell:!0}:{}})}catch{throw new Error(`Released Profile Agent locked ${e} dependency installation failed.`)}}c(Je,"installLockedDependencies");var Te="harness.json";async function we(e,t,a,o,s){let r=n.resolve(a.sourcePath),w=[],P=Ae(r,e),u=P.copy,N=new Set((await _(r)).filter(Le)),E=new Set,y=c(i=>{let h=i.id;E.has(h)&&(h=`${h}-${j(i.path).slice(0,8)}`),E.add(h);let b={...i,id:h};return w.push(b),b},"addDeclaration");await f.mkdir(e,{recursive:!0});let ae=n.join(r,"instructions","system.md"),V=await f.lstat(ae).catch(i=>{if(i.code==="ENOENT")return null;throw i});if(V){if(!V.isFile()||V.isSymbolicLink())throw new Error("Profile instructions require an actual regular source file.");await u(ae,n.join(e,"instructions","system.md")),y({id:"instruction-system",kind:"instruction",path:"instructions/system.md",parentId:null,mediaType:"text/markdown",visibility:"policy",portability:"portable"})}for(let i of a.skills.filter(h=>h.enabled)){if(i.validationStatus!=="valid")throw new Error(`Cannot import invalid Profile Skill ${i.name}: ${i.validationMessages.join(" ")}`);let h=n.dirname(n.join(r,i.path)),b=`skills/${H(i.name)}/SKILL.md`;await u(n.join(h,"SKILL.md"),n.join(e,...b.split("/")));let T=y({id:`skill-${H(i.name)}`,kind:"skill",path:b,parentId:null,mediaType:"text/markdown",visibility:"policy",portability:"portable"});for(let p of i.resourceFiles){let O=`skills/${H(i.name)}/${p.split(n.sep).join("/")}`;await u(n.join(h,p),n.join(e,...O.split("/"))),y({id:`skill-resource-${H(i.name)}-${j(p).slice(0,12)}`,kind:"skill_resource",path:O,parentId:T.id,mediaType:Z(O),visibility:"policy",portability:"portable"})}}for(let i of a.agents.filter(h=>h.enabled)){let h=n.resolve(r,i.path),b=await f.realpath(h),T=await f.realpath(r),p=n.relative(T,b);if(p.startsWith("..")||n.isAbsolute(p))throw new Error("Profile Agent source escapes its admitted Profile root.");let O=await f.lstat(h),U=(await Fe(h)).filter(A=>{let C=O.isDirectory()?n.join(b,...A.split("/")):b;return!N.has(n.relative(T,C).split(n.sep).join("/"))});if(U.length===0)throw new Error(`Profile Agent ${i.id} has no source files.`);let Y=xe(U);for(let A of U){let C=`agents/${H(i.id)}/${A}`,Q=(await f.stat(h)).isDirectory()?n.join(h,...A.split("/")):h;await u(Q,n.join(e,...C.split("/"))),y({id:A===Y?`agent-${H(i.id)}`:`agent-asset-${H(i.id)}-${j(A).slice(0,12)}`,kind:A===Y?"agent":"asset",path:C,parentId:null,mediaType:Z(C),visibility:"policy",portability:"portable"})}await me(n.join(e,"agents",H(i.id)))}let X=new Set,se=new Set(a.agents.filter(i=>i.enabled).map(i=>i.id)),W=a.actionCatalog.filter(i=>i.agentId&&se.has(i.agentId)).map(i=>({id:i.id,agentId:H(i.agentId),sourceActionId:i.sourceActionId??i.id,inputSchema:typeof i.inputSchema=="object"&&i.inputSchema!==null?i.inputSchema:{type:"object",additionalProperties:!0}})),re=new Set(W.map(i=>i.id)),z=n.join(r,"workflows","catalog.json"),F=await f.lstat(z).catch(()=>null),l=(await _(r)).filter(i=>i.startsWith("workflows/")),S=l.some(i=>/^workflows\/[^/]+\/(PROMPT\.md|ACTION\.json)$/.test(i));if(S&&F)throw new Error("Authored Workflow packages and legacy workflows/catalog.json cannot coexist; migrate the catalog first.");if(F||S||W.length){if(F&&(!F.isFile()||F.isSymbolicLink()))throw new Error("Profile workflow catalog must be a regular file.");let i=S?Ie({files:new Map(await Promise.all(l.map(async p=>[p,await f.readFile(await ee(r,p),"utf8")]))),skillPaths:new Set(w.filter(p=>p.kind==="skill").map(p=>p.path)),actionIds:re}):null,h=i?Buffer.from(v(i.catalog)):F?await f.readFile(z):Buffer.from(v({schemaVersion:"openpond.profileWorkflows.v1",workflows:[]}));F&&P.add("workflows/catalog.json","workflows/catalog.json");let b=ie({catalog:JSON.parse(h.toString("utf8")),sourcePaths:new Set(w.filter(p=>p.kind==="skill").map(p=>p.path)),actionIds:new Set(W.map(p=>p.id))});for(let p of b.workflows)X.add(p.id);ue(b);let T="workflows/catalog.json";await f.mkdir(n.join(e,"workflows"),{recursive:!0}),await f.writeFile(n.join(e,"workflows","catalog.json"),h,{flag:"wx"});for(let p of i?.referencedPaths??[])await u(n.join(r,...p.split("/")),n.join(e,...p.split("/"))),y({id:`profile-workflow-source-${j(p).slice(0,16)}`,kind:"asset",path:p,parentId:null,mediaType:Z(p),visibility:"policy",portability:"portable"});y({id:"profile-workflows",kind:"workflow",path:T,parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"})}(F||S||W.length)&&(await f.writeFile(n.join(e,"workflows","actions.json"),v({schemaVersion:"openpond.profileWorkflowActions.v1",actions:W}),{flag:"wx"}),y({id:"profile-workflow-actions",kind:"asset",path:"workflows/actions.json",parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"}));let I=n.join(r,"evals","catalog.json"),J=await f.lstat(I).catch(()=>null),$=(await _(r)).filter(i=>/^workflows\/[^/]+\/evals\/[^/]+\.json$/.test(i)||/^evals\/(definitions|suites)\/[^/]+\.json$/.test(i));if(J&&$.length)throw new Error("Authored evaluation definitions and legacy evals/catalog.json cannot coexist; migrate the catalog first.");if(J||$.length){let[{ProfileEvaluationDefinitionSchema:i,ProfileEvaluationSuiteSchema:h,validateProfileEvaluationCatalog:b},{validateTasksetPackage:T}]=await Promise.all([import("./dist-C5XFRP53.js"),import("./taskset-packages-GM6IUOTY.js")]);if(J&&(!J.isFile()||J.isSymbolicLink()))throw new Error("Profile evaluation catalog must be a regular file.");let p=[],O=[];for(let g of $){let x=JSON.parse(await f.readFile(await ee(r,g),"utf8"));if(g.startsWith("evals/suites/"))O.push(h.parse(x));else{let M=i.parse(x),K=/^workflows\/([^/]+)\/evals\//.exec(g)?.[1];if(K&&(M.target.kind!=="workflow"||M.target.workflowId!==K))throw new Error(`Profile evaluation ${M.id} must target its containing Workflow ${K}.`);p.push(M)}}let U=$.length?Buffer.from(v({schemaVersion:"openpond.profileEvaluations.v1",definitions:p.sort((g,x)=>g.id.localeCompare(x.id)),suites:O.sort((g,x)=>g.id.localeCompare(x.id))})):await f.readFile(I),{catalog:Y}=b({catalog:JSON.parse(U.toString("utf8")),workflowIds:X,skillPaths:new Set(w.filter(g=>g.kind==="skill").map(g=>g.path)),actionIds:re});await f.mkdir(n.join(e,"evals"),{recursive:!0}),await f.writeFile(n.join(e,"evals","catalog.json"),U,{flag:"wx"});for(let g of $)await u(n.join(r,...g.split("/")),n.join(e,...g.split("/"))),y({id:`profile-evaluation-source-${j(g).slice(0,16)}`,kind:"asset",path:g,parentId:null,mediaType:"application/json",visibility:"verifier",portability:"portable"});y({id:"profile-evaluations",kind:"asset",path:"evals/catalog.json",parentId:null,mediaType:"application/json",visibility:"verifier",portability:"portable"});let A=new Set(Y.definitions.map(g=>g.tasksetRelease.contentHash)),C=n.join(r,"evals","tasksets"),Q=await f.lstat(C).catch(()=>null);if(Q&&(!Q.isDirectory()||Q.isSymbolicLink()))throw new Error("Profile evaluation Taskset directory must be a regular directory.");for(let g of A){let x=n.join(C,`${g}.json`),M=await f.lstat(x).catch(()=>null);if(!M)throw new Error(`Profile evaluation Taskset package ${g} is missing.`);if(!M.isFile()||M.isSymbolicLink())throw new Error("Profile evaluation Taskset package must be a regular file.");let K=T(JSON.parse(await f.readFile(x,"utf8")));if(K.taskset.contentHash!==g||!Y.definitions.some(ye=>ye.tasksetRelease.contentHash===g&&ye.tasksetRelease.id===K.taskset.id))throw new Error("Profile evaluation Taskset package differs from its catalog reference.");let ke=`evals/tasksets/${g}.json`;await u(x,n.join(e,...ke.split("/"))),y({id:`profile-evaluation-taskset-${g.slice(0,16)}`,kind:"asset",path:ke,parentId:null,mediaType:"application/json",visibility:"verifier",portability:"portable"})}}let q=await Be(a,o),k=`dependency-lock/${q.name}`;await f.mkdir(n.join(e,"dependency-lock"),{recursive:!0}),q.sourcePath?await u(q.sourcePath,n.join(e,...k.split("/"))):await f.writeFile(n.join(e,...k.split("/")),v(q.generated),{flag:"wx"}),y({id:"dependency-lock",kind:"dependency_lock",path:k,parentId:null,mediaType:Z(k),visibility:"policy",portability:"portable"}),await f.writeFile(n.join(e,"program.json"),v({runtimeProtocol:"openpond.agent-runtime.v1"}),{flag:"wx"}),y({id:"agent-runtime-program",kind:"program",path:"program.json",parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"});let de=B.parse({schemaVersion:"openpond.harnessSourceManifest.v1",name:t,files:w,toolDeclarations:[],capabilityRequirements:[],lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output","runtime_events","artifacts"],privilegedEvidence:["expected_output","private_verifier"],privateVerifierIsolation:!0},runtimeProtocol:"openpond.agent-runtime.v1",metadata:{importedFrom:"openpond.profile",profileId:a.activeProfile,...s?{profileRepositoryId:s}:{},profileGitHead:o??a.git?.head??null,profileSourceBindings:P.policy(w),profileInstructionSourcePath:"instructions/system.md",excludedEvalCount:a.evals.length,actionConversionPending:a.actionCatalog.length>0}});await f.writeFile(n.join(e,Te),v(de),{flag:"wx"}),await ce(e,t)}c(we,"writeImportedProfileSource");function ue(e){for(let t of e.workflows){let a=ne(t.inputSchema);if(!a.valid)throw new Error(`Profile workflow ${t.id} has an invalid input schema: ${a.issues[0]?.message??"schema mismatch"}`)}}c(ue,"assertProfileWorkflowInputSchemas");async function ce(e,t){let a=n.join(e,Te),o=B.parse(JSON.parse(await f.readFile(a,"utf8")));if(o.files.some(u=>u.kind==="instruction"))return;let s="instructions/system.md";await f.mkdir(n.join(e,"instructions"),{recursive:!0}),await f.writeFile(n.join(e,...s.split("/")),`# ${t}
4
4
 
5
5
  Keep reusable, provider-neutral execution guidance for this Harness here.
6
6
  `,{flag:"wx"});let w=new Set(o.files.map(u=>u.id)).has("instruction-system")?`instruction-system-${j(s).slice(0,8)}`:"instruction-system",P=B.parse({...o,name:t,files:[...o.files,{id:w,kind:"instruction",path:s,parentId:null,mediaType:"text/markdown",visibility:"policy",portability:"portable"}]});await f.writeFile(a,v(P),{flag:"w"})}c(ce,"ensureHarnessInstructionSurface");async function Be(e,t){let a=e.repoPath?n.resolve(e.repoPath):null;if(a)for(let o of["pnpm-lock.yaml","package-lock.json","yarn.lock"]){let s=n.join(a,o),r=await f.lstat(s).catch(()=>null);if(r?.isFile()&&!r.isSymbolicLink())return{name:o,sourcePath:s}}return{name:"profile-import.json",sourcePath:null,generated:{source:"openpond.profile",profileId:e.activeProfile,profileGitHead:t??e.git?.head??null,dependenciesResolved:!1}}}c(Be,"importedDependencyLock");import{randomUUID as ge}from"node:crypto";import{promises as d}from"node:fs";import m from"node:path";var oe="harness.json",Oe=25e7;function Ve(e,t){let a=`${H(t)}-${j(t).slice(0,16)}`,o=m.join(e,"library","harnesses","workspaces",a);return{root:o,source:m.join(o,"source")}}c(Ve,"localHarnessWorkspacePaths");async function xt(e){return pe({...e,initializeSource:c(t=>Ue(t,e.name),"initializeSource")})}c(xt,"createLocalHarnessWorkspace");async function $t(e){if(e.profile.mode!=="local"||!e.profile.sourcePath)throw new Error("Only a loaded local Profile with a source path can be imported.");return pe({...e,compilationWorkspaceId:e.repositoryId?Me(e.repositoryId,e.name):e.id,initializeSource:c(t=>we(t,e.name,e.profile,e.sourceRevision,e.repositoryId),"initializeSource")})}c($t,"importProfileIntoLocalHarnessWorkspace");function Me(e,t){return`profile-source-${j([e,t]).slice(0,24)}`}c(Me,"profileCompilationWorkspaceId");async function At(e){if(e.profile.mode!=="local"||!e.profile.sourcePath)throw new Error("Only a loaded Profile source can be compiled.");let t=m.join(e.storeDir,"library","harnesses","profile-previews");await d.mkdir(t,{recursive:!0});let a=m.join(t,ge());try{await we(a,e.name,e.profile,e.sourceRevision,e.repositoryId);let o=e.repositoryId?Me(e.repositoryId,e.name):e.workspaceId;return await he({workspaceId:o,sourceDir:a})}finally{await d.rm(a,{recursive:!0,force:!0})}}c(At,"compileProfileHarnessSource");async function Lt(e){let t=await he({workspaceId:e.id,sourceDir:e.sourceDir}),a=await e.store.getHarnessWorkspace(e.id);if(a){let o=a.currentChannel.release?await e.store.getHarnessReleaseRecord(a.currentChannel.release.contentHash):null;if(a.ownerScope.id!==e.ownerId||a.sourceRevision!==t.sourceRevision||o?.harnessRelease.contentHash!==t.harnessRelease.contentHash)throw new Error("Configured Harness source changed; use a new workspace ID for the new release.");return}await pe({...e,initializeSource:c(async o=>{await d.mkdir(o,{recursive:!0}),await d.writeFile(m.join(o,oe),v(t.manifest));for(let s of t.sourceFiles){let r=m.join(o,s.path);await d.mkdir(m.dirname(r),{recursive:!0}),await d.writeFile(r,s.bytes)}},"initializeSource")})}c(Lt,"importLocalHarnessWorkspaceSource");async function Wt(e){let t=await e.store.getHarnessReleaseRecord(e.sourceRelease.contentHash);if(!t||t.harnessRelease.id!==e.sourceRelease.id)throw new Error("Harness workspace fork source release is unavailable.");return pe({...e,initializeSource:c(async a=>{await d.cp(m.join(t.bundlePath,"source"),a,{recursive:!0,force:!1,errorOnExist:!0,verbatimSymlinks:!1}),await ce(a,e.name)},"initializeSource")})}c(Wt,"forkLocalHarnessWorkspaceFromRelease");async function pe(e){let t=e.now??(()=>new Date().toISOString()),a=Ve(e.storeDir,e.id),o=m.dirname(a.root);await d.mkdir(o,{recursive:!0});let s=m.join(o,`.${m.basename(a.root)}.creating-${ge()}`),r=m.join(s,"source");try{await e.initializeSource(r),await d.rename(s,a.root)}catch(w){throw await d.rm(s,{recursive:!0,force:!0}).catch(()=>{}),w}try{let w=await he({workspaceId:e.compilationWorkspaceId??e.id,sourceDir:a.source}),P=await qe({storeDir:e.storeDir,workspaceId:e.id,compiled:w,createdAt:t()}),u=t(),N=Re.parse({schemaVersion:"openpond.harnessWorkspace.v1",id:e.id,ownerScope:e.originOwnerScope??{kind:"personal",id:e.ownerId},name:e.name,location:"local",sourceRevision:w.sourceRevision,revision:0,dirty:!1,currentChannel:{name:"personal",release:{id:w.harnessRelease.id,contentHash:w.harnessRelease.contentHash},revision:1},createdAt:u,updatedAt:u,metadata:{...e.originMetadata,sourceLayout:"openpond.harnessSourceManifest.v1",...e.selectionEligible===!1?{selectionEligible:!1}:{}}});return await e.store.createHarnessWorkspaceWithRelease({workspace:N,release:P})}catch(w){throw await d.rm(a.root,{recursive:!0,force:!0}).catch(()=>{}),w}}c(pe,"createLocalHarnessWorkspaceFromInitializer");async function he(e){let t=m.resolve(e.sourceDir),a=m.join(t,oe),o=B.parse(JSON.parse(await d.readFile(a,"utf8"))),s=new Set(o.files.map(l=>l.path)),r=(await _(t)).filter(l=>l!==oe),w=r.filter(l=>!s.has(l)),P=[...s].filter(l=>!r.includes(l));if(w.length||P.length)throw new Error(`Harness source manifest mismatch. Unlisted: ${w.join(", ")||"none"}; missing: ${P.join(", ")||"none"}.`);let u=[];for(let l of o.files){let S=await ee(t,l.path),I=await d.readFile(S);if(I.byteLength>Oe)throw new Error(`Harness source file ${l.path} exceeds ${Oe} bytes.`);u.push({path:l.path,bytes:I,asset:{id:l.id,path:l.path,contentHash:fe(I),sizeBytes:I.byteLength,mediaType:l.mediaType,visibility:l.visibility}})}let N=u.find(({path:l})=>l==="workflows/catalog.json");if(N){let l=o.files.find(k=>k.path===N.path);if(l?.kind!=="workflow"||l.visibility!=="policy")throw new Error("Profile workflow catalog requires a policy-visible workflow declaration.");let S=u.find(({path:k})=>k==="workflows/actions.json"),I=o.files.find(k=>k.path==="workflows/actions.json");if(!S||I?.visibility!=="policy")throw new Error("Profile workflow catalog requires a released action inventory.");let J=He.parse(JSON.parse(new TextDecoder().decode(S.bytes))).actions,$=new Set;for(let k of J){if($.has(k.id))throw new Error(`Duplicate Profile workflow action ${k.id}.`);if($.add(k.id),!ne(k.inputSchema).valid)throw new Error(`Profile workflow action ${k.id} has an invalid input schema.`);if(!o.files.some(de=>de.path.startsWith(`agents/${k.agentId}/`)))throw new Error(`Profile workflow action ${k.id} lacks its Agent source.`)}let q=ie({catalog:JSON.parse(new TextDecoder().decode(N.bytes)),sourcePaths:new Set(o.files.filter(k=>k.kind==="skill").map(k=>k.path)),actionIds:$});ue(q)}let E=j({manifest:o,files:u.map(({path:l,asset:S})=>({path:l,contentHash:S.contentHash,sizeBytes:S.sizeBytes}))}),y=c(l=>u.filter(({path:S})=>o.files.find(I=>I.path===S)?.kind===l).map(({asset:S})=>S),"byKind"),ae=y("dependency_lock")[0],V=y("program")[0],X=o.files.filter(l=>l.portability==="local_only").map(l=>l.id),se=o.files.filter(l=>l.visibility==="host_private").map(l=>l.id),W=[...X.map(l=>`Asset ${l} is local-only.`),...se.map(l=>`Asset ${l} is host-private.`)],re={id:`harness-source-${E.slice(0,24)}`,contentHash:E},z=be({schemaVersion:"openpond.agentSnapshot.v2",id:`agent-snapshot-${j([E,o.toolDeclarations]).slice(0,24)}`,sourceRelease:re,instructions:y("instruction"),skills:y("skill"),agents:y("agent"),toolDeclarations:o.toolDeclarations,capabilityRequirements:o.capabilityRequirements,dependencyLock:ae,portability:{portable:W.length===0,blockers:W,localOnlyAssetRefs:X,hostPrivateAssetRefs:se},metadata:{workspaceId:e.workspaceId,sourceRevision:E,sourceLayout:o.schemaVersion}}),F=je({schemaVersion:"openpond.harnessRelease.v2",id:`harness-${j([z.contentHash,V.contentHash,o.lifecycle]).slice(0,24)}`,agentSnapshot:{id:z.id,contentHash:z.contentHash},program:V,tools:o.toolDeclarations,lifecycle:o.lifecycle,graderInterface:o.graderInterface,files:u.map(({asset:l})=>l),metadata:{runtimeProtocol:o.runtimeProtocol,sourceRevision:E,sourceLayout:o.schemaVersion,...o.metadata.importedFrom==="openpond.profile"?{profile:{id:o.metadata.profileId,sourceRevision:o.metadata.profileGitHead??E,...o.metadata.profileRepositoryId?{repositoryId:o.metadata.profileRepositoryId}:{}}}:{}}});return{manifest:o,sourceRevision:E,agentSnapshot:z,harnessRelease:F,sourceFiles:u}}c(he,"compileLocalHarnessSource");async function qe(e){let t=m.join(e.storeDir,"library","harnesses","releases"),a=m.join(t,e.compiled.harnessRelease.contentHash);await d.mkdir(t,{recursive:!0});let o=m.join(t,`.${e.compiled.harnessRelease.contentHash}.materializing-${ge()}`);try{await d.mkdir(m.join(o,"source"),{recursive:!0});for(let s of e.compiled.sourceFiles){let r=m.join(o,"source",...s.path.split("/"));await d.mkdir(m.dirname(r),{recursive:!0}),await d.writeFile(r,s.bytes,{flag:"wx"})}await d.writeFile(m.join(o,"source",oe),v(e.compiled.manifest),{flag:"wx"}),await d.writeFile(m.join(o,"agent-snapshot.json"),v(e.compiled.agentSnapshot),{flag:"wx"}),await d.writeFile(m.join(o,"harness-release.json"),v(e.compiled.harnessRelease),{flag:"wx"});try{await d.rename(o,a)}catch(s){if(s.code!=="EEXIST"&&s.code!=="ENOTEMPTY")throw s;await Ce(a,e.compiled),await d.rm(o,{recursive:!0,force:!0})}await Ce(a,e.compiled)}catch(s){throw await d.rm(o,{recursive:!0,force:!0}).catch(()=>{}),s}return Ee.parse({schemaVersion:"openpond.localHarnessReleaseRecord.v1",workspaceId:e.workspaceId,sourceRevision:e.compiled.sourceRevision,agentSnapshot:e.compiled.agentSnapshot,harnessRelease:e.compiled.harnessRelease,bundlePath:a,createdAt:e.createdAt})}c(qe,"materializeLocalHarnessRelease");async function Ue(e,t){let a=B.parse({schemaVersion:"openpond.harnessSourceManifest.v1",name:t,files:[{id:"dependency-lock",kind:"dependency_lock",path:"dependency-lock.json",parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"},{id:"agent-runtime-program",kind:"program",path:"program.json",parentId:null,mediaType:"application/json",visibility:"policy",portability:"portable"}],toolDeclarations:[],capabilityRequirements:[],lifecycle:{create:!0,reset:!0,step:!0,collect:!0,destroy:!0,resetScope:"attempt"},graderInterface:{visibleEvidence:["output","runtime_events","artifacts"],privilegedEvidence:["expected_output","private_verifier"],privateVerifierIsolation:!0},runtimeProtocol:"openpond.agent-runtime.v1",metadata:{}});await d.mkdir(e,{recursive:!0}),await d.writeFile(m.join(e,"dependency-lock.json"),v({dependencies:{}}),{flag:"wx"}),await d.writeFile(m.join(e,"program.json"),v({runtimeProtocol:"openpond.agent-runtime.v1"}),{flag:"wx"}),await d.writeFile(m.join(e,oe),v(a),{flag:"wx"}),await ce(e,t)}c(Ue,"writeDefaultHarnessSource");async function Ce(e,t){let a=Se.parse(JSON.parse(await d.readFile(m.join(e,"agent-snapshot.json"),"utf8"))),o=Pe.parse(JSON.parse(await d.readFile(m.join(e,"harness-release.json"),"utf8")));if(a.contentHash!==t.agentSnapshot.contentHash||o.contentHash!==t.harnessRelease.contentHash)throw new Error("Materialized Harness release does not match the compiled immutable objects.");for(let s of t.sourceFiles){let r=await d.readFile(m.join(e,"source",...s.path.split("/")));if(fe(r)!==s.asset.contentHash)throw new Error(`Materialized Harness asset ${s.path} failed hash verification.`)}}c(Ce,"verifyMaterializedRelease");export{Z as a,ee as b,_ as c,H as d,Le as e,nt as f,Ve as g,xt as h,$t as i,At as j,Lt as k,Wt as l,he as m,qe as n};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{r as l}from"./chunk-YI6ME6PU.js";import{a as f}from"./chunk-FTQLQJQV.js";function d(e,s){let{tasks:r,paths:i,policyPaths:c}=p(e.draft,s),o=e.draft.metadata.portableFileInventory,n=e.files.filter(a=>!c.has(a.path)||i.has(a.path)),t=new Set(n.map(a=>a.path));return l({schemaVersion:e.schemaVersion,files:n,draft:{...e.draft,tasks:r,metadata:{...e.draft.metadata,...Array.isArray(o)?{portableFileInventory:o.filter(a=>t.has(a.sourcePath))}:{},localDatasetTaskIds:s}}},Number.POSITIVE_INFINITY)}f(d,"projectLocalDatasetWorkspace");function p(e,s){let r=new Set(s);if(!r.size||r.size!==s.length||s.some(t=>!e.tasks.some(a=>a.id===t)))throw new Error("Select distinct existing local Dataset tasks.");for(let t of e.graderFixtures)r.add(t.taskId);let i=e.tasks.filter(t=>r.has(t.id)),c=new Set(i.flatMap(t=>(t.assets??[]).map(a=>a.artifactRef)));for(let t of e.environment.resources??[])t.kind==="file"&&c.add(t.path);let o=e.metadata.portableFileInventory,n=new Set;if(Array.isArray(o))for(let t of o)t.asset?.visibility==="policy"&&n.add(t.sourcePath);return{tasks:i,paths:c,policyPaths:n}}f(p,"localDatasetProjectionPaths");export{d as a,p as b};
2
+ import{r as l}from"./chunk-GG6PM7TB.js";import{a as f}from"./chunk-FTQLQJQV.js";function d(e,s){let{tasks:r,paths:i,policyPaths:c}=p(e.draft,s),o=e.draft.metadata.portableFileInventory,n=e.files.filter(a=>!c.has(a.path)||i.has(a.path)),t=new Set(n.map(a=>a.path));return l({schemaVersion:e.schemaVersion,files:n,draft:{...e.draft,tasks:r,metadata:{...e.draft.metadata,...Array.isArray(o)?{portableFileInventory:o.filter(a=>t.has(a.sourcePath))}:{},localDatasetTaskIds:s}}},Number.POSITIVE_INFINITY)}f(d,"projectLocalDatasetWorkspace");function p(e,s){let r=new Set(s);if(!r.size||r.size!==s.length||s.some(t=>!e.tasks.some(a=>a.id===t)))throw new Error("Select distinct existing local Dataset tasks.");for(let t of e.graderFixtures)r.add(t.taskId);let i=e.tasks.filter(t=>r.has(t.id)),c=new Set(i.flatMap(t=>(t.assets??[]).map(a=>a.artifactRef)));for(let t of e.environment.resources??[])t.kind==="file"&&c.add(t.path);let o=e.metadata.portableFileInventory,n=new Set;if(Array.isArray(o))for(let t of o)t.asset?.visibility==="policy"&&n.add(t.sourcePath);return{tasks:i,paths:c,policyPaths:n}}f(p,"localDatasetProjectionPaths");export{d as a,p as b};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as Fr,b as Br}from"./chunk-LVXL7T5O.js";import{a as Je,b as He,c as De,f as Vr,g as zr,h as xe,k as ot,l as Ve,m as L}from"./chunk-HIQPGYVH.js";import{j as _t,x as ze}from"./chunk-DXJC3QW7.js";import{a as F,b as Dr}from"./chunk-MTP3B2SU.js";import{d as Mr,g as qr,k as Hr}from"./chunk-I6VMRQF4.js";import{Y as Ie,cb as xr,da as Ae,ha as gt,ja as yt,ka as Cr,oa as Ne,qa as Ce}from"./chunk-D6L6UNUQ.js";import{B as Rr,D as Er,L as ae,M as ve,N as de,O as ht,Q as Ge,R as vt,Rb as Ir,S as le,Tb as Ar,Wb as Nr,ba as Ut,ca as Pr,da as Oe,eb as Or,ja as Tr,l as qe,o as Lt,t as kr,w as jr}from"./chunk-4PUOWSDE.js";import{$a as $r,C as gr,Ca as br,Ra as it,Sa as wr,Wa as nt,aa as yr,ab as Sr,bb as Se,da as Bt,ea as st,fa as _r,ga as Te,ia as pt,j as ft,v as at,x as Ft}from"./chunk-ZY32SZ2P.js";import{A as r}from"./chunk-X2J2P5ZT.js";import{a as n}from"./chunk-FTQLQJQV.js";var Fe=qe.shape.id,ct=r.string().regex(/^[a-f0-9]{64}$/),Ha=r.object({scopeId:Fe,modelId:Fe}).strict(),Kt=r.object({schemaVersion:r.literal("openpond.modelTasksetAuthoring.v1"),owner:Ha,root:qe,parent:qe}).strict(),Mn=r.object({schemaVersion:r.literal("openpond.modelTasksetDraftRequest.v1"),operationId:Fe,modelId:Fe,expectedModelRevision:r.number().int().positive(),sourcePackageHash:ct}).strict(),Lr=r.object({schemaVersion:r.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:Fe,requestHash:ct,sourcePackageHash:ct,sourceTasksetRef:qe,tasksetId:Fe,tasksetRevision:r.number().int().positive(),lineage:Kt,authoringGraph:r.literal("bound").optional()}).strict(),Ur=r.string().min(1).max(1024).refine(e=>!e.includes("\\")&&!e.includes(":")&&!e.includes("\0")&&!e.startsWith("/")&&!e.split("/").some(t=>!t||t==="."||t===".."||t.startsWith(".env")),"Use a relative Taskset file path without environment files."),Da=r.object({path:Ur,sizeBytes:r.number().int().nonnegative(),writable:r.boolean()}).strict(),Kr=r.object({encoding:r.enum(["utf8","base64"]),data:r.string().max(8e6)}).strict(),qn=Da.extend({contentHash:ct,content:Kr}).strict(),Hn=r.object({draftId:Fe,expectedDraftRevision:r.number().int().positive(),path:Ur,expectedFileHash:ct.nullable(),content:Kr.nullable()}).strict();var Fn=r.object({provider:He,model:He,revision:r.string().trim().min(1).max(500).nullable().default(null),artifactHash:De.nullable().default(null),tokenizerRevision:r.string().trim().min(1).max(500).nullable().default(null),chatTemplateHash:De.nullable().default(null)}).strict(),Va=["openpond","codex","claude-code","grok-build","opencode","anthropic","openai","xai","google","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],za=r.templateLiteral(["acp:",r.string().regex(/^[a-z0-9][a-z0-9-]{0,100}$/)]),Fa=r.union([r.enum(Va),za]),bt=r.object({providerId:Fa,modelId:r.string().trim().min(1).max(300)});var kt=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{static{n(this,"_CodeOrName")}};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var a=class extends t{static{n(this,"Name")}constructor(u){if(super(),!e.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=a;var i=class extends t{static{n(this,"_Code")}constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((R,_)=>`${R}${_}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((R,_)=>(_ instanceof a&&(R[_.str]=(R[_.str]||0)+1),R),{})}};e._Code=i,e.nil=new i("");function s(u,...R){let _=[u[0]],j=0;for(;j<R.length;)m(_,R[j]),_.push(u[++j]);return new i(_)}n(s,"_"),e._=s;var f=new i("+");function c(u,...R){let _=[S(u[0])],j=0;for(;j<R.length;)_.push(f),m(_,R[j]),_.push(f,S(u[++j]));return o(_),new i(_)}n(c,"str"),e.str=c;function m(u,R){R instanceof i?u.push(...R._items):R instanceof a?u.push(R):u.push(p(R))}n(m,"addCodeArg"),e.addCodeArg=m;function o(u){let R=1;for(;R<u.length-1;){if(u[R]===f){let _=d(u[R-1],u[R+1]);if(_!==void 0){u.splice(R-1,3,_);continue}u[R++]="+"}R++}}n(o,"optimize");function d(u,R){if(R==='""')return u;if(u==='""')return R;if(typeof u=="string")return R instanceof a||u[u.length-1]!=='"'?void 0:typeof R!="string"?`${u.slice(0,-1)}${R}"`:R[0]==='"'?u.slice(0,-1)+R.slice(1):void 0;if(typeof R=="string"&&R[0]==='"'&&!(u instanceof a))return`"${u}${R.slice(1)}`}n(d,"mergeExprItems");function v(u,R){return R.emptyStr()?u:u.emptyStr()?R:c`${u}${R}`}n(v,"strConcat"),e.strConcat=v;function p(u){return typeof u=="number"||typeof u=="boolean"||u===null?u:S(Array.isArray(u)?u.join(","):u)}n(p,"interpolate");function b(u){return new i(S(u))}n(b,"stringify"),e.stringify=b;function S(u){return JSON.stringify(u).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}n(S,"safeStringify"),e.safeStringify=S;function w(u){return typeof u=="string"&&e.IDENTIFIER.test(u)?new i(`.${u}`):s`[${u}]`}n(w,"getProperty"),e.getProperty=w;function k(u){if(typeof u=="string"&&e.IDENTIFIER.test(u))return new i(`${u}`);throw new Error(`CodeGen: invalid export name: ${u}, use explicit $id name mapping`)}n(k,"getEsmExportName"),e.getEsmExportName=k;function g(u){return new i(u.toString())}n(g,"regexpCode"),e.regexpCode=g}}),Gr=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var t=kt(),a=class extends Error{static{n(this,"ValueError")}constructor(o){super(`CodeGen: "code" for ${o} not defined`),this.value=o.value}},i;(function(o){o[o.Started=0]="Started",o[o.Completed=1]="Completed"})(i||(e.UsedValueState=i={})),e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};var s=class{static{n(this,"Scope")}constructor({prefixes:o,parent:d}={}){this._names={},this._prefixes=o,this._parent=d}toName(o){return o instanceof t.Name?o:this.name(o)}name(o){return new t.Name(this._newName(o))}_newName(o){let d=this._names[o]||this._nameGroup(o);return`${o}${d.index++}`}_nameGroup(o){var d,v;if(!((v=(d=this._parent)===null||d===void 0?void 0:d._prefixes)===null||v===void 0)&&v.has(o)||this._prefixes&&!this._prefixes.has(o))throw new Error(`CodeGen: prefix "${o}" is not allowed in this scope`);return this._names[o]={prefix:o,index:0}}};e.Scope=s;var f=class extends t.Name{static{n(this,"ValueScopeName")}constructor(o,d){super(d),this.prefix=o}setValue(o,{property:d,itemIndex:v}){this.value=o,this.scopePath=(0,t._)`.${new t.Name(d)}[${v}]`}};e.ValueScopeName=f;var c=(0,t._)`\n`,m=class extends s{static{n(this,"ValueScope")}constructor(o){super(o),this._values={},this._scope=o.scope,this.opts={...o,_n:o.lines?c:t.nil}}get(){return this._scope}name(o){return new f(o,this._newName(o))}value(o,d){var v;if(d.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(o),{prefix:b}=p,S=(v=d.key)!==null&&v!==void 0?v:d.ref,w=this._values[b];if(w){let u=w.get(S);if(u)return u}else w=this._values[b]=new Map;w.set(S,p);let k=this._scope[b]||(this._scope[b]=[]),g=k.length;return k[g]=d.ref,p.setValue(d,{property:b,itemIndex:g}),p}getValue(o,d){let v=this._values[o];if(v)return v.get(d)}scopeRefs(o,d=this._values){return this._reduceValues(d,v=>{if(v.scopePath===void 0)throw new Error(`CodeGen: name "${v}" has no value`);return(0,t._)`${o}${v.scopePath}`})}scopeCode(o=this._values,d,v){return this._reduceValues(o,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},d,v)}_reduceValues(o,d,v={},p){let b=t.nil;for(let S in o){let w=o[S];if(!w)continue;let k=v[S]=v[S]||new Map;w.forEach(g=>{if(k.has(g))return;k.set(g,i.Started);let u=d(g);if(u){let R=this.opts.es5?e.varKinds.var:e.varKinds.const;b=(0,t._)`${b}${R} ${g} = ${u};${this.opts._n}`}else if(u=p?.(g))b=(0,t._)`${b}${u}${this.opts._n}`;else throw new a(g);k.set(g,i.Completed)})}return b}};e.ValueScope=m}}),Z=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var t=kt(),a=Gr(),i=kt();Object.defineProperty(e,"_",{enumerable:!0,get:n(function(){return i._},"get")}),Object.defineProperty(e,"str",{enumerable:!0,get:n(function(){return i.str},"get")}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:n(function(){return i.strConcat},"get")}),Object.defineProperty(e,"nil",{enumerable:!0,get:n(function(){return i.nil},"get")}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:n(function(){return i.getProperty},"get")}),Object.defineProperty(e,"stringify",{enumerable:!0,get:n(function(){return i.stringify},"get")}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:n(function(){return i.regexpCode},"get")}),Object.defineProperty(e,"Name",{enumerable:!0,get:n(function(){return i.Name},"get")});var s=Gr();Object.defineProperty(e,"Scope",{enumerable:!0,get:n(function(){return s.Scope},"get")}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:n(function(){return s.ValueScope},"get")}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:n(function(){return s.ValueScopeName},"get")}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:n(function(){return s.varKinds},"get")}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};var f=class{static{n(this,"Node")}optimizeNodes(){return this}optimizeNames(h,O){return this}},c=class extends f{static{n(this,"Def")}constructor(h,O,N){super(),this.varKind=h,this.name=O,this.rhs=N}render({es5:h,_n:O}){let N=h?a.varKinds.var:this.varKind,B=this.rhs===void 0?"":` = ${this.rhs}`;return`${N} ${this.name}${B};`+O}optimizeNames(h,O){if(h[this.name.str])return this.rhs&&(this.rhs=V(this.rhs,h,O)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},m=class extends f{static{n(this,"Assign")}constructor(h,O,N){super(),this.lhs=h,this.rhs=O,this.sideEffects=N}render({_n:h}){return`${this.lhs} = ${this.rhs};`+h}optimizeNames(h,O){if(!(this.lhs instanceof t.Name&&!h[this.lhs.str]&&!this.sideEffects))return this.rhs=V(this.rhs,h,O),this}get names(){let h=this.lhs instanceof t.Name?{}:{...this.lhs.names};return q(h,this.rhs)}},o=class extends m{static{n(this,"AssignOp")}constructor(h,O,N,B){super(h,N,B),this.op=O}render({_n:h}){return`${this.lhs} ${this.op}= ${this.rhs};`+h}},d=class extends f{static{n(this,"Label")}constructor(h){super(),this.label=h,this.names={}}render({_n:h}){return`${this.label}:`+h}},v=class extends f{static{n(this,"Break")}constructor(h){super(),this.label=h,this.names={}}render({_n:h}){return`break${this.label?` ${this.label}`:""};`+h}},p=class extends f{static{n(this,"Throw")}constructor(h){super(),this.error=h}render({_n:h}){return`throw ${this.error};`+h}get names(){return this.error.names}},b=class extends f{static{n(this,"AnyCode")}constructor(h){super(),this.code=h}render({_n:h}){return`${this.code};`+h}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(h,O){return this.code=V(this.code,h,O),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},S=class extends f{static{n(this,"ParentNode")}constructor(h=[]){super(),this.nodes=h}render(h){return this.nodes.reduce((O,N)=>O+N.render(h),"")}optimizeNodes(){let{nodes:h}=this,O=h.length;for(;O--;){let N=h[O].optimizeNodes();Array.isArray(N)?h.splice(O,1,...N):N?h[O]=N:h.splice(O,1)}return h.length>0?this:void 0}optimizeNames(h,O){let{nodes:N}=this,B=N.length;for(;B--;){let J=N[B];J.optimizeNames(h,O)||(G(h,J.names),N.splice(B,1))}return N.length>0?this:void 0}get names(){return this.nodes.reduce((h,O)=>M(h,O.names),{})}},w=class extends S{static{n(this,"BlockNode")}render(h){return"{"+h._n+super.render(h)+"}"+h._n}},k=class extends S{static{n(this,"Root")}},g=class extends w{static{n(this,"Else")}};g.kind="else";var u=class St extends w{static{n(this,"_If")}constructor(O,N){super(N),this.condition=O}render(O){let N=`if(${this.condition})`+super.render(O);return this.else&&(N+="else "+this.else.render(O)),N}optimizeNodes(){super.optimizeNodes();let O=this.condition;if(O===!0)return this.nodes;let N=this.else;if(N){let B=N.optimizeNodes();N=this.else=Array.isArray(B)?new g(B):B}if(N)return O===!1?N instanceof St?N:N.nodes:this.nodes.length?this:new St(Q(O),N instanceof St?[N]:N.nodes);if(!(O===!1||!this.nodes.length))return this}optimizeNames(O,N){var B;if(this.else=(B=this.else)===null||B===void 0?void 0:B.optimizeNames(O,N),!!(super.optimizeNames(O,N)||this.else))return this.condition=V(this.condition,O,N),this}get names(){let O=super.names;return q(O,this.condition),this.else&&M(O,this.else.names),O}};u.kind="if";var R=class extends w{static{n(this,"For")}};R.kind="for";var _=class extends R{static{n(this,"ForLoop")}constructor(h){super(),this.iteration=h}render(h){return`for(${this.iteration})`+super.render(h)}optimizeNames(h,O){if(super.optimizeNames(h,O))return this.iteration=V(this.iteration,h,O),this}get names(){return M(super.names,this.iteration.names)}},j=class extends R{static{n(this,"ForRange")}constructor(h,O,N,B){super(),this.varKind=h,this.name=O,this.from=N,this.to=B}render(h){let O=h.es5?a.varKinds.var:this.varKind,{name:N,from:B,to:J}=this;return`for(${O} ${N}=${B}; ${N}<${J}; ${N}++)`+super.render(h)}get names(){let h=q(super.names,this.from);return q(h,this.to)}},I=class extends R{static{n(this,"ForIter")}constructor(h,O,N,B){super(),this.loop=h,this.varKind=O,this.name=N,this.iterable=B}render(h){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(h)}optimizeNames(h,O){if(super.optimizeNames(h,O))return this.iterable=V(this.iterable,h,O),this}get names(){return M(super.names,this.iterable.names)}},$=class extends w{static{n(this,"Func")}constructor(h,O,N){super(),this.name=h,this.args=O,this.async=N}render(h){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(h)}};$.kind="func";var l=class extends S{static{n(this,"Return")}render(h){return"return "+super.render(h)}};l.kind="return";var y=class extends w{static{n(this,"Try")}render(h){let O="try"+super.render(h);return this.catch&&(O+=this.catch.render(h)),this.finally&&(O+=this.finally.render(h)),O}optimizeNodes(){var h,O;return super.optimizeNodes(),(h=this.catch)===null||h===void 0||h.optimizeNodes(),(O=this.finally)===null||O===void 0||O.optimizeNodes(),this}optimizeNames(h,O){var N,B;return super.optimizeNames(h,O),(N=this.catch)===null||N===void 0||N.optimizeNames(h,O),(B=this.finally)===null||B===void 0||B.optimizeNames(h,O),this}get names(){let h=super.names;return this.catch&&M(h,this.catch.names),this.finally&&M(h,this.finally.names),h}},E=class extends w{static{n(this,"Catch")}constructor(h){super(),this.error=h}render(h){return`catch(${this.error})`+super.render(h)}};E.kind="catch";var T=class extends w{static{n(this,"Finally")}render(h){return"finally"+super.render(h)}};T.kind="finally";var C=class{static{n(this,"CodeGen")}constructor(h,O={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...O,_n:O.lines?`
2
+ import{a as Fr,b as Br}from"./chunk-LVXL7T5O.js";import{a as Je,b as He,c as De,f as Vr,g as zr,h as xe,k as ot,l as Ve,m as L}from"./chunk-HIQPGYVH.js";import{j as _t,x as ze}from"./chunk-3VT2PPKW.js";import{a as F,b as Dr}from"./chunk-MTP3B2SU.js";import{d as Mr,g as qr,k as Hr}from"./chunk-I6VMRQF4.js";import{Y as Ie,cb as xr,da as Ae,ha as gt,ja as yt,ka as Cr,oa as Ne,qa as Ce}from"./chunk-D6L6UNUQ.js";import{B as Rr,D as Er,L as ae,M as ve,N as de,O as ht,Q as Ge,R as vt,Rb as Ir,S as le,Tb as Ar,Wb as Nr,ba as Ut,ca as Pr,da as Oe,eb as Or,ja as Tr,l as qe,o as Lt,t as kr,w as jr}from"./chunk-ZEOYNUHL.js";import{$a as $r,C as gr,Ca as br,Ra as it,Sa as wr,Wa as nt,aa as yr,ab as Sr,bb as Se,da as Bt,ea as st,fa as _r,ga as Te,ia as pt,j as ft,v as at,x as Ft}from"./chunk-ZY32SZ2P.js";import{A as r}from"./chunk-X2J2P5ZT.js";import{a as n}from"./chunk-FTQLQJQV.js";var Fe=qe.shape.id,ct=r.string().regex(/^[a-f0-9]{64}$/),Ha=r.object({scopeId:Fe,modelId:Fe}).strict(),Kt=r.object({schemaVersion:r.literal("openpond.modelTasksetAuthoring.v1"),owner:Ha,root:qe,parent:qe}).strict(),Mn=r.object({schemaVersion:r.literal("openpond.modelTasksetDraftRequest.v1"),operationId:Fe,modelId:Fe,expectedModelRevision:r.number().int().positive(),sourcePackageHash:ct}).strict(),Lr=r.object({schemaVersion:r.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:Fe,requestHash:ct,sourcePackageHash:ct,sourceTasksetRef:qe,tasksetId:Fe,tasksetRevision:r.number().int().positive(),lineage:Kt,authoringGraph:r.literal("bound").optional()}).strict(),Ur=r.string().min(1).max(1024).refine(e=>!e.includes("\\")&&!e.includes(":")&&!e.includes("\0")&&!e.startsWith("/")&&!e.split("/").some(t=>!t||t==="."||t===".."||t.startsWith(".env")),"Use a relative Taskset file path without environment files."),Da=r.object({path:Ur,sizeBytes:r.number().int().nonnegative(),writable:r.boolean()}).strict(),Kr=r.object({encoding:r.enum(["utf8","base64"]),data:r.string().max(8e6)}).strict(),qn=Da.extend({contentHash:ct,content:Kr}).strict(),Hn=r.object({draftId:Fe,expectedDraftRevision:r.number().int().positive(),path:Ur,expectedFileHash:ct.nullable(),content:Kr.nullable()}).strict();var Fn=r.object({provider:He,model:He,revision:r.string().trim().min(1).max(500).nullable().default(null),artifactHash:De.nullable().default(null),tokenizerRevision:r.string().trim().min(1).max(500).nullable().default(null),chatTemplateHash:De.nullable().default(null)}).strict(),Va=["openpond","codex","claude-code","grok-build","opencode","anthropic","openai","xai","google","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],za=r.templateLiteral(["acp:",r.string().regex(/^[a-z0-9][a-z0-9-]{0,100}$/)]),Fa=r.union([r.enum(Va),za]),bt=r.object({providerId:Fa,modelId:r.string().trim().min(1).max(300)});var kt=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{static{n(this,"_CodeOrName")}};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var a=class extends t{static{n(this,"Name")}constructor(u){if(super(),!e.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=a;var i=class extends t{static{n(this,"_Code")}constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((R,_)=>`${R}${_}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((R,_)=>(_ instanceof a&&(R[_.str]=(R[_.str]||0)+1),R),{})}};e._Code=i,e.nil=new i("");function s(u,...R){let _=[u[0]],j=0;for(;j<R.length;)m(_,R[j]),_.push(u[++j]);return new i(_)}n(s,"_"),e._=s;var f=new i("+");function c(u,...R){let _=[S(u[0])],j=0;for(;j<R.length;)_.push(f),m(_,R[j]),_.push(f,S(u[++j]));return o(_),new i(_)}n(c,"str"),e.str=c;function m(u,R){R instanceof i?u.push(...R._items):R instanceof a?u.push(R):u.push(p(R))}n(m,"addCodeArg"),e.addCodeArg=m;function o(u){let R=1;for(;R<u.length-1;){if(u[R]===f){let _=d(u[R-1],u[R+1]);if(_!==void 0){u.splice(R-1,3,_);continue}u[R++]="+"}R++}}n(o,"optimize");function d(u,R){if(R==='""')return u;if(u==='""')return R;if(typeof u=="string")return R instanceof a||u[u.length-1]!=='"'?void 0:typeof R!="string"?`${u.slice(0,-1)}${R}"`:R[0]==='"'?u.slice(0,-1)+R.slice(1):void 0;if(typeof R=="string"&&R[0]==='"'&&!(u instanceof a))return`"${u}${R.slice(1)}`}n(d,"mergeExprItems");function v(u,R){return R.emptyStr()?u:u.emptyStr()?R:c`${u}${R}`}n(v,"strConcat"),e.strConcat=v;function p(u){return typeof u=="number"||typeof u=="boolean"||u===null?u:S(Array.isArray(u)?u.join(","):u)}n(p,"interpolate");function b(u){return new i(S(u))}n(b,"stringify"),e.stringify=b;function S(u){return JSON.stringify(u).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}n(S,"safeStringify"),e.safeStringify=S;function w(u){return typeof u=="string"&&e.IDENTIFIER.test(u)?new i(`.${u}`):s`[${u}]`}n(w,"getProperty"),e.getProperty=w;function k(u){if(typeof u=="string"&&e.IDENTIFIER.test(u))return new i(`${u}`);throw new Error(`CodeGen: invalid export name: ${u}, use explicit $id name mapping`)}n(k,"getEsmExportName"),e.getEsmExportName=k;function g(u){return new i(u.toString())}n(g,"regexpCode"),e.regexpCode=g}}),Gr=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var t=kt(),a=class extends Error{static{n(this,"ValueError")}constructor(o){super(`CodeGen: "code" for ${o} not defined`),this.value=o.value}},i;(function(o){o[o.Started=0]="Started",o[o.Completed=1]="Completed"})(i||(e.UsedValueState=i={})),e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};var s=class{static{n(this,"Scope")}constructor({prefixes:o,parent:d}={}){this._names={},this._prefixes=o,this._parent=d}toName(o){return o instanceof t.Name?o:this.name(o)}name(o){return new t.Name(this._newName(o))}_newName(o){let d=this._names[o]||this._nameGroup(o);return`${o}${d.index++}`}_nameGroup(o){var d,v;if(!((v=(d=this._parent)===null||d===void 0?void 0:d._prefixes)===null||v===void 0)&&v.has(o)||this._prefixes&&!this._prefixes.has(o))throw new Error(`CodeGen: prefix "${o}" is not allowed in this scope`);return this._names[o]={prefix:o,index:0}}};e.Scope=s;var f=class extends t.Name{static{n(this,"ValueScopeName")}constructor(o,d){super(d),this.prefix=o}setValue(o,{property:d,itemIndex:v}){this.value=o,this.scopePath=(0,t._)`.${new t.Name(d)}[${v}]`}};e.ValueScopeName=f;var c=(0,t._)`\n`,m=class extends s{static{n(this,"ValueScope")}constructor(o){super(o),this._values={},this._scope=o.scope,this.opts={...o,_n:o.lines?c:t.nil}}get(){return this._scope}name(o){return new f(o,this._newName(o))}value(o,d){var v;if(d.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let p=this.toName(o),{prefix:b}=p,S=(v=d.key)!==null&&v!==void 0?v:d.ref,w=this._values[b];if(w){let u=w.get(S);if(u)return u}else w=this._values[b]=new Map;w.set(S,p);let k=this._scope[b]||(this._scope[b]=[]),g=k.length;return k[g]=d.ref,p.setValue(d,{property:b,itemIndex:g}),p}getValue(o,d){let v=this._values[o];if(v)return v.get(d)}scopeRefs(o,d=this._values){return this._reduceValues(d,v=>{if(v.scopePath===void 0)throw new Error(`CodeGen: name "${v}" has no value`);return(0,t._)`${o}${v.scopePath}`})}scopeCode(o=this._values,d,v){return this._reduceValues(o,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},d,v)}_reduceValues(o,d,v={},p){let b=t.nil;for(let S in o){let w=o[S];if(!w)continue;let k=v[S]=v[S]||new Map;w.forEach(g=>{if(k.has(g))return;k.set(g,i.Started);let u=d(g);if(u){let R=this.opts.es5?e.varKinds.var:e.varKinds.const;b=(0,t._)`${b}${R} ${g} = ${u};${this.opts._n}`}else if(u=p?.(g))b=(0,t._)`${b}${u}${this.opts._n}`;else throw new a(g);k.set(g,i.Completed)})}return b}};e.ValueScope=m}}),Z=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var t=kt(),a=Gr(),i=kt();Object.defineProperty(e,"_",{enumerable:!0,get:n(function(){return i._},"get")}),Object.defineProperty(e,"str",{enumerable:!0,get:n(function(){return i.str},"get")}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:n(function(){return i.strConcat},"get")}),Object.defineProperty(e,"nil",{enumerable:!0,get:n(function(){return i.nil},"get")}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:n(function(){return i.getProperty},"get")}),Object.defineProperty(e,"stringify",{enumerable:!0,get:n(function(){return i.stringify},"get")}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:n(function(){return i.regexpCode},"get")}),Object.defineProperty(e,"Name",{enumerable:!0,get:n(function(){return i.Name},"get")});var s=Gr();Object.defineProperty(e,"Scope",{enumerable:!0,get:n(function(){return s.Scope},"get")}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:n(function(){return s.ValueScope},"get")}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:n(function(){return s.ValueScopeName},"get")}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:n(function(){return s.varKinds},"get")}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};var f=class{static{n(this,"Node")}optimizeNodes(){return this}optimizeNames(h,O){return this}},c=class extends f{static{n(this,"Def")}constructor(h,O,N){super(),this.varKind=h,this.name=O,this.rhs=N}render({es5:h,_n:O}){let N=h?a.varKinds.var:this.varKind,B=this.rhs===void 0?"":` = ${this.rhs}`;return`${N} ${this.name}${B};`+O}optimizeNames(h,O){if(h[this.name.str])return this.rhs&&(this.rhs=V(this.rhs,h,O)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},m=class extends f{static{n(this,"Assign")}constructor(h,O,N){super(),this.lhs=h,this.rhs=O,this.sideEffects=N}render({_n:h}){return`${this.lhs} = ${this.rhs};`+h}optimizeNames(h,O){if(!(this.lhs instanceof t.Name&&!h[this.lhs.str]&&!this.sideEffects))return this.rhs=V(this.rhs,h,O),this}get names(){let h=this.lhs instanceof t.Name?{}:{...this.lhs.names};return q(h,this.rhs)}},o=class extends m{static{n(this,"AssignOp")}constructor(h,O,N,B){super(h,N,B),this.op=O}render({_n:h}){return`${this.lhs} ${this.op}= ${this.rhs};`+h}},d=class extends f{static{n(this,"Label")}constructor(h){super(),this.label=h,this.names={}}render({_n:h}){return`${this.label}:`+h}},v=class extends f{static{n(this,"Break")}constructor(h){super(),this.label=h,this.names={}}render({_n:h}){return`break${this.label?` ${this.label}`:""};`+h}},p=class extends f{static{n(this,"Throw")}constructor(h){super(),this.error=h}render({_n:h}){return`throw ${this.error};`+h}get names(){return this.error.names}},b=class extends f{static{n(this,"AnyCode")}constructor(h){super(),this.code=h}render({_n:h}){return`${this.code};`+h}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(h,O){return this.code=V(this.code,h,O),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},S=class extends f{static{n(this,"ParentNode")}constructor(h=[]){super(),this.nodes=h}render(h){return this.nodes.reduce((O,N)=>O+N.render(h),"")}optimizeNodes(){let{nodes:h}=this,O=h.length;for(;O--;){let N=h[O].optimizeNodes();Array.isArray(N)?h.splice(O,1,...N):N?h[O]=N:h.splice(O,1)}return h.length>0?this:void 0}optimizeNames(h,O){let{nodes:N}=this,B=N.length;for(;B--;){let J=N[B];J.optimizeNames(h,O)||(G(h,J.names),N.splice(B,1))}return N.length>0?this:void 0}get names(){return this.nodes.reduce((h,O)=>M(h,O.names),{})}},w=class extends S{static{n(this,"BlockNode")}render(h){return"{"+h._n+super.render(h)+"}"+h._n}},k=class extends S{static{n(this,"Root")}},g=class extends w{static{n(this,"Else")}};g.kind="else";var u=class St extends w{static{n(this,"_If")}constructor(O,N){super(N),this.condition=O}render(O){let N=`if(${this.condition})`+super.render(O);return this.else&&(N+="else "+this.else.render(O)),N}optimizeNodes(){super.optimizeNodes();let O=this.condition;if(O===!0)return this.nodes;let N=this.else;if(N){let B=N.optimizeNodes();N=this.else=Array.isArray(B)?new g(B):B}if(N)return O===!1?N instanceof St?N:N.nodes:this.nodes.length?this:new St(Q(O),N instanceof St?[N]:N.nodes);if(!(O===!1||!this.nodes.length))return this}optimizeNames(O,N){var B;if(this.else=(B=this.else)===null||B===void 0?void 0:B.optimizeNames(O,N),!!(super.optimizeNames(O,N)||this.else))return this.condition=V(this.condition,O,N),this}get names(){let O=super.names;return q(O,this.condition),this.else&&M(O,this.else.names),O}};u.kind="if";var R=class extends w{static{n(this,"For")}};R.kind="for";var _=class extends R{static{n(this,"ForLoop")}constructor(h){super(),this.iteration=h}render(h){return`for(${this.iteration})`+super.render(h)}optimizeNames(h,O){if(super.optimizeNames(h,O))return this.iteration=V(this.iteration,h,O),this}get names(){return M(super.names,this.iteration.names)}},j=class extends R{static{n(this,"ForRange")}constructor(h,O,N,B){super(),this.varKind=h,this.name=O,this.from=N,this.to=B}render(h){let O=h.es5?a.varKinds.var:this.varKind,{name:N,from:B,to:J}=this;return`for(${O} ${N}=${B}; ${N}<${J}; ${N}++)`+super.render(h)}get names(){let h=q(super.names,this.from);return q(h,this.to)}},I=class extends R{static{n(this,"ForIter")}constructor(h,O,N,B){super(),this.loop=h,this.varKind=O,this.name=N,this.iterable=B}render(h){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(h)}optimizeNames(h,O){if(super.optimizeNames(h,O))return this.iterable=V(this.iterable,h,O),this}get names(){return M(super.names,this.iterable.names)}},$=class extends w{static{n(this,"Func")}constructor(h,O,N){super(),this.name=h,this.args=O,this.async=N}render(h){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(h)}};$.kind="func";var l=class extends S{static{n(this,"Return")}render(h){return"return "+super.render(h)}};l.kind="return";var y=class extends w{static{n(this,"Try")}render(h){let O="try"+super.render(h);return this.catch&&(O+=this.catch.render(h)),this.finally&&(O+=this.finally.render(h)),O}optimizeNodes(){var h,O;return super.optimizeNodes(),(h=this.catch)===null||h===void 0||h.optimizeNodes(),(O=this.finally)===null||O===void 0||O.optimizeNodes(),this}optimizeNames(h,O){var N,B;return super.optimizeNames(h,O),(N=this.catch)===null||N===void 0||N.optimizeNames(h,O),(B=this.finally)===null||B===void 0||B.optimizeNames(h,O),this}get names(){let h=super.names;return this.catch&&M(h,this.catch.names),this.finally&&M(h,this.finally.names),h}},E=class extends w{static{n(this,"Catch")}constructor(h){super(),this.error=h}render(h){return`catch(${this.error})`+super.render(h)}};E.kind="catch";var T=class extends w{static{n(this,"Finally")}render(h){return"finally"+super.render(h)}};T.kind="finally";var C=class{static{n(this,"CodeGen")}constructor(h,O={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...O,_n:O.lines?`
3
3
  `:""},this._extScope=h,this._scope=new a.Scope({parent:h}),this._nodes=[new k]}toString(){return this._root.render(this.opts)}name(h){return this._scope.name(h)}scopeName(h){return this._extScope.name(h)}scopeValue(h,O){let N=this._extScope.value(h,O);return(this._values[N.prefix]||(this._values[N.prefix]=new Set)).add(N),N}getScopeValue(h,O){return this._extScope.getValue(h,O)}scopeRefs(h){return this._extScope.scopeRefs(h,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(h,O,N,B){let J=this._scope.toName(O);return N!==void 0&&B&&(this._constants[J.str]=N),this._leafNode(new c(h,J,N)),J}const(h,O,N){return this._def(a.varKinds.const,h,O,N)}let(h,O,N){return this._def(a.varKinds.let,h,O,N)}var(h,O,N){return this._def(a.varKinds.var,h,O,N)}assign(h,O,N){return this._leafNode(new m(h,O,N))}add(h,O){return this._leafNode(new o(h,e.operators.ADD,O))}code(h){return typeof h=="function"?h():h!==t.nil&&this._leafNode(new b(h)),this}object(...h){let O=["{"];for(let[N,B]of h)O.length>1&&O.push(","),O.push(N),(N!==B||this.opts.es5)&&(O.push(":"),(0,t.addCodeArg)(O,B));return O.push("}"),new t._Code(O)}if(h,O,N){if(this._blockNode(new u(h)),O&&N)this.code(O).else().code(N).endIf();else if(O)this.code(O).endIf();else if(N)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(h){return this._elseNode(new u(h))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(u,g)}_for(h,O){return this._blockNode(h),O&&this.code(O).endFor(),this}for(h,O){return this._for(new _(h),O)}forRange(h,O,N,B,J=this.opts.es5?a.varKinds.var:a.varKinds.let){let ee=this._scope.toName(h);return this._for(new j(J,ee,O,N),()=>B(ee))}forOf(h,O,N,B=a.varKinds.const){let J=this._scope.toName(h);if(this.opts.es5){let ee=O instanceof t.Name?O:this.var("_arr",O);return this.forRange("_i",0,(0,t._)`${ee}.length`,W=>{this.var(J,(0,t._)`${ee}[${W}]`),N(J)})}return this._for(new I("of",B,J,O),()=>N(J))}forIn(h,O,N,B=this.opts.es5?a.varKinds.var:a.varKinds.const){if(this.opts.ownProperties)return this.forOf(h,(0,t._)`Object.keys(${O})`,N);let J=this._scope.toName(h);return this._for(new I("in",B,J,O),()=>N(J))}endFor(){return this._endBlockNode(R)}label(h){return this._leafNode(new d(h))}break(h){return this._leafNode(new v(h))}return(h){let O=new l;if(this._blockNode(O),this.code(h),O.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(l)}try(h,O,N){if(!O&&!N)throw new Error('CodeGen: "try" without "catch" and "finally"');let B=new y;if(this._blockNode(B),this.code(h),O){let J=this.name("e");this._currNode=B.catch=new E(J),O(J)}return N&&(this._currNode=B.finally=new T,this.code(N)),this._endBlockNode(E,T)}throw(h){return this._leafNode(new p(h))}block(h,O){return this._blockStarts.push(this._nodes.length),h&&this.code(h).endBlock(O),this}endBlock(h){let O=this._blockStarts.pop();if(O===void 0)throw new Error("CodeGen: not in self-balancing block");let N=this._nodes.length-O;if(N<0||h!==void 0&&N!==h)throw new Error(`CodeGen: wrong number of nodes: ${N} vs ${h} expected`);return this._nodes.length=O,this}func(h,O=t.nil,N,B){return this._blockNode(new $(h,O,N)),B&&this.code(B).endFunc(),this}endFunc(){return this._endBlockNode($)}optimize(h=1){for(;h-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(h){return this._currNode.nodes.push(h),this}_blockNode(h){this._currNode.nodes.push(h),this._nodes.push(h)}_endBlockNode(h,O){let N=this._currNode;if(N instanceof h||O&&N instanceof O)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${O?`${h.kind}/${O.kind}`:h.kind}"`)}_elseNode(h){let O=this._currNode;if(!(O instanceof u))throw new Error('CodeGen: "else" without "if"');return this._currNode=O.else=h,this}get _root(){return this._nodes[0]}get _currNode(){let h=this._nodes;return h[h.length-1]}set _currNode(h){let O=this._nodes;O[O.length-1]=h}};e.CodeGen=C;function M(h,O){for(let N in O)h[N]=(h[N]||0)+(O[N]||0);return h}n(M,"addNames");function q(h,O){return O instanceof t._CodeOrName?M(h,O.names):h}n(q,"addExprNames");function V(h,O,N){if(h instanceof t.Name)return B(h);if(!J(h))return h;return new t._Code(h._items.reduce((ee,W)=>(W instanceof t.Name&&(W=B(W)),W instanceof t._Code?ee.push(...W._items):ee.push(W),ee),[]));function B(ee){let W=N[ee.str];return W===void 0||O[ee.str]!==1?ee:(delete O[ee.str],W)}function J(ee){return ee instanceof t._Code&&ee._items.some(W=>W instanceof t.Name&&O[W.str]===1&&N[W.str]!==void 0)}}n(V,"optimizeExpr");function G(h,O){for(let N in O)h[N]=(h[N]||0)-(O[N]||0)}n(G,"subtractNames");function Q(h){return typeof h=="boolean"||typeof h=="number"||h===null?!h:(0,t._)`!${z(h)}`}n(Q,"not"),e.not=Q;var se=H(e.operators.AND);function ie(...h){return h.reduce(se)}n(ie,"and"),e.and=ie;var re=H(e.operators.OR);function A(...h){return h.reduce(re)}n(A,"or"),e.or=A;function H(h){return(O,N)=>O===t.nil?N:N===t.nil?O:(0,t._)`${z(O)} ${h} ${z(N)}`}n(H,"mappend");function z(h){return h instanceof t.Name?h:(0,t._)`(${h})`}n(z,"par")}}),Y=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;var t=Z(),a=kt();function i($){let l={};for(let y of $)l[y]=!0;return l}n(i,"toHash"),e.toHash=i;function s($,l){return typeof l=="boolean"?l:Object.keys(l).length===0?!0:(f($,l),!c(l,$.self.RULES.all))}n(s,"alwaysValidSchema"),e.alwaysValidSchema=s;function f($,l=$.schema){let{opts:y,self:E}=$;if(!y.strictSchema||typeof l=="boolean")return;let T=E.RULES.keywords;for(let C in l)T[C]||I($,`unknown keyword: "${C}"`)}n(f,"checkUnknownRules"),e.checkUnknownRules=f;function c($,l){if(typeof $=="boolean")return!$;for(let y in $)if(l[y])return!0;return!1}n(c,"schemaHasRules"),e.schemaHasRules=c;function m($,l){if(typeof $=="boolean")return!$;for(let y in $)if(y!=="$ref"&&l.all[y])return!0;return!1}n(m,"schemaHasRulesButRef"),e.schemaHasRulesButRef=m;function o({topSchemaRef:$,schemaPath:l},y,E,T){if(!T){if(typeof y=="number"||typeof y=="boolean")return y;if(typeof y=="string")return(0,t._)`${y}`}return(0,t._)`${$}${l}${(0,t.getProperty)(E)}`}n(o,"schemaRefOrVal"),e.schemaRefOrVal=o;function d($){return b(decodeURIComponent($))}n(d,"unescapeFragment"),e.unescapeFragment=d;function v($){return encodeURIComponent(p($))}n(v,"escapeFragment"),e.escapeFragment=v;function p($){return typeof $=="number"?`${$}`:$.replace(/~/g,"~0").replace(/\//g,"~1")}n(p,"escapeJsonPointer"),e.escapeJsonPointer=p;function b($){return $.replace(/~1/g,"/").replace(/~0/g,"~")}n(b,"unescapeJsonPointer"),e.unescapeJsonPointer=b;function S($,l){if(Array.isArray($))for(let y of $)l(y);else l($)}n(S,"eachItem"),e.eachItem=S;function w({mergeNames:$,mergeToName:l,mergeValues:y,resultToName:E}){return(T,C,M,q)=>{let V=M===void 0?C:M instanceof t.Name?(C instanceof t.Name?$(T,C,M):l(T,C,M),M):C instanceof t.Name?(l(T,M,C),C):y(C,M);return q===t.Name&&!(V instanceof t.Name)?E(T,V):V}}n(w,"makeMergeEvaluated"),e.mergeEvaluated={props:w({mergeNames:n(($,l,y)=>$.if((0,t._)`${y} !== true && ${l} !== undefined`,()=>{$.if((0,t._)`${l} === true`,()=>$.assign(y,!0),()=>$.assign(y,(0,t._)`${y} || {}`).code((0,t._)`Object.assign(${y}, ${l})`))}),"mergeNames"),mergeToName:n(($,l,y)=>$.if((0,t._)`${y} !== true`,()=>{l===!0?$.assign(y,!0):($.assign(y,(0,t._)`${y} || {}`),g($,y,l))}),"mergeToName"),mergeValues:n(($,l)=>$===!0?!0:{...$,...l},"mergeValues"),resultToName:k}),items:w({mergeNames:n(($,l,y)=>$.if((0,t._)`${y} !== true && ${l} !== undefined`,()=>$.assign(y,(0,t._)`${l} === true ? true : ${y} > ${l} ? ${y} : ${l}`)),"mergeNames"),mergeToName:n(($,l,y)=>$.if((0,t._)`${y} !== true`,()=>$.assign(y,l===!0?!0:(0,t._)`${y} > ${l} ? ${y} : ${l}`)),"mergeToName"),mergeValues:n(($,l)=>$===!0?!0:Math.max($,l),"mergeValues"),resultToName:n(($,l)=>$.var("items",l),"resultToName")})};function k($,l){if(l===!0)return $.var("props",!0);let y=$.var("props",(0,t._)`{}`);return l!==void 0&&g($,y,l),y}n(k,"evaluatedPropsToName"),e.evaluatedPropsToName=k;function g($,l,y){Object.keys(y).forEach(E=>$.assign((0,t._)`${l}${(0,t.getProperty)(E)}`,!0))}n(g,"setEvaluated"),e.setEvaluated=g;var u={};function R($,l){return $.scopeValue("func",{ref:l,code:u[l.code]||(u[l.code]=new a._Code(l.code))})}n(R,"useFunc"),e.useFunc=R;var _;(function($){$[$.Num=0]="Num",$[$.Str=1]="Str"})(_||(e.Type=_={}));function j($,l,y){if($ instanceof t.Name){let E=l===_.Num;return y?E?(0,t._)`"[" + ${$} + "]"`:(0,t._)`"['" + ${$} + "']"`:E?(0,t._)`"/" + ${$}`:(0,t._)`"/" + ${$}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return y?(0,t.getProperty)($).toString():"/"+p($)}n(j,"getErrorPath"),e.getErrorPath=j;function I($,l,y=$.opts.strictSchema){if(y){if(l=`strict mode: ${l}`,y===!0)throw new Error(l);$.self.logger.warn(l)}}n(I,"checkStrictMode"),e.checkStrictMode=I}}),_e=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Z(),a={data:new t.Name("data"),valCxt:new t.Name("valCxt"),instancePath:new t.Name("instancePath"),parentData:new t.Name("parentData"),parentDataProperty:new t.Name("parentDataProperty"),rootData:new t.Name("rootData"),dynamicAnchors:new t.Name("dynamicAnchors"),vErrors:new t.Name("vErrors"),errors:new t.Name("errors"),this:new t.Name("this"),self:new t.Name("self"),scope:new t.Name("scope"),json:new t.Name("json"),jsonPos:new t.Name("jsonPos"),jsonLen:new t.Name("jsonLen"),jsonPart:new t.Name("jsonPart")};e.default=a}}),Et=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;var t=Z(),a=Y(),i=_e();e.keywordError={message:n(({keyword:g})=>(0,t.str)`must pass "${g}" keyword validation`,"message")},e.keyword$DataError={message:n(({keyword:g,schemaType:u})=>u?(0,t.str)`"${g}" keyword must be ${u} ($data)`:(0,t.str)`"${g}" keyword is invalid ($data)`,"message")};function s(g,u=e.keywordError,R,_){let{it:j}=g,{gen:I,compositeRule:$,allErrors:l}=j,y=p(g,u,R);_??($||l)?o(I,y):d(j,(0,t._)`[${y}]`)}n(s,"reportError"),e.reportError=s;function f(g,u=e.keywordError,R){let{it:_}=g,{gen:j,compositeRule:I,allErrors:$}=_,l=p(g,u,R);o(j,l),I||$||d(_,i.default.vErrors)}n(f,"reportExtraError"),e.reportExtraError=f;function c(g,u){g.assign(i.default.errors,u),g.if((0,t._)`${i.default.vErrors} !== null`,()=>g.if(u,()=>g.assign((0,t._)`${i.default.vErrors}.length`,u),()=>g.assign(i.default.vErrors,null)))}n(c,"resetErrorsCount"),e.resetErrorsCount=c;function m({gen:g,keyword:u,schemaValue:R,data:_,errsCount:j,it:I}){if(j===void 0)throw new Error("ajv implementation error");let $=g.name("err");g.forRange("i",j,i.default.errors,l=>{g.const($,(0,t._)`${i.default.vErrors}[${l}]`),g.if((0,t._)`${$}.instancePath === undefined`,()=>g.assign((0,t._)`${$}.instancePath`,(0,t.strConcat)(i.default.instancePath,I.errorPath))),g.assign((0,t._)`${$}.schemaPath`,(0,t.str)`${I.errSchemaPath}/${u}`),I.opts.verbose&&(g.assign((0,t._)`${$}.schema`,R),g.assign((0,t._)`${$}.data`,_))})}n(m,"extendErrors"),e.extendErrors=m;function o(g,u){let R=g.const("err",u);g.if((0,t._)`${i.default.vErrors} === null`,()=>g.assign(i.default.vErrors,(0,t._)`[${R}]`),(0,t._)`${i.default.vErrors}.push(${R})`),g.code((0,t._)`${i.default.errors}++`)}n(o,"addError");function d(g,u){let{gen:R,validateName:_,schemaEnv:j}=g;j.$async?R.throw((0,t._)`new ${g.ValidationError}(${u})`):(R.assign((0,t._)`${_}.errors`,u),R.return(!1))}n(d,"returnErrors");var v={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function p(g,u,R){let{createErrors:_}=g.it;return _===!1?(0,t._)`{}`:b(g,u,R)}n(p,"errorObjectCode");function b(g,u,R={}){let{gen:_,it:j}=g,I=[S(j,R),w(g,R)];return k(g,u,I),_.object(...I)}n(b,"errorObject");function S({errorPath:g},{instancePath:u}){let R=u?(0,t.str)`${g}${(0,a.getErrorPath)(u,a.Type.Str)}`:g;return[i.default.instancePath,(0,t.strConcat)(i.default.instancePath,R)]}n(S,"errorInstancePath");function w({keyword:g,it:{errSchemaPath:u}},{schemaPath:R,parentSchema:_}){let j=_?u:(0,t.str)`${u}/${g}`;return R&&(j=(0,t.str)`${j}${(0,a.getErrorPath)(R,a.Type.Str)}`),[v.schemaPath,j]}n(w,"errorSchemaPath");function k(g,{params:u,message:R},_){let{keyword:j,data:I,schemaValue:$,it:l}=g,{opts:y,propertyName:E,topSchemaRef:T,schemaPath:C}=l;_.push([v.keyword,j],[v.params,typeof u=="function"?u(g):u||(0,t._)`{}`]),y.messages&&_.push([v.message,typeof R=="function"?R(g):R]),y.verbose&&_.push([v.schema,$],[v.parentSchema,(0,t._)`${T}${C}`],[i.default.data,I]),E&&_.push([v.propertyName,E])}n(k,"extraErrorProps")}}),Ba=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.boolOrEmptySchema=e.topBoolOrEmptySchema=void 0;var t=Et(),a=Z(),i=_e(),s={message:"boolean schema is false"};function f(o){let{gen:d,schema:v,validateName:p}=o;v===!1?m(o,!1):typeof v=="object"&&v.$async===!0?d.return(i.default.data):(d.assign((0,a._)`${p}.errors`,null),d.return(!0))}n(f,"topBoolOrEmptySchema"),e.topBoolOrEmptySchema=f;function c(o,d){let{gen:v,schema:p}=o;p===!1?(v.var(d,!1),m(o)):v.var(d,!0)}n(c,"boolOrEmptySchema"),e.boolOrEmptySchema=c;function m(o,d){let{gen:v,data:p}=o,b={gen:v,keyword:"false schema",data:p,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:o};(0,t.reportError)(b,s,void 0,d)}n(m,"falseSchemaError")}}),Zr=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getRules=e.isJSONType=void 0;var t=["string","number","integer","boolean","null","object","array"],a=new Set(t);function i(f){return typeof f=="string"&&a.has(f)}n(i,"isJSONType"),e.isJSONType=i;function s(){let f={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...f,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},f.number,f.string,f.array,f.object],post:{rules:[]},all:{},keywords:{}}}n(s,"getRules"),e.getRules=s}}),Qr=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.shouldUseRule=e.shouldUseGroup=e.schemaHasRulesForType=void 0;function t({schema:s,self:f},c){let m=f.RULES.types[c];return m&&m!==!0&&a(s,m)}n(t,"schemaHasRulesForType"),e.schemaHasRulesForType=t;function a(s,f){return f.rules.some(c=>i(s,c))}n(a,"shouldUseGroup"),e.shouldUseGroup=a;function i(s,f){var c;return s[f.keyword]!==void 0||((c=f.definition.implements)===null||c===void 0?void 0:c.some(m=>s[m]!==void 0))}n(i,"shouldUseRule"),e.shouldUseRule=i}}),jt=F({"../../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;var t=Zr(),a=Qr(),i=Et(),s=Z(),f=Y(),c;(function(_){_[_.Correct=0]="Correct",_[_.Wrong=1]="Wrong"})(c||(e.DataType=c={}));function m(_){let j=o(_.type);if(j.includes("null")){if(_.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!j.length&&_.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');_.nullable===!0&&j.push("null")}return j}n(m,"getSchemaTypes"),e.getSchemaTypes=m;function o(_){let j=Array.isArray(_)?_:_?[_]:[];if(j.every(t.isJSONType))return j;throw new Error("type must be JSONType or JSONType[]: "+j.join(","))}n(o,"getJSONTypes"),e.getJSONTypes=o;function d(_,j){let{gen:I,data:$,opts:l}=_,y=p(j,l.coerceTypes),E=j.length>0&&!(y.length===0&&j.length===1&&(0,a.schemaHasRulesForType)(_,j[0]));if(E){let T=k(j,$,l.strictNumbers,c.Wrong);I.if(T,()=>{y.length?b(_,j,y):u(_)})}return E}n(d,"coerceAndCheckDataType"),e.coerceAndCheckDataType=d;var v=new Set(["string","number","integer","boolean","null"]);function p(_,j){return j?_.filter(I=>v.has(I)||j==="array"&&I==="array"):[]}n(p,"coerceToTypes");function b(_,j,I){let{gen:$,data:l,opts:y}=_,E=$.let("dataType",(0,s._)`typeof ${l}`),T=$.let("coerced",(0,s._)`undefined`);y.coerceTypes==="array"&&$.if((0,s._)`${E} == 'object' && Array.isArray(${l}) && ${l}.length == 1`,()=>$.assign(l,(0,s._)`${l}[0]`).assign(E,(0,s._)`typeof ${l}`).if(k(j,l,y.strictNumbers),()=>$.assign(T,l))),$.if((0,s._)`${T} !== undefined`);for(let M of I)(v.has(M)||M==="array"&&y.coerceTypes==="array")&&C(M);$.else(),u(_),$.endIf(),$.if((0,s._)`${T} !== undefined`,()=>{$.assign(l,T),S(_,T)});function C(M){switch(M){case"string":$.elseIf((0,s._)`${E} == "number" || ${E} == "boolean"`).assign(T,(0,s._)`"" + ${l}`).elseIf((0,s._)`${l} === null`).assign(T,(0,s._)`""`);return;case"number":$.elseIf((0,s._)`${E} == "boolean" || ${l} === null
4
4
  || (${E} == "string" && ${l} && ${l} == +${l})`).assign(T,(0,s._)`+${l}`);return;case"integer":$.elseIf((0,s._)`${E} === "boolean" || ${l} === null
5
5
  || (${E} === "string" && ${l} && ${l} == +${l} && !(${l} % 1))`).assign(T,(0,s._)`+${l}`);return;case"boolean":$.elseIf((0,s._)`${l} === "false" || ${l} === 0 || ${l} === null`).assign(T,!1).elseIf((0,s._)`${l} === "true" || ${l} === 1`).assign(T,!0);return;case"null":$.elseIf((0,s._)`${l} === "" || ${l} === 0 || ${l} === false`),$.assign(T,null);return;case"array":$.elseIf((0,s._)`${E} === "string" || ${E} === "number"
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{l as o}from"./chunk-4PUOWSDE.js";import{W as c}from"./chunk-ZY32SZ2P.js";import{c as t}from"./chunk-RCT3O3HQ.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as n}from"./chunk-FTQLQJQV.js";var m=e.object({id:t,scope:t,sourceId:t,name:e.string().trim().min(1).max(100),keyPrefix:e.string().min(1).max(100),createdAt:e.iso.datetime(),expiresAt:e.iso.datetime(),revokedAt:e.iso.datetime().nullable()}).strict(),p=e.string().regex(/^opk_key_[A-Za-z0-9]{16}_[A-Za-z0-9]{48}$/),x=e.discriminatedUnion("action",[e.object({action:e.literal("create"),scope:t,sourceId:t,name:e.string().trim().min(1).max(100),expiresAt:e.iso.datetime(),operationId:t,apiKey:p}).strict(),e.object({action:e.literal("list"),scope:t,sourceId:t,afterId:t.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),e.object({action:e.literal("revoke"),scope:t,sourceId:t,id:t}).strict()]),f=e.object({credential:m,apiKey:p}).strict(),y=e.object({items:e.array(m).max(100),nextCursor:t.nullable()}).strict(),h=e.object({scope:t,sourceId:t}).strict(),b=e.object({scope:t,source:o,taskDefinition:o,enabled:e.boolean(),allowedSplits:e.array(c).min(1).max(4)}).strict();function C(i){return{...i,operationId:crypto.randomUUID(),apiKey:`opk_key_${s(16)}_${s(48)}`}}n(C,"createSourceCredentialRequest");function s(i){let d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(;r.length<i;)for(let a of crypto.getRandomValues(new Uint8Array(64)))if(a<248&&(r+=d[a%62]),r.length===i)return r;return r}n(s,"randomToken");export{m as a,p as b,x as c,f as d,y as e,h as f,b as g,C as h};
2
+ import{l as o}from"./chunk-ZEOYNUHL.js";import{W as c}from"./chunk-ZY32SZ2P.js";import{c as t}from"./chunk-RCT3O3HQ.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as n}from"./chunk-FTQLQJQV.js";var m=e.object({id:t,scope:t,sourceId:t,name:e.string().trim().min(1).max(100),keyPrefix:e.string().min(1).max(100),createdAt:e.iso.datetime(),expiresAt:e.iso.datetime(),revokedAt:e.iso.datetime().nullable()}).strict(),p=e.string().regex(/^opk_key_[A-Za-z0-9]{16}_[A-Za-z0-9]{48}$/),x=e.discriminatedUnion("action",[e.object({action:e.literal("create"),scope:t,sourceId:t,name:e.string().trim().min(1).max(100),expiresAt:e.iso.datetime(),operationId:t,apiKey:p}).strict(),e.object({action:e.literal("list"),scope:t,sourceId:t,afterId:t.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),e.object({action:e.literal("revoke"),scope:t,sourceId:t,id:t}).strict()]),f=e.object({credential:m,apiKey:p}).strict(),y=e.object({items:e.array(m).max(100),nextCursor:t.nullable()}).strict(),h=e.object({scope:t,sourceId:t}).strict(),b=e.object({scope:t,source:o,taskDefinition:o,enabled:e.boolean(),allowedSplits:e.array(c).min(1).max(4)}).strict();function C(i){return{...i,operationId:crypto.randomUUID(),apiKey:`opk_key_${s(16)}_${s(48)}`}}n(C,"createSourceCredentialRequest");function s(i){let d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(;r.length<i;)for(let a of crypto.getRandomValues(new Uint8Array(64)))if(a<248&&(r+=d[a%62]),r.length===i)return r;return r}n(s,"randomToken");export{m as a,p as b,x as c,f as d,y as e,h as f,b as g,C as h};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{h as E}from"./chunk-4PUOWSDE.js";import{v as M}from"./chunk-ZY32SZ2P.js";import{c as v,g,h as P,j as h,k as _,m as C}from"./chunk-5HPZGLOL.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as c}from"./chunk-FTQLQJQV.js";var u=e.string().trim().min(1).max(191),y=e.string().regex(/^[a-f0-9]{64}$/),L=e.string().min(1).max(191).regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/),A=e.discriminatedUnion("mode",[e.object({mode:e.literal("automatic"),objective:e.enum(["balanced","fast","economical"]),gpuCount:e.union([e.literal(1),e.literal(2)]).optional()}).strict(),e.object({mode:e.literal("manual"),availabilityId:u,gpuType:e.string().trim().min(1).max(256),gpuCount:e.union([e.literal(1),e.literal(2)]).optional()}).strict()]),se=e.object({estimateId:u,inputHash:y,requestHash:y,pricingVersion:u,expiresAt:e.string().datetime({offset:!0}),token:e.string().min(1).max(8192)}).strict(),H=e.object({teamId:u,modelId:e.string().trim().min(1).max(256),modelRevision:e.string().trim().min(1).max(256),tokenizerRevision:e.string().trim().min(1).max(256),chatTemplateHash:y,method:e.enum(["sft","grpo"]),loraRank:e.number().int().min(1).max(256),gpuCount:e.union([e.literal(1),e.literal(2)])}).strict(),$=e.object({query:H,requestHash:y,qualification:e.enum(["requires_preparation","unsupported"]),reason:e.enum(["model_not_supported","lora_rank_not_supported","gpu_count_not_qualified","provider_not_supported"]).nullable(),provider:e.object({accountScopeId:u,product:e.literal("POD"),cloud:e.literal("SECURE"),countryCodes:e.array(e.string().regex(/^[A-Z]{2}$/)).min(1).max(300),cudaVersions:e.array(e.string().regex(/^\d+\.\d+$/)).min(1).max(100),dataCenterId:u.nullable(),minimumDiskGb:e.number().int().positive(),priceBasis:e.literal("provider_catalog_per_gpu_rate_times_count")}).strict().nullable()}).strict(),B=e.object({schemaVersion:e.literal("openpond.trainingGpuCatalog.v1"),observedAt:e.string().datetime({offset:!0}),expiresAt:e.string().datetime({offset:!0}),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),supportedLoraRanks:e.array(e.number().int().positive()),pricingBasis:e.enum(["accepted_compute_and_disk_hourly_before_credits","provider_catalog_compute_and_disk_before_credits"]),scope:$.optional(),offerings:e.array(e.object({availabilityId:u,gpuType:e.string().min(1).max(256),provider:L,region:e.string().min(1),dataCenterId:e.string().nullable(),gpuCount:e.number().int().positive(),gpuMemoryGb:e.number().positive(),stockStatus:e.enum(["High","Medium","Low"]),computeHourlyUsd:e.number().nonnegative(),diskHourlyUsd:e.number().nonnegative(),totalHourlyUsd:e.number().nonnegative()}).strict()).max(1e3)}).strict();async function V(t,i){let o=B.parse(t);if(Date.parse(o.expiresAt)<=Date.parse(o.observedAt)||Date.parse(o.expiresAt)<=Date.now())throw new g("training_gpu_catalog_expired","Refresh GPU availability before reviewing this run.");if(!i){if(o.scope)throw new g("training_gpu_catalog_scope_mismatch","An overview read returned an unrequested workload.");return o}let r=o.scope;if(!r||o.pricingBasis!=="provider_catalog_compute_and_disk_before_credits"||P(r.query)!==P(i)||r.requestHash!==await h(i)||r.qualification==="unsupported"!=(r.reason!==null)||(r.qualification==="unsupported"?r.provider!==null||o.offerings.length>0:!r.provider)||new Set(o.offerings.map(a=>a.provider)).size>1||o.offerings.some(a=>a.gpuCount!==i.gpuCount||a.dataCenterId!==r.provider?.dataCenterId)||new Set(o.offerings.map(a=>a.availabilityId)).size!==o.offerings.length)throw new g("training_gpu_catalog_scope_mismatch","The GPU offers do not match this workspace and workload.");return o}c(V,"parseAndVerifyTrainingGpuCatalog");function le(t){return{async gpuCatalog(i){let o=i===void 0?void 0:H.parse(i),r=o?new URLSearchParams(Object.entries(o).map(([f,m])=>[f,String(m)])):null,a=await t(`/v1/training/gpu-catalog${r?`?${r}`:""}`),s=a&&typeof a=="object"&&"catalog"in a?a.catalog:a;return V(s,o)}}}c(le,"createTrainingGpuCatalogClient");var I=E.extend({mode:e.enum(["nightly","approved_count"]),minimumTasks:e.number().int().min(1).max(1e4),maximumSpendUsd:e.number().positive().max(1e5),maximumDailySpendUsd:e.number().positive().max(1e6)}).strict().superRefine((t,i)=>{t.maximumDailySpendUsd<t.maximumSpendUsd&&i.addIssue({code:"custom",path:["maximumDailySpendUsd"],message:"The daily budget must cover one update."})});var n=e.string().trim().min(1).max(500),d=e.string().regex(/^[a-f0-9]{64}$/),l=e.string().datetime({offset:!0}),p=e.object({id:n,contentHash:d}).strict(),R=p.extend({revision:e.number().int().positive()}).strict(),b=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:n,revision:e.string().trim().min(1).max(256).nullable(),tokenizerRevision:e.string().trim().min(1).max(256).nullable(),chatTemplateHash:e.string().trim().min(8).max(256).nullable(),modelAssetId:n.nullable(),source:e.enum(["managed","local","builtin"])}).strict(),D=e.enum(["sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),N=e.object({schemaVersion:e.string().regex(/^openpond\.[A-Za-z0-9]+Recipe\.v\d+$/),method:D,parameterization:e.enum(["lora","full"])}).catchall(e.unknown()),Y=e.object({profileProjectId:n,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),harnessRelease:p}).strict(),Q=e.object({profileProjectId:n,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),catalogHash:d,definitionId:n,harnessRelease:p,tasksetRelease:p}).strict(),z=e.object({tasksetRef:R.nullable().default(null),evaluationTasksetRef:R.nullable().optional(),profileSource:Y.nullable().optional(),profileEvaluation:Q.nullable().optional(),rewardBindingRef:R.nullable().optional(),tasksetRelease:p.nullable().default(null),harnessRelease:p.nullable().default(null),baseModel:b.nullable().default(null),method:D.nullable().default(null),destinationId:n.nullable().default(null),managedRolloutPlacement:e.enum(["local","remote"]).default("remote"),managedGpuPlacementObjective:e.enum(["fast","balanced","economical"]).default("balanced"),managedGpuSelection:A.optional(),continuationAdapterMode:e.enum(["residual_append","shared","sequential_merge"]).optional(),managedGpuRequirement:e.enum(["any","h100_hbm3"]).default("any"),runPreset:e.enum(["small","standard","custom","small_experiment"]).nullable().default(null),recipe:N.nullable().default(null),preferredMaximumSpendUsd:e.number().nonnegative().nullable().default(null),preferredRetentionDays:e.number().int().nonnegative().nullable().default(null)}).strict(),G=z,X=e.object({schemaVersion:e.literal("openpond.hostedModelProjectLink.v1"),apiOrigin:e.string().url().refine(t=>new URL(t).origin===t,"Use a canonical API origin.").nullable().default(null),teamId:n,projectId:n,portableProjectId:n,revision:e.number().int().positive(),etag:d,syncedSourceRevision:e.number().int().positive(),syncedAt:l,tasksets:e.array(e.object({localTasksetId:n,localTasksetHash:d.nullable().default(null),releaseId:n,releaseRevision:e.number().int().positive(),releaseHash:d,packageHash:d.nullable().default(null),hostedTasksetId:n,syncedAt:l}).strict()).max(1e4).default([])}).strict(),Z=e.object({localTasksetId:n,releaseId:n,releaseRevision:e.number().int().positive(),releaseHash:d,state:e.enum(["syncing","synced","sync_failed"]),hostedTasksetId:n.nullable().default(null),lastAttemptAt:l,syncedAt:l.nullable().default(null),lastError:e.string().trim().min(1).max(5e3).nullable().default(null)}).strict(),F=e.object({schemaVersion:e.literal("openpond.modelProject.v2"),id:n,profileId:n,revision:e.number().int().positive().default(1),name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:b.nullable(),defaultDestinationId:n.nullable(),trainingSetup:z,hosted:X.nullable().default(null),tasksetSyncs:e.array(Z).max(1e4).default([]),createdAt:l,updatedAt:l}).strict(),U=F.pick({id:!0,profileId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,trainingSetup:!0}),K=e.object({schemaVersion:e.literal("openpond.modelProjectSave.v1"),operationId:n,expectedRevision:e.number().int().nonnegative(),project:U,learning:I.optional()}).strict().superRefine((t,i)=>{t.learning&&t.expectedRevision!==0&&i.addIssue({code:"custom",path:["learning"],message:"Use learning settings to edit an existing Model's policy."})}),W=e.object({schemaVersion:e.literal("openpond.modelProjectConfigurationCheck.v1"),configurationHash:d,projectId:n,expectedRevision:e.number().int().nonnegative(),checkedAt:l,canSave:e.boolean(),deferred:e.array(e.enum(["base_model","taskset"])).max(2),findings:e.array(e.object({code:n,severity:e.enum(["error","warning"]),message:e.string().min(1).max(5e3),field:e.string().min(1).max(500).nullable()}).strict()).max(100)}).strict(),ee=e.object({id:n,name:e.string().min(1).max(500),available:e.boolean(),preference:b}).strict();function T(t){try{M(t,524288)}catch{throw new x(400,{schemaVersion:"openpond.modelProjectApiError.v2",code:"model_configuration_json_invalid",message:"Model configuration must be bounded JSON data.",retryable:!1,requestId:null,details:{}})}return K.parse(t)}c(T,"parseModelProjectSaveRequest");async function Se(t,i,o){M(t,524288);let r=U.parse(t);_(r,524288,"Model configuration");let a=o?I.parse(o):void 0,s=await h({project:r,expectedRevision:i,...a?{learning:a}:{}});return T({schemaVersion:"openpond.modelProjectSave.v1",operationId:`model-save:${s}`,expectedRevision:i,project:r,...a?{learning:a}:{}})}c(Se,"createModelProjectSaveRequest");var te=e.object({schemaVersion:e.literal("openpond.hostedModelProjectSync.v2"),portableProjectId:n,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:b.nullable(),defaultDestinationId:n.nullable(),trainingSetup:G,sourceRevision:e.number().int().positive(),sourceUpdatedAt:l,expectedEtag:d.nullable().default(null)}).strict(),S=e.object({id:n,teamId:n,portableProjectId:n,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:b.nullable(),defaultDestinationId:n.nullable(),trainingSetup:G,sourceRevision:e.number().int().positive(),sourceUpdatedAt:l,revision:e.number().int().positive(),etag:d,createdAt:l,updatedAt:l}).strict(),ne=e.object({kind:e.enum(["taskset_release","harness_release","dataset_release","evidence_set","model_version","reward_model_version","evaluation_receipt"]),ref:p,role:e.string().trim().min(1).max(200).nullable().default(null),updatedAt:l}).strict(),oe=e.object({project:S,resources:e.array(ne).max(1e4),jobCount:e.number().int().nonnegative(),latestJobIds:e.array(n).max(100)}).strict(),ae=e.object({schemaVersion:e.literal("openpond.modelProjectApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),x=class extends Error{static{c(this,"OpenPondModelProjectApiError")}status;code;retryable;requestId;details;constructor(i,o){super(o.message),this.name="OpenPondModelProjectApiError",this.status=i,this.code=o.code,this.retryable=o.retryable,this.requestId=o.requestId,this.details=o.details}};function O(t){let i={};return new Headers(t).forEach((o,r)=>{i[r]=o}),i}c(O,"headersRecord");function je(t){let i=t.fetch??fetch,o=t.baseUrl.replace(/\/$/,"");async function r(a,s){let f=typeof t.headers=="function"?await t.headers():t.headers??{},m=await i(`${o}${a}`,{...s,headers:{accept:v,...s?.body?{"content-type":v}:{},...O(f),...O(s?.headers)}}),k=await C(m,8388608,"Model Project API response");if(!m.ok){let w=ae.safeParse(k);throw w.success?new x(m.status,w.data):new g("invalid_error_response",`Model Project request failed with HTTP ${m.status} and an invalid error envelope.`)}return k}return c(r,"request"),{async configurationCandidates(){return e.object({candidates:e.array(ee).max(1e3)}).strict().parse(await r("/v1/model-projects/configuration/candidates",{headers:{accept:"application/json"}})).candidates},async checkConfiguration(a){let s=T(a);return W.parse(await r("/v1/model-projects/configuration/check",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async saveConfiguration(a){let s=T(a);return S.parse(await r("/v1/model-projects/configuration/save",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async upsert(a){_(a,524288,"Model Project sync");let s=te.parse(a),f=await r(`/v1/model-projects/${encodeURIComponent(s.portableProjectId)}`,{method:"PUT",body:JSON.stringify(s)});return S.parse(q(f,"project"))},async list(){let a=await r("/v1/model-projects");return e.array(S).parse(q(a,"projects"))},async get(a){let s=await r(`/v1/model-projects/${encodeURIComponent(n.parse(a))}`);return oe.parse(s)}}}c(je,"createModelProjectsClient");function q(t,i){return!t||typeof t!="object"||Array.isArray(t)?t:i in t?t[i]:t}c(q,"unwrapObject");export{A as a,se as b,H as c,$ as d,B as e,V as f,le as g,p as h,R as i,b as j,N as k,z as l,G as m,U as n,ee as o,Se as p,te as q,S as r,je as s};
2
+ import{h as E}from"./chunk-ZEOYNUHL.js";import{v as M}from"./chunk-ZY32SZ2P.js";import{c as v,g,h as P,j as h,k as _,m as C}from"./chunk-5HPZGLOL.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as c}from"./chunk-FTQLQJQV.js";var u=e.string().trim().min(1).max(191),y=e.string().regex(/^[a-f0-9]{64}$/),L=e.string().min(1).max(191).regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/),A=e.discriminatedUnion("mode",[e.object({mode:e.literal("automatic"),objective:e.enum(["balanced","fast","economical"]),gpuCount:e.union([e.literal(1),e.literal(2)]).optional()}).strict(),e.object({mode:e.literal("manual"),availabilityId:u,gpuType:e.string().trim().min(1).max(256),gpuCount:e.union([e.literal(1),e.literal(2)]).optional()}).strict()]),se=e.object({estimateId:u,inputHash:y,requestHash:y,pricingVersion:u,expiresAt:e.string().datetime({offset:!0}),token:e.string().min(1).max(8192)}).strict(),H=e.object({teamId:u,modelId:e.string().trim().min(1).max(256),modelRevision:e.string().trim().min(1).max(256),tokenizerRevision:e.string().trim().min(1).max(256),chatTemplateHash:y,method:e.enum(["sft","grpo"]),loraRank:e.number().int().min(1).max(256),gpuCount:e.union([e.literal(1),e.literal(2)])}).strict(),$=e.object({query:H,requestHash:y,qualification:e.enum(["requires_preparation","unsupported"]),reason:e.enum(["model_not_supported","lora_rank_not_supported","gpu_count_not_qualified","provider_not_supported"]).nullable(),provider:e.object({accountScopeId:u,product:e.literal("POD"),cloud:e.literal("SECURE"),countryCodes:e.array(e.string().regex(/^[A-Z]{2}$/)).min(1).max(300),cudaVersions:e.array(e.string().regex(/^\d+\.\d+$/)).min(1).max(100),dataCenterId:u.nullable(),minimumDiskGb:e.number().int().positive(),priceBasis:e.literal("provider_catalog_per_gpu_rate_times_count")}).strict().nullable()}).strict(),B=e.object({schemaVersion:e.literal("openpond.trainingGpuCatalog.v1"),observedAt:e.string().datetime({offset:!0}),expiresAt:e.string().datetime({offset:!0}),workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/),supportedLoraRanks:e.array(e.number().int().positive()),pricingBasis:e.enum(["accepted_compute_and_disk_hourly_before_credits","provider_catalog_compute_and_disk_before_credits"]),scope:$.optional(),offerings:e.array(e.object({availabilityId:u,gpuType:e.string().min(1).max(256),provider:L,region:e.string().min(1),dataCenterId:e.string().nullable(),gpuCount:e.number().int().positive(),gpuMemoryGb:e.number().positive(),stockStatus:e.enum(["High","Medium","Low"]),computeHourlyUsd:e.number().nonnegative(),diskHourlyUsd:e.number().nonnegative(),totalHourlyUsd:e.number().nonnegative()}).strict()).max(1e3)}).strict();async function V(t,i){let o=B.parse(t);if(Date.parse(o.expiresAt)<=Date.parse(o.observedAt)||Date.parse(o.expiresAt)<=Date.now())throw new g("training_gpu_catalog_expired","Refresh GPU availability before reviewing this run.");if(!i){if(o.scope)throw new g("training_gpu_catalog_scope_mismatch","An overview read returned an unrequested workload.");return o}let r=o.scope;if(!r||o.pricingBasis!=="provider_catalog_compute_and_disk_before_credits"||P(r.query)!==P(i)||r.requestHash!==await h(i)||r.qualification==="unsupported"!=(r.reason!==null)||(r.qualification==="unsupported"?r.provider!==null||o.offerings.length>0:!r.provider)||new Set(o.offerings.map(a=>a.provider)).size>1||o.offerings.some(a=>a.gpuCount!==i.gpuCount||a.dataCenterId!==r.provider?.dataCenterId)||new Set(o.offerings.map(a=>a.availabilityId)).size!==o.offerings.length)throw new g("training_gpu_catalog_scope_mismatch","The GPU offers do not match this workspace and workload.");return o}c(V,"parseAndVerifyTrainingGpuCatalog");function le(t){return{async gpuCatalog(i){let o=i===void 0?void 0:H.parse(i),r=o?new URLSearchParams(Object.entries(o).map(([f,m])=>[f,String(m)])):null,a=await t(`/v1/training/gpu-catalog${r?`?${r}`:""}`),s=a&&typeof a=="object"&&"catalog"in a?a.catalog:a;return V(s,o)}}}c(le,"createTrainingGpuCatalogClient");var I=E.extend({mode:e.enum(["nightly","approved_count"]),minimumTasks:e.number().int().min(1).max(1e4),maximumSpendUsd:e.number().positive().max(1e5),maximumDailySpendUsd:e.number().positive().max(1e6)}).strict().superRefine((t,i)=>{t.maximumDailySpendUsd<t.maximumSpendUsd&&i.addIssue({code:"custom",path:["maximumDailySpendUsd"],message:"The daily budget must cover one update."})});var n=e.string().trim().min(1).max(500),d=e.string().regex(/^[a-f0-9]{64}$/),l=e.string().datetime({offset:!0}),p=e.object({id:n,contentHash:d}).strict(),R=p.extend({revision:e.number().int().positive()}).strict(),b=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:n,revision:e.string().trim().min(1).max(256).nullable(),tokenizerRevision:e.string().trim().min(1).max(256).nullable(),chatTemplateHash:e.string().trim().min(8).max(256).nullable(),modelAssetId:n.nullable(),source:e.enum(["managed","local","builtin"])}).strict(),D=e.enum(["sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),N=e.object({schemaVersion:e.string().regex(/^openpond\.[A-Za-z0-9]+Recipe\.v\d+$/),method:D,parameterization:e.enum(["lora","full"])}).catchall(e.unknown()),Y=e.object({profileProjectId:n,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),harnessRelease:p}).strict(),Q=e.object({profileProjectId:n,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),catalogHash:d,definitionId:n,harnessRelease:p,tasksetRelease:p}).strict(),z=e.object({tasksetRef:R.nullable().default(null),evaluationTasksetRef:R.nullable().optional(),profileSource:Y.nullable().optional(),profileEvaluation:Q.nullable().optional(),rewardBindingRef:R.nullable().optional(),tasksetRelease:p.nullable().default(null),harnessRelease:p.nullable().default(null),baseModel:b.nullable().default(null),method:D.nullable().default(null),destinationId:n.nullable().default(null),managedRolloutPlacement:e.enum(["local","remote"]).default("remote"),managedGpuPlacementObjective:e.enum(["fast","balanced","economical"]).default("balanced"),managedGpuSelection:A.optional(),continuationAdapterMode:e.enum(["residual_append","shared","sequential_merge"]).optional(),managedGpuRequirement:e.enum(["any","h100_hbm3"]).default("any"),runPreset:e.enum(["small","standard","custom","small_experiment"]).nullable().default(null),recipe:N.nullable().default(null),preferredMaximumSpendUsd:e.number().nonnegative().nullable().default(null),preferredRetentionDays:e.number().int().nonnegative().nullable().default(null)}).strict(),G=z,X=e.object({schemaVersion:e.literal("openpond.hostedModelProjectLink.v1"),apiOrigin:e.string().url().refine(t=>new URL(t).origin===t,"Use a canonical API origin.").nullable().default(null),teamId:n,projectId:n,portableProjectId:n,revision:e.number().int().positive(),etag:d,syncedSourceRevision:e.number().int().positive(),syncedAt:l,tasksets:e.array(e.object({localTasksetId:n,localTasksetHash:d.nullable().default(null),releaseId:n,releaseRevision:e.number().int().positive(),releaseHash:d,packageHash:d.nullable().default(null),hostedTasksetId:n,syncedAt:l}).strict()).max(1e4).default([])}).strict(),Z=e.object({localTasksetId:n,releaseId:n,releaseRevision:e.number().int().positive(),releaseHash:d,state:e.enum(["syncing","synced","sync_failed"]),hostedTasksetId:n.nullable().default(null),lastAttemptAt:l,syncedAt:l.nullable().default(null),lastError:e.string().trim().min(1).max(5e3).nullable().default(null)}).strict(),F=e.object({schemaVersion:e.literal("openpond.modelProject.v2"),id:n,profileId:n,revision:e.number().int().positive().default(1),name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:b.nullable(),defaultDestinationId:n.nullable(),trainingSetup:z,hosted:X.nullable().default(null),tasksetSyncs:e.array(Z).max(1e4).default([]),createdAt:l,updatedAt:l}).strict(),U=F.pick({id:!0,profileId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,trainingSetup:!0}),K=e.object({schemaVersion:e.literal("openpond.modelProjectSave.v1"),operationId:n,expectedRevision:e.number().int().nonnegative(),project:U,learning:I.optional()}).strict().superRefine((t,i)=>{t.learning&&t.expectedRevision!==0&&i.addIssue({code:"custom",path:["learning"],message:"Use learning settings to edit an existing Model's policy."})}),W=e.object({schemaVersion:e.literal("openpond.modelProjectConfigurationCheck.v1"),configurationHash:d,projectId:n,expectedRevision:e.number().int().nonnegative(),checkedAt:l,canSave:e.boolean(),deferred:e.array(e.enum(["base_model","taskset"])).max(2),findings:e.array(e.object({code:n,severity:e.enum(["error","warning"]),message:e.string().min(1).max(5e3),field:e.string().min(1).max(500).nullable()}).strict()).max(100)}).strict(),ee=e.object({id:n,name:e.string().min(1).max(500),available:e.boolean(),preference:b}).strict();function T(t){try{M(t,524288)}catch{throw new x(400,{schemaVersion:"openpond.modelProjectApiError.v2",code:"model_configuration_json_invalid",message:"Model configuration must be bounded JSON data.",retryable:!1,requestId:null,details:{}})}return K.parse(t)}c(T,"parseModelProjectSaveRequest");async function Se(t,i,o){M(t,524288);let r=U.parse(t);_(r,524288,"Model configuration");let a=o?I.parse(o):void 0,s=await h({project:r,expectedRevision:i,...a?{learning:a}:{}});return T({schemaVersion:"openpond.modelProjectSave.v1",operationId:`model-save:${s}`,expectedRevision:i,project:r,...a?{learning:a}:{}})}c(Se,"createModelProjectSaveRequest");var te=e.object({schemaVersion:e.literal("openpond.hostedModelProjectSync.v2"),portableProjectId:n,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:b.nullable(),defaultDestinationId:n.nullable(),trainingSetup:G,sourceRevision:e.number().int().positive(),sourceUpdatedAt:l,expectedEtag:d.nullable().default(null)}).strict(),S=e.object({id:n,teamId:n,portableProjectId:n,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:b.nullable(),defaultDestinationId:n.nullable(),trainingSetup:G,sourceRevision:e.number().int().positive(),sourceUpdatedAt:l,revision:e.number().int().positive(),etag:d,createdAt:l,updatedAt:l}).strict(),ne=e.object({kind:e.enum(["taskset_release","harness_release","dataset_release","evidence_set","model_version","reward_model_version","evaluation_receipt"]),ref:p,role:e.string().trim().min(1).max(200).nullable().default(null),updatedAt:l}).strict(),oe=e.object({project:S,resources:e.array(ne).max(1e4),jobCount:e.number().int().nonnegative(),latestJobIds:e.array(n).max(100)}).strict(),ae=e.object({schemaVersion:e.literal("openpond.modelProjectApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),x=class extends Error{static{c(this,"OpenPondModelProjectApiError")}status;code;retryable;requestId;details;constructor(i,o){super(o.message),this.name="OpenPondModelProjectApiError",this.status=i,this.code=o.code,this.retryable=o.retryable,this.requestId=o.requestId,this.details=o.details}};function O(t){let i={};return new Headers(t).forEach((o,r)=>{i[r]=o}),i}c(O,"headersRecord");function je(t){let i=t.fetch??fetch,o=t.baseUrl.replace(/\/$/,"");async function r(a,s){let f=typeof t.headers=="function"?await t.headers():t.headers??{},m=await i(`${o}${a}`,{...s,headers:{accept:v,...s?.body?{"content-type":v}:{},...O(f),...O(s?.headers)}}),k=await C(m,8388608,"Model Project API response");if(!m.ok){let w=ae.safeParse(k);throw w.success?new x(m.status,w.data):new g("invalid_error_response",`Model Project request failed with HTTP ${m.status} and an invalid error envelope.`)}return k}return c(r,"request"),{async configurationCandidates(){return e.object({candidates:e.array(ee).max(1e3)}).strict().parse(await r("/v1/model-projects/configuration/candidates",{headers:{accept:"application/json"}})).candidates},async checkConfiguration(a){let s=T(a);return W.parse(await r("/v1/model-projects/configuration/check",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async saveConfiguration(a){let s=T(a);return S.parse(await r("/v1/model-projects/configuration/save",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async upsert(a){_(a,524288,"Model Project sync");let s=te.parse(a),f=await r(`/v1/model-projects/${encodeURIComponent(s.portableProjectId)}`,{method:"PUT",body:JSON.stringify(s)});return S.parse(q(f,"project"))},async list(){let a=await r("/v1/model-projects");return e.array(S).parse(q(a,"projects"))},async get(a){let s=await r(`/v1/model-projects/${encodeURIComponent(n.parse(a))}`);return oe.parse(s)}}}c(je,"createModelProjectsClient");function q(t,i){return!t||typeof t!="object"||Array.isArray(t)?t:i in t?t[i]:t}c(q,"unwrapObject");export{A as a,se as b,H as c,$ as d,B as e,V as f,le as g,I as h,p as i,R as j,b as k,N as l,z as m,G as n,U as o,ee as p,Se as q,te as r,S as s,je as t};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{va as t}from"./chunk-7OKZCJHS.js";import{A as e}from"./chunk-X2J2P5ZT.js";var n=e.string().trim().min(1).max(240),a=e.object({id:n,revision:e.number().int().positive(),ownerInstanceId:n,teamId:n,profileId:n,projectId:n,hostedModelId:n,role:t,roleTargetId:n,expectedBindingId:n,policyId:n.nullable(),authorizedConfigurationHash:e.string().length(64).nullable(),enabled:e.boolean(),updatedAt:e.string().datetime()}).strict(),o=e.object({id:n,grantId:n,revision:e.number().int().positive(),jobId:n,artifactHash:e.string().length(64),priorBindingId:n,bindingId:n.nullable(),restoredBindingId:n.nullable(),status:e.enum(["prepared","binding","canary","active","superseded","rolling_back","rolled_back","failed"]),leaseId:n,canarySeconds:e.number().int().min(30).max(600),activatedAt:e.string().datetime().nullable(),failure:e.string().max(2e3).nullable(),createdAt:e.string().datetime(),updatedAt:e.string().datetime()}).strict();export{a,o as b};
2
+ import{va as t}from"./chunk-OXRN2257.js";import{A as e}from"./chunk-X2J2P5ZT.js";var n=e.string().trim().min(1).max(240),a=e.object({id:n,revision:e.number().int().positive(),ownerInstanceId:n,teamId:n,profileId:n,projectId:n,hostedModelId:n,role:t,roleTargetId:n,expectedBindingId:n,policyId:n.nullable(),authorizedConfigurationHash:e.string().length(64).nullable(),enabled:e.boolean(),updatedAt:e.string().datetime()}).strict(),o=e.object({id:n,grantId:n,revision:e.number().int().positive(),jobId:n,artifactHash:e.string().length(64),priorBindingId:n,bindingId:n.nullable(),restoredBindingId:n.nullable(),status:e.enum(["prepared","binding","canary","active","superseded","rolling_back","rolled_back","failed"]),leaseId:n,canarySeconds:e.number().int().min(30).max(600),activatedAt:e.string().datetime().nullable(),failure:e.string().max(2e3).nullable(),createdAt:e.string().datetime(),updatedAt:e.string().datetime()}).strict();export{a,o as b};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{b as h,g as T}from"./chunk-CIZI6Z7D.js";import{c as u}from"./chunk-JVMSN7LH.js";import{m}from"./chunk-RCT3O3HQ.js";import{a as l}from"./chunk-FTQLQJQV.js";import{cp as P,lstat as k,mkdir as $,mkdtemp as j,readFile as v,readdir as b,rename as x,rm as z}from"node:fs/promises";import c from"node:path";async function B(s,i,r,t={}){return L(c.join(s,"training","tasksets"),i,r,t)}l(B,"materializeImmutableTasksetPackage");async function L(s,i,r,t={}){if(!/^[a-z0-9][a-z0-9-]{1,239}$/.test(r))throw new Error("Taskset package identity is not a safe directory name.");await $(s,{recursive:!0});let e=await j(c.join(s,".starter-")),o=c.join(s,r);try{if(t.source){let n=await k(t.source.directory);if(!n.isDirectory()||n.isSymbolicLink())throw new Error("Taskset source must be a regular directory.");await y(t.source.directory);for(let d of await b(t.source.directory))await P(c.join(t.source.directory,d),c.join(e,d),{recursive:!0,force:!1,errorOnExist:!0});if(await y(e),await h(e)!==t.source.packageHash)throw new Error("Taskset draft files changed during publication. Refresh before publishing.")}await T(i.taskset,e,{generatedFiles:i.generatedFiles}),await t.verify?.(e);let a=(await y(e)).sort();try{await x(e,o)}catch(n){if(!["EEXIST","ENOTEMPTY"].includes(n.code??""))throw n;let d=await k(o);if(!d.isDirectory()||d.isSymbolicLink())throw new Error("Starter package destination is not a regular directory.");let S=await y(o);if(JSON.stringify(S.sort())!==JSON.stringify(a))throw new Error("Existing starter package has a different file inventory.");for(let w of a){let p=c.join(o,w),g=await k(p);if(!g.isFile()||g.isSymbolicLink()||!(await v(p)).equals(await v(c.join(e,w))))throw new Error("Existing starter package differs from the pinned creation attempt.")}}return o}finally{await z(e,{recursive:!0,force:!0})}}l(L,"materializeImmutableTasksetPackageAtRoot");async function y(s,i=""){let r=[];for(let t of await b(c.join(s,i),{withFileTypes:!0})){let e=c.join(i,t.name);if(t.isSymbolicLink())throw new Error("Starter packages cannot contain symbolic links.");if(t.isDirectory())r.push(...await y(s,e));else if(t.isFile())r.push(e);else throw new Error("Starter packages must contain regular files and directories.")}return r}l(y,"regularFiles");import{lstat as E,readFile as F}from"node:fs/promises";import f from"node:path";function I(s,i,r){let t=f.resolve(s),e=f.resolve(t,r.artifactRef);if(!e.startsWith(`${t}${f.sep}`))throw new Error(`Taskset asset ${r.id} escapes its package.`);if(i.metadata.portableFileInventory===void 0){if(!e.startsWith(`${f.join(t,"assets")}${f.sep}`))throw new Error(`Work asset ${r.id} must resolve inside the Taskset assets directory.`)}else{let a=u.parse(i.metadata.portableFileInventory).find(n=>n.asset.id===r.id&&n.sourcePath===r.artifactRef);if(!a||a.asset.visibility!=="policy"||a.asset.contentHash!==r.sha256||a.asset.sizeBytes!==r.sizeBytes||a.asset.mediaType!==r.mediaType)throw new Error(`Taskset asset ${r.id} differs from its declared policy inventory.`)}return e}l(I,"resolveTasksetPolicyAssetPath");async function J(s,i){let r=u.parse(i.metadata.portableFileInventory??[]);for(let t of r){let e=f.resolve(s,t.sourcePath);if(!e.startsWith(`${f.resolve(s)}${f.sep}`))throw new Error("Taskset inventory file escapes its package.");let o=await E(e);if(!o.isFile()||o.isSymbolicLink())throw new Error("Taskset inventory requires regular files.");let a=await F(e);if(a.length!==t.asset.sizeBytes||m(a)!==t.asset.contentHash)throw new Error(`Taskset file differs from its immutable inventory: ${t.asset.id}.`)}for(let t of i.tasks)for(let e of t.assets??[]){let o=I(s,i,e),a=await E(o);if(!a.isFile()||a.isSymbolicLink())throw new Error(`Taskset asset ${e.id} is not a regular file.`);let n=await F(o);if(n.byteLength!==e.sizeBytes||m(n)!==e.sha256)throw new Error(`Taskset asset ${e.id} does not match its immutable manifest.`)}}l(J,"verifyPublishedTasksetAssets");export{B as a,L as b,I as c,J as d};
2
+ import{b as h,g as T}from"./chunk-VMW23TIZ.js";import{c as u}from"./chunk-GR4MJJCE.js";import{m}from"./chunk-RCT3O3HQ.js";import{a as l}from"./chunk-FTQLQJQV.js";import{cp as P,lstat as k,mkdir as $,mkdtemp as j,readFile as v,readdir as b,rename as x,rm as z}from"node:fs/promises";import c from"node:path";async function B(s,i,r,t={}){return L(c.join(s,"training","tasksets"),i,r,t)}l(B,"materializeImmutableTasksetPackage");async function L(s,i,r,t={}){if(!/^[a-z0-9][a-z0-9-]{1,239}$/.test(r))throw new Error("Taskset package identity is not a safe directory name.");await $(s,{recursive:!0});let e=await j(c.join(s,".starter-")),o=c.join(s,r);try{if(t.source){let n=await k(t.source.directory);if(!n.isDirectory()||n.isSymbolicLink())throw new Error("Taskset source must be a regular directory.");await y(t.source.directory);for(let d of await b(t.source.directory))await P(c.join(t.source.directory,d),c.join(e,d),{recursive:!0,force:!1,errorOnExist:!0});if(await y(e),await h(e)!==t.source.packageHash)throw new Error("Taskset draft files changed during publication. Refresh before publishing.")}await T(i.taskset,e,{generatedFiles:i.generatedFiles}),await t.verify?.(e);let a=(await y(e)).sort();try{await x(e,o)}catch(n){if(!["EEXIST","ENOTEMPTY"].includes(n.code??""))throw n;let d=await k(o);if(!d.isDirectory()||d.isSymbolicLink())throw new Error("Starter package destination is not a regular directory.");let S=await y(o);if(JSON.stringify(S.sort())!==JSON.stringify(a))throw new Error("Existing starter package has a different file inventory.");for(let w of a){let p=c.join(o,w),g=await k(p);if(!g.isFile()||g.isSymbolicLink()||!(await v(p)).equals(await v(c.join(e,w))))throw new Error("Existing starter package differs from the pinned creation attempt.")}}return o}finally{await z(e,{recursive:!0,force:!0})}}l(L,"materializeImmutableTasksetPackageAtRoot");async function y(s,i=""){let r=[];for(let t of await b(c.join(s,i),{withFileTypes:!0})){let e=c.join(i,t.name);if(t.isSymbolicLink())throw new Error("Starter packages cannot contain symbolic links.");if(t.isDirectory())r.push(...await y(s,e));else if(t.isFile())r.push(e);else throw new Error("Starter packages must contain regular files and directories.")}return r}l(y,"regularFiles");import{lstat as E,readFile as F}from"node:fs/promises";import f from"node:path";function I(s,i,r){let t=f.resolve(s),e=f.resolve(t,r.artifactRef);if(!e.startsWith(`${t}${f.sep}`))throw new Error(`Taskset asset ${r.id} escapes its package.`);if(i.metadata.portableFileInventory===void 0){if(!e.startsWith(`${f.join(t,"assets")}${f.sep}`))throw new Error(`Work asset ${r.id} must resolve inside the Taskset assets directory.`)}else{let a=u.parse(i.metadata.portableFileInventory).find(n=>n.asset.id===r.id&&n.sourcePath===r.artifactRef);if(!a||a.asset.visibility!=="policy"||a.asset.contentHash!==r.sha256||a.asset.sizeBytes!==r.sizeBytes||a.asset.mediaType!==r.mediaType)throw new Error(`Taskset asset ${r.id} differs from its declared policy inventory.`)}return e}l(I,"resolveTasksetPolicyAssetPath");async function J(s,i){let r=u.parse(i.metadata.portableFileInventory??[]);for(let t of r){let e=f.resolve(s,t.sourcePath);if(!e.startsWith(`${f.resolve(s)}${f.sep}`))throw new Error("Taskset inventory file escapes its package.");let o=await E(e);if(!o.isFile()||o.isSymbolicLink())throw new Error("Taskset inventory requires regular files.");let a=await F(e);if(a.length!==t.asset.sizeBytes||m(a)!==t.asset.contentHash)throw new Error(`Taskset file differs from its immutable inventory: ${t.asset.id}.`)}for(let t of i.tasks)for(let e of t.assets??[]){let o=I(s,i,e),a=await E(o);if(!a.isFile()||a.isSymbolicLink())throw new Error(`Taskset asset ${e.id} is not a regular file.`);let n=await F(o);if(n.byteLength!==e.sizeBytes||m(n)!==e.sha256)throw new Error(`Taskset asset ${e.id} does not match its immutable manifest.`)}}l(J,"verifyPublishedTasksetAssets");export{B as a,L as b,I as c,J as d};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{e as S}from"./chunk-EYTTZ5H4.js";import{Z as h}from"./chunk-6I5AUTVO.js";import{a as A}from"./chunk-G4747MOW.js";import{a as b,e as H,f as w,j as f}from"./chunk-LE75SVEL.js";import{f as O,g as k}from"./chunk-ZY32SZ2P.js";import{e as I,i as P}from"./chunk-OTDDXEQ6.js";import{n as g}from"./chunk-RCT3O3HQ.js";import{A as c}from"./chunk-X2J2P5ZT.js";import{a as u}from"./chunk-FTQLQJQV.js";import{randomUUID as T}from"node:crypto";import{readFile as v}from"node:fs/promises";import p from"node:path";import{randomUUID as $}from"node:crypto";var y=c.object({revision:c.number().int().nonnegative(),overlay:H}).strict(),z=y.extend({proposal:w}).strict(),m=class{constructor(e){this.client=e}client;static{u(this,"HostedHarnessOverlayStorage")}async getHarnessRunOverlay(e){let s=await this.client.request({contractVersion:h,requestId:$(),operation:"harness/overlay/get",params:{runId:e}});return s===null?null:y.parse(s).overlay}async putHarnessRunOverlay(e){let s=H.parse(e.overlay);if(!e.requestId.trim()||s.revision!==(e.expectedRevision===null?0:e.expectedRevision+1))throw new Error("Hosted Harness overlay mutation requires a stable request and next revision.");let r=y.parse(await this.client.request({contractVersion:h,requestId:e.requestId,operation:"harness/overlay/put",params:{runId:s.runId,expectedRevision:e.expectedRevision,overlay:s}}));if(r.revision!==s.revision||r.overlay.contentHash!==s.contentHash)throw new Error("Host Harness overlay response changed committed identity.");return r.overlay}async createHarnessRunOverlay(e){if(e.revision!==0||e.status!=="active")throw new Error("A new Harness run overlay must be active at revision 0.");return this.putHarnessRunOverlay({overlay:e,expectedRevision:null,requestId:`harness-overlay:${e.runId}:${e.contentHash}`})}async ensureHarnessRunOverlay(e){let s=await this.getHarnessRunOverlay(e.runId);if(s){if(s.workspace.workspaceId!==e.workspace.id||s.baseHarnessRelease.id!==e.harnessRelease.id||s.baseHarnessRelease.contentHash!==e.harnessRelease.contentHash)throw new Error("The durable Agent run is already bound to another Harness release.");return s}let r=f({schemaVersion:"openpond.harnessRunOverlay.v1",id:`overlay-${g({runId:e.runId,harnessRelease:e.harnessRelease}).slice(0,24)}`,runId:e.runId,baseHarnessRelease:e.harnessRelease,workspace:{workspaceId:e.workspace.id,revision:e.workspace.revision,sourceRevision:e.workspace.sourceRevision,channelRevision:e.workspace.currentChannel.revision},revision:0,status:"active",edits:[],createdAt:e.admittedAt,updatedAt:e.admittedAt,metadata:{}});return this.createHarnessRunOverlay(r)}async appendHarnessRunOverlayEditsAtomically(e){return this.transition(e,"append")}async freezeHarnessRunOverlayAtomically(e){return this.transition({...e,edits:[]},"freeze")}async abandonHarnessRunOverlayAtomically(e){return this.transition({...e,edits:[]},"abandon")}async freezeHarnessRunOverlayWithProposalAtomically(e){let s=await this.getHarnessRunOverlay(e.runId);if(!s||s.revision!==e.expectedRevision||s.status!=="active")throw new Error("Hosted Harness overlay revision or status changed.");let r=new Set(s.edits.map(i=>i.id));for(let i of e.edits){if(r.has(i.id))throw new Error(`Harness overlay edit id already exists: ${i.id}.`);r.add(i.id)}let{contentHash:l,...n}=s,t=f({...n,revision:s.revision+1,status:"frozen",edits:[...s.edits,...e.edits],updatedAt:e.updatedAt}),d=w.parse(e.buildProposal(t)),a=z.parse(await this.client.request({contractVersion:h,requestId:`harness-proposal:${t.runId}:${d.contentHash}`,operation:"harness/overlay/freezeProposal",params:{runId:t.runId,expectedRevision:s.revision,overlay:t,proposal:d}}));if(a.overlay.contentHash!==t.contentHash||a.proposal.contentHash!==d.contentHash)throw new Error("Host Harness proposal response changed committed identity.");return{overlay:a.overlay,proposal:a.proposal}}async transition(e,s){let r=await this.getHarnessRunOverlay(e.runId);if(!r||r.revision!==e.expectedRevision||r.status==="abandoned"||s!=="abandon"&&r.status!=="active")throw new Error("Hosted Harness overlay revision or status changed.");if(s==="append"&&e.edits.length===0)throw new Error("Harness overlay append requires edits.");let l=new Set(r.edits.map(a=>a.id));for(let a of e.edits){if(l.has(a.id))throw new Error(`Harness overlay edit id already exists: ${a.id}.`);l.add(a.id)}let{contentHash:n,...t}=r,d=f({...t,revision:r.revision+1,status:s==="append"?"active":s==="freeze"?"frozen":"abandoned",edits:[...r.edits,...e.edits],updatedAt:e.updatedAt});return this.putHarnessRunOverlay({overlay:d,expectedRevision:r.revision,requestId:`harness-overlay:${d.runId}:${d.contentHash}`})}};var N=c.object({workspace:b,release:c.object({id:c.string().min(1),contentHash:c.string().regex(/^[a-f0-9]{64}$/),sourceRevision:c.string().min(1),assetsPath:c.string().min(1)}).strict()}).strict();async function C(o,e=null){let s=await o.request({contractVersion:h,requestId:T(),operation:"harness/get",params:{reference:e}});if(s===null)return null;let r=N.parse(s);if(!p.isAbsolute(r.release.assetsPath))throw new Error("Hosted Harness assets path must be absolute.");let[l,n]=await Promise.all([v(p.join(r.release.assetsPath,"agent-snapshot.json"),"utf8"),v(p.join(r.release.assetsPath,"harness-release.json"),"utf8")]),t=A.parse({schemaVersion:"openpond.localHarnessReleaseRecord.v1",workspaceId:r.workspace.id,sourceRevision:r.release.sourceRevision,agentSnapshot:I.parse(JSON.parse(l)),harnessRelease:P.parse(JSON.parse(n)),bundlePath:r.release.assetsPath,createdAt:new Date().toISOString()});if(t.harnessRelease.id!==r.release.id||t.harnessRelease.contentHash!==r.release.contentHash||(e!==null?e.id!==r.release.id||e.contentHash!==r.release.contentHash:r.workspace.currentChannel.release?.contentHash!==r.release.contentHash))throw new Error("Hosted Harness release differs from its bound workspace.");return S({workspace:r.workspace,release:t})}u(C,"loadHostedHarnessRuntime");async function se(o,e){let s=e.profileComponentBinding,r=e.profileWorkflowBinding;if(s){if(r||e.currentProfile?.profileId!==s.profileId)throw new Error("Profile component binding differs from the session Profile reference.");let n=await x(o,s.harnessRelease);if(E(n,s.profileId,s.sourceRevision,e.currentProfile?.repositoryId),s.target.kind==="profile")return n;if(s.target.kind==="skill"){let i=s.target.skillPath;if(!n.release.agentSnapshot.skills.some(j=>j.path===i))throw new Error("Bound Profile Skill is unavailable in its released source.");let R=await v(p.join(n.release.bundlePath,"source",i),"utf8");return{...n,instructionContext:[n.instructionContext,`Released Profile Skill (${i}):
2
+ import{e as S}from"./chunk-XLZMSD5K.js";import{Z as h}from"./chunk-6I5AUTVO.js";import{a as A}from"./chunk-G4747MOW.js";import{a as b,e as H,f as w,j as f}from"./chunk-LE75SVEL.js";import{f as O,g as k}from"./chunk-ZY32SZ2P.js";import{e as I,i as P}from"./chunk-OTDDXEQ6.js";import{n as g}from"./chunk-RCT3O3HQ.js";import{A as c}from"./chunk-X2J2P5ZT.js";import{a as u}from"./chunk-FTQLQJQV.js";import{randomUUID as T}from"node:crypto";import{readFile as v}from"node:fs/promises";import p from"node:path";import{randomUUID as $}from"node:crypto";var y=c.object({revision:c.number().int().nonnegative(),overlay:H}).strict(),z=y.extend({proposal:w}).strict(),m=class{constructor(e){this.client=e}client;static{u(this,"HostedHarnessOverlayStorage")}async getHarnessRunOverlay(e){let s=await this.client.request({contractVersion:h,requestId:$(),operation:"harness/overlay/get",params:{runId:e}});return s===null?null:y.parse(s).overlay}async putHarnessRunOverlay(e){let s=H.parse(e.overlay);if(!e.requestId.trim()||s.revision!==(e.expectedRevision===null?0:e.expectedRevision+1))throw new Error("Hosted Harness overlay mutation requires a stable request and next revision.");let r=y.parse(await this.client.request({contractVersion:h,requestId:e.requestId,operation:"harness/overlay/put",params:{runId:s.runId,expectedRevision:e.expectedRevision,overlay:s}}));if(r.revision!==s.revision||r.overlay.contentHash!==s.contentHash)throw new Error("Host Harness overlay response changed committed identity.");return r.overlay}async createHarnessRunOverlay(e){if(e.revision!==0||e.status!=="active")throw new Error("A new Harness run overlay must be active at revision 0.");return this.putHarnessRunOverlay({overlay:e,expectedRevision:null,requestId:`harness-overlay:${e.runId}:${e.contentHash}`})}async ensureHarnessRunOverlay(e){let s=await this.getHarnessRunOverlay(e.runId);if(s){if(s.workspace.workspaceId!==e.workspace.id||s.baseHarnessRelease.id!==e.harnessRelease.id||s.baseHarnessRelease.contentHash!==e.harnessRelease.contentHash)throw new Error("The durable Agent run is already bound to another Harness release.");return s}let r=f({schemaVersion:"openpond.harnessRunOverlay.v1",id:`overlay-${g({runId:e.runId,harnessRelease:e.harnessRelease}).slice(0,24)}`,runId:e.runId,baseHarnessRelease:e.harnessRelease,workspace:{workspaceId:e.workspace.id,revision:e.workspace.revision,sourceRevision:e.workspace.sourceRevision,channelRevision:e.workspace.currentChannel.revision},revision:0,status:"active",edits:[],createdAt:e.admittedAt,updatedAt:e.admittedAt,metadata:{}});return this.createHarnessRunOverlay(r)}async appendHarnessRunOverlayEditsAtomically(e){return this.transition(e,"append")}async freezeHarnessRunOverlayAtomically(e){return this.transition({...e,edits:[]},"freeze")}async abandonHarnessRunOverlayAtomically(e){return this.transition({...e,edits:[]},"abandon")}async freezeHarnessRunOverlayWithProposalAtomically(e){let s=await this.getHarnessRunOverlay(e.runId);if(!s||s.revision!==e.expectedRevision||s.status!=="active")throw new Error("Hosted Harness overlay revision or status changed.");let r=new Set(s.edits.map(i=>i.id));for(let i of e.edits){if(r.has(i.id))throw new Error(`Harness overlay edit id already exists: ${i.id}.`);r.add(i.id)}let{contentHash:l,...n}=s,t=f({...n,revision:s.revision+1,status:"frozen",edits:[...s.edits,...e.edits],updatedAt:e.updatedAt}),d=w.parse(e.buildProposal(t)),a=z.parse(await this.client.request({contractVersion:h,requestId:`harness-proposal:${t.runId}:${d.contentHash}`,operation:"harness/overlay/freezeProposal",params:{runId:t.runId,expectedRevision:s.revision,overlay:t,proposal:d}}));if(a.overlay.contentHash!==t.contentHash||a.proposal.contentHash!==d.contentHash)throw new Error("Host Harness proposal response changed committed identity.");return{overlay:a.overlay,proposal:a.proposal}}async transition(e,s){let r=await this.getHarnessRunOverlay(e.runId);if(!r||r.revision!==e.expectedRevision||r.status==="abandoned"||s!=="abandon"&&r.status!=="active")throw new Error("Hosted Harness overlay revision or status changed.");if(s==="append"&&e.edits.length===0)throw new Error("Harness overlay append requires edits.");let l=new Set(r.edits.map(a=>a.id));for(let a of e.edits){if(l.has(a.id))throw new Error(`Harness overlay edit id already exists: ${a.id}.`);l.add(a.id)}let{contentHash:n,...t}=r,d=f({...t,revision:r.revision+1,status:s==="append"?"active":s==="freeze"?"frozen":"abandoned",edits:[...r.edits,...e.edits],updatedAt:e.updatedAt});return this.putHarnessRunOverlay({overlay:d,expectedRevision:r.revision,requestId:`harness-overlay:${d.runId}:${d.contentHash}`})}};var N=c.object({workspace:b,release:c.object({id:c.string().min(1),contentHash:c.string().regex(/^[a-f0-9]{64}$/),sourceRevision:c.string().min(1),assetsPath:c.string().min(1)}).strict()}).strict();async function C(o,e=null){let s=await o.request({contractVersion:h,requestId:T(),operation:"harness/get",params:{reference:e}});if(s===null)return null;let r=N.parse(s);if(!p.isAbsolute(r.release.assetsPath))throw new Error("Hosted Harness assets path must be absolute.");let[l,n]=await Promise.all([v(p.join(r.release.assetsPath,"agent-snapshot.json"),"utf8"),v(p.join(r.release.assetsPath,"harness-release.json"),"utf8")]),t=A.parse({schemaVersion:"openpond.localHarnessReleaseRecord.v1",workspaceId:r.workspace.id,sourceRevision:r.release.sourceRevision,agentSnapshot:I.parse(JSON.parse(l)),harnessRelease:P.parse(JSON.parse(n)),bundlePath:r.release.assetsPath,createdAt:new Date().toISOString()});if(t.harnessRelease.id!==r.release.id||t.harnessRelease.contentHash!==r.release.contentHash||(e!==null?e.id!==r.release.id||e.contentHash!==r.release.contentHash:r.workspace.currentChannel.release?.contentHash!==r.release.contentHash))throw new Error("Hosted Harness release differs from its bound workspace.");return S({workspace:r.workspace,release:t})}u(C,"loadHostedHarnessRuntime");async function se(o,e){let s=e.profileComponentBinding,r=e.profileWorkflowBinding;if(s){if(r||e.currentProfile?.profileId!==s.profileId)throw new Error("Profile component binding differs from the session Profile reference.");let n=await x(o,s.harnessRelease);if(E(n,s.profileId,s.sourceRevision,e.currentProfile?.repositoryId),s.target.kind==="profile")return n;if(s.target.kind==="skill"){let i=s.target.skillPath;if(!n.release.agentSnapshot.skills.some(j=>j.path===i))throw new Error("Bound Profile Skill is unavailable in its released source.");let R=await v(p.join(n.release.bundlePath,"source",i),"utf8");return{...n,instructionContext:[n.instructionContext,`Released Profile Skill (${i}):
3
3
  ${R}`].join(`
4
4
 
5
5
  `)}}let t=await q(n),d=s.target.actionId,a=t.actions.find(i=>i.id===d);if(!a)throw new Error("Bound Profile Agent action is unavailable in its released source.");return{...n,workflowAction:a}}if(r){if(e.currentProfile?.profileId!==r.profileId)throw new Error("Profile workflow binding differs from the session Profile reference.");let n=await x(o,r.harnessRelease);E(n,r.profileId,r.sourceRevision,e.currentProfile?.repositoryId);let t=await q(n),d=k({binding:r,harnessRelease:n.release.harnessRelease,catalog:t.catalog,catalogHash:t.catalogHash}),a=d.invocation.kind==="agent_action"?d.invocation.actionId:null,i=a?t.actions.find(R=>R.id===a):void 0;if(a&&!i)throw new Error(`Bound Profile action ${a} is missing from its release.`);return{...n,workflow:d,...i?{workflowAction:i}:{}}}let l=await new m(o).getHarnessRunOverlay(e.id);return C(o,l?.baseHarnessRelease??null)}u(se,"loadHostedHarnessRuntimeForSession");async function x(o,e){let s=await C(o,e);if(!s)throw new Error("The bound Profile Harness release is unavailable.");return s}u(x,"requireRelease");function E(o,e,s,r){let l=o.release.harnessRelease.metadata.profile;if(!l||typeof l!="object"||l.id!==e||l.sourceRevision!==s||l.repositoryId!==void 0&&l.repositoryId!==r)throw new Error("Bound Profile source differs from its released Harness source.")}u(E,"assertProfileProvenance");async function q(o){let e=p.join(o.release.bundlePath,"source"),[s,r]=await Promise.all([v(p.join(e,"workflows","catalog.json")),v(p.join(e,"workflows","actions.json"))]);return O({agentSnapshot:o.release.agentSnapshot,harnessRelease:o.release.harnessRelease,catalogBytes:s,actionBytes:r})}u(q,"loadHostedProfileCatalog");export{m as a,C as b,se as c};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{Ab as _,Bb as E,zb as F}from"./chunk-HG2YFMVU.js";import{a as L,b as j,c as H,d as w,e as b,f as S,g as y,l as k}from"./chunk-HVM2GUM3.js";import{e as x,f as R}from"./chunk-SV7ZBEK2.js";import{l as O,n as T}from"./chunk-RCT3O3HQ.js";import{h as g,p as A,r as C,s as N}from"./chunk-UGOK7VTC.js";import{a as r}from"./chunk-FTQLQJQV.js";import{promises as z}from"node:fs";import d from"node:path";import{randomUUID as J}from"node:crypto";import{promises as v}from"node:fs";import U from"node:path";function u(e){return{binding:r(()=>{let i=C(e.home,"refiner_bindings","active");return i?w.parse(i.value):null},"binding"),releases:r(async()=>{let i=(await v.readdir(e.releases)).filter(n=>n.endsWith(".json"));return Promise.all(i.map(async n=>H.parse(JSON.parse(await v.readFile(U.join(e.releases,n),"utf8")))))},"releases"),transitions:r(()=>Object.values(N(e.home,"refiner_transitions")).map(i=>b.parse(i.value)),"transitions"),release:r(async i=>{let n=H.parse(JSON.parse(await v.readFile(U.join(e.releases,`${i.contentHash}.json`),"utf8")));if(n.id!==i.id||n.contentHash!==i.contentHash)throw new Error("Refiner release reference does not match immutable release content.");return n},"release"),persistRelease:r(async i=>V(e.releases+`/${i.contentHash}.json`,O(i),!0),"persistRelease"),writeSource:r(async i=>V(e.source,i),"writeSource"),transition:r(async(i,n)=>{A(e.home,t=>{t.exec("BEGIN IMMEDIATE");try{let a=t.prepare("SELECT payload FROM refiner_bindings WHERE id = 'active'").get(),o=a?w.parse(JSON.parse(a.payload)):null,s=new Date().toISOString(),l={id:i.id,contentHash:i.contentHash},c={schemaVersion:"openpond.refinerTransitionReceipt.v1",id:`refiner-transition-${J()}`,operation:n.operation,bindingChanged:n.bindingChanged,previousRelease:o?.release??null,nextRelease:l,actor:n.actor,reason:n.reason,authoringSkillHash:n.authoringSkillHash,validation:{valid:!0,messages:[]},createdAt:s},p=b.parse({...c,contentHash:T(c)});if(t.prepare("INSERT INTO refiner_transitions VALUES (?, ?, 1)").run(p.contentHash,JSON.stringify(p)),n.bindingChanged){let m=w.parse({schemaVersion:"openpond.refinerBinding.v1",channel:"active",revision:(o?.revision??-1)+1,release:l,updatedAt:s});t.prepare("INSERT INTO refiner_bindings VALUES ('active', ?, 1) ON CONFLICT(id) DO UPDATE SET payload=excluded.payload, revision=revision+1").run(JSON.stringify(m))}t.exec("COMMIT")}catch(a){throw t.exec("ROLLBACK"),a}})},"transition")}}r(u,"createLocalRefinerProfileRepository");async function V(e,i,n=!1){await R(e,async()=>{if(n){let t=await v.readFile(e,"utf8").catch(()=>null);if(t!==null){if(t!==i)throw new Error("Immutable Refiner release bytes changed.");return}}await x(e,i)})}r(V,"atomicWrite");var B="OpenPond Refiner Core: evidence admission, privacy, ownership, validation, and immutable activation boundaries.";function P(e){let i=d.join(e,"library","refiners");return{home:e,root:i,source:d.join(i,"source","openpond.review.json"),releases:d.join(i,"releases")}}r(P,"refinerProfilePaths");function Re(e){let i=r(()=>f(e),"inspect"),n=r(o=>M(e,o),"update"),t=r(o=>q(e,o),"activate"),a=r(o=>G(e,o),"rollback");return{refinerHistoryPayload:i,updateRefinerProfilePayload:n,activateRefinerReleasePayload:t,rollbackRefinerReleasePayload:a,inspectRefiner:i,updateRefiner:n,activateRefiner:t,rollbackRefiner:a}}r(Re,"createRefinerProfileRoutePayloads");async function f(e){let i=P(e),n=u(i),t=n.binding();if(!t)throw new Error("Active Refiner binding is unavailable.");let a=(await n.releases()).sort((l,c)=>c.createdAt.localeCompare(l.createdAt)),o=a.find(l=>l.id===t.release.id&&l.contentHash===t.release.contentHash);if(!o)throw new Error("Active Refiner release is unavailable.");let s=n.transitions().sort((l,c)=>c.createdAt.localeCompare(l.createdAt));return F.parse({rootPath:i.root,sourcePath:i.source,binding:t,currentRelease:o,releases:a,transitions:s})}r(f,"inspectRefinerProfile");async function ue(e){return(await f(e)).currentRelease}r(ue,"loadActiveRefinerRelease");async function M(e,i){return R(d.join(g(e).runtime,"refiner-edit"),()=>W(e,i))}r(M,"updateRefinerProfile");async function W(e,i){let n=_.parse(i),t=P(e),a=u(t);await I(t);let o=L.parse(n.profile),s=S({profile:o,coreVersion:k,corePrompt:B}),c=(await a.releases()).find(m=>m.composedPromptHash===s.composedPromptHash&&m.profileHash===s.profileHash)??s;await a.persistRelease(c),await a.writeSource(y(o));let p=a.binding();if(!p)throw new Error("Active Refiner binding is unavailable.");return n.activate&&p.release.contentHash===c.contentHash||!n.activate&&a.transitions().some(h=>!h.bindingChanged&&h.nextRelease.contentHash===c.contentHash&&h.actor===n.actor&&h.reason===n.reason&&h.authoringSkillHash===n.authoringSkillHash)||await a.transition(c,{operation:"update",bindingChanged:n.activate,actor:n.actor,reason:n.reason,authoringSkillHash:n.authoringSkillHash}),f(e)}r(W,"updateRefinerProfileUnlocked");async function q(e,i){return R(d.join(g(e).runtime,"refiner-edit"),()=>$(e,i))}r(q,"activateRefinerRelease");async function $(e,i){let n=E.parse(i),t=P(e),a=u(t);await I(t);let o=await a.release(n.release),s=a.binding();if(!s)throw new Error("Active Refiner binding is unavailable.");return s.release.contentHash===o.contentHash||(await a.transition(o,{operation:"activate",bindingChanged:!0,actor:n.actor,reason:n.reason,authoringSkillHash:null}),await a.writeSource(y(o.profile))),f(e)}r($,"activateRefinerReleaseUnlocked");async function G(e,i){return R(d.join(g(e).runtime,"refiner-edit"),()=>K(e,i))}r(G,"rollbackRefinerRelease");async function K(e,i){let n=E.parse(i),t=P(e),a=u(t);await I(t);let o=await a.release(n.release),s=a.binding();if(!s)throw new Error("Active Refiner binding is unavailable.");return s.release.contentHash===o.contentHash||(await a.transition(o,{operation:"rollback",bindingChanged:!0,actor:n.actor,reason:n.reason,authoringSkillHash:null}),await a.writeSource(y(o.profile))),f(e)}r(K,"rollbackRefinerReleaseUnlocked");async function Y(e){await R(d.join(g(e).runtime,"refiner-initialize"),()=>Q(P(e)))}r(Y,"initializeRefinerProfile");async function I(e){await Y(e.home)}r(I,"ensureInitialized");async function Q(e){let i=u(e);if(await Promise.all([z.mkdir(d.dirname(e.source),{recursive:!0,mode:448}),z.mkdir(e.releases,{recursive:!0,mode:448})]),i.binding())return;let n=S({profile:j,coreVersion:k,corePrompt:B});await i.persistRelease(n),await i.writeSource(y(n.profile)),await i.transition(n,{operation:"initialize",bindingChanged:!0,actor:"openpond",reason:"Initialize the default Refiner Review Profile.",authoringSkillHash:null})}r(Q,"initialize");export{u as a,P as b,Re as c,f as d,ue as e,M as f,q as g,G as h,Y as i};
2
+ import{Ab as _,Bb as E,zb as F}from"./chunk-WXG3G2O6.js";import{a as L,b as j,c as H,d as w,e as b,f as S,g as y,l as k}from"./chunk-HVM2GUM3.js";import{e as x,f as R}from"./chunk-SV7ZBEK2.js";import{l as O,n as T}from"./chunk-RCT3O3HQ.js";import{h as g,p as A,r as C,s as N}from"./chunk-UGOK7VTC.js";import{a as r}from"./chunk-FTQLQJQV.js";import{promises as z}from"node:fs";import d from"node:path";import{randomUUID as J}from"node:crypto";import{promises as v}from"node:fs";import U from"node:path";function u(e){return{binding:r(()=>{let i=C(e.home,"refiner_bindings","active");return i?w.parse(i.value):null},"binding"),releases:r(async()=>{let i=(await v.readdir(e.releases)).filter(n=>n.endsWith(".json"));return Promise.all(i.map(async n=>H.parse(JSON.parse(await v.readFile(U.join(e.releases,n),"utf8")))))},"releases"),transitions:r(()=>Object.values(N(e.home,"refiner_transitions")).map(i=>b.parse(i.value)),"transitions"),release:r(async i=>{let n=H.parse(JSON.parse(await v.readFile(U.join(e.releases,`${i.contentHash}.json`),"utf8")));if(n.id!==i.id||n.contentHash!==i.contentHash)throw new Error("Refiner release reference does not match immutable release content.");return n},"release"),persistRelease:r(async i=>V(e.releases+`/${i.contentHash}.json`,O(i),!0),"persistRelease"),writeSource:r(async i=>V(e.source,i),"writeSource"),transition:r(async(i,n)=>{A(e.home,t=>{t.exec("BEGIN IMMEDIATE");try{let a=t.prepare("SELECT payload FROM refiner_bindings WHERE id = 'active'").get(),o=a?w.parse(JSON.parse(a.payload)):null,s=new Date().toISOString(),l={id:i.id,contentHash:i.contentHash},c={schemaVersion:"openpond.refinerTransitionReceipt.v1",id:`refiner-transition-${J()}`,operation:n.operation,bindingChanged:n.bindingChanged,previousRelease:o?.release??null,nextRelease:l,actor:n.actor,reason:n.reason,authoringSkillHash:n.authoringSkillHash,validation:{valid:!0,messages:[]},createdAt:s},p=b.parse({...c,contentHash:T(c)});if(t.prepare("INSERT INTO refiner_transitions VALUES (?, ?, 1)").run(p.contentHash,JSON.stringify(p)),n.bindingChanged){let m=w.parse({schemaVersion:"openpond.refinerBinding.v1",channel:"active",revision:(o?.revision??-1)+1,release:l,updatedAt:s});t.prepare("INSERT INTO refiner_bindings VALUES ('active', ?, 1) ON CONFLICT(id) DO UPDATE SET payload=excluded.payload, revision=revision+1").run(JSON.stringify(m))}t.exec("COMMIT")}catch(a){throw t.exec("ROLLBACK"),a}})},"transition")}}r(u,"createLocalRefinerProfileRepository");async function V(e,i,n=!1){await R(e,async()=>{if(n){let t=await v.readFile(e,"utf8").catch(()=>null);if(t!==null){if(t!==i)throw new Error("Immutable Refiner release bytes changed.");return}}await x(e,i)})}r(V,"atomicWrite");var B="OpenPond Refiner Core: evidence admission, privacy, ownership, validation, and immutable activation boundaries.";function P(e){let i=d.join(e,"library","refiners");return{home:e,root:i,source:d.join(i,"source","openpond.review.json"),releases:d.join(i,"releases")}}r(P,"refinerProfilePaths");function Re(e){let i=r(()=>f(e),"inspect"),n=r(o=>M(e,o),"update"),t=r(o=>q(e,o),"activate"),a=r(o=>G(e,o),"rollback");return{refinerHistoryPayload:i,updateRefinerProfilePayload:n,activateRefinerReleasePayload:t,rollbackRefinerReleasePayload:a,inspectRefiner:i,updateRefiner:n,activateRefiner:t,rollbackRefiner:a}}r(Re,"createRefinerProfileRoutePayloads");async function f(e){let i=P(e),n=u(i),t=n.binding();if(!t)throw new Error("Active Refiner binding is unavailable.");let a=(await n.releases()).sort((l,c)=>c.createdAt.localeCompare(l.createdAt)),o=a.find(l=>l.id===t.release.id&&l.contentHash===t.release.contentHash);if(!o)throw new Error("Active Refiner release is unavailable.");let s=n.transitions().sort((l,c)=>c.createdAt.localeCompare(l.createdAt));return F.parse({rootPath:i.root,sourcePath:i.source,binding:t,currentRelease:o,releases:a,transitions:s})}r(f,"inspectRefinerProfile");async function ue(e){return(await f(e)).currentRelease}r(ue,"loadActiveRefinerRelease");async function M(e,i){return R(d.join(g(e).runtime,"refiner-edit"),()=>W(e,i))}r(M,"updateRefinerProfile");async function W(e,i){let n=_.parse(i),t=P(e),a=u(t);await I(t);let o=L.parse(n.profile),s=S({profile:o,coreVersion:k,corePrompt:B}),c=(await a.releases()).find(m=>m.composedPromptHash===s.composedPromptHash&&m.profileHash===s.profileHash)??s;await a.persistRelease(c),await a.writeSource(y(o));let p=a.binding();if(!p)throw new Error("Active Refiner binding is unavailable.");return n.activate&&p.release.contentHash===c.contentHash||!n.activate&&a.transitions().some(h=>!h.bindingChanged&&h.nextRelease.contentHash===c.contentHash&&h.actor===n.actor&&h.reason===n.reason&&h.authoringSkillHash===n.authoringSkillHash)||await a.transition(c,{operation:"update",bindingChanged:n.activate,actor:n.actor,reason:n.reason,authoringSkillHash:n.authoringSkillHash}),f(e)}r(W,"updateRefinerProfileUnlocked");async function q(e,i){return R(d.join(g(e).runtime,"refiner-edit"),()=>$(e,i))}r(q,"activateRefinerRelease");async function $(e,i){let n=E.parse(i),t=P(e),a=u(t);await I(t);let o=await a.release(n.release),s=a.binding();if(!s)throw new Error("Active Refiner binding is unavailable.");return s.release.contentHash===o.contentHash||(await a.transition(o,{operation:"activate",bindingChanged:!0,actor:n.actor,reason:n.reason,authoringSkillHash:null}),await a.writeSource(y(o.profile))),f(e)}r($,"activateRefinerReleaseUnlocked");async function G(e,i){return R(d.join(g(e).runtime,"refiner-edit"),()=>K(e,i))}r(G,"rollbackRefinerRelease");async function K(e,i){let n=E.parse(i),t=P(e),a=u(t);await I(t);let o=await a.release(n.release),s=a.binding();if(!s)throw new Error("Active Refiner binding is unavailable.");return s.release.contentHash===o.contentHash||(await a.transition(o,{operation:"rollback",bindingChanged:!0,actor:n.actor,reason:n.reason,authoringSkillHash:null}),await a.writeSource(y(o.profile))),f(e)}r(K,"rollbackRefinerReleaseUnlocked");async function Y(e){await R(d.join(g(e).runtime,"refiner-initialize"),()=>Q(P(e)))}r(Y,"initializeRefinerProfile");async function I(e){await Y(e.home)}r(I,"ensureInitialized");async function Q(e){let i=u(e);if(await Promise.all([z.mkdir(d.dirname(e.source),{recursive:!0,mode:448}),z.mkdir(e.releases,{recursive:!0,mode:448})]),i.binding())return;let n=S({profile:j,coreVersion:k,corePrompt:B});await i.persistRelease(n),await i.writeSource(y(n.profile)),await i.transition(n,{operation:"initialize",bindingChanged:!0,actor:"openpond",reason:"Initialize the default Refiner Review Profile.",authoringSkillHash:null})}r(Q,"initialize");export{u as a,P as b,Re as c,f as d,ue as e,M as f,q as g,G as h,Y as i};
@@ -0,0 +1,2 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{b as P}from"./chunk-J7X72QUY.js";import{a as i}from"./chunk-FTQLQJQV.js";var _=3e4,R=8*1024*1024,$={timeoutMs:900*1e3,maxResponseBytes:64*1024*1024},d=class extends Error{constructor(r,n){super(`API request timed out after ${r}ms: ${n}`);this.timeoutMs=r;this.requestUrl=n;this.name="ApiTimeoutError"}timeoutMs;requestUrl;static{i(this,"ApiTimeoutError")}code="OPENPOND_API_TIMEOUT"},l=class extends Error{constructor(r,n){super(`API response exceeded ${r} bytes: ${n}`);this.maximumBytes=r;this.requestUrl=n;this.name="ApiResponseTooLargeError"}maximumBytes;requestUrl;static{i(this,"ApiResponseTooLargeError")}code="OPENPOND_API_RESPONSE_TOO_LARGE"},x=class extends Error{constructor(r,n,s,u=null){let o=u||n;super(`${s} failed: ${r}${o?` ${o}`:""}`);this.status=r;this.apiMessage=u;this.name="OpenPondApiError",this.code=n||"OPENPOND_API_ERROR"}status;apiMessage;static{i(this,"OpenPondApiError")}code};async function S(t,e,r,n={}){let{timeoutMs:s=_,maxResponseBytes:u=R,explicitBearerAuth:o=!1,...a}=n,y=`${t}${r}`,c=new Headers(a.headers),b=P();b&&!o&&c.set("x-openpond-client",b),c.set("Content-Type","application/json");let p=o?void 0:process.env.OPENPOND_API_KEY,f=e?.trim()||"",w=!o&&f.startsWith("opk_"),E=p||(w?f:null);E&&!c.has("openpond-api-key")&&c.set("openpond-api-key",E),e?c.set("Authorization",w?`ApiKey ${f}`:`Bearer ${e}`):p&&!c.has("Authorization")&&c.set("Authorization",`ApiKey ${p}`);let m=new AbortController,A=new d(s,y),h=s>0?setTimeout(()=>m.abort(A),s):null;h?.unref?.();let O=I(a.signal,m.signal,s),T=i(()=>{h&&clearTimeout(h)},"cleanup");try{let g=await fetch(y,{...a,headers:c,signal:O});return B(g,{cleanup:T,maximumBytes:u,requestUrl:y,timeoutController:m,timeoutError:A})}catch(g){throw T(),m.signal.aborted?A:g}}i(S,"apiFetch");async function k(t,e){let r;try{let n=await t.text();r=n?JSON.parse(n):{}}catch(n){if(n instanceof d||n instanceof l)throw n;r={}}if(!t.ok){let n=typeof r.error=="string"?r.error:null,s=typeof r.message=="string"?r.message:null;throw new x(t.status,n,e,s)}return r}i(k,"readApiJson");function B(t,e){if(!t.body)return e.cleanup(),t;let r=Number(t.headers.get("content-length"));if(e.maximumBytes>0&&Number.isFinite(r)&&r>e.maximumBytes)throw e.cleanup(),t.body.cancel(),new l(e.maximumBytes,e.requestUrl);let n=t.body.getReader(),s=0,u=new ReadableStream({async pull(o){try{let a=await n.read();if(a.done){e.cleanup(),o.close();return}if(s+=a.value.byteLength,e.maximumBytes>0&&s>e.maximumBytes){e.cleanup(),await n.cancel(),o.error(new l(e.maximumBytes,e.requestUrl));return}o.enqueue(a.value)}catch(a){e.cleanup(),o.error(e.timeoutController.signal.aborted?e.timeoutError:a)}},async cancel(o){e.cleanup(),await n.cancel(o)}});return new Response(u,{headers:t.headers,status:t.status,statusText:t.statusText})}i(B,"boundedResponse");function I(t,e,r){return r<=0?t??void 0:t?AbortSignal.any([t,e]):e}i(I,"composedSignal");export{S as a,k as b};