openpond 0.2.70 → 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.
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-QTA6IU6W.js → acp-VWPJ2EL4.js} +1 -1
- package/dist/chunks/{acp-agent-N77HPAYQ.js → acp-agent-OZHZMQ6R.js} +1 -1
- package/dist/chunks/{actions-command-BZQCUDMD.js → actions-command-AXGXBU75.js} +1 -1
- package/dist/chunks/{app-layer-YQQNLIXA.js → app-layer-OHPIYEOJ.js} +1 -1
- package/dist/chunks/{app-server-evaluations-RRLYWLPK.js → app-server-evaluations-Y5UEF2Y7.js} +1 -1
- package/dist/chunks/{app-server-harness-services-XXM336NU.js → app-server-harness-services-GUHAIIPS.js} +1 -1
- package/dist/chunks/{app-server-runtime-B7AMBGQZ.js → app-server-runtime-CH5STRJP.js} +1 -1
- package/dist/chunks/{apps-WG7WY5CB.js → apps-DNLT6P4J.js} +1 -1
- package/dist/chunks/{chunk-MOXIGLN2.js → chunk-23YW5PAQ.js} +1 -1
- package/dist/chunks/{chunk-ZDEIVUUI.js → chunk-27OJ2OLP.js} +1 -1
- package/dist/chunks/{chunk-NSSZ2ZIU.js → chunk-2EAZB2MW.js} +1 -1
- package/dist/chunks/{chunk-DRLP7GIU.js → chunk-2GEZ3ZY7.js} +1 -1
- package/dist/chunks/{chunk-PAYFJHPO.js → chunk-2PVW2XFF.js} +1 -1
- package/dist/chunks/{chunk-Y2WNZWT2.js → chunk-2Q6FTL4C.js} +1 -1
- package/dist/chunks/{chunk-KP2MYTP5.js → chunk-2QHB5P2K.js} +1 -1
- package/dist/chunks/{chunk-FNGZ4UDZ.js → chunk-33UVQ7DU.js} +1 -1
- package/dist/chunks/{chunk-M4ZHFDRJ.js → chunk-3JVZ7OCQ.js} +1 -1
- package/dist/chunks/{chunk-4BUM6JEC.js → chunk-3JYPUOK4.js} +1 -1
- package/dist/chunks/{chunk-DXJC3QW7.js → chunk-3VT2PPKW.js} +1 -1
- package/dist/chunks/{chunk-Z33RVGP6.js → chunk-5LKEVB2P.js} +1 -1
- package/dist/chunks/{chunk-P4QM63L3.js → chunk-5ZBDHIIE.js} +1 -1
- package/dist/chunks/{chunk-WD4KAKEX.js → chunk-64EDQ7UV.js} +1 -1
- package/dist/chunks/{chunk-OL3L3U36.js → chunk-6BTX66SV.js} +1 -1
- package/dist/chunks/{chunk-KU4TPDPH.js → chunk-6LAGMWJE.js} +1 -1
- package/dist/chunks/{chunk-65FJWWXG.js → chunk-6YR5IYHH.js} +1 -1
- package/dist/chunks/{chunk-AUO5DCEU.js → chunk-73COPJ32.js} +1 -1
- package/dist/chunks/{chunk-KDER7R45.js → chunk-7PDF2UX2.js} +1 -1
- package/dist/chunks/{chunk-SO4GMSNP.js → chunk-7SOHV5BH.js} +1 -1
- package/dist/chunks/{chunk-XOPHFUUY.js → chunk-ASMQTMQB.js} +1 -1
- package/dist/chunks/{chunk-ESYPMD7Q.js → chunk-AT3ZYNX4.js} +1 -1
- package/dist/chunks/{chunk-NMMHXYDJ.js → chunk-AVEHWUML.js} +1 -1
- package/dist/chunks/{chunk-M4A7G4S5.js → chunk-B7SCVTE6.js} +1 -1
- package/dist/chunks/{chunk-DKOVZ6R2.js → chunk-BQNU4HZW.js} +1 -1
- package/dist/chunks/{chunk-UANH7U3Y.js → chunk-BTEBZYK3.js} +1 -1
- package/dist/chunks/{chunk-BU6MW65V.js → chunk-BYVE4TMU.js} +1 -1
- package/dist/chunks/{chunk-PNPV2LDE.js → chunk-BZS2PA4O.js} +1 -1
- package/dist/chunks/{chunk-AFYYIJ6K.js → chunk-C7NQPICU.js} +1 -1
- package/dist/chunks/{chunk-K7KBFM2T.js → chunk-CBD554GZ.js} +1 -1
- package/dist/chunks/{chunk-GYYJ47GX.js → chunk-CWE2N3JI.js} +1 -1
- package/dist/chunks/{chunk-ZYLLPRPU.js → chunk-CX4T7I47.js} +1 -1
- package/dist/chunks/{chunk-AQUZCWM3.js → chunk-D2V2Y3FB.js} +1 -1
- package/dist/chunks/{chunk-2PXKSAG6.js → chunk-DLOJG7LP.js} +1 -1
- package/dist/chunks/{chunk-5G7BQAUA.js → chunk-DNNWMOMG.js} +1 -1
- package/dist/chunks/{chunk-BGMAWETL.js → chunk-DNRC6TPJ.js} +1 -1
- package/dist/chunks/{chunk-5FSPDSAO.js → chunk-DUR32LJG.js} +1 -1
- package/dist/chunks/{chunk-JZKTBYNB.js → chunk-E57PUTV2.js} +1 -1
- package/dist/chunks/{chunk-OUJ63LMU.js → chunk-ER2VONWQ.js} +1 -1
- package/dist/chunks/{chunk-TAXCMCYZ.js → chunk-ESOIZG2G.js} +4 -4
- package/dist/chunks/{chunk-CCZ276IA.js → chunk-F2EUZG2W.js} +1 -1
- package/dist/chunks/{chunk-VJR2GNRY.js → chunk-FVMTQSVW.js} +1 -1
- package/dist/chunks/{chunk-YI6ME6PU.js → chunk-GG6PM7TB.js} +1 -1
- package/dist/chunks/{chunk-DDOIPTOM.js → chunk-GMA365GI.js} +1 -1
- package/dist/chunks/{chunk-JVMSN7LH.js → chunk-GR4MJJCE.js} +1 -1
- package/dist/chunks/{chunk-FHDH4OUA.js → chunk-GUWNSMGH.js} +1 -1
- package/dist/chunks/{chunk-AFH462DO.js → chunk-HT6ILPD6.js} +1 -1
- package/dist/chunks/{chunk-3Z4VM2LF.js → chunk-HUMNLSCV.js} +1 -1
- package/dist/chunks/{chunk-XYZV3FKD.js → chunk-I6KTJ3GH.js} +1 -1
- package/dist/chunks/{chunk-WZ35ICTE.js → chunk-IFMWAOBR.js} +1 -1
- package/dist/chunks/{chunk-R2FYCJL6.js → chunk-IJJ7FYZE.js} +1 -1
- package/dist/chunks/{chunk-XHACK2KR.js → chunk-IUYGQO2K.js} +1 -1
- package/dist/chunks/{chunk-55YD4UTW.js → chunk-IV2HEX3I.js} +1 -1
- package/dist/chunks/{chunk-U7X5ZLAL.js → chunk-JCHLDNCX.js} +1 -1
- package/dist/chunks/{chunk-7PKDJHT6.js → chunk-JH4RACOB.js} +1 -1
- package/dist/chunks/{chunk-65WRWLUD.js → chunk-JVEIK4RH.js} +1 -1
- package/dist/chunks/{chunk-PPF6EBTQ.js → chunk-K3WM4NEC.js} +1 -1
- package/dist/chunks/{chunk-EGP6DF34.js → chunk-KASHK2U5.js} +2 -2
- package/dist/chunks/{chunk-7OFD6TFD.js → chunk-LMLGEOKV.js} +1 -1
- package/dist/chunks/{chunk-QUNQM2E3.js → chunk-MPEK4ZNY.js} +1 -1
- package/dist/chunks/{chunk-SDHG6CKU.js → chunk-NDNSLCPE.js} +1 -1
- package/dist/chunks/chunk-NK2L5HA2.js +2 -0
- package/dist/chunks/{chunk-WCNPGKST.js → chunk-O4YHISU2.js} +1 -1
- package/dist/chunks/{chunk-RCQYEHHD.js → chunk-O5ZOW474.js} +1 -1
- package/dist/chunks/{chunk-OXQ2WFIH.js → chunk-OEAKX5TS.js} +1 -1
- package/dist/chunks/{chunk-54755JYM.js → chunk-OFV26C2U.js} +2 -2
- package/dist/chunks/{chunk-IO5DZUKL.js → chunk-OI4DAZ4U.js} +1 -1
- package/dist/chunks/{chunk-Q73RKX7I.js → chunk-OIIE5GUK.js} +1 -1
- package/dist/chunks/{chunk-CUB6PWAJ.js → chunk-OKPV6MBX.js} +6 -6
- package/dist/chunks/{chunk-N5EAVX4G.js → chunk-OOKHHOIU.js} +1 -1
- package/dist/chunks/{chunk-MIFVX5PK.js → chunk-OQ4RWCYI.js} +1 -1
- package/dist/chunks/{chunk-EWH64WRR.js → chunk-OTG77H7U.js} +1 -1
- package/dist/chunks/{chunk-7OKZCJHS.js → chunk-OXRN2257.js} +1 -1
- package/dist/chunks/{chunk-JVNKSU27.js → chunk-PJJSQ4ZI.js} +1 -1
- package/dist/chunks/{chunk-7TM25J6S.js → chunk-PXQZOVSV.js} +2 -2
- package/dist/chunks/{chunk-YAA7F5LI.js → chunk-QKGNAYSC.js} +1 -1
- package/dist/chunks/{chunk-67U7PAMU.js → chunk-QN4CFJQC.js} +1 -1
- package/dist/chunks/{chunk-HES4VP3D.js → chunk-RJY4EI46.js} +1 -1
- package/dist/chunks/{chunk-E2JB5OCO.js → chunk-RP4DPUN2.js} +1 -1
- package/dist/chunks/{chunk-QLGP2OAQ.js → chunk-SNBFWBJI.js} +1 -1
- package/dist/chunks/{chunk-ZK3ET5EP.js → chunk-SRJTQS2D.js} +3 -3
- package/dist/chunks/{chunk-XY7HFXLH.js → chunk-SVLVIYH2.js} +1 -1
- package/dist/chunks/{chunk-7NCM6GBN.js → chunk-TOWY6Y23.js} +1 -1
- package/dist/chunks/{chunk-VWWKWYSQ.js → chunk-TWLPZHH7.js} +1 -1
- package/dist/chunks/{chunk-Y4I6CFZJ.js → chunk-UGDBMRCT.js} +1 -1
- package/dist/chunks/{chunk-JQOVC35K.js → chunk-UKTPX2EE.js} +1 -1
- package/dist/chunks/{chunk-CO23RRN7.js → chunk-UMRQKE3W.js} +1 -1
- package/dist/chunks/{chunk-B66QCXH2.js → chunk-USKCFST5.js} +1 -1
- package/dist/chunks/{chunk-3A2Y7UK3.js → chunk-USTDWGR4.js} +1 -1
- package/dist/chunks/{chunk-CIZI6Z7D.js → chunk-VMW23TIZ.js} +1 -1
- package/dist/chunks/{chunk-Y4E5AAI7.js → chunk-VND53FAU.js} +1 -1
- package/dist/chunks/{chunk-4G3GTEVS.js → chunk-VSQPWLAG.js} +1 -1
- package/dist/chunks/{chunk-KCLMA2IH.js → chunk-VV4K5YPD.js} +1 -1
- package/dist/chunks/{chunk-7RJOCGQ6.js → chunk-WAUFXZ5B.js} +1 -1
- package/dist/chunks/{chunk-HG2YFMVU.js → chunk-WXG3G2O6.js} +1 -1
- package/dist/chunks/{chunk-PACLKDTN.js → chunk-XBAB3HMA.js} +1 -1
- package/dist/chunks/chunk-XJU47QS2.js +2 -0
- package/dist/chunks/{chunk-WGQ3FMRF.js → chunk-XKDOPNQ5.js} +1 -1
- package/dist/chunks/{chunk-EYTTZ5H4.js → chunk-XLZMSD5K.js} +1 -1
- package/dist/chunks/{chunk-Q7FBVLLB.js → chunk-XNPTLJ5Z.js} +1 -1
- package/dist/chunks/{chunk-ZIQJDTQB.js → chunk-XTT3K3TR.js} +1 -1
- package/dist/chunks/{chunk-Q7P34B2O.js → chunk-YFHQRDNQ.js} +1 -1
- package/dist/chunks/{chunk-UGFSAG4U.js → chunk-YG3HITOU.js} +1 -1
- package/dist/chunks/{chunk-DWF3FCY4.js → chunk-Z5R4OSGC.js} +1 -1
- package/dist/chunks/{chunk-JT5YQ52I.js → chunk-Z6HWSTEP.js} +1 -1
- package/dist/chunks/{chunk-4PUOWSDE.js → chunk-ZEOYNUHL.js} +1 -1
- package/dist/chunks/{chunk-6C6ZCYTL.js → chunk-ZG3DBXQG.js} +1 -1
- package/dist/chunks/{chunk-4KTGYHCE.js → chunk-ZMRP2A7K.js} +1 -1
- package/dist/chunks/cli-5JARGJOD.js +2 -0
- package/dist/chunks/{command-5AXJMFYC.js → command-AI3SMEAH.js} +3 -3
- package/dist/chunks/{configuration-command-5LUNWPOL.js → configuration-command-NPA46ZOT.js} +1 -1
- package/dist/chunks/{connected-app-executor-DHXZE4X3.js → connected-app-executor-DLC23O43.js} +1 -1
- package/dist/chunks/{connected-evidence-NWMPICKJ.js → connected-evidence-TVORI55Q.js} +1 -1
- package/dist/chunks/{connected-starting-assets-NRVXIKQ2.js → connected-starting-assets-WGGBWH4K.js} +1 -1
- package/dist/chunks/{continual-UCKQ2QLH.js → continual-UHQI2EQD.js} +1 -1
- package/dist/chunks/{core-commands-ZPBX35M2.js → core-commands-QNZUBKOC.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-UUYFWWCT.js → dataset-preparation-authoring-OBMJLGA4.js} +1 -1
- package/dist/chunks/{datasets-6K3ZANIV.js → datasets-USJLJOEQ.js} +1 -1
- package/dist/chunks/{desktop-test-57INNJ76.js → desktop-test-IYHAOR47.js} +1 -1
- package/dist/chunks/{dist-2MKJC6HN.js → dist-C5XFRP53.js} +1 -1
- package/dist/chunks/{evaluation-coordination-B7CN4R2D.js → evaluation-coordination-UJENK4WQ.js} +1 -1
- package/dist/chunks/{experiment-improvements-G357VLDB.js → experiment-improvements-6GJMKIER.js} +1 -1
- package/dist/chunks/{experiments-BHQO26LJ.js → experiments-FZHILSC6.js} +1 -1
- package/dist/chunks/{experiments-signal-BI6NKETB.js → experiments-signal-E32CWBS4.js} +1 -1
- package/dist/chunks/{help-UQN5RUPA.js → help-32DLAPJR.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-QAV2UGSB.js +2 -0
- package/dist/chunks/{host-profile-external-dataset-KSEPXY2S.js → host-profile-external-dataset-C6ZPMTX6.js} +1 -1
- package/dist/chunks/{hosted-app-server-composition-WDDO6F23.js → hosted-app-server-composition-5DVBKNV3.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-VVYXQ65K.js → hosted-experiment-improvement-YQ24C54D.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-KLIORGWV.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-PTGQLPZO.js → hosted-profile-candidate-RCWFLOVJ.js} +1 -1
- package/dist/chunks/{hosted-profile-compiler-FS5R6CHJ.js → hosted-profile-compiler-UDG4BCEW.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-control-UUEZEMXU.js → hosted-profile-evaluation-control-4R3L4FTK.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-4F7OEF4T.js → hosted-profile-evaluation-inspection-NA4SSY7N.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-LIJJZDHQ.js → hosted-profile-evaluation-preparation-B4BW6JTB.js} +1 -1
- package/dist/chunks/{hosted-tasksets-KCLNMPG5.js → hosted-tasksets-IUK3VWSL.js} +1 -1
- package/dist/chunks/{human-review-PX6DBIFT.js → human-review-D6QCZLYN.js} +1 -1
- package/dist/chunks/{import-2HEYPHPW.js → import-UCG75PN5.js} +1 -1
- package/dist/chunks/{learning-Y3UKNUGE.js → learning-3XDYMYBE.js} +1 -1
- package/dist/chunks/{learning-LSXBL5DB.js → learning-OR4CYV4B.js} +1 -1
- package/dist/chunks/local-harness-improvement-runtime-GZBMBZB2.js +2 -0
- package/dist/chunks/local-harness-taskset-review-YVP2ZQJG.js +2 -0
- package/dist/chunks/{model-projects-6YWVD2TS.js → model-projects-POZRHXTF.js} +1 -1
- package/dist/chunks/{opchat-66BCRKEZ.js → opchat-APJUUTT7.js} +1 -1
- package/dist/chunks/{opchat-bounded-chat-KQWXZVFN.js → opchat-bounded-chat-PBUSUAY2.js} +1 -1
- package/dist/chunks/{organizations-IOYWDOCC.js → organizations-WK6EZ6L3.js} +1 -1
- package/dist/chunks/{profile-YH6G3ZTD.js → profile-BQMS7ALQ.js} +1 -1
- package/dist/chunks/{project-action-payload-53OH6WDH.js → project-action-payload-CGV77JSA.js} +1 -1
- package/dist/chunks/{project-agent-RYVMKW2F.js → project-agent-XVFYTEUQ.js} +1 -1
- package/dist/chunks/{published-experiment-source-SDXUVPE7.js → published-experiment-source-2CYFIRBL.js} +1 -1
- package/dist/chunks/{refiner-profile-service-56VYLZQJ.js → refiner-profile-service-OLJHA4DI.js} +1 -1
- package/dist/chunks/{runtime-ISLJIGWC.js → runtime-32KYSVZR.js} +1 -1
- package/dist/chunks/{sandbox-command-DI45NRTV.js → sandbox-command-OY3VZXGG.js} +1 -1
- package/dist/chunks/{sandbox-template-T42MDUSR.js → sandbox-template-YOOSJ4FK.js} +1 -1
- package/dist/chunks/saved-work-L4KNWLZB.js +2 -0
- package/dist/chunks/{setup-D6TY2GWV.js → setup-EU6CMRXQ.js} +1 -1
- package/dist/chunks/{src-LF5X4RNQ.js → src-3DJR7OAH.js} +1 -1
- package/dist/chunks/{src-7RN7BF4W.js → src-HYOTHMRX.js} +111 -113
- package/dist/chunks/{standalone-experiment-turn-owner-TW5MTWIO.js → standalone-experiment-turn-owner-UYPA6XHW.js} +1 -1
- package/dist/chunks/{store-chat-resources-IRHBW2EC.js → store-chat-resources-HISLEZZM.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-3KK42L4I.js → store-continual-support-reviews-ORWHS57V.js} +1 -1
- package/dist/chunks/{store-conversation-serving-IVURK52V.js → store-conversation-serving-5UGYKEGJ.js} +1 -1
- package/dist/chunks/{store-create-improve-UTCLBXF2.js → store-create-improve-APLPTVYQ.js} +1 -1
- package/dist/chunks/{store-datasets-4AQOVAQY.js → store-datasets-HDW6IYBL.js} +1 -1
- package/dist/chunks/{store-evaluation-results-PK2P3IMH.js → store-evaluation-results-KB2UDCF3.js} +1 -1
- package/dist/chunks/{store-harness-workspaces-YEXB4IRV.js → store-harness-workspaces-TKX5PZWP.js} +1 -1
- package/dist/chunks/{store-human-review-O4BVHP25.js → store-human-review-IURNTX3C.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-44SVX6YB.js → store-learned-preference-migration-validation-TH2LKQWV.js} +1 -1
- package/dist/chunks/{store-learning-SIUQIY5C.js → store-learning-WLUW2PWE.js} +1 -1
- package/dist/chunks/{store-learning-credentials-BUHR7SN6.js → store-learning-credentials-FDKCEDHK.js} +1 -1
- package/dist/chunks/{store-local-experiments-BHVTKPPE.js → store-local-experiments-M4V5RLHJ.js} +1 -1
- package/dist/chunks/{store-model-batch-review-RVAYUVK2.js → store-model-batch-review-DDZLWVTG.js} +1 -1
- package/dist/chunks/{store-model-configuration-AYFGMC5D.js → store-model-configuration-ATOFA5OH.js} +1 -1
- package/dist/chunks/{store-model-project-preparation-5DEIS7TB.js → store-model-project-preparation-ZRSCQEQR.js} +1 -1
- package/dist/chunks/{store-modification-recordings-LCPK6K2T.js → store-modification-recordings-YJIDUPVJ.js} +1 -1
- package/dist/chunks/{store-preference-comparison-5YVIQNVB.js → store-preference-comparison-JKURBESE.js} +1 -1
- package/dist/chunks/{store-task-inbox-L6IQTY26.js → store-task-inbox-L53OT6ZC.js} +1 -1
- package/dist/chunks/{store-task-inventory-QWS2C656.js → store-task-inventory-R2JJGAHW.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-EAOOY6CR.js → store-taskset-drafts-FPNJPFPO.js} +1 -1
- package/dist/chunks/{store-training-FYXZU2FE.js → store-training-DIBW7OMP.js} +1 -1
- package/dist/chunks/{store-training-jobs-3N3VKPIY.js → store-training-jobs-K7I4SXWW.js} +1 -1
- package/dist/chunks/{store-training-models-VOFVGPZR.js → store-training-models-LCSB37YY.js} +1 -1
- package/dist/chunks/{taskset-HNDIGYQG.js → taskset-XI5SJBJL.js} +1 -1
- package/dist/chunks/{taskset-packages-WMG5DUBN.js → taskset-packages-FUQWNTSB.js} +1 -1
- package/dist/chunks/{taskset-packages-T6B6HYKZ.js → taskset-packages-GM6IUOTY.js} +1 -1
- package/dist/chunks/{teams-bot-Z5CZLWE4.js → teams-bot-CYC5TR64.js} +1 -1
- package/dist/chunks/{tool-learning-ZQ6NSJ5K.js → tool-learning-52QZIJIR.js} +1 -1
- package/dist/chunks/{training-JTYQA7GA.js → training-GDLLLXSV.js} +1 -1
- package/dist/chunks/training-RL7UUBER.js +2 -0
- package/dist/chunks/training-UJ62NOJJ.js +2 -0
- package/dist/chunks/{training-hosted-36SZFS4U.js → training-hosted-V5CHG3M3.js} +1 -1
- package/dist/chunks/{training-hosted-alphaedit-HSMRDJTD.js → training-hosted-alphaedit-R5PVATV4.js} +1 -1
- package/dist/chunks/{training-hosted-decision-7JALOU6O.js → training-hosted-decision-WNK5DE3M.js} +1 -1
- package/dist/chunks/{training-hosted-engram-SXO75MFG.js → training-hosted-engram-ZQDOKXAV.js} +1 -1
- package/dist/chunks/{training-hosted-learning-E2N32YU5.js → training-hosted-learning-UEBGSSNC.js} +1 -1
- package/dist/chunks/{training-hosted-modification-comparison-TXFDJFTG.js → training-hosted-modification-comparison-KKI5CKOH.js} +1 -1
- package/dist/chunks/{training-hosted-neuron-training-J42WK4EH.js → training-hosted-neuron-training-CFWEDRSR.js} +1 -1
- package/dist/chunks/{training-hosted-serving-report-BAEABGJH.js → training-hosted-serving-report-N4NF5AVW.js} +1 -1
- package/dist/chunks/{training-hosted-steering-T556BUBG.js → training-hosted-steering-4MDUQ2YV.js} +1 -1
- package/dist/chunks/{training-model-start-P3PXDWNT.js → training-model-start-NOA6TYQK.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/skills/manifest.json +3 -3
- package/dist/skills/openpond-cli/references/experiments-and-training.md +19 -0
- package/dist/web/assets/App-L7RV4D0A.js +54 -0
- package/dist/web/assets/{AppDialog-x1HU1uLv.js → AppDialog-B2V84J7f.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-CNIKmqKc.js → AppTerminalPanel-DfYpUDKT.js} +2 -2
- package/dist/web/assets/{AppToastContext-DNWd43HS.js → AppToastContext-DuiPouLz.js} +1 -1
- package/dist/web/assets/{AppsView-BvOD83Z1.js → AppsView-B20RHDCy.js} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-BLdDr3JZ.js → AttachmentTypeIcon-l-GRNxaz.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-Ar0FlFKg.js → BrowserSidebar-Ce0ToS2O.js} +1 -1
- package/dist/web/assets/{CartesianChart-tS7f1HZv.js → CartesianChart-CtfMRAfp.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-z7_kur3h.js → ChatTimelineEntry-DzcucW20.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-CaiFEKrv.js → CollaborationTabs-BpmKjNAC.js} +1 -1
- package/dist/web/assets/{CommandMenu-BpubEqaA.js → CommandMenu-JXsoxijv.js} +1 -1
- package/dist/web/assets/{CommunityView-TGR4s99l.js → CommunityView-ggdn8pcH.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-DPWCjKXz.js → ComposerAttachments-BMmALUs_.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-Drji01_6.js → ComposerCreateImproveStrip-DcM1bkfu.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-B_oW0cz7.js → ConversationImportsSettings-BKNeARHI.js} +1 -1
- package/dist/web/assets/{DatasetReviewImport-Dr3unJSY.js → DatasetReviewImport-DyFOE0Q0.js} +1 -1
- package/dist/web/assets/{ExperimentTrainingDataWorkspace-DObvpJAw.js → ExperimentTrainingDataWorkspace-CfOyoMrq.js} +2 -2
- package/dist/web/assets/{FilePagePreview-9kkXbARN.js → FilePagePreview-B7bWObJN.js} +2 -2
- package/dist/web/assets/{GetStartedView-Dv2b_SlH.js → GetStartedView-BYbFl93M.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-sPaPMc61.js → GettingStartedDialog-UgreDozV.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-BlwhGxS6.js → HostedModelLearningReview-C_kng2U_.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-B5ahk3je.js → HostedModelLearningSettings-aesD_ifF.js} +1 -1
- package/dist/web/assets/{HtmlVisual-rGsClq0p.js → HtmlVisual-nvl1x-jh.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-Da7AwZWV.js → LabModelVersionDetailPage-DrdoNvI-.js} +1 -1
- package/dist/web/assets/{LabModelWorkspace-DTeYViWH.js → LabModelWorkspace-CHlhzG3q.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BieHbNl6.js → LabSkillSidebar-CqHeZzoj.js} +1 -1
- package/dist/web/assets/{LabsRoute-D3XqPB0-.js → LabsRoute-DzEbPpMK.js} +4 -4
- package/dist/web/assets/{LearningBatchesPage-CCBuf2u4.js → LearningBatchesPage-A2dFQW2j.js} +1 -1
- package/dist/web/assets/{MainChatThread-B6BQJfcq.js → MainChatThread-BSvKu4e5.js} +2 -2
- package/dist/web/assets/{MainPane-D3fQou29.js → MainPane-DiWIAxMj.js} +6 -6
- package/dist/web/assets/{ModelProjectPageHeader-BZn9Lu_J.js → ModelProjectPageHeader-lu6iRXHK.js} +1 -1
- package/dist/web/assets/{NativeSetupTerminal-Bglqab_g.js → NativeSetupTerminal-kZ-nFPE8.js} +2 -2
- package/dist/web/assets/{NativeSkillSidebar-pUGRdnV_.js → NativeSkillSidebar-DkkD1uH2.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-BpHN38MA.js → NewProjectDialog-Dg8dMEpc.js} +1 -1
- package/dist/web/assets/{OutputsPage-LunDCQ6w.js → OutputsPage-Dz190U9t.js} +1 -1
- package/dist/web/assets/{PageChrome-DThEcWAx.js → PageChrome-Bncv-ps0.js} +1 -1
- package/dist/web/assets/{ProjectsPage-vct_TQgL.js → ProjectsPage-DVkYvLtd.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-CgFK7DY0.js → RightChatPanelStack-CP4leenI.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-C0etQXpt.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-mmaZfybl.js → ScheduledWorkPage-DI0mgt82.js} +1 -1
- package/dist/web/assets/{SettingsView-CJfeRsWR.js → SettingsView-cCtkr089.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-CuimAfkv.js → TasksetDraftEditorPrimitives-DCQTuswJ.js} +1 -1
- package/dist/web/assets/{TeamChatView-BcK0lF1b.js → TeamChatView-BBEomfQ7.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-0pzEvy-C.js → TerminalOverlay-Dj5NUDMp.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-CcyzFz7l.js → TrainingCreationPanel-Ds4PLfsd.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DSLZXdLz.js → TrainingDraftPanel-BAuh_BF3.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-BT9pcnCn.js → UsageSettingsSection-DbzeatcW.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-BaNuXoZc.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-Bbz5qrVA.js → WorkspaceDiffPanel-xk-ve1MO.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-6hXpvMTl.js → WorkspaceEnvironmentMenu-D8GSuoYz.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-BijVemBl.js → WorkspaceFileLocation-Dl8M2ZKN.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-BOO0E5i9.js → WorkspaceGitDialogs-9BhLjYx4.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-B_YzK7Do.js → WorkspaceMonacoEditor-DYPuC7pj.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-CFti1fvu.js → WorkspacePdfPreview-B7BI9tLR.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DPAhNaV6.js → WorkspacePresentationPreview-sP7JUT7m.js} +1 -1
- package/dist/web/assets/{bot-BE2rL_qv.js → bot-D7M8ZtE6.js} +1 -1
- package/dist/web/assets/{chat-resources-Beh5lB36.js → chat-resources-DhKAnljP.js} +1 -1
- package/dist/web/assets/chevron-down-BAEcJitl.js +1 -0
- package/dist/web/assets/chevron-right-3G9s2cQ9.js +1 -0
- package/dist/web/assets/chevron-up-DTYF52H1.js +1 -0
- package/dist/web/assets/{chunk-C3TS766N-j1MK0e3c.js → chunk-C3TS766N-DENE60SE.js} +1 -1
- package/dist/web/assets/{client-choice-storage-CQ0CNkzG.js → client-choice-storage-DYZsrVr9.js} +1 -1
- package/dist/web/assets/{client-BnJhN-14.js → client-gy7zrd7a.js} +1 -1
- package/dist/web/assets/{cloud-upload-DFjZE4O4.js → cloud-upload-De-XSMUr.js} +1 -1
- package/dist/web/assets/{copy-CGrLUtw5.js → copy-DEK20zbZ.js} +1 -1
- package/dist/web/assets/{cssMode-DvRw2fUx.js → cssMode-Dau-Fhqf.js} +1 -1
- package/dist/web/assets/{external-link-3ZnEFUXd.js → external-link-DwDry0Fb.js} +1 -1
- package/dist/web/assets/{folder-open-i9n8450i.js → folder-open-DOb4AjV6.js} +1 -1
- package/dist/web/assets/{folder-plus-cu8Md_ej.js → folder-plus-BAouDaXv.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CwckmC09.js → git-commit-horizontal-DZbHXcai.js} +1 -1
- package/dist/web/assets/{htmlMode-8VF4Ovtw.js → htmlMode-DlNEe6hu.js} +1 -1
- package/dist/web/assets/{icons-4yRSxBZj.js → icons-OQhKVrDc.js} +1 -1
- package/dist/web/assets/{image-D-umhyyK.js → image-BkYJDChH.js} +1 -1
- package/dist/web/assets/{index-DiVhx1GM.js → index-M_h2Ok4V.js} +2 -2
- package/dist/web/assets/{info-Dq2RsPDJ.js → info-Mj5lp4Ic.js} +1 -1
- package/dist/web/assets/{jsonMode-CvCYQHkB.js → jsonMode-CyOEyonV.js} +1 -1
- package/dist/web/assets/loader-circle-DXVtGvuV.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-CjufNNFF.js → lspLanguageFeatures-DAYPzatg.js} +1 -1
- package/dist/web/assets/{maximize-2-CKY8dua6.js → maximize-2-BwFXSX6b.js} +1 -1
- package/dist/web/assets/{message-square-CVDgKlKX.js → message-square-C2nqfNLn.js} +1 -1
- package/dist/web/assets/{monaco.contribution-BYAgjZbj.js → monaco.contribution-BZcNCJER.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BYY3-y9l.js → monaco.contribution-BZkfRhss.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Bh0CKj9i.js → monaco.contribution-D7_X8TXe.js} +2 -2
- package/dist/web/assets/{monaco.contribution-PjJ1258q.js → monaco.contribution-KyLdVay7.js} +2 -2
- package/dist/web/assets/{monitor-UYe42gew.js → monitor-B0Qj5Wea.js} +1 -1
- package/dist/web/assets/{paperclip-DrlSVUoz.js → paperclip-CmrRruxi.js} +1 -1
- package/dist/web/assets/{pdf-BMhday2W.js → pdf-BM-9_48p.js} +1 -1
- package/dist/web/assets/play-CkACZ6Zo.js +1 -0
- package/dist/web/assets/plus-CB258e62.js +1 -0
- package/dist/web/assets/{presentation-DcZKqH7w.js → presentation-BYxhoSIo.js} +1 -1
- package/dist/web/assets/{python-CiA01i07.js → python-B3Mj03I5.js} +1 -1
- package/dist/web/assets/{refresh-cw-00D-GDnF.js → refresh-cw-CwEmO71D.js} +1 -1
- package/dist/web/assets/{save-CXe7bqR7.js → save-S--FOuce.js} +1 -1
- package/dist/web/assets/{settings-lists-B5J40WM6.js → settings-lists-ChqDppMP.js} +1 -1
- package/dist/web/assets/square-BmPfHjGU.js +1 -0
- package/dist/web/assets/{square-terminal-DxC7TTds.js → square-terminal-CawpQtCi.js} +1 -1
- package/dist/web/assets/{submit-issue-command-Dq3TqJLV.js → submit-issue-command-CFitxxmO.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BH3Jckfo.js → toggleHighContrast-D-cMCvXx.js} +1 -1
- package/dist/web/assets/training-CzbWtx75.js +1 -0
- package/dist/web/assets/{training-model-data-B6IZ3x-t.js → training-model-data-G-D64935.js} +1 -1
- package/dist/web/assets/{tsMode-DXkj4bqC.js → tsMode-9kzS1ijG.js} +1 -1
- package/dist/web/assets/{upload-B3KRHVHl.js → upload-CtYsSYrM.js} +1 -1
- package/dist/web/assets/{useAccountSettings-BGRkTRrp.js → useAccountSettings-DYYa6puz.js} +1 -1
- package/dist/web/assets/{useAgentInventory-D_1AlAZJ.js → useAgentInventory-c5B_Tszj.js} +1 -1
- package/dist/web/assets/{useChatContextSelection-hoMSuUSE.js → useChatContextSelection-DOISZpTz.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DxTER7Ow.js → useLocalAgentSchedules-QJ8RsMKm.js} +1 -1
- package/dist/web/assets/{useQuery-DkPec_9x.js → useQuery-DuTGOe2b.js} +1 -1
- package/dist/web/assets/{wifi-off-CMzpvbWl.js → wifi-off-BOfP4Vmg.js} +1 -1
- package/dist/web/assets/{workers-ziY_bTv2.js → workers-BwGpyrdj.js} +1 -1
- package/dist/web/assets/x-5_iy6IDd.js +1 -0
- package/dist/web/assets/{yaml-mSvqVSko.js → yaml-BU4IWV_7.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +1 -0
- package/package.json +1 -1
- package/dist/chunks/chunk-6D3FI2XT.js +0 -2
- package/dist/chunks/chunk-VEBW7NKD.js +0 -2
- package/dist/chunks/cli-ALEEFAJ7.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +0 -2
- package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +0 -2
- package/dist/chunks/local-harness-taskset-review-E5GN5LTR.js +0 -2
- package/dist/chunks/saved-work-54I5ZJTC.js +0 -2
- package/dist/chunks/training-5NT2YB2L.js +0 -2
- package/dist/chunks/training-UY6KRG4M.js +0 -2
- package/dist/web/assets/App-CXhxya9x.js +0 -54
- package/dist/web/assets/RightSidebarHomePanel-BJmzUcmy.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-CP-nHAsJ.js +0 -1
- package/dist/web/assets/chevron-down-Bn8yph2O.js +0 -1
- package/dist/web/assets/chevron-right-BU-jUmb2.js +0 -1
- package/dist/web/assets/chevron-up-DacwuDJZ.js +0 -1
- package/dist/web/assets/loader-circle-DBl6qqtR.js +0 -1
- package/dist/web/assets/play-DIqZnaNf.js +0 -1
- package/dist/web/assets/plus-CFNxAPMK.js +0 -1
- package/dist/web/assets/square-DJEaBefe.js +0 -1
- package/dist/web/assets/training-DWfghwfZ.js +0 -1
- package/dist/web/assets/x-omjwMPbJ.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as N,b as y,c as J}from"./chunk-Y4I6CFZJ.js";import{A as K,B as M,C as G,D as _,E as B,m as j,n as D,q as $,r as A,t as O,w as z}from"./chunk-WGQ3FMRF.js";import{ja as L}from"./chunk-BU6MW65V.js";import{f as b,m as d}from"./chunk-HIQPGYVH.js";import{Hb as U,Kb as P,Ob as T,v as R}from"./chunk-D6L6UNUQ.js";import{Eb as v,Fb as H,fb as q,l as E,pa as C,sa as S,ta as k}from"./chunk-ZY32SZ2P.js";import{A as r}from"./chunk-X2J2P5ZT.js";import{a as l}from"./chunk-FTQLQJQV.js";var F=r.string().regex(/^[a-f0-9]{64}$/),V=r.object({request:j,maximumCostUsd:r.number().finite().positive().max(1e4),graders:r.array(z).min(1).max(100),admissionRequestHash:F.optional(),sourceExperimentId:r.string().trim().min(1).max(200).optional()}).strict(),ee=V.extend({configurationHash:F}).strict(),te=D.extend({configuration:ee}).strict();function w(s){return s.policy.kind==="hosted_harness"?{...s,population:s.population.map(({receiptId:t,...e})=>e)}:s}l(w,"experimentConfigurationRequest");function se(s){let t=V.parse(s);return d({...t,request:w(t.request)})}l(se,"experimentRunConfigurationHash");async function re(s){let t=te.parse(s),{configuration:e,...a}=t,n=await A(a),{configurationHash:o,...i}=e;if(o!==se(i)||d(w(e.request))!==d(w(n.request))||e.maximumCostUsd!==n.manifest.limits.maximumSpendUsd)throw new Error("Experiment configuration differs from its retained run.");if(n.manifest.metadata.experimentDefinition===null){let m=M.parse({definition:null,configurationHash:e.configurationHash,maximumCostUsd:e.maximumCostUsd,graders:e.graders,...e.admissionRequestHash?{admissionRequestHash:e.admissionRequestHash}:{},...e.sourceExperimentId?{sourceExperimentId:e.sourceExperimentId}:{}});if(n.manifest.metadata.experimentConfigurationHash!==d(m))throw new Error("Experiment configuration differs from its admitted manifest.")}return{...n,configuration:e}}l(re,"verifyExperimentRunDetails");var ae=r.object({teamId:r.string().trim().min(1).max(240),items:r.array(r.object({name:r.string().trim().min(1).max(500),source:q,ready:r.boolean(),reason:r.string().min(1).max(2e3).nullable()}).strict()).max(8),nextCursor:r.string().min(1).max(8192).nullable()}).strict(),p=r.string().min(1).max(500),X=r.string().regex(/^[a-f0-9]{64}$/),g=r.iso.datetime(),I=r.number().finite().nonnegative().nullable(),h=r.number().int().nonnegative().nullable(),Q=r.object({id:p,sequence:r.number().int().nonnegative(),at:g.nullable(),type:r.string().max(160),action:r.string().max(160).nullable(),correlationId:p.nullable(),attempt:h,taskId:p.nullable(),status:r.string().max(100).nullable(),errorCode:r.string().max(200).nullable(),cleanupComplete:r.boolean().nullable()}).strict(),ne=r.object({id:p,kind:r.string().max(100),status:r.string().max(100),receiptId:p.nullable(),maximumUsd:I,settledUsd:I,model:r.string().max(200).nullable(),durationMs:h,inputTokens:h,outputTokens:h,totalTokens:h}).strict(),W=r.object({schemaVersion:r.literal("openpond.runDiagnostics.v1"),teamId:p,runId:p,location:r.enum(["local","hosted"]),manifestHash:X,observedAt:g,status:r.string().max(100),startedAt:g.nullable(),completedAt:g.nullable(),error:r.string().max(8192).nullable(),resultAvailable:r.boolean(),parent:r.object({id:p,status:r.string().max(100),attempt:h,heartbeatAt:g.nullable(),leaseExpiresAt:g.nullable(),releasedAt:g.nullable(),errorCode:r.string().max(200).nullable()}).strict().nullable(),accounting:r.object({maximumUsd:I,settledUsd:I,outstandingUsd:I,outstandingCount:h,final:r.boolean(),receiptCount:h}).strict(),events:r.array(Q).max(100),nextEventCursor:r.number().int().nonnegative().nullable(),eventCount:r.number().int().nonnegative(),calls:r.array(ne).max(100),nextCallCursor:p.nullable(),callCount:r.number().int().nonnegative(),limitations:r.array(r.string().max(1e3)).max(30)}).strict(),ie=W.extend({contentHash:X}).strict(),oe=r.object({afterSequence:r.number().int().nonnegative().optional(),afterCallId:p.optional()}).strict();function Re(s){let t=W.parse(s);return{...t,contentHash:d(t)}}l(Re,"sealRunDiagnostics");function de(s,t){let e=ie.parse(s),{contentHash:a,...n}=e;if(a!==d(n)||e.teamId!==t.teamId||e.runId!==t.runId||t.manifestHash&&e.manifestHash!==t.manifestHash)throw new Error("Diagnostics differ from the selected workspace, run or retained evidence.");if(e.events.length>e.eventCount||e.calls.length>e.callCount||new Set(e.events.map(o=>o.id)).size!==e.events.length||e.events.some((o,i)=>o.sequence<=(i?e.events[i-1].sequence:t.afterSequence??-1))||e.calls.some((o,i)=>o.id<=(i?e.calls[i-1].id:t.afterCallId??""))||e.nextEventCursor!==null&&e.nextEventCursor!==e.events.at(-1)?.sequence||e.nextCallCursor!==null&&e.nextCallCursor!==e.calls.at(-1)?.id||e.accounting.final&&(e.accounting.outstandingCount!==0||e.accounting.settledUsd===null||!e.accounting.receiptCount))throw new Error("Diagnostic evidence pagination or final accounting is inconsistent.");return e}l(de,"verifyRunDiagnostics");function Ue(s){let t=l(o=>o!==null&&typeof o=="object"&&!Array.isArray(o)?o:{},"record"),e=t(s.payload),a=t(e.data),n=l((o,i)=>typeof o=="string"&&/^[a-zA-Z0-9_.:/-]+$/.test(o)?o.slice(0,i):null,"token");return Q.parse({id:s.id,sequence:s.sequence,at:s.at,type:s.type.slice(0,160),action:n(e.action,160),correlationId:n(a.callId??a.toolCallId,500),attempt:typeof e.attempt=="number"&&Number.isInteger(e.attempt)&&e.attempt>=0?e.attempt:null,taskId:n(e.taskId??a.taskId,500),status:n(e.status,100),errorCode:n(e.errorCode??e.code,200),cleanupComplete:typeof e.complete=="boolean"&&s.type==="experiment.harness.cleanup"?e.complete:null})}l(Ue,"diagnosticEvent");function Pe(s){return s?s.match(/\b[a-z][a-z0-9]+(?:_[a-z0-9]+){1,12}\b/g)?.slice(0,6).join(" / ")||"Failure recorded. Inspect the authorized run for its exact message.":null}l(Pe,"diagnosticFailure");var c=r.string().trim().min(1).max(200),ce=class extends Error{static{l(this,"OpenPondExperimentError")}constructor(s,t,e){super(e),this.status=s,this.code=t,this.name="OpenPondExperimentError"}status;code},Te=class{static{l(this,"OpenPondExperimentsClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async defaults(s){return r.object({maximumSpendUsd:r.number().finite().min(1e-6).max(1e4),maximumComparisonSpendUsd:r.number().finite().min(1e-6).max(1e4),initialOutputTokens:r.number().int().positive()}).strict().parse(await this.request("/defaults","GET",void 0,s))}async createComparisonBudget(s,t){let e=r.object({id:c,operationIds:r.array(c).min(1).max(100),maximumSpendUsd:r.number().finite().min(1e-6).max(1e4).optional()}).strict().parse(s),a=this.comparisonBudgetResult(await this.request("/comparison-budgets","POST",e,t),e.id);if(d(a.operations.map(n=>n.operationId).sort())!==d([...e.operationIds].sort())||e.maximumSpendUsd!==void 0&&a.maximumSpendUsd!==e.maximumSpendUsd)throw new Error("Comparison admission differs from its requested operations or ceiling.");return a}async comparisonBudget(s,t){return this.comparisonBudgetResult(await this.request(`/comparison-budgets/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}comparisonBudgetResult(s,t){let e=r.object({id:c,teamId:c,maximumSpendUsd:r.number().finite().positive(),settledUsd:r.number().finite().nonnegative(),reservedUsd:r.number().finite().nonnegative(),remainingUsd:r.number().finite().nonnegative(),operations:r.array(r.object({operationId:c,runId:c.nullable()}).strict()).min(1).max(100)}).strict().parse(s);if(e.id!==t||e.teamId!==this.options.teamId)throw new Error("Comparison budget scope mismatch.");return e}async harnessSources(s={}){let t=s.cursor===void 0?void 0:r.string().min(1).max(8192).parse(s.cursor),e=new URLSearchParams(t?{cursor:t}:{}),a=ae.parse(await this.request(`/harness-sources?${e}`,"GET",void 0,s.signal));if(a.teamId!==this.options.teamId||new Set(a.items.map(n=>d(n.source))).size!==a.items.length||a.nextCursor!==null&&a.nextCursor===t||a.items.some(n=>n.ready!==(n.reason===null)))throw new Error("Harness catalog differs from its workspace, readiness or continuation.");return a}async prepareHarness(s,t){let e=G.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd}),a=_.parse(await this.request("/harness-setup","POST",e,t));$(a.request,a.manifest);let n=a.request.policy;if(a.request.teamId!==this.options.teamId||a.request.operationId!==e.operationId||n.kind!=="hosted_harness"||n.profileRepositoryId!==e.profileRepositoryId||n.source.definitionId!==e.definitionId||n.modelId!==e.modelId||n.reasoningEffort!==e.reasoningEffort||a.maximumCostUsd!==e.maximumCostUsd||a.manifest.limits.maximumSpendUsd!==e.maximumCostUsd)throw new Error("Harness preparation differs from its requested scope or configuration.");return a}async run(s,t){let e=B.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd});if(e.request.teamId!==this.options.teamId)throw new Error("Experiment workspace mismatch.");let a=await this.details(await this.request("","POST",{...e,maximumCostUsd:s.maximumCostUsd},t));if(s.maximumCostUsd===void 0&&(e.maximumCostUsd=a.configuration.maximumCostUsd),d(w(a.request))!==d(w(e.request))||a.configuration.maximumCostUsd!==e.maximumCostUsd||a.configuration.sourceExperimentId!==e.sourceExperimentId||a.configuration.admissionRequestHash!==d(e))throw new Error("Experiment admission differs from its submitted configuration.");if(e.graders&&d(e.graders)!==d(a.configuration.graders.map(n=>({id:n.id,version:n.version,contentHash:n.contentHash,mappings:n.mappings??[]}))))throw new Error("Experiment admission differs from its selected graders or mappings.");return a}async get(s,t={}){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t.signal),s)}async diagnostics(s,t={}){let e=oe.parse({afterSequence:t.afterSequence,afterCallId:t.afterCallId}),a=new URLSearchParams(Object.entries(e).filter(([,n])=>n!==void 0).map(([n,o])=>[n,String(o)]));return de(await this.request(`/${encodeURIComponent(c.parse(s))}/diagnostics?${a}`,"GET",void 0,t.signal),{teamId:this.options.teamId,runId:s,manifestHash:t.manifestHash,afterSequence:t.afterSequence,afterCallId:t.afterCallId})}async list(s={},t){let e=K.parse(s),a=new URLSearchParams(Object.entries(e).filter(([,i])=>i!==void 0).map(([i,m])=>[i,String(m)])),n=r.object({items:r.array(r.unknown()).max(100),nextCursor:c.nullable()}).strict().parse(await this.request(`?${a}`,"GET",void 0,t)),o=await Promise.all(n.items.map(i=>this.details(i)));if(o.length>e.limit||new Set(o.map(i=>i.summary.id)).size!==o.length||n.nextCursor!==null&&n.nextCursor!==o.at(-1)?.summary.id||o.some(i=>e.projectId&&i.request.project?.id!==e.projectId||e.datasetHash&&i.request.taskset.contentHash!==e.datasetHash||e.status&&i.summary.status!==e.status))throw new Error("Experiment page differs from its selected scope.");return{items:o,nextCursor:n.nextCursor}}async result(s,t){let e=r.object({executionId:c,passId:c.nullable(),manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.executionId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.lineage?.execution.id!==s||a.manifest.lineage.scoringPassId!==e.passId)throw new Error("Experiment result identity mismatch.");return{...a,executionId:s,passId:e.passId}}async cancel(s,t){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async duplicate(s,t,e){let a=await this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/duplicate`,"POST",{operationId:c.parse(t)},e));if(a.request.operationId!==t||a.configuration.sourceExperimentId!==s||a.summary.id===s)throw new Error("Duplicate Experiment admission differs from its source or operation.");return a}async score(s,t){let e=N.parse(s),a=this.pass(await this.request(`/${encodeURIComponent(e.execution.id)}/scoring-passes`,"POST",e,t));if(d(a.request)!==d(e))throw new Error("Scoring admission differs from its submitted inputs.");return a}async scoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}async scoringPasses(s,t={}){let e=new URLSearchParams(t.afterId?{afterId:c.parse(t.afterId)}:{});t.executionKind&&e.set("executionKind",r.literal("recorded_evidence").parse(t.executionKind));let a=r.object({items:r.array(r.unknown()).max(30),nextCursor:c.nullable()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/scoring-passes?${e}`,"GET",void 0,t.signal)),n=a.items.map(o=>this.pass(o));if(n.some(o=>o.request.execution.id!==s||o.request.executionKind!==t.executionKind)||new Set(n.map(o=>o.id)).size!==n.length)throw new Error("Scoring pass page differs from its execution ownership.");return{items:n,nextCursor:a.nextCursor}}async cancelScoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async scoringResult(s,t){let e=r.object({executionId:c,passId:c,manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.passId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.id!==s||a.manifest.lineage?.execution.id!==e.executionId||a.manifest.lineage.scoringPassId!==s)throw new Error("Scoring result identity mismatch.");return{...a,executionId:e.executionId,passId:s}}async compare(s,t,e){let a=l(i=>i.startsWith("score_")?this.scoringResult(i,e):this.result(i,e),"read"),[n,o]=await Promise.all([a(s),a(t)]);return{baseline:n,candidate:o,comparison:H(n,o)}}async details(s,t){let e=await re(s);if(e.summary.teamId!==this.options.teamId||t&&e.summary.id!==t)throw new Error("Experiment identity mismatch.");return e}pass(s,t){let e=y(s);if(e.teamId!==this.options.teamId||t&&e.id!==t)throw new Error("Scoring pass identity mismatch.");return e}async request(s,t,e,a){let n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments${s}`,{method:t,signal:a,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...e===void 0?{}:{body:JSON.stringify(e)}}),o=await n.json();if(!n.ok){let i=r.object({code:r.string(),message:r.string()}).safeParse(o);throw new ce(n.status,i.success?i.data.code:"experiment_request_failed",i.success?i.data.message:"Experiment request failed.")}return o}},f=r.string().trim().min(1).max(500),Z=r.string().regex(/^[a-f0-9]{64}$/),me=r.object({schemaVersion:r.literal("openpond.experimentCaseInspection.v1"),teamId:f,executionId:f,manifestHash:Z,receiptId:f,taskId:f,seed:r.string().min(1),input:r.record(r.string(),r.unknown()).nullable(),output:r.unknown().nullable(),error:r.string().nullable(),events:r.array(r.record(r.string(),r.unknown())).max(25),nextEventCursor:f.nullable(),eventCount:r.number().int().nonnegative()}).strict(),ue=me.extend({contentHash:Z}).strict(),De=class{static{l(this,"OpenPondExperimentInspectionClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async case(s,t,e={}){let a=new URLSearchParams(e.afterId?{afterId:f.parse(e.afterId)}:{}),n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments/${encodeURIComponent(f.parse(s))}/cases/${encodeURIComponent(f.parse(t))}?${a}`,{signal:e.signal,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,Accept:"application/json"}}),o=await n.json();if(!n.ok)throw new Error(r.object({message:r.string()}).parse(o).message);let i=ue.parse(o),{contentHash:m,...u}=i;if(d(u)!==m||i.teamId!==this.options.teamId||i.executionId!==s||i.receiptId!==t||e.manifestHash&&i.manifestHash!==e.manifestHash||i.events.length>i.eventCount)throw new Error("Case inspection differs from its requested workspace, execution or retained content.");return i}};function le(s){return JSON.stringify(s.release?["reward",s.release.id,s.release.revision,s.release.contentHash,s.feedbackKey]:["dataset",s.id,s.version,s.contentHash,s.feedbackKey])}l(le,"datasetGraderIdentity");function pe(s){let t=new Map;for(let e of s){let a=le(e),n=t.get(a);n?n.aliases.push(e):t.set(a,{key:a,grader:e,aliases:[e]})}return[...t.values()]}l(pe,"groupDatasetGraders");function $e(s){let t=pe(s),e=new Map;for(let a of t){let n=e.get(a.grader.feedbackKey);if(n&&n!==a.key)throw new Error(`Different selected grader releases use feedback key "${a.grader.feedbackKey}". Select one, or publish graders with distinct feedback keys.`);e.set(a.grader.feedbackKey,a.key);let o=JSON.stringify(a.grader.mappings??[]);if(a.aliases.some(i=>JSON.stringify(i.mappings??[])!==o))throw new Error(`Aliases of grader "${a.grader.feedbackKey}" have different field mappings. Select one alias and review its mappings.`)}return t.map(a=>a.grader)}l($e,"canonicalDatasetGraderSelection");function Ke(s){let t=C(s.binding),e=L(s.packageValue),a=e.taskset;if(a.id!==t.dataset.id||a.revision!==t.dataset.revision||a.contentHash!==t.dataset.contentHash||e.contentHash!==t.packageHash||d(a.environment)!==t.environmentHash||d(e.files.filter(n=>n.asset.visibility!=="policy").map(n=>n.asset))!==t.privateDatasetClosureHash)throw new Error("The selected Dataset package, environment or protected closure changed.");if(t.population.length>500)throw new Error("Select at most 500 exact Dataset cases before starting this bounded Profile evaluation.");for(let n of t.population){let o=a.tasks.find(i=>i.id===n.taskId);if(!o||o.split!==t.split)throw new Error("The selected ordered population is outside its exact Dataset split.");if(n.fixtureId!==null)throw new Error("This recorded cutoff needs an admitted replay fixture before executing the Profile target.")}if(t.gradingSource){if(!s.actualGrading)throw new Error("The actual selected scoring owner is required for this recipe.");let n=y(s.actualGrading.pass),o=v(r.object({manifest:r.unknown(),result:r.unknown()}).strict().parse(s.actualGrading.evidence));if(n.status!=="completed"||n.id!==t.gradingSource.pass.id||n.contentHash!==t.gradingSource.pass.contentHash||o.manifest.id!==t.gradingSource.evidence.id||o.result.contentHash!==t.gradingSource.evidence.contentHash||o.manifest.lineage?.scoringPassId!==n.id||d(o.manifest.dataset)!==d(t.dataset)||d(o.manifest.evaluators)!==d(t.evaluators)||d(t.fieldMappings)!==d(n.graders.map(u=>({graderId:u.id,fields:u.mappings??[]}))))throw new Error("The selected scoring owner changed its exact Dataset, measurements or mappings.");let i=o.manifest.population,m=t.recordedOrigin?t.recordedOrigin.members.map(u=>({caseId:u.caseId,seed:u.seed,fixtureId:u.fixtureId})):t.population.map(u=>({caseId:u.taskId,seed:u.seed,fixtureId:u.fixtureId}));if(i.length!==m.length||i.some((u,Y)=>d(u)!==d(m[Y])))throw new Error("The selected scoring population differs from the exact ordered original cases and cutoffs.")}else{if(t.fieldMappings.some(i=>!a.graders.some(m=>m.id===i.graderId)))throw new Error("The field mappings name a grader outside the selected release.");for(let i of t.fieldMappings)O.parse(i.fields);let n=t.evaluators.map(i=>{let m=s.graders.find(u=>u.feedbackKey===i.feedbackKey&&d(u.release??{id:u.id,revision:u.version,contentHash:u.contentHash})===d(i.release));if(!m)throw new Error("Select an exact released Dataset grader for this external recipe.");return m});if(t.fieldMappings.some(i=>!n.some(m=>m.id===i.graderId)))throw new Error("Field mappings refer to an unselected grader.");let o=n.map(i=>({release:i.release??{id:i.id,revision:i.version,contentHash:i.contentHash},feedbackKey:i.feedbackKey,configurationHash:d({graderHash:i.contentHash,mappings:t.fieldMappings.find(m=>m.graderId===i.id)?.fields??[]}),output:"score",categories:[]}));if(d(o)!==d(t.evaluators))throw new Error("The external recipe's graders or mappings differ from the current exact released grading settings.");for(let i of s.graders)if(!a.graders.some(m=>m.id===i.id&&m.version===i.version&&d(m)===i.contentHash))throw new Error("External grader pins differ from the actual Dataset implementation.")}for(let n of s.graders)if(!a.graders.some(o=>o.id===n.id&&o.version===n.version&&d(o)===n.contentHash))throw new Error("Dataset-native grader pins differ from their actual implementation.");return e}l(Ke,"verifyExternalDatasetPackage");var x=r.string().trim().min(1).max(240),fe=r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),sourceRevision:r.string().min(1).max(500),harnessRelease:b,catalogHash:r.string().regex(/^[a-f0-9]{64}$/).nullable(),definitions:r.array(S).max(1e3),suites:r.array(k).max(100),runs:r.array(r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),manifest:R,metric:E,gradeRefs:r.array(b),receiptRefs:r.array(b),passRate:r.number().min(0).max(1),passed:r.boolean(),completedAt:r.iso.datetime(),contentHash:r.string().regex(/^[a-f0-9]{64}$/)}).strict()).max(1e3),comparisons:r.array(U).max(1e3),suiteRuns:r.array(T).max(1e3),reports:r.array(P).max(1e3)}).strict(),he=r.object({teamId:x,profileRepositoryId:x,trainingProjectId:x.optional()}).strict(),_e=class{static{l(this,"OpenPondProfileEvaluationDiscoveryClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("Profile discovery requires a scoped HTTP endpoint and owner credential.")}options;async read(s,t){let e=he.parse({...s,teamId:this.options.teamId}),{response:a,value:n}=await J(this.options.fetch??fetch,`${this.options.baseUrl.replace(/\/$/,"")}/v1/profile-evaluation-discovery`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},(i,m,u)=>new Error(u));if(!a.ok)throw new Error("The released Profile evaluation owner is unavailable to this account and workspace.");let o=fe.parse(n);if(o.profileRef.repositoryId!==e.profileRepositoryId)throw new Error("Profile discovery returned another source owner.");return o}};export{te as a,oe as b,Re as c,Ue as d,Pe as e,ce as f,Te as g,De as h,$e as i,Ke as j,_e as k};
|
|
2
|
+
import{a as N,b as y,c as J}from"./chunk-UGDBMRCT.js";import{A as K,B as M,C as G,D as _,E as B,m as j,n as D,q as $,r as A,t as O,w as z}from"./chunk-XKDOPNQ5.js";import{ja as L}from"./chunk-BYVE4TMU.js";import{f as b,m as d}from"./chunk-HIQPGYVH.js";import{Hb as U,Kb as P,Ob as T,v as R}from"./chunk-D6L6UNUQ.js";import{Eb as v,Fb as H,fb as q,l as E,pa as C,sa as S,ta as k}from"./chunk-ZY32SZ2P.js";import{A as r}from"./chunk-X2J2P5ZT.js";import{a as l}from"./chunk-FTQLQJQV.js";var F=r.string().regex(/^[a-f0-9]{64}$/),V=r.object({request:j,maximumCostUsd:r.number().finite().positive().max(1e4),graders:r.array(z).min(1).max(100),admissionRequestHash:F.optional(),sourceExperimentId:r.string().trim().min(1).max(200).optional()}).strict(),ee=V.extend({configurationHash:F}).strict(),te=D.extend({configuration:ee}).strict();function w(s){return s.policy.kind==="hosted_harness"?{...s,population:s.population.map(({receiptId:t,...e})=>e)}:s}l(w,"experimentConfigurationRequest");function se(s){let t=V.parse(s);return d({...t,request:w(t.request)})}l(se,"experimentRunConfigurationHash");async function re(s){let t=te.parse(s),{configuration:e,...a}=t,n=await A(a),{configurationHash:o,...i}=e;if(o!==se(i)||d(w(e.request))!==d(w(n.request))||e.maximumCostUsd!==n.manifest.limits.maximumSpendUsd)throw new Error("Experiment configuration differs from its retained run.");if(n.manifest.metadata.experimentDefinition===null){let m=M.parse({definition:null,configurationHash:e.configurationHash,maximumCostUsd:e.maximumCostUsd,graders:e.graders,...e.admissionRequestHash?{admissionRequestHash:e.admissionRequestHash}:{},...e.sourceExperimentId?{sourceExperimentId:e.sourceExperimentId}:{}});if(n.manifest.metadata.experimentConfigurationHash!==d(m))throw new Error("Experiment configuration differs from its admitted manifest.")}return{...n,configuration:e}}l(re,"verifyExperimentRunDetails");var ae=r.object({teamId:r.string().trim().min(1).max(240),items:r.array(r.object({name:r.string().trim().min(1).max(500),source:q,ready:r.boolean(),reason:r.string().min(1).max(2e3).nullable()}).strict()).max(8),nextCursor:r.string().min(1).max(8192).nullable()}).strict(),p=r.string().min(1).max(500),X=r.string().regex(/^[a-f0-9]{64}$/),g=r.iso.datetime(),I=r.number().finite().nonnegative().nullable(),h=r.number().int().nonnegative().nullable(),Q=r.object({id:p,sequence:r.number().int().nonnegative(),at:g.nullable(),type:r.string().max(160),action:r.string().max(160).nullable(),correlationId:p.nullable(),attempt:h,taskId:p.nullable(),status:r.string().max(100).nullable(),errorCode:r.string().max(200).nullable(),cleanupComplete:r.boolean().nullable()}).strict(),ne=r.object({id:p,kind:r.string().max(100),status:r.string().max(100),receiptId:p.nullable(),maximumUsd:I,settledUsd:I,model:r.string().max(200).nullable(),durationMs:h,inputTokens:h,outputTokens:h,totalTokens:h}).strict(),W=r.object({schemaVersion:r.literal("openpond.runDiagnostics.v1"),teamId:p,runId:p,location:r.enum(["local","hosted"]),manifestHash:X,observedAt:g,status:r.string().max(100),startedAt:g.nullable(),completedAt:g.nullable(),error:r.string().max(8192).nullable(),resultAvailable:r.boolean(),parent:r.object({id:p,status:r.string().max(100),attempt:h,heartbeatAt:g.nullable(),leaseExpiresAt:g.nullable(),releasedAt:g.nullable(),errorCode:r.string().max(200).nullable()}).strict().nullable(),accounting:r.object({maximumUsd:I,settledUsd:I,outstandingUsd:I,outstandingCount:h,final:r.boolean(),receiptCount:h}).strict(),events:r.array(Q).max(100),nextEventCursor:r.number().int().nonnegative().nullable(),eventCount:r.number().int().nonnegative(),calls:r.array(ne).max(100),nextCallCursor:p.nullable(),callCount:r.number().int().nonnegative(),limitations:r.array(r.string().max(1e3)).max(30)}).strict(),ie=W.extend({contentHash:X}).strict(),oe=r.object({afterSequence:r.number().int().nonnegative().optional(),afterCallId:p.optional()}).strict();function Re(s){let t=W.parse(s);return{...t,contentHash:d(t)}}l(Re,"sealRunDiagnostics");function de(s,t){let e=ie.parse(s),{contentHash:a,...n}=e;if(a!==d(n)||e.teamId!==t.teamId||e.runId!==t.runId||t.manifestHash&&e.manifestHash!==t.manifestHash)throw new Error("Diagnostics differ from the selected workspace, run or retained evidence.");if(e.events.length>e.eventCount||e.calls.length>e.callCount||new Set(e.events.map(o=>o.id)).size!==e.events.length||e.events.some((o,i)=>o.sequence<=(i?e.events[i-1].sequence:t.afterSequence??-1))||e.calls.some((o,i)=>o.id<=(i?e.calls[i-1].id:t.afterCallId??""))||e.nextEventCursor!==null&&e.nextEventCursor!==e.events.at(-1)?.sequence||e.nextCallCursor!==null&&e.nextCallCursor!==e.calls.at(-1)?.id||e.accounting.final&&(e.accounting.outstandingCount!==0||e.accounting.settledUsd===null||!e.accounting.receiptCount))throw new Error("Diagnostic evidence pagination or final accounting is inconsistent.");return e}l(de,"verifyRunDiagnostics");function Ue(s){let t=l(o=>o!==null&&typeof o=="object"&&!Array.isArray(o)?o:{},"record"),e=t(s.payload),a=t(e.data),n=l((o,i)=>typeof o=="string"&&/^[a-zA-Z0-9_.:/-]+$/.test(o)?o.slice(0,i):null,"token");return Q.parse({id:s.id,sequence:s.sequence,at:s.at,type:s.type.slice(0,160),action:n(e.action,160),correlationId:n(a.callId??a.toolCallId,500),attempt:typeof e.attempt=="number"&&Number.isInteger(e.attempt)&&e.attempt>=0?e.attempt:null,taskId:n(e.taskId??a.taskId,500),status:n(e.status,100),errorCode:n(e.errorCode??e.code,200),cleanupComplete:typeof e.complete=="boolean"&&s.type==="experiment.harness.cleanup"?e.complete:null})}l(Ue,"diagnosticEvent");function Pe(s){return s?s.match(/\b[a-z][a-z0-9]+(?:_[a-z0-9]+){1,12}\b/g)?.slice(0,6).join(" / ")||"Failure recorded. Inspect the authorized run for its exact message.":null}l(Pe,"diagnosticFailure");var c=r.string().trim().min(1).max(200),ce=class extends Error{static{l(this,"OpenPondExperimentError")}constructor(s,t,e){super(e),this.status=s,this.code=t,this.name="OpenPondExperimentError"}status;code},Te=class{static{l(this,"OpenPondExperimentsClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async defaults(s){return r.object({maximumSpendUsd:r.number().finite().min(1e-6).max(1e4),maximumComparisonSpendUsd:r.number().finite().min(1e-6).max(1e4),initialOutputTokens:r.number().int().positive()}).strict().parse(await this.request("/defaults","GET",void 0,s))}async createComparisonBudget(s,t){let e=r.object({id:c,operationIds:r.array(c).min(1).max(100),maximumSpendUsd:r.number().finite().min(1e-6).max(1e4).optional()}).strict().parse(s),a=this.comparisonBudgetResult(await this.request("/comparison-budgets","POST",e,t),e.id);if(d(a.operations.map(n=>n.operationId).sort())!==d([...e.operationIds].sort())||e.maximumSpendUsd!==void 0&&a.maximumSpendUsd!==e.maximumSpendUsd)throw new Error("Comparison admission differs from its requested operations or ceiling.");return a}async comparisonBudget(s,t){return this.comparisonBudgetResult(await this.request(`/comparison-budgets/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}comparisonBudgetResult(s,t){let e=r.object({id:c,teamId:c,maximumSpendUsd:r.number().finite().positive(),settledUsd:r.number().finite().nonnegative(),reservedUsd:r.number().finite().nonnegative(),remainingUsd:r.number().finite().nonnegative(),operations:r.array(r.object({operationId:c,runId:c.nullable()}).strict()).min(1).max(100)}).strict().parse(s);if(e.id!==t||e.teamId!==this.options.teamId)throw new Error("Comparison budget scope mismatch.");return e}async harnessSources(s={}){let t=s.cursor===void 0?void 0:r.string().min(1).max(8192).parse(s.cursor),e=new URLSearchParams(t?{cursor:t}:{}),a=ae.parse(await this.request(`/harness-sources?${e}`,"GET",void 0,s.signal));if(a.teamId!==this.options.teamId||new Set(a.items.map(n=>d(n.source))).size!==a.items.length||a.nextCursor!==null&&a.nextCursor===t||a.items.some(n=>n.ready!==(n.reason===null)))throw new Error("Harness catalog differs from its workspace, readiness or continuation.");return a}async prepareHarness(s,t){let e=G.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd}),a=_.parse(await this.request("/harness-setup","POST",e,t));$(a.request,a.manifest);let n=a.request.policy;if(a.request.teamId!==this.options.teamId||a.request.operationId!==e.operationId||n.kind!=="hosted_harness"||n.profileRepositoryId!==e.profileRepositoryId||n.source.definitionId!==e.definitionId||n.modelId!==e.modelId||n.reasoningEffort!==e.reasoningEffort||a.maximumCostUsd!==e.maximumCostUsd||a.manifest.limits.maximumSpendUsd!==e.maximumCostUsd)throw new Error("Harness preparation differs from its requested scope or configuration.");return a}async run(s,t){let e=B.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd});if(e.request.teamId!==this.options.teamId)throw new Error("Experiment workspace mismatch.");let a=await this.details(await this.request("","POST",{...e,maximumCostUsd:s.maximumCostUsd},t));if(s.maximumCostUsd===void 0&&(e.maximumCostUsd=a.configuration.maximumCostUsd),d(w(a.request))!==d(w(e.request))||a.configuration.maximumCostUsd!==e.maximumCostUsd||a.configuration.sourceExperimentId!==e.sourceExperimentId||a.configuration.admissionRequestHash!==d(e))throw new Error("Experiment admission differs from its submitted configuration.");if(e.graders&&d(e.graders)!==d(a.configuration.graders.map(n=>({id:n.id,version:n.version,contentHash:n.contentHash,mappings:n.mappings??[]}))))throw new Error("Experiment admission differs from its selected graders or mappings.");return a}async get(s,t={}){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t.signal),s)}async diagnostics(s,t={}){let e=oe.parse({afterSequence:t.afterSequence,afterCallId:t.afterCallId}),a=new URLSearchParams(Object.entries(e).filter(([,n])=>n!==void 0).map(([n,o])=>[n,String(o)]));return de(await this.request(`/${encodeURIComponent(c.parse(s))}/diagnostics?${a}`,"GET",void 0,t.signal),{teamId:this.options.teamId,runId:s,manifestHash:t.manifestHash,afterSequence:t.afterSequence,afterCallId:t.afterCallId})}async list(s={},t){let e=K.parse(s),a=new URLSearchParams(Object.entries(e).filter(([,i])=>i!==void 0).map(([i,m])=>[i,String(m)])),n=r.object({items:r.array(r.unknown()).max(100),nextCursor:c.nullable()}).strict().parse(await this.request(`?${a}`,"GET",void 0,t)),o=await Promise.all(n.items.map(i=>this.details(i)));if(o.length>e.limit||new Set(o.map(i=>i.summary.id)).size!==o.length||n.nextCursor!==null&&n.nextCursor!==o.at(-1)?.summary.id||o.some(i=>e.projectId&&i.request.project?.id!==e.projectId||e.datasetHash&&i.request.taskset.contentHash!==e.datasetHash||e.status&&i.summary.status!==e.status))throw new Error("Experiment page differs from its selected scope.");return{items:o,nextCursor:n.nextCursor}}async result(s,t){let e=r.object({executionId:c,passId:c.nullable(),manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.executionId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.lineage?.execution.id!==s||a.manifest.lineage.scoringPassId!==e.passId)throw new Error("Experiment result identity mismatch.");return{...a,executionId:s,passId:e.passId}}async cancel(s,t){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async duplicate(s,t,e){let a=await this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/duplicate`,"POST",{operationId:c.parse(t)},e));if(a.request.operationId!==t||a.configuration.sourceExperimentId!==s||a.summary.id===s)throw new Error("Duplicate Experiment admission differs from its source or operation.");return a}async score(s,t){let e=N.parse(s),a=this.pass(await this.request(`/${encodeURIComponent(e.execution.id)}/scoring-passes`,"POST",e,t));if(d(a.request)!==d(e))throw new Error("Scoring admission differs from its submitted inputs.");return a}async scoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}async scoringPasses(s,t={}){let e=new URLSearchParams(t.afterId?{afterId:c.parse(t.afterId)}:{});t.executionKind&&e.set("executionKind",r.literal("recorded_evidence").parse(t.executionKind));let a=r.object({items:r.array(r.unknown()).max(30),nextCursor:c.nullable()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/scoring-passes?${e}`,"GET",void 0,t.signal)),n=a.items.map(o=>this.pass(o));if(n.some(o=>o.request.execution.id!==s||o.request.executionKind!==t.executionKind)||new Set(n.map(o=>o.id)).size!==n.length)throw new Error("Scoring pass page differs from its execution ownership.");return{items:n,nextCursor:a.nextCursor}}async cancelScoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async scoringResult(s,t){let e=r.object({executionId:c,passId:c,manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.passId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.id!==s||a.manifest.lineage?.execution.id!==e.executionId||a.manifest.lineage.scoringPassId!==s)throw new Error("Scoring result identity mismatch.");return{...a,executionId:e.executionId,passId:s}}async compare(s,t,e){let a=l(i=>i.startsWith("score_")?this.scoringResult(i,e):this.result(i,e),"read"),[n,o]=await Promise.all([a(s),a(t)]);return{baseline:n,candidate:o,comparison:H(n,o)}}async details(s,t){let e=await re(s);if(e.summary.teamId!==this.options.teamId||t&&e.summary.id!==t)throw new Error("Experiment identity mismatch.");return e}pass(s,t){let e=y(s);if(e.teamId!==this.options.teamId||t&&e.id!==t)throw new Error("Scoring pass identity mismatch.");return e}async request(s,t,e,a){let n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments${s}`,{method:t,signal:a,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...e===void 0?{}:{body:JSON.stringify(e)}}),o=await n.json();if(!n.ok){let i=r.object({code:r.string(),message:r.string()}).safeParse(o);throw new ce(n.status,i.success?i.data.code:"experiment_request_failed",i.success?i.data.message:"Experiment request failed.")}return o}},f=r.string().trim().min(1).max(500),Z=r.string().regex(/^[a-f0-9]{64}$/),me=r.object({schemaVersion:r.literal("openpond.experimentCaseInspection.v1"),teamId:f,executionId:f,manifestHash:Z,receiptId:f,taskId:f,seed:r.string().min(1),input:r.record(r.string(),r.unknown()).nullable(),output:r.unknown().nullable(),error:r.string().nullable(),events:r.array(r.record(r.string(),r.unknown())).max(25),nextEventCursor:f.nullable(),eventCount:r.number().int().nonnegative()}).strict(),ue=me.extend({contentHash:Z}).strict(),De=class{static{l(this,"OpenPondExperimentInspectionClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async case(s,t,e={}){let a=new URLSearchParams(e.afterId?{afterId:f.parse(e.afterId)}:{}),n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments/${encodeURIComponent(f.parse(s))}/cases/${encodeURIComponent(f.parse(t))}?${a}`,{signal:e.signal,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,Accept:"application/json"}}),o=await n.json();if(!n.ok)throw new Error(r.object({message:r.string()}).parse(o).message);let i=ue.parse(o),{contentHash:m,...u}=i;if(d(u)!==m||i.teamId!==this.options.teamId||i.executionId!==s||i.receiptId!==t||e.manifestHash&&i.manifestHash!==e.manifestHash||i.events.length>i.eventCount)throw new Error("Case inspection differs from its requested workspace, execution or retained content.");return i}};function le(s){return JSON.stringify(s.release?["reward",s.release.id,s.release.revision,s.release.contentHash,s.feedbackKey]:["dataset",s.id,s.version,s.contentHash,s.feedbackKey])}l(le,"datasetGraderIdentity");function pe(s){let t=new Map;for(let e of s){let a=le(e),n=t.get(a);n?n.aliases.push(e):t.set(a,{key:a,grader:e,aliases:[e]})}return[...t.values()]}l(pe,"groupDatasetGraders");function $e(s){let t=pe(s),e=new Map;for(let a of t){let n=e.get(a.grader.feedbackKey);if(n&&n!==a.key)throw new Error(`Different selected grader releases use feedback key "${a.grader.feedbackKey}". Select one, or publish graders with distinct feedback keys.`);e.set(a.grader.feedbackKey,a.key);let o=JSON.stringify(a.grader.mappings??[]);if(a.aliases.some(i=>JSON.stringify(i.mappings??[])!==o))throw new Error(`Aliases of grader "${a.grader.feedbackKey}" have different field mappings. Select one alias and review its mappings.`)}return t.map(a=>a.grader)}l($e,"canonicalDatasetGraderSelection");function Ke(s){let t=C(s.binding),e=L(s.packageValue),a=e.taskset;if(a.id!==t.dataset.id||a.revision!==t.dataset.revision||a.contentHash!==t.dataset.contentHash||e.contentHash!==t.packageHash||d(a.environment)!==t.environmentHash||d(e.files.filter(n=>n.asset.visibility!=="policy").map(n=>n.asset))!==t.privateDatasetClosureHash)throw new Error("The selected Dataset package, environment or protected closure changed.");if(t.population.length>500)throw new Error("Select at most 500 exact Dataset cases before starting this bounded Profile evaluation.");for(let n of t.population){let o=a.tasks.find(i=>i.id===n.taskId);if(!o||o.split!==t.split)throw new Error("The selected ordered population is outside its exact Dataset split.");if(n.fixtureId!==null)throw new Error("This recorded cutoff needs an admitted replay fixture before executing the Profile target.")}if(t.gradingSource){if(!s.actualGrading)throw new Error("The actual selected scoring owner is required for this recipe.");let n=y(s.actualGrading.pass),o=v(r.object({manifest:r.unknown(),result:r.unknown()}).strict().parse(s.actualGrading.evidence));if(n.status!=="completed"||n.id!==t.gradingSource.pass.id||n.contentHash!==t.gradingSource.pass.contentHash||o.manifest.id!==t.gradingSource.evidence.id||o.result.contentHash!==t.gradingSource.evidence.contentHash||o.manifest.lineage?.scoringPassId!==n.id||d(o.manifest.dataset)!==d(t.dataset)||d(o.manifest.evaluators)!==d(t.evaluators)||d(t.fieldMappings)!==d(n.graders.map(u=>({graderId:u.id,fields:u.mappings??[]}))))throw new Error("The selected scoring owner changed its exact Dataset, measurements or mappings.");let i=o.manifest.population,m=t.recordedOrigin?t.recordedOrigin.members.map(u=>({caseId:u.caseId,seed:u.seed,fixtureId:u.fixtureId})):t.population.map(u=>({caseId:u.taskId,seed:u.seed,fixtureId:u.fixtureId}));if(i.length!==m.length||i.some((u,Y)=>d(u)!==d(m[Y])))throw new Error("The selected scoring population differs from the exact ordered original cases and cutoffs.")}else{if(t.fieldMappings.some(i=>!a.graders.some(m=>m.id===i.graderId)))throw new Error("The field mappings name a grader outside the selected release.");for(let i of t.fieldMappings)O.parse(i.fields);let n=t.evaluators.map(i=>{let m=s.graders.find(u=>u.feedbackKey===i.feedbackKey&&d(u.release??{id:u.id,revision:u.version,contentHash:u.contentHash})===d(i.release));if(!m)throw new Error("Select an exact released Dataset grader for this external recipe.");return m});if(t.fieldMappings.some(i=>!n.some(m=>m.id===i.graderId)))throw new Error("Field mappings refer to an unselected grader.");let o=n.map(i=>({release:i.release??{id:i.id,revision:i.version,contentHash:i.contentHash},feedbackKey:i.feedbackKey,configurationHash:d({graderHash:i.contentHash,mappings:t.fieldMappings.find(m=>m.graderId===i.id)?.fields??[]}),output:"score",categories:[]}));if(d(o)!==d(t.evaluators))throw new Error("The external recipe's graders or mappings differ from the current exact released grading settings.");for(let i of s.graders)if(!a.graders.some(m=>m.id===i.id&&m.version===i.version&&d(m)===i.contentHash))throw new Error("External grader pins differ from the actual Dataset implementation.")}for(let n of s.graders)if(!a.graders.some(o=>o.id===n.id&&o.version===n.version&&d(o)===n.contentHash))throw new Error("Dataset-native grader pins differ from their actual implementation.");return e}l(Ke,"verifyExternalDatasetPackage");var x=r.string().trim().min(1).max(240),fe=r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),sourceRevision:r.string().min(1).max(500),harnessRelease:b,catalogHash:r.string().regex(/^[a-f0-9]{64}$/).nullable(),definitions:r.array(S).max(1e3),suites:r.array(k).max(100),runs:r.array(r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),manifest:R,metric:E,gradeRefs:r.array(b),receiptRefs:r.array(b),passRate:r.number().min(0).max(1),passed:r.boolean(),completedAt:r.iso.datetime(),contentHash:r.string().regex(/^[a-f0-9]{64}$/)}).strict()).max(1e3),comparisons:r.array(U).max(1e3),suiteRuns:r.array(T).max(1e3),reports:r.array(P).max(1e3)}).strict(),he=r.object({teamId:x,profileRepositoryId:x,trainingProjectId:x.optional()}).strict(),_e=class{static{l(this,"OpenPondProfileEvaluationDiscoveryClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("Profile discovery requires a scoped HTTP endpoint and owner credential.")}options;async read(s,t){let e=he.parse({...s,teamId:this.options.teamId}),{response:a,value:n}=await J(this.options.fetch??fetch,`${this.options.baseUrl.replace(/\/$/,"")}/v1/profile-evaluation-discovery`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},(i,m,u)=>new Error(u));if(!a.ok)throw new Error("The released Profile evaluation owner is unavailable to this account and workspace.");let o=fe.parse(n);if(o.profileRef.repositoryId!==e.profileRepositoryId)throw new Error("Profile discovery returned another source owner.");return o}};export{te as a,oe as b,Re as c,Ue as d,Pe as e,ce as f,Te as g,De as h,$e as i,Ke as j,_e as k};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{v as r}from"./chunk-
|
|
2
|
+
import{v as r}from"./chunk-WXG3G2O6.js";import{v as o}from"./chunk-D6L6UNUQ.js";import{l as t}from"./chunk-ZY32SZ2P.js";import{g as a}from"./chunk-RCT3O3HQ.js";import{A as e}from"./chunk-X2J2P5ZT.js";var s=e.object({profileRef:r,manifest:o,metric:t,gradeRefs:e.array(a),receiptRefs:e.array(a),passRate:e.number().min(0).max(1),passed:e.boolean(),completedAt:e.string().datetime(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();export{s as a};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{mc as p}from"./chunk-
|
|
2
|
+
import{mc as p}from"./chunk-WXG3G2O6.js";import{s as _}from"./chunk-GG6PM7TB.js";import{a as n}from"./chunk-FTQLQJQV.js";import{createHash as h}from"node:crypto";var N=`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS local_resource_owner (singleton INTEGER PRIMARY KEY CHECK(singleton = 1), id TEXT NOT NULL);
|
|
4
4
|
CREATE TABLE IF NOT EXISTS local_dataset_blobs (content_hash TEXT PRIMARY KEY, size_bytes INTEGER NOT NULL, bytes BLOB NOT NULL);
|
|
5
5
|
CREATE TABLE IF NOT EXISTS local_dataset_records (record_hash TEXT PRIMARY KEY, payload TEXT NOT NULL);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{
|
|
2
|
+
import{Hg as l,Kg as h,Lg as E,Mg as w,Sg as f,aa as d,fe as u,ra as p}from"./chunk-XJU47QS2.js";import{c as i,f as m,h as g}from"./chunk-3M53YXEI.js";import{a as c}from"./chunk-FTQLQJQV.js";var M=new Set(["hosted-engram-capability","hosted-compile-engram","hosted-prepare-engram","hosted-start-engram","hosted-cancel-engram","hosted-engram-execution","hosted-engram-executions","hosted-save-engram-model","hosted-control-engram-serving"]);async function k(x){let{action:r,target:s,teamId:n,options:o,client:t,readInput:y}=x;if(r==="hosted-engram-execution"){if(!s)throw new Error("Supply the original Engram execution ID.");return t.getEngramExecution(n,s)}if(r==="hosted-engram-executions"){if(s)throw new Error("List Engram executions using filters.");let e=f.parse(Object.fromEntries(Object.entries({id:i(o,"id")||void 0,projectId:i(o,"projectId")||void 0,phase:i(o,"phase")||void 0,cursor:i(o,"cursor")||void 0,limit:g(o.limit,"--limit")}).filter(([,I])=>I!==void 0)));return t.listEngramExecutions(n,e)}let a=await y();if(r==="hosted-control-engram-serving"){let e=p.parse(a);if(e.request.teamId!==n)throw new Error("Use the Model's original workspace.");if(e.request.action==="activate"&&!m(o.yes))throw new Error("Activating billed serving capacity requires --yes.");return t.controlEngramModelServing(e.modelProjectId,e.request)}if(r==="hosted-engram-capability"){let e=u.parse(a);if(e.teamId!==n)throw new Error("Use this input's original workspace.");return t.engramExecutionCapability(e)}if(r==="hosted-compile-engram"){let e=l.parse(a);if(e.teamId!==n)throw new Error("Use this input's original workspace.");return t.compileEngramExecution(e)}if(r==="hosted-prepare-engram"){let e=h.parse(a);if(e.teamId!==n)throw new Error("Use this input's original workspace.");return t.prepareEngramExecution(e)}if(r==="hosted-start-engram"){let e=E.parse(a);if(e.teamId!==n)throw new Error("Use this execution's original workspace.");if(!m(o.yes))throw new Error("Starting paid Engram training requires --yes.");return t.startEngramExecution(e)}if(r==="hosted-cancel-engram"){let e=w.parse(a);if(e.teamId!==n)throw new Error("Use this execution's original workspace.");return t.cancelEngramExecution(e)}if(r==="hosted-save-engram-model"){let e=d.parse(a);if(e.teamId!==n)throw new Error("Use this result's original workspace.");return t.saveEngramResultModel(e)}throw new Error("Unsupported Engram command.")}c(k,"runHostedEngramCommand");export{M as a,k as b};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as E,c as g}from"./chunk-
|
|
2
|
+
import{a as E,c as g}from"./chunk-UMRQKE3W.js";import{g as v}from"./chunk-O5ZOW474.js";import{v as C}from"./chunk-ZY32SZ2P.js";import{n as h}from"./chunk-RCT3O3HQ.js";import{A as p}from"./chunk-X2J2P5ZT.js";import{a as d}from"./chunk-FTQLQJQV.js";function _(n){let i=new Map;async function f(e){C(e,8388608);let o=v.parse(e);if(o.kind==="profile")return n.executeProfile(o.request);let s=h(o),l=i.get(o.id);if(l){if(l.hash!==s)throw new Error("Experiment case operation already owns different admitted inputs.");return l.result}if(i.size>=100)throw new Error("Experiment case execution capacity reached.");let c=new AbortController,a=x(o,c.signal);i.set(o.id,{hash:s,controller:c,result:a});try{return await a}finally{i.delete(o.id)}}d(f,"execute");async function x(e,o){let s=AbortSignal.any([o,AbortSignal.timeout(e.timeoutMs)]);if(s.throwIfAborted(),e.harness){if(!n.executeHarness||e.environment.kind!=="text")throw new Error("The selected standalone Harness has no compatible native Experiment adapter.");return n.executeHarness(e,s)}let l=await n.resolvePolicy(e);if(s.throwIfAborted(),e.environment.kind==="javascript"){let r=n.resolveEnvironment?await n.resolveEnvironment(e):g;return E({taskId:e.taskId,instructions:`${e.instructions}
|
|
3
3
|
${JSON.stringify({policyVisibleContext:e.policyVisibleContext})}`,input:e.input,definition:e.environment.definition,asset:e.environment.asset,initialState:e.environment.initialState,seed:e.environment.seed,timeoutMs:e.timeoutMs,execute:r,policy:l,signal:s})}let c=[{role:"system",text:e.instructions},{role:"user",text:JSON.stringify({input:e.input,policyVisibleContext:e.policyVisibleContext})}],a=null,u=null,m="completed";try{let r=await l({messages:c,tools:[],signal:s});if(s.throwIfAborted(),r.toolCalls.length)throw new Error("Text cases do not support tool calls.");a=r.text,c.push({role:"assistant",text:r.text,toolCalls:[]})}catch(r){u=r instanceof Error?r.message:"Experiment policy failed.",m=o.aborted?"cancelled":s.aborted?"timed_out":"policy_failure"}let t={schemaVersion:"openpond.javascriptEnvironmentAttempt.v1",taskId:e.taskId,status:m,output:a,error:u,messages:c,collected:m==="completed",environmentCleanupComplete:!0,snapshot:null};return{...t,contentHash:h(t)}}return d(x,"run"),{execute:f,cancel(e){let o=i.get(e);return o?.controller.abort(new Error("experiment_case_cancelled")),{id:e,cancelled:!!o}},async close(){for(let e of i.values())e.controller.abort(new Error("experiment_runtime_closed"));await Promise.allSettled([...i.values()].map(e=>e.result))}}}d(_,"createExperimentCaseService");function A(n){let i=0,f=new Map;return async({messages:x,tools:e,signal:o})=>{let s=`experiment:${n.request.id}:${i++}`,l=0,c=x.map(t=>{if(t.role==="tool")return{role:"tool",tool_call_id:t.callId,name:t.name,content:JSON.stringify(t.observation)};if(t.role==="assistant"){let r=f.get(l++);return{role:"assistant",content:t.text,...r?{continuation:r}:{},...t.toolCalls.length?{tool_calls:t.toolCalls.map(y=>({id:y.id,type:"function",function:{name:y.name,arguments:JSON.stringify(y.arguments)}}))}:{}}}return{role:t.role,content:t.text}}),a="",u=[],m;for await(let t of n.stream({model:n.request.model.modelId,messages:[...n.request.model.messages,...c],tools:e.map(r=>({type:"function",function:{name:r.name,description:r.description,parameters:r.inputSchema}})),requestId:s,maxTokens:n.request.model.maxOutputTokens,temperature:n.request.model.temperature,topP:n.request.model.topP,signal:o})){if(o.throwIfAborted(),t.type==="text_delta"&&(a+=t.text,a.length>262144))throw new Error("Experiment policy response exceeded its retained-output limit.");if(t.type==="tool_call_delta"&&(u=t.toolCalls,u.length>200))throw new Error("Experiment policy response exceeded its tool-call limit.");t.type==="continuation"&&(m=t.continuation),t.type==="usage"&&await n.onUsage?.({requestId:s,usage:t.usage})}return m&&f.set(i-1,m),{text:a,toolCalls:u.map(t=>({id:p.string().min(1).parse(t.id),name:p.string().min(1).parse(t.function?.name),arguments:p.record(p.string(),p.unknown()).parse(JSON.parse(p.string().parse(t.function?.arguments)))}))}}}d(A,"createLocalExperimentPolicy");export{_ as a,A as b};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as m}from"./chunk-DMFUEUAZ.js";import{a as c}from"./chunk-U7D6Q744.js";import{t as p}from"./chunk-
|
|
2
|
+
import{a as m}from"./chunk-DMFUEUAZ.js";import{a as c}from"./chunk-U7D6Q744.js";import{t as p}from"./chunk-WXG3G2O6.js";import{I as i,L as d}from"./chunk-2MEOUS24.js";import{a as n}from"./chunk-FTQLQJQV.js";async function r(e,o){return(await e.allPayloadRows(`SELECT payload FROM ${o} ORDER BY sort_index ASC`)).map(t=>JSON.parse(t.payload))}n(r,"readStorePayloads");function S(e){let o=e,a=d.safeParse(o.openPondCommandAccessMode);return{...o,experience:l(o),openPondCommandAccessMode:a.success?a.data:i,currentProfile:o.currentProfile??null}}n(S,"normalizeSessionPayload");function l(e){let o=p.safeParse(e.experience);return o.success?o.data:!!(e.provider==="codex"||e.codexThreadId||e.systemKind||e.parentSessionId||e.subagentRunId||e.appId||e.workspaceKind||e.workspaceId||e.localProjectId||e.cloudProjectId)?"development":"chat"}n(l,"storedSessionExperience");async function E(e){return{sessions:(await r(e,"sessions")).map(S),turns:await r(e,"turns"),approvals:await r(e,"approvals")}}n(E,"readStoreMetadata");async function T(e){return{...await E(e),events:(await r(e,"events")).map(m)}}n(T,"readStoreData");async function D(e,o){let a=c();await o.exec("BEGIN IMMEDIATE");try{await o.exec("DELETE FROM approvals; DELETE FROM events; DELETE FROM turns; DELETE FROM sessions;");for(let[t,s]of e.sessions.entries())await o.run("INSERT INTO sessions (id, sort_index, payload, updated_at) VALUES (?, ?, ?, ?)",[s.id,t,JSON.stringify(s),s.updatedAt]);for(let[t,s]of e.turns.entries())await o.run("INSERT INTO turns (id, session_id, provider_turn_id, status, sort_index, payload, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)",[s.id,s.sessionId,s.providerTurnId,s.status,t,JSON.stringify(s),s.completedAt??s.startedAt]);for(let[t,s]of e.events.entries()){let u=t+1;await o.run("INSERT INTO events (id, session_id, turn_id, name, timestamp, sequence, sort_index, payload) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",[s.id,s.sessionId??null,s.turnId??null,s.name,s.timestamp,u,t,JSON.stringify(s)])}for(let[t,s]of e.approvals.entries())await o.run("INSERT INTO approvals (id, session_id, status, sort_index, payload, updated_at) VALUES (?, ?, ?, ?, ?, ?)",[s.id,s.sessionId,s.status,t,JSON.stringify(s),a]);await o.exec("COMMIT")}catch(t){throw await o.exec("ROLLBACK"),t}}n(D,"persistStoreData");export{S as a,E as b,T as c,D as d};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as D,b as J,c as q}from"./chunk-Q3WXB465.js";import{a as Y}from"./chunk-
|
|
2
|
+
import{a as D,b as J,c as q}from"./chunk-Q3WXB465.js";import{a as Y}from"./chunk-UKTPX2EE.js";import{a as L}from"./chunk-FEAKTSRS.js";import{na as F}from"./chunk-WXG3G2O6.js";import{b as W}from"./chunk-L3KS6MOV.js";import{X as z,x as C}from"./chunk-ZY32SZ2P.js";import{m as N,n as j}from"./chunk-RCT3O3HQ.js";import{A as x}from"./chunk-X2J2P5ZT.js";import{a as i}from"./chunk-FTQLQJQV.js";import{createHash as se}from"node:crypto";function U(a){let d=a.replace(/^\/workspace\/outputs\//,"").replace(/^\/workspace\/work\/outputs\//,"").replace(/^outputs\//,"");if(!d||d.startsWith("/")||d.includes("\0")||d.split(/[\\/]/).some(g=>!g||g==="."||g===".."))throw new Error("Select one file inside this case's writable outputs.");return d}i(U,"confinedProfileOutputPath");var K=i(a=>`'${a.replaceAll("'","'\\''")}'`,"quote");async function V(a){let d=U(a.path),g="const f=require('fs'),p=require('path'),c=require('crypto'),a=JSON.parse(process.argv[1]),r=f.realpathSync('/workspace/work/outputs'),q=f.realpathSync(p.join(r,a.path));if(!q.startsWith(r+'/'))throw Error('Output path escapes the case');const s=f.statSync(q);if(!s.isFile()||s.size>10000000)throw Error('Output exceeds its bound');if(a.offset===undefined){const b=f.readFileSync(q);process.stdout.write(JSON.stringify({size:b.length,hash:c.createHash('sha256').update(b).digest('hex')}))}else{const h=f.openSync(q,'r'),b=Buffer.alloc(Math.min(524288,s.size-a.offset));try{const n=f.readSync(h,b,0,b.length,a.offset);process.stdout.write(b.subarray(0,n).toString('base64'))}finally{f.closeSync(h)}}";async function w(E){let y=await a.command(`/runtime/node -e ${K(g)} ${K(JSON.stringify({path:d,...E!==void 0?{offset:E}:{}}))}`);if(y.code!==0)throw new Error("The confined output could not be read.");return y.stdout}i(w,"read");let b=x.object({size:x.number().int().min(1).max(F),hash:x.string().regex(/^[a-f0-9]{64}$/)}).strict().parse(JSON.parse(await w())),P=[];for(let E=0;E<b.size;E+=524288){let y=await w(E);if(!/^[A-Za-z0-9+/]*={0,2}$/.test(y)||y.length>7e5)throw new Error("Output chunk exceeded its boundary.");let O=Buffer.from(y,"base64");if(O.length!==Math.min(524288,b.size-E))throw new Error("The output changed during readback.");P.push(O)}let R=Buffer.concat(P),k=se("sha256").update(R).digest("hex"),T=x.object({size:x.number(),hash:x.string()}).strict().parse(JSON.parse(await w()));if(k!==b.hash||T.hash!==k||T.size!==R.length)throw new Error("The output changed before immutable readback.");return{bytes:R,title:d.split("/").at(-1)}}i(V,"readConfinedProfileOutput");import l from"node:path";import{promises as m}from"node:fs";import M from"node:path";function X(a,d,g,w){let b=i(()=>new Error("This source file is outside the public policy closure."),"denied"),P;if(a==="context_read"){if(typeof d.path!="string")throw b();P=d.path}else{let R=typeof d.name=="string"?w.get(d.name.trim()):void 0;if(!R||!Object.hasOwn(g,R))throw b();if(d.path===void 0)return R;let k=d.path;if(typeof k!="string"||!k||k.includes("\\")||k.includes("\0")||M.posix.isAbsolute(k)||M.win32.isAbsolute(k)||k.split("/").includes(".."))throw b();P=M.posix.join(M.posix.dirname(R),k)}if(!Object.hasOwn(g,P))throw b();return P}i(X,"resolveProfilePolicySourcePath");var Z=String.raw`
|
|
3
3
|
const fs=require('node:fs'),p=require('node:path');
|
|
4
4
|
const a=JSON.parse(fs.readFileSync(0,'utf8'));
|
|
5
5
|
const roots={work:'outputs',inputs:'inputs',harness:'harness'};
|
|
@@ -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-
|
|
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-
|
|
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-
|
|
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};
|