openpond 0.2.70 → 0.2.72
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-7A2UPCG5.js} +1 -1
- package/dist/chunks/{acp-agent-N77HPAYQ.js → acp-agent-AGALGR6V.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-DUCNCJ2X.js} +1 -1
- package/dist/chunks/{app-server-evaluations-RRLYWLPK.js → app-server-evaluations-SNWXULKD.js} +1 -1
- package/dist/chunks/{app-server-harness-services-XXM336NU.js → app-server-harness-services-YNMGMKPK.js} +1 -1
- package/dist/chunks/app-server-runtime-BKJ7L6JZ.js +2 -0
- package/dist/chunks/{apps-WG7WY5CB.js → apps-2OWE23BH.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-2Q2AWPP2.js +2 -0
- 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-HG2YFMVU.js → chunk-2THZ6GZY.js} +1 -1
- package/dist/chunks/{chunk-DXJC3QW7.js → chunk-3VT2PPKW.js} +1 -1
- package/dist/chunks/{chunk-4BUM6JEC.js → chunk-4JKWCLTQ.js} +1 -1
- package/dist/chunks/{chunk-AQUZCWM3.js → chunk-5TPJ5ECJ.js} +1 -1
- package/dist/chunks/{chunk-RCQYEHHD.js → chunk-5TTQCT3G.js} +1 -1
- package/dist/chunks/{chunk-NMMHXYDJ.js → chunk-5WFKBZCU.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-KU4TPDPH.js → chunk-6LAGMWJE.js} +1 -1
- package/dist/chunks/{chunk-VJYOKU3C.js → chunk-6OD2FKUS.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-SSHE6B7Z.js → chunk-AITV76GO.js} +1 -1
- package/dist/chunks/{chunk-PLROXHG2.js → chunk-ATI52WMB.js} +1 -1
- package/dist/chunks/chunk-AWD72O3G.js +2 -0
- 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-3Z4VM2LF.js → chunk-BUMCJHQP.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-EWH64WRR.js → chunk-CAYKEJJY.js} +1 -1
- package/dist/chunks/{chunk-K7KBFM2T.js → chunk-CBD554GZ.js} +1 -1
- package/dist/chunks/{chunk-7RJOCGQ6.js → chunk-CHRED2FK.js} +1 -1
- package/dist/chunks/{chunk-3A2Y7UK3.js → chunk-CQRA5TXF.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-TAXCMCYZ.js → chunk-CX4U32VO.js} +4 -4
- package/dist/chunks/{chunk-7TM25J6S.js → chunk-DFSQ5HZ7.js} +2 -2
- package/dist/chunks/{chunk-2PXKSAG6.js → chunk-DLOJG7LP.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-FHDH4OUA.js → chunk-EHMA5XS7.js} +1 -1
- package/dist/chunks/{chunk-Z33RVGP6.js → chunk-ENY24ZBB.js} +1 -1
- package/dist/chunks/{chunk-JVNKSU27.js → chunk-F3IEAU7O.js} +1 -1
- package/dist/chunks/{chunk-M4A7G4S5.js → chunk-FOAM3YZQ.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-KCLMA2IH.js → chunk-GPGXBKXU.js} +1 -1
- package/dist/chunks/{chunk-JVMSN7LH.js → chunk-GR4MJJCE.js} +1 -1
- package/dist/chunks/{chunk-7OFD6TFD.js → chunk-HA762QYM.js} +1 -1
- package/dist/chunks/{chunk-Q7FBVLLB.js → chunk-HBGTHOOB.js} +1 -1
- package/dist/chunks/{chunk-AFH462DO.js → chunk-HT6ILPD6.js} +1 -1
- package/dist/chunks/{chunk-XYZV3FKD.js → chunk-I6KTJ3GH.js} +1 -1
- package/dist/chunks/{chunk-OUJ63LMU.js → chunk-IA6CTX7A.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-MOXIGLN2.js → chunk-JALL5NPH.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-MIFVX5PK.js → chunk-JSDGOQ5U.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-CCZ276IA.js → chunk-KOIXRLZZ.js} +1 -1
- package/dist/chunks/{chunk-6C6ZCYTL.js → chunk-KRJZ5CW3.js} +1 -1
- package/dist/chunks/{chunk-CUB6PWAJ.js → chunk-KTQWWCP2.js} +6 -6
- package/dist/chunks/{chunk-Y4E5AAI7.js → chunk-KUEVP7WM.js} +1 -1
- package/dist/chunks/{chunk-U7D6Q744.js → chunk-L5L3H6CI.js} +1 -1
- package/dist/chunks/{chunk-VWWKWYSQ.js → chunk-LHTRQAPZ.js} +1 -1
- package/dist/chunks/{chunk-QLGP2OAQ.js → chunk-MLLMLXKG.js} +1 -1
- package/dist/chunks/{chunk-QUNQM2E3.js → chunk-MPEK4ZNY.js} +1 -1
- package/dist/chunks/{chunk-EGP6DF34.js → chunk-MPXOPL7R.js} +2 -2
- package/dist/chunks/{chunk-PHZZBXDO.js → chunk-MQMMJKOZ.js} +1 -1
- package/dist/chunks/{chunk-B66QCXH2.js → chunk-MWPMYCYB.js} +1 -1
- package/dist/chunks/{chunk-5G7BQAUA.js → chunk-N5FT6PTI.js} +1 -1
- package/dist/chunks/{chunk-SDHG6CKU.js → chunk-NDNSLCPE.js} +1 -1
- package/dist/chunks/{chunk-WCNPGKST.js → chunk-O4YHISU2.js} +1 -1
- 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-N5EAVX4G.js → chunk-OOKHHOIU.js} +1 -1
- package/dist/chunks/{chunk-7OKZCJHS.js → chunk-OXRN2257.js} +1 -1
- package/dist/chunks/{chunk-HES4VP3D.js → chunk-PYPXP5R3.js} +1 -1
- package/dist/chunks/{chunk-ZK3ET5EP.js → chunk-QKBMXL4D.js} +3 -3
- package/dist/chunks/{chunk-YAA7F5LI.js → chunk-QKGNAYSC.js} +1 -1
- package/dist/chunks/{chunk-KDER7R45.js → chunk-RIFWD5XM.js} +1 -1
- package/dist/chunks/{chunk-WZ35ICTE.js → chunk-RWBP2H4M.js} +1 -1
- package/dist/chunks/{chunk-SO4GMSNP.js → chunk-S5ACNR5Y.js} +1 -1
- package/dist/chunks/{chunk-M4ZHFDRJ.js → chunk-SRK4WX7D.js} +1 -1
- package/dist/chunks/{chunk-XY7HFXLH.js → chunk-SVLVIYH2.js} +1 -1
- package/dist/chunks/{chunk-FNGZ4UDZ.js → chunk-T6ML5SCD.js} +1 -1
- package/dist/chunks/{chunk-CO23RRN7.js → chunk-TD5YYA5Z.js} +1 -1
- package/dist/chunks/{chunk-7NCM6GBN.js → chunk-TOWY6Y23.js} +1 -1
- package/dist/chunks/{chunk-OXQ2WFIH.js → chunk-TR5UC5AF.js} +1 -1
- package/dist/chunks/{chunk-JQOVC35K.js → chunk-UCPD526R.js} +1 -1
- package/dist/chunks/{chunk-Y4I6CFZJ.js → chunk-UGDBMRCT.js} +1 -1
- package/dist/chunks/{chunk-E2JB5OCO.js → chunk-UZE3C2SF.js} +1 -1
- package/dist/chunks/{chunk-PACLKDTN.js → chunk-V4VM2R6D.js} +1 -1
- package/dist/chunks/{chunk-XOPHFUUY.js → chunk-VMBWCIGG.js} +1 -1
- package/dist/chunks/{chunk-CIZI6Z7D.js → chunk-VMW23TIZ.js} +1 -1
- package/dist/chunks/{chunk-4G3GTEVS.js → chunk-VSQPWLAG.js} +1 -1
- package/dist/chunks/{chunk-54755JYM.js → chunk-VXFGSFIE.js} +2 -2
- package/dist/chunks/{chunk-R2FYCJL6.js → chunk-W4JBPYGW.js} +1 -1
- package/dist/chunks/{chunk-JZKTBYNB.js → chunk-WMJEQK4G.js} +1 -1
- package/dist/chunks/{chunk-ESYPMD7Q.js → chunk-X2MJFTLS.js} +1 -1
- package/dist/chunks/{chunk-67U7PAMU.js → chunk-X7ZMUWJO.js} +1 -1
- 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-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-4KTGYHCE.js → chunk-ZMRP2A7K.js} +1 -1
- package/dist/chunks/{chunk-OL3L3U36.js → chunk-ZSWATWK2.js} +1 -1
- package/dist/chunks/cli-KXU5DNVV.js +2 -0
- package/dist/chunks/{command-5AXJMFYC.js → command-X35I53H3.js} +3 -3
- package/dist/chunks/{configuration-command-5LUNWPOL.js → configuration-command-VJUK34UQ.js} +1 -1
- package/dist/chunks/{connected-app-executor-DHXZE4X3.js → connected-app-executor-JBFJF2H5.js} +1 -1
- package/dist/chunks/{connected-evidence-NWMPICKJ.js → connected-evidence-CQ533AML.js} +1 -1
- package/dist/chunks/{connected-starting-assets-NRVXIKQ2.js → connected-starting-assets-RL5X6LZ7.js} +1 -1
- package/dist/chunks/{continual-UCKQ2QLH.js → continual-PHGIZFF6.js} +1 -1
- package/dist/chunks/{core-commands-ZPBX35M2.js → core-commands-5DYMDWXY.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-UUYFWWCT.js → dataset-preparation-authoring-UDSX33YK.js} +1 -1
- package/dist/chunks/{datasets-6K3ZANIV.js → datasets-BW4JFUUU.js} +1 -1
- package/dist/chunks/{desktop-test-57INNJ76.js → desktop-test-RIG4CB2Z.js} +1 -1
- package/dist/chunks/{dist-2MKJC6HN.js → dist-C5XFRP53.js} +1 -1
- package/dist/chunks/{evaluation-coordination-B7CN4R2D.js → evaluation-coordination-6QJ6XTUX.js} +1 -1
- package/dist/chunks/{experiment-improvements-G357VLDB.js → experiment-improvements-2XF63AQ4.js} +1 -1
- package/dist/chunks/{experiments-BHQO26LJ.js → experiments-3S2BVNK6.js} +1 -1
- package/dist/chunks/{experiments-signal-BI6NKETB.js → experiments-signal-IRBHGGW5.js} +1 -1
- package/dist/chunks/{help-UQN5RUPA.js → help-Q2VMJVTR.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-5LZQHA32.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-AYZM2HY6.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-VVYXQ65K.js → hosted-experiment-improvement-SMZJYRJ7.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-QWIFAITG.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-PTGQLPZO.js → hosted-profile-candidate-WOMWAE5N.js} +1 -1
- package/dist/chunks/{hosted-profile-compiler-FS5R6CHJ.js → hosted-profile-compiler-NZ2BXN32.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-control-UUEZEMXU.js → hosted-profile-evaluation-control-3ECFFM7E.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-4F7OEF4T.js → hosted-profile-evaluation-inspection-TM7RKONG.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-LIJJZDHQ.js → hosted-profile-evaluation-preparation-2MZIRT75.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-PG4WWVWV.js} +1 -1
- package/dist/chunks/{import-2HEYPHPW.js → import-FAZAVZBF.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-OYLTKMJU.js +2 -0
- package/dist/chunks/local-harness-taskset-review-I7YU4RZI.js +2 -0
- package/dist/chunks/{model-projects-6YWVD2TS.js → model-projects-POZRHXTF.js} +1 -1
- package/dist/chunks/{opchat-66BCRKEZ.js → opchat-TCZA6373.js} +1 -1
- package/dist/chunks/{opchat-bounded-chat-KQWXZVFN.js → opchat-bounded-chat-GMYDXLWB.js} +1 -1
- package/dist/chunks/{organizations-IOYWDOCC.js → organizations-PYKGA2P2.js} +1 -1
- package/dist/chunks/{profile-YH6G3ZTD.js → profile-GYYI555I.js} +1 -1
- package/dist/chunks/project-action-payload-FE6M2OXJ.js +2 -0
- package/dist/chunks/{project-agent-RYVMKW2F.js → project-agent-4ISJFMJD.js} +1 -1
- package/dist/chunks/{published-experiment-source-SDXUVPE7.js → published-experiment-source-E2YAJCLM.js} +1 -1
- package/dist/chunks/{refiner-profile-service-56VYLZQJ.js → refiner-profile-service-LKGXD5WJ.js} +1 -1
- package/dist/chunks/{runtime-ISLJIGWC.js → runtime-UDLOZD4Y.js} +2 -2
- package/dist/chunks/{sandbox-command-DI45NRTV.js → sandbox-command-4J6DAY7T.js} +1 -1
- package/dist/chunks/{sandbox-template-T42MDUSR.js → sandbox-template-TSXWJMWG.js} +1 -1
- package/dist/chunks/saved-work-QTEBKVUB.js +2 -0
- package/dist/chunks/{send-turn-YLY3YNEQ.js → send-turn-4MH4WMLW.js} +1 -1
- package/dist/chunks/{setup-D6TY2GWV.js → setup-IVT2FQSE.js} +1 -1
- package/dist/chunks/{src-7RN7BF4W.js → src-DC7N2H7A.js} +111 -113
- package/dist/chunks/{src-LF5X4RNQ.js → src-TOSQX36I.js} +1 -1
- 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-QLXKKYYC.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-3KK42L4I.js → store-continual-support-reviews-4F2BOG3H.js} +1 -1
- package/dist/chunks/{store-conversation-serving-IVURK52V.js → store-conversation-serving-EUD47W6X.js} +1 -1
- package/dist/chunks/{store-create-improve-UTCLBXF2.js → store-create-improve-QUOTNNIM.js} +1 -1
- package/dist/chunks/{store-datasets-4AQOVAQY.js → store-datasets-ZUC7CNVO.js} +1 -1
- package/dist/chunks/{store-evaluation-results-PK2P3IMH.js → store-evaluation-results-LHHPHESK.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-7WZWRJ6X.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-44SVX6YB.js → store-learned-preference-migration-validation-MVNKBR4X.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-HB53QFLL.js} +1 -1
- package/dist/chunks/{store-model-batch-review-RVAYUVK2.js → store-model-batch-review-O3I6GIAA.js} +1 -1
- package/dist/chunks/{store-model-configuration-AYFGMC5D.js → store-model-configuration-CDIGNU6Q.js} +1 -1
- package/dist/chunks/{store-model-project-preparation-5DEIS7TB.js → store-model-project-preparation-QMQ2HMJV.js} +1 -1
- package/dist/chunks/{store-modification-recordings-LCPK6K2T.js → store-modification-recordings-W4VEZKKQ.js} +1 -1
- package/dist/chunks/{store-preference-comparison-5YVIQNVB.js → store-preference-comparison-JKURBESE.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-WLMYDA4E.js → store-sidebar-file-bookmarks-KAEDHVVF.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-AFMYIDWT.js → store-sidebar-preferences-QPBLTHY6.js} +1 -1
- package/dist/chunks/{store-subagents-KFPVSTRO.js → store-subagents-ZELQP3MX.js} +1 -1
- package/dist/chunks/{store-task-inbox-L6IQTY26.js → store-task-inbox-4ZDQR2E7.js} +1 -1
- package/dist/chunks/{store-task-inventory-QWS2C656.js → store-task-inventory-CTIJDLYE.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-EAOOY6CR.js → store-taskset-drafts-FRPBYLTW.js} +1 -1
- package/dist/chunks/{store-training-FYXZU2FE.js → store-training-WQAYUT7B.js} +1 -1
- package/dist/chunks/{store-training-jobs-3N3VKPIY.js → store-training-jobs-O5EHGTH7.js} +1 -1
- package/dist/chunks/{store-training-models-VOFVGPZR.js → store-training-models-YSZMC66T.js} +1 -1
- package/dist/chunks/{taskset-HNDIGYQG.js → taskset-OVYM4QMS.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-U2M3ORWR.js} +1 -1
- package/dist/chunks/{tool-learning-ZQ6NSJ5K.js → tool-learning-NXVR4YPA.js} +1 -1
- package/dist/chunks/{training-JTYQA7GA.js → training-EQ7G5FDY.js} +1 -1
- package/dist/chunks/training-LQUAL4Y4.js +2 -0
- package/dist/chunks/training-PEZYJ2SN.js +2 -0
- package/dist/chunks/{training-hosted-36SZFS4U.js → training-hosted-XKSUTMLQ.js} +1 -1
- package/dist/chunks/{training-hosted-alphaedit-HSMRDJTD.js → training-hosted-alphaedit-VCOEYLKK.js} +1 -1
- package/dist/chunks/{training-hosted-decision-7JALOU6O.js → training-hosted-decision-IKWWXA56.js} +1 -1
- package/dist/chunks/{training-hosted-engram-SXO75MFG.js → training-hosted-engram-3TOPPVSW.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-C6S4JFHW.js} +1 -1
- package/dist/chunks/{training-hosted-neuron-training-J42WK4EH.js → training-hosted-neuron-training-EP2U4PHG.js} +1 -1
- package/dist/chunks/{training-hosted-serving-report-BAEABGJH.js → training-hosted-serving-report-KJMRZJLQ.js} +1 -1
- package/dist/chunks/{training-hosted-steering-T556BUBG.js → training-hosted-steering-I27DV6A2.js} +1 -1
- package/dist/chunks/{training-model-start-P3PXDWNT.js → training-model-start-NWXNGRDC.js} +1 -1
- package/dist/chunks/{workspaces-EK62ANTB.js → workspaces-FVQYJPOS.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-QM6Y2Eod.js +54 -0
- package/dist/web/assets/{AppDialog-x1HU1uLv.js → AppDialog-C8um481a.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-CNIKmqKc.js → AppTerminalPanel-OwNr-bp6.js} +2 -2
- package/dist/web/assets/{AppToastContext-DNWd43HS.js → AppToastContext-BQ4iRFif.js} +1 -1
- package/dist/web/assets/{AppsView-BvOD83Z1.js → AppsView-mk8m_Cra.js} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-BLdDr3JZ.js → AttachmentTypeIcon-SITPqTtF.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-Ar0FlFKg.js → BrowserSidebar-BghdIKTB.js} +1 -1
- package/dist/web/assets/{CartesianChart-tS7f1HZv.js → CartesianChart-BdRx7q_O.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-z7_kur3h.js → ChatTimelineEntry-BBOnAzJB.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-CaiFEKrv.js → CollaborationTabs-Beja-9s5.js} +1 -1
- package/dist/web/assets/{CommandMenu-BpubEqaA.js → CommandMenu-CQtrSUpu.js} +1 -1
- package/dist/web/assets/{CommunityView-TGR4s99l.js → CommunityView-LPTAakS-.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-DPWCjKXz.js → ComposerAttachments-DI-Gr7Zw.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-Drji01_6.js → ComposerCreateImproveStrip-CY5Uw1yc.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-B_oW0cz7.js → ConversationImportsSettings-DFwhKERw.js} +1 -1
- package/dist/web/assets/{DatasetReviewImport-Dr3unJSY.js → DatasetReviewImport-C9xraQk7.js} +1 -1
- package/dist/web/assets/{ExperimentTrainingDataWorkspace-DObvpJAw.js → ExperimentTrainingDataWorkspace-Cx58S6R_.js} +2 -2
- package/dist/web/assets/{FilePagePreview-9kkXbARN.js → FilePagePreview-dlbmR8s8.js} +2 -2
- package/dist/web/assets/{GetStartedView-Dv2b_SlH.js → GetStartedView-BkTV_shK.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-sPaPMc61.js → GettingStartedDialog-DulDLYnr.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-BlwhGxS6.js → HostedModelLearningReview--fXJEOfI.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-B5ahk3je.js → HostedModelLearningSettings-BEb7B_PC.js} +1 -1
- package/dist/web/assets/{HtmlVisual-rGsClq0p.js → HtmlVisual-BS61T2qR.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-Da7AwZWV.js → LabModelVersionDetailPage-CmzUIDbR.js} +1 -1
- package/dist/web/assets/{LabModelWorkspace-DTeYViWH.js → LabModelWorkspace-DoAnQKWk.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BieHbNl6.js → LabSkillSidebar-DJTm7ZQs.js} +1 -1
- package/dist/web/assets/{LabsRoute-D3XqPB0-.js → LabsRoute-DNtBot4a.js} +4 -4
- package/dist/web/assets/{LearningBatchesPage-CCBuf2u4.js → LearningBatchesPage-C_oQjciE.js} +1 -1
- package/dist/web/assets/{MainChatThread-B6BQJfcq.js → MainChatThread-D9e-to8e.js} +2 -2
- package/dist/web/assets/{MainPane-D3fQou29.js → MainPane-mWeD0M-f.js} +6 -6
- package/dist/web/assets/{ModelProjectPageHeader-BZn9Lu_J.js → ModelProjectPageHeader-BecKU_2p.js} +1 -1
- package/dist/web/assets/{NativeSetupTerminal-Bglqab_g.js → NativeSetupTerminal-DO0DN4fH.js} +2 -2
- package/dist/web/assets/{NativeSkillSidebar-pUGRdnV_.js → NativeSkillSidebar-jnxgQASC.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-BpHN38MA.js → NewProjectDialog-ByHR4vMf.js} +1 -1
- package/dist/web/assets/{OutputsPage-LunDCQ6w.js → OutputsPage-DZY4BUCy.js} +1 -1
- package/dist/web/assets/{PageChrome-DThEcWAx.js → PageChrome-DjPuwWsn.js} +1 -1
- package/dist/web/assets/{ProjectsPage-vct_TQgL.js → ProjectsPage-DKbwhIM4.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-CgFK7DY0.js → RightChatPanelStack-BARH0XuL.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-qKL8dZrN.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-mmaZfybl.js → ScheduledWorkPage-CElrmRz9.js} +1 -1
- package/dist/web/assets/{SettingsView-CJfeRsWR.js → SettingsView-CsFSjE9s.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-CuimAfkv.js → TasksetDraftEditorPrimitives-DJoYkvWq.js} +1 -1
- package/dist/web/assets/{TeamChatView-BcK0lF1b.js → TeamChatView-D9Y4e98Y.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-0pzEvy-C.js → TerminalOverlay-CUO8yZjy.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-CcyzFz7l.js → TrainingCreationPanel-_mnLQ1HA.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DSLZXdLz.js → TrainingDraftPanel-CCqQTHo5.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-BT9pcnCn.js → UsageSettingsSection-CdWq5oYC.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-DRXaK-E6.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-Bbz5qrVA.js → WorkspaceDiffPanel-CdHr8bX6.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-6hXpvMTl.js → WorkspaceEnvironmentMenu-BnUh4dg9.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-BijVemBl.js → WorkspaceFileLocation-VzrSq_Ki.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-BOO0E5i9.js → WorkspaceGitDialogs-nwvQOm9r.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-B_YzK7Do.js → WorkspaceMonacoEditor-m3bCIpZe.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-CFti1fvu.js → WorkspacePdfPreview-u6Iv0qr0.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DPAhNaV6.js → WorkspacePresentationPreview-CjvTjhUO.js} +1 -1
- package/dist/web/assets/{bot-BE2rL_qv.js → bot-DiDSZBLn.js} +1 -1
- package/dist/web/assets/{chat-resources-Beh5lB36.js → chat-resources-CmBtWC5V.js} +1 -1
- package/dist/web/assets/chevron-down-CqxKXYPf.js +1 -0
- package/dist/web/assets/chevron-right-ClP6ukIq.js +1 -0
- package/dist/web/assets/chevron-up-DY7wpdJ1.js +1 -0
- package/dist/web/assets/{chunk-C3TS766N-j1MK0e3c.js → chunk-C3TS766N-DSA4vs-Y.js} +1 -1
- package/dist/web/assets/{client-BnJhN-14.js → client-_uDCFdg5.js} +1 -1
- package/dist/web/assets/{client-choice-storage-CQ0CNkzG.js → client-choice-storage-CRKZpilL.js} +1 -1
- package/dist/web/assets/{cloud-upload-DFjZE4O4.js → cloud-upload-CWamjPts.js} +1 -1
- package/dist/web/assets/{copy-CGrLUtw5.js → copy-B56YjDkW.js} +1 -1
- package/dist/web/assets/{cssMode-DvRw2fUx.js → cssMode-BuC9qQvo.js} +1 -1
- package/dist/web/assets/{external-link-3ZnEFUXd.js → external-link-BSn21e-y.js} +1 -1
- package/dist/web/assets/{folder-open-i9n8450i.js → folder-open-CaJGWSr2.js} +1 -1
- package/dist/web/assets/{folder-plus-cu8Md_ej.js → folder-plus-eTUep-az.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CwckmC09.js → git-commit-horizontal-Buk_hy6T.js} +1 -1
- package/dist/web/assets/{htmlMode-8VF4Ovtw.js → htmlMode-D7kF2kDL.js} +1 -1
- package/dist/web/assets/{icons-4yRSxBZj.js → icons-B4B5eUyR.js} +1 -1
- package/dist/web/assets/{image-D-umhyyK.js → image--4h1aK2l.js} +1 -1
- package/dist/web/assets/{index-DiVhx1GM.js → index-CCaTs7xt.js} +2 -2
- package/dist/web/assets/{info-Dq2RsPDJ.js → info-DjMTH4sJ.js} +1 -1
- package/dist/web/assets/{jsonMode-CvCYQHkB.js → jsonMode-BVX_7KjE.js} +1 -1
- package/dist/web/assets/loader-circle-DNHvEoaP.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-CjufNNFF.js → lspLanguageFeatures-RBOb-3wX.js} +1 -1
- package/dist/web/assets/{maximize-2-CKY8dua6.js → maximize-2-Cjg-f1xT.js} +1 -1
- package/dist/web/assets/{message-square-CVDgKlKX.js → message-square-oIMQDMc3.js} +1 -1
- package/dist/web/assets/{monaco.contribution-BYAgjZbj.js → monaco.contribution-CIbGU5-C.js} +2 -2
- package/dist/web/assets/{monaco.contribution-PjJ1258q.js → monaco.contribution-CIwt2mTE.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BYY3-y9l.js → monaco.contribution-Dd1cPdSS.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Bh0CKj9i.js → monaco.contribution-KRLNg324.js} +2 -2
- package/dist/web/assets/{monitor-UYe42gew.js → monitor-BWaitd6I.js} +1 -1
- package/dist/web/assets/{paperclip-DrlSVUoz.js → paperclip-FYK6OySO.js} +1 -1
- package/dist/web/assets/{pdf-BMhday2W.js → pdf-DbwlsqZP.js} +1 -1
- package/dist/web/assets/play-DieChKfF.js +1 -0
- package/dist/web/assets/plus-DkfcQyma.js +1 -0
- package/dist/web/assets/{presentation-DcZKqH7w.js → presentation-B6MaAPC7.js} +1 -1
- package/dist/web/assets/{python-CiA01i07.js → python-DRYJxjiM.js} +1 -1
- package/dist/web/assets/{refresh-cw-00D-GDnF.js → refresh-cw-DOVpqCfJ.js} +1 -1
- package/dist/web/assets/{save-CXe7bqR7.js → save-BuyyyR4Q.js} +1 -1
- package/dist/web/assets/{settings-lists-B5J40WM6.js → settings-lists-BeAdxSjx.js} +1 -1
- package/dist/web/assets/square-D0YnIVh6.js +1 -0
- package/dist/web/assets/{square-terminal-DxC7TTds.js → square-terminal-DTOIZy6_.js} +1 -1
- package/dist/web/assets/{submit-issue-command-Dq3TqJLV.js → submit-issue-command-V--K9lVQ.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BH3Jckfo.js → toggleHighContrast-nNzCoE0h.js} +1 -1
- package/dist/web/assets/training-DZgfVcI-.js +1 -0
- package/dist/web/assets/{training-model-data-B6IZ3x-t.js → training-model-data-CWoTokkb.js} +1 -1
- package/dist/web/assets/{tsMode-DXkj4bqC.js → tsMode-BfVi5_FZ.js} +1 -1
- package/dist/web/assets/{upload-B3KRHVHl.js → upload-C2MnlWjj.js} +1 -1
- package/dist/web/assets/{useAccountSettings-BGRkTRrp.js → useAccountSettings-QwRbZIKu.js} +1 -1
- package/dist/web/assets/{useAgentInventory-D_1AlAZJ.js → useAgentInventory-B7xEgMCA.js} +1 -1
- package/dist/web/assets/{useChatContextSelection-hoMSuUSE.js → useChatContextSelection-O6wo4EqD.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DxTER7Ow.js → useLocalAgentSchedules-DpHnOGoV.js} +1 -1
- package/dist/web/assets/{useQuery-DkPec_9x.js → useQuery-CvZ8bzdW.js} +1 -1
- package/dist/web/assets/{wifi-off-CMzpvbWl.js → wifi-off-B8d12Alh.js} +1 -1
- package/dist/web/assets/{workers-ziY_bTv2.js → workers-sIVKxb8c.js} +1 -1
- package/dist/web/assets/x-BvVvVB-j.js +1 -0
- package/dist/web/assets/{yaml-mSvqVSko.js → yaml-8-aLM3zj.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/app-server-runtime-B7AMBGQZ.js +0 -2
- 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/project-action-payload-53OH6WDH.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,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{i as Q}from"./chunk-AFYYIJ6K.js";import{d as Jt,g as Wt,k as Kt}from"./chunk-I6VMRQF4.js";import{Y as q,cb as Nt,da as V,ha as je,ja as Pe,ka as Lt,oa as J,qa as W}from"./chunk-D6L6UNUQ.js";import{B as Ot,D as Mt,L as v,M as T,N as _,O as Ae,Q as Y,R as zt,Rb as qt,S as D,Tb as Vt,Wb as Gt,ba as rt,ca as Bt,da as X,eb as Ft,l as N,o as tt,t as $t,w as Dt}from"./chunk-4PUOWSDE.js";import{$a as It,C as At,Ca as Ct,Ra as pe,Sa as Ht,Wa as fe,aa as jt,bb as F,da as et,ea as ue,fa as Pt,ga as B,h as Vr,ia as Ee,j as Te,v as le,x as Qe}from"./chunk-ZY32SZ2P.js";import{a as Tt,b as Et}from"./chunk-OTDDXEQ6.js";import{f as _e}from"./chunk-HNQPEOJD.js";import{b as I,c as Re,d as we,g as wt,h as _t,i as C,l as z,m as $,n as g}from"./chunk-RCT3O3HQ.js";import{h as ye}from"./chunk-5HPZGLOL.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as l,e as qr}from"./chunk-FTQLQJQV.js";var Xt=qr(Vr(),1);var E=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Ut=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape"),Gr=l(t=>t.replaceAll("~1","/").replaceAll("~0","~"),"unescape"),Lr=l(t=>t||"/","label");function Ce(t){let a=JSON.stringify(t);return a&&a.length<=160?a:"the value declared in the public schema"}l(Ce,"literal");function he(t,a){let r=t;for(let n of a){let s=Gr(n);if(!E(r)&&!Array.isArray(r)||!Object.hasOwn(r,s))return;r=r[s]}return r}l(he,"at");function at(t,a,r=0){return!E(t)||r>20?null:typeof t.$ref=="string"&&t.$ref.startsWith("#/")?at(he(a,t.$ref.slice(2).split("/")),a,r+1):t}l(at,"resolve");function st(t,a,r,n,s=0){let i=at(t,n);if(!i||s>6)return null;let o=Lr(a);if(Object.hasOwn(i,"const"))return`${o} must equal ${Ce(i.const)}`;if(Array.isArray(i.enum)&&i.enum.length<=12)return`${o} must be one of ${Ce(i.enum)}`;if(Array.isArray(r)){if(i.maxItems===0)return`${o} must be an empty array`;let u=E(i.not)?i.not:null,c=u&&E(u.items)?u.items:null,m=c&&E(c.not)?at(c.not,n):null,h=m?.required;if(m&&E(m.properties)&&Array.isArray(h)){let d=Object.entries(m.properties);if(d.length&&d.every(([p,x])=>E(x)&&Object.hasOwn(x,"const")&&h.includes(p))){let p=Object.fromEntries(d.map(([x,f])=>[x,f.const]));return`${o} must contain at least one item matching ${Ce(p)}`}}if(typeof i.maxItems=="number")return`${o} must contain at most ${i.maxItems} items`;if(typeof i.minItems=="number")return`${o} must contain at least ${i.minItems} items`}if(E(i.properties)&&E(r)){let u=Object.entries(i.properties).flatMap(([c,m])=>{if(!Object.hasOwn(r,c))return[];let h=st(m,a+"/"+Ut(c),r[c],n,s+1);return h?[h]:[]});if(u.length)return u.slice(0,4).join("; ")}if(Array.isArray(i.required)&&E(r)){let u=i.required.filter(c=>typeof c=="string"&&!Object.hasOwn(r,c));if(u.length)return`${o} must include ${u.slice(0,4).map(Ce).join(", ")}`}return null}l(st,"describe");function Zt(t,a,r){let n=r.instancePath+(r.keyword==="required"?"/"+Ut(String(r.params.missingProperty)):""),s=r.schemaPath.startsWith("#/")?r.schemaPath.slice(2).split("/"):[],i=r.message??"Schema assertion failed",o=he(t,s.slice(0,-1)),u=st(o,r.instancePath,he(a,r.instancePath?r.instancePath.slice(1).split("/"):[]),t);for(let c=s.length-1;c>=0;c--){if(s[c]!=="then"&&s[c]!=="else")continue;let m=he(t,s.slice(0,c));if(!E(m)||!E(m.if))continue;let h=r.instancePath?r.instancePath.slice(1).split("/"):[],d=s.slice(c+1),p=d.filter((b,R)=>R>0&&d[R-1]==="properties"||b==="items"&&d[R-1]!=="properties").length,x=p<=h.length?h.slice(0,h.length-p):[],f=x.length?"/"+x.join("/"):"",k=st(m.if,f,he(a,x),t);if(k&&u){let b=k.replaceAll(" must be "," is ").replaceAll(" must equal "," equals ").replaceAll(" must contain "," contains ").replaceAll(" must include "," includes ");i=`${s[c]==="then"?"When":"When the following condition does not hold:"} ${b}, ${u}.`}break}return i===r.message&&u&&["not","enum","const","minItems","maxItems"].includes(r.keyword)&&(i=u+"."),{path:n,message:i,keyword:r.keyword,schemaPath:r.schemaPath}}l(Zt,"structuredOutputDiagnostic");var He=e.object({schemaVersion:e.literal("openpond.structuredSamplingSchema.v1"),validationSchemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaRef:C.refine(t=>t.visibility==="policy"&&t.sizeBytes<=128e3&&["application/json","application/schema+json"].includes(t.mediaType),"Sampling schemas must be bounded policy-visible JSON assets."),postValidationOnly:e.array(e.object({schemaPath:e.string().min(1).max(2e3),keyword:e.literal("maxItems"),enforcement:e.literal("full_validation_only")}).strict()).min(1).max(100)}).strict(),Nr=e.object({declaration:He,schema:e.record(e.string(),e.unknown()),schemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaSource:e.string().max(128e3)}).strict();function it(t){let a=t?.structuredSamplingSchema;return a===void 0?void 0:He.parse(a)}l(it,"structuredSamplingSchemaDeclaration");var nt=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Jr=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape");function Wr(t,a){let r=He.parse(a);if(r.validationSchemaHash!==t.schemaHash)throw new Error("structured_sampling_validation_identity_changed");if(I(t.schemaSource)!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_sampling_validation_source_changed");let n=JSON.parse(t.schemaSource),s=new Map;function i(u,c,m=!0){if(!nt(u))return;if(u.$ref!==void 0)throw new Error("structured_sampling_reference_unsupported");let h=Array.isArray(u.type)?u.type:[u.type];m&&h.includes("array")&&Number.isSafeInteger(u.maxItems)&&Number(u.maxItems)>=0&&s.set(`${c}/maxItems`,u);for(let d of["properties","$defs"])if(nt(u[d]))for(let[p,x]of Object.entries(u[d]))i(x,`${c}/${d}/${Jr(p)}`,m&&d!=="$defs");for(let d of["items","additionalProperties","then","else","not","if"])u[d]!==void 0&&i(u[d],`${c}/${d}`,m&&d!=="not"&&d!=="if");for(let d of["allOf","anyOf","oneOf"])Array.isArray(u[d])&&u[d].forEach((p,x)=>i(p,`${c}/${d}/${x}`,m&&d!=="oneOf"))}l(i,"visit"),i(n,"");let o=new Set;for(let u of r.postValidationOnly){let c=s.get(u.schemaPath);if(!c||o.has(u.schemaPath))throw new Error("structured_sampling_assertion_path_invalid");o.add(u.schemaPath),delete c.maxItems}return n}l(Wr,"projectStructuredSamplingSchema");function Ie(t,a){let r=Nr.parse(a),n=Wr(t,r.declaration),s=JSON.stringify(n);if(r.schemaSource!==s||z(r.schema)!==z(n)||I(s)!==r.schemaHash||r.schemaHash!==r.declaration.schemaRef.contentHash||new TextEncoder().encode(s).byteLength!==r.declaration.schemaRef.sizeBytes)throw new Error("structured_sampling_schema_identity_changed")}l(Ie,"assertStructuredSamplingSchema");function ot(t,a,r){let n=He.parse(a);if(r.byteLength>128e3||r.byteLength!==n.schemaRef.sizeBytes||I(r)!==n.schemaRef.contentHash)throw new Error("structured_sampling_asset_mismatch");let s=new TextDecoder("utf-8",{fatal:!0}).decode(r),i={declaration:n,schema:JSON.parse(s),schemaHash:n.schemaRef.contentHash,schemaSource:s};return Ie(t,i),i}l(ot,"resolveStructuredSamplingSchema");function Yt(t,a){Ie(t,a);let r=JSON.parse(t.schemaSource);return a.declaration.postValidationOnly.map(n=>{let s=r;for(let i of n.schemaPath.slice(1).split("/")){let o=i.replaceAll("~1","/").replaceAll("~0","~");s=nt(s)||Array.isArray(s)?Reflect.get(s,o):void 0}return{...n,value:s}})}l(Yt,"structuredSamplingSchemaAssertions");var Kr="work.structured-output.v1",Ur=new Set(["$schema","$id","$defs","$ref","title","description","type","properties","required","additionalProperties","items","minItems","maxItems","minLength","maxLength","minimum","maximum","enum","const","allOf","anyOf","oneOf","not","if","then","else","uniqueItems","pattern","multipleOf","exclusiveMinimum","exclusiveMaximum","minProperties","maxProperties"]),ke=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),ge=new Map;function Qt(t){let a=I(JSON.stringify(t)),r=ge.get(a);return r||(r=new Xt.default({strict:!0,strictTypes:!1,strictRequired:!1,allErrors:!1,validateFormats:!0,ownProperties:!0}).compile(t),ge.size>=64&&ge.delete(ge.keys().next().value),ge.set(a,r)),r}l(Qt,"compiled");function er(t){if(!ke(t)||t.type!=="object"||JSON.stringify(t).length>128e3)throw new Error("structured_schema_tool_root_or_size_invalid");let a=t,r=0;function n(s,i,o){if(typeof s=="boolean")return;if(!ke(s)||i>20||++r>2e3||o.has(s))throw new Error("structured_schema_complexity_or_shape");let u=new Set(o).add(s);for(let c of Object.keys(s))if(!Ur.has(c))throw new Error(`structured_schema_keyword_unsupported:${c}`);if(s.$schema!==void 0&&s.$schema!=="https://json-schema.org/draft/2020-12/schema")throw new Error("structured_schema_dialect_unsupported");if(typeof s.$ref=="string"){if(!s.$ref.startsWith("#/$defs/"))throw new Error("structured_schema_external_or_recursive_ref");let c=a;for(let m of s.$ref.slice(2).split("/"))c=ke(c)&&Object.hasOwn(c,m.replaceAll("~1","/").replaceAll("~0","~"))?c[m.replaceAll("~1","/").replaceAll("~0","~")]:void 0;n(c,i+1,u)}if(s.pattern!==void 0){if(typeof s.pattern!="string"||s.pattern.length>200||/[()|\\]/.test(s.pattern))throw new Error("structured_schema_pattern_unsupported");let c=s.pattern.match(/[+*?{]/g)?.length??0;if(c>1||c===1&&(!s.pattern.startsWith("^")||!s.pattern.endsWith("$")))throw new Error("structured_schema_pattern_unsupported")}for(let c of["properties","$defs"])if(s[c]!==void 0){if(!ke(s[c]))throw new Error("structured_schema_map_invalid");for(let m of Object.values(s[c]))n(m,i+1,u)}for(let c of["items","additionalProperties","not","if","then","else"])s[c]!==void 0&&n(s[c],i+1,u);for(let c of["allOf","anyOf","oneOf"])if(s[c]!==void 0){if(!Array.isArray(s[c])||!s[c].length)throw new Error("structured_schema_union_invalid");for(let m of s[c])n(m,i+1,u)}}l(n,"visit"),n(t,0,new Set),Qt(t)}l(er,"assertStructuredOutputSchema");function ct(t,a){if(t.byteLength>128e3||I(t)!==a)throw new Error("structured_schema_asset_mismatch");let r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(t));return er(r),{schema:r,schemaHash:a,schemaSource:new TextDecoder("utf-8",{fatal:!0}).decode(t)}}l(ct,"resolveStructuredOutput");function tr(t){if(er(t.schema),I(new TextEncoder().encode(t.schemaSource))!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_schema_contract_changed");if(!/^[a-f0-9]{64}$/.test(t.schemaHash))throw new Error("structured_schema_hash_invalid");t.sampling!==void 0&&Ie(t,t.sampling)}l(tr,"assertStructuredOutputContract");function _s(t){let a=new Set;return t.flatMap((r,n)=>{if(a.has(r.path)||!r.path||r.path.startsWith("/")||r.path.replaceAll("\\","/").split("/").some(s=>!s||s==="."||s===".."))throw new Error("structured_output_path_invalid_or_duplicate");if(a.add(r.path),r.submissionMode!=="structured_json"){if(r.structuredOutput)throw new Error("structured_output_opt_in_missing");return[]}if(r.mediaType!=="application/json"||!r.structuredOutput)throw new Error("structured_output_contract_missing");return tr(r.structuredOutput),[{type:"function",function:{name:`work_submit_output_${n+1}`,description:`Validate and save ${r.path}. Supply the output fields directly; validation errors can be corrected and resubmitted.${r.structuredOutput.sampling?" Full validation also enforces the postValidationOnly limits listed in requiredOutputs; a generated call can fail those submission limits.":""}`,parameters:r.structuredOutput.sampling?JSON.parse(r.structuredOutput.sampling.schemaSource):r.structuredOutput.schema}}]})}l(_s,"structuredOutputTools");function Ts(t,a){return t.find((r,n)=>r.submissionMode==="structured_json"&&a===`work_submit_output_${n+1}`)}l(Ts,"structuredToolOutput");function Zr(t,a){let r=0;function n(i,o){if(o>30||++r>1e4||Array.isArray(i)&&i.length>1e3)throw new Error("structured_output_payload_complexity");if(ke(i)||Array.isArray(i))for(let u of Object.values(i))n(u,o+1)}l(n,"bound"),n(a,0);let s=Qt(t);return s(a)?[]:(s.errors??[]).slice(0,20).map(i=>Zt(t,a,i))}l(Zr,"validateStructuredOutput");function Yr(t,a){if(a.byteLength>(t.maxBytes??1e7))throw new Error("work_output_too_large");if(t.submissionMode!=="structured_json")return;if(!t.structuredOutput)throw new Error("structured_output_contract_missing");tr(t.structuredOutput);let r;try{r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(a))}catch{throw new Error("structured_output_invalid_json")}let n=Zr(t.structuredOutput.schema,r);if(n.length)throw new Error("structured_output_invalid:"+JSON.stringify(n));return{status:"passed",schemaHash:t.structuredOutput.schemaHash,...t.structuredOutput.sampling?{samplingSchemaHash:t.structuredOutput.sampling.schemaHash,samplingSchemaDeclaration:t.structuredOutput.sampling.declaration,postValidationOnly:Yt(t.structuredOutput,t.structuredOutput.sampling)}:{},artifactHash:I(a),capability:Kr}}l(Yr,"validateOutputBytes");function Es(t,a){let r=new TextEncoder().encode(JSON.stringify(a,null,2)+`
|
|
2
|
+
import{j as Q}from"./chunk-C7NQPICU.js";import{d as Jt,g as Wt,k as Kt}from"./chunk-I6VMRQF4.js";import{Y as q,cb as Nt,da as V,ha as je,ja as Pe,ka as Lt,oa as J,qa as W}from"./chunk-D6L6UNUQ.js";import{B as Ot,D as Mt,L as v,M as T,N as _,O as Ae,Q as Y,R as zt,Rb as qt,S as D,Tb as Vt,Wb as Gt,ba as rt,ca as Bt,da as X,eb as Ft,l as N,o as tt,t as $t,w as Dt}from"./chunk-ZEOYNUHL.js";import{$a as It,C as At,Ca as Ct,Ra as pe,Sa as Ht,Wa as fe,aa as jt,bb as F,da as et,ea as ue,fa as Pt,ga as B,h as Vr,ia as Ee,j as Te,v as le,x as Qe}from"./chunk-ZY32SZ2P.js";import{a as Tt,b as Et}from"./chunk-OTDDXEQ6.js";import{f as _e}from"./chunk-HNQPEOJD.js";import{b as I,c as Re,d as we,g as wt,h as _t,i as C,l as z,m as $,n as g}from"./chunk-RCT3O3HQ.js";import{h as ye}from"./chunk-5HPZGLOL.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as l,e as qr}from"./chunk-FTQLQJQV.js";var Xt=qr(Vr(),1);var E=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Ut=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape"),Gr=l(t=>t.replaceAll("~1","/").replaceAll("~0","~"),"unescape"),Lr=l(t=>t||"/","label");function Ce(t){let a=JSON.stringify(t);return a&&a.length<=160?a:"the value declared in the public schema"}l(Ce,"literal");function he(t,a){let r=t;for(let n of a){let s=Gr(n);if(!E(r)&&!Array.isArray(r)||!Object.hasOwn(r,s))return;r=r[s]}return r}l(he,"at");function at(t,a,r=0){return!E(t)||r>20?null:typeof t.$ref=="string"&&t.$ref.startsWith("#/")?at(he(a,t.$ref.slice(2).split("/")),a,r+1):t}l(at,"resolve");function st(t,a,r,n,s=0){let i=at(t,n);if(!i||s>6)return null;let o=Lr(a);if(Object.hasOwn(i,"const"))return`${o} must equal ${Ce(i.const)}`;if(Array.isArray(i.enum)&&i.enum.length<=12)return`${o} must be one of ${Ce(i.enum)}`;if(Array.isArray(r)){if(i.maxItems===0)return`${o} must be an empty array`;let u=E(i.not)?i.not:null,c=u&&E(u.items)?u.items:null,m=c&&E(c.not)?at(c.not,n):null,h=m?.required;if(m&&E(m.properties)&&Array.isArray(h)){let d=Object.entries(m.properties);if(d.length&&d.every(([p,x])=>E(x)&&Object.hasOwn(x,"const")&&h.includes(p))){let p=Object.fromEntries(d.map(([x,f])=>[x,f.const]));return`${o} must contain at least one item matching ${Ce(p)}`}}if(typeof i.maxItems=="number")return`${o} must contain at most ${i.maxItems} items`;if(typeof i.minItems=="number")return`${o} must contain at least ${i.minItems} items`}if(E(i.properties)&&E(r)){let u=Object.entries(i.properties).flatMap(([c,m])=>{if(!Object.hasOwn(r,c))return[];let h=st(m,a+"/"+Ut(c),r[c],n,s+1);return h?[h]:[]});if(u.length)return u.slice(0,4).join("; ")}if(Array.isArray(i.required)&&E(r)){let u=i.required.filter(c=>typeof c=="string"&&!Object.hasOwn(r,c));if(u.length)return`${o} must include ${u.slice(0,4).map(Ce).join(", ")}`}return null}l(st,"describe");function Zt(t,a,r){let n=r.instancePath+(r.keyword==="required"?"/"+Ut(String(r.params.missingProperty)):""),s=r.schemaPath.startsWith("#/")?r.schemaPath.slice(2).split("/"):[],i=r.message??"Schema assertion failed",o=he(t,s.slice(0,-1)),u=st(o,r.instancePath,he(a,r.instancePath?r.instancePath.slice(1).split("/"):[]),t);for(let c=s.length-1;c>=0;c--){if(s[c]!=="then"&&s[c]!=="else")continue;let m=he(t,s.slice(0,c));if(!E(m)||!E(m.if))continue;let h=r.instancePath?r.instancePath.slice(1).split("/"):[],d=s.slice(c+1),p=d.filter((b,R)=>R>0&&d[R-1]==="properties"||b==="items"&&d[R-1]!=="properties").length,x=p<=h.length?h.slice(0,h.length-p):[],f=x.length?"/"+x.join("/"):"",k=st(m.if,f,he(a,x),t);if(k&&u){let b=k.replaceAll(" must be "," is ").replaceAll(" must equal "," equals ").replaceAll(" must contain "," contains ").replaceAll(" must include "," includes ");i=`${s[c]==="then"?"When":"When the following condition does not hold:"} ${b}, ${u}.`}break}return i===r.message&&u&&["not","enum","const","minItems","maxItems"].includes(r.keyword)&&(i=u+"."),{path:n,message:i,keyword:r.keyword,schemaPath:r.schemaPath}}l(Zt,"structuredOutputDiagnostic");var He=e.object({schemaVersion:e.literal("openpond.structuredSamplingSchema.v1"),validationSchemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaRef:C.refine(t=>t.visibility==="policy"&&t.sizeBytes<=128e3&&["application/json","application/schema+json"].includes(t.mediaType),"Sampling schemas must be bounded policy-visible JSON assets."),postValidationOnly:e.array(e.object({schemaPath:e.string().min(1).max(2e3),keyword:e.literal("maxItems"),enforcement:e.literal("full_validation_only")}).strict()).min(1).max(100)}).strict(),Nr=e.object({declaration:He,schema:e.record(e.string(),e.unknown()),schemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaSource:e.string().max(128e3)}).strict();function it(t){let a=t?.structuredSamplingSchema;return a===void 0?void 0:He.parse(a)}l(it,"structuredSamplingSchemaDeclaration");var nt=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Jr=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape");function Wr(t,a){let r=He.parse(a);if(r.validationSchemaHash!==t.schemaHash)throw new Error("structured_sampling_validation_identity_changed");if(I(t.schemaSource)!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_sampling_validation_source_changed");let n=JSON.parse(t.schemaSource),s=new Map;function i(u,c,m=!0){if(!nt(u))return;if(u.$ref!==void 0)throw new Error("structured_sampling_reference_unsupported");let h=Array.isArray(u.type)?u.type:[u.type];m&&h.includes("array")&&Number.isSafeInteger(u.maxItems)&&Number(u.maxItems)>=0&&s.set(`${c}/maxItems`,u);for(let d of["properties","$defs"])if(nt(u[d]))for(let[p,x]of Object.entries(u[d]))i(x,`${c}/${d}/${Jr(p)}`,m&&d!=="$defs");for(let d of["items","additionalProperties","then","else","not","if"])u[d]!==void 0&&i(u[d],`${c}/${d}`,m&&d!=="not"&&d!=="if");for(let d of["allOf","anyOf","oneOf"])Array.isArray(u[d])&&u[d].forEach((p,x)=>i(p,`${c}/${d}/${x}`,m&&d!=="oneOf"))}l(i,"visit"),i(n,"");let o=new Set;for(let u of r.postValidationOnly){let c=s.get(u.schemaPath);if(!c||o.has(u.schemaPath))throw new Error("structured_sampling_assertion_path_invalid");o.add(u.schemaPath),delete c.maxItems}return n}l(Wr,"projectStructuredSamplingSchema");function Ie(t,a){let r=Nr.parse(a),n=Wr(t,r.declaration),s=JSON.stringify(n);if(r.schemaSource!==s||z(r.schema)!==z(n)||I(s)!==r.schemaHash||r.schemaHash!==r.declaration.schemaRef.contentHash||new TextEncoder().encode(s).byteLength!==r.declaration.schemaRef.sizeBytes)throw new Error("structured_sampling_schema_identity_changed")}l(Ie,"assertStructuredSamplingSchema");function ot(t,a,r){let n=He.parse(a);if(r.byteLength>128e3||r.byteLength!==n.schemaRef.sizeBytes||I(r)!==n.schemaRef.contentHash)throw new Error("structured_sampling_asset_mismatch");let s=new TextDecoder("utf-8",{fatal:!0}).decode(r),i={declaration:n,schema:JSON.parse(s),schemaHash:n.schemaRef.contentHash,schemaSource:s};return Ie(t,i),i}l(ot,"resolveStructuredSamplingSchema");function Yt(t,a){Ie(t,a);let r=JSON.parse(t.schemaSource);return a.declaration.postValidationOnly.map(n=>{let s=r;for(let i of n.schemaPath.slice(1).split("/")){let o=i.replaceAll("~1","/").replaceAll("~0","~");s=nt(s)||Array.isArray(s)?Reflect.get(s,o):void 0}return{...n,value:s}})}l(Yt,"structuredSamplingSchemaAssertions");var Kr="work.structured-output.v1",Ur=new Set(["$schema","$id","$defs","$ref","title","description","type","properties","required","additionalProperties","items","minItems","maxItems","minLength","maxLength","minimum","maximum","enum","const","allOf","anyOf","oneOf","not","if","then","else","uniqueItems","pattern","multipleOf","exclusiveMinimum","exclusiveMaximum","minProperties","maxProperties"]),ke=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),ge=new Map;function Qt(t){let a=I(JSON.stringify(t)),r=ge.get(a);return r||(r=new Xt.default({strict:!0,strictTypes:!1,strictRequired:!1,allErrors:!1,validateFormats:!0,ownProperties:!0}).compile(t),ge.size>=64&&ge.delete(ge.keys().next().value),ge.set(a,r)),r}l(Qt,"compiled");function er(t){if(!ke(t)||t.type!=="object"||JSON.stringify(t).length>128e3)throw new Error("structured_schema_tool_root_or_size_invalid");let a=t,r=0;function n(s,i,o){if(typeof s=="boolean")return;if(!ke(s)||i>20||++r>2e3||o.has(s))throw new Error("structured_schema_complexity_or_shape");let u=new Set(o).add(s);for(let c of Object.keys(s))if(!Ur.has(c))throw new Error(`structured_schema_keyword_unsupported:${c}`);if(s.$schema!==void 0&&s.$schema!=="https://json-schema.org/draft/2020-12/schema")throw new Error("structured_schema_dialect_unsupported");if(typeof s.$ref=="string"){if(!s.$ref.startsWith("#/$defs/"))throw new Error("structured_schema_external_or_recursive_ref");let c=a;for(let m of s.$ref.slice(2).split("/"))c=ke(c)&&Object.hasOwn(c,m.replaceAll("~1","/").replaceAll("~0","~"))?c[m.replaceAll("~1","/").replaceAll("~0","~")]:void 0;n(c,i+1,u)}if(s.pattern!==void 0){if(typeof s.pattern!="string"||s.pattern.length>200||/[()|\\]/.test(s.pattern))throw new Error("structured_schema_pattern_unsupported");let c=s.pattern.match(/[+*?{]/g)?.length??0;if(c>1||c===1&&(!s.pattern.startsWith("^")||!s.pattern.endsWith("$")))throw new Error("structured_schema_pattern_unsupported")}for(let c of["properties","$defs"])if(s[c]!==void 0){if(!ke(s[c]))throw new Error("structured_schema_map_invalid");for(let m of Object.values(s[c]))n(m,i+1,u)}for(let c of["items","additionalProperties","not","if","then","else"])s[c]!==void 0&&n(s[c],i+1,u);for(let c of["allOf","anyOf","oneOf"])if(s[c]!==void 0){if(!Array.isArray(s[c])||!s[c].length)throw new Error("structured_schema_union_invalid");for(let m of s[c])n(m,i+1,u)}}l(n,"visit"),n(t,0,new Set),Qt(t)}l(er,"assertStructuredOutputSchema");function ct(t,a){if(t.byteLength>128e3||I(t)!==a)throw new Error("structured_schema_asset_mismatch");let r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(t));return er(r),{schema:r,schemaHash:a,schemaSource:new TextDecoder("utf-8",{fatal:!0}).decode(t)}}l(ct,"resolveStructuredOutput");function tr(t){if(er(t.schema),I(new TextEncoder().encode(t.schemaSource))!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_schema_contract_changed");if(!/^[a-f0-9]{64}$/.test(t.schemaHash))throw new Error("structured_schema_hash_invalid");t.sampling!==void 0&&Ie(t,t.sampling)}l(tr,"assertStructuredOutputContract");function _s(t){let a=new Set;return t.flatMap((r,n)=>{if(a.has(r.path)||!r.path||r.path.startsWith("/")||r.path.replaceAll("\\","/").split("/").some(s=>!s||s==="."||s===".."))throw new Error("structured_output_path_invalid_or_duplicate");if(a.add(r.path),r.submissionMode!=="structured_json"){if(r.structuredOutput)throw new Error("structured_output_opt_in_missing");return[]}if(r.mediaType!=="application/json"||!r.structuredOutput)throw new Error("structured_output_contract_missing");return tr(r.structuredOutput),[{type:"function",function:{name:`work_submit_output_${n+1}`,description:`Validate and save ${r.path}. Supply the output fields directly; validation errors can be corrected and resubmitted.${r.structuredOutput.sampling?" Full validation also enforces the postValidationOnly limits listed in requiredOutputs; a generated call can fail those submission limits.":""}`,parameters:r.structuredOutput.sampling?JSON.parse(r.structuredOutput.sampling.schemaSource):r.structuredOutput.schema}}]})}l(_s,"structuredOutputTools");function Ts(t,a){return t.find((r,n)=>r.submissionMode==="structured_json"&&a===`work_submit_output_${n+1}`)}l(Ts,"structuredToolOutput");function Zr(t,a){let r=0;function n(i,o){if(o>30||++r>1e4||Array.isArray(i)&&i.length>1e3)throw new Error("structured_output_payload_complexity");if(ke(i)||Array.isArray(i))for(let u of Object.values(i))n(u,o+1)}l(n,"bound"),n(a,0);let s=Qt(t);return s(a)?[]:(s.errors??[]).slice(0,20).map(i=>Zt(t,a,i))}l(Zr,"validateStructuredOutput");function Yr(t,a){if(a.byteLength>(t.maxBytes??1e7))throw new Error("work_output_too_large");if(t.submissionMode!=="structured_json")return;if(!t.structuredOutput)throw new Error("structured_output_contract_missing");tr(t.structuredOutput);let r;try{r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(a))}catch{throw new Error("structured_output_invalid_json")}let n=Zr(t.structuredOutput.schema,r);if(n.length)throw new Error("structured_output_invalid:"+JSON.stringify(n));return{status:"passed",schemaHash:t.structuredOutput.schemaHash,...t.structuredOutput.sampling?{samplingSchemaHash:t.structuredOutput.sampling.schemaHash,samplingSchemaDeclaration:t.structuredOutput.sampling.declaration,postValidationOnly:Yt(t.structuredOutput,t.structuredOutput.sampling)}:{},artifactHash:I(a),capability:Kr}}l(Yr,"validateOutputBytes");function Es(t,a){let r=new TextEncoder().encode(JSON.stringify(a,null,2)+`
|
|
3
3
|
`);return Yr(t,r),r}l(Es,"serializeStructuredOutput");var dt=e.object({batch:Mt,evidence:e.array(Dt).min(1).max(1e4),decisions:e.array(Ot).min(1).max(1e4),sources:e.array($t).min(1).max(1e4),assets:e.array(Y).max(1e3)}).strict();function rr(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=ye(a.submission.evaluatorContext),n=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:$(n),sizeBytes:n.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(n,s=>String.fromCharCode(s)).join(""))}})}l(rr,"learningPackageContextFiles");function ar(t,a){let r=dt.parse(a),n=X(t);if(!T(v(r.batch),n.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let m of[r.evidence,r.decisions,r.sources,r.assets]){let h=new Set;for(let d of m){Ae(d);let p=`${d.id}:${d.revision}`;if(h.has(p))throw new Error("Taskset learning resource identities must be unique.");h.add(p)}}if(r.evidence.length!==r.batch.examples.length||r.decisions.length!==r.batch.examples.length)throw new Error("Taskset learning snapshots must match the admitted batch inventory.");for(let m of r.evidence){let h=r.sources.find(d=>T(v(d),m.source));if(!h||!T(h.taskDefinition,v(n.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(m=>!r.evidence.some(h=>T(h.source,v(m)))))throw new Error("Taskset package includes an unrelated learning source.");let s=n.rewards.flatMap(m=>[...m.assets,...m.implementation.kind==="custom_verifier"?[m.implementation.verifierRef]:m.implementation.kind==="model_judge"||m.implementation.kind==="human"?[m.implementation.rubricRef]:[],..."inputContract"in m.implementation?[m.implementation.inputContract]:[]]);for(let m of s){let h=r.assets.find(d=>d.id===m.id);if(!h)throw new Error("Taskset learning Reward asset is missing.");D(h,m)}if(r.assets.some(m=>!s.some(h=>h.id===m.id)))throw new Error("Taskset package includes an unrelated learning asset.");let i=Bt({batch:r.batch,definition:n.definition,binding:n.binding,rewards:n.rewards,evidence:r.evidence,decisions:r.decisions}),o=X(i);if(g(o)!==g(n))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let u=l(m=>({policy:m.policy,environment:m.environment,tools:m.tools}),"execution");if(g(u(i))!==g(u(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let c=l(m=>({id:m.id,clusterKey:m.clusterKey,split:m.split,input:m.input,expectedOutput:m.expectedOutput,policyVisibleContext:m.policyVisibleContext,privilegedContextRef:m.privilegedContextRef,artifactRefs:m.artifactRefs,requiredOutputs:m.requiredOutputs??[],tags:m.tags}),"taskContent");if(g(i.tasks.map(c))!==g(t.tasks.map(c)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}l(ar,"validateTasksetLearningResources");var K=N.shape.id,xe=e.string().regex(/^[a-f0-9]{64}$/),Xr=e.object({scopeId:K,modelId:K}).strict(),mt=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:Xr,root:N,parent:N}).strict(),Bs=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:K,modelId:K,expectedModelRevision:e.number().int().positive(),sourcePackageHash:xe}).strict(),sr=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:K,requestHash:xe,sourcePackageHash:xe,sourceTasksetRef:N,tasksetId:K,tasksetRevision:e.number().int().positive(),lineage:mt,authoringGraph:e.literal("bound").optional()}).strict(),nr=e.string().min(1).max(1024).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.includes("\0")&&!t.startsWith("/")&&!t.split("/").some(a=>!a||a==="."||a===".."||a.startsWith(".env")),"Use a relative Taskset file path without environment files."),Qr=e.object({path:nr,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),ir=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),Fs=Qr.extend({contentHash:xe,content:ir}).strict(),qs=e.object({draftId:K,expectedDraftRevision:e.number().int().positive(),path:nr,expectedFileHash:xe.nullable(),content:ir.nullable()}).strict();var $e=64*1024*1024,De=e.object({asset:C,base64:e.string()}).strict();function j(t){let a=De.parse(t),r=atob(a.base64);if(btoa(r)!==a.base64)throw new Error(`Taskset asset ${a.asset.id} has noncanonical base64.`);let n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);if(n.byteLength!==a.asset.sizeBytes||$(n)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return n}l(j,"decodeTasksetPackageFile");var Qs=e.string().regex(/^[a-f0-9]{64}$/);var ee=e.object({environment:q,verifierSet:V,javascript:Jt}).strict(),en=e.object({actions:e.array(e.object({name:e.string().min(1).max(64),arguments:e.record(e.string(),e.unknown())}).strict()).max(1e3)}).strict();function lt(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${_({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}l(lt,"modelStarterExecutionAssetId");function or(t){let a=ee.parse(t);cr(a);let r=lt({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),n=zt({text:ye(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:s,...i}=n;return _({...i,id:r,asset:{...i.asset,id:r}})}l(or,"createModelStarterExecutionAsset");function U(t,a){return _({value:t}).contentHash===_({value:a}).contentHash}l(U,"equal");function cr(t){Wt(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...n}=a;if(_(n).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!U(t.environment.metadata.javascriptEnvironment,v(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}l(cr,"assertExecutionIntegrity");function Oe(t,a,r){if(!t){if(a.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:n,verifierSet:s,javascript:i}=t;if(cr(t),!U(a.environmentRelease,{id:n.id,contentHash:n.contentHash})||!U(a.verifierSetRelease,{id:s.id,contentHash:s.contentHash})||!U(n.contract,a.environment)||!U(s.graders,a.graders)||!U(a.tools,i.tools)||!U(n.metadata.javascriptEnvironment,v(i)))throw new Error("Starter execution resources differ from its declared task context.");let o=n.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||a.capabilities.length||a.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let u of[i.module,n.actionSchemaRef,n.observationSchemaRef,n.stateSchemaRef]){if(!u)continue;let c=r.find(m=>m.id===u.id);if(!c)throw new Error(`Starter environment asset is missing: ${u.id}.`);D(c,u)}for(let u of a.tasks){let c=r.find(h=>h.id===u.privilegedContextRef);if(!c||c.asset.visibility!=="host_private"||c.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${u.id}.`);let m=JSON.parse(D(c,c.asset));if(!m||typeof m!="object"||Array.isArray(m))throw new Error(`Starter initial state must be a JSON object: ${u.id}.`);le(m,i.maxStateBytes)}}l(Oe,"validateModelStarterExecution");function ut(t){if(t.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let a=new Map(t.files.map(o=>[o.asset.id,o])),r=l(o=>{let u=a.get(o);if(!u)throw new Error(`Taskset environment asset is missing: ${o}.`);if(u.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let c=new TextDecoder("utf-8",{fatal:!0}).decode(j(u));return Y.parse(_({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:u.asset,text:c}))},"read"),n;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");n=ee.parse(t.modelResources.execution)}else{let o=r(lt(t.taskset));if(o.asset.visibility!=="host_private"||o.asset.mediaType!=="application/json"||o.asset.path!=="environment/execution.json")throw new Error("Taskset execution declaration must be private JSON at environment/execution.json.");n=ee.parse(JSON.parse(o.text))}let i=[...new Set([n.javascript.module.id,...[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return Oe(n,t.taskset,i),{execution:n,assets:i}}l(ut,"resolveTasksetPackageExecution");function ea(t){let a=or(t),r=new TextEncoder().encode(a.text),n="";for(let s of r)n+=String.fromCharCode(s);return{asset:a.asset,base64:btoa(n)}}l(ea,"createTasksetPackageExecutionFile");var dr=e.object({environment:q,verifierSet:V}).strict();var lr=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),ta=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:lr,root:Q,parent:Q}).strict(),pt=e.object({taskset:B,taskDefinition:tt,rewardBinding:fe,rewards:e.array(pe).min(1).max(100),assets:e.array(Y).max(1e3),executionResources:dr.optional(),execution:ee.optional(),instructionMode:e.literal("per_task").optional()}).strict(),O=l((t,a)=>_({value:t}).contentHash===_({value:a}).contentHash,"same"),mr=l((t,a)=>`model-taskset-${_({owner:t,root:a}).contentHash}`,"identity");function yn(t){return ra({...t,source:Me(t.source)})}l(yn,"deriveModelTaskset");function ra(t){let a=lr.parse(t.owner),r=t.source,n=t.edits??r,s=r.taskset.metadata.modelTasksetDerivation===void 0?null:ta.parse(r.taskset.metadata.modelTasksetDerivation);if(s&&r.taskset.id!==mr(s.owner,s.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let i=s&&O(s.owner,a),o=i?s.root:v(r.taskset),u=i?r.taskset.id:mr(a,o),c=i?r.taskset.revision+1:1,m=fe.parse(t.rewardBinding),h=t.rewards.map(me=>pe.parse(me)),d=F(m,h);if(m.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let p={...n.taskset.policy,hiddenGraderRefs:d.filter(me=>me.privileged).map(me=>me.id)},x=n.executionResources??n.execution,f=x?.environment??je({schemaVersion:"openpond.environmentRelease.v1",id:`${u}-environment`,revision:1,contract:n.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),k=Pe({schemaVersion:"openpond.verifierSetRelease.v1",id:`${u}-verifiers`,revision:c,graders:d,isolation:x?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:x?{sourceVerifierSet:v(x.verifierSet)}:{}}),b={environment:f,verifierSet:k},R=n.execution?{...n.execution,verifierSet:k}:void 0,{contentHash:ce,...ve}=n.taskset,{contentHash:St,...bt}=n.taskDefinition,vt={...bt.execution,policy:p,environmentRelease:{id:f.id,contentHash:f.contentHash},verifierSetRelease:{id:k.id,contentHash:k.contentHash}},yt=tt.parse(_({...bt,id:`${u}-definition`,revision:c,rewardBinding:v(m),execution:vt})),de=n.taskset.metadata.starterAuthoring??n.taskset.metadata.ordinaryAuthoring,Rt=de&&typeof de=="object"&&!Array.isArray(de)&&"graderFixtures"in de?de.graderFixtures:void 0,Fr=B.parse(_({...ve,...vt,id:u,revision:c,graders:d,metadata:{starter:{taskDefinition:v(yt),rewardBinding:v(m)},rewardExecution:{binding:m,rewards:h},...Rt===void 0?{}:{starterAuthoring:{graderFixtures:Rt}},...n.taskset.metadata.environmentResources===void 0?{}:{environmentResources:n.taskset.metadata.environmentResources},...n.taskset.metadata.workAssetStagingPaths===void 0?{}:{workAssetStagingPaths:n.taskset.metadata.workAssetStagingPaths},...n.taskset.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:n.taskset.metadata.tasksetOutputContract},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:v(r.taskset)}}}));return Me({taskset:Fr,taskDefinition:yt,rewardBinding:m,rewards:h,assets:t.assets,executionResources:b,...R?{execution:R}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}l(ra,"compileModelTasksetReward");function Me(t){let a=pt.parse(t),{taskset:r,taskDefinition:n,rewardBinding:s,rewards:i,assets:o,execution:u}=a;for(let k of[r,n,s,...i,...o])Ae(k);if(Ee(r),s.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!T(n.rewardBinding,v(s)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:c,environment:m,environmentRelease:h,tools:d,capabilities:p,verifierSetRelease:x}=r;if(!O(n.execution,{policy:c,environment:m,...h?{environmentRelease:h}:{},tools:d,capabilities:p,...x?{verifierSetRelease:x}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!O(r.graders,F(s,i)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let k=e.object({taskDefinition:Q,rewardBinding:Q}).passthrough().parse(r.metadata.starter);if(!T(k.taskDefinition,v(n))||!T(k.rewardBinding,v(s)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!O(r.metadata.rewardExecution,{binding:s,rewards:i}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!T(Q.parse(r.metadata.rewardBinding),v(s)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let f=a.executionResources??u;if(r.environmentRelease&&!f)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(f&&(!J(f.environment)||!W(f.verifierSet)||!O(r.environmentRelease,{id:f.environment.id,contentHash:f.environment.contentHash})||!O(r.verifierSetRelease,{id:f.verifierSet.id,contentHash:f.verifierSet.contentHash})||!O(r.environment,f.environment.contract)||!O(r.graders,f.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(Oe(u,r,o),new Set(o.map(k=>k.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let k of o)D(k,k.asset);for(let k of f?[f.environment.actionSchemaRef,f.environment.observationSchemaRef,f.environment.stateSchemaRef]:[]){if(!k)continue;let b=o.find(R=>R.id===k.id);if(!b)throw new Error(`Taskset environment asset is missing: ${k.id}.`);D(b,k)}for(let k of r.tasks){if(n.requiredOutputs&&!O(k.requiredOutputs,n.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${k.id}.`);if(a.instructionMode!=="per_task"&&k.policyVisibleContext.instructions!==n.instructions||!Qe(n.inputSchema,k.input).valid||k.expectedOutput!==null&&!Qe(n.outputSchema,k.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${k.id}.`);if(k.privilegedContextRef&&!o.some(b=>b.id===k.privilegedContextRef&&b.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${k.id}.`)}for(let k of i){let b=k.implementation,R=[...k.assets,..."verifierRef"in b?[b.verifierRef]:[],..."rubricRef"in b?[b.rubricRef]:[],..."inputContract"in b?[b.inputContract]:[]];for(let ce of R){let ve=o.find(St=>St.id===ce.id);if(!ve||ce.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${ce.id}.`);D(ve,ce)}}return a}l(Me,"validateModelTasksetPackage");function aa(t){return`model-authored-taskset-${g({owner:t.owner,root:t.root})}`}l(aa,"modelAuthoredTasksetId");function ur(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=mt.parse(t.metadata.modelTasksetAuthoring);if(t.id!==aa(a)||(t.revision===1?!T(a.parent,a.root):a.parent.id!==t.id||a.parent.revision!==t.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return a}l(ur,"assertModelTasksetAuthoring");var A=e.string().trim().min(1).max(240),M=e.string().trim().min(1),G=e.string().trim().min(8).max(256),pr=e.string().trim().min(1).max(1e3).refine(t=>!t.startsWith("/")&&!t.startsWith("\\")&&!t.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),L=e.enum(["train","validation","test","frozen_eval"]),sa=e.object({name:e.string().trim().min(1).max(500),semanticRole:e.enum(["row_id","cluster_id","prompt","messages","demonstration","chosen","rejected","expected_output","privileged_context","reward","feedback","tag","metadata"]),logicalType:e.enum(["string","integer","float","boolean","json","messages"]),nullable:e.boolean(),policy:e.enum(["visible","privileged","metadata"])}),na=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(sa).min(1).max(1e4),schemaHash:G}),ia=e.object({id:A,split:L,path:pr,contentHash:G,schemaHash:G,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),Se=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:A,tasksetId:A,tasksetRevision:e.number().int().positive(),contentHash:G,format:e.literal("parquet"),schema:na,shards:e.array(ia).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(L,e.number().int().nonnegative()),sourceReceiptRefs:e.array(A).min(1).max(1e5),mappingHash:G,qualityReportHash:G,createdAt:M}),Cn=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:A,tasksetId:A,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(L,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:G,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:M}),oa=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:A,tasksetRevision:e.number().int().positive(),artifactId:A.nullable(),name:e.string().trim().min(1).max(500),status:e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),storageKind:e.enum(["inline","parquet"]),rowCount:e.number().int().nonnegative(),splitCounts:e.record(L,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:M,updatedAt:M}),Hn=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:A,datasets:e.array(oa),generatedAt:M}),In=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:Se,profileId:A,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:pr,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:M.nullable(),createdAt:M,updatedAt:M}),$n=e.object({split:L.nullable().default(null),cursor:e.string().trim().min(1).max(2e3).nullable().default(null),limit:e.number().int().min(1).max(100).default(25),columns:e.array(e.string().trim().min(1).max(500)).max(100).default([])}),Dn=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:A,tasksetRevision:e.number().int().positive(),artifactHash:G,split:L.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),ca=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:M}),da=e.object({id:A,label:e.string().trim().min(1).max(500),path:e.string().trim().min(1).max(4e3),datasetStorePath:e.string().trim().min(1).max(4e3),kind:e.enum(["local","network","removable","cache"]),configured:e.boolean(),mounted:e.boolean(),writable:e.boolean(),totalBytes:e.number().int().nonnegative().nullable(),freeBytes:e.number().int().nonnegative().nullable()}),On=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:ca,storageRoots:e.array(da)}),Mn=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)});var te=e.string().trim().min(1).max(240),ma=e.string().trim().min(1),re=e.string().trim().min(8).max(256),la=e.record(e.string(),e.unknown()).default({}),ua=e.string().trim().min(7).max(256),pa=e.enum(["pending","approved","review","blocked"]),ze=e.object({id:te,profileId:te,title:e.string().trim().min(1).max(500),sourceHash:re,occurredAt:ma,licensingStatus:pa,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:la}),fa=ze.extend({schemaVersion:e.literal("openpond.huggingFaceDatasetSource.v1"),kind:e.literal("huggingface"),repositoryId:e.string().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:e.string().url().max(2e3),revision:ua,configuration:e.string().trim().min(1).max(500),upstreamSplits:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),gated:e.boolean(),private:e.boolean(),declaredLicense:e.string().trim().min(1).max(500).nullable(),sourceFileHashes:e.array(re).min(1).max(1e5)}),ha=ze.extend({schemaVersion:e.literal("openpond.uploadedFileDatasetSource.v1"),kind:e.literal("uploaded_file"),originalFileNames:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),mediaTypes:e.array(e.string().trim().min(1).max(200)).min(1).max(1e3),sourceFileHashes:e.array(re).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),ga=ze.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:te,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:re}),ka=ze.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:te,revision:e.number().int().positive(),contentHash:re}).strict(),taskDefinition:e.object({id:te,revision:e.number().int().positive(),contentHash:re}).strict(),admittedBy:te}),fr=e.discriminatedUnion("kind",[fa,ha,ga,ka]);var hr=e.object({schemaVersion:e.literal("openpond.connectedDatasetSource.v1"),kind:e.literal("connected_activity"),id:e.string().min(1).max(240),profileId:e.string().min(1).max(240),title:e.string().min(1).max(500),sourceHash:e.string().regex(/^[a-f0-9]{64}$/),occurredAt:e.string().datetime(),licensingStatus:e.enum(["pending","approved","review","blocked"]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),origin:Kt,sourceId:e.string().min(1).max(500),sessionId:e.string().min(1).max(500),normalizerVersion:e.string().min(1).max(200),projection:e.enum(["turn","conversation"]),ownerUserId:e.string().min(1).max(500),purpose:e.literal("recorded_evaluation"),sourceFileHashes:e.array(e.string().regex(/^[a-f0-9]{64}$/)).max(100).optional(),metadata:e.record(e.string(),e.unknown()).default({})}).strict();var gr=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:Re,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:we,agentRelease:wt,implementationHash:we,runtimeBindingId:Re,capabilityReceiptHash:we,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:Re,source:e.literal("case_id")}).strict()).max(20).default([])}).strict();var S=e.string().trim().min(1).max(240),ft=e.string().trim().min(1),xa=e.string().trim().min(8).max(256),ht=e.string().trim().regex(/^[a-f0-9]{64}$/),Sa=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),P=e.record(e.string(),e.unknown()).default({}),Fe=S.nullable();function ae(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}l(ae,"safeRelativeFilePath");function ba(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}l(ba,"safeFileName");var Be=L,qe=e.enum(["general","benchmark"]),Ve=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:S,releaseId:S,releaseHash:ht,managedReleasePath:e.string().trim().min(1).max(1e3).refine(ae,"Benchmark release paths must remain relative."),adaptationSplit:Be,evaluationSplit:Be,primaryMetric:e.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),qualityGate:e.enum(["none","non_regression","all_pass"]),source:e.enum(["builtin","imported"]),metadata:P}),Ge=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:S,releaseHash:ht,publishedAt:ft,metadata:P}),va=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:Fe,grantedAt:ft.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),ya=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:S,profileId:S,sessionId:S,turnIds:e.array(S).max(1e3).default([]),workspaceId:Fe,sourceHash:xa,clusterKey:S,title:e.string().trim().min(1).max(500),occurredAt:ft,consent:va,connectedAppIds:e.array(S).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:P}),Le=e.union([ya,fr,hr]),Ne=e.object({policyVisibleFields:e.array(S).max(1e3).default([]),privilegedFields:e.array(S).max(1e3).default([]),hiddenGraderRefs:e.array(S).max(100).default([]),connectedAppScopes:e.array(S).max(100).default([])}),Ra=e.object({id:S,sourceRefId:S,artifactRef:e.string().trim().min(1).max(4e3).refine(ae,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(ba,"Task asset file names must not contain path separators."),stagingPath:e.string().trim().min(1).max(1e3).refine(ae,"Task asset staging paths must stay inside Work inputs.").optional(),mediaType:e.string().trim().min(1).max(200),sha256:ht,sizeBytes:e.number().int().nonnegative().max(25e7),split:Be,metadata:P}).superRefine((t,a)=>{t.stagingPath&&t.stagingPath.split("/").at(-1)!==t.fileName&&a.addIssue({code:"custom",message:"Staged task assets must preserve their source file name.",path:["stagingPath"]})}),wa=e.object({path:e.string().trim().min(1).max(1e3).refine(ae,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:S.nullable().optional(),submissionMode:e.literal("structured_json").optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:P}),Je=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:S,clusterKey:S,split:Be,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:Fe,sourceRefs:e.array(S).min(1).max(100),assets:e.array(Ra).max(1e3).optional(),resourceRefs:e.array(S).max(1e3).optional(),requiredOutputs:e.array(wa).max(100).optional(),tags:e.array(S).max(100).default([]),metadata:P}),_a=e.object({id:S,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(ae,"Environment resource paths must remain relative."),mediaType:e.string().trim().min(1).max(200).nullable().optional(),visibility:e.enum(["policy_visible","policy_hidden","privileged"]),required:e.boolean(),metadata:P}),se=e.object({id:S,taskId:Fe,sourceRefs:e.array(S).min(1).max(100),artifactRef:S,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:P}),kr=se.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),xr=se.extend({kind:e.literal("preference"),prompt:e.string().max(1e5),chosen:e.string().max(2e5),rejected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Sr=se.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),br=se.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),vr=se.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:S,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),yr=se.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:S,label:e.string().trim().min(1).max(500),description:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),calibrationExamples:e.object({positive:e.string().trim().min(1).max(2e5),negative:e.string().trim().min(1).max(2e5),boundary:e.string().trim().min(1).max(2e5)})}),ti=e.discriminatedUnion("kind",[kr,xr,Sr,br,vr,yr]),We=e.object({demonstrations:e.array(kr).max(1e5).default([]),preferences:e.array(xr).max(1e5).default([]),corrections:e.array(Sr).max(1e5).default([]),feedback:e.array(br).max(1e5).default([]),rewards:e.array(vr).max(1e5).default([]),labels:e.array(yr).max(1e5).default([])}),Ke=e.object({protocolVersion:e.literal("openpond.taskEnvironment.v1"),kind:e.enum(["chat","agent","program","stateful_harness","work"]),entrypoint:e.string().trim().min(1).max(1e3),stateful:e.boolean(),deterministicSeeds:e.boolean(),toolNames:e.array(S).max(200).default([]),actionBindings:e.array(gr).max(200).optional(),lifecycle:e.array(e.enum(["create","reset","step","grade","cleanup"])).min(1),defaultTimeoutMs:e.number().int().positive().max(36e5),networkPolicy:e.enum(["none","declared_read_only","declared_scoped"]),resources:e.array(_a).max(1e4).optional(),metadata:P}),Ue=e.object({schemaVersion:e.literal("openpond.tasksetCapabilities.v1"),taskKind:e.enum(["chat","single_agent","multi_agent","custom_program"]),supportedSignals:e.array(e.enum(["demonstration","preference","correction","feedback","reward","label"])),compatibleMethods:e.array(e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"])),rewardKinds:e.array(e.enum(["none","exact","deterministic","model_judge","human"])),requiresTools:e.boolean(),requiresState:e.boolean(),requiresPrivilegedGrading:e.boolean(),environmentPlacements:e.array(e.enum(["local","remote","colocated","provider_native"])),exportable:e.boolean(),portabilityBlockers:e.array(e.string().trim().min(1).max(2e3)).default([])}),Ze=e.object({id:S,taskIds:e.array(S).min(1).max(1e4).refine(t=>new Set(t).size===t.length,"Grader task IDs must be unique.").optional(),version:e.string().trim().min(1).max(100),label:e.string().trim().min(1).max(500),weight:e.number().min(0).max(1e3).default(1),hardGate:e.boolean().default(!1),rewardEligible:e.boolean().default(!1),privileged:e.boolean().default(!1),metadata:P}),Ta=Ze.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),Ea=Ze.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:_e,calibrationFixtureRefs:e.array(S).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),Aa=Ze.extend({kind:e.literal("human"),form:At.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),ja=Ze.extend({kind:e.literal("custom_verifier"),runtime:jt.optional(),module:e.string().trim().min(1).max(1e3).refine(ae,"Custom verifier modules must use a safe relative path."),exportName:Sa,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),Ye=e.union([Ta,Ea,Aa,ja]),Pa=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),ne=e.object({id:S,taskId:S,label:Pa,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:P});var Rr=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:Ht,fixtureSet:C,calibrationCheck:N,fixture:Ft,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:C,graderId:e.string().min(1).max(240).optional()}).strict();function wr(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:ne.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}l(wr,"authoredFixtures");function _r(t){for(let a of wr(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&Ca(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Tr(t,a.asset)}l(_r,"assertTasksetCalibrationClosures");function Ca(t,a){let r=Rr.parse(a.metadata.rewardCalibration),n=Tr(t,r.closureRef);(g(r.sourceReward)!==g(v(n.reward))||g(r.fixtureSet)!==g(n.reward.fixtureSetRef)||r.calibrationCheck.id!==n.check.id||r.calibrationCheck.revision!==n.check.revision||r.calibrationCheck.contentHash!==g(n.check))&&y("calibration_source_changed");let s=r.fixture,i=`calibration-${g([r.sourceReward,s.id])}`;(a.id!==i||a.taskId!==i||t.taskset.tasks.some(f=>f.id===i)||r.fixtureHash!==g(s)||g(a.output)!==g(s.output)||a.infrastructureError!==s.infrastructureError)&&y("calibration_fixture_changed");let o=n.check.results.filter(f=>f.fixture.id===s.id&&f.fixture.contentHash===r.fixtureHash);(o.length!==1||g(o[0])!==r.checkResultHash)&&y("calibration_result_changed");let u=s.expected;(u.status!=="scored"||typeof u.passed!="boolean"||a.expectedPassed!==u.passed||a.label!==(u.passed?"positive":"negative"))&&y("calibration_expectation_unsupported");let c=r.graderId??r.sourceReward.id,m=t.taskset.graders.filter(f=>f.id===c),h=m[0];(m.length!==1||!h)&&y("calibration_grader_not_unique"),a.expectedRewardEligible!==h.rewardEligible&&y("calibration_reward_expectation_changed");let d=It({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${n.contentHash}`,revision:1,sources:[{graderId:c,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:h.weight,required:!0,hardGate:h.hardGate,privileged:h.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[n.reward]),p=F(d,[n.reward])[0],x=l(f=>{let{rewardEligible:k,taskIds:b,...R}=f;return R.kind==="model_judge"?{...R,temperature:R.temperature??0}:R},"implementation");return g(x(h))!==g(x(p))&&y("calibration_grader_changed"),h.kind==="model_judge"&&Ha(t,h,r,n),{kind:"independent_reward_calibration",fixtureId:i,task:ue.parse({id:i,clusterKey:i,split:"validation",input:s.input,expectedOutput:s.expectedOutput,privilegedContextRef:null}),evaluatorContext:s.evaluatorContext,evidence:{output:s.output,artifactRefs:s.artifactRefs,runtimeEventRefs:s.runtimeEventRefs,infrastructureError:s.infrastructureError},grader:p,reward:n.reward,binding:d,expected:u,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}l(Ca,"resolveIndependent");function Tr(t,a){(a.visibility!=="host_private"||a.sizeBytes>qt||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&y("calibration_closure_not_private");let r=t.files.filter(c=>c.asset.id===a.id);(r.length!==1||g(r[0].asset)!==g(a))&&y("calibration_closure_asset_changed");let n=j(r[0]),s=new TextDecoder("utf-8",{fatal:!0}).decode(n),i=Vt(JSON.parse(s));g(Gt(i).asset)!==g(a)&&y("calibration_closure_reference_changed"),t.files.filter(c=>c.asset.contentHash===a.contentHash||c.asset.id===a.id||c.asset.path===a.path).some(c=>c.asset.visibility!=="host_private")&&y("calibration_closure_visible_alias");let u=l(c=>c.id===a.id||c.path===a.path||c.contentHash===a.contentHash,"isAlias");for(let c of t.taskset.tasks)(c.artifactRefs.some(u)||(c.requiredOutputs??[]).some(m=>m.schemaRef&&u(m.schemaRef))||c.privilegedContextRef&&t.files.some(m=>m.asset.id===c.privilegedContextRef&&u(m.asset)))&&y("calibration_closure_task_alias"),(gt(c.input,s,a.contentHash)||gt(c.policyVisibleContext,s,a.contentHash))&&y("calibration_closure_inline_alias");for(let c of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])c&&u(c)&&y("calibration_closure_environment_schema_alias");for(let c of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(c===void 0)continue;let m=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(c);for(let h of m){let d=t.files.find(p=>p.asset.path===h.path);(h.id===a.id||h.path===a.path||d&&u(d.asset))&&y("calibration_closure_environment_resource_alias")}}return i}l(Tr,"readPrivateClosure");function gt(t,a,r){return typeof t=="string"?t===a||$(t)===r:!t||typeof t!="object"?!1:$(JSON.stringify(t))===r?!0:Object.values(t).some(n=>gt(n,a,r))}l(gt,"containsClosure");function y(t){throw new Error(t)}l(y,"fail");function Ha(t,a,r,n){let s=a.id,i=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring,o=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(i),u=n.check.fixtureRefs.map(m=>`calibration-${g([r.sourceReward,m.id])}`);g(o.judgeCalibrationFixtures[s]??[])!==g(u)&&y("calibration_judge_membership_changed");let c=wr(t);for(let m=0;m<u.length;m++){let h=c.filter(b=>b.id===u[m]);h.length!==1&&y("calibration_judge_membership_changed");let d=h[0],p=Rr.parse(d.metadata.rewardCalibration),x=p.fixture.expected;(x.status!=="scored"||typeof x.passed!="boolean"||d.expectedPassed!==x.passed||d.expectedRewardEligible!==a.rewardEligible||d.label!==(x.passed?"positive":"negative")||g(d.output)!==g(p.fixture.output)||d.infrastructureError!==p.fixture.infrastructureError)&&y("calibration_judge_membership_changed");let f=n.check.fixtureRefs[m],k=n.check.results.find(b=>b.fixture.id===f.id);(d.taskId!==d.id||p.fixture.id!==f.id||p.fixtureHash!==f.contentHash||g(p.fixture)!==f.contentHash||p.checkResultHash!==g(k)||g(p.sourceReward)!==g(r.sourceReward)||g(p.fixtureSet)!==g(r.fixtureSet)||g(p.calibrationCheck)!==g(r.calibrationCheck)||g(p.closureRef)!==g(r.closureRef)||(p.graderId??p.sourceReward.id)!==s)&&y("calibration_judge_membership_changed")}}l(Ha,"assertJudgeFixtureMembership");var Ia=pt.omit({taskset:!0,executionResources:!0}),Er=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:B,environment:q,verifierSet:V,files:e.array(De).max(1e4),modelResources:Ia.optional(),learningResources:dt.optional()}).strict(),$a=Er.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function _i(t){return t.learningResources?X(t.taskset).binding:t.modelResources?.rewardBinding??null}l(_i,"tasksetPackageRewardBinding");function Da(t){return t.learningResources?X(t.taskset).definition.instructions:t.modelResources?t.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(t.taskset.metadata.ordinaryAuthoring??{}).instructions??""}l(Da,"resolveTasksetPackageInstructions");function Ar(t,a=$e){le(t,a);let r=$a.parse(t),{contentHash:n,...s}=r;if(g(s)!==n)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:o,verifierSet:u}=r;if(Ee(i),ur(i)&&(r.modelResources||r.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!J(o)||!W(u)||!Z(i.environmentRelease,{id:o.id,contentHash:o.contentHash})||!Z(i.verifierSetRelease,{id:u.id,contentHash:u.contentHash})||!Z(i.environment,o.contract)||!Z(i.graders,u.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let m=new Map;for(let d of r.files){if(m.has(d.asset.id))throw new Error(`Duplicate Taskset asset identity: ${d.asset.id}.`);j(d),m.set(d.asset.id,d)}function h(d){let p=m.get(d.id);if(!p||!Z(p.asset,d))throw new Error(`Taskset package asset is missing or mismatched: ${d.id}.`)}l(h,"requireAsset");for(let d of i.tasks){for(let p of d.artifactRefs)h(p);for(let p of d.requiredOutputs??[]){let x=it(p.metadata);if(x&&p.submissionMode!=="structured_json")throw new Error("Sampling schema requires a structured output.");if(p.schemaRef&&h(p.schemaRef),p.submissionMode==="structured_json"){if(!p.schemaRef||p.schemaRef.visibility!=="policy"||p.mediaType!=="application/json"||o.contract.kind!=="work")throw new Error("Structured output requires a policy-visible JSON schema in Work.");let f=ct(j(m.get(p.schemaRef.id)),p.schemaRef.contentHash);if(x){if(h(x.schemaRef),!d.artifactRefs.some(k=>Z(k,x.schemaRef)))throw new Error("Sampling schema must be an ordinary declared policy artifact.");ot(f,x,j(m.get(x.schemaRef.id)))}}}if(d.privilegedContextRef&&m.get(d.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${d.id}.`)}for(let d of[o.actionSchemaRef,o.observationSchemaRef,o.stateSchemaRef])d&&h(d);for(let d of i.graders){let p="verifierRef"in d?d.verifierRef:"rubricRef"in d?d.rubricRef:null;if(p&&(h(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(i.metrics?.customAggregator){let d=i.metrics.customAggregator,p=r.files.filter(x=>x.asset.path===d.module);if(p.length!==1||p[0].asset.contentHash!==d.contentHash||p[0].asset.sizeBytes>524288||p[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let d of[i.metadata.environmentResources,o.metadata.resources])if(d!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(d))if(!r.files.some(x=>x.asset.path===p.path))throw new Error(`Taskset environment resource is missing: ${p.path}.`)}if(r.learningResources){if(r.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let d=ar(i,r.learningResources);for(let p of rr(d))if(!Z(m.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of d.assets)h(p.asset)}else if(r.modelResources){let d=Me({...r.modelResources,taskset:i,executionResources:{environment:o,verifierSet:u}});for(let p of d.assets)h(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(d=>i.metadata[d]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return ut(r),Da(r),_r(r),r}l(Ar,"validateTasksetPackage");function Ti(t,a=$e){le(t,a);let r=Er.parse(t);return Ar({...r,contentHash:g(r)},a)}l(Ti,"createTasksetPackage");function Z(t,a){return g({value:t})===g({value:a})}l(Z,"same");function Ei(t,a){let r=Ar(t),n=r.taskset.tasks.find(s=>s.id===a);if(!n||r.environment.contract.kind!=="work")throw new Error("Work Taskset task not found.");return(n.requiredOutputs??[]).map(s=>({path:s.path,mediaType:s.mediaType,maxBytes:s.maxBytes,...s.submissionMode==="structured_json"?{submissionMode:"structured_json",structuredOutput:(()=>{let i=ct(j(r.files.find(u=>u.asset.id===s.schemaRef.id)),s.schemaRef.contentHash),o=it(s.metadata);return o?{...i,sampling:ot(i,o,j(r.files.find(u=>u.asset.id===o.schemaRef.id)))}:i})()}:{}}))}l(Ei,"resolveTasksetWorkOutputs");function Oa(t,a){let r=t.metadata.learning===void 0?null:rt.parse(t.metadata.learning),n=t.metadata.rewardExecution,s=a??(n?{binding:fe.parse(n.binding),rewards:pe.array().parse(n.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let i=t.metadata.rewardBinding;if(!s||!i||i.id!==s.binding.id||i.revision!==s.binding.revision||i.contentHash!==s.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return s&&F(s.binding,s.rewards),s?{binding:s.binding,rewards:s.rewards}:null}l(Oa,"resolvePortableTasksetRewardExecution");function zi(t){let a=Cr(t.taskset),r=Hr(t.taskset),n=t.taskset.metadata.learning===void 0?null:rt.parse(t.taskset.metadata.learning),s=t.taskset.metadata.rewardExecution,i=Oa(t.taskset,t.rewardExecution),o=i?F(i.binding,i.rewards):t.taskset.graders.map(za),u=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!u.length)throw new Error("A portable Taskset release requires at least one task.");let c=t.taskset.environment.metadata.portableExecutionResources;if(a.entrypoint==="openpond.javascript-environment.v1"&&!c)throw new Error("Tool Taskset publication requires its pinned execution resources.");let m=c?q.parse(c.environment):je({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,contract:a,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[t.adapterId]:g({adapterId:t.adapterId,environment:a,tools:r})},metadata:{sourceTasksetId:t.taskset.id,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,resources:t.taskset.environment.resources??[]}}),h=c?.verifierSet!==void 0?V.parse(c.verifierSet):Pe({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,graders:o,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(t.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:t.taskset.id}});if(!J(m)||!W(h)||g(m.contract)!==g(a)||g(h.graders)!==g(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let d=Pt.parse({schemaVersion:"openpond.tasksetRelease.v2",id:t.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${t.taskset.id}-r${t.taskset.revision}`:t.taskset.id,revision:t.taskset.revision,policy:{policyVisibleFields:t.taskset.policy.policyVisibleFields,privilegedFields:t.taskset.policy.privilegedFields,hiddenGraderRefs:t.taskset.policy.hiddenGraderRefs,connectedAppScopes:t.taskset.policy.connectedAppScopes},environment:a,tools:r,capabilities:Ba(t.taskset),tasks:u.map(Ma),graders:o,...t.taskset.metrics?{metrics:t.taskset.metrics}:{},metadata:{...t.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:t.taskset.id,sourceTasksetHash:t.taskset.contentHash,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,environmentResources:t.taskset.environment.resources??[],workAssetStagingPaths:Object.fromEntries(u.filter(f=>f.assets?.some(k=>k.stagingPath)).map(f=>[f.id,Object.fromEntries((f.assets??[]).filter(k=>k.stagingPath).map(k=>[k.id,k.stagingPath]))])),ordinaryAuthoring:{instructions:t.taskset.objective,graderSourceRewards:Object.fromEntries(t.taskset.graders.filter(f=>f.metadata.sourceReward!==void 0).map(f=>[f.id,f.metadata.sourceReward])),graderOrigins:Object.fromEntries(t.taskset.graders.map(f=>[f.id,f.metadata.preparationOrigin==="reused"?"reused":f.metadata.preparationOrigin==="adapted"||f.metadata.adaptedFromReward?"adapted":"authored"])),graderFixtures:t.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(t.taskset.graders.filter(f=>f.kind==="model_judge").map(f=>[f.id,f.calibrationFixtureRefs]))},...n?{learning:n}:{},...i&&!n&&(t.rewardExecution||s)?{rewardExecution:{binding:i.binding,rewards:i.rewards}}:{}},...t.taskset.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:t.taskset.metadata.tasksetOutputContract}}}),p=t.admittedTasksetRelease?B.parse(t.admittedTasksetRelease):B.parse({...d,contentHash:g(d)}),x=p.environmentRelease?Fa({draft:p,environmentRelease:m,verifierSetRelease:h}):Lt({taskset:p,environment:m,verifierSet:h});return{environmentRelease:m,verifierSetRelease:h,tasksetRelease:x}}l(zi,"materializePortableTasksetRelease");function Bi(t){if(!Nt(t.preferenceComparison))throw new Error("Preference comparison release failed immutable content verification.");let a=t.preferenceComparison;if(a.tasksetRelease.id!==t.tasksetRelease.id||a.tasksetRelease.contentHash!==t.tasksetRelease.contentHash)throw new Error("Preference comparison release must reference the admitted portable Taskset release.");return a}l(Bi,"projectPreferenceComparisonRelease");function Fi(t){return Cr(t)}l(Fi,"portableTasksetEnvironment");function qi(t){return Hr(t)}l(qi,"portableTasksetTools");function Ma(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=ue.parse(a),n=ue.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:jr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.filter(s=>r.artifactRefs.some(i=>i.id===s.id)||s.metadata.sharedEnvironmentResource===void 0&&!(t.requiredOutputs??[]).some(i=>i.submissionMode==="structured_json"&&i.schemaRef===s.id)).map(s=>{let i=r.artifactRefs.find(o=>o.id===s.id);return{id:s.id,path:i?.path??`tasks/${ie(t.id)}/${s.stagingPath??ie(s.fileName)}`,contentHash:kt(s.sha256),sizeBytes:s.sizeBytes,mediaType:s.mediaType,visibility:i?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(s=>{let i=r.requiredOutputs?.find(o=>o.path===s.path);return{path:s.path,mediaType:s.mediaType,...s.submissionMode?{submissionMode:s.submissionMode}:{},schemaRef:i?.schemaRef&&i.schemaRef.id===s.schemaRef?i.schemaRef:t.metadata.outputSchemaRefs?.[s.schemaRef??""]??null,maxBytes:s.maxBytes??null,metadata:{...s.metadata,...s.schemaRef&&i?.schemaRef?.id!==s.schemaRef?{legacySchemaRef:s.schemaRef}:{}}}})});return n.requiredOutputs===void 0&&delete n.requiredOutputs,n}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:jr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${ie(t.id)}/${r.stagingPath??ie(r.fileName)}`,contentHash:kt(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(t.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,...r.submissionMode?{submissionMode:r.submissionMode}:{},schemaRef:t.metadata.outputSchemaRefs?.[r.schemaRef??""]??null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:t.tags}}l(Ma,"projectPortableTaskRecord");function jr(t){if(!t.expectedOutput)return null;if("artifactRenderer"in t.expectedOutput)throw new Error(`Task ${t.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return t.expectedOutput}l(jr,"portableExpectedOutput");function Cr(t){return{protocolVersion:"openpond.environment.v1",kind:t.environment.kind==="chat"?"text":t.environment.kind==="work"?"work":t.environment.kind==="program"?"custom_program":"agent",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:t.environment.networkPolicy,defaultTimeoutMs:t.environment.defaultTimeoutMs}}l(Cr,"portableEnvironment");function Hr(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return Tt.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(n=>({name:n.modelToolName,description:n.description,inputSchema:n.inputSchema,inputSchemaHash:kt(n.actionSchemaHash),sideEffect:n.sideEffect,timeoutMs:n.timeoutMs})):t.environment.toolNames.map(n=>({name:n,description:`Host-provided ${n} tool.`,inputSchema:{},inputSchemaHash:g({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}l(Hr,"portableTools");function za(t){let a={id:t.id,...t.taskIds?{taskIds:t.taskIds}:{},version:t.version,weight:t.weight,hardGate:t.hardGate,rewardEligible:t.rewardEligible,privileged:t.privileged};if(t.kind==="model_judge")return{...a,kind:"model_judge",rubricRef:Pr(t),model:qa(t),temperature:t.temperature,calibrationStatus:t.calibrationStatus};if(t.kind==="custom_verifier"){if(t.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${t.id} requires its immutable executable asset before publication.`);let r=et.safeParse(t.metadata.portableGrader),n=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&t.exportName==="verify";return{...a,kind:"custom_verifier",...t.runtime===void 0?{}:{runtime:t.runtime},verifierRef:C.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...n?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:Pr(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...Ct(t)}}l(za,"portableGrader");function Ba(t){let a=t.metadata.portableCapabilities;return a!==void 0?Et.array().max(200).parse(a):[...t.capabilities.requiresTools?[{id:"tools",required:!0,scopes:t.environment.toolNames}]:[],...t.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...t.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:t.policy.hiddenGraderRefs}]:[],...t.policy.connectedAppScopes.map(r=>({id:`connected-app-${ie(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}l(Ba,"portableCapabilities");function Fa(t){if(t.draft.environmentRelease?.id!==t.environmentRelease.id||t.draft.environmentRelease.contentHash!==t.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(t.draft.verifierSetRelease?.id!==t.verifierSetRelease.id||t.draft.verifierSetRelease.contentHash!==t.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(g(t.draft.environment)!==g(t.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(g(t.draft.graders)!==g(t.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return t.draft}l(Fa,"assertReleaseBindings");function qa(t){let a=t.metadata.portableGrader===void 0?null:et.parse(t.metadata.portableGrader),r=a?.kind==="model_judge"&&a.model?.providerId===t.judge.providerId&&a.model.modelId===t.judge.modelId?a.model.revision:null;return{...t.judge,revision:r}}l(qa,"modelJudgeRef");function Pr(t){let a=$(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,n=t.metadata.portableRubricRef;if(n!==void 0){let s=C.parse(n);if(s.contentHash!==a||s.sizeBytes!==r||s.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return s}return{id:`rubric-${t.id}`,path:`graders/${ie(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}l(Pr,"rubricAsset");function kt(t){return/^[a-f0-9]{64}$/.test(t)?t:g(t)}l(kt,"hash");function ie(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}l(ie,"segment");var H=e.string().trim().min(1).max(240),be=e.string().trim().min(1),Xe=e.string().trim().min(8).max(256),$r=e.record(e.string(),e.unknown()).default({}),Va=H.nullable(),Dr=["work_capabilities","work_environment","work_list_files","work_read_file","work_read_document","work_write_file","work_write_docx","work_edit_file","work_delete_file","work_exec","work_save_output","work_stop"],Ga=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),La=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),w=e.string().trim().max(1e5),Na=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:w,examples:e.array(e.object({id:H,prompt:w,response:w})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:w,pairs:e.array(e.object({id:H,prompt:w,chosen:w,rejected:w,rationale:w})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:w,rules:e.array(e.object({id:H,points:e.number().finite(),condition:w})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:w,criteria:e.array(e.object({id:H,label:e.string().trim().max(500),description:w})).max(1e3).default([]),positiveExample:w,negativeExample:w,boundaryExample:w})]),Zi=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),Ja=e.object({primaryMethod:e.enum(["sft","dpo","grpo","ppo","sdft","opsd","sdpo"]),bootstrap:e.object({method:e.literal("sft"),purpose:e.literal("trajectory_bootstrap"),demonstrationRefs:e.array(H).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),Wa=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),Ka=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(Wa).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Ir=e.object({code:H,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),Ua=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:H,tasksetHash:Xe,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:Ja.nullable().default(null),methodReadiness:e.array(Ka).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Ir).default([]),advisories:e.array(Ir).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:be}),Za=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:be}),Ya=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:_e.nullable(),modelConfig:$r,skillHash:Xe,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:La.default("demonstrations"),buildSpecification:Na.nullable().default(null),evidenceHashes:e.array(Xe).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(Za).max(1e3),createdAt:be}),Or=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:H,revision:e.number().int().positive().default(1),profileId:H,profileRelease:_t.nullable().optional(),createImproveRunId:Va.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:qe.default("general"),benchmark:Ve.nullable().default(null),preferenceComparison:Ge.nullable().default(null),status:Ga,sourceRefs:e.array(Le).min(1).max(1e5),datasetArtifact:Se.nullable().optional(),policy:Ne,environment:Ke,capabilities:Ue,metrics:Te.optional(),tasks:e.array(Je).max(1e6),graders:e.array(Ye).max(1e3),graderFixtures:e.array(ne).max(1e5),learningSignals:We,authoringProvenance:Ya,readiness:Ua.nullable(),contentHash:Xe,createdAt:be,updatedAt:be,metadata:$r}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!t.datasetArtifact&&t.tasks.length===0&&a.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function Mr(t){return t.schemaVersion==="openpond.trainingSource.v1"}l(Mr,"isTrainingSourceRef");function to(t,a={}){let r=Or.safeParse(t);if(!r.success)return{valid:!1,taskset:null,computedHash:null,issues:r.error.issues.map(o=>({code:"schema_invalid",severity:"error",message:o.message,path:o.path.join(".")}))};let n=r.data,s=[];es(n,s),Qa(n,s),ts(n,s),as(n,s),ss(n,s),a.purpose!=="publication"&&(n.graders.length||s.push({code:"graders_required",severity:"error",message:"Scored execution requires at least one grader.",path:"graders"}),Xa(n,s,a)),ns(n,s),is(n.capabilities,s,n),rs(n,s);let i=zr(n);return n.contentHash!==i&&s.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${n.contentHash}, expected ${i}.`,path:"contentHash"}),{valid:!s.some(o=>o.severity==="error"),taskset:n,computedHash:i,issues:s}}l(to,"validateTaskset");function Xa(t,a,r){let n=t.graders.length>0&&t.graders.every(o=>o.kind==="human");!n&&!t.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&t.metadata.trainingMethod==="grpo"&&t.metadata.learning)&&a.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let s=new Set(t.tasks.map(o=>o.id)),i=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let o of t.graderFixtures)!t.datasetArtifact&&!s.has(o.taskId)&&a.push({code:"grader_fixture_task_missing",severity:"warning",message:`Fixture ${o.id} references a task outside this Taskset revision (${o.taskId}).`,path:`graderFixtures.${o.id}.taskId`}),i.delete(o.label),o.label==="infrastructure_failure"&&!o.infrastructureError&&a.push({code:"infrastructure_fixture_error_missing",severity:"error",message:`Infrastructure fixture ${o.id} must declare an infrastructure error.`,path:`graderFixtures.${o.id}.infrastructureError`});for(let o of n?[]:i)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}l(Xa,"validateGraderFixtures");function Qa(t,a){let r=t.datasetArtifact;if(!r)return;(r.tasksetId!==t.id||r.tasksetRevision!==t.revision)&&a.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let n=Object.values(r.splitCounts).reduce((c,m)=>c+m,0),s=r.shards.reduce((c,m)=>c+m.rowCount,0);(n!==r.rowCount||s!==r.rowCount)&&a.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let i=new Map;for(let c of r.shards)i.set(c.split,(i.get(c.split)??0)+c.rowCount);for(let[c,m]of Object.entries(r.splitCounts))(i.get(c)??0)!==m&&a.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${c} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${c}`});let{contentHash:o,...u}=r;g(u)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}l(Qa,"validateDatasetArtifact");function ro(t){return zr(t)}l(ro,"computeTasksetHash");function zr(t){let{contentHash:a,status:r,readiness:n,updatedAt:s,...i}=t;return g(i)}l(zr,"tasksetContentHash");function es(t,a){for(let[r,n]of t.sourceRefs.entries())Mr(n)&&n.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${n.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),n.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${n.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),n.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${n.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),n.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${n.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}l(es,"validateSourceConsent");function ts(t,a){let r=new Map;for(let s of t.tasks){let i=r.get(s.clusterKey)??new Set;i.add(s.split),r.set(s.clusterKey,i)}for(let[s,i]of r)i.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${s} appears in multiple splits: ${[...i].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(s=>s.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}l(ts,"validateSplitIsolation");function rs(t,a){if(t.environment.kind!=="work")return;t.environment.entrypoint!=="openpond-work-v1"&&a.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!t.environment.lifecycle.includes("reset")||!t.environment.lifecycle.includes("cleanup"))&&a.push({code:"work_reset_lifecycle_missing",severity:"error",message:"Work attempts require reset and cleanup; filesystem state belongs to one attempt.",path:"environment.lifecycle"});let r=new Set(Dr),n=t.environment.toolNames.filter(i=>!r.has(i));n.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${n.join(", ")}.`,path:"environment.toolNames"}),t.environment.toolNames.includes("work_save_output")||a.push({code:"work_output_tool_missing",severity:"error",message:"Work Tasksets must declare work_save_output.",path:"environment.toolNames"});for(let i of["create","reset","step","grade","cleanup"])t.environment.lifecycle.includes(i)||a.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${i} lifecycle stage.`,path:"environment.lifecycle"});let s=new Map(t.sourceRefs.map(i=>[i.id,i]));for(let[i,o]of t.tasks.entries()){let u=new Set,c=new Set;for(let[h,d]of(o.assets??[]).entries()){let p=`tasks.${i}.assets.${h}`;u.has(d.id)&&a.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${d.id}.`,path:`${p}.id`});let x=d.stagingPath??d.fileName;c.has(x)&&a.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged path ${x}.`,path:`${p}.fileName`}),u.add(d.id),c.add(x),o.sourceRefs.includes(d.sourceRefId)||a.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${d.id} references source ${d.sourceRefId} outside task ${o.id}.`,path:`${p}.sourceRefId`});let f=s.get(d.sourceRefId);f?"sourceFileHashes"in f&&!f.sourceFileHashes?.includes(d.sha256)&&a.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${d.id} hash is not registered by source ${d.sourceRefId}.`,path:`${p}.sha256`}):a.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${d.id} references missing source ${d.sourceRefId}.`,path:`${p}.sourceRefId`}),f&&"kind"in f&&f.kind==="uploaded_file"&&!f.originalFileNames.includes(d.fileName)&&a.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${d.id} file name is not registered by source ${d.sourceRefId}.`,path:`${p}.fileName`}),f&&"kind"in f&&f.kind==="uploaded_file"&&!f.mediaTypes.includes(d.mediaType)&&a.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${d.id} media type is not registered by source ${d.sourceRefId}.`,path:`${p}.mediaType`}),d.split!==o.split&&a.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${d.id} is assigned to ${d.split}, not task split ${o.split}.`,path:`${p}.split`})}let m=new Set;for(let[h,d]of(o.requiredOutputs??[]).entries()){let p=d.path.replaceAll("\\","/"),x=`tasks.${i}.requiredOutputs.${h}.path`;m.has(p)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${p}.`,path:x}),m.add(p)}(o.requiredOutputs??[]).length===0&&a.push({code:"work_output_missing",severity:"error",message:`Work task ${o.id} must declare at least one required output.`,path:`tasks.${i}.requiredOutputs`})}}l(rs,"validateWorkExecution");function as(t,a){let r=new Set(t.policy.policyVisibleFields);for(let n of t.policy.privilegedFields)r.has(n)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${n} is both policy-visible and privileged.`,path:"policy"});for(let n of t.tasks)n.privilegedContextRef&&Object.keys(n.policyVisibleContext).includes(n.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${n.id} exposes its privileged context reference.`,path:`tasks.${n.id}.policyVisibleContext`})}l(as,"validatePolicyBoundary");function ss(t,a){let r=new Set(t.tasks.map(s=>s.id)),n=new Set;for(let s of t.graders)s.taskIds?.some(i=>!r.has(i))&&a.push({code:"grader_task_missing",severity:"error",message:`Grader ${s.id} refers to a task outside this Dataset.`,path:"graders"}),n.has(s.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${s.id}.`,path:"graders"}),n.add(s.id),s.kind==="model_judge"&&s.rewardEligible&&s.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${s.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${s.id}`}),s.kind==="model_judge"&&s.calibrationStatus==="passed"&&typeof s.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${s.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${s.id}.metadata.calibrationEvidenceHash`}),s.kind==="human"&&s.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${s.id} cannot be an online optimizer reward.`,path:`graders.${s.id}`})}l(ss,"validateGraders");function ns(t,a){let r=new Set(t.tasks.map(s=>s.id)),n=new Set(t.sourceRefs.map(s=>s.id));for(let s of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])s.taskId&&!t.datasetArtifact&&!r.has(s.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${s.id} references missing task ${s.taskId}.`,path:`learningSignals.${s.kind}.${s.id}.taskId`}),s.sourceRefs.some(i=>!n.has(i))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${s.id} references a source outside the Dataset.`,path:`learningSignals.${s.kind}.${s.id}.sourceRefs`});for(let s of t.learningSignals.preferences)s.chosen.trim()===s.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${s.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${s.id}`});for(let s of t.learningSignals.rewards)s.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${s.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${s.id}.executable`})}l(ns,"validateLearningSignals");function is(t,a,r){!t.exportable&&t.portabilityBlockers.length===0&&a.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),t.compatibleMethods.includes("grpo")&&!t.rewardKinds.some(n=>n==="exact"||n==="deterministic"||n==="model_judge")&&a.push({code:"grpo_reward_missing",severity:"error",message:"GRPO compatibility requires a scalar reward kind.",path:"capabilities.rewardKinds"}),r?.capabilities.compatibleMethods.includes("sft")&&r.learningSignals.demonstrations.length===0&&a.push({code:"sft_demonstrations_missing",severity:"error",message:"SFT compatibility requires approved demonstrations.",path:"learningSignals.demonstrations"}),r?.capabilities.compatibleMethods.includes("dpo")&&r.learningSignals.preferences.length===0&&a.push({code:"dpo_preferences_missing",severity:"error",message:"DPO compatibility requires chosen and rejected response pairs.",path:"learningSignals.preferences"}),r&&(r.capabilities.compatibleMethods.includes("grpo")||r.capabilities.compatibleMethods.includes("ppo"))&&!r.learningSignals.rewards.some(n=>n.executable)&&!r.graders.some(n=>n.rewardEligible&&n.weight>0&&n.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}l(is,"validateCapabilities");var oe=e.string().trim().min(1).max(240),Br=e.string().trim().min(1),os=e.string().trim().min(8).max(256),cs=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),ds=e.record(e.string(),e.unknown()).default({});function xt(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}l(xt,"safeRelativeFilePath");var ms=Je.extend({sourceRefs:e.array(oe).max(100).default([])}),ls=e.enum(["draft","validating","needs_review","published"]),us=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:oe,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),ps=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),requiredOutputSource:e.literal("task.requiredOutputs").optional(),responsePath:e.string().trim().min(1).max(1e3).refine(xt,"Response paths must name a safe relative output path.").optional(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(xt,"Renderer modules must use a safe relative path."),exportName:cs,configRef:e.string().trim().min(1).max(1e3).refine(xt,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((t,a)=>{t.responsePath!==void 0&&(t.mode!=="artifacts"||t.requiredOutputSource!=="task.requiredOutputs")&&a.addIssue({code:"custom",path:["responsePath"],message:"An artifact response path requires artifacts mode and task.requiredOutputs."}),t.requiredOutputSource!==void 0&&t.mode!=="artifacts"&&a.addIssue({code:"custom",path:["requiredOutputSource"],message:"Required output sources belong to artifacts mode."}),t.mode==="structured_json"&&!t.jsonSchema&&a.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),t.mode==="text"&&t.renderer&&a.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),lo=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:oe,revision:e.number().int().positive(),profileId:oe,modelScope:e.object({modelId:oe,expectedModelRevision:e.number().int().positive(),source:sr.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:qe.default("general"),benchmark:Ve.nullable().default(null),preferenceComparison:Ge.nullable().default(null),status:ls,sourceRefs:e.array(Le).max(1e5).default([]),datasetArtifact:Se.nullable().optional(),policy:Ne,environment:Ke,output:ps.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:Ue,metrics:Te,review:us,tasks:e.array(ms).max(1e6).default([]),graders:e.array(Ye).max(1e3).default([]),graderFixtures:e.array(ne).max(1e5).default([]),learningSignals:We,publishedTasksetRef:e.object({id:oe,revision:e.number().int().positive(),contentHash:os}).nullable(),createdAt:Br,updatedAt:Br,metadata:ds}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),t.status==="published"&&!t.publishedTasksetRef&&a.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})});export{it as a,ot as b,ct as c,_s as d,Ts as e,Yr as f,Es as g,ee as h,lt as i,ta as j,yn as k,ra as l,dt as m,rr as n,ar as o,Xr as p,mt as q,Bs as r,sr as s,nr as t,Qr as u,ir as v,Fs as w,qs as x,aa as y,ur as z,$e as A,De as B,j as C,ut as D,ea as E,Le as F,Je as G,_a as H,Ye as I,ne as J,Er as K,$a as L,_i as M,Da as N,Ar as O,Ti as P,Ei as Q,Oa as R,zi as S,Bi as T,Fi as U,qi as V,Ma as W,Or as X,to as Y,ro as Z,lo as _};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{b as S,f as C,g as _,h as I,i as b,j as R}from"./chunk-SSJV3VX7.js";import{a as q}from"./chunk-7KWD2I6W.js";import{a as v,b as P}from"./chunk-
|
|
2
|
+
import{b as S,f as C,g as _,h as I,i as b,j as R}from"./chunk-SSJV3VX7.js";import{a as q}from"./chunk-7KWD2I6W.js";import{a as v,b as P}from"./chunk-L5L3H6CI.js";import{a as U}from"./chunk-FYWQWKVS.js";import{c as T}from"./chunk-2MEOUS24.js";import{a as s}from"./chunk-FTQLQJQV.js";import{randomUUID as L}from"node:crypto";function j(e){let t=e.filter(r=>r.role==="system").map(r=>r.content??"").join(`
|
|
3
3
|
|
|
4
4
|
`),o=[];for(let r of e){if(r.role==="system")continue;let i=r.role==="assistant"?"assistant":"user",d=[];if(r.role==="tool"){if(!r.tool_call_id)throw new Error("Anthropic tool result is missing its call ID.");d.push({type:"tool_result",tool_use_id:r.tool_call_id,content:r.content??""})}else{r.content&&d.push({type:"text",text:r.content});for(let a of r.images??[]){let f=/^data:([^;,]+);base64,(.+)$/s.exec(a.url);d.push({type:"image",source:f?{type:"base64",media_type:f[1],data:f[2]}:{type:"url",url:a.url}})}for(let a of r.tool_calls??[]){if(!a.id||!a.function?.name)throw new Error("Anthropic tool call is missing its ID or name.");d.push({type:"tool_use",id:a.id,name:a.function.name,input:JSON.parse(a.function.arguments||"{}")})}}if(!d.length)continue;let p=o.at(-1);p?.role===i?p.content.push(...d):o.push({role:i,content:d})}return{system:t,messages:o}}s(j,"messagesBody");function k(e){let t=e.settings.providers.anthropic,o=e.secrets.providers.anthropic,r=o?.source==="local_secret"?o.value?.trim():o?.source==="env"&&o.envVar?process.env[o.envVar]?.trim():null;if(!t?.enabled||!r)throw new Error("Connect the direct Anthropic API-key provider in Settings.");let i=new URL(e.baseUrl??t.baseUrl??"https://api.anthropic.com");if(i.protocol!=="https:"&&i.hostname!=="localhost"&&i.hostname!=="127.0.0.1")throw new Error("Anthropic requires an HTTPS endpoint.");return i.pathname=i.pathname.replace(/\/$/,"").replace(/\/v1$/,"")+"/v1",i.search="",i.hash="",{key:r,base:i}}s(k,"anthropicConnection");async function*O(e){let{key:t,base:o}=k(e);o.pathname+="/messages";let r=e.modelId??e.settings.providers.anthropic?.defaultModel;if(!r)throw new Error("Choose a configured Anthropic model.");let i=e.settings.modelCaches.anthropic?.models.find(l=>l.id===r),d=Math.max(1,Math.min(e.maxOutputTokens??8192,i?.outputLimit??8192)),p=e.tools?.map(l=>{if(l.type!=="function"||!l.function)throw new Error("Anthropic only supports function tools.");return{name:l.function.name,description:l.function.description,input_schema:l.function.parameters??{type:"object",properties:{}}}}),a=e.toolChoice,f=a==="required"?{type:"any"}:a==="auto"||a==="none"?{type:a}:a?{type:"tool",name:a.function.name}:void 0,m=b(e.signal,e.requestTimeoutMs);try{let l=await fetch(o,{method:"POST",redirect:"error",headers:{"x-api-key":t,"anthropic-version":"2023-06-01","Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:r,max_tokens:d,stream:!0,...j(e.messages),...p?.length?{tools:p,tool_choice:f}:{}}),signal:m.signal});if(!l.ok||!l.body){let h=await _(l,void 0,m.signal,m.touch);throw new Error(`Provider anthropic stream failed: ${l.status} ${h.replaceAll(t,"[redacted]")}`)}let c=new Map,g={},y,x=!1;for await(let h of R(l.body,m.signal,m.touch)){if(!h||typeof h!="object")continue;let n=h;if(n.type==="error")throw new Error(`Provider anthropic stream failed: ${(n.error?.message??"stream error").replaceAll(t,"[redacted]")}`);if(n.type==="message_start"&&(g={...n.message?.usage}),n.type==="content_block_start"&&n.content_block?.type==="tool_use"){let u=n.content_block;if(!u.id||!u.name||n.index===void 0)throw new Error("Invalid Anthropic tool block.");c.set(n.index,{id:u.id,name:u.name,arguments:"",initial:u.input})}if(n.type==="content_block_delta"&&(n.delta?.type==="text_delta"&&(yield{type:"text_delta",text:n.delta.text??"",raw:h}),n.delta?.type==="thinking_delta"&&(yield{type:"reasoning_delta",text:n.delta.thinking??"",raw:h}),n.delta?.type==="input_json_delta"&&n.index!==void 0)){let u=c.get(n.index);if(!u)throw new Error("Anthropic tool delta has no matching call.");u.arguments+=n.delta.partial_json??""}if(n.type==="content_block_stop"&&n.index!==void 0){let u=c.get(n.index);if(u){let A=u.arguments||JSON.stringify(u.initial??{});JSON.parse(A),yield{type:"tool_call_delta",toolCalls:[{id:u.id,type:"function",function:{name:u.name,arguments:A}}],raw:h},c.delete(n.index)}}n.type==="message_delta"&&(g={...g,...n.usage},y=n.delta?.stop_reason),n.type==="message_stop"&&(x=!0,yield{type:"usage",usage:g,raw:h})}if(!x||c.size||!y)throw new Error("Anthropic stream ended before the message completed.");yield{type:"finish",finishReason:y==="tool_use"?"tool_calls":y==="max_tokens"?"length":"stop",raw:{stop_reason:y}}}finally{m.cleanup()}}s(O,"streamAnthropicChatCompletion");async function D(e){let{key:t,base:o}=k(e);o.pathname+="/models",o.searchParams.set("limit","1000");let r=b(e.signal),i=[],d=new Set;try{for(let p=0;p<20;p++){let a=await fetch(o,{redirect:"error",headers:{"x-api-key":t,"anthropic-version":"2023-06-01",Accept:"application/json"},signal:r.signal});if(!a.ok)throw new Error(`Anthropic model discovery failed: ${a.status} ${(await _(a,void 0,r.signal,r.touch)).replaceAll(t,"[redacted]")}`);let{text:f}=await I(a,5*1024*1024,{truncate:!1},r.signal,r.touch),m=JSON.parse(f);if(!Array.isArray(m.data))throw new Error("Invalid Anthropic model catalog.");for(let c of m.data){if(!c.id||d.has(c.id))continue;d.add(c.id);let g=e.settings.modelCaches.anthropic?.models.find(y=>y.id===c.id);i.push(T.parse({...g,id:c.id,displayName:c.display_name??c.id,providerId:"anthropic",source:"provider",contextWindow:c.max_input_tokens??g?.contextWindow,outputLimit:c.max_tokens??g?.outputLimit,capabilities:{...g?.capabilities,toolCalling:!0,vision:!0}}))}if(!m.has_more)return i;let l=m.last_id;if(!l||o.searchParams.get("after_id")===l)throw new Error("Anthropic model catalog did not advance.");o.searchParams.set("after_id",l)}throw new Error("Anthropic model catalog exceeded the page limit.")}finally{r.cleanup()}}s(D,"listAnthropicProviderModels");async function Y(e){let{base:t}=k(e),o=e.modelId??e.settings.providers.anthropic?.defaultModel??"",r=await D(e),i=r.some(p=>p.id===o),d=i?[]:[`Model ${o} was not returned by Anthropic model discovery.`];return{providerId:"anthropic",ok:!d.length,live:!0,baseUrl:t.toString(),modelId:o,modelFound:i,modelCount:r.length,errors:d}}s(Y,"validateAnthropicProvider");function E(e){return e==="anthropic"||S(e)}s(E,"isManagedLocalChatProvider");function re(e){return e.providerId==="anthropic"?O(e):C(e)}s(re,"streamManagedLocalChatCompletion");function $(e){let t=q(e.usage),o=e.requestKind??W({session:e.session,turn:e.turn??null,requestOrdinal:e.requestOrdinal}),r=e.completedAt,i=e.error&&P(e.error)||null;return{id:`usage_${L()}`,requestId:e.requestId,requestOrdinal:e.requestOrdinal,sessionId:e.session.id,turnId:e.turn?.id??null,provider:e.provider,model:e.model||"unknown",route:N(e.provider),source:t.promptTokens!==null||t.completionTokens!==null||t.totalTokens!==null?"provider_usage":"missing",requestKind:o,visibility:F(e.session,o),status:e.status,startedAt:e.startedAt,completedAt:r,durationMs:r?Math.max(0,Date.parse(r)-Date.parse(e.startedAt)):null,firstTokenMs:e.firstTokenMs,promptTokens:t.promptTokens,cachedPromptTokens:t.cachedPromptTokens,uncachedPromptTokens:t.uncachedPromptTokens,cacheWritePromptTokens:t.cacheWritePromptTokens,cacheTelemetrySource:t.cacheTelemetrySource,completionTokens:t.completionTokens,totalTokens:t.totalTokens,errorType:e.error?G(e.error):null,errorMessage:i,attribution:J({session:e.session,turn:e.turn??null,requestKind:o,requestOrdinal:e.requestOrdinal})}}s($,"createProviderRequestUsageRecord");async function ue(e){let t=new w(e);return await t.start(),t}s(ue,"startProviderRequestUsageRecorder");var w=class{constructor(t){this.input=t}input;static{s(this,"ProviderRequestUsageRecorder")}latestUsage=null;firstTokenMs=null;startedAt=v();startedAtMs=Date.now();async start(){await this.upsert("started",null)}observeDelta(t){this.firstTokenMs===null&&H(t)&&(this.firstTokenMs=Math.max(0,Date.now()-this.startedAtMs)),t.usage&&(this.latestUsage=t.usage)}async complete(){await this.upsert("completed",v())}async fail(t,o){await this.upsert(o,v(),t)}async upsert(t,o,r){await this.input.upsert($({session:this.input.session,turn:this.input.turn,provider:this.input.provider,model:this.input.model,requestId:this.input.requestId,requestOrdinal:this.input.requestOrdinal,requestKind:this.input.requestKind,startedAt:this.startedAt,completedAt:o,firstTokenMs:this.firstTokenMs,usage:this.latestUsage,status:t,error:r}))}};function H(e){return!!(e.text||e.reasoningText||e.toolCalls&&e.toolCalls.length>0)}s(H,"modelUsageDeltaHasOutput");function N(e){return e==="openpond"?"openpond_hosted":e==="codex"?"codex_app_server":E(e)?"local_byok":"unknown"}s(N,"modelUsageRoute");function W(e){let t=M(e.turn);return t?.subagentRunId||t?.workflowKind==="subagent"?"subagent":e.turn&&K(e.turn)?"slash_command":e.requestOrdinal===0?"chat_turn":"tool_loop"}s(W,"modelUsageRequestKind");function F(e,t){return e.systemKind?"system":t==="context_compaction"||t==="create_improve_planner"||t==="harness_refiner"||t==="subagent"||t==="codex_context"?"background":"user_facing"}s(F,"modelUsageVisibility");function J(e){let t=M(e.turn),o=K(e.turn);return{surface:t?.surface??V(e.session,e.requestKind),workflowKind:t?.workflowKind??z(e.requestKind,e.requestOrdinal,o),sessionId:e.session.id,turnId:e.turn?.id??null,goalId:t?.goalId??null,subagentRunId:t?.subagentRunId??null,subagentRoleId:t?.subagentRoleId??null,createImproveRunId:t?.createImproveRunId??e.turn?.createImproveRun?.id??null,commandName:o,commandSource:t?.commandSource??B(e.turn,o),appId:e.session.appId,workspaceKind:e.session.workspaceKind??null,workspaceId:e.session.workspaceId??null,localProjectId:e.session.localProjectId??null,cloudProjectId:e.session.cloudProjectId??null,sourceEventSequence:null}}s(J,"modelUsageAttribution");function V(e,t){return t==="create_improve_planner"?"create_improve":t==="harness_refiner"?"system":t==="context_compaction"?"compaction":"chat"}s(V,"usageSurface");function z(e,t,o){return e==="create_improve_planner"?"planner":e==="harness_refiner"?"other":e==="context_compaction"?"summary":e==="subagent"?"subagent":o||e==="slash_command"?"slash_command":t===0?"direct_chat":"tool_loop"}s(z,"usageWorkflowKind");function M(e){if(!e)return null;let t=U.safeParse(e.metadata?.usageAttribution);return t.success?t.data:null}s(M,"usageRequestAttributionFromTurn");function K(e){if(!e)return null;let o=M(e)?.commandName;if(typeof o=="string"&&o.trim())return o.trim();let r=e.createImproveRun?.command;return typeof r=="string"&&r.trim().startsWith("/")?r.trim():null}s(K,"commandNameFromTurn");function B(e,t){return e?.createImproveRun?.metadata?.source==="native_model_tool"?"model_tool":t?"prompt_parse":null}s(B,"commandSourceFromTurn");function G(e){return e instanceof Error&&e.name.trim()?e.name.trim():"Error"}s(G,"errorType");export{D as a,Y as b,E as c,re as d,$ as e,ue as f};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as H,b as y,c as C,e as E,g as S,h as P,i as j}from"./chunk-
|
|
2
|
+
import{a as H,b as y,c as C,e as E,g as S,h as P,i as j}from"./chunk-TOWY6Y23.js";import{c as I}from"./chunk-UGDBMRCT.js";import{c as w,e as b}from"./chunk-ULTV6INR.js";import{f as h,l as v,m as l}from"./chunk-HIQPGYVH.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as f}from"./chunk-FTQLQJQV.js";var a=e.string().min(1).max(240),d=e.string().regex(/^[a-f0-9]{64}$/),g=e.string().regex(/^[a-f0-9]{40}$/),x=e.object({schemaVersion:e.literal("openpond.hostedProfileCandidateExport.v1"),actorId:a,teamId:a,candidateId:a,candidateRevision:e.number().int().positive(),projectId:a.nullable(),profileRef:e.object({source:e.literal("openpond_git"),repositoryId:a,profileId:a}).strict(),expectedCommit:g,component:y.shape.component,baseRelease:h,frozenHash:d,executableSourceHash:d,protectedClosureHash:d,compiler:e.object({workspaceId:a,name:e.string().max(500),repositoryId:a}).strict(),sourceManifest:e.object({base64:e.string().max(28e5),contentHash:d,sizeBytes:e.number().int().positive().max(2e6)}).strict(),policySource:w,qualification:e.object({kind:e.enum(["owner_attested_local","hosted_execution"]),ownerActorId:a,teamId:a,originalEvidence:h,baseline:h,candidate:h,comparisonHash:d,recipe:H}).strict(),createdAt:e.string().datetime(),contentHash:d}).strict();function J(n){let o=x.parse(n),{contentHash:t,...c}=o;if(l(c)!==t||o.qualification.ownerActorId!==o.actorId||o.qualification.teamId!==o.teamId||o.qualification.recipe.externalDatasetBinding.profileId!==o.profileRef.profileId||o.qualification.recipe.externalDatasetBinding.protectedProfileClosureHash!==o.protectedClosureHash)throw new Error("Hosted candidate owner attestation identity differs.");return b(o.policySource),o}f(J,"verifyHostedProfileCandidateExport");var O=e.object({schemaVersion:e.literal("openpond.hostedProfileCandidateAdoption.v1"),id:a,operationId:a,actorId:a,teamId:a,candidateId:a,exportHash:d,executionOrigin:e.enum(["owner_attested_local","hosted_execution"]),qualification:x.shape.qualification,testedCandidateRelease:h,activeRelease:h,expectedCommit:g,committedProfileGit:g,executableSourceHash:d,protectedClosureHash:d,createdAt:e.string().datetime(),contentHash:d}).strict();function R(n){let o=O.parse(n),{contentHash:t,...c}=o;if(l(c)!==t||o.executionOrigin!==o.qualification.kind||o.qualification.ownerActorId!==o.actorId||o.qualification.teamId!==o.teamId)throw new Error("Hosted candidate receipt integrity differs.");return o}f(R,"verifyHostedProfileCandidateReceipt");var T=e.discriminatedUnion("operation",[e.object({operation:e.literal("adopt"),operationId:a,export:x}).strict(),e.object({operation:e.enum(["read","rollback"]),operationId:a,adoptionOperationId:a,profileRepositoryId:a}).strict()]),K=class{static{f(this,"ExperimentImprovementClient")}constructor(n){this.options=n;let o=new URL(n.baseUrl);if(!["http:","https:"].includes(o.protocol)||o.username||o.password||o.hash||o.search||!n.apiKey.trim()||!n.teamId.trim()||!n.actorId.trim())throw new Error("Select the authenticated Improve owner and API origin.");this.origin=o.toString().replace(/\/+$/,"")}options;origin;async hostedCandidate(n,o){let t=T.parse(n);if(t.operation==="adopt"&&(t.export.actorId!==this.options.actorId||t.export.teamId!==this.options.teamId))throw new Error("The hosted candidate export belongs to a different owner.");let{response:c,value:p}=await I(this.options.fetch??fetch,`${this.origin}/v1/profile-candidate-adoptions`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"Content-Type":"application/json","X-OpenPond-Team-Id":this.options.teamId},body:JSON.stringify({teamId:this.options.teamId,command:t}),signal:o},(m,u,r)=>Object.assign(new Error(r),{status:m,code:u}));if(!c.ok){let m=e.object({code:e.string(),message:e.string().optional(),error:e.string().optional()}).passthrough().safeParse(p);throw Object.assign(new Error(m.success?m.data.message??m.data.error??m.data.code:"Hosted candidate operation failed."),{status:c.status,code:m.success?m.data.code:void 0})}let i=R(p);if(i.actorId!==this.options.actorId||i.teamId!==this.options.teamId||i.operationId!==t.operationId||t.operation==="adopt"&&(i.exportHash!==t.export.contentHash||i.candidateId!==t.export.candidateId||i.testedCandidateRelease.contentHash!==t.export.policySource.harnessRelease.contentHash))throw new Error("Hosted candidate readback differs from the exact owner request.");return i}async command(n,o){let t=S.parse(n),{response:c,value:p}=await I(this.options.fetch??fetch,`${this.origin}/v1/experiment-improvements`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"Content-Type":"application/json","X-OpenPond-Team-Id":this.options.teamId},body:JSON.stringify({teamId:this.options.teamId,request:t}),signal:o},(r,s,q)=>Object.assign(new Error(q),{status:r,code:s}));if(!c.ok){let r=e.object({error:e.string(),code:e.string().optional()}).passthrough().safeParse(p);throw Object.assign(new Error(r.success?r.data.error:"The Improve operation failed."),{status:c.status,code:r.success?r.data.code:void 0})}if(t.operation==="options"){let r=P.parse(p);if(r.teamId!==this.options.teamId||l(r.evidence)!==l(t.evidence))throw new Error("The Improve choices changed their exact originating evidence.");return r}if(t.operation==="humanComparisonOptions"){let r=j(p);if(r.candidateId!==t.id||r.actorId!==this.options.actorId||r.teamId!==this.options.teamId)throw new Error("Human discovery belongs to another owner or candidate.");return r}if(t.operation==="instructions"){let r=e.object({candidateId:e.string(),candidateRevision:e.number().int().positive(),path:e.string(),text:e.string().max(25e4),textHash:e.string().regex(/^[a-f0-9]{64}$/),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().parse(p);if(r.candidateId!==t.id||v(r.text)!==r.textHash)throw new Error("The candidate instructions belong to a different revision.");return r}let i=t.operation==="list"?E.parse(p):null;if(t.operation==="list"&&i&&(i.states.length>t.limit||i.states.some((r,s)=>t.cursor&&r.id<=t.cursor||s>0&&r.id<=i.states[s-1].id)||i.nextCursor&&(t.cursor&&i.nextCursor<=t.cursor||i.states.some(r=>r.id>i.nextCursor))))throw new Error("The retained candidate page changed its scan boundary.");let u=(i?i.states:[p]).map(r=>{let s=C(r);if(s.actorId!==this.options.actorId||s.teamId!==this.options.teamId||"id"in t&&s.id!==t.id)throw new Error("The Improve response belongs to a different owner or candidate.");if(t.operation==="start"&&s.requestHash!==l(t.request))throw new Error("The Improve request identity changed.");return s});return i?{states:u,nextCursor:i.nextCursor}:u[0]}};export{J as a,K 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 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,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
var e="127.0.0.1";var t="0.2.
|
|
2
|
+
var e="127.0.0.1";var t="0.2.65",n=["You are OpenPond Chat. Respond in the user's language. If the user's latest message is language-neutral, ambiguous, or only a short test, respond in English. Be concise and directly answer the latest request. Do not use emojis. Use Markdown when it improves scanability.","If you emit reasoning or thinking content, keep it sparse and user-readable: at most one short sentence for major progress, decisions, or blockers. Omit reasoning for routine searches, reads, tool calls, and obvious next steps. Do not restate the user request, narrate every action, or include code blocks, code excerpts, diffs, raw tool payloads, or markdown examples in reasoning. Put necessary code or exact snippets only in the final assistant answer.","When the user asks to show or preview an image that is available as a workspace path or signed image URL, use Markdown image syntax like  instead of a bare path or raw HTML.","Final responses:","- After substantial work, including research, analysis, document creation, and coding, finish with a concise, self-contained wrap-up. The user should understand the outcome without reading progress updates or tool output.","- Lead with the result and summarize the meaningful changes or findings. Link relevant deliverables and supporting sources when available, using links the user can open.","- Report what was actually checked and what the evidence establishes when verification matters. Distinguish completed work from anything unfinished, unverified, or still running; never imply that starting an operation confirms its success.","- If genuinely blocked, state what was completed, the blocker, and the specific input or action needed to continue. Continue authorized work until complete or genuinely blocked before giving the wrap-up.","- For code changes, explain what changed and why, reference important files when useful, and report relevant checks and their results. Use Changed Files or Verification sections only when they make the answer easier to read.","- Match the length and structure to the task and respect the user's requested output format. Simple questions and small actions need a direct answer, without a separate recap or fixed headings. Avoid repeating the work log or adding generic next steps.","Do not mention raw tool JSON, internal repo paths, or origin/remote URLs unless the user explicitly asks for them or they are necessary to explain a git/deploy failure."].join(`
|
|
3
3
|
`);export{e as a,t as b,n as c};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{A as it,B as K,C as A,D as rt,E as at,b as u,f as I,g as Y,h as $,i as L,j as N,k as G,l as T,o as Q,r as Z,s as k,t as x,u as tt,v as M,w as et,x as z,y as q,z as nt}from"./chunk-YU3C6U5V.js";import{a as b}from"./chunk-
|
|
2
|
+
import{A as it,B as K,C as A,D as rt,E as at,b as u,f as I,g as Y,h as $,i as L,j as N,k as G,l as T,o as Q,r as Z,s as k,t as x,u as tt,v as M,w as et,x as z,y as q,z as nt}from"./chunk-YU3C6U5V.js";import{a as b}from"./chunk-L5L3H6CI.js";import{a as l}from"./chunk-FTQLQJQV.js";import{promises as mt}from"node:fs";async function $t(t,e,n={}){return O(A(t,e.id),e,n)}l($t,"loadWorkspaceState");async function O(t,e,n={}){let{workspacePath:i,repoPath:r}=t,a=it(e,n.gitBaseUrl);await mt.mkdir(i,{recursive:!0});let o=await L(r),s=null;if(!o&&n.clone&&a)try{await rt(r,i,a,n.token),o=!0}catch(m){s=m instanceof Error?m.message:String(m)}if(!o)return n.allowPlainFolder&&await $(r)?{appId:e.id,source:"local_folder",workspacePath:i,repoPath:r,initialized:!0,remoteUrl:null,expectedRemoteUrl:a,currentBranch:null,headCommit:null,upstreamBranch:null,ahead:0,behind:0,diverged:!1,linkedSourceHeadCommit:n.linkedSourceHeadCommit?.trim()||null,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,linkedSourceComparisonError:null,lastFetchAt:null,defaultBranch:e.defaultBranch??null,branches:[],dirty:!1,changedFilesCount:0,untrackedFilesCount:0,error:s,updatedAt:b()}:{appId:e.id,source:I(a),workspacePath:i,repoPath:r,initialized:o,remoteUrl:null,expectedRemoteUrl:a,currentBranch:null,headCommit:null,upstreamBranch:null,ahead:0,behind:0,diverged:!1,linkedSourceHeadCommit:n.linkedSourceHeadCommit?.trim()||null,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,linkedSourceComparisonError:null,lastFetchAt:null,defaultBranch:e.defaultBranch??null,branches:[],dirty:!1,changedFilesCount:0,untrackedFilesCount:0,error:s,updatedAt:b()};let[f,d,h,P,y]=await Promise.all([u("git",["branch","--show-current"],r),u("git",["branch","--format=%(refname:short)"],r),u("git",["status","--porcelain=v1","-b"],r),u("git",["config","--get","remote.origin.url"],r),u("git",["rev-parse","--verify","HEAD"],r)]),E=P.code===0&&Y(P.stdout.trim())||null,W=h.code===0?h.stdout.split(`
|
|
3
3
|
`).filter(m=>m.trim()):[],S=et(W.find(m=>m.startsWith("## "))??""),p=W.filter(m=>{if(m.startsWith("## "))return!1;let B=M(m),V=B?k(B.path):null;return!!(V&&!x(V))}),C=p.filter(m=>m.startsWith("??")).length,F=f.code===0&&f.stdout.trim()?f.stdout.trim():null,R=y.code===0&&y.stdout.trim()||null,U=d.code===0?d.stdout.split(`
|
|
4
4
|
`).map(m=>m.trim()).filter(Boolean):[],c=I(E)==="unknown"&&a?a:E??a,g=await ht(r,n.linkedSourceHeadCommit,R);return{appId:e.id,source:c?I(c):"local_git",workspacePath:i,repoPath:r,initialized:o,remoteUrl:E,expectedRemoteUrl:a,currentBranch:F,headCommit:R,upstreamBranch:S.upstreamBranch,ahead:S.ahead,behind:S.behind,diverged:S.ahead>0&&S.behind>0,linkedSourceHeadCommit:g.linkedSourceHeadCommit,aheadOfLinkedSource:g.aheadOfLinkedSource,behindLinkedSource:g.behindLinkedSource,divergedFromLinkedSource:g.divergedFromLinkedSource,linkedSourceComparisonError:g.error,lastFetchAt:await at(r),defaultBranch:e.defaultBranch??null,branches:U,dirty:p.length>0,changedFilesCount:p.length,untrackedFilesCount:C,error:s,updatedAt:b()}}l(O,"loadWorkspaceStateAtPath");async function ht(t,e,n){let i=e?.trim()||null,r={linkedSourceHeadCommit:i,aheadOfLinkedSource:0,behindLinkedSource:0,divergedFromLinkedSource:!1,error:null};if(!i||!n||i===n)return r;let a=await u("git",["rev-list","--left-right","--count",`${i}...${n}`],t);if(a.code!==0)return{...r,error:a.stderr.trim()||a.stdout.trim()||"Unable to compare linked source commit."};let[o,s]=a.stdout.trim().split(/\s+/,2),f=Number(o)||0,d=Number(s)||0;return{linkedSourceHeadCommit:i,aheadOfLinkedSource:d,behindLinkedSource:f,divergedFromLinkedSource:d>0&&f>0,error:null}}l(ht,"compareLinkedSourceCommit");async function zt(t,e,n){return gt(A(t,e.id),e,n)}l(zt,"createAndCheckoutBranch");async function gt(t,e,n,i={}){K(n);let r=await O(t,e,{...i,clone:!1});if(!r.initialized)throw new Error(r.error||"Workspace is not initialized");let a=await u("git",["checkout","-b",n.trim()],r.repoPath);if(a.code!==0)throw new Error(a.stderr.trim()||a.stdout.trim()||"Unable to create branch");return O(t,e,{...i,clone:!1})}l(gt,"createAndCheckoutBranchAtPath");async function Ht(t,e,n){return kt(A(t,e.id),e,n)}l(Ht,"checkoutBranch");async function kt(t,e,n,i={}){K(n);let r=await O(t,e,{...i,clone:!1});if(!r.initialized)throw new Error(r.error||"Workspace is not initialized");if(r.dirty&&r.currentBranch!==n.trim())throw new Error("Commit or discard local changes before switching branches");let a=await u("git",["checkout",n.trim()],r.repoPath);if(a.code!==0)throw new Error(a.stderr.trim()||a.stdout.trim()||"Unable to switch branch");return O(t,e,{...i,clone:!1})}l(kt,"checkoutBranchAtPath");import w from"node:path";import{promises as ct}from"node:fs";var wt=6,Wt=60,st=1e4,D=new Map;async function H(t,e,n=wt){let i=Math.max(1,Math.floor(n)),r=new Array(t.length),a=0;async function o(){for(;a<t.length;){let s=a;a+=1,r[s]=await e(t[s],s)}}return l(o,"worker"),await Promise.all(Array.from({length:Math.min(i,t.length)},()=>o())),r}l(H,"mapWorkspaceDiffEntriesWithConcurrency");function Xt(){D.clear()}l(Xt,"clearWorkspaceDiffCacheForTests");async function Jt(t,e,n={}){let{repoPath:i}=A(t,e.id);return Pt(i,e.id,n)}l(Jt,"loadWorkspaceDiff");async function Pt(t,e,n={}){let i=await L(t);if(!i){let c=await nt(t);return{appId:e,repoPath:t,initialized:c.length>0||await $(t),dirty:!1,filesChanged:0,additions:0,deletions:0,repoFiles:c,files:[],error:null,updatedAt:b()}}let r=await X(t),a=r.pathPrefix||".",[o,s]=await Promise.all([u("git",["rev-parse","HEAD"],r.commandCwd),u("git",["status","--porcelain=v1","-uall","--",a],r.commandCwd)]);if(s.code!==0)return{appId:e,repoPath:t,initialized:i,dirty:!1,filesChanged:0,additions:0,deletions:0,repoFiles:[],files:[],error:s.stderr.trim()||s.stdout.trim()||"Unable to read workspace diff",updatedAt:b()};let f=s.stdout.split(`
|
|
5
5
|
`).map(M).filter(c=>!!c).map(c=>{let g=v(c.path,r.pathPrefix);if(!g)return null;let m=k(g);return m?{...c,path:m}:null}).filter(c=>c?!x(c.path):!1),d=await Ct(t,f),h=Ft({repoPath:t,workspaceId:e,includeFileDetails:!!n.includeFileDetails,head:o.code===0?o.stdout.trim():"unborn",pathPrefix:r.pathPrefix,status:s.stdout,worktreeSignature:d}),P=D.get(h);if(P)return j(P);let y=(await H(f,async c=>c.status==="deleted"||!await Z(t,c.path)?c:null)).filter(c=>!!c),E=await u("git",["ls-files","--",a],r.commandCwd),W=q([...E.code===0?E.stdout.split(`
|