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,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as ye,b as me,c as Se,d as Pe,e as _e}from"./chunk-4KTGYHCE.js";import{a as re,d as Ce,e as fe,h as $e,j as Le,l as Oe}from"./chunk-4G3GTEVS.js";import{A as ue,C as F,D as ne,F as Be,H as De,I as L,J as je,L as X,M as Ae,N as V,O as _,P as qe,X as le,Z as Ee,_ as Y,l as Ie,s as He,t as Me}from"./chunk-KU4TPDPH.js";import{m as pe,q as Te,r as xe}from"./chunk-AFYYIJ6K.js";import{a as U}from"./chunk-J256AEEE.js";import{L as f,M as $,N as D,O as se,Q as Re,S as C,da as j,ja as be,k as W,o as K,pb as ce,qb as de,rb as ie,t as ee,w as te,z as ae}from"./chunk-4PUOWSDE.js";import{$a as we,Aa as x,_a as ve,ab as G,bb as N,x as ke}from"./chunk-ZY32SZ2P.js";import{m as he,n as u}from"./chunk-RCT3O3HQ.js";import{A as R}from"./chunk-X2J2P5ZT.js";import{a as T}from"./chunk-FTQLQJQV.js";function Je(s){let e=_(s.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let t=V(e);if(!t.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let a=new Map,i=ne(e);for(let k of i?.assets??[])a.set(k.id,k);let n=new Set([...e.taskset.tasks.flatMap(k=>k.privilegedContextRef?[k.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(k=>k?[k.id]:[])]);for(let k of n){if(a.has(k))continue;let H=e.files.find(E=>E.asset.id===k);if(!H)throw new Error(`Source Taskset context is missing: ${k}.`);let y=new TextDecoder("utf-8",{fatal:!0}).decode(F(H));a.set(k,Re.parse(D({schemaVersion:"openpond.learningTextAsset.v1",id:k,revision:1,asset:H.asset,text:y})))}for(let k of s.assets){let H=e.files.find(y=>y.asset.id===k.id);if(H&&D({asset:H.asset}).contentHash!==D({asset:k.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${k.id}.`);a.set(k.id,k)}let{policy:d,environment:r,environmentRelease:m,tools:g,capabilities:o,verifierSetRelease:b}=e.taskset,l=e.taskset.metadata.tasksetOutputContract,P=l&&typeof l=="object"&&!Array.isArray(l)&&"mode"in l&&l.mode==="structured_json"?"jsonSchema"in l?l.jsonSchema:null:{type:"object"},h=K.parse(D({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:t,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:P,rewardBinding:f(s.rewardBinding),harness:null,execution:{policy:d,environment:r,environmentRelease:m,tools:g,capabilities:o,verifierSetRelease:b}})),I=Ie({...s,assets:[...a.values()],source:{taskset:e.taskset,taskDefinition:h,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),v=new Map(e.files.map(k=>[k.asset.id,k]));for(let k of I.assets){let H="";for(let y of new TextEncoder().encode(k.text))H+=String.fromCharCode(y);v.set(k.id,{asset:k.asset,base64:btoa(H)})}let{taskset:w,executionResources:q,...O}=I;return qe({schemaVersion:"openpond.tasksetPackage.v1",taskset:w,...q,modelResources:O,files:[...v.values()]})}T(Je,"bindOrdinaryModelTasksetReward");var A=R.string().trim().min(1).max(500),J=R.string().regex(/^[a-f0-9]{64}$/),We=Te.pick({portableProjectId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,sourceRevision:!0,sourceUpdatedAt:!0}).extend({trainingSetup:pe.omit({tasksetRef:!0,rewardBindingRef:!0,tasksetRelease:!0})}).strict(),Xe=R.object({schemaVersion:R.literal("openpond.tasksetPackagePublication.v1"),operationId:A,modelProjectId:A,expectedProjectEtag:J.nullable(),name:R.string().trim().min(1).max(200),description:R.string().max(5e3),buildIntent:R.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),methodHint:R.enum(["sft","dpo","grpo","ppo"]).nullable(),package:X,modelConfiguration:We.optional(),evaluationPackage:X.optional(),selection:R.enum(["select","attach"]).optional()}).strict().refine(s=>s.selection!=="attach"||s.modelConfiguration===void 0,"Attachment-only publication cannot replace Model configuration.").refine(s=>!s.evaluationPackage||s.modelConfiguration!==void 0&&s.modelConfiguration.trainingSetup.evaluationTasksetRef!=null&&u(s.modelConfiguration.trainingSetup.evaluationTasksetRef)===u(f(s.evaluationPackage.taskset)),"Evaluation package must match the selected immutable evaluation in Model configuration."),Ye=R.object({schemaVersion:R.literal("openpond.tasksetPackageReceipt.v1"),teamId:A,modelProjectId:A,operationId:A,taskset:U,packageHash:J,hostedTasksetId:A,projectEtag:J,project:xe.optional(),selection:R.enum(["select","attach"]).optional(),evaluation:R.object({taskset:U,packageHash:J,hostedTasksetId:A}).strict().optional()}).strict(),Qe=R.object({schemaVersion:R.literal("openpond.tasksetPackageReadback.v1"),teamId:A,modelProjectId:A,package:X}).strict(),Ze=R.object({schemaVersion:R.literal("openpond.tasksetReleasePackageReadback.v1"),teamId:A,release:U,package:X}).strict(),B=class extends Error{constructor(t,a,i){super(i);this.status=t;this.code=a;this.name="OpenPondTasksetPackageError"}status;code;static{T(this,"OpenPondTasksetPackageError")}},Fe=class{static{T(this,"OpenPondTasksetPackageClient")}#e;constructor(e){let t=new URL(e.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!e.apiKey.trim()||!e.teamId.trim())throw new Error("Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.");this.#e={...e,baseUrl:t.toString().replace(/\/+$/,"")}}async publish(e,t={}){let a=Xe.parse(e);_(a.package),a.evaluationPackage&&_(a.evaluationPackage);let{evaluationPackage:i,...n}=a,d=i?.contentHash===a.package.contentHash?n:a,r=Ye.parse(await this.#t("","POST",d,t.signal)),m=a.package.taskset;if(r.teamId!==this.#e.teamId||r.modelProjectId!==a.modelProjectId||r.operationId!==a.operationId||r.packageHash!==a.package.contentHash||r.taskset.id!==m.id||r.taskset.revision!==m.revision||r.taskset.contentHash!==m.contentHash)throw new B(502,"package_receipt_mismatch","Taskset publication receipt did not match the requested package and owner.");if(a.selection!==void 0&&r.selection!==a.selection)throw new B(502,"package_receipt_mismatch","Taskset publication did not retain its selection mode.");if(a.evaluationPackage&&(!r.evaluation||r.evaluation.packageHash!==a.evaluationPackage.contentHash||u(r.evaluation.taskset)!==u(f(a.evaluationPackage.taskset))))throw new B(502,"package_receipt_mismatch","Taskset publication did not retain the complete selected evaluation package.");if(a.selection==="attach"&&r.projectEtag!==a.expectedProjectEtag)throw new B(502,"package_receipt_mismatch","Attaching a historical Taskset changed the Model configuration.");if(a.modelConfiguration){let g=a.modelConfiguration,o=r.project,b=Ae(a.package),l=pe.parse({...g.trainingSetup,tasksetRef:f(m),rewardBindingRef:b?f(b):null,tasksetRelease:null});if(!o||o.teamId!==this.#e.teamId||o.etag!==r.projectEtag||![o.id,o.portableProjectId].includes(a.modelProjectId)||o.portableProjectId!==g.portableProjectId||o.name!==g.name||o.objective!==g.objective||o.sourceRevision!==g.sourceRevision||Date.parse(o.sourceUpdatedAt)!==Date.parse(g.sourceUpdatedAt)||u(o.defaultBaseModel)!==u(g.defaultBaseModel)||o.defaultDestinationId!==g.defaultDestinationId||u(o.trainingSetup)!==u(l))throw new B(502,"package_receipt_mismatch","Taskset publication did not retain the requested Model configuration.")}return r}async getByRelease(e,t={}){let a=U.parse(e),i=t.expectedPackageHash===void 0?void 0:J.parse(t.expectedPackageHash),n=Ze.parse(await this.#t(`/releases/${encodeURIComponent(a.id)}/${a.revision}/${a.contentHash}/package`,"GET",void 0,t.signal)),d=_(n.package),r={id:d.taskset.id,revision:d.taskset.revision,contentHash:d.taskset.contentHash};if(n.teamId!==this.#e.teamId||u(n.release)!==u(a)||u(r)!==u(a)||i!==void 0&&d.contentHash!==i)throw new B(502,"package_readback_mismatch","Independent Dataset package differs from the requested workspace or exact release.");return d}async get(e,t,a={}){let i=A.parse(e),n=U.parse(t),d=a.expectedPackageHash===void 0?void 0:J.parse(a.expectedPackageHash),r=Qe.parse(await this.#t(`/${encodeURIComponent(i)}/${encodeURIComponent(n.id)}/${n.revision}/${n.contentHash}`,"GET",void 0,a.signal)),m=r.package.taskset;if(r.teamId!==this.#e.teamId||r.modelProjectId!==i||m.id!==n.id||m.revision!==n.revision||m.contentHash!==n.contentHash)throw new B(502,"package_readback_mismatch","Taskset package did not match the requested release and owner.");if(d!==void 0&&r.package.contentHash!==d)throw new B(502,"package_readback_mismatch","Taskset package did not match the saved publication receipt.");return _(r.package)}async#t(e,t,a,i){let n=a===void 0?void 0:JSON.stringify(a);if(n&&new TextEncoder().encode(n).byteLength>ue)throw new B(413,"package_too_large","Taskset publication exceeds the 64 MiB envelope.");let d=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-packages${e}`,{method:t,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json",...n?{"Content-Type":"application/json"}:{}},body:n,signal:i,redirect:"error"}),r=d.body?.getReader();if(!r)throw new B(d.status,"empty_response","Taskset package response was empty.");let m=new TextDecoder("utf-8",{fatal:!0}),g=0,o="";try{for(;;){let l=await r.read();if(l.done)break;if(g+=l.value.byteLength,g>ue)throw new B(413,"package_too_large","Taskset response exceeds the 64 MiB envelope.");o+=m.decode(l.value,{stream:!0})}o+=m.decode()}finally{await r.cancel(),r.releaseLock()}let b=JSON.parse(o);if(!d.ok){let l=R.object({code:R.string(),message:R.string()}).safeParse(b);throw new B(d.status,l.success?l.data.code:"package_request_failed",l.success?l.data.message:`Taskset package request failed (${d.status}).`)}return b}};function Ve(s){let{request:e,package:t}=s,a=t.learningResources;if(!a)throw new x("model_review_batch_required",422);let i=j(t.taskset),n=`model-review-${u([s.scope,e.modelId,e.operationId])}`,d=new Map(e.examples.map(p=>[u(p.evidence),p])),r=new Set(a.evidence.map(p=>u(f(p)))),m=new Map(a.decisions.map(p=>[u(p.evidence),p]));if(d.size!==e.examples.length||e.examples.some(p=>!r.has(u(p.evidence))))throw new x("model_review_evidence_mismatch",409);for(let p of[s.binding,...s.rewards,...s.assets])se(p);G(s.binding,s.rewards);let g=new Map;for(let p of s.binding.sources){let c=s.rewards.find(z=>$(f(z),p.reward)),{contentHash:S,...M}=c;g.set(c.contentHash,ve({...M,id:`${n}-reward-${c.contentHash}`,revision:1}))}let o=[...g.values()],{contentHash:b,recipeRef:l,...P}=s.binding,h=we({...P,id:`${n}-binding`,revision:1,sources:s.binding.sources.map(p=>({...p,reward:f(g.get(p.reward.contentHash))}))},o),I=o.flatMap(p=>[...p.assets,..."verifierRef"in p.implementation?[p.implementation.verifierRef]:[],..."rubricRef"in p.implementation?[p.implementation.rubricRef]:[],..."inputContract"in p.implementation?[p.implementation.inputContract]:[]]),v=[...new Map(I.map(p=>{let c=s.assets.find(S=>S.id===p.id);if(!c)throw new x("model_review_reward_asset_missing",422);if(C(c,p),p.visibility==="policy")throw new x("reward_asset_visibility_invalid",422);return[c.id,c]})).values()],{environmentRelease:w,verifierSetRelease:q,...O}=i.definition.execution,{contentHash:k,...H}=i.definition,y=K.parse(D({...H,...e.definition,id:`${n}-definition`,revision:1,rewardBinding:f(h),execution:{...O,policy:{...O.policy,hiddenGraderRefs:N(h,o).filter(p=>p.privileged).map(p=>p.id)}}})),E=ee.parse(D({schemaVersion:"openpond.learningSource.v1",id:n,revision:1,name:`${y.name} review`,kind:"direct",taskDefinition:f(y),enabled:!0,allowedSplits:[...new Set(a.evidence.map(p=>p.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:t.contentHash,taskset:f(t.taskset),batch:f(a.batch),rewardBinding:f(s.binding)}})),Q=a.evidence.map(p=>{let c=d.get(u(f(p))),S=`review-${p.contentHash}`,M=u({instructions:y.instructions,inputSchema:y.inputSchema,outputSchema:y.outputSchema,requiredOutputs:y.requiredOutputs??[],input:c?.input??p.submission.input})!==u({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:p.submission.input});return te.parse(D({schemaVersion:"openpond.taskEvidence.v1",id:ie(E.id,p.submission.exampleId,S),revision:1,source:f(E),submission:{...p.submission,sourceId:E.id,taskDefinition:f(y),attemptId:S,observedOutput:M?null:p.submission.observedOutput,idempotencyKey:`${n}-${p.contentHash}`,...c?.input===void 0?{}:{input:c.input},...c?.expected===void 0?{}:{expected:c.expected},...c?.evaluatorContext===void 0?{}:{evaluatorContext:c.evaluatorContext}},supersedes:f(p),correctionFeedbackId:null,receivedAt:s.now}))}),Z=Q.flatMap(p=>{let c=d.get(u(p.supersedes)),S=m.get(u(p.supersedes)),M=c?.proposedTarget===void 0?S.approvedTarget:c.proposedTarget;return M===null?[]:[ae.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${u([n,p.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:E.id,idempotencyKey:`${n}-${p.id}`,exampleId:p.submission.exampleId,attemptId:p.submission.attemptId,expectedEvidenceHash:p.contentHash,occurredAt:s.now,kind:"target_correction",value:M,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:f(p),createdAt:s.now,review:null})]});return{source:E,definition:y,binding:h,rewards:o,assets:v,evidence:Q,proposals:Z}}T(Ve,"prepareModelBatchReview");var ze=T(s=>`model-batch-review-${u([s.modelId,s.operationId])}`,"operation");function Dt(s){let e=_(s);if(!e.learningResources)throw new x("model_review_batch_required",422);let t=j(e.taskset);return ye.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:t.definition,binding:t.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}T(Dt,"inspectModelBatchPackage");async function et(s,e){let t=me.parse(e),a=await s.operation(ze(t));if(!a)return null;if(a.requestHash!==u(t))throw new x("learning_idempotency_conflict",409);return Ge(s,t,a.resources)}T(et,"findModelBatchReview");async function jt(s,e){let t=me.parse(e.request),a=await et(s,t);if(a)return a;let i=_(e.package);if(!i.learningResources)throw new x("model_review_batch_required",422);let n=j(i.taskset),d=t.rewardBindingRef,r=!d||$(d,f(n.binding)),m=r?n.binding:await de(s,"binding",d),g=r?n.rewards:await Promise.all(m.sources.map(h=>de(s,"reward",h.reward))),o=new Set(g.flatMap(h=>[...h.assets,..."verifierRef"in h.implementation?[h.implementation.verifierRef]:[],..."rubricRef"in h.implementation?[h.implementation.rubricRef]:[],..."inputContract"in h.implementation?[h.implementation.inputContract]:[]]).map(h=>h.id)),b=r?i.learningResources.assets:await Promise.all([...o].map(h=>ce(s,"asset",h,1))),l=Ve({...e,request:t,package:i,binding:m,rewards:g,assets:b}),P=[];for(let h of l.assets){let I=await s.get("asset",h.id,1);if(I&&I.contentHash!==h.contentHash)throw new x("model_review_asset_conflict",409);I||await s.put("asset",h,0)}for(let h of l.rewards)await s.put("reward",h,0);await s.put("binding",l.binding,0),await s.put("definition",l.definition,0),await s.put("source",l.source,0,{parentId:t.modelId}),P.push({kind:"source",id:l.source.id,revision:1});for(let h of l.evidence)await s.put("evidence",h,0,{parentId:l.source.id}),P.push({kind:"evidence",id:h.id,revision:1});for(let h of l.proposals)await s.put("feedback",h,0,{parentId:h.evidence.id,status:h.status}),P.push({kind:"feedback",id:h.id,revision:1});return await s.saveOperation(ze(t),{requestHash:u(t),resources:P}),Ge(s,t,P)}T(jt,"beginModelBatchReview");async function Ge(s,e,t){let a=await Promise.all(t.map(i=>ce(s,i.kind,i.id,i.revision)));return Se.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:a.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:a.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:a.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}T(Ge,"readReceipt");function Vt(s,e){let t=_(s),a=e?new Set(e):null,i=t.taskset.tasks.filter(m=>!a||a.has(m.id));if(!i.length||a&&i.length!==a.size)throw new x("dataset_review_selection_mismatch",409);let n=i.flatMap(m=>[...m.artifactRefs,...(m.requiredOutputs??[]).flatMap(g=>g.schemaRef?[g.schemaRef]:[])]),d=ne(t);n.push(...[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef,d?.execution.javascript.module].flatMap(m=>m?[m]:[]));let r=new Map;for(let m of n){let g=t.files.find(o=>o.asset.id===m.id);if(!g||u(g.asset)!==u(m))throw new x("dataset_review_asset_mismatch",409);r.set(g.asset.id,g)}for(let m of[t.taskset.metadata.environmentResources,t.environment.metadata.resources])if(m!==void 0){if(!Array.isArray(m))throw new x("dataset_review_environment_resources_invalid",422);for(let g of m){if(!g||typeof g!="object"||!("path"in g))throw new x("dataset_review_environment_resources_invalid",422);let o=t.files.filter(b=>b.asset.path===g.path);if(o.length!==1)throw new x("dataset_review_environment_resource_ambiguous",422);r.set(o[0].asset.id,o[0])}}return[...r.values()]}T(Vt,"datasetTrainingReviewFiles");function Jt(s){let e=_(s),t=e.learningResources?j(e.taskset):null,a=t?.definition??e.modelResources?.taskDefinition,i=t?.binding??e.modelResources?.rewardBinding,n=a?.instructions??V(e),d=e.taskset.metadata.tasksetOutputContract,r=d&&typeof d=="object"&&!Array.isArray(d)&&"mode"in d&&d.mode==="structured_json"&&"jsonSchema"in d?W.parse(d.jsonSchema):null,m=a?.outputSchema??r;return _e.parse({schemaVersion:"openpond.datasetTrainingReviewSource.v1",dataset:f(e.taskset),packageHash:e.contentHash,taskCount:e.taskset.tasks.length,definition:{name:a?.name??e.taskset.id,...n?.trim()?{instructions:n}:{},...a?{inputSchema:a.inputSchema}:{},...m?{outputSchema:m}:{},...a?.requiredOutputs?{requiredOutputs:a.requiredOutputs}:{}},rewardBinding:i?f(i):null,hasParentTargets:e.learningResources?.decisions.some(g=>g.approvedTarget!==null)??!1})}T(Jt,"inspectDatasetTrainingReviewPackage");function Ne(s,e,t){return`dataset-review-${u([s,e,t])}`}T(Ne,"datasetTrainingReviewIdentity");function tt(s){let e=Pe.parse(s.request),t=_(s.package);if(t.contentHash!==e.packageHash||!$(f(t.taskset),e.dataset))throw new x("dataset_review_source_mismatch",409);let a=Ne(e.teamId,s.actorId,e.operationId),i=t.learningResources?j(t.taskset):null,n=i?.definition??t.modelResources?.taskDefinition,d=i?{binding:i.binding,rewards:i.rewards,assets:t.learningResources.assets}:t.modelResources?{binding:t.modelResources.rewardBinding,rewards:t.modelResources.rewards,assets:t.modelResources.assets}:null,r=s.graph??d;if(!r)throw new x("dataset_review_reward_required",422,"Select an exact saved Reward binding before importing this Dataset for review.");let m=e.rewardBindingRef??d?.binding;if(!m||!$(f(r.binding),m))throw new x("dataset_review_reward_mismatch",409);for(let c of[r.binding,...r.rewards,...r.assets])se(c);G(r.binding,r.rewards);let g=r.rewards.flatMap(c=>[...c.assets,..."verifierRef"in c.implementation?[c.implementation.verifierRef]:[],..."rubricRef"in c.implementation?[c.implementation.rubricRef]:[],..."inputContract"in c.implementation?[c.implementation.inputContract]:[]]),o=[...new Map(g.map(c=>{let S=r.assets.find(z=>z.id===c.id);if(!S||c.visibility==="policy")throw new x("dataset_review_reward_asset_missing",422);C(S,c);let M=t.files.find(z=>z.asset.id===c.id);if(M&&u(M.asset)!==u(c))throw new x("dataset_review_asset_conflict",409);return[S.id,S]})).values()],b=e.taskIds?new Set(e.taskIds):null,l=t.taskset.tasks.filter(c=>!b||b.has(c.id));if(!l.length||l.length>1e4||b&&l.length!==b.size)throw new x("dataset_review_selection_mismatch",409);if(e.targetSource==="approved_parent"&&!t.learningResources)throw new x("dataset_review_parent_targets_unavailable",422);let P=n?.familyNamespace??s.familyNamespace;if(!P)throw new x("dataset_review_family_required",422,"Resolve the Dataset's stable family before importing its versions.");let h=e.definition.instructions??n?.instructions??V(t);if(!h.trim())throw new x("dataset_review_instructions_required",422,"Provide the task instructions before importing this Dataset.");let I=t.taskset.metadata.tasksetOutputContract,v=I&&typeof I=="object"&&!Array.isArray(I)&&"mode"in I&&I.mode==="structured_json"&&"jsonSchema"in I?W.parse(I.jsonSchema):null,w=e.definition.outputSchema??n?.outputSchema??v;if(!w)throw new x("dataset_review_output_contract_required",422,"Provide the actual output contract for this Dataset; importing does not infer a target schema.");let{environmentRelease:q,verifierSetRelease:O,...k}=t.taskset,H=K.parse(D({schemaVersion:"openpond.taskDefinition.v1",id:`${a}-definition`,revision:1,name:e.definition.name??n?.name??t.taskset.id,description:n?.description??"",instructions:h,category:n?.category??"custom",familyNamespace:P,inputSchema:e.definition.inputSchema??n?.inputSchema??{type:"object"},outputSchema:w,...e.definition.requiredOutputs??n?.requiredOutputs?{requiredOutputs:e.definition.requiredOutputs??n?.requiredOutputs}:{},...n?.contextRequirements?{contextRequirements:n.contextRequirements}:{},harness:n?.harness??null,rewardBinding:f(r.binding),execution:{policy:{...k.policy,hiddenGraderRefs:N(r.binding,r.rewards).filter(c=>c.privileged).map(c=>c.id)},environment:k.environment,tools:k.tools,capabilities:k.capabilities}})),y=ee.parse(D({schemaVersion:"openpond.learningSource.v1",id:a,revision:1,name:`${H.name.slice(0,480)} review`,kind:"direct",taskDefinition:f(H),enabled:!0,allowedSplits:[...new Set(l.map(c=>c.split))],mapping:null,adapterVersion:null,datasetOrigin:{receiptId:a,packageHash:t.contentHash,taskset:f(t.taskset)}})),E=new Map(t.learningResources?.evidence.map(c=>[c.id,c])??[]),Q=new Map(t.learningResources?.decisions.map(c=>[u(c.evidence),c])??[]),Z=l.map(c=>{let S=E.get(c.id),M=S?.submission.evaluatorContext??at(t,c.privilegedContextRef),z={...c.policyVisibleContext,...e.definition.instructions===void 0?{}:{instructions:H.instructions}},Ue=e.definition.instructions!==void 0&&e.definition.instructions!==n?.instructions;return te.parse(D({schemaVersion:"openpond.taskEvidence.v1",id:ie(y.id,c.id,`dataset-${t.contentHash}`),revision:1,source:f(y),supersedes:S?f(S):null,correctionFeedbackId:null,receivedAt:s.now,submission:{schemaVersion:"openpond.taskExample.v1",sourceId:y.id,idempotencyKey:`${a}-${u(c.id)}`,taskDefinition:f(H),exampleId:c.id,attemptId:`dataset-${t.contentHash}`,occurredAt:S?.submission.occurredAt??s.now,familyKey:c.clusterKey,split:c.split,input:c.input,policyVisibleContext:z,observedOutput:!Ue&&S?S.submission.observedOutput:null,expected:c.expectedOutput,evaluatorContext:M,assets:c.artifactRefs,...c.requiredOutputs?{requiredOutputs:c.requiredOutputs}:{},provenance:{sourceRecordRef:JSON.stringify({dataset:e.dataset,taskId:c.id}),mappingHash:u({schemaVersion:"openpond.datasetTrainingReviewMapping.v1",dataset:e.dataset,packageHash:t.contentHash})}}}))}),p=Z.flatMap(c=>{let S=E.get(c.submission.exampleId),M=e.targetSource==="expected_output"?c.submission.expected:e.targetSource==="approved_parent"&&S?Q.get(u(f(S)))?.approvedTarget??null:null;if(M===null)return[];if(!ke(H.outputSchema,M).valid)throw new x("dataset_review_target_schema_mismatch",422,"A proposed Dataset target differs from the selected output contract. Import without proposals or provide the matching contract.");return[ae.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${u([y.id,c.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:y.id,idempotencyKey:`${y.id}-${u(c.id)}`,exampleId:c.submission.exampleId,attemptId:c.submission.attemptId,expectedEvidenceHash:c.contentHash,occurredAt:s.now,kind:"target_correction",value:M,note:"Dataset target proposal. Grade and review this exact evidence before admission."},status:"pending_review",evidence:f(c),createdAt:s.now,review:null})]});return{id:a,request:e,source:y,definition:H,binding:r.binding,rewards:r.rewards,assets:o,evidence:Z,proposals:p}}T(tt,"prepareDatasetTrainingReview");function at(s,e){if(!e)return null;let t=s.files.find(a=>a.asset.id===e);if(!t||t.asset.visibility!=="host_private")throw new x("dataset_review_private_context_missing",422);try{return W.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(F(t))))}catch{throw new x("dataset_review_private_context_unsupported",422,"This Dataset's private context is not an object envelope supported by the review engine.")}}T(at,"readPrivateContext");function Ke(s){let e=s.taskset.metadata.ordinaryAuthoring,t=R.record(R.string(),R.array(R.string().min(1)).max(1e5)).parse(e?.judgeCalibrationFixtures??{});return s.taskset.graders.map(a=>{let i={...a,label:a.id,metadata:{portableGrader:a}};if(a.kind==="custom_verifier")return L.parse({...i,module:a.verifierRef.path,exportName:a.exportName??"verify",metadata:{...i.metadata,portableVerifierRef:a.verifierRef}});if(a.kind==="human"||a.kind==="model_judge"){let n=s.files.find(m=>m.asset.id===a.rubricRef.id);if(!n)throw new Error(`Imported rubric is missing: ${a.id}.`);let d=new TextDecoder("utf-8",{fatal:!0}).decode(F(n)),r={...i.metadata,portableRubricRef:a.rubricRef};if(a.kind==="human")return L.parse({...i,rubric:d,metadata:r});if(!a.model)throw new Error(`Imported judge ${a.id} requires its declared model before local preparation.`);return L.parse({...i,rubric:d,metadata:r,judge:a.model,temperature:a.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:t[a.id]??[]})}return L.parse({...i,kind:a.kind==="artifact"?"file":a.kind,config:a.kind==="artifact"?{...a.config,...a.config.refIncludes===void 0?{}:{pathIncludes:a.config.refIncludes}}:a.config})})}T(Ke,"importedPackageGraders");function oe(s,e,t=[]){let a=G(s,e);return N(s,e).map(i=>{let n=a.find(({source:r})=>r.graderId===i.id).reward,d={...i,label:n.name,metadata:{rewardBinding:f(s)}};if(i.kind==="model_judge"){if(!i.model||i.calibrationStatus!=="passed"||!n.calibrationCheckRef||!n.fixtureSetRef)throw new Error(`Reward ${i.id} needs a retained passing calibration check before preparation.`);let r=t.find(o=>o.id===i.rubricRef.id),m=t.find(o=>o.id===n.fixtureSetRef.id);if(!r||!m)throw new Error(`Reward ${i.id} is missing its immutable rubric or calibration fixtures.`);let g=be.array().min(1).max(50).parse(JSON.parse(C(m,n.fixtureSetRef)));return L.parse({...d,rubric:C(r,i.rubricRef),judge:i.model,temperature:i.temperature??0,calibrationFixtureRefs:g.map(o=>o.id),metadata:{...d.metadata,portableGrader:i,portableRubricRef:i.rubricRef,calibrationEvidenceHash:n.calibrationCheckRef.contentHash,calibrationCheckRef:n.calibrationCheckRef}})}if(i.kind==="custom_verifier")return L.parse({...d,module:i.verifierRef.path,exportName:i.exportName??"verify",metadata:{...d.metadata,portableVerifierRef:i.verifierRef}});if(i.kind==="human"){let r=t.find(m=>m.id===i.rubricRef.id);if(!r)throw new Error(`Reward ${i.id} is missing its immutable rubric.`);return L.parse({...d,rubric:C(r,i.rubricRef),metadata:{...d.metadata,portableGrader:i,portableRubricRef:i.rubricRef}})}return L.parse({...d,kind:i.kind==="artifact"?"file":i.kind})})}T(oe,"projectLearningBatchGraders");function st(s){return`graders/reward-${s}.js`}T(st,"learningVerifierModule");function ba(s){let e=_(s.package),t=e.taskset,a=e.modelResources,i=e.learningResources?j(t):void 0,n=Be.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${u({profileId:s.profileId,packageHash:e.contentHash})}`,profileId:s.profileId,title:s.name,sourceHash:e.contentHash,occurredAt:s.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[e.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(e)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),d=Ce({profileId:s.profileId,id:`${t.id}-import`,name:s.name,now:s.createdAt}),r=[];for(let v of t.graders)if(v.kind==="custom_verifier"){let w=a?.assets.find(k=>k.id===v.verifierRef.id),q=e.files.find(k=>k.asset.id===v.verifierRef.id);if(!q)throw new Error(`Imported verifier source is missing: ${v.id}.`);let O=v.verifierRef.path;r.some(k=>k.path===O)||r.push({path:O,role:"verifier",content:w?C(w,v.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(F(q))})}let m=t.metadata.ordinaryAuthoring??t.metadata.starterAuthoring,g=je.array().max(1e5).parse(m?.graderFixtures??[]),o=t.environment.kind==="text"?"chat":t.environment.kind==="custom_program"?"program":t.environment.kind,b=R.record(R.string(),R.record(R.string(),R.string())).parse(t.metadata.workAssetStagingPaths??{}),l=De.array().max(1e4).parse(t.metadata.environmentResources??[]),P=l.filter(v=>v.visibility==="policy_visible").map(v=>{let w=e.files.filter(q=>q.asset.path===v.path);if(w.length!==1||w[0].asset.visibility!=="policy")throw new Error(`Policy environment resource requires one public package file: ${v.path}.`);return w[0].asset}),h=new Set(P.map(v=>v.id)),I=le.parse({schemaVersion:"openpond.taskset.v1",id:t.id,revision:t.revision,profileId:s.profileId,profileRelease:null,createImproveRunId:null,name:s.name,objective:V(e),status:"needs_review",sourceRefs:[n],datasetArtifact:null,policy:t.policy,environment:{...d.environment,kind:o,entrypoint:t.environment.entrypoint,resources:l,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(v=>v.name),defaultTimeoutMs:t.environment.defaultTimeoutMs,networkPolicy:t.environment.networkPolicy,metadata:{runtimeSourceTasksetId:it(s.profileId,e.contentHash),portableEnvironment:t.environment,portableTools:t.tools,portableExecutionResources:{environment:e.environment,verifierSet:e.verifierSet}}},capabilities:{...d.capabilities,taskKind:o==="chat"?"chat":o==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:t.tools.length>0,requiresState:t.environment.stateful,rewardKinds:[...new Set(t.graders.map(v=>v.kind==="human"?"human":v.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:t.tasks.map(v=>({...v,schemaVersion:"openpond.taskData.v1",sourceRefs:[n.id],assets:[...new Map([...v.artifactRefs,...(v.requiredOutputs??[]).flatMap(w=>w.submissionMode==="structured_json"&&w.schemaRef?[w.schemaRef]:[]),...P].map(w=>[w.id,w])).values()].map(w=>({id:w.id,sourceRefId:n.id,artifactRef:w.path,fileName:w.path.split("/").at(-1),...h.has(w.id)?{stagingPath:w.path}:b[v.id]?.[w.id]?{stagingPath:b[v.id][w.id]}:{},mediaType:w.mediaType,sha256:w.contentHash,sizeBytes:w.sizeBytes,split:v.split,metadata:{portableAsset:w,...h.has(w.id)?{sharedEnvironmentResource:{id:l.find(q=>q.path===w.path).id,path:w.path}}:{}}})),...v.requiredOutputs?{requiredOutputs:v.requiredOutputs.map(w=>({...w,schemaRef:w.schemaRef?.id??null,maxBytes:w.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:v,exampleOrigin:"imported"}})),graders:a?oe(a.rewardBinding,a.rewards,a.assets):i?oe(i.binding,i.rewards,e.learningResources.assets):Ke(e),graderFixtures:g,learningSignals:d.learningSignals,...t.metrics?{metrics:t.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:u("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[e.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:s.createdAt},readiness:null,contentHash:"00000000",createdAt:s.createdAt,updatedAt:s.createdAt,metadata:{importedPackageHash:e.contentHash,...t.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:t.metadata.tasksetOutputContract},...i?{learning:i}:{},portableFileInventory:e.files.map(v=>({asset:v.asset,sourcePath:v.asset.path})),...a?{taskDefinition:f(a.taskDefinition),rewardBinding:f(a.rewardBinding),rewardExecution:{binding:a.rewardBinding,rewards:a.rewards}}:{},portableCapabilities:t.capabilities,derivedPortableMetadata:t.metadata,...t.metadata.modelTasksetDerivation?{modelTasksetDerivation:t.metadata.modelTasksetDerivation}:{}}});return{package:e,taskset:le.parse({...I,contentHash:Ee(I)}),generatedFiles:r}}T(ba,"prepareImportedTasksetPackage");function it(s,e){return`package-${u({profileId:s,packageHash:e})}`}T(it,"tasksetPackageSourceId");var ge=R.object({draft:Y,filePaths:R.array(R.object({assetId:R.string().min(1),paths:R.array(Me).min(1).max(1e4)}).strict()).max(1e4)}).strict();function nt(s){let e=_(s.source),t=Y.parse(s.sourceDraft),a=He.parse(s.preparation);if(e.contentHash!==a.sourcePackageHash||!$(f(e.taskset),a.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(a.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=fe.parse(t.metadata.portableFileInventory??[]),n=T(o=>re(o)?`source-artifacts/${e.contentHash}/${u(o)}/${o.split("/").at(-1)}`:o,"sourcePath");if([...t.tasks.flatMap(o=>(o.assets??[]).map(b=>b.artifactRef)),...(t.environment.resources??[]).map(o=>o.path),...e.taskset.tasks.flatMap(o=>(o.requiredOutputs??[]).flatMap(b=>b.schemaRef?[b.schemaRef.path]:[])),...t.metrics.customAggregator?[t.metrics.customAggregator.module]:[],...t.graders.flatMap(o=>o.kind==="custom_verifier"?[o.module]:[])].some(re))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let r=e.files.map(o=>{let b=new Set([o.asset.path]);for(let l of i)l.asset.id===o.asset.id&&b.add(l.sourcePath);for(let l of t.tasks)for(let P of l.assets??[])P.id===o.asset.id&&b.add(P.artifactRef);for(let l of e.taskset.graders)if(l.kind==="custom_verifier"&&l.verifierRef.id===o.asset.id){let P=t.graders.find(h=>h.id===l.id);P?.kind==="custom_verifier"&&b.add(P.module)}return{assetId:o.asset.id,paths:[...b].map(n)}}),m={...t.metadata};if(e.modelResources)for(let o of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete m[o];let g=Y.parse({...t,id:a.draftId,revision:1,status:"draft",graders:t.graders.map(o=>({...o,metadata:{...o.metadata,portableGrader:e.taskset.graders.find(b=>b.id===o.id)}})),environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:a.lineage.owner.modelId,expectedModelRevision:s.expectedModelRevision,source:a},publishedTasksetRef:a.tasksetRevision>1?a.sourceTasksetRef:null,metadata:{...m,modelTasksetAuthoring:a.lineage,portableFileInventory:i.map(o=>({...o,sourcePath:n(o.sourcePath),asset:{...o.asset,id:re(o.sourcePath)?`source-artifact-${u({packageHash:e.contentHash,assetId:o.asset.id})}`:o.asset.id,path:n(o.asset.path)}}))}});return ge.parse({draft:g,filePaths:r})}T(nt,"prepareTasksetDraftSource");function rt(s){let e=ge.parse(s.initialized),t=_(s.source);if(e.draft.modelScope?.source?.sourcePackageHash!==t.contentHash)throw new Error("Taskset draft lost its source preparation.");let a=new Map;for(let n of e.filePaths){let d=t.files.find(r=>r.asset.id===n.assetId);if(!d)throw new Error("Taskset draft source asset is missing.");for(let r of n.paths){let m=a.get(r);if(m&&m.contentHash!==d.asset.contentHash)throw new Error("Taskset draft source paths conflict.");a.set(r,{path:r,contentHash:d.asset.contentHash,sizeBytes:d.asset.sizeBytes,base64:d.base64})}}for(let n of $e(e.draft))if(!a.has(n.relativePath)){let d=new TextEncoder().encode(n.source);a.set(n.relativePath,{path:n.relativePath,contentHash:he(d),sizeBytes:d.byteLength,base64:Buffer.from(d).toString("base64")})}let i=e.draft;if(i.metrics.customAggregator){let n=a.get(i.metrics.customAggregator.module);if(!n)throw new Error("Declared Taskset metric module is missing.");Oe(n),i=Y.parse({...i,metrics:{...i.metrics,customAggregator:{...i.metrics.customAggregator,contentHash:n.contentHash}}})}return Le({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:i,files:[...a.values()]})}T(rt,"materializeTasksetDraftWorkspace");export{Je as a,We as b,Xe as c,Ye as d,Qe as e,Ze as f,B as g,Fe as h,Dt as i,et as j,jt as k,Vt as l,Jt as m,Ne as n,tt as o,oe as p,st as q,ba as r,it as s,ge as t,nt as u,rt as v};
|
|
2
|
+
import{a as ye,b as me,c as Se,d as Pe,e as _e}from"./chunk-ZMRP2A7K.js";import{a as re,d as Ce,e as fe,h as $e,j as Le,l as Oe}from"./chunk-VSQPWLAG.js";import{A as ue,C as F,D as ne,F as Be,H as De,I as L,J as je,L as X,M as Ae,N as V,O as _,P as qe,X as le,Z as Ee,_ as Y,l as Ie,s as He,t as Me}from"./chunk-6LAGMWJE.js";import{n as pe,r as Te,s as xe}from"./chunk-C7NQPICU.js";import{a as U}from"./chunk-J256AEEE.js";import{L as f,M as $,N as D,O as se,Q as Re,S as C,da as j,ja as be,k as W,o as K,pb as ce,qb as de,rb as ie,t as ee,w as te,z as ae}from"./chunk-ZEOYNUHL.js";import{$a as we,Aa as x,_a as ve,ab as G,bb as N,x as ke}from"./chunk-ZY32SZ2P.js";import{m as he,n as u}from"./chunk-RCT3O3HQ.js";import{A as R}from"./chunk-X2J2P5ZT.js";import{a as T}from"./chunk-FTQLQJQV.js";function Je(s){let e=_(s.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let t=V(e);if(!t.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let a=new Map,i=ne(e);for(let k of i?.assets??[])a.set(k.id,k);let n=new Set([...e.taskset.tasks.flatMap(k=>k.privilegedContextRef?[k.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(k=>k?[k.id]:[])]);for(let k of n){if(a.has(k))continue;let H=e.files.find(E=>E.asset.id===k);if(!H)throw new Error(`Source Taskset context is missing: ${k}.`);let y=new TextDecoder("utf-8",{fatal:!0}).decode(F(H));a.set(k,Re.parse(D({schemaVersion:"openpond.learningTextAsset.v1",id:k,revision:1,asset:H.asset,text:y})))}for(let k of s.assets){let H=e.files.find(y=>y.asset.id===k.id);if(H&&D({asset:H.asset}).contentHash!==D({asset:k.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${k.id}.`);a.set(k.id,k)}let{policy:d,environment:r,environmentRelease:m,tools:g,capabilities:o,verifierSetRelease:b}=e.taskset,l=e.taskset.metadata.tasksetOutputContract,P=l&&typeof l=="object"&&!Array.isArray(l)&&"mode"in l&&l.mode==="structured_json"?"jsonSchema"in l?l.jsonSchema:null:{type:"object"},h=K.parse(D({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:t,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:P,rewardBinding:f(s.rewardBinding),harness:null,execution:{policy:d,environment:r,environmentRelease:m,tools:g,capabilities:o,verifierSetRelease:b}})),I=Ie({...s,assets:[...a.values()],source:{taskset:e.taskset,taskDefinition:h,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),v=new Map(e.files.map(k=>[k.asset.id,k]));for(let k of I.assets){let H="";for(let y of new TextEncoder().encode(k.text))H+=String.fromCharCode(y);v.set(k.id,{asset:k.asset,base64:btoa(H)})}let{taskset:w,executionResources:q,...O}=I;return qe({schemaVersion:"openpond.tasksetPackage.v1",taskset:w,...q,modelResources:O,files:[...v.values()]})}T(Je,"bindOrdinaryModelTasksetReward");var A=R.string().trim().min(1).max(500),J=R.string().regex(/^[a-f0-9]{64}$/),We=Te.pick({portableProjectId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,sourceRevision:!0,sourceUpdatedAt:!0}).extend({trainingSetup:pe.omit({tasksetRef:!0,rewardBindingRef:!0,tasksetRelease:!0})}).strict(),Xe=R.object({schemaVersion:R.literal("openpond.tasksetPackagePublication.v1"),operationId:A,modelProjectId:A,expectedProjectEtag:J.nullable(),name:R.string().trim().min(1).max(200),description:R.string().max(5e3),buildIntent:R.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),methodHint:R.enum(["sft","dpo","grpo","ppo"]).nullable(),package:X,modelConfiguration:We.optional(),evaluationPackage:X.optional(),selection:R.enum(["select","attach"]).optional()}).strict().refine(s=>s.selection!=="attach"||s.modelConfiguration===void 0,"Attachment-only publication cannot replace Model configuration.").refine(s=>!s.evaluationPackage||s.modelConfiguration!==void 0&&s.modelConfiguration.trainingSetup.evaluationTasksetRef!=null&&u(s.modelConfiguration.trainingSetup.evaluationTasksetRef)===u(f(s.evaluationPackage.taskset)),"Evaluation package must match the selected immutable evaluation in Model configuration."),Ye=R.object({schemaVersion:R.literal("openpond.tasksetPackageReceipt.v1"),teamId:A,modelProjectId:A,operationId:A,taskset:U,packageHash:J,hostedTasksetId:A,projectEtag:J,project:xe.optional(),selection:R.enum(["select","attach"]).optional(),evaluation:R.object({taskset:U,packageHash:J,hostedTasksetId:A}).strict().optional()}).strict(),Qe=R.object({schemaVersion:R.literal("openpond.tasksetPackageReadback.v1"),teamId:A,modelProjectId:A,package:X}).strict(),Ze=R.object({schemaVersion:R.literal("openpond.tasksetReleasePackageReadback.v1"),teamId:A,release:U,package:X}).strict(),B=class extends Error{constructor(t,a,i){super(i);this.status=t;this.code=a;this.name="OpenPondTasksetPackageError"}status;code;static{T(this,"OpenPondTasksetPackageError")}},Fe=class{static{T(this,"OpenPondTasksetPackageClient")}#e;constructor(e){let t=new URL(e.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!e.apiKey.trim()||!e.teamId.trim())throw new Error("Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.");this.#e={...e,baseUrl:t.toString().replace(/\/+$/,"")}}async publish(e,t={}){let a=Xe.parse(e);_(a.package),a.evaluationPackage&&_(a.evaluationPackage);let{evaluationPackage:i,...n}=a,d=i?.contentHash===a.package.contentHash?n:a,r=Ye.parse(await this.#t("","POST",d,t.signal)),m=a.package.taskset;if(r.teamId!==this.#e.teamId||r.modelProjectId!==a.modelProjectId||r.operationId!==a.operationId||r.packageHash!==a.package.contentHash||r.taskset.id!==m.id||r.taskset.revision!==m.revision||r.taskset.contentHash!==m.contentHash)throw new B(502,"package_receipt_mismatch","Taskset publication receipt did not match the requested package and owner.");if(a.selection!==void 0&&r.selection!==a.selection)throw new B(502,"package_receipt_mismatch","Taskset publication did not retain its selection mode.");if(a.evaluationPackage&&(!r.evaluation||r.evaluation.packageHash!==a.evaluationPackage.contentHash||u(r.evaluation.taskset)!==u(f(a.evaluationPackage.taskset))))throw new B(502,"package_receipt_mismatch","Taskset publication did not retain the complete selected evaluation package.");if(a.selection==="attach"&&r.projectEtag!==a.expectedProjectEtag)throw new B(502,"package_receipt_mismatch","Attaching a historical Taskset changed the Model configuration.");if(a.modelConfiguration){let g=a.modelConfiguration,o=r.project,b=Ae(a.package),l=pe.parse({...g.trainingSetup,tasksetRef:f(m),rewardBindingRef:b?f(b):null,tasksetRelease:null});if(!o||o.teamId!==this.#e.teamId||o.etag!==r.projectEtag||![o.id,o.portableProjectId].includes(a.modelProjectId)||o.portableProjectId!==g.portableProjectId||o.name!==g.name||o.objective!==g.objective||o.sourceRevision!==g.sourceRevision||Date.parse(o.sourceUpdatedAt)!==Date.parse(g.sourceUpdatedAt)||u(o.defaultBaseModel)!==u(g.defaultBaseModel)||o.defaultDestinationId!==g.defaultDestinationId||u(o.trainingSetup)!==u(l))throw new B(502,"package_receipt_mismatch","Taskset publication did not retain the requested Model configuration.")}return r}async getByRelease(e,t={}){let a=U.parse(e),i=t.expectedPackageHash===void 0?void 0:J.parse(t.expectedPackageHash),n=Ze.parse(await this.#t(`/releases/${encodeURIComponent(a.id)}/${a.revision}/${a.contentHash}/package`,"GET",void 0,t.signal)),d=_(n.package),r={id:d.taskset.id,revision:d.taskset.revision,contentHash:d.taskset.contentHash};if(n.teamId!==this.#e.teamId||u(n.release)!==u(a)||u(r)!==u(a)||i!==void 0&&d.contentHash!==i)throw new B(502,"package_readback_mismatch","Independent Dataset package differs from the requested workspace or exact release.");return d}async get(e,t,a={}){let i=A.parse(e),n=U.parse(t),d=a.expectedPackageHash===void 0?void 0:J.parse(a.expectedPackageHash),r=Qe.parse(await this.#t(`/${encodeURIComponent(i)}/${encodeURIComponent(n.id)}/${n.revision}/${n.contentHash}`,"GET",void 0,a.signal)),m=r.package.taskset;if(r.teamId!==this.#e.teamId||r.modelProjectId!==i||m.id!==n.id||m.revision!==n.revision||m.contentHash!==n.contentHash)throw new B(502,"package_readback_mismatch","Taskset package did not match the requested release and owner.");if(d!==void 0&&r.package.contentHash!==d)throw new B(502,"package_readback_mismatch","Taskset package did not match the saved publication receipt.");return _(r.package)}async#t(e,t,a,i){let n=a===void 0?void 0:JSON.stringify(a);if(n&&new TextEncoder().encode(n).byteLength>ue)throw new B(413,"package_too_large","Taskset publication exceeds the 64 MiB envelope.");let d=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-packages${e}`,{method:t,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json",...n?{"Content-Type":"application/json"}:{}},body:n,signal:i,redirect:"error"}),r=d.body?.getReader();if(!r)throw new B(d.status,"empty_response","Taskset package response was empty.");let m=new TextDecoder("utf-8",{fatal:!0}),g=0,o="";try{for(;;){let l=await r.read();if(l.done)break;if(g+=l.value.byteLength,g>ue)throw new B(413,"package_too_large","Taskset response exceeds the 64 MiB envelope.");o+=m.decode(l.value,{stream:!0})}o+=m.decode()}finally{await r.cancel(),r.releaseLock()}let b=JSON.parse(o);if(!d.ok){let l=R.object({code:R.string(),message:R.string()}).safeParse(b);throw new B(d.status,l.success?l.data.code:"package_request_failed",l.success?l.data.message:`Taskset package request failed (${d.status}).`)}return b}};function Ve(s){let{request:e,package:t}=s,a=t.learningResources;if(!a)throw new x("model_review_batch_required",422);let i=j(t.taskset),n=`model-review-${u([s.scope,e.modelId,e.operationId])}`,d=new Map(e.examples.map(p=>[u(p.evidence),p])),r=new Set(a.evidence.map(p=>u(f(p)))),m=new Map(a.decisions.map(p=>[u(p.evidence),p]));if(d.size!==e.examples.length||e.examples.some(p=>!r.has(u(p.evidence))))throw new x("model_review_evidence_mismatch",409);for(let p of[s.binding,...s.rewards,...s.assets])se(p);G(s.binding,s.rewards);let g=new Map;for(let p of s.binding.sources){let c=s.rewards.find(z=>$(f(z),p.reward)),{contentHash:S,...M}=c;g.set(c.contentHash,ve({...M,id:`${n}-reward-${c.contentHash}`,revision:1}))}let o=[...g.values()],{contentHash:b,recipeRef:l,...P}=s.binding,h=we({...P,id:`${n}-binding`,revision:1,sources:s.binding.sources.map(p=>({...p,reward:f(g.get(p.reward.contentHash))}))},o),I=o.flatMap(p=>[...p.assets,..."verifierRef"in p.implementation?[p.implementation.verifierRef]:[],..."rubricRef"in p.implementation?[p.implementation.rubricRef]:[],..."inputContract"in p.implementation?[p.implementation.inputContract]:[]]),v=[...new Map(I.map(p=>{let c=s.assets.find(S=>S.id===p.id);if(!c)throw new x("model_review_reward_asset_missing",422);if(C(c,p),p.visibility==="policy")throw new x("reward_asset_visibility_invalid",422);return[c.id,c]})).values()],{environmentRelease:w,verifierSetRelease:q,...O}=i.definition.execution,{contentHash:k,...H}=i.definition,y=K.parse(D({...H,...e.definition,id:`${n}-definition`,revision:1,rewardBinding:f(h),execution:{...O,policy:{...O.policy,hiddenGraderRefs:N(h,o).filter(p=>p.privileged).map(p=>p.id)}}})),E=ee.parse(D({schemaVersion:"openpond.learningSource.v1",id:n,revision:1,name:`${y.name} review`,kind:"direct",taskDefinition:f(y),enabled:!0,allowedSplits:[...new Set(a.evidence.map(p=>p.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:t.contentHash,taskset:f(t.taskset),batch:f(a.batch),rewardBinding:f(s.binding)}})),Q=a.evidence.map(p=>{let c=d.get(u(f(p))),S=`review-${p.contentHash}`,M=u({instructions:y.instructions,inputSchema:y.inputSchema,outputSchema:y.outputSchema,requiredOutputs:y.requiredOutputs??[],input:c?.input??p.submission.input})!==u({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:p.submission.input});return te.parse(D({schemaVersion:"openpond.taskEvidence.v1",id:ie(E.id,p.submission.exampleId,S),revision:1,source:f(E),submission:{...p.submission,sourceId:E.id,taskDefinition:f(y),attemptId:S,observedOutput:M?null:p.submission.observedOutput,idempotencyKey:`${n}-${p.contentHash}`,...c?.input===void 0?{}:{input:c.input},...c?.expected===void 0?{}:{expected:c.expected},...c?.evaluatorContext===void 0?{}:{evaluatorContext:c.evaluatorContext}},supersedes:f(p),correctionFeedbackId:null,receivedAt:s.now}))}),Z=Q.flatMap(p=>{let c=d.get(u(p.supersedes)),S=m.get(u(p.supersedes)),M=c?.proposedTarget===void 0?S.approvedTarget:c.proposedTarget;return M===null?[]:[ae.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${u([n,p.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:E.id,idempotencyKey:`${n}-${p.id}`,exampleId:p.submission.exampleId,attemptId:p.submission.attemptId,expectedEvidenceHash:p.contentHash,occurredAt:s.now,kind:"target_correction",value:M,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:f(p),createdAt:s.now,review:null})]});return{source:E,definition:y,binding:h,rewards:o,assets:v,evidence:Q,proposals:Z}}T(Ve,"prepareModelBatchReview");var ze=T(s=>`model-batch-review-${u([s.modelId,s.operationId])}`,"operation");function Dt(s){let e=_(s);if(!e.learningResources)throw new x("model_review_batch_required",422);let t=j(e.taskset);return ye.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:t.definition,binding:t.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}T(Dt,"inspectModelBatchPackage");async function et(s,e){let t=me.parse(e),a=await s.operation(ze(t));if(!a)return null;if(a.requestHash!==u(t))throw new x("learning_idempotency_conflict",409);return Ge(s,t,a.resources)}T(et,"findModelBatchReview");async function jt(s,e){let t=me.parse(e.request),a=await et(s,t);if(a)return a;let i=_(e.package);if(!i.learningResources)throw new x("model_review_batch_required",422);let n=j(i.taskset),d=t.rewardBindingRef,r=!d||$(d,f(n.binding)),m=r?n.binding:await de(s,"binding",d),g=r?n.rewards:await Promise.all(m.sources.map(h=>de(s,"reward",h.reward))),o=new Set(g.flatMap(h=>[...h.assets,..."verifierRef"in h.implementation?[h.implementation.verifierRef]:[],..."rubricRef"in h.implementation?[h.implementation.rubricRef]:[],..."inputContract"in h.implementation?[h.implementation.inputContract]:[]]).map(h=>h.id)),b=r?i.learningResources.assets:await Promise.all([...o].map(h=>ce(s,"asset",h,1))),l=Ve({...e,request:t,package:i,binding:m,rewards:g,assets:b}),P=[];for(let h of l.assets){let I=await s.get("asset",h.id,1);if(I&&I.contentHash!==h.contentHash)throw new x("model_review_asset_conflict",409);I||await s.put("asset",h,0)}for(let h of l.rewards)await s.put("reward",h,0);await s.put("binding",l.binding,0),await s.put("definition",l.definition,0),await s.put("source",l.source,0,{parentId:t.modelId}),P.push({kind:"source",id:l.source.id,revision:1});for(let h of l.evidence)await s.put("evidence",h,0,{parentId:l.source.id}),P.push({kind:"evidence",id:h.id,revision:1});for(let h of l.proposals)await s.put("feedback",h,0,{parentId:h.evidence.id,status:h.status}),P.push({kind:"feedback",id:h.id,revision:1});return await s.saveOperation(ze(t),{requestHash:u(t),resources:P}),Ge(s,t,P)}T(jt,"beginModelBatchReview");async function Ge(s,e,t){let a=await Promise.all(t.map(i=>ce(s,i.kind,i.id,i.revision)));return Se.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:a.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:a.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:a.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}T(Ge,"readReceipt");function Vt(s,e){let t=_(s),a=e?new Set(e):null,i=t.taskset.tasks.filter(m=>!a||a.has(m.id));if(!i.length||a&&i.length!==a.size)throw new x("dataset_review_selection_mismatch",409);let n=i.flatMap(m=>[...m.artifactRefs,...(m.requiredOutputs??[]).flatMap(g=>g.schemaRef?[g.schemaRef]:[])]),d=ne(t);n.push(...[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef,d?.execution.javascript.module].flatMap(m=>m?[m]:[]));let r=new Map;for(let m of n){let g=t.files.find(o=>o.asset.id===m.id);if(!g||u(g.asset)!==u(m))throw new x("dataset_review_asset_mismatch",409);r.set(g.asset.id,g)}for(let m of[t.taskset.metadata.environmentResources,t.environment.metadata.resources])if(m!==void 0){if(!Array.isArray(m))throw new x("dataset_review_environment_resources_invalid",422);for(let g of m){if(!g||typeof g!="object"||!("path"in g))throw new x("dataset_review_environment_resources_invalid",422);let o=t.files.filter(b=>b.asset.path===g.path);if(o.length!==1)throw new x("dataset_review_environment_resource_ambiguous",422);r.set(o[0].asset.id,o[0])}}return[...r.values()]}T(Vt,"datasetTrainingReviewFiles");function Jt(s){let e=_(s),t=e.learningResources?j(e.taskset):null,a=t?.definition??e.modelResources?.taskDefinition,i=t?.binding??e.modelResources?.rewardBinding,n=a?.instructions??V(e),d=e.taskset.metadata.tasksetOutputContract,r=d&&typeof d=="object"&&!Array.isArray(d)&&"mode"in d&&d.mode==="structured_json"&&"jsonSchema"in d?W.parse(d.jsonSchema):null,m=a?.outputSchema??r;return _e.parse({schemaVersion:"openpond.datasetTrainingReviewSource.v1",dataset:f(e.taskset),packageHash:e.contentHash,taskCount:e.taskset.tasks.length,definition:{name:a?.name??e.taskset.id,...n?.trim()?{instructions:n}:{},...a?{inputSchema:a.inputSchema}:{},...m?{outputSchema:m}:{},...a?.requiredOutputs?{requiredOutputs:a.requiredOutputs}:{}},rewardBinding:i?f(i):null,hasParentTargets:e.learningResources?.decisions.some(g=>g.approvedTarget!==null)??!1})}T(Jt,"inspectDatasetTrainingReviewPackage");function Ne(s,e,t){return`dataset-review-${u([s,e,t])}`}T(Ne,"datasetTrainingReviewIdentity");function tt(s){let e=Pe.parse(s.request),t=_(s.package);if(t.contentHash!==e.packageHash||!$(f(t.taskset),e.dataset))throw new x("dataset_review_source_mismatch",409);let a=Ne(e.teamId,s.actorId,e.operationId),i=t.learningResources?j(t.taskset):null,n=i?.definition??t.modelResources?.taskDefinition,d=i?{binding:i.binding,rewards:i.rewards,assets:t.learningResources.assets}:t.modelResources?{binding:t.modelResources.rewardBinding,rewards:t.modelResources.rewards,assets:t.modelResources.assets}:null,r=s.graph??d;if(!r)throw new x("dataset_review_reward_required",422,"Select an exact saved Reward binding before importing this Dataset for review.");let m=e.rewardBindingRef??d?.binding;if(!m||!$(f(r.binding),m))throw new x("dataset_review_reward_mismatch",409);for(let c of[r.binding,...r.rewards,...r.assets])se(c);G(r.binding,r.rewards);let g=r.rewards.flatMap(c=>[...c.assets,..."verifierRef"in c.implementation?[c.implementation.verifierRef]:[],..."rubricRef"in c.implementation?[c.implementation.rubricRef]:[],..."inputContract"in c.implementation?[c.implementation.inputContract]:[]]),o=[...new Map(g.map(c=>{let S=r.assets.find(z=>z.id===c.id);if(!S||c.visibility==="policy")throw new x("dataset_review_reward_asset_missing",422);C(S,c);let M=t.files.find(z=>z.asset.id===c.id);if(M&&u(M.asset)!==u(c))throw new x("dataset_review_asset_conflict",409);return[S.id,S]})).values()],b=e.taskIds?new Set(e.taskIds):null,l=t.taskset.tasks.filter(c=>!b||b.has(c.id));if(!l.length||l.length>1e4||b&&l.length!==b.size)throw new x("dataset_review_selection_mismatch",409);if(e.targetSource==="approved_parent"&&!t.learningResources)throw new x("dataset_review_parent_targets_unavailable",422);let P=n?.familyNamespace??s.familyNamespace;if(!P)throw new x("dataset_review_family_required",422,"Resolve the Dataset's stable family before importing its versions.");let h=e.definition.instructions??n?.instructions??V(t);if(!h.trim())throw new x("dataset_review_instructions_required",422,"Provide the task instructions before importing this Dataset.");let I=t.taskset.metadata.tasksetOutputContract,v=I&&typeof I=="object"&&!Array.isArray(I)&&"mode"in I&&I.mode==="structured_json"&&"jsonSchema"in I?W.parse(I.jsonSchema):null,w=e.definition.outputSchema??n?.outputSchema??v;if(!w)throw new x("dataset_review_output_contract_required",422,"Provide the actual output contract for this Dataset; importing does not infer a target schema.");let{environmentRelease:q,verifierSetRelease:O,...k}=t.taskset,H=K.parse(D({schemaVersion:"openpond.taskDefinition.v1",id:`${a}-definition`,revision:1,name:e.definition.name??n?.name??t.taskset.id,description:n?.description??"",instructions:h,category:n?.category??"custom",familyNamespace:P,inputSchema:e.definition.inputSchema??n?.inputSchema??{type:"object"},outputSchema:w,...e.definition.requiredOutputs??n?.requiredOutputs?{requiredOutputs:e.definition.requiredOutputs??n?.requiredOutputs}:{},...n?.contextRequirements?{contextRequirements:n.contextRequirements}:{},harness:n?.harness??null,rewardBinding:f(r.binding),execution:{policy:{...k.policy,hiddenGraderRefs:N(r.binding,r.rewards).filter(c=>c.privileged).map(c=>c.id)},environment:k.environment,tools:k.tools,capabilities:k.capabilities}})),y=ee.parse(D({schemaVersion:"openpond.learningSource.v1",id:a,revision:1,name:`${H.name.slice(0,480)} review`,kind:"direct",taskDefinition:f(H),enabled:!0,allowedSplits:[...new Set(l.map(c=>c.split))],mapping:null,adapterVersion:null,datasetOrigin:{receiptId:a,packageHash:t.contentHash,taskset:f(t.taskset)}})),E=new Map(t.learningResources?.evidence.map(c=>[c.id,c])??[]),Q=new Map(t.learningResources?.decisions.map(c=>[u(c.evidence),c])??[]),Z=l.map(c=>{let S=E.get(c.id),M=S?.submission.evaluatorContext??at(t,c.privilegedContextRef),z={...c.policyVisibleContext,...e.definition.instructions===void 0?{}:{instructions:H.instructions}},Ue=e.definition.instructions!==void 0&&e.definition.instructions!==n?.instructions;return te.parse(D({schemaVersion:"openpond.taskEvidence.v1",id:ie(y.id,c.id,`dataset-${t.contentHash}`),revision:1,source:f(y),supersedes:S?f(S):null,correctionFeedbackId:null,receivedAt:s.now,submission:{schemaVersion:"openpond.taskExample.v1",sourceId:y.id,idempotencyKey:`${a}-${u(c.id)}`,taskDefinition:f(H),exampleId:c.id,attemptId:`dataset-${t.contentHash}`,occurredAt:S?.submission.occurredAt??s.now,familyKey:c.clusterKey,split:c.split,input:c.input,policyVisibleContext:z,observedOutput:!Ue&&S?S.submission.observedOutput:null,expected:c.expectedOutput,evaluatorContext:M,assets:c.artifactRefs,...c.requiredOutputs?{requiredOutputs:c.requiredOutputs}:{},provenance:{sourceRecordRef:JSON.stringify({dataset:e.dataset,taskId:c.id}),mappingHash:u({schemaVersion:"openpond.datasetTrainingReviewMapping.v1",dataset:e.dataset,packageHash:t.contentHash})}}}))}),p=Z.flatMap(c=>{let S=E.get(c.submission.exampleId),M=e.targetSource==="expected_output"?c.submission.expected:e.targetSource==="approved_parent"&&S?Q.get(u(f(S)))?.approvedTarget??null:null;if(M===null)return[];if(!ke(H.outputSchema,M).valid)throw new x("dataset_review_target_schema_mismatch",422,"A proposed Dataset target differs from the selected output contract. Import without proposals or provide the matching contract.");return[ae.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${u([y.id,c.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:y.id,idempotencyKey:`${y.id}-${u(c.id)}`,exampleId:c.submission.exampleId,attemptId:c.submission.attemptId,expectedEvidenceHash:c.contentHash,occurredAt:s.now,kind:"target_correction",value:M,note:"Dataset target proposal. Grade and review this exact evidence before admission."},status:"pending_review",evidence:f(c),createdAt:s.now,review:null})]});return{id:a,request:e,source:y,definition:H,binding:r.binding,rewards:r.rewards,assets:o,evidence:Z,proposals:p}}T(tt,"prepareDatasetTrainingReview");function at(s,e){if(!e)return null;let t=s.files.find(a=>a.asset.id===e);if(!t||t.asset.visibility!=="host_private")throw new x("dataset_review_private_context_missing",422);try{return W.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(F(t))))}catch{throw new x("dataset_review_private_context_unsupported",422,"This Dataset's private context is not an object envelope supported by the review engine.")}}T(at,"readPrivateContext");function Ke(s){let e=s.taskset.metadata.ordinaryAuthoring,t=R.record(R.string(),R.array(R.string().min(1)).max(1e5)).parse(e?.judgeCalibrationFixtures??{});return s.taskset.graders.map(a=>{let i={...a,label:a.id,metadata:{portableGrader:a}};if(a.kind==="custom_verifier")return L.parse({...i,module:a.verifierRef.path,exportName:a.exportName??"verify",metadata:{...i.metadata,portableVerifierRef:a.verifierRef}});if(a.kind==="human"||a.kind==="model_judge"){let n=s.files.find(m=>m.asset.id===a.rubricRef.id);if(!n)throw new Error(`Imported rubric is missing: ${a.id}.`);let d=new TextDecoder("utf-8",{fatal:!0}).decode(F(n)),r={...i.metadata,portableRubricRef:a.rubricRef};if(a.kind==="human")return L.parse({...i,rubric:d,metadata:r});if(!a.model)throw new Error(`Imported judge ${a.id} requires its declared model before local preparation.`);return L.parse({...i,rubric:d,metadata:r,judge:a.model,temperature:a.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:t[a.id]??[]})}return L.parse({...i,kind:a.kind==="artifact"?"file":a.kind,config:a.kind==="artifact"?{...a.config,...a.config.refIncludes===void 0?{}:{pathIncludes:a.config.refIncludes}}:a.config})})}T(Ke,"importedPackageGraders");function oe(s,e,t=[]){let a=G(s,e);return N(s,e).map(i=>{let n=a.find(({source:r})=>r.graderId===i.id).reward,d={...i,label:n.name,metadata:{rewardBinding:f(s)}};if(i.kind==="model_judge"){if(!i.model||i.calibrationStatus!=="passed"||!n.calibrationCheckRef||!n.fixtureSetRef)throw new Error(`Reward ${i.id} needs a retained passing calibration check before preparation.`);let r=t.find(o=>o.id===i.rubricRef.id),m=t.find(o=>o.id===n.fixtureSetRef.id);if(!r||!m)throw new Error(`Reward ${i.id} is missing its immutable rubric or calibration fixtures.`);let g=be.array().min(1).max(50).parse(JSON.parse(C(m,n.fixtureSetRef)));return L.parse({...d,rubric:C(r,i.rubricRef),judge:i.model,temperature:i.temperature??0,calibrationFixtureRefs:g.map(o=>o.id),metadata:{...d.metadata,portableGrader:i,portableRubricRef:i.rubricRef,calibrationEvidenceHash:n.calibrationCheckRef.contentHash,calibrationCheckRef:n.calibrationCheckRef}})}if(i.kind==="custom_verifier")return L.parse({...d,module:i.verifierRef.path,exportName:i.exportName??"verify",metadata:{...d.metadata,portableVerifierRef:i.verifierRef}});if(i.kind==="human"){let r=t.find(m=>m.id===i.rubricRef.id);if(!r)throw new Error(`Reward ${i.id} is missing its immutable rubric.`);return L.parse({...d,rubric:C(r,i.rubricRef),metadata:{...d.metadata,portableGrader:i,portableRubricRef:i.rubricRef}})}return L.parse({...d,kind:i.kind==="artifact"?"file":i.kind})})}T(oe,"projectLearningBatchGraders");function st(s){return`graders/reward-${s}.js`}T(st,"learningVerifierModule");function ba(s){let e=_(s.package),t=e.taskset,a=e.modelResources,i=e.learningResources?j(t):void 0,n=Be.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${u({profileId:s.profileId,packageHash:e.contentHash})}`,profileId:s.profileId,title:s.name,sourceHash:e.contentHash,occurredAt:s.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[e.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(e)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),d=Ce({profileId:s.profileId,id:`${t.id}-import`,name:s.name,now:s.createdAt}),r=[];for(let v of t.graders)if(v.kind==="custom_verifier"){let w=a?.assets.find(k=>k.id===v.verifierRef.id),q=e.files.find(k=>k.asset.id===v.verifierRef.id);if(!q)throw new Error(`Imported verifier source is missing: ${v.id}.`);let O=v.verifierRef.path;r.some(k=>k.path===O)||r.push({path:O,role:"verifier",content:w?C(w,v.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(F(q))})}let m=t.metadata.ordinaryAuthoring??t.metadata.starterAuthoring,g=je.array().max(1e5).parse(m?.graderFixtures??[]),o=t.environment.kind==="text"?"chat":t.environment.kind==="custom_program"?"program":t.environment.kind,b=R.record(R.string(),R.record(R.string(),R.string())).parse(t.metadata.workAssetStagingPaths??{}),l=De.array().max(1e4).parse(t.metadata.environmentResources??[]),P=l.filter(v=>v.visibility==="policy_visible").map(v=>{let w=e.files.filter(q=>q.asset.path===v.path);if(w.length!==1||w[0].asset.visibility!=="policy")throw new Error(`Policy environment resource requires one public package file: ${v.path}.`);return w[0].asset}),h=new Set(P.map(v=>v.id)),I=le.parse({schemaVersion:"openpond.taskset.v1",id:t.id,revision:t.revision,profileId:s.profileId,profileRelease:null,createImproveRunId:null,name:s.name,objective:V(e),status:"needs_review",sourceRefs:[n],datasetArtifact:null,policy:t.policy,environment:{...d.environment,kind:o,entrypoint:t.environment.entrypoint,resources:l,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(v=>v.name),defaultTimeoutMs:t.environment.defaultTimeoutMs,networkPolicy:t.environment.networkPolicy,metadata:{runtimeSourceTasksetId:it(s.profileId,e.contentHash),portableEnvironment:t.environment,portableTools:t.tools,portableExecutionResources:{environment:e.environment,verifierSet:e.verifierSet}}},capabilities:{...d.capabilities,taskKind:o==="chat"?"chat":o==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:t.tools.length>0,requiresState:t.environment.stateful,rewardKinds:[...new Set(t.graders.map(v=>v.kind==="human"?"human":v.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:t.tasks.map(v=>({...v,schemaVersion:"openpond.taskData.v1",sourceRefs:[n.id],assets:[...new Map([...v.artifactRefs,...(v.requiredOutputs??[]).flatMap(w=>w.submissionMode==="structured_json"&&w.schemaRef?[w.schemaRef]:[]),...P].map(w=>[w.id,w])).values()].map(w=>({id:w.id,sourceRefId:n.id,artifactRef:w.path,fileName:w.path.split("/").at(-1),...h.has(w.id)?{stagingPath:w.path}:b[v.id]?.[w.id]?{stagingPath:b[v.id][w.id]}:{},mediaType:w.mediaType,sha256:w.contentHash,sizeBytes:w.sizeBytes,split:v.split,metadata:{portableAsset:w,...h.has(w.id)?{sharedEnvironmentResource:{id:l.find(q=>q.path===w.path).id,path:w.path}}:{}}})),...v.requiredOutputs?{requiredOutputs:v.requiredOutputs.map(w=>({...w,schemaRef:w.schemaRef?.id??null,maxBytes:w.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:v,exampleOrigin:"imported"}})),graders:a?oe(a.rewardBinding,a.rewards,a.assets):i?oe(i.binding,i.rewards,e.learningResources.assets):Ke(e),graderFixtures:g,learningSignals:d.learningSignals,...t.metrics?{metrics:t.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:u("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[e.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:s.createdAt},readiness:null,contentHash:"00000000",createdAt:s.createdAt,updatedAt:s.createdAt,metadata:{importedPackageHash:e.contentHash,...t.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:t.metadata.tasksetOutputContract},...i?{learning:i}:{},portableFileInventory:e.files.map(v=>({asset:v.asset,sourcePath:v.asset.path})),...a?{taskDefinition:f(a.taskDefinition),rewardBinding:f(a.rewardBinding),rewardExecution:{binding:a.rewardBinding,rewards:a.rewards}}:{},portableCapabilities:t.capabilities,derivedPortableMetadata:t.metadata,...t.metadata.modelTasksetDerivation?{modelTasksetDerivation:t.metadata.modelTasksetDerivation}:{}}});return{package:e,taskset:le.parse({...I,contentHash:Ee(I)}),generatedFiles:r}}T(ba,"prepareImportedTasksetPackage");function it(s,e){return`package-${u({profileId:s,packageHash:e})}`}T(it,"tasksetPackageSourceId");var ge=R.object({draft:Y,filePaths:R.array(R.object({assetId:R.string().min(1),paths:R.array(Me).min(1).max(1e4)}).strict()).max(1e4)}).strict();function nt(s){let e=_(s.source),t=Y.parse(s.sourceDraft),a=He.parse(s.preparation);if(e.contentHash!==a.sourcePackageHash||!$(f(e.taskset),a.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(a.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=fe.parse(t.metadata.portableFileInventory??[]),n=T(o=>re(o)?`source-artifacts/${e.contentHash}/${u(o)}/${o.split("/").at(-1)}`:o,"sourcePath");if([...t.tasks.flatMap(o=>(o.assets??[]).map(b=>b.artifactRef)),...(t.environment.resources??[]).map(o=>o.path),...e.taskset.tasks.flatMap(o=>(o.requiredOutputs??[]).flatMap(b=>b.schemaRef?[b.schemaRef.path]:[])),...t.metrics.customAggregator?[t.metrics.customAggregator.module]:[],...t.graders.flatMap(o=>o.kind==="custom_verifier"?[o.module]:[])].some(re))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let r=e.files.map(o=>{let b=new Set([o.asset.path]);for(let l of i)l.asset.id===o.asset.id&&b.add(l.sourcePath);for(let l of t.tasks)for(let P of l.assets??[])P.id===o.asset.id&&b.add(P.artifactRef);for(let l of e.taskset.graders)if(l.kind==="custom_verifier"&&l.verifierRef.id===o.asset.id){let P=t.graders.find(h=>h.id===l.id);P?.kind==="custom_verifier"&&b.add(P.module)}return{assetId:o.asset.id,paths:[...b].map(n)}}),m={...t.metadata};if(e.modelResources)for(let o of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete m[o];let g=Y.parse({...t,id:a.draftId,revision:1,status:"draft",graders:t.graders.map(o=>({...o,metadata:{...o.metadata,portableGrader:e.taskset.graders.find(b=>b.id===o.id)}})),environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:a.lineage.owner.modelId,expectedModelRevision:s.expectedModelRevision,source:a},publishedTasksetRef:a.tasksetRevision>1?a.sourceTasksetRef:null,metadata:{...m,modelTasksetAuthoring:a.lineage,portableFileInventory:i.map(o=>({...o,sourcePath:n(o.sourcePath),asset:{...o.asset,id:re(o.sourcePath)?`source-artifact-${u({packageHash:e.contentHash,assetId:o.asset.id})}`:o.asset.id,path:n(o.asset.path)}}))}});return ge.parse({draft:g,filePaths:r})}T(nt,"prepareTasksetDraftSource");function rt(s){let e=ge.parse(s.initialized),t=_(s.source);if(e.draft.modelScope?.source?.sourcePackageHash!==t.contentHash)throw new Error("Taskset draft lost its source preparation.");let a=new Map;for(let n of e.filePaths){let d=t.files.find(r=>r.asset.id===n.assetId);if(!d)throw new Error("Taskset draft source asset is missing.");for(let r of n.paths){let m=a.get(r);if(m&&m.contentHash!==d.asset.contentHash)throw new Error("Taskset draft source paths conflict.");a.set(r,{path:r,contentHash:d.asset.contentHash,sizeBytes:d.asset.sizeBytes,base64:d.base64})}}for(let n of $e(e.draft))if(!a.has(n.relativePath)){let d=new TextEncoder().encode(n.source);a.set(n.relativePath,{path:n.relativePath,contentHash:he(d),sizeBytes:d.byteLength,base64:Buffer.from(d).toString("base64")})}let i=e.draft;if(i.metrics.customAggregator){let n=a.get(i.metrics.customAggregator.module);if(!n)throw new Error("Declared Taskset metric module is missing.");Oe(n),i=Y.parse({...i,metrics:{...i.metrics,customAggregator:{...i.metrics.customAggregator,contentHash:n.contentHash}}})}return Le({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:i,files:[...a.values()]})}T(rt,"materializeTasksetDraftWorkspace");export{Je as a,We as b,Xe as c,Ye as d,Qe as e,Ze as f,B as g,Fe as h,Dt as i,et as j,jt as k,Vt as l,Jt as m,Ne as n,tt as o,oe as p,st as q,ba as r,it as s,ge as t,nt as u,rt as v};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as S}from"./chunk-
|
|
2
|
+
import{a as S}from"./chunk-2GEZ3ZY7.js";import{Aa as K,Ba as N,Ca as G,F as U,_,e as b,g as L,ga as j,ha as q,i as z,ja as x,oa as T,wa as R,ya as D}from"./chunk-BYVE4TMU.js";import{k as w,l as I,m as u}from"./chunk-HIQPGYVH.js";import{E as A,P as O,Q as W}from"./chunk-3VT2PPKW.js";import{L as P}from"./chunk-ZEOYNUHL.js";import{v as E}from"./chunk-ZY32SZ2P.js";import{A as i}from"./chunk-X2J2P5ZT.js";import{a as d}from"./chunk-FTQLQJQV.js";var g=i.string().trim().min(1).max(500),y=i.string().regex(/^[a-f0-9]{64}$/),ce=O.pick({portableProjectId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,sourceRevision:!0,sourceUpdatedAt:!0}).extend({trainingSetup:A.omit({tasksetRef:!0,rewardBindingRef:!0,tasksetRelease:!0})}).strict(),de=i.object({schemaVersion:i.literal("openpond.tasksetPackagePublication.v1"),operationId:g,modelProjectId:g,expectedProjectEtag:y.nullable(),name:i.string().trim().min(1).max(200),description:i.string().max(5e3),buildIntent:i.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),methodHint:i.enum(["sft","dpo","grpo","ppo"]).nullable(),package:j,modelConfiguration:ce.optional(),evaluationPackage:j.optional(),selection:i.enum(["select","attach"]).optional()}).strict().refine(a=>a.selection!=="attach"||a.modelConfiguration===void 0,"Attachment-only publication cannot replace Model configuration.").refine(a=>!a.evaluationPackage||a.modelConfiguration!==void 0&&a.modelConfiguration.trainingSetup.evaluationTasksetRef!=null&&u(a.modelConfiguration.trainingSetup.evaluationTasksetRef)===u(P(a.evaluationPackage.taskset)),"Evaluation package must match the selected immutable evaluation in Model configuration."),le=i.object({schemaVersion:i.literal("openpond.tasksetPackageReceipt.v1"),teamId:g,modelProjectId:g,operationId:g,taskset:S,packageHash:y,hostedTasksetId:g,projectEtag:y,project:W.optional(),selection:i.enum(["select","attach"]).optional(),evaluation:i.object({taskset:S,packageHash:y,hostedTasksetId:g}).strict().optional()}).strict(),pe=i.object({schemaVersion:i.literal("openpond.tasksetPackageReadback.v1"),teamId:g,modelProjectId:g,package:j}).strict(),ue=i.object({schemaVersion:i.literal("openpond.tasksetReleasePackageReadback.v1"),teamId:g,release:S,package:j}).strict(),m=class extends Error{static{d(this,"OpenPondTasksetPackageError")}constructor(a,e,t){super(t),this.status=a,this.code=e,this.name="OpenPondTasksetPackageError"}status;code},He=class{static{d(this,"OpenPondTasksetPackageClient")}#e;constructor(a){let e=new URL(a.baseUrl);if(!["http:","https:"].includes(e.protocol)||e.username||e.password||e.search||e.hash||!a.apiKey.trim()||!a.teamId.trim())throw new Error("Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.");this.#e={...a,baseUrl:e.toString().replace(/\/+$/,"")}}async publish(a,e={}){let t=de.parse(a);x(t.package),t.evaluationPackage&&x(t.evaluationPackage);let{evaluationPackage:s,...r}=t,n=s?.contentHash===t.package.contentHash?r:t,o=le.parse(await this.#t("","POST",n,e.signal)),c=t.package.taskset;if(o.teamId!==this.#e.teamId||o.modelProjectId!==t.modelProjectId||o.operationId!==t.operationId||o.packageHash!==t.package.contentHash||o.taskset.id!==c.id||o.taskset.revision!==c.revision||o.taskset.contentHash!==c.contentHash)throw new m(502,"package_receipt_mismatch","Taskset publication receipt did not match the requested package and owner.");if(t.selection!==void 0&&o.selection!==t.selection)throw new m(502,"package_receipt_mismatch","Taskset publication did not retain its selection mode.");if(t.evaluationPackage&&(!o.evaluation||o.evaluation.packageHash!==t.evaluationPackage.contentHash||u(o.evaluation.taskset)!==u(P(t.evaluationPackage.taskset))))throw new m(502,"package_receipt_mismatch","Taskset publication did not retain the complete selected evaluation package.");if(t.selection==="attach"&&o.projectEtag!==t.expectedProjectEtag)throw new m(502,"package_receipt_mismatch","Attaching a historical Taskset changed the Model configuration.");if(t.modelConfiguration){let p=t.modelConfiguration,l=o.project,v=q(t.package),h=A.parse({...p.trainingSetup,tasksetRef:P(c),rewardBindingRef:v?P(v):null,tasksetRelease:null});if(!l||l.teamId!==this.#e.teamId||l.etag!==o.projectEtag||![l.id,l.portableProjectId].includes(t.modelProjectId)||l.portableProjectId!==p.portableProjectId||l.name!==p.name||l.objective!==p.objective||l.sourceRevision!==p.sourceRevision||Date.parse(l.sourceUpdatedAt)!==Date.parse(p.sourceUpdatedAt)||u(l.defaultBaseModel)!==u(p.defaultBaseModel)||l.defaultDestinationId!==p.defaultDestinationId||u(l.trainingSetup)!==u(h))throw new m(502,"package_receipt_mismatch","Taskset publication did not retain the requested Model configuration.")}return o}async getByRelease(a,e={}){let t=S.parse(a),s=e.expectedPackageHash===void 0?void 0:y.parse(e.expectedPackageHash),r=ue.parse(await this.#t(`/releases/${encodeURIComponent(t.id)}/${t.revision}/${t.contentHash}/package`,"GET",void 0,e.signal)),n=x(r.package),o={id:n.taskset.id,revision:n.taskset.revision,contentHash:n.taskset.contentHash};if(r.teamId!==this.#e.teamId||u(r.release)!==u(t)||u(o)!==u(t)||s!==void 0&&n.contentHash!==s)throw new m(502,"package_readback_mismatch","Independent Dataset package differs from the requested workspace or exact release.");return n}async get(a,e,t={}){let s=g.parse(a),r=S.parse(e),n=t.expectedPackageHash===void 0?void 0:y.parse(t.expectedPackageHash),o=pe.parse(await this.#t(`/${encodeURIComponent(s)}/${encodeURIComponent(r.id)}/${r.revision}/${r.contentHash}`,"GET",void 0,t.signal)),c=o.package.taskset;if(o.teamId!==this.#e.teamId||o.modelProjectId!==s||c.id!==r.id||c.revision!==r.revision||c.contentHash!==r.contentHash)throw new m(502,"package_readback_mismatch","Taskset package did not match the requested release and owner.");if(n!==void 0&&o.package.contentHash!==n)throw new m(502,"package_readback_mismatch","Taskset package did not match the saved publication receipt.");return x(o.package)}async#t(a,e,t,s){let r=t===void 0?void 0:JSON.stringify(t);if(r&&new TextEncoder().encode(r).byteLength>_)throw new m(413,"package_too_large","Taskset publication exceeds the 64 MiB envelope.");let n=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-packages${a}`,{method:e,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json",...r?{"Content-Type":"application/json"}:{}},body:r,signal:s,redirect:"error"}),o=n.body?.getReader();if(!o)throw new m(n.status,"empty_response","Taskset package response was empty.");let c=new TextDecoder("utf-8",{fatal:!0}),p=0,l="";try{for(;;){let h=await o.read();if(h.done)break;if(p+=h.value.byteLength,p>_)throw new m(413,"package_too_large","Taskset response exceeds the 64 MiB envelope.");l+=c.decode(h.value,{stream:!0})}l+=c.decode()}finally{await o.cancel(),o.releaseLock()}let v=JSON.parse(l);if(!n.ok){let h=i.object({code:i.string(),message:i.string()}).safeParse(v);throw new m(n.status,h.success?h.data.code:"package_request_failed",h.success?h.data.message:`Taskset package request failed (${n.status}).`)}return v}};var X=6e6,Y=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","tasks/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","metrics/policy.json","assets/manifest.json","environment/contract.json","environment/taskset.ts","rubrics/preference-review.md","comparisons/policy.json"]);function C(a){let e=b.parse(a);return!Y.has(e)&&!e.startsWith("source-artifacts/")}d(C,"isWritableTasksetDraftFilePath");function Q(a){return Y.has(b.parse(a))}d(Q,"isManagedTasksetDraftFilePath");function fe(a,e){let t=C(a);if(e.byteLength>X)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");let s;try{let r=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(e);s=/[\u0000-\u0008\u000e-\u001f]/.test(r)?J(e):{encoding:"utf8",data:r}}catch{s=J(e)}return{path:a,writable:t,content:s,sizeBytes:e.byteLength,contentHash:I(e)}}d(fe,"createTasksetDraftFile");function he(a){let e=L.parse(a),t;try{if(e.encoding==="utf8")t=new TextEncoder().encode(e.data);else{let s=atob(e.data);if(btoa(s)!==e.data)throw new Error("Noncanonical base64");t=new Uint8Array(s.length);for(let r=0;r<s.length;r++)t[r]=s.charCodeAt(r)}}catch{throw new Error("Taskset draft file content is invalid or exceeds 6 MB.")}if(t.byteLength>X)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");return t}d(he,"decodeTasksetDraftFileContent");function J(a){let e="";for(let t=0;t<a.length;t+=8192)e+=String.fromCharCode(...a.subarray(t,t+8192));return{encoding:"base64",data:btoa(e)}}d(J,"base64Content");function me(a){let e=[];a.output.renderer&&e.push({relativePath:a.output.renderer.module,source:`export async function ${a.output.renderer.exportName}(output: unknown) {
|
|
3
3
|
// Return artifact paths or bytes derived from the model's structured output.
|
|
4
4
|
return output;
|
|
5
5
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{E as m,c as I,f as H,v as d,w as r,x as j,y as s}from"./chunk-
|
|
2
|
+
import{E as m,c as I,f as H,v as d,w as r,x as j,y as s}from"./chunk-XKDOPNQ5.js";import{ga as p}from"./chunk-BYVE4TMU.js";import{Bb as R,Eb as P,lb as L,va as S,wb as y}from"./chunk-ZY32SZ2P.js";import{n as b}from"./chunk-RCT3O3HQ.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as E}from"./chunk-FTQLQJQV.js";var u=e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:e.string().trim().min(1),profileId:e.string().trim().min(1)}),N=e.object({ref:u,revision:e.string().nullable(),sourceHash:e.string()});var n=e.string().trim().min(1).max(200),o=e.string().regex(/^[a-f0-9]{64}$/),k=e.enum(["queued","running","cancelling","completed","failed","cancelled","interrupted"]),z=e.object({providerId:e.enum(["openpond","custom-openai-compatible","claude-code","codex"]),modelId:e.string().trim().min(1).max(500),configurationHash:o,maxOutputTokens:e.number().int().positive().max(262144),temperature:e.number().min(0).max(2).optional(),topP:e.number().positive().max(1).optional(),messages:e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(262144)}).strict()).max(200)}).strict(),Y=e.object({configuration:s,package:p}).strict(),Z=e.object({configuration:s,expectedPackageHash:o.optional()}).strict(),ee=e.object({schemaVersion:e.literal("openpond.localExperimentDefinition.v1"),location:e.literal("local"),id:n,teamId:n,ownerActorId:n,revision:e.number().int().positive(),configuration:s,model:z,packageHash:o,graders:e.array(r).min(1).max(100),availableGraders:e.array(r).min(1).max(1e3),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime(),contentHash:o}).strict(),te=e.object({operationId:n,definition:d}).strict(),ne=e.object({teamId:n,id:n}).strict(),oe=e.object({teamId:n,projectId:n.optional(),status:k.optional(),datasetHash:o.optional(),search:e.string().max(100).optional(),afterId:n.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),f=e.object({schemaVersion:e.literal("openpond.localExperimentExecution.v1"),location:e.literal("local"),id:n,teamId:n,ownerActorId:n,operationId:n,definition:d,kind:e.enum(["target","scoring"]),executionHash:o,sourceExecution:e.object({id:n,executionHash:o}).strict().nullable(),packageHash:o,maximumCostUsd:e.number().finite().positive(),status:k,createdAt:e.iso.datetime(),completedAt:e.iso.datetime().nullable(),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative(),unknown:e.number().int().nonnegative()}).strict(),usage:e.object({knownCostUsd:e.number().finite().nonnegative(),costUsd:e.number().finite().nonnegative().nullable(),heldUsd:e.number().finite().nonnegative(),uncertainRequests:e.number().int().nonnegative()}).strict(),cleanupComplete:e.boolean(),error:e.string().max(2e3).nullable()}).strict(),v=f.omit({definition:!0});function g(t,i){t.kind==="scoring"!=(t.sourceExecution!==null)&&i.addIssue({code:"custom",message:"Only retained scoring passes name an original execution."}),["completed","failed","cancelled","interrupted"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&i.addIssue({code:"custom",message:"Terminal local execution requires complete population accounting."}),["completed","cancelled"].includes(t.status)&&!t.cleanupComplete&&i.addIssue({code:"custom",message:"Successful completion or cancellation requires confirmed local transport cleanup."}),t.usage.uncertainRequests>0&&t.usage.costUsd!==null&&i.addIssue({code:"custom",message:"Uncertain provider charges cannot claim a measured total."})}E(g,"validateLocalExecutionState");var ie=f.superRefine(g),c=v.superRefine(g),A=e.object({configuration:m,package:p}).strict(),U=e.object({configuration:m,expectedPackageHash:e.string().regex(/^[a-f0-9]{64}$/).optional()}).strict(),x=e.object({configuration:m,model:z,packageHash:e.string().regex(/^[a-f0-9]{64}$/),graders:e.array(r).min(1).max(100),availableGraders:e.array(r).min(1).max(1e3),retainedConfigurationHash:e.string().regex(/^[a-f0-9]{64}$/).optional(),configurationHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,i)=>{let{configurationHash:a,...h}=t;b(h)!==a&&i.addIssue({code:"custom",message:"Local configuration snapshot bytes changed."})}),{definition:ae,...O}=f.shape,l=e.object({...O,kind:e.literal("target"),...x.shape}).strict().superRefine((t,i)=>{let a={configuration:t.configuration,model:t.model,packageHash:t.packageHash,graders:t.graders,availableGraders:t.availableGraders,...t.retainedConfigurationHash?{retainedConfigurationHash:t.retainedConfigurationHash}:{},configurationHash:t.configurationHash};g(t,i),x.safeParse(a).success||i.addIssue({code:"custom",message:"Local Experiment configuration changed."}),(t.operationId!==t.configuration.operationId||t.teamId!==t.configuration.request.teamId||t.maximumCostUsd!==t.configuration.maximumCostUsd)&&i.addIssue({code:"custom",message:"Local Experiment differs from its sealed admission."})}),q=e.object({items:e.array(l).max(100),nextCursor:e.string().nullable()}).strict(),G=e.object({teamId:e.string().min(1).max(200),id:e.string().min(1).max(200),configurationHash:e.string().regex(/^[a-f0-9]{64}$/).optional()}).strict(),T=e.object({operationId:n,execution:e.object({id:n,executionHash:o}).strict(),graderPackage:p,graders:e.array(j).min(1).max(100),maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),re=T.omit({graderPackage:!0}),D=L,F=e.object({sessionId:n,turnId:n,source:S,profileRef:u,admissionHash:o,modelConfigurationHash:o,traceHash:o,runtimeEventRefs:e.array(n).max(1e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),outputHash:o,partialOutputAvailable:e.boolean()}).strict(),w=e.object({receiptId:n,taskId:n,seed:e.string(),status:e.enum(["pending","running","completed","failed","cancelled","unknown"]),input:e.record(e.string(),e.unknown()),policyVisibleContext:e.record(e.string(),e.unknown()),output:e.string().nullable(),messages:e.array(e.unknown()).max(4002),grade:H.nullable(),error:e.string().nullable(),native:D.optional(),profileNative:F.optional(),externalProcess:I.optional()}).strict(),ce=e.object({execution:e.union([l,c]),cases:e.array(w).max(1e4),contentHash:o}).strict(),$=e.object({items:e.array(e.object({sequence:e.number().int().positive(),type:e.string().min(1),payload:e.unknown()}).strict()).max(500),nextCursor:e.number().int().positive().nullable()}).strict(),se=e.object({location:e.literal("local"),execution:e.union([l,c]),case:w,trace:$}).strict(),me=e.object({items:e.array(c).max(100),nextCursor:n.nullable()}).strict(),pe=e.object({execution:c,graders:e.array(r).min(1).max(100),graderPackageHash:o}).strict(),C=e.object({execution:c,manifest:y,result:R}).strict().superRefine((t,i)=>{try{if(P(t),t.manifest.id!==t.execution.id||t.manifest.teamId!==t.execution.teamId||t.manifest.lineage?.execution.id!==(t.execution.sourceExecution?.id??t.execution.id)||t.manifest.lineage.execution.contentHash!==(t.execution.sourceExecution?.executionHash??t.execution.executionHash)||t.manifest.lineage.scoringPassId!==(t.execution.kind==="scoring"?t.execution.id:null)||t.manifest.maximumCostUsd!==t.execution.maximumCostUsd)throw new Error("Portable evidence differs from its retained local execution.")}catch(a){i.addIssue({code:"custom",message:a instanceof Error?a.message:"Local portable evidence verification failed."})}}),le=e.object({location:e.literal("local"),baseline:C,candidate:C}).strict();export{u as a,l as b,ce as c,le as d};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as Me,b as Be}from"./chunk-
|
|
2
|
+
import{a as Me,b as Be}from"./chunk-CQRA5TXF.js";import{b as Te}from"./chunk-JVEIK4RH.js";import{c as Le}from"./chunk-AN525SPP.js";import{a as te,c as ae}from"./chunk-XLZMSD5K.js";import{a as _e,b as De}from"./chunk-SVLVIYH2.js";import{b as Oe}from"./chunk-YU3C6U5V.js";import{g as Ie,j as ne}from"./chunk-4V73I4OL.js";import{q as ee,r as xe,s as Pe,t as qe}from"./chunk-LE75SVEL.js";import{d as Se,f as Ae,h as Ce}from"./chunk-AJXWJLZA.js";import{n as D}from"./chunk-RCT3O3HQ.js";import{A as C}from"./chunk-X2J2P5ZT.js";import{a as o}from"./chunk-FTQLQJQV.js";function ze(e){let t=new Map,s=new Map,r=new Map,i=new Map(e.triggers.map(a=>[L(a),a])),u=new Map(e.observations.map(a=>[L(a),a])),c=new Map(e.outcomes.map(a=>[L(a.trigger),a]));return async a=>{let[p,f,R]=await Promise.all([d(a.runRef),m(a.runRef),e.store.getSession(a.runRef)]),A=f.slice().sort((S,x)=>S.startedAt.localeCompare(x.startedAt)),w=A.find(S=>S.id===a.turnId)??await e.store.getTurn(a.turnId),T=A.findIndex(S=>S.id===a.turnId),M=T>0?A.slice(0,T):[],F=M.slice(-e.limits.maxPrecedingTurns),$=tt(F,p,e.limits.maxConversationChars),W=p.filter(S=>S.turnId===a.turnId).filter(S=>["tool.completed","validation.completed","workspace_action_result"].includes(S.name)).filter(S=>S.status==="failed"||["validation.completed","workspace_action_result"].includes(S.name)),O=r.get(a.runRef);O||(O=await Me(R?.cwd),r.set(a.runRef,O));let g=e.sourcePolicies.get(a.runRef)??null,v=H(a),_=b(a),I=_.results,E={schemaVersion:"openpond.localHarnessDeepReviewContext.v1",binding:{ownerScope:e.workspace.ownerScope,workspaceId:e.workspace.id,sourceRef:a.runRef,sourceTurn:a.turnId,admittedHarness:a.harnessRelease,observation:Q(a),refinerOutcome:v?Q(v):null,sourcePolicy:g?{policy:g.policy,state:g.state,checkedAt:g.checkedAt}:null},conversation:{precedingTurns:$,currentTurn:w?We(w,p,2e3,6e3):null},artifactDiagnostics:O.slice(0,e.limits.maxArtifactDiagnostics),events:W.slice(-e.limits.maxContextEvents).map(nt),currentResult:v?l(v):null,laterResults:I,truncation:{availablePrecedingTurns:M.length,includedPrecedingTurns:$.length,precedingTurnsTruncated:M.length>$.length,conversationChars:rt($),availableContextEvents:W.length,includedContextEvents:Math.min(W.length,e.limits.maxContextEvents),availableArtifactDiagnostics:O.length,includedArtifactDiagnostics:Math.min(O.length,e.limits.maxArtifactDiagnostics),availableLaterResults:_.total,includedLaterResults:I.length,laterResultsTruncated:_.total>I.length,sessionMissing:R===null,turnMissing:w===null}};return{...E,contentHash:D(E)}};async function d(a){let p=t.get(a);if(p)return p;let f=await e.store.runtimeEventsForSession(a);return t.set(a,f),f}async function m(a){let p=s.get(a);if(p)return p;let f=await e.store.turnsForSession(a,500);return s.set(a,f),f}function H(a){for(let p of e.triggers)if(p.observations.some(f=>L(f)===L(a)))return c.get(L(p))??null;return null}function b(a){if(!a.deterministicClass)return{results:[],total:0};let f=e.outcomes.flatMap(R=>R.createdAt<=a.createdAt?[]:(i.get(L(R.trigger))?.observations.map(T=>u.get(L(T))).filter(T=>!!T)??[]).some(T=>T.deterministicClass===a.deterministicClass)?[l(R)]:[]).sort((R,A)=>String(R.createdAt).localeCompare(String(A.createdAt)));return{results:f.slice(0,e.limits.maxLaterResults),total:f.length}}function l(a){let p=a.proposal?e.applyReceipts.filter(w=>L(w.proposal)===L(a.proposal)):[],f=a.proposal?e.advanceReceipts.filter(w=>w.proposal&&L(w.proposal)===L(a.proposal)):[],R=new Set(f.map(w=>L(w))),A=e.advanceReceipts.filter(w=>w.rollbackOf&&R.has(L(w.rollbackOf)));return{outcome:Q(a),decision:a.decision,reason:N(a.reason,1500),proposal:a.proposal,createdAt:a.createdAt,applyReceipts:p.map(w=>({...Q(w),decision:w.decision,createdAt:w.createdAt})),advanceReceipts:f.map(w=>({...Q(w),decision:w.decision,previousRelease:w.previousRelease,nextRelease:w.nextRelease,createdAt:w.createdAt})),rollbackReceipts:A.map(w=>({...Q(w),decision:w.decision,rollbackOf:w.rollbackOf,nextRelease:w.nextRelease,createdAt:w.createdAt}))}}}o(ze,"createLocalHarnessDeepReviewContextLoader");function tt(e,t,s){if(!e.length||s<=0)return[];let r=Math.max(1,Math.floor(s/(e.length*2)));return e.map(i=>We(i,t,r,r))}o(tt,"boundedConversationTurns");function We(e,t,s,r){return{id:e.id,startedAt:e.startedAt,completedAt:e.completedAt,status:e.status,error:N(e.error??"",1e3),prompt:N(e.prompt,s),assistantOutput:N(st(t,e.id),r)}}o(We,"boundedTurn");function st(e,t){return e.filter(s=>s.turnId===t&&s.name==="assistant.delta").map(s=>s.output??"").join("")}o(st,"assistantOutputForTurn");function rt(e){return e.reduce((t,s)=>t+(typeof s.prompt=="string"?s.prompt.length:0)+(typeof s.assistantOutput=="string"?s.assistantOutput.length:0),0)}o(rt,"conversationCharacterCount");function nt(e){let t=$e(e.data),s=$e(t.result);return{id:e.id,name:e.name,action:e.action??(typeof t.tool=="string"?t.tool:null),status:e.status??null,error:N(e.error??"",750),output:N(typeof s.output=="string"?s.output:e.output??"",750),stderr:N(typeof s.stderr=="string"?s.stderr:"",750),exitCode:typeof s.exitCode=="number"?s.exitCode:null,timedOut:s.timedOut===!0}}o(nt,"boundedReviewEvent");function N(e,t){if(!e||t<=0)return null;let s=e.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer [redacted]").replace(/\b(api[_-]?key|access[_-]?token|auth(?:orization)?|password|secret)(\s*[:=]\s*)([^\s,;]+)/gi,"$1$2[redacted]");if(s.length<=t)return s;let r=`
|
|
3
3
|
[... middle omitted ...]
|
|
4
4
|
`;if(r.length>=t)return s.slice(0,t);let i=Math.max(0,t-r.length),u=Math.ceil(i/2),c=Math.floor(i/2);return`${s.slice(0,u)}${r}${s.slice(-c)}`}o(N,"boundedReviewText");function Q(e){return{id:e.id,contentHash:e.contentHash}}o(Q,"artifactRef");function L(e){return`${e.id}:${e.contentHash}`}o(L,"artifactKey");function $e(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}o($e,"asRecord");var at=2160*60*60*1e3;async function fe(e){let t=[],s=await e.store.listHarnessRefinementCandidates(e.workspace.id),r=e.upsertReviewClaim!==!1&&e.review.classification==="harness_maintenance"?e.review.claim?.fingerprint??null:null;for(let c of s){if(c.fingerprint===r)continue;let d=ot({...e,candidate:c});d&&(await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.workspace.id,...d}),t.push(d.receipt))}let i=null;if(e.upsertReviewClaim!==!1&&e.review.classification==="harness_maintenance"&&e.review.claim){let c=await e.store.getHarnessRefinementCandidateByFingerprint(e.workspace.id,e.review.claim.fingerprint),d=it({...e,candidate:c});d?(await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.workspace.id,...d}),t.push(d.receipt),i=d.candidate):i=c}let u=await e.store.listHarnessRefinementCandidates(e.workspace.id);return e.upsertReviewClaim===!1&&(i=u.find(c=>c.status==="confirmed"&&c.sourceReviews.some(d=>d.id===e.review.id&&d.contentHash===e.review.contentHash))??null),{activeCandidate:i,candidates:u,lifecycleReceipts:t}}o(fe,"reconcileLocalHarnessRefinementCandidates");async function Ue(e){if(!["unresolved","confirmed"].includes(e.candidate.status))return e.candidate;let t=ee({...we(e.candidate),sourceReviews:V([...e.candidate.sourceReviews,z(e.review)]),relatedHarnessReleases:V([...e.candidate.relatedHarnessReleases,...e.relatedHarnessRelease?[e.relatedHarnessRelease]:[]]),lastReviewedAt:e.now,updatedAt:e.now,resolution:null}),s=ie({before:e.candidate,candidate:t,review:e.review,decision:"merged",addedEvidence:[],removedEvidence:[],reason:e.reason,now:e.now});return await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.candidate.workspaceRef,...s}),t}o(Ue,"recordAppliedLocalHarnessRefinementCandidate");async function Fe(e){if(e.candidate.status!=="confirmed")throw new Error("Later-success resolution requires a confirmed candidate.");let t=e.review.harnessRelease,s=e.candidate.relatedHarnessReleases.at(-1);if(e.candidate.relatedHarnessReleases.length<2||!s||s.id!==t.id||s.contentHash!==t.contentHash)throw new Error("Later-success evidence is not bound to the candidate's applied Harness release.");let r=new Set(e.candidate.occurrences.map(d=>d.sourceRef)),i=e.evidence.filter(d=>!r.has(d.sourceRef));if(i.length===0)throw new Error("Later-success resolution requires evidence from an independent work source.");let u=ee({...we(e.candidate),status:"resolved",sourceReviews:V([...e.candidate.sourceReviews,z(e.review)]),lastReviewedAt:e.now,updatedAt:e.now,resolution:{kind:"later_success",reason:e.reason,evidenceRefs:V(i.map(d=>d.evidence)),resolvedAt:e.now}}),c=ie({before:e.candidate,candidate:u,review:e.review,decision:"resolved",addedEvidence:i,removedEvidence:[],reason:e.reason,now:e.now});return await e.store.saveHarnessRefinementCandidateTransition({workspaceId:e.candidate.workspaceRef,...c}),u}o(Fe,"resolveLocalHarnessRefinementCandidateFromLaterSuccess");function ot(e){if(!["unresolved","confirmed"].includes(e.candidate.status))return null;let t=[],s=oe(e.candidate.occurrences,e.sourcePolicies,t),r=oe(e.candidate.counterevidence,e.sourcePolicies,t),i=V([...e.candidate.sourceReviews,z(e.review)]),u=Date.parse(e.candidate.expiresAt)<=Date.parse(e.now),c=s.length===0,d=c?"rejected":u?"expired":t.length>0?"unresolved":e.candidate.status,m=c?"rejected":u?"expired":"merged";if(!(t.length>0||e.candidate.lastReviewedAt!==e.now||e.candidate.sourceReviews.length!==i.length)&&!u)return null;let b=c?"All supporting occurrences were revoked, deleted, expired, or unavailable at review time.":u?"The bounded candidate lifetime elapsed without sufficient confirming evidence.":"Candidate evidence was reauthorized against the current source policy set.",l=ee({...we(e.candidate),status:d,occurrences:s,counterevidence:r,sourceReviews:i,lastReviewedAt:e.now,updatedAt:e.now,expiresAt:u?e.now:e.candidate.expiresAt,resolution:c||u?{kind:c?"source_revoked":"expired",reason:b,evidenceRefs:t.map(a=>a.evidence),resolvedAt:e.now}:null});return ie({before:e.candidate,candidate:l,review:e.review,decision:m,addedEvidence:[],removedEvidence:t.map(a=>a.evidence),reason:b,now:e.now})}o(ot,"reauthorizeOrExpireCandidate");function it(e){let t=e.review.claim,s=e.candidate,r=[],i=s?oe(s.occurrences,e.sourcePolicies,r):[],u=s?oe(s.counterevidence,e.sourcePolicies,r):[],c=new Set(s&&["unresolved","confirmed"].includes(s.status)?i.map(f=>f.occurrenceKey):[]),d=e.review.selectedEvidence.filter(f=>!c.has(f.occurrenceKey));if(s&&d.length===0&&r.length===0&&["unresolved","confirmed"].includes(s.status))return null;let m=ct([...i,...e.review.selectedEvidence]),H=t.candidateDisposition==="confirm"?"confirmed":"unresolved",b=m.map(f=>f.occurredAt).sort()[0],l=m.map(f=>f.occurredAt).sort().at(-1),a=ee({schemaVersion:"openpond.harnessRefinementCandidate.v1",id:s?.id??`refinement-candidate-${t.fingerprint.slice(0,24)}`,ownerScope:e.workspace.ownerScope,workspaceRef:e.workspace.id,fingerprint:t.fingerprint,recurrenceFamily:t.recurrenceFamily,statement:t.statement,status:H,occurrences:m,counterevidence:u,sourceReviews:V([...s?.sourceReviews??[],z(e.review)]),relatedHarnessReleases:V([...s?.relatedHarnessReleases??[],e.review.harnessRelease]),firstSeenAt:b,lastSeenAt:l,lastReviewedAt:e.now,expiresAt:new Date(Date.parse(e.now)+at).toISOString(),resolution:null,createdAt:s?.createdAt??e.now,updatedAt:e.now}),p=s?["resolved","rejected","expired"].includes(s.status)?"reopened":"merged":"created";return ie({before:s,candidate:a,review:e.review,decision:p,addedEvidence:d,removedEvidence:r.map(f=>f.evidence),reason:p==="created"?"Created a bounded candidate from an authorized cross-Work Harness claim.":p==="reopened"?"New authorized evidence reopened the prior candidate.":"Merged new authorized evidence into the existing candidate.",now:e.now})}o(it,"upsertCandidateFromReview");function ie(e){let t=xe({schemaVersion:"openpond.harnessRefinementCandidateLifecycleReceipt.v1",id:`candidate-lifecycle-${D({candidate:z(e.candidate),review:z(e.review),decision:e.decision}).slice(0,24)}`,candidateId:e.candidate.id,decision:e.decision,beforeCandidate:e.before?z(e.before):null,afterCandidate:z(e.candidate),review:z(e.review),addedEvidence:e.addedEvidence,removedEvidence:e.removedEvidence,reason:e.reason,createdAt:e.now});return{candidate:e.candidate,receipt:t}}o(ie,"transition");function oe(e,t,s){return e.flatMap(r=>{let i=t.get(r.sourceRef);return!i||i.state!=="authorized"?(s.push(r),[]):[{...r,sourcePolicy:i}]})}o(oe,"reauthorizedEvidence");function ct(e){return[...new Map(e.map(t=>[t.occurrenceKey,t])).values()].sort((t,s)=>t.occurredAt.localeCompare(s.occurredAt)||t.occurrenceKey.localeCompare(s.occurrenceKey))}o(ct,"uniqueEvidence");function V(e){return[...new Map(e.map(t=>[`${t.id}:${t.contentHash}`,t])).values()]}o(V,"uniqueRefs");function z(e){return{id:e.id,contentHash:e.contentHash}}o(z,"artifactRef");function we(e){let{contentHash:t,...s}=e;return s}o(we,"withoutHash");var dt={memory:!0,prompt:!0,skill:!0,agent:!1};async function je(e){if(e.candidate.status!=="confirmed")return null;if(e.review.classification!=="harness_maintenance"||e.review.contentHash!==e.candidate.sourceReviews.at(-1)?.contentHash)throw new Error("Cross-run continuation requires the candidate's confirming Harness review.");let t=await e.store.getHarnessWorkspace(e.candidate.workspaceRef),s=t?.currentChannel.release??null;if(!t||t.location!=="local"||!s)throw new Error("Cross-run continuation requires an active Local Harness release.");let r=Pe({workspaceRef:t.id,candidateFingerprint:e.candidate.fingerprint,admittedHarness:s}),i=(e.now??(()=>new Date().toISOString()))(),u=qe({schemaVersion:"openpond.harnessCrossRunRefinementRequest.v1",id:`cross-run-refinement-${r.slice(0,24)}`,ownerScope:t.ownerScope,workspaceRef:t.id,candidate:ce(e.candidate),candidateFingerprint:e.candidate.fingerprint,review:ce(e.review),admittedHarness:s,evidence:e.candidate.occurrences,capabilities:dt,deduplicationKey:r,createdAt:i}),c=await e.store.saveHarnessCrossRunRefinementRequestIfAbsent({workspaceId:t.id,request:u});if(!c.created)return null;let d=await ut(e.store,t.id,c.request.evidence);if(d.length===0)throw new Error("Confirmed cross-run candidate has no verifiable source observations.");let m=`cross-run-${c.request.deduplicationKey.slice(0,24)}`,H=await Te({store:e.store,runId:m,workspace:t,harnessRelease:c.request.admittedHarness,admittedAt:c.request.createdAt}),b=lt({request:c.request,overlay:H,observations:d});await e.store.saveHarnessImprovementArtifact(t.id,"trigger_decision",b);let l=await Be({store:e.store,storeDir:e.storeDir,trigger:b,additionalEvidence:{reviewScope:"cross_run_candidate",request:c.request,candidate:e.candidate,review:e.review},reviewScope:"cross_run_candidate",stream:e.stream,signal:e.signal,now:e.now}),a=e.candidate;return l.applyReceipt?.decision==="applied"&&(a=await Ue({store:e.store,candidate:a,review:e.review,relatedHarnessRelease:l.workspace.currentChannel.release??null,reason:"The confirmed candidate produced a validated applied Harness change and now awaits independent outcome evidence.",now:(e.now??(()=>new Date().toISOString()))()})),{candidate:a,worker:l}}o(je,"continueConfirmedLocalHarnessCandidate");function lt(e){let t=e.observations.slice(0,100).map(ce);return Ie({schemaVersion:"openpond.refinementTriggerDecision.v1",id:`cross-run-trigger-${e.request.deduplicationKey.slice(0,24)}`,runRef:e.overlay.runId,turnId:`candidate-${e.request.candidate.id}`,harnessRelease:e.request.admittedHarness,overlay:{id:e.overlay.id,revision:e.overlay.revision,contentHash:e.overlay.contentHash},observations:t,decision:"queue_refiner",deterministicRoute:null,suggestedRoutes:[],reason:"A confirmed authorized cross-Work candidate is ready for one bounded Refiner continuation.",deduplicationKey:e.request.deduplicationKey,policy:{schemaVersion:"openpond.refinementTriggerPolicy.v1",maxEstimatedCostUsd:.05,cooldownMs:0,maxPendingPlans:1,maxEvidenceEvents:100,maxProposalEdits:4,maxProposalBytes:2e4},estimatedMaxCostUsd:.05,pendingPlanCount:0,boundary:{kind:"turn_completed",eventSequence:0,occurredAt:e.request.createdAt},cooldownUntil:null,createdAt:e.request.createdAt,metadata:{origin:"cross_run_candidate",crossRunRefinementRequest:ce(e.request),candidate:e.request.candidate}})}o(lt,"createCrossRunTrigger");async function ut(e,t,s){let[r,i,u,c]=await Promise.all([e.listHarnessImprovementArtifacts(t,"observation",1e3),e.listHarnessImprovementArtifacts(t,"trigger_decision",1e3),e.listHarnessImprovementArtifacts(t,"route_decision",1e3),e.listHarnessImprovementArtifacts(t,"refiner_outcome",1e3)]),d=new Map(r.map(a=>[B(a),a])),m=new Map(i.map(a=>[B(a),a])),H=new Map(u.map(a=>[B(a),a])),b=new Map(c.map(a=>[B(a),a])),l=new Map;for(let a of s){if(a.kind==="observation"){let R=d.get(B(a.evidence));R&&l.set(B(R),R);continue}let p=a.kind==="route_decision"?H.get(B(a.evidence))?.trigger:a.kind==="refiner_outcome"?b.get(B(a.evidence))?.trigger:null,f=p?m.get(B(p)):null;for(let R of f?.observations??[]){let A=d.get(B(R));A&&l.set(B(A),A)}}return[...l.values()].sort((a,p)=>a.createdAt.localeCompare(p.createdAt)||a.id.localeCompare(p.id))}o(ut,"resolveCandidateObservations");function ce(e){return{id:e.id,contentHash:e.contentHash}}o(ce,"artifactRef");function B(e){return`${e.id}:${e.contentHash}`}o(B,"artifactKey");var mt=C.object({sourceRef:C.string().trim().min(1),policy:C.object({id:C.string().trim().min(1),contentHash:C.string().regex(/^[a-f0-9]{64}$/)}).strict(),state:C.enum(["authorized","revoked","deleted","expired"]),checkedAt:C.string().datetime()}).strict(),vt=C.object({previousWatermark:Se.nullable().optional(),sourcePolicies:C.array(mt).max(1e4).default([]),limits:C.object({maxEvidence:C.number().int().min(1).max(1e3).default(200),maxTokens:C.number().int().min(1).max(1e6).default(5e4),maxDurationMs:C.number().int().min(1).max(3e5).default(24e4),maxEstimatedCostUsd:C.number().finite().nonnegative().default(.1),maxPrecedingTurns:C.number().int().min(0).max(10).default(3),maxConversationChars:C.number().int().min(0).max(1e5).default(12e3),maxContextEvents:C.number().int().min(1).max(100).default(12),maxArtifactDiagnostics:C.number().int().min(0).max(100).default(20),maxLaterResults:C.number().int().min(0).max(50).default(8)}).strict().default({maxEvidence:200,maxTokens:5e4,maxDurationMs:24e4,maxEstimatedCostUsd:.1,maxPrecedingTurns:3,maxConversationChars:12e3,maxContextEvents:12,maxArtifactDiagnostics:20,maxLaterResults:8})}).strict(),de=new WeakMap;function Qe(e){let t=de.get(e.store);if(t)return t;let s=pt(e).finally(()=>{de.get(e.store)===s&&de.delete(e.store)});return de.set(e.store,s),s}o(Qe,"reviewSelectedLocalHarnessEvaluation");async function pt(e){let t=vt.parse(e.request??{}),s=performance.now(),r=await ae(e.store);if(!r)throw new Error("No Local Harness release is selected for evaluation review.");let i=await e.store.getHarnessWorkspace(r.workspaceId);if(!i)throw new Error(`Selected Harness workspace ${r.workspaceId} does not exist.`);let[u,c,d,m,H,b,l,a]=await Promise.all([e.store.listHarnessImprovementArtifacts(i.id,"evaluation_review",1e3),e.store.listHarnessImprovementArtifacts(i.id,"route_decision",1e3),e.store.listHarnessImprovementArtifacts(i.id,"trigger_decision",1e3),e.store.listHarnessImprovementArtifacts(i.id,"observation",1e3),e.store.listHarnessImprovementArtifacts(i.id,"apply_receipt",1e3),e.store.listHarnessImprovementArtifacts(i.id,"refiner_outcome",1e3),e.store.listHarnessAdvanceReceipts(i.id),e.store.listHarnessRefinementCandidates(i.id)]),p=u[0]??null,f=t.previousWatermark??p?.nextWatermark??null,R=c,A=d,w=m,T=H,M=b,F=[...R,...w,...M];if(t.previousWatermark===void 0&&p&&!F.some(n=>n.createdAt>p.nextWatermark.throughCreatedAt)){let n=(e.now??(()=>new Date().toISOString()))(),y=await fe({store:e.store,workspace:i,review:p,sourcePolicies:new Map(t.sourcePolicies.map(k=>[k.sourceRef,J(k)])),now:n,upsertReviewClaim:!1});return await Ke({...e,candidate:y.activeCandidate,review:p}),p}let $=new Map(A.map(n=>[P(n),n])),Y=new Set(A.filter(n=>n.metadata.origin==="cross_run_candidate").map(P)),W=new Map(w.map(n=>[P(n),n])),O=new Map(t.sourcePolicies.map(n=>[n.sourceRef,n])),g=ze({store:e.store,workspace:i,sourcePolicies:O,observations:w,triggers:A,outcomes:M,applyReceipts:T,advanceReceipts:l,limits:{maxPrecedingTurns:t.limits.maxPrecedingTurns,maxConversationChars:t.limits.maxConversationChars,maxContextEvents:t.limits.maxContextEvents,maxArtifactDiagnostics:t.limits.maxArtifactDiagnostics,maxLaterResults:t.limits.maxLaterResults}}),v=[],_=[],I=new Set,E=new Set(R.map(n=>P(n.trigger)));for(let n of R){let y=$.get(P(n.trigger));if(!y){v.push({evidence:q(n),sourcePolicy:null,reason:"unverified"});continue}if(Y.has(P(y))){v.push({evidence:q(n),sourcePolicy:null,reason:"resolved"});continue}let k=y.observations.map(j=>W.get(P(j))).filter(j=>!!j);for(let j of k)I.add(P(j));_.push({id:`route_decision:${n.id}`,artifact:n,kind:"route_decision",sourceRef:k[0]?.runRef??y.runRef,payload:{routeDecision:n,trigger:y,observations:k,turnContexts:await Ve(k,g)}})}for(let n of M){if(E.has(P(n.trigger)))continue;let y=$.get(P(n.trigger));if(!y){v.push({evidence:q(n),sourcePolicy:null,reason:"unverified"});continue}if(Y.has(P(y))){v.push({evidence:q(n),sourcePolicy:null,reason:"resolved"});continue}let k=y.observations.map(K=>W.get(P(K))).filter(K=>!!K);for(let K of k)I.add(P(K));let j=n.proposal?T.filter(K=>P(K.proposal)===P(n.proposal)):[];_.push({id:`refiner_outcome:${n.id}`,artifact:n,kind:"refiner_outcome",sourceRef:k[0]?.runRef??y.runRef,payload:{outcome:n,trigger:y,observations:k,turnContexts:await Ve(k,g),applyReceipts:j}})}for(let n of w)I.has(P(n))||_.push({id:`observation:${n.id}`,artifact:n,kind:"observation",sourceRef:n.runRef,payload:{observation:n,turnContext:await g(n)}});let S=[],x=[],Z=0,ue=0;for(let n of _.slice().sort((y,k)=>y.artifact.createdAt.localeCompare(k.artifact.createdAt)||y.id.localeCompare(k.id))){if(performance.now()-s>=t.limits.maxDurationMs){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}if(f&&n.artifact.createdAt<=f.throughCreatedAt){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"before_watermark"});continue}if(Z>=t.limits.maxEvidence){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}Z+=1;let y=Math.ceil(JSON.stringify(n.payload).length/4);if(ue+y>t.limits.maxTokens){v.push({evidence:q(n.artifact),sourcePolicy:null,reason:"budget"});continue}ue+=y,x.push(n.artifact);let k=O.get(n.sourceRef);if(!k||k.state!=="authorized"){v.push({evidence:q(n.artifact),sourcePolicy:k?J(k):null,reason:k&&k.state!=="authorized"?k.state:"unverified"});continue}S.push(n)}let h={schemaVersion:"openpond.harnessEvaluationReviewModelDecision.v2",decision:"no_action",reason:"No authorized unresolved evidence qualified for model review.",ignoredEvidence:[]},G={promptTokens:0,completionTokens:0,totalTokens:0},se={selectedIds:null};if(S.length>0&&t.limits.maxEstimatedCostUsd===0){for(let n of S)v.push({evidence:q(n.artifact),sourcePolicy:J(O.get(n.sourceRef)),reason:"budget"});h={schemaVersion:"openpond.harnessEvaluationReviewModelDecision.v2",decision:"no_action",reason:"Continuous review is disabled by a zero model-cost ceiling.",ignoredEvidence:S.map(n=>({id:n.id,reason:"The configured model-cost ceiling is zero."}))}}else if(S.length>0){if(!e.stream)throw new Error("Harness continuous review requires a model stream.");h=await Ce({evidence:S.map(n=>({id:n.id,evidence:q(n.artifact),kind:n.kind,sourceRef:n.sourceRef,occurredAt:n.artifact.createdAt,payload:n.payload})),harnessRelease:q(r.harnessRelease),previousReviews:u.slice(0,20),candidates:a.map(n=>({id:n.id,fingerprint:n.fingerprint,statement:n.statement,status:n.status,occurrences:n.occurrences,relatedHarnessReleases:n.relatedHarnessReleases,resolution:n.resolution})),stream:o(async function*(n){let y=null;for await(let k of e.stream(n))k.usage&&(y=k.usage),yield k;y&&(G={promptTokens:G.promptTokens+y.promptTokens,completionTokens:G.completionTokens+y.completionTokens,totalTokens:G.totalTokens+y.totalTokens})},"stream"),signal:e.signal??new AbortController().signal,timeoutMs:t.limits.maxDurationMs,onNavigation:o(n=>{se.selectedIds=new Set(n.selectedEvidenceIds)},"onNavigation")})}let He=se.selectedIds?S.filter(n=>!se.selectedIds.has(n.id)):[];for(let n of He)v.push({evidence:q(n.artifact),sourcePolicy:J(O.get(n.sourceRef)),reason:"budget"});let me=h.decision==="review"||h.decision==="resolve_candidate"?h.selectedEvidenceIds.map(n=>{let y=S.find(k=>k.id===n);if(!y)throw new Error(`Review selected unavailable evidence ${n}.`);return y}):[],ve=h.decision==="review"?h.classification:"no_action",pe=me.map(n=>ft(n,O.get(n.sourceRef))),re=(e.now??(()=>new Date().toISOString()))(),Xe=new Set(He.map(n=>P(n.artifact))),he=x.filter(n=>!Xe.has(P(n))),ye=he.map(n=>n.createdAt).sort().at(-1),ke=ye?Ne(f?.throughCreatedAt,ye):Ne(f?.throughCreatedAt,re),Ee=D({previousCursor:f?.cursor??null,throughCreatedAt:ke,examined:he.map(q)}),et=`evaluation-review-${D({workspaceId:i.id,harnessRelease:r.harnessRelease,previousWatermark:f,cursor:Ee}).slice(0,24)}`,X=Ae({schemaVersion:"openpond.harnessEvaluationReviewReceipt.v1",id:et,ownerScope:i.ownerScope,workspaceRef:i.id,harnessRelease:q(r.harnessRelease),previousWatermark:f,nextWatermark:{cursor:Ee,throughCreatedAt:ke},selectedEvidence:pe,excludedEvidence:v,claim:h.decision==="review"?{fingerprint:D({schemaVersion:"openpond.harnessRefinementCandidateFingerprint.v1",classification:ve,triageLayer:h.triageLayer,recurrenceFamily:Rt(h.recurrenceFamily)}),recurrenceFamily:h.recurrenceFamily,statement:h.statement,...h.classification==="harness_maintenance"?{candidateDisposition:h.candidateDisposition}:{},independentOccurrences:new Set(me.map(n=>n.sourceRef)).size,unresolvedOccurrences:new Set(me.map(n=>n.sourceRef)).size}:null,classification:ve,triage:h.decision==="review"?[{layer:h.triageLayer,status:"unresolved",reason:h.reason,evidenceRefs:pe.map(n=>n.evidence)}]:[],reason:h.reason,nextAuthority:wt(ve),maxEstimatedCostUsd:t.limits.maxEstimatedCostUsd,tasksetProposal:null,evaluation:null,trainingQualification:null,policyVersion:"public-model-driven-harness-review-v1",createdAt:re,metadata:{examinedEvidence:Z,fullyReviewedEvidence:se.selectedIds?.size??S.length,estimatedTokens:ue,elapsedMs:performance.now()-s,explicitInvocation:!0,modelDecision:h.decision,modelConfidence:h.decision==="review"||h.decision==="resolve_candidate"?h.confidence:null,counterevidence:h.decision==="review"?h.counterevidence:null,expectedOutcome:h.decision==="review"?h.expectedOutcome:null,ignoredEvidence:h.ignoredEvidence,modelUsage:G}});await e.store.saveHarnessImprovementArtifact(i.id,"evaluation_review",X);let be=await fe({store:e.store,workspace:i,review:X,sourcePolicies:new Map(t.sourcePolicies.map(n=>[n.sourceRef,J(n)])),now:re});if(h.decision==="resolve_candidate"){let n=be.candidates.find(y=>y.id===h.candidateId&&y.fingerprint===h.candidateFingerprint);if(!n)throw new Error("Later-success decision referenced an unavailable candidate.");await Fe({store:e.store,candidate:n,review:X,evidence:pe,reason:h.reason,now:re})}return await Ke({...e,candidate:be.activeCandidate,review:X}),X}o(pt,"runSelectedLocalHarnessEvaluation");async function Ke(e){!e.continuation||e.candidate?.status!=="confirmed"||await je({store:e.store,storeDir:e.continuation.storeDir,candidate:e.candidate,review:e.review,stream:e.continuation.stream,signal:e.signal??new AbortController().signal,now:e.now})}o(Ke,"continueCandidateIfEnabled");function q(e){return{id:e.id,contentHash:e.contentHash}}o(q,"artifactRef");function P(e){return`${e.id}:${e.contentHash}`}o(P,"artifactKey");function J(e){return{policy:e.policy,state:e.state,checkedAt:e.checkedAt}}o(J,"sourcePolicyRef");function ft(e,t){return{evidence:q(e.artifact),kind:e.kind,sourceRef:e.sourceRef,sourcePolicy:J(t),occurrenceKey:D({evidence:q(e.artifact),sourceRef:e.sourceRef}),occurredAt:e.artifact.createdAt}}o(ft,"evidenceRef");function wt(e){return e==="runtime"?"runtime_service":e==="product"?"product_team":e==="taskset"||e==="harness_maintenance"?"human_review":e==="model_improvement"?"training_system":"none"}o(wt,"nextAuthority");function Ne(...e){return e.filter(t=>!!t).sort().at(-1)}o(Ne,"maxTimestamp");function Rt(e){return e.trim().toLocaleLowerCase("en-US").replace(/\s+/g," ")}o(Rt,"normalizeRecurrenceFamily");async function Ve(e,t){let s=new Map;for(let r of e)s.set(`${r.runRef}:${r.turnId}`,r);return Promise.all([...s.values()].map(t))}o(Ve,"uniqueTurnContexts");var Je="local-personal-work-v1";async function le(e){let t=await ae(e.store);if(!t||t.workspaceId!==e.workspaceId)throw new Error("Evaluation review requires the selected Personal Local Harness.");let s=await e.store.getHarnessWorkspace(e.workspaceId);if(!s||s.ownerScope.kind!=="personal"||s.location!=="local")throw new Error("Evaluation review requires the selected Personal Local Harness.");let[r,i]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",1e4),e.store.listHarnessImprovementArtifacts(e.workspaceId,"trigger_decision",1e4)]),u=new Set([...r.map(m=>m.runRef),...i.map(m=>m.runRef)]),c=(e.now??(()=>new Date().toISOString()))(),d=await Promise.all([...u].sort().map(async m=>{let H=await e.store.getSession(m);return{sourceRef:m,policy:{id:`source-policy-${D({workspaceId:e.workspaceId,sourceRef:m,policyVersion:Je}).slice(0,24)}`,contentHash:D({workspaceId:e.workspaceId,sourceRef:m,policyVersion:Je})},state:H?"authorized":"deleted",checkedAt:c}}));return Qe({store:e.store,request:{sourcePolicies:d,limits:{maxEvidence:200,maxTokens:5e4,maxDurationMs:24e4,maxEstimatedCostUsd:e.maxEstimatedCostUsd}},stream:e.stream,signal:e.signal,now:e.now,continuation:e.stream?{storeDir:e.storeDir,stream:e.stream}:void 0})}o(le,"reviewSelectedLocalHarnessEvaluationFromHost");var gt=15e3;function Re(e,t){if(e==="manual")return null;let s=new Date(t);return s.setUTCDate(s.getUTCDate()+(e==="daily"?1:7)),s.toISOString()}o(Re,"nextHarnessEvaluationReviewRunAt");function us(e){let t=null,s=null,r=e.now??(()=>new Date().toISOString());async function i(){return s||(s=(async()=>{let u=await e.store.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te});if(!u)return null;let c=await e.store.getHarnessEvaluationReviewSettings(u.id),d=r();if(!c.enabled&&!c.activityEnabled)return null;let m=c.enabled&&c.cadence!=="manual"&&!!c.nextRunAt&&c.nextRunAt<=d,H=c.activityEnabled&&await Ht({store:e.store,workspaceId:u.id,batchSize:c.activityBatchSize});if(!m&&!H)return null;let b={...c,nextRunAt:m?Re(c.cadence,d):c.nextRunAt,lastRunAt:d,lastError:null,updatedAt:d};await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:b});try{let l=await le({store:e.store,storeDir:e.storeDir,workspaceId:u.id,maxEstimatedCostUsd:c.maxEstimatedCostUsd,stream:e.stream,now:r});return await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:{...b,lastResult:{id:l.id,contentHash:l.contentHash,classification:l.classification},updatedAt:r()}}),e.logger?.info("Harness evaluation review schedule completed",{workspaceId:u.id,reviewId:l.id,classification:l.classification}),l}catch(l){let a=l instanceof Error?l.message:String(l);return await e.store.setHarnessEvaluationReviewSettings({workspaceId:u.id,settings:{...b,lastError:a,updatedAt:r()}}),e.logger?.warn("Harness evaluation review schedule failed",{workspaceId:u.id,error:a}),null}})().finally(()=>{s=null}),s)}return o(i,"runDueNow"),{start(){t||(t=setInterval(()=>{e.isClosing()||i()},e.tickMs??gt),t.unref?.(),i())},async stop(){t&&clearInterval(t),t=null,await s},runDueNow:i}}o(us,"createLocalHarnessEvaluationReviewScheduler");async function Ht(e){let[t,s]=await Promise.all([e.store.listHarnessImprovementArtifacts(e.workspaceId,"refiner_outcome",e.batchSize),e.store.listHarnessImprovementArtifacts(e.workspaceId,"evaluation_review",1)]),r=s[0]?.nextWatermark.throughCreatedAt??null;return t.filter(i=>!r||i.createdAt>r).length>=e.batchSize}o(Ht,"hasEventDrivenReviewBatch");import ge from"node:path";function Us(e){return{harnessHistoryPayload:o(()=>U(e.store),"harnessHistoryPayload"),updateHarnessBackgroundReviewPayload:o(t=>It({store:e.store,request:kt(t)}),"updateHarnessBackgroundReviewPayload"),reviewHarnessEvaluationPayload:o(t=>At({store:e.store,storeDir:e.storeDir,stream:e.evaluationReviewStream,request:ht(t)}),"reviewHarnessEvaluationPayload"),updateHarnessEvaluationReviewSchedulePayload:o(t=>Ct({store:e.store,request:yt(t)}),"updateHarnessEvaluationReviewSchedulePayload"),harnessDiffPayload:o(t=>qt({...e,request:Et(t)}),"harnessDiffPayload"),rollbackHarnessPayload:o(t=>_t({...e,request:bt(t)}),"rollbackHarnessPayload"),reviewHarnessProposalPayload:o(t=>Dt({...e,request:St(t)}),"reviewHarnessProposalPayload")}}o(Us,"createLocalHarnessSettingsRoutePayloads");function ht(e){if(!e||typeof e!="object")throw new Error("Harness evaluation review requires a workspace.");let t=e;if(typeof t.workspaceId!="string")throw new Error("Harness evaluation review requires a workspace.");if(t.maxEstimatedCostUsd!==void 0&&(typeof t.maxEstimatedCostUsd!="number"||!Number.isFinite(t.maxEstimatedCostUsd)||t.maxEstimatedCostUsd<0))throw new Error("Harness evaluation review cost must be a non-negative number.");return{workspaceId:t.workspaceId,maxEstimatedCostUsd:t.maxEstimatedCostUsd}}o(ht,"parseHarnessEvaluationReviewRequest");function yt(e){if(!e||typeof e!="object")throw new Error("Harness evaluation review schedule requires a workspace and cadence.");let t=e;if(typeof t.workspaceId!="string"||typeof t.enabled!="boolean"||typeof t.activityEnabled!="boolean"||typeof t.activityBatchSize!="number"||!Number.isInteger(t.activityBatchSize)||t.activityBatchSize<1||t.activityBatchSize>100||t.cadence!=="manual"&&t.cadence!=="daily"&&t.cadence!=="weekly"||typeof t.maxEstimatedCostUsd!="number"||!Number.isFinite(t.maxEstimatedCostUsd)||t.maxEstimatedCostUsd<0)throw new Error("Harness evaluation review schedule requires a valid workspace, cadence, and cost limit.");return{workspaceId:t.workspaceId,enabled:t.enabled,activityEnabled:t.activityEnabled,activityBatchSize:t.activityBatchSize,cadence:t.cadence,maxEstimatedCostUsd:t.maxEstimatedCostUsd}}o(yt,"parseHarnessEvaluationReviewScheduleRequest");function kt(e){if(!e||typeof e!="object")throw new Error("Harness background review requires a workspace and enabled state.");let t=e;if(typeof t.workspaceId!="string"||typeof t.enabled!="boolean")throw new Error("Harness background review requires a workspace and enabled state.");return{workspaceId:t.workspaceId,enabled:t.enabled}}o(kt,"parseHarnessBackgroundReviewRequest");function Ye(e,t){if(!e||typeof e!="object")throw new Error(`${t} requires an id and content hash.`);let s=e;if(typeof s.id!="string"||typeof s.contentHash!="string")throw new Error(`${t} requires an id and content hash.`);return{id:s.id,contentHash:s.contentHash}}o(Ye,"parseHarnessReleaseRef");function Et(e){if(!e||typeof e!="object")throw new Error("Harness release diff requires a workspace and target release.");let t=e;if(typeof t.workspaceId!="string")throw new Error("Harness release diff requires a workspace and target release.");return{workspaceId:t.workspaceId,baseRelease:t.baseRelease===null?null:Ye(t.baseRelease,"Harness base release"),targetRelease:Ye(t.targetRelease,"Harness target release")}}o(Et,"parseHarnessReleaseDiffRequest");function bt(e){if(!e||typeof e!="object")throw new Error("Harness rollback requires a workspace and target release.");let t=e,s=t.targetRelease;if(typeof t.workspaceId!="string"||!s||typeof s!="object")throw new Error("Harness rollback requires a workspace and target release.");let r=s;if(typeof r.id!="string"||typeof r.contentHash!="string")throw new Error("Harness rollback target requires an id and content hash.");return{workspaceId:t.workspaceId,targetRelease:{id:r.id,contentHash:r.contentHash}}}o(bt,"parseHarnessRollbackRequest");function St(e){if(!e||typeof e!="object")throw new Error("Harness review requires a workspace, proposal, and decision.");let t=e,s=t.proposal;if(typeof t.workspaceId!="string"||t.decision!=="approve"&&t.decision!=="decline"||!s||typeof s!="object")throw new Error("Harness review requires a workspace, proposal, and decision.");let r=s;if(typeof r.id!="string"||typeof r.contentHash!="string")throw new Error("Harness proposal review requires an id and content hash.");return{workspaceId:t.workspaceId,proposal:{id:r.id,contentHash:r.contentHash},decision:t.decision}}o(St,"parseHarnessProposalReviewRequest");async function U(e){let t=await e.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te});if(!t)return{workspace:null,backgroundReview:{enabled:!1,updatedAt:null},evaluationReviewSchedule:{enabled:!1,activityEnabled:!1,activityBatchSize:10,cadence:"manual",maxEstimatedCostUsd:0,nextRunAt:null,lastRunAt:null,lastResult:null,lastError:null,updatedAt:null},releases:[],changes:[],routes:[],evaluationReviews:[],refinementCandidates:[],modelImprovementQualifications:[],pendingReviews:[],memories:[]};let[s,r,i,u,c,d,m,H,b,l,a,p,f]=await Promise.all([e.getHarnessBackgroundReviewSettings(t.id),e.getHarnessEvaluationReviewSettings(t.id),e.listHarnessReleaseRecords(t.id),e.listHarnessAdvanceReceipts(t.id),e.listHarnessImprovementArtifacts(t.id,"proposal",1e3),e.listHarnessImprovementArtifacts(t.id,"targeted_validation",1e3),e.listHarnessImprovementArtifacts(t.id,"route_decision",1e3),e.listHarnessImprovementArtifacts(t.id,"evaluation_review",1e3),e.listHarnessRefinementCandidates(t.id),e.listHarnessImprovementArtifacts(t.id,"training_qualification",1e3),e.listHarnessImprovementArtifacts(t.id,"apply_receipt",1e3),e.listHarnessImprovementArtifacts(t.id,"refiner_outcome",1e3),e.listHarnessImprovementArtifacts(t.id,"trigger_decision",1e3)]),R=c,A=d,w=m,T=a,M=p,F=f,$=u.slice().reverse().map(g=>{let v=g.proposal?R.find(E=>E.id===g.proposal.id&&E.contentHash===g.proposal.contentHash)??null:null,_=v?M.find(E=>E.proposal?.id===v.id&&E.proposal.contentHash===v.contentHash)??null:null,I=_?F.find(E=>E.id===_.trigger.id&&E.contentHash===_.trigger.contentHash)??null:null;return{receipt:g,proposal:v,validations:v?A.filter(E=>E.proposal.id===v.id&&E.proposal.contentHash===v.contentHash):[],routeDecision:v?w.find(E=>E.metadata.proposalId===v.id)??null:null,applyReceipt:v?T.find(E=>E.proposal.id===v.id&&E.proposal.contentHash===v.contentHash)??null:null,outcome:_,trigger:I}}),Y=new Set($.flatMap(g=>g.routeDecision?[g.routeDecision.id]:[])),W=w.filter(g=>!Y.has(g.id)).map(g=>{let v=F.find(I=>I.id===g.trigger.id&&I.contentHash===g.trigger.contentHash)??null,_=M.find(I=>I.trigger.id===g.trigger.id&&I.trigger.contentHash===g.trigger.contentHash)??null;return{decision:g,trigger:v,outcome:_}}),O=R.reduce((g,v)=>{let I=T.filter(x=>x.proposal.id===v.id&&x.proposal.contentHash===v.contentHash).sort((x,Z)=>Z.createdAt.localeCompare(x.createdAt))[0]??null;if(!I||I.decision!=="retained")return g;let E=M.find(x=>x.proposal?.id===v.id&&x.proposal.contentHash===v.contentHash)??null,S=E?F.find(x=>x.id===E.trigger.id&&x.contentHash===E.trigger.contentHash)??null:null;return g.push({proposal:v,validations:A.filter(x=>x.proposal.id===v.id&&x.proposal.contentHash===v.contentHash),applyReceipt:I,outcome:E,trigger:S}),g},[]);return{workspace:t,backgroundReview:s,evaluationReviewSchedule:r,releases:i.map(g=>({id:g.harnessRelease.id,contentHash:g.harnessRelease.contentHash,sourceRevision:g.sourceRevision,createdAt:g.createdAt,current:t.currentChannel.release?.contentHash===g.harnessRelease.contentHash,files:g.harnessRelease.files.map(v=>({id:v.id,path:v.path,contentHash:v.contentHash,sizeBytes:v.sizeBytes,mediaType:v.mediaType}))})),changes:$,routes:W,evaluationReviews:H,refinementCandidates:b,modelImprovementQualifications:l,pendingReviews:O,memories:await e.listHarnessMemories(t.id)}}o(U,"localHarnessHistoryPayload");async function At(e){let t=await e.store.getHarnessEvaluationReviewSettings(e.request.workspaceId),s=await le({store:e.store,storeDir:e.storeDir,workspaceId:e.request.workspaceId,maxEstimatedCostUsd:e.request.maxEstimatedCostUsd??t.maxEstimatedCostUsd,stream:e.stream}),r=new Date().toISOString();return await e.store.setHarnessEvaluationReviewSettings({workspaceId:e.request.workspaceId,settings:{...t,lastRunAt:r,lastResult:{id:s.id,contentHash:s.contentHash,classification:s.classification},lastError:null,updatedAt:r}}),{receipt:s,history:await U(e.store)}}o(At,"reviewLocalHarnessEvaluationFromSettings");async function Ct(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal"||t.location!=="local")throw new Error("Evaluation review schedule requires the selected Personal Local Harness.");if((await e.store.getSelectedHarnessWorkspace({ownerKind:"personal",ownerId:te}))?.id!==t.id)throw new Error("Evaluation review schedule requires the selected Personal Local Harness.");let r=await e.store.getHarnessEvaluationReviewSettings(t.id),i=new Date().toISOString(),u=e.request.enabled&&e.request.cadence!=="manual";return await e.store.setHarnessEvaluationReviewSettings({workspaceId:t.id,settings:{...r,enabled:u,activityEnabled:e.request.activityEnabled,activityBatchSize:e.request.activityBatchSize,cadence:e.request.cadence,maxEstimatedCostUsd:e.request.maxEstimatedCostUsd,nextRunAt:u?Re(e.request.cadence,i):null,lastError:null,updatedAt:i}}),{history:await U(e.store)}}o(Ct,"updateLocalHarnessEvaluationReviewScheduleFromSettings");async function It(e){let t=await e.store.getHarnessWorkspace(e.request.workspaceId);if(!t||t.ownerScope.kind!=="personal"||t.location!=="local")throw new Error("Background review settings require the selected Personal Local Harness.");return await e.store.setHarnessBackgroundReviewSettings({workspaceId:t.id,enabled:e.request.enabled,updatedAt:new Date().toISOString()}),{history:await U(e.store)}}o(It,"updateLocalHarnessBackgroundReviewFromSettings");async function Ze(e){let t=await e.store.getHarnessReleaseRecord(e.release.contentHash);if(!t||t.workspaceId!==e.workspaceId||t.harnessRelease.id!==e.release.id||t.harnessRelease.contentHash!==e.release.contentHash)throw new Error(`${e.label} is unavailable or hash-mismatched.`);return t}o(Ze,"requireHarnessReleaseRecord");function Ge(e,t){let s=ge.resolve(e.bundlePath,"source"),r=ge.resolve(s,...t.split("/"));if(r!==s&&!r.startsWith(`${s}${ge.sep}`))throw new Error(`Harness release contains an unsafe file path: ${t}.`);return r}o(Ge,"releaseSourcePath");function xt(e){return e.patch.split(`
|
|
5
5
|
`).map(t=>t.startsWith("diff --git ")?`diff --git a/${e.filePath} b/${e.filePath}`:t.startsWith("--- ")?e.baseExists?`--- a/${e.filePath}`:"--- /dev/null":t.startsWith("+++ ")?e.targetExists?`+++ b/${e.filePath}`:"+++ /dev/null":t).join(`
|