openpond 0.2.67 → 0.2.69
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.d.ts +668 -1
- package/dist/app-server.js +1 -1
- package/dist/chunks/account-context-V3KLSNKS.js +12 -0
- package/dist/chunks/{acp-NASAJV5E.js → acp-ER6CUXG2.js} +1 -1
- package/dist/chunks/{acp-agent-C3CRF6DT.js → acp-agent-AYJ5RPVF.js} +1 -1
- package/dist/chunks/actions-command-BBUS3HDK.js +2 -0
- package/dist/chunks/{app-layer-XIEZ6ALX.js → app-layer-JCEWGUDH.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-IB6M35NS.js → app-server-connected-apps-ILXBFD3S.js} +1 -1
- package/dist/chunks/app-server-evaluations-RRLYWLPK.js +2 -0
- package/dist/chunks/app-server-harness-services-XXM336NU.js +2 -0
- package/dist/chunks/app-server-runtime-43MCH5SY.js +2 -0
- package/dist/chunks/apps-VNFGMQFG.js +2 -0
- package/dist/chunks/{chunk-W3ZILZUL.js → chunk-22RLEU3Q.js} +1 -1
- package/dist/chunks/chunk-2PXKSAG6.js +2 -0
- package/dist/chunks/{chunk-XEU4J4GJ.js → chunk-2TGHZXJE.js} +2 -2
- package/dist/chunks/{chunk-AXO6OHJB.js → chunk-3A2Y7UK3.js} +1 -1
- package/dist/chunks/chunk-3Z4VM2LF.js +4 -0
- package/dist/chunks/{chunk-V3T2OJBZ.js → chunk-4BUM6JEC.js} +2 -2
- package/dist/chunks/chunk-4G3GTEVS.js +23 -0
- package/dist/chunks/{chunk-43QYVOYA.js → chunk-4KNPCJR4.js} +1 -1
- package/dist/chunks/chunk-4KTGYHCE.js +2 -0
- package/dist/chunks/chunk-4PUOWSDE.js +13 -0
- package/dist/chunks/chunk-55YD4UTW.js +2 -0
- package/dist/chunks/chunk-5G7BQAUA.js +2 -0
- package/dist/chunks/chunk-65FJWWXG.js +2 -0
- package/dist/chunks/{chunk-4EZI4KCT.js → chunk-65WRWLUD.js} +1 -1
- package/dist/chunks/chunk-6D3FI2XT.js +2 -0
- package/dist/chunks/chunk-7EQLW2KM.js +12 -0
- package/dist/chunks/{chunk-5TPYBXWM.js → chunk-7NCM6GBN.js} +1 -1
- package/dist/chunks/chunk-7OFD6TFD.js +2 -0
- package/dist/chunks/chunk-7OKZCJHS.js +3 -0
- package/dist/chunks/{chunk-ADOCQA4D.js → chunk-7PKDJHT6.js} +1 -1
- package/dist/chunks/chunk-7RJOCGQ6.js +2 -0
- package/dist/chunks/{chunk-YR5URT73.js → chunk-7RSQOC5M.js} +3 -3
- package/dist/chunks/{chunk-FVK4W27G.js → chunk-AFH462DO.js} +1 -1
- package/dist/chunks/{chunk-GUG2SWRZ.js → chunk-AFKFN25T.js} +1 -1
- package/dist/chunks/chunk-AFYYIJ6K.js +2 -0
- package/dist/chunks/{chunk-U3MVH2YT.js → chunk-APKXXAUF.js} +1 -1
- package/dist/chunks/chunk-AQUZCWM3.js +2 -0
- package/dist/chunks/chunk-AUO5DCEU.js +2 -0
- package/dist/chunks/chunk-AYOMVI7J.js +2 -0
- package/dist/chunks/{chunk-RWRKUO5D.js → chunk-B66QCXH2.js} +1 -1
- package/dist/chunks/chunk-BDZDWHBJ.js +6 -0
- package/dist/chunks/chunk-BU6MW65V.js +10 -0
- package/dist/chunks/{chunk-P6NQYXN6.js → chunk-CCZ276IA.js} +1 -1
- package/dist/chunks/{chunk-YONDU5TN.js → chunk-CIZI6Z7D.js} +1 -1
- package/dist/chunks/{chunk-ATFV2NA4.js → chunk-CO23RRN7.js} +1 -1
- package/dist/chunks/{chunk-QAFXQHHG.js → chunk-D6L6UNUQ.js} +2 -2
- package/dist/chunks/chunk-DDOIPTOM.js +2 -0
- package/dist/chunks/{chunk-CSU7RDA5.js → chunk-DKOVZ6R2.js} +3 -3
- package/dist/chunks/chunk-DRLP7GIU.js +2 -0
- package/dist/chunks/{chunk-XDFXKRTI.js → chunk-DWF3FCY4.js} +1 -1
- package/dist/chunks/chunk-DXJC3QW7.js +2 -0
- package/dist/chunks/{chunk-IDILAYCW.js → chunk-E2JB5OCO.js} +1 -1
- package/dist/chunks/{chunk-GI7LTJV3.js → chunk-EDYCSW22.js} +1 -1
- package/dist/chunks/{chunk-4JYTFEND.js → chunk-EFP75UEX.js} +1 -1
- package/dist/chunks/{chunk-CX7HKSQ4.js → chunk-EGP6DF34.js} +2 -2
- package/dist/chunks/{chunk-D5OFN47Z.js → chunk-ESYPMD7Q.js} +1 -1
- package/dist/chunks/{chunk-36FNNR5N.js → chunk-EWDDDHJN.js} +1 -1
- package/dist/chunks/{chunk-PWKJ5KLZ.js → chunk-EXYSD45J.js} +1 -1
- package/dist/chunks/{chunk-R6VI7MX5.js → chunk-EYTTZ5H4.js} +1 -1
- package/dist/chunks/{chunk-WD6ANOLL.js → chunk-FNGZ4UDZ.js} +1 -1
- package/dist/chunks/{chunk-YKTJPCYZ.js → chunk-G4FRBT7G.js} +4 -4
- package/dist/chunks/{chunk-JFZ6USNQ.js → chunk-G7X73SBG.js} +1 -1
- package/dist/chunks/{chunk-ULJZ7NUF.js → chunk-GY7YSD6J.js} +1 -1
- package/dist/chunks/{chunk-CWAQOFLP.js → chunk-GYYJ47GX.js} +1 -1
- package/dist/chunks/chunk-HG2YFMVU.js +4 -0
- package/dist/chunks/{chunk-YQBL5P6R.js → chunk-HKVFU3B3.js} +1 -1
- package/dist/chunks/{chunk-VEXJV5H5.js → chunk-IIT66347.js} +4 -4
- package/dist/chunks/{chunk-B2K5WQZE.js → chunk-IO5DZUKL.js} +1 -1
- package/dist/chunks/chunk-J256AEEE.js +2 -0
- package/dist/chunks/{chunk-CRDKBFRN.js → chunk-JEMECEQH.js} +1 -1
- package/dist/chunks/{chunk-YMCF5GR2.js → chunk-JQOVC35K.js} +1 -1
- package/dist/chunks/{chunk-6LFTQBXP.js → chunk-JT5YQ52I.js} +1 -1
- package/dist/chunks/chunk-JVMSN7LH.js +2 -0
- package/dist/chunks/{chunk-HORMGT2Q.js → chunk-JXYJQT5Q.js} +1 -1
- package/dist/chunks/{chunk-WDKZMXIU.js → chunk-K7KBFM2T.js} +1 -1
- package/dist/chunks/{chunk-UBTP3QWI.js → chunk-KCLMA2IH.js} +1 -1
- package/dist/chunks/chunk-KDER7R45.js +2 -0
- package/dist/chunks/{chunk-R6MMWEH4.js → chunk-KP2MYTP5.js} +1 -1
- package/dist/chunks/{chunk-TV2LE2BD.js → chunk-KU4TPDPH.js} +2 -2
- package/dist/chunks/{chunk-WJSJXK2N.js → chunk-KUE46HTH.js} +1 -1
- package/dist/chunks/chunk-LSKMALD6.js +161 -0
- package/dist/chunks/chunk-LVXL7T5O.js +2 -0
- package/dist/chunks/{chunk-TSQ2I6XV.js → chunk-M4A7G4S5.js} +2 -2
- package/dist/chunks/{chunk-MX7KV5DA.js → chunk-M4ZHFDRJ.js} +1 -1
- package/dist/chunks/chunk-M5X7XKXY.js +12 -0
- package/dist/chunks/{chunk-XT5WUQGT.js → chunk-MIFVX5PK.js} +1 -1
- package/dist/chunks/{chunk-4VZJQRQI.js → chunk-MOXIGLN2.js} +1 -1
- package/dist/chunks/{chunk-UKSSFB4Q.js → chunk-N5EAVX4G.js} +1 -1
- package/dist/chunks/{chunk-4B7EGNYX.js → chunk-NMMHXYDJ.js} +1 -1
- package/dist/chunks/{chunk-EBOTNBUS.js → chunk-NRYC4NH6.js} +1 -1
- package/dist/chunks/chunk-NSSZ2ZIU.js +2 -0
- package/dist/chunks/chunk-NW6WGGSL.js +2 -0
- package/dist/chunks/{chunk-7P5SH3CI.js → chunk-NZDLL6JN.js} +1 -1
- package/dist/chunks/{chunk-4TTXNVCE.js → chunk-OFJPOTES.js} +1 -1
- package/dist/chunks/chunk-OUJ63LMU.js +2 -0
- package/dist/chunks/{chunk-SD2XDZQW.js → chunk-P4QM63L3.js} +1 -1
- package/dist/chunks/chunk-PACLKDTN.js +2 -0
- package/dist/chunks/{chunk-VPAEFG7X.js → chunk-PAYFJHPO.js} +1 -1
- package/dist/chunks/{chunk-OPTJYDZN.js → chunk-PHZZBXDO.js} +1 -1
- package/dist/chunks/{chunk-HPTEJBP4.js → chunk-PKJHN666.js} +1 -1
- package/dist/chunks/{chunk-HNDAGZCF.js → chunk-PLROXHG2.js} +1 -1
- package/dist/chunks/{chunk-UNE52L3Y.js → chunk-PNPV2LDE.js} +1 -1
- package/dist/chunks/{chunk-2RSGVLZT.js → chunk-PSY6IRJE.js} +8 -8
- package/dist/chunks/{chunk-SVNEPXU3.js → chunk-Q73RKX7I.js} +1 -1
- package/dist/chunks/{chunk-IF5A3XWP.js → chunk-Q7FBVLLB.js} +1 -1
- package/dist/chunks/{chunk-V5AOM5MZ.js → chunk-Q7P34B2O.js} +1 -1
- package/dist/chunks/{chunk-375PADDM.js → chunk-QLGP2OAQ.js} +1 -1
- package/dist/chunks/{chunk-QQLS5FB7.js → chunk-QUNQM2E3.js} +1 -1
- package/dist/chunks/chunk-R2FYCJL6.js +2 -0
- package/dist/chunks/{chunk-6HQUIKC5.js → chunk-R4EEGWXB.js} +1 -1
- package/dist/chunks/chunk-R6I623SZ.js +11 -0
- package/dist/chunks/chunk-RCQYEHHD.js +2 -0
- package/dist/chunks/{chunk-26ID6A5C.js → chunk-RCRZXHAI.js} +1 -1
- package/dist/chunks/{chunk-TGULVWPV.js → chunk-RFQD6B44.js} +1 -1
- package/dist/chunks/{chunk-3WJQ4IGK.js → chunk-RPM4FDRX.js} +1 -1
- package/dist/chunks/{chunk-MCBRB5D6.js → chunk-RY46UPBO.js} +4 -4
- package/dist/chunks/{chunk-K3LS5SK7.js → chunk-SDHG6CKU.js} +1 -1
- package/dist/chunks/{chunk-XKZ4PFMQ.js → chunk-SO4GMSNP.js} +1 -1
- package/dist/chunks/{chunk-O6ZYDHEJ.js → chunk-SSHE6B7Z.js} +1 -1
- package/dist/chunks/{chunk-SH7POUVX.js → chunk-SV7ZBEK2.js} +6 -6
- package/dist/chunks/{chunk-SODAOLAP.js → chunk-TB5P3FWM.js} +1 -1
- package/dist/chunks/{chunk-BJXPQIVD.js → chunk-U7D6Q744.js} +1 -1
- package/dist/chunks/chunk-U7X5ZLAL.js +2 -0
- package/dist/chunks/{chunk-N54CPLVD.js → chunk-UANH7U3Y.js} +1 -1
- package/dist/chunks/{chunk-BUZ7CBJC.js → chunk-UGFSAG4U.js} +1 -1
- package/dist/chunks/chunk-ULTV6INR.js +2 -0
- package/dist/chunks/{chunk-V3ILZQER.js → chunk-UMAVVMXL.js} +7 -7
- package/dist/chunks/chunk-V24VHT76.js +2 -0
- package/dist/chunks/chunk-VEBW7NKD.js +2 -0
- package/dist/chunks/chunk-VJR2GNRY.js +2 -0
- package/dist/chunks/{chunk-JD76ANPN.js → chunk-VJYOKU3C.js} +1 -1
- package/dist/chunks/{chunk-H2XG5N7D.js → chunk-VWWKWYSQ.js} +1 -1
- package/dist/chunks/chunk-WCNPGKST.js +2 -0
- package/dist/chunks/chunk-WD4KAKEX.js +2 -0
- package/dist/chunks/chunk-WGQ3FMRF.js +2 -0
- package/dist/chunks/{chunk-6C3CXME7.js → chunk-WNXUSELC.js} +1 -1
- package/dist/chunks/{chunk-RS526BG7.js → chunk-WZ35ICTE.js} +3 -3
- package/dist/chunks/chunk-XHACK2KR.js +2 -0
- package/dist/chunks/chunk-XOPHFUUY.js +2 -0
- package/dist/chunks/{chunk-ZVMQLIRA.js → chunk-XT4CSKHM.js} +1 -1
- package/dist/chunks/{chunk-KQD36SBJ.js → chunk-XY7HFXLH.js} +1 -1
- package/dist/chunks/{chunk-UXO33ST5.js → chunk-XYZV3FKD.js} +1 -1
- package/dist/chunks/{chunk-GC6RJBRZ.js → chunk-Y2WNZWT2.js} +1 -1
- package/dist/chunks/chunk-Y4I6CFZJ.js +2 -0
- package/dist/chunks/chunk-YDZBX4XQ.js +2 -0
- package/dist/chunks/chunk-YI6ME6PU.js +22 -0
- package/dist/chunks/{chunk-H42UW6IF.js → chunk-YXMYK5P7.js} +1 -1
- package/dist/chunks/{chunk-QFL2VQKX.js → chunk-Z33RVGP6.js} +1 -1
- package/dist/chunks/chunk-Z5CQXPIS.js +6 -0
- package/dist/chunks/{chunk-OY4B7Y3T.js → chunk-ZDEIVUUI.js} +1 -1
- package/dist/chunks/{chunk-XGJG2ZKE.js → chunk-ZIQJDTQB.js} +1 -1
- package/dist/chunks/{chunk-IR2Y2VQY.js → chunk-ZYLLPRPU.js} +1 -1
- package/dist/chunks/cli-R7TAP6Z2.js +2 -0
- package/dist/chunks/{command-NWOZXU57.js → command-LNOVZQSK.js} +3 -3
- package/dist/chunks/{configuration-command-ZEIBQKB3.js → configuration-command-C3QBDFND.js} +1 -1
- package/dist/chunks/connected-app-executor-LAEAQUJS.js +2 -0
- package/dist/chunks/connected-evidence-VKY6O2JW.js +2 -0
- package/dist/chunks/{connected-starting-assets-66Y46ZPM.js → connected-starting-assets-5LAJ7CZY.js} +1 -1
- package/dist/chunks/{connection-GDWPMHPC.js → connection-VMBXW5PD.js} +1 -1
- package/dist/chunks/{continual-TNPTWTKK.js → continual-FVOLGGOE.js} +1 -1
- package/dist/chunks/core-commands-5TNBVR72.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-UUYFWWCT.js +4 -0
- package/dist/chunks/datasets-BIDZJYDC.js +2 -0
- package/dist/chunks/desktop-test-BY2MS3UL.js +3 -0
- package/dist/chunks/dist-2MKJC6HN.js +2 -0
- package/dist/chunks/{dist-GR56E3QK.js → dist-DKE7RJZN.js} +1 -1
- package/dist/chunks/evaluation-coordination-FXB4DXZA.js +2 -0
- package/dist/chunks/experiment-improvements-JPDLKZXD.js +2 -0
- package/dist/chunks/experiments-IEN7RXLX.js +2 -0
- package/dist/chunks/experiments-signal-L32D36NH.js +2 -0
- package/dist/chunks/{extension-UH34ZF7N.js → extension-3EKIT6BB.js} +1 -1
- package/dist/chunks/{help-O53DTZGN.js → help-PLQJOP4P.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +2 -0
- package/dist/chunks/host-profile-external-dataset-KSEPXY2S.js +2 -0
- package/dist/chunks/hosted-app-server-composition-GZES7QXJ.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-VG2WE7XZ.js +3 -0
- package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +2 -0
- package/dist/chunks/hosted-profile-candidate-PTGQLPZO.js +3 -0
- package/dist/chunks/hosted-profile-compiler-FS5R6CHJ.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-UUEZEMXU.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-4F7OEF4T.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-LIJJZDHQ.js +3 -0
- package/dist/chunks/hosted-tasksets-V24IBVJX.js +2 -0
- package/dist/chunks/human-review-6V6EMNVN.js +2 -0
- package/dist/chunks/{import-OBAKUJPM.js → import-SI24Z7EF.js} +2 -2
- package/dist/chunks/{learning-CRR6NRPN.js → learning-LAXMGWSQ.js} +1 -1
- package/dist/chunks/learning-Y3UKNUGE.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +2 -0
- package/dist/chunks/local-harness-taskset-review-XQHQ6JCR.js +2 -0
- package/dist/chunks/{model-projects-HP4DELCP.js → model-projects-6YWVD2TS.js} +1 -1
- package/dist/chunks/opchat-SV67HVMX.js +3 -0
- package/dist/chunks/opchat-bounded-chat-KLMIYSZZ.js +2 -0
- package/dist/chunks/organizations-OZZFX7RG.js +2 -0
- package/dist/chunks/{profile-3WZJ65CT.js → profile-TD5U3INY.js} +1 -1
- package/dist/chunks/project-action-payload-TK6G4VMC.js +2 -0
- package/dist/chunks/project-agent-FFXPNXCO.js +2 -0
- package/dist/chunks/published-experiment-source-SDXUVPE7.js +2 -0
- package/dist/chunks/refiner-profile-service-56VYLZQJ.js +2 -0
- package/dist/chunks/{runtime-XP4DEGR3.js → runtime-Q7JUJO4D.js} +2 -2
- package/dist/chunks/sandbox-command-4BCUDAED.js +2 -0
- package/dist/chunks/{sandbox-template-YFMHEMUQ.js → sandbox-template-GOY7QQUY.js} +1 -1
- package/dist/chunks/saved-work-M6PUHKCC.js +2 -0
- package/dist/chunks/{send-turn-D3GTSSHI.js → send-turn-YLY3YNEQ.js} +1 -1
- package/dist/chunks/setup-RMZ2BHLM.js +2 -0
- package/dist/chunks/{src-GQPWOPYA.js → src-C3ZUESMK.js} +1 -1
- package/dist/chunks/src-MT4B43TD.js +424 -0
- package/dist/chunks/standalone-experiment-turn-owner-TW5MTWIO.js +2 -0
- package/dist/chunks/store-chat-resources-IRHBW2EC.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-VVRQO2JK.js → store-continual-support-reviews-3KK42L4I.js} +1 -1
- package/dist/chunks/store-conversation-serving-IVURK52V.js +2 -0
- package/dist/chunks/{store-create-improve-2XI36AET.js → store-create-improve-UTCLBXF2.js} +1 -1
- package/dist/chunks/{store-datasets-UFY422NG.js → store-datasets-4AQOVAQY.js} +1 -1
- package/dist/chunks/store-evaluation-results-PK2P3IMH.js +7 -0
- package/dist/chunks/{store-harness-workspaces-SGUEYDO2.js → store-harness-workspaces-YEXB4IRV.js} +1 -1
- package/dist/chunks/store-human-review-O4BVHP25.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-44SVX6YB.js +2 -0
- package/dist/chunks/{store-learning-BFOT4QVT.js → store-learning-SIUQIY5C.js} +1 -1
- package/dist/chunks/{store-learning-credentials-DYTMWQTC.js → store-learning-credentials-BUHR7SN6.js} +1 -1
- package/dist/chunks/store-local-experiments-BHVTKPPE.js +97 -0
- package/dist/chunks/store-model-batch-review-RVAYUVK2.js +2 -0
- package/dist/chunks/{store-model-configuration-NJFWSYSA.js → store-model-configuration-6L3OYXF4.js} +1 -1
- package/dist/chunks/store-model-project-preparation-AAEKCF6V.js +2 -0
- package/dist/chunks/store-modification-recordings-LCPK6K2T.js +9 -0
- package/dist/chunks/{store-preference-comparison-MZAYONCK.js → store-preference-comparison-5YVIQNVB.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-J3JEVAYR.js → store-sidebar-file-bookmarks-WLMYDA4E.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-2JHTFXJK.js → store-sidebar-preferences-AFMYIDWT.js} +1 -1
- package/dist/chunks/{store-subagents-PUBQVWSU.js → store-subagents-KFPVSTRO.js} +1 -1
- package/dist/chunks/{store-task-inbox-3BREANOX.js → store-task-inbox-L6IQTY26.js} +1 -1
- package/dist/chunks/{store-task-inventory-5HRZCDUT.js → store-task-inventory-QWS2C656.js} +1 -1
- package/dist/chunks/store-taskset-drafts-FRFL6ITK.js +9 -0
- package/dist/chunks/{store-training-S3FXWLT6.js → store-training-FYXZU2FE.js} +1 -1
- package/dist/chunks/{store-training-jobs-2LCXPA7G.js → store-training-jobs-3N3VKPIY.js} +1 -1
- package/dist/chunks/{store-training-models-7AMKS7ZW.js → store-training-models-VOFVGPZR.js} +1 -1
- package/dist/chunks/{taskset-PLKWRT4X.js → taskset-UDDLFYKV.js} +1 -1
- package/dist/chunks/taskset-catalog-RZYEBCRQ.js +2 -0
- package/dist/chunks/taskset-packages-T6B6HYKZ.js +2 -0
- package/dist/chunks/taskset-packages-WMG5DUBN.js +2 -0
- package/dist/chunks/{teams-bot-VQXUA7U4.js → teams-bot-YCUTDDDC.js} +1 -1
- package/dist/chunks/tool-learning-ZQ6NSJ5K.js +2 -0
- package/dist/chunks/training-5NT2YB2L.js +2 -0
- package/dist/chunks/training-5UMT45UL.js +2 -0
- package/dist/chunks/training-UY6KRG4M.js +2 -0
- package/dist/chunks/{training-error-LQKCOQDJ.js → training-error-WF463UNZ.js} +1 -1
- package/dist/chunks/{training-hardware-ESXRWUIK.js → training-hardware-UWQCRDMV.js} +1 -1
- package/dist/chunks/training-hosted-CKSDRVL6.js +2 -0
- package/dist/chunks/training-hosted-alphaedit-HSMRDJTD.js +2 -0
- package/dist/chunks/training-hosted-decision-7JALOU6O.js +2 -0
- package/dist/chunks/training-hosted-engram-SXO75MFG.js +2 -0
- package/dist/chunks/{training-hosted-learning-WQ2IP5FP.js → training-hosted-learning-E2N32YU5.js} +1 -1
- package/dist/chunks/training-hosted-modification-comparison-TXFDJFTG.js +2 -0
- package/dist/chunks/training-hosted-neuron-training-J42WK4EH.js +2 -0
- package/dist/chunks/training-hosted-serving-report-BAEABGJH.js +2 -0
- package/dist/chunks/training-hosted-steering-T556BUBG.js +2 -0
- package/dist/chunks/training-model-start-P3PXDWNT.js +2 -0
- package/dist/chunks/web-search-ZEKJHZW4.js +2 -0
- package/dist/chunks/{workspaces-MCS2AQX6.js → workspaces-EK62ANTB.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sandbox/runtime-handle.d.ts +3 -5
- package/dist/sandbox/sandbox-instance-client.d.ts +11 -5
- package/dist/sandbox/types/billing.d.ts +140 -6
- package/dist/sandbox/types/io.d.ts +3 -0
- package/dist/sandbox/types/responses.d.ts +11 -1
- package/dist/sandbox/types/snapshots.d.ts +52 -3
- package/dist/sandbox-template/manifest.js +1 -1
- package/dist/skills/manifest.json +3 -3
- package/dist/skills/openpond-cli/references/experiments-and-training.md +461 -1
- package/dist/web/assets/App-CCuh99JW.js +54 -0
- package/dist/web/assets/{AppDialog-BvskhHE9.js → AppDialog-CxjDHVk9.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-CKJIVpKa.js +2 -0
- package/dist/web/assets/{AppToastContext-D2788RqX.js → AppToastContext-EpiT1dHs.js} +1 -1
- package/dist/web/assets/AppsView-BsMyPX_3.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DVluUHuc.js → AttachmentTypeIcon-BXvZy5gB.js} +1 -1
- package/dist/web/assets/BrowserSidebar-BIIV4aq4.js +1 -0
- package/dist/web/assets/{CartesianChart-DdBZ69lI.js → CartesianChart-brqLBqnF.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-CwZbn16X.js +8 -0
- package/dist/web/assets/{CollaborationTabs-ba6WupeJ.js → CollaborationTabs-BU4uc4tZ.js} +1 -1
- package/dist/web/assets/{CommandMenu-D7wTaEgl.js → CommandMenu-DkWpXR55.js} +1 -1
- package/dist/web/assets/CommunityView-CsSxJZGn.js +1 -0
- package/dist/web/assets/{ComposerAttachments-aO90qXYz.js → ComposerAttachments-BdJGCYzI.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-BPUJBSyS.js → ComposerCreateImproveStrip-CWy0j1vv.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-Bo836wKJ.js → ConversationImportsSettings-DCmiakbZ.js} +1 -1
- package/dist/web/assets/DatasetReviewImport-DEnF_pGu.js +1 -0
- package/dist/web/assets/ExperimentTrainingDataWorkspace-WhwQ0QBi.js +2 -0
- package/dist/web/assets/{FilePagePreview-C6wIp6uX.js → FilePagePreview-BRhhz99q.js} +2 -2
- package/dist/web/assets/{GetStartedView-CxMv8q-h.js → GetStartedView-CLVD-qEi.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-CEb0cS-o.js → GettingStartedDialog-CMxaAMg-.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-Cn-j-rDo.js +1 -0
- package/dist/web/assets/HostedModelLearningSettings-VNBvf38S.js +1 -0
- package/dist/web/assets/{HtmlVisual-CCuUkYT8.js → HtmlVisual-D5y2WG9L.js} +10 -10
- package/dist/web/assets/LabModelVersionDetailPage-BxRmYD6h.js +1 -0
- package/dist/web/assets/{TrainingRunLineage-PXzWR65d.css → LabModelWorkspace-DOrgCk9Z.css} +1 -1
- package/dist/web/assets/LabModelWorkspace-u2Ulm_z4.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-CFROlATQ.js → LabSkillSidebar-C7IceJTJ.js} +1 -1
- package/dist/web/assets/LabsRoute-C9Y0GU34.css +1 -0
- package/dist/web/assets/LabsRoute-CbztQaEf.js +74 -0
- package/dist/web/assets/LearningBatchesPage-B1NZTBSv.css +1 -0
- package/dist/web/assets/LearningBatchesPage-CJqgZNvM.js +26 -0
- package/dist/web/assets/MainChatThread-DNMfrrRq.js +2 -0
- package/dist/web/assets/{MainPane-BOWkynGB.css → MainPane-BZlNLfTM.css} +1 -1
- package/dist/web/assets/MainPane-CQQxSDPS.js +13 -0
- package/dist/web/assets/ModelProjectPageHeader-Dge19aE1.js +1 -0
- package/dist/web/assets/NativeSetupTerminal-D4JnbpyD.js +2 -0
- package/dist/web/assets/{NativeSkillSidebar-MAJWS4mL.js → NativeSkillSidebar-Jzx1BeKV.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-MQiUBVx3.js → NewProjectDialog-DcnGzEd9.js} +1 -1
- package/dist/web/assets/{OutputsPage-DpF-aRTu.js → OutputsPage-Cmk15Vt_.js} +1 -1
- package/dist/web/assets/{PageChrome-8gH2hyDb.js → PageChrome-Cz_fCqtn.js} +1 -1
- package/dist/web/assets/{ProjectsPage-BQ98oGyu.js → ProjectsPage-BZ3Eo3Mz.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-C6H2vU9N.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-BfMMVkM1.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-CGCqZz_H.js → ScheduledWorkPage-CAkSwM0T.js} +1 -1
- package/dist/web/assets/{SettingsView-CqpMFLxy.js → SettingsView-DvQXGw3_.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-DJvIvzBb.js → TasksetDraftEditorPrimitives-JuU1k8vr.js} +1 -1
- package/dist/web/assets/TeamChatView-DmHjr8W9.js +1 -0
- package/dist/web/assets/{TerminalOverlay-D--M876l.js → TerminalOverlay-DlaM9d8F.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-DDUoHQHU.js → TrainingCreationPanel-ClpylNsr.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-CwLXn3Z7.js → TrainingDraftPanel-6tH2xSDj.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CGwPregx.js → UsageSettingsSection-CzDqxOYM.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-CY-AHZ4-.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-B4e0lyF7.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-D01ZkZZF.js +35 -0
- package/dist/web/assets/{WorkspaceFileLocation-D-ctFM4d.js → WorkspaceFileLocation-C5s_njZb.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-CQ28j3R7.js → WorkspaceGitDialogs-DjPZ6KIh.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-BrZs6-EW.js → WorkspaceMonacoEditor-CC4sfOiU.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-CU6PSjjN.js → WorkspacePdfPreview-vszQqFa4.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-IjXVXpIy.js → WorkspacePresentationPreview-DQTvhaRD.js} +1 -1
- package/dist/web/assets/api-client-DJRVOFzS.js +1 -0
- package/dist/web/assets/{app-models-CKXrDTEU.js → app-models-BUdzQbXo.js} +1 -1
- package/dist/web/assets/bot-Doyx3T4j.js +1 -0
- package/dist/web/assets/{browser-sidebar-links-D9v2cyJa.js → browser-sidebar-links-PVPCrsDJ.js} +1 -1
- package/dist/web/assets/chat-resources-Beh5lB36.js +1 -0
- package/dist/web/assets/chevron-down-DX1hzujj.js +1 -0
- package/dist/web/assets/chevron-right-DHN0y3KC.js +1 -0
- package/dist/web/assets/chevron-up-_QrW88NF.js +1 -0
- package/dist/web/assets/{chunk-TLSP5JKG-BrrVo5rJ.js → chunk-3BYFS4RO-ztZjcMmt.js} +1 -1
- package/dist/web/assets/chunk-AG6UJ3DI-D9KZjTYP.js +1 -0
- package/dist/web/assets/chunk-C3TS766N-ppRhs95p.js +1 -0
- package/dist/web/assets/chunk-GCUWJUUM-Dy6oUNJ6.js +9 -0
- package/dist/web/assets/chunk-GS5HEE4M-C0RLeIsy.js +1 -0
- package/dist/web/assets/{chunk-H3JZ3P5T-CzpTARDY.js → chunk-H3JZ3P5T-DolwEJXo.js} +2 -2
- package/dist/web/assets/chunk-Q4RGCEOI-Cr-dg4Nk.js +1 -0
- package/dist/web/assets/client-DwZ92xtu.js +1 -0
- package/dist/web/assets/{client-choice-storage-DUWsS4X0.js → client-choice-storage-DitqKiIT.js} +1 -1
- package/dist/web/assets/cloud-upload-HdzNTgr2.js +1 -0
- package/dist/web/assets/common-BWVSBnpX.js +1 -0
- package/dist/web/assets/copy-DTQhoBNg.js +1 -0
- package/dist/web/assets/create-pipeline-DsZzNkt9.js +1 -0
- package/dist/web/assets/{cssMode-SclUkqPt.js → cssMode-BRTtfXxU.js} +1 -1
- package/dist/web/assets/dataset-workspaces-BTPi71mz.js +1 -0
- package/dist/web/assets/external-link-H1629UU6.js +1 -0
- package/dist/web/assets/folder-open-CAGdWOrr.js +1 -0
- package/dist/web/assets/folder-plus-C14cs2mE.js +1 -0
- package/dist/web/assets/git-commit-horizontal-DFUfuVvF.js +1 -0
- package/dist/web/assets/{htmlMode-X3mQtOeh.js → htmlMode-BVaCcL76.js} +1 -1
- package/dist/web/assets/icons-Bk2b68aC.js +1 -0
- package/dist/web/assets/image-0DPVY6Ev.js +1 -0
- package/dist/web/assets/{index-LXNhSUEL.js → index-B6XX_0h3.js} +2 -2
- package/dist/web/assets/info-C8b_tafZ.js +1 -0
- package/dist/web/assets/{intake-contracts-wCkD2ErR.js → intake-contracts-B8JZKYwb.js} +1 -1
- package/dist/web/assets/{jsonMode-BoKiIdHd.js → jsonMode-BCKKQmmV.js} +1 -1
- package/dist/web/assets/loader-circle-y-SSPwpk.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-CO2mzpy1.js → lspLanguageFeatures-DozmNUOx.js} +1 -1
- package/dist/web/assets/maximize-2-CByk9-zN.js +1 -0
- package/dist/web/assets/message-square-C889vRqm.js +1 -0
- package/dist/web/assets/{monaco.contribution-wacA5FjV.js → monaco.contribution-B9q6qbbo.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CVe3mWSY.js → monaco.contribution-BITdsRbn.js} +2 -2
- package/dist/web/assets/{monaco.contribution-hrusiaZi.js → monaco.contribution-BqA-XZ44.js} +2 -2
- package/dist/web/assets/{monaco.contribution-C7CAQIKF.js → monaco.contribution-DxAV1oS5.js} +2 -2
- package/dist/web/assets/monitor-BtxlcLuI.js +1 -0
- package/dist/web/assets/paperclip-BeIdaspf.js +1 -0
- package/dist/web/assets/{pdf-Ct3M2mVw.js → pdf-perlzwEB.js} +1 -1
- package/dist/web/assets/play-CHXXdkuO.js +1 -0
- package/dist/web/assets/plus-DFFWjhPw.js +1 -0
- package/dist/web/assets/{ponder-desktop-D-zB6X4L.js → ponder-desktop-Ca-9KggQ.js} +1 -1
- package/dist/web/assets/presentation-0bzvu6_u.js +1 -0
- package/dist/web/assets/{profile-ref-CCxrOCio.js → profile-ref-D8lxL7dW.js} +1 -1
- package/dist/web/assets/{python-C0-pUUAU.js → python-B9hOnkOI.js} +1 -1
- package/dist/web/assets/refresh-cw-D61-Ozk3.js +1 -0
- package/dist/web/assets/{requests-DjSt-duM.js → requests-DmeUYik4.js} +1 -1
- package/dist/web/assets/reward-checks-DJJZYgf8.js +7 -0
- package/dist/web/assets/save-iEMNZoPe.js +1 -0
- package/dist/web/assets/schemas-Brv9Vmnk.js +64 -0
- package/dist/web/assets/settings-BC-bzgk6.js +21 -0
- package/dist/web/assets/settings-lists-C84qxFmP.js +5 -0
- package/dist/web/assets/square-BE_4JMR3.js +1 -0
- package/dist/web/assets/square-terminal-Djpzo2Qs.js +1 -0
- package/dist/web/assets/{submit-issue-command-Gk3RKrY-.js → submit-issue-command-HfKzyxg5.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BnYUBgZB.js → toggleHighContrast-ClsXu39R.js} +1 -1
- package/dist/web/assets/training-DWfghwfZ.js +1 -0
- package/dist/web/assets/{training-model-data-CxR3xpmK.js → training-model-data-CIysl8wH.js} +4 -4
- package/dist/web/assets/{tsMode-BVNyOY8h.js → tsMode-nbmaMc-D.js} +1 -1
- package/dist/web/assets/upload-C6ug8RD-.js +1 -0
- package/dist/web/assets/{useAccountSettings-4_XfwJQi.js → useAccountSettings-Dr9h4Qz_.js} +1 -1
- package/dist/web/assets/{useAgentInventory-CVuamyT3.js → useAgentInventory-ByCk2JAv.js} +1 -1
- package/dist/web/assets/useChatContextSelection-C0eMm2g6.js +1 -0
- package/dist/web/assets/{useLocalAgentSchedules-CmwN4ohy.js → useLocalAgentSchedules-Do0y_leJ.js} +1 -1
- package/dist/web/assets/useQuery-D2MQ7e5U.js +1 -0
- package/dist/web/assets/wifi-off-Dr-CapyW.js +1 -0
- package/dist/web/assets/work-outputs-D_8TovAK.js +1 -0
- package/dist/web/assets/{workers-CjtQ2aBD.js → workers-DKvM2NdM.js} +1 -1
- package/dist/web/assets/x-Jx2jlP9u.js +1 -0
- package/dist/web/assets/{yaml-N1KUjBZ8.js → yaml-C02vq4ar.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +104 -3
- package/package.json +1 -1
- package/dist/chunks/account-context-TIJOM22A.js +0 -12
- package/dist/chunks/actions-command-BYPLSGZL.js +0 -2
- package/dist/chunks/app-server-evaluations-5YZUFXQ2.js +0 -2
- package/dist/chunks/app-server-harness-services-N5F5QVZI.js +0 -2
- package/dist/chunks/app-server-runtime-HJ2N57DL.js +0 -2
- package/dist/chunks/apps-WJTW64NW.js +0 -2
- package/dist/chunks/chunk-263WS3TB.js +0 -2
- package/dist/chunks/chunk-27JGS3KB.js +0 -12
- package/dist/chunks/chunk-2UZHLO2V.js +0 -23
- package/dist/chunks/chunk-2W22IXHB.js +0 -2
- package/dist/chunks/chunk-46RMTR2Z.js +0 -2
- package/dist/chunks/chunk-4JJ4RYIB.js +0 -6
- package/dist/chunks/chunk-4NN5OLKW.js +0 -161
- package/dist/chunks/chunk-543QHE3D.js +0 -2
- package/dist/chunks/chunk-5QOFUGYQ.js +0 -2
- package/dist/chunks/chunk-5ZNE43XC.js +0 -10
- package/dist/chunks/chunk-6IS5OLI5.js +0 -2
- package/dist/chunks/chunk-7HAGSE7L.js +0 -2
- package/dist/chunks/chunk-AXYAEWWA.js +0 -2
- package/dist/chunks/chunk-B7XJBP4U.js +0 -2
- package/dist/chunks/chunk-BBIA24GD.js +0 -10
- package/dist/chunks/chunk-CJDGLPNX.js +0 -4
- package/dist/chunks/chunk-DAEUVT2I.js +0 -6
- package/dist/chunks/chunk-FCXDPVGJ.js +0 -3
- package/dist/chunks/chunk-FE2ENE3U.js +0 -2
- package/dist/chunks/chunk-H6EUFJJK.js +0 -2
- package/dist/chunks/chunk-IOSBGCRT.js +0 -2
- package/dist/chunks/chunk-IXZ5ZGIL.js +0 -12
- package/dist/chunks/chunk-K6DB5QWG.js +0 -2
- package/dist/chunks/chunk-LI56PPCN.js +0 -2
- package/dist/chunks/chunk-OE2OOWEQ.js +0 -2
- package/dist/chunks/chunk-OYIFH2OM.js +0 -2
- package/dist/chunks/chunk-QOUOU7FE.js +0 -22
- package/dist/chunks/chunk-R5GRESW3.js +0 -2
- package/dist/chunks/chunk-TERKCK4I.js +0 -2
- package/dist/chunks/chunk-TS5HNRZB.js +0 -2
- package/dist/chunks/chunk-V3KEG6MI.js +0 -2
- package/dist/chunks/chunk-WGISITX6.js +0 -4
- package/dist/chunks/chunk-XD4ZIQZ2.js +0 -2
- package/dist/chunks/chunk-XHU4BZQY.js +0 -13
- package/dist/chunks/chunk-ZWEY66RT.js +0 -2
- package/dist/chunks/cli-HV32F7HD.js +0 -2
- package/dist/chunks/connected-app-executor-DFHWNMRM.js +0 -2
- package/dist/chunks/connected-evidence-WOM6N5HO.js +0 -2
- package/dist/chunks/core-commands-GWRHH53F.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-WJ2XEUO7.js +0 -4
- package/dist/chunks/datasets-XIMF54QN.js +0 -2
- package/dist/chunks/desktop-test-HF42V2EP.js +0 -3
- package/dist/chunks/dist-T6ES2TSM.js +0 -2
- package/dist/chunks/evaluation-coordination-WZT6FDMS.js +0 -2
- package/dist/chunks/experiment-improvements-H35VS6XZ.js +0 -2
- package/dist/chunks/experiments-F54C32EE.js +0 -2
- package/dist/chunks/experiments-signal-ONIGTGYR.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-LMCJ3MDJ.js +0 -2
- package/dist/chunks/host-profile-external-dataset-4HOXANWK.js +0 -2
- package/dist/chunks/hosted-app-server-composition-Y64A2A2B.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-B2V2WIUI.js +0 -3
- package/dist/chunks/hosted-harness-runtime-C7I4KSDK.js +0 -2
- package/dist/chunks/hosted-profile-candidate-CXPVEEYQ.js +0 -3
- package/dist/chunks/hosted-profile-compiler-FGCI2VRW.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-INNUYMBD.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-UPTBRYMS.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-TIQSVKLQ.js +0 -3
- package/dist/chunks/hosted-tasksets-7VMYOTIO.js +0 -2
- package/dist/chunks/human-review-7XC77NQP.js +0 -2
- package/dist/chunks/learning-3XDGIYUL.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-UIKQSAMM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-6KJN3EQL.js +0 -2
- package/dist/chunks/opchat-NWYWWIA7.js +0 -3
- package/dist/chunks/opchat-bounded-chat-ICURZM6R.js +0 -2
- package/dist/chunks/organizations-7DBQGCCV.js +0 -2
- package/dist/chunks/project-action-payload-7DRABTHY.js +0 -2
- package/dist/chunks/project-agent-AXJOWXRU.js +0 -2
- package/dist/chunks/published-experiment-source-YBBPLNF2.js +0 -2
- package/dist/chunks/refiner-profile-service-ATEFPF5O.js +0 -2
- package/dist/chunks/sandbox-command-CF2PJCFX.js +0 -2
- package/dist/chunks/saved-work-3OAVRBH3.js +0 -2
- package/dist/chunks/setup-RHIMFI2Y.js +0 -2
- package/dist/chunks/src-V236S6MV.js +0 -424
- package/dist/chunks/standalone-experiment-turn-owner-CDRMGLWW.js +0 -2
- package/dist/chunks/store-chat-resources-P4EKCLSY.js +0 -2
- package/dist/chunks/store-conversation-serving-YFEZYQD3.js +0 -2
- package/dist/chunks/store-evaluation-results-VBH4R2U7.js +0 -7
- package/dist/chunks/store-human-review-RFCVZ3HP.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-FNBGGZU6.js +0 -2
- package/dist/chunks/store-local-experiments-XPXGYXNM.js +0 -97
- package/dist/chunks/store-model-batch-review-J2L5JQV2.js +0 -2
- package/dist/chunks/store-model-project-preparation-OCLIFKI2.js +0 -2
- package/dist/chunks/store-taskset-drafts-BNKUVHPA.js +0 -9
- package/dist/chunks/taskset-packages-SXBLYHSP.js +0 -2
- package/dist/chunks/taskset-packages-V5T4V7YN.js +0 -2
- package/dist/chunks/tool-learning-47XQKELE.js +0 -2
- package/dist/chunks/training-7VQNCOGH.js +0 -2
- package/dist/chunks/training-VKLPNCMC.js +0 -2
- package/dist/chunks/training-hosted-NNE6BP6S.js +0 -2
- package/dist/chunks/training-hosted-serving-report-VZ4SMLMG.js +0 -2
- package/dist/chunks/training-model-start-G7YDZ7ZG.js +0 -2
- package/dist/chunks/web-search-56QRZGPR.js +0 -2
- package/dist/web/assets/App-DmEA-Lia.js +0 -53
- package/dist/web/assets/AppTerminalPanel-ScQKJV4z.js +0 -2
- package/dist/web/assets/AppsView-B1uNg9IQ.js +0 -1
- package/dist/web/assets/BrowserSidebar-DfVQoJHn.js +0 -1
- package/dist/web/assets/ChatTimelineEntry-Bbc6HRks.js +0 -8
- package/dist/web/assets/CommunityView-mO58f2B0.js +0 -1
- package/dist/web/assets/HostedModelLearningReview-BQIS7hkd.js +0 -1
- package/dist/web/assets/HostedModelLearningSettings-BQ-YeFMT.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-BkHeVbAx.js +0 -1
- package/dist/web/assets/LabsRoute-CE45yAXJ.css +0 -1
- package/dist/web/assets/LabsRoute-YA9YckKj.js +0 -101
- package/dist/web/assets/MainChatThread-DpyPgGKW.js +0 -2
- package/dist/web/assets/MainPane-WOeodByM.js +0 -10
- package/dist/web/assets/NativeSetupTerminal-fmG2c65K.js +0 -2
- package/dist/web/assets/RightChatPanelStack-Bs7A4dLs.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-C-D4kba2.js +0 -1
- package/dist/web/assets/TeamChatView-DjmIaLO1.js +0 -1
- package/dist/web/assets/TrainingRunLineage-CtYe1KGX.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-C6wWuo7U.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-JDOUmrC-.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-sfL5LZeB.js +0 -35
- package/dist/web/assets/api-client-Dgz-fOMl.js +0 -1
- package/dist/web/assets/bot-Cd761lRF.js +0 -1
- package/dist/web/assets/chat-resources-BUDXdoG0.js +0 -1
- package/dist/web/assets/chevron-down-DEbd6Ek-.js +0 -1
- package/dist/web/assets/chevron-right-DLYNg_Oq.js +0 -1
- package/dist/web/assets/chevron-up-DFJJccDl.js +0 -1
- package/dist/web/assets/chunk-GHPCQXG5-DKDBSd8H.js +0 -9
- package/dist/web/assets/chunk-GJRXJL6G-luaxRTYI.js +0 -1
- package/dist/web/assets/chunk-JDQVAG3R-C0-rh1aR.js +0 -1
- package/dist/web/assets/chunk-XMVSQIK4-BBU7r_NH.js +0 -1
- package/dist/web/assets/client-BNjO4Xi8.js +0 -1
- package/dist/web/assets/cloud-upload-CoM1FGeB.js +0 -1
- package/dist/web/assets/common-CFsO2ppZ.js +0 -1
- package/dist/web/assets/copy-BGOhV6Pk.js +0 -1
- package/dist/web/assets/create-pipeline-DRR0Qeec.js +0 -1
- package/dist/web/assets/createLucideIcon-Bv-_eGcE.js +0 -1
- package/dist/web/assets/external-link-CVXsNeO3.js +0 -1
- package/dist/web/assets/folder-open-MnOmh19D.js +0 -1
- package/dist/web/assets/folder-plus-BRddLBtO.js +0 -1
- package/dist/web/assets/git-commit-horizontal-Bm4rkXug.js +0 -1
- package/dist/web/assets/icons-CZxmQtZs.js +0 -1
- package/dist/web/assets/image-BViGUAiq.js +0 -1
- package/dist/web/assets/info-DYPIbKKD.js +0 -1
- package/dist/web/assets/loader-circle-JFgFNsP5.js +0 -1
- package/dist/web/assets/maximize-2-DXZCQO0b.js +0 -1
- package/dist/web/assets/message-square-cOCAL8J1.js +0 -1
- package/dist/web/assets/models-route-CWcJuOd0.js +0 -1
- package/dist/web/assets/monitor-B35XSAvn.js +0 -1
- package/dist/web/assets/paperclip-CKgDxioG.js +0 -1
- package/dist/web/assets/play-DzqLr7fM.js +0 -1
- package/dist/web/assets/plus-Ddp1vXnw.js +0 -1
- package/dist/web/assets/presentation-B0S9v7ib.js +0 -1
- package/dist/web/assets/refresh-cw-D45mW-vs.js +0 -1
- package/dist/web/assets/reward-checks-D139zwha.js +0 -7
- package/dist/web/assets/save-Gu4R_82E.js +0 -1
- package/dist/web/assets/schemas-C9IwV7NS.js +0 -64
- package/dist/web/assets/settings-DdonLCIN.js +0 -21
- package/dist/web/assets/settings-lists-CFHFtO0D.js +0 -5
- package/dist/web/assets/square-Dqduqyyu.js +0 -1
- package/dist/web/assets/square-terminal-DS3zwi6X.js +0 -1
- package/dist/web/assets/training-QBuGBGJd.js +0 -2
- package/dist/web/assets/upload-ABSJxuUM.js +0 -1
- package/dist/web/assets/useQuery-CCjwL8VI.js +0 -1
- package/dist/web/assets/wifi-off-DGJH7Pke.js +0 -1
- package/dist/web/assets/work-outputs-CnbRtTLg.js +0 -1
- package/dist/web/assets/x-B-_zJVOZ.js +0 -1
- /package/dist/chunks/{chunk-SFR32TMJ.js → chunk-JXLDEYRW.js} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{e as Q}from"./chunk-TERKCK4I.js";import{h as Ae}from"./chunk-5HPZGLOL.js";import{d as Jt,g as Wt,k as Kt}from"./chunk-I6VMRQF4.js";import{K as q,Qa as Nt,R as V,V as je,X as Pe,Y as Lt,aa as J,ca as W}from"./chunk-QAFXQHHG.js";import{A as Ot,C as Mt,K as v,L as T,M as _,N as Ee,P as Y,Q as zt,Qb as qt,R as D,Sb as Vt,Vb as Gt,aa as rt,ba as Bt,ca as X,db as Ft,l as N,o as tt,s as $t,v as Dt}from"./chunk-XHU4BZQY.js";import{$a as It,C as At,Ca as Ct,Ra as pe,Sa as Ht,Wa as fe,aa as jt,bb as F,da as et,ea as ue,fa as Pt,ga as B,h as Vr,ia as Te,j as _e,v as le,x as Qe}from"./chunk-ZY32SZ2P.js";import{a as Tt,b as Et}from"./chunk-OTDDXEQ6.js";import{f as we}from"./chunk-HNQPEOJD.js";import{b as I,c as ye,d as Re,g as wt,h as _t,i as C,l as z,m as $,n as g}from"./chunk-RCT3O3HQ.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as l,e as qr}from"./chunk-FTQLQJQV.js";var Xt=qr(Vr(),1);var E=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Ut=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape"),Gr=l(t=>t.replaceAll("~1","/").replaceAll("~0","~"),"unescape"),Lr=l(t=>t||"/","label");function Ce(t){let a=JSON.stringify(t);return a&&a.length<=160?a:"the value declared in the public schema"}l(Ce,"literal");function he(t,a){let r=t;for(let n of a){let s=Gr(n);if(!E(r)&&!Array.isArray(r)||!Object.hasOwn(r,s))return;r=r[s]}return r}l(he,"at");function at(t,a,r=0){return!E(t)||r>20?null:typeof t.$ref=="string"&&t.$ref.startsWith("#/")?at(he(a,t.$ref.slice(2).split("/")),a,r+1):t}l(at,"resolve");function st(t,a,r,n,s=0){let i=at(t,n);if(!i||s>6)return null;let o=Lr(a);if(Object.hasOwn(i,"const"))return`${o} must equal ${Ce(i.const)}`;if(Array.isArray(i.enum)&&i.enum.length<=12)return`${o} must be one of ${Ce(i.enum)}`;if(Array.isArray(r)){if(i.maxItems===0)return`${o} must be an empty array`;let u=E(i.not)?i.not:null,c=u&&E(u.items)?u.items:null,m=c&&E(c.not)?at(c.not,n):null,h=m?.required;if(m&&E(m.properties)&&Array.isArray(h)){let d=Object.entries(m.properties);if(d.length&&d.every(([p,x])=>E(x)&&Object.hasOwn(x,"const")&&h.includes(p))){let p=Object.fromEntries(d.map(([x,f])=>[x,f.const]));return`${o} must contain at least one item matching ${Ce(p)}`}}if(typeof i.maxItems=="number")return`${o} must contain at most ${i.maxItems} items`;if(typeof i.minItems=="number")return`${o} must contain at least ${i.minItems} items`}if(E(i.properties)&&E(r)){let u=Object.entries(i.properties).flatMap(([c,m])=>{if(!Object.hasOwn(r,c))return[];let h=st(m,a+"/"+Ut(c),r[c],n,s+1);return h?[h]:[]});if(u.length)return u.slice(0,4).join("; ")}if(Array.isArray(i.required)&&E(r)){let u=i.required.filter(c=>typeof c=="string"&&!Object.hasOwn(r,c));if(u.length)return`${o} must include ${u.slice(0,4).map(Ce).join(", ")}`}return null}l(st,"describe");function Zt(t,a,r){let n=r.instancePath+(r.keyword==="required"?"/"+Ut(String(r.params.missingProperty)):""),s=r.schemaPath.startsWith("#/")?r.schemaPath.slice(2).split("/"):[],i=r.message??"Schema assertion failed",o=he(t,s.slice(0,-1)),u=st(o,r.instancePath,he(a,r.instancePath?r.instancePath.slice(1).split("/"):[]),t);for(let c=s.length-1;c>=0;c--){if(s[c]!=="then"&&s[c]!=="else")continue;let m=he(t,s.slice(0,c));if(!E(m)||!E(m.if))continue;let h=r.instancePath?r.instancePath.slice(1).split("/"):[],d=s.slice(c+1),p=d.filter((b,R)=>R>0&&d[R-1]==="properties"||b==="items"&&d[R-1]!=="properties").length,x=p<=h.length?h.slice(0,h.length-p):[],f=x.length?"/"+x.join("/"):"",k=st(m.if,f,he(a,x),t);if(k&&u){let b=k.replaceAll(" must be "," is ").replaceAll(" must equal "," equals ").replaceAll(" must contain "," contains ").replaceAll(" must include "," includes ");i=`${s[c]==="then"?"When":"When the following condition does not hold:"} ${b}, ${u}.`}break}return i===r.message&&u&&["not","enum","const","minItems","maxItems"].includes(r.keyword)&&(i=u+"."),{path:n,message:i,keyword:r.keyword,schemaPath:r.schemaPath}}l(Zt,"structuredOutputDiagnostic");var He=e.object({schemaVersion:e.literal("openpond.structuredSamplingSchema.v1"),validationSchemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaRef:C.refine(t=>t.visibility==="policy"&&t.sizeBytes<=128e3&&["application/json","application/schema+json"].includes(t.mediaType),"Sampling schemas must be bounded policy-visible JSON assets."),postValidationOnly:e.array(e.object({schemaPath:e.string().min(1).max(2e3),keyword:e.literal("maxItems"),enforcement:e.literal("full_validation_only")}).strict()).min(1).max(100)}).strict(),Nr=e.object({declaration:He,schema:e.record(e.string(),e.unknown()),schemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaSource:e.string().max(128e3)}).strict();function it(t){let a=t?.structuredSamplingSchema;return a===void 0?void 0:He.parse(a)}l(it,"structuredSamplingSchemaDeclaration");var nt=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Jr=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape");function Wr(t,a){let r=He.parse(a);if(r.validationSchemaHash!==t.schemaHash)throw new Error("structured_sampling_validation_identity_changed");if(I(t.schemaSource)!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_sampling_validation_source_changed");let n=JSON.parse(t.schemaSource),s=new Map;function i(u,c,m=!0){if(!nt(u))return;if(u.$ref!==void 0)throw new Error("structured_sampling_reference_unsupported");let h=Array.isArray(u.type)?u.type:[u.type];m&&h.includes("array")&&Number.isSafeInteger(u.maxItems)&&Number(u.maxItems)>=0&&s.set(`${c}/maxItems`,u);for(let d of["properties","$defs"])if(nt(u[d]))for(let[p,x]of Object.entries(u[d]))i(x,`${c}/${d}/${Jr(p)}`,m&&d!=="$defs");for(let d of["items","additionalProperties","then","else","not","if"])u[d]!==void 0&&i(u[d],`${c}/${d}`,m&&d!=="not"&&d!=="if");for(let d of["allOf","anyOf","oneOf"])Array.isArray(u[d])&&u[d].forEach((p,x)=>i(p,`${c}/${d}/${x}`,m&&d!=="oneOf"))}l(i,"visit"),i(n,"");let o=new Set;for(let u of r.postValidationOnly){let c=s.get(u.schemaPath);if(!c||o.has(u.schemaPath))throw new Error("structured_sampling_assertion_path_invalid");o.add(u.schemaPath),delete c.maxItems}return n}l(Wr,"projectStructuredSamplingSchema");function Ie(t,a){let r=Nr.parse(a),n=Wr(t,r.declaration),s=JSON.stringify(n);if(r.schemaSource!==s||z(r.schema)!==z(n)||I(s)!==r.schemaHash||r.schemaHash!==r.declaration.schemaRef.contentHash||new TextEncoder().encode(s).byteLength!==r.declaration.schemaRef.sizeBytes)throw new Error("structured_sampling_schema_identity_changed")}l(Ie,"assertStructuredSamplingSchema");function ot(t,a,r){let n=He.parse(a);if(r.byteLength>128e3||r.byteLength!==n.schemaRef.sizeBytes||I(r)!==n.schemaRef.contentHash)throw new Error("structured_sampling_asset_mismatch");let s=new TextDecoder("utf-8",{fatal:!0}).decode(r),i={declaration:n,schema:JSON.parse(s),schemaHash:n.schemaRef.contentHash,schemaSource:s};return Ie(t,i),i}l(ot,"resolveStructuredSamplingSchema");function Yt(t,a){Ie(t,a);let r=JSON.parse(t.schemaSource);return a.declaration.postValidationOnly.map(n=>{let s=r;for(let i of n.schemaPath.slice(1).split("/")){let o=i.replaceAll("~1","/").replaceAll("~0","~");s=nt(s)||Array.isArray(s)?Reflect.get(s,o):void 0}return{...n,value:s}})}l(Yt,"structuredSamplingSchemaAssertions");var Kr="work.structured-output.v1",Ur=new Set(["$schema","$id","$defs","$ref","title","description","type","properties","required","additionalProperties","items","minItems","maxItems","minLength","maxLength","minimum","maximum","enum","const","allOf","anyOf","oneOf","not","if","then","else","uniqueItems","pattern","multipleOf","exclusiveMinimum","exclusiveMaximum","minProperties","maxProperties"]),ke=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),ge=new Map;function Qt(t){let a=I(JSON.stringify(t)),r=ge.get(a);return r||(r=new Xt.default({strict:!0,strictTypes:!1,strictRequired:!1,allErrors:!1,validateFormats:!0,ownProperties:!0}).compile(t),ge.size>=64&&ge.delete(ge.keys().next().value),ge.set(a,r)),r}l(Qt,"compiled");function er(t){if(!ke(t)||t.type!=="object"||JSON.stringify(t).length>128e3)throw new Error("structured_schema_tool_root_or_size_invalid");let a=t,r=0;function n(s,i,o){if(typeof s=="boolean")return;if(!ke(s)||i>20||++r>2e3||o.has(s))throw new Error("structured_schema_complexity_or_shape");let u=new Set(o).add(s);for(let c of Object.keys(s))if(!Ur.has(c))throw new Error(`structured_schema_keyword_unsupported:${c}`);if(s.$schema!==void 0&&s.$schema!=="https://json-schema.org/draft/2020-12/schema")throw new Error("structured_schema_dialect_unsupported");if(typeof s.$ref=="string"){if(!s.$ref.startsWith("#/$defs/"))throw new Error("structured_schema_external_or_recursive_ref");let c=a;for(let m of s.$ref.slice(2).split("/"))c=ke(c)&&Object.hasOwn(c,m.replaceAll("~1","/").replaceAll("~0","~"))?c[m.replaceAll("~1","/").replaceAll("~0","~")]:void 0;n(c,i+1,u)}if(s.pattern!==void 0){if(typeof s.pattern!="string"||s.pattern.length>200||/[()|\\]/.test(s.pattern))throw new Error("structured_schema_pattern_unsupported");let c=s.pattern.match(/[+*?{]/g)?.length??0;if(c>1||c===1&&(!s.pattern.startsWith("^")||!s.pattern.endsWith("$")))throw new Error("structured_schema_pattern_unsupported")}for(let c of["properties","$defs"])if(s[c]!==void 0){if(!ke(s[c]))throw new Error("structured_schema_map_invalid");for(let m of Object.values(s[c]))n(m,i+1,u)}for(let c of["items","additionalProperties","not","if","then","else"])s[c]!==void 0&&n(s[c],i+1,u);for(let c of["allOf","anyOf","oneOf"])if(s[c]!==void 0){if(!Array.isArray(s[c])||!s[c].length)throw new Error("structured_schema_union_invalid");for(let m of s[c])n(m,i+1,u)}}l(n,"visit"),n(t,0,new Set),Qt(t)}l(er,"assertStructuredOutputSchema");function ct(t,a){if(t.byteLength>128e3||I(t)!==a)throw new Error("structured_schema_asset_mismatch");let r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(t));return er(r),{schema:r,schemaHash:a,schemaSource:new TextDecoder("utf-8",{fatal:!0}).decode(t)}}l(ct,"resolveStructuredOutput");function tr(t){if(er(t.schema),I(new TextEncoder().encode(t.schemaSource))!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_schema_contract_changed");if(!/^[a-f0-9]{64}$/.test(t.schemaHash))throw new Error("structured_schema_hash_invalid");t.sampling!==void 0&&Ie(t,t.sampling)}l(tr,"assertStructuredOutputContract");function _s(t){let a=new Set;return t.flatMap((r,n)=>{if(a.has(r.path)||!r.path||r.path.startsWith("/")||r.path.replaceAll("\\","/").split("/").some(s=>!s||s==="."||s===".."))throw new Error("structured_output_path_invalid_or_duplicate");if(a.add(r.path),r.submissionMode!=="structured_json"){if(r.structuredOutput)throw new Error("structured_output_opt_in_missing");return[]}if(r.mediaType!=="application/json"||!r.structuredOutput)throw new Error("structured_output_contract_missing");return tr(r.structuredOutput),[{type:"function",function:{name:`work_submit_output_${n+1}`,description:`Validate and save ${r.path}. Supply the output fields directly; validation errors can be corrected and resubmitted.${r.structuredOutput.sampling?" Full validation also enforces the postValidationOnly limits listed in requiredOutputs; a generated call can fail those submission limits.":""}`,parameters:r.structuredOutput.sampling?JSON.parse(r.structuredOutput.sampling.schemaSource):r.structuredOutput.schema}}]})}l(_s,"structuredOutputTools");function Ts(t,a){return t.find((r,n)=>r.submissionMode==="structured_json"&&a===`work_submit_output_${n+1}`)}l(Ts,"structuredToolOutput");function Zr(t,a){let r=0;function n(i,o){if(o>30||++r>1e4||Array.isArray(i)&&i.length>1e3)throw new Error("structured_output_payload_complexity");if(ke(i)||Array.isArray(i))for(let u of Object.values(i))n(u,o+1)}l(n,"bound"),n(a,0);let s=Qt(t);return s(a)?[]:(s.errors??[]).slice(0,20).map(i=>Zt(t,a,i))}l(Zr,"validateStructuredOutput");function Yr(t,a){if(a.byteLength>(t.maxBytes??1e7))throw new Error("work_output_too_large");if(t.submissionMode!=="structured_json")return;if(!t.structuredOutput)throw new Error("structured_output_contract_missing");tr(t.structuredOutput);let r;try{r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(a))}catch{throw new Error("structured_output_invalid_json")}let n=Zr(t.structuredOutput.schema,r);if(n.length)throw new Error("structured_output_invalid:"+JSON.stringify(n));return{status:"passed",schemaHash:t.structuredOutput.schemaHash,...t.structuredOutput.sampling?{samplingSchemaHash:t.structuredOutput.sampling.schemaHash,samplingSchemaDeclaration:t.structuredOutput.sampling.declaration,postValidationOnly:Yt(t.structuredOutput,t.structuredOutput.sampling)}:{},artifactHash:I(a),capability:Kr}}l(Yr,"validateOutputBytes");function Es(t,a){let r=new TextEncoder().encode(JSON.stringify(a,null,2)+`
|
|
3
|
-
`);return Yr(t,r),r}l(Es,"serializeStructuredOutput");var dt=e.object({batch:Mt,evidence:e.array(Dt).min(1).max(1e4),decisions:e.array(Ot).min(1).max(1e4),sources:e.array($t).min(1).max(1e4),assets:e.array(Y).max(1e3)}).strict();function rr(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=Ae(a.submission.evaluatorContext),n=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:$(n),sizeBytes:n.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(n,s=>String.fromCharCode(s)).join(""))}})}l(rr,"learningPackageContextFiles");function ar(t,a){let r=dt.parse(a),n=X(t);if(!T(v(r.batch),n.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let m of[r.evidence,r.decisions,r.sources,r.assets]){let h=new Set;for(let d of m){Ee(d);let p=`${d.id}:${d.revision}`;if(h.has(p))throw new Error("Taskset learning resource identities must be unique.");h.add(p)}}if(r.evidence.length!==r.batch.examples.length||r.decisions.length!==r.batch.examples.length)throw new Error("Taskset learning snapshots must match the admitted batch inventory.");for(let m of r.evidence){let h=r.sources.find(d=>T(v(d),m.source));if(!h||!T(h.taskDefinition,v(n.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(m=>!r.evidence.some(h=>T(h.source,v(m)))))throw new Error("Taskset package includes an unrelated learning source.");let s=n.rewards.flatMap(m=>[...m.assets,...m.implementation.kind==="custom_verifier"?[m.implementation.verifierRef]:m.implementation.kind==="model_judge"||m.implementation.kind==="human"?[m.implementation.rubricRef]:[],..."inputContract"in m.implementation?[m.implementation.inputContract]:[]]);for(let m of s){let h=r.assets.find(d=>d.id===m.id);if(!h)throw new Error("Taskset learning Reward asset is missing.");D(h,m)}if(r.assets.some(m=>!s.some(h=>h.id===m.id)))throw new Error("Taskset package includes an unrelated learning asset.");let i=Bt({batch:r.batch,definition:n.definition,binding:n.binding,rewards:n.rewards,evidence:r.evidence,decisions:r.decisions}),o=X(i);if(g(o)!==g(n))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let u=l(m=>({policy:m.policy,environment:m.environment,tools:m.tools}),"execution");if(g(u(i))!==g(u(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let c=l(m=>({id:m.id,clusterKey:m.clusterKey,split:m.split,input:m.input,expectedOutput:m.expectedOutput,policyVisibleContext:m.policyVisibleContext,privilegedContextRef:m.privilegedContextRef,artifactRefs:m.artifactRefs,requiredOutputs:m.requiredOutputs??[],tags:m.tags}),"taskContent");if(g(i.tasks.map(c))!==g(t.tasks.map(c)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}l(ar,"validateTasksetLearningResources");var K=N.shape.id,xe=e.string().regex(/^[a-f0-9]{64}$/),Xr=e.object({scopeId:K,modelId:K}).strict(),mt=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:Xr,root:N,parent:N}).strict(),Bs=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:K,modelId:K,expectedModelRevision:e.number().int().positive(),sourcePackageHash:xe}).strict(),sr=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:K,requestHash:xe,sourcePackageHash:xe,sourceTasksetRef:N,tasksetId:K,tasksetRevision:e.number().int().positive(),lineage:mt,authoringGraph:e.literal("bound").optional()}).strict(),nr=e.string().min(1).max(1024).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.includes("\0")&&!t.startsWith("/")&&!t.split("/").some(a=>!a||a==="."||a===".."||a.startsWith(".env")),"Use a relative Taskset file path without environment files."),Qr=e.object({path:nr,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),ir=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),Fs=Qr.extend({contentHash:xe,content:ir}).strict(),qs=e.object({draftId:K,expectedDraftRevision:e.number().int().positive(),path:nr,expectedFileHash:xe.nullable(),content:ir.nullable()}).strict();var $e=64*1024*1024,De=e.object({asset:C,base64:e.string()}).strict();function j(t){let a=De.parse(t),r=atob(a.base64);if(btoa(r)!==a.base64)throw new Error(`Taskset asset ${a.asset.id} has noncanonical base64.`);let n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);if(n.byteLength!==a.asset.sizeBytes||$(n)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return n}l(j,"decodeTasksetPackageFile");var Qs=e.string().regex(/^[a-f0-9]{64}$/);var ee=e.object({environment:q,verifierSet:V,javascript:Jt}).strict(),en=e.object({actions:e.array(e.object({name:e.string().min(1).max(64),arguments:e.record(e.string(),e.unknown())}).strict()).max(1e3)}).strict();function lt(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${_({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}l(lt,"modelStarterExecutionAssetId");function or(t){let a=ee.parse(t);cr(a);let r=lt({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),n=zt({text:Ae(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:s,...i}=n;return _({...i,id:r,asset:{...i.asset,id:r}})}l(or,"createModelStarterExecutionAsset");function U(t,a){return _({value:t}).contentHash===_({value:a}).contentHash}l(U,"equal");function cr(t){Wt(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...n}=a;if(_(n).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!U(t.environment.metadata.javascriptEnvironment,v(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}l(cr,"assertExecutionIntegrity");function Oe(t,a,r){if(!t){if(a.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:n,verifierSet:s,javascript:i}=t;if(cr(t),!U(a.environmentRelease,{id:n.id,contentHash:n.contentHash})||!U(a.verifierSetRelease,{id:s.id,contentHash:s.contentHash})||!U(n.contract,a.environment)||!U(s.graders,a.graders)||!U(a.tools,i.tools)||!U(n.metadata.javascriptEnvironment,v(i)))throw new Error("Starter execution resources differ from its declared task context.");let o=n.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||a.capabilities.length||a.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let u of[i.module,n.actionSchemaRef,n.observationSchemaRef,n.stateSchemaRef]){if(!u)continue;let c=r.find(m=>m.id===u.id);if(!c)throw new Error(`Starter environment asset is missing: ${u.id}.`);D(c,u)}for(let u of a.tasks){let c=r.find(h=>h.id===u.privilegedContextRef);if(!c||c.asset.visibility!=="host_private"||c.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${u.id}.`);let m=JSON.parse(D(c,c.asset));if(!m||typeof m!="object"||Array.isArray(m))throw new Error(`Starter initial state must be a JSON object: ${u.id}.`);le(m,i.maxStateBytes)}}l(Oe,"validateModelStarterExecution");function ut(t){if(t.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let a=new Map(t.files.map(o=>[o.asset.id,o])),r=l(o=>{let u=a.get(o);if(!u)throw new Error(`Taskset environment asset is missing: ${o}.`);if(u.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let c=new TextDecoder("utf-8",{fatal:!0}).decode(j(u));return Y.parse(_({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:u.asset,text:c}))},"read"),n;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");n=ee.parse(t.modelResources.execution)}else{let o=r(lt(t.taskset));if(o.asset.visibility!=="host_private"||o.asset.mediaType!=="application/json"||o.asset.path!=="environment/execution.json")throw new Error("Taskset execution declaration must be private JSON at environment/execution.json.");n=ee.parse(JSON.parse(o.text))}let i=[...new Set([n.javascript.module.id,...[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return Oe(n,t.taskset,i),{execution:n,assets:i}}l(ut,"resolveTasksetPackageExecution");function ea(t){let a=or(t),r=new TextEncoder().encode(a.text),n="";for(let s of r)n+=String.fromCharCode(s);return{asset:a.asset,base64:btoa(n)}}l(ea,"createTasksetPackageExecutionFile");var dr=e.object({environment:q,verifierSet:V}).strict();var lr=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),ta=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:lr,root:Q,parent:Q}).strict(),pt=e.object({taskset:B,taskDefinition:tt,rewardBinding:fe,rewards:e.array(pe).min(1).max(100),assets:e.array(Y).max(1e3),executionResources:dr.optional(),execution:ee.optional(),instructionMode:e.literal("per_task").optional()}).strict(),O=l((t,a)=>_({value:t}).contentHash===_({value:a}).contentHash,"same"),mr=l((t,a)=>`model-taskset-${_({owner:t,root:a}).contentHash}`,"identity");function yn(t){return ra({...t,source:Me(t.source)})}l(yn,"deriveModelTaskset");function ra(t){let a=lr.parse(t.owner),r=t.source,n=t.edits??r,s=r.taskset.metadata.modelTasksetDerivation===void 0?null:ta.parse(r.taskset.metadata.modelTasksetDerivation);if(s&&r.taskset.id!==mr(s.owner,s.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let i=s&&O(s.owner,a),o=i?s.root:v(r.taskset),u=i?r.taskset.id:mr(a,o),c=i?r.taskset.revision+1:1,m=fe.parse(t.rewardBinding),h=t.rewards.map(me=>pe.parse(me)),d=F(m,h);if(m.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let p={...n.taskset.policy,hiddenGraderRefs:d.filter(me=>me.privileged).map(me=>me.id)},x=n.executionResources??n.execution,f=x?.environment??je({schemaVersion:"openpond.environmentRelease.v1",id:`${u}-environment`,revision:1,contract:n.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),k=Pe({schemaVersion:"openpond.verifierSetRelease.v1",id:`${u}-verifiers`,revision:c,graders:d,isolation:x?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:x?{sourceVerifierSet:v(x.verifierSet)}:{}}),b={environment:f,verifierSet:k},R=n.execution?{...n.execution,verifierSet:k}:void 0,{contentHash:ce,...ve}=n.taskset,{contentHash:St,...bt}=n.taskDefinition,vt={...bt.execution,policy:p,environmentRelease:{id:f.id,contentHash:f.contentHash},verifierSetRelease:{id:k.id,contentHash:k.contentHash}},yt=tt.parse(_({...bt,id:`${u}-definition`,revision:c,rewardBinding:v(m),execution:vt})),de=n.taskset.metadata.starterAuthoring??n.taskset.metadata.ordinaryAuthoring,Rt=de&&typeof de=="object"&&!Array.isArray(de)&&"graderFixtures"in de?de.graderFixtures:void 0,Fr=B.parse(_({...ve,...vt,id:u,revision:c,graders:d,metadata:{starter:{taskDefinition:v(yt),rewardBinding:v(m)},rewardExecution:{binding:m,rewards:h},...Rt===void 0?{}:{starterAuthoring:{graderFixtures:Rt}},...n.taskset.metadata.environmentResources===void 0?{}:{environmentResources:n.taskset.metadata.environmentResources},...n.taskset.metadata.workAssetStagingPaths===void 0?{}:{workAssetStagingPaths:n.taskset.metadata.workAssetStagingPaths},...n.taskset.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:n.taskset.metadata.tasksetOutputContract},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:v(r.taskset)}}}));return Me({taskset:Fr,taskDefinition:yt,rewardBinding:m,rewards:h,assets:t.assets,executionResources:b,...R?{execution:R}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}l(ra,"compileModelTasksetReward");function Me(t){let a=pt.parse(t),{taskset:r,taskDefinition:n,rewardBinding:s,rewards:i,assets:o,execution:u}=a;for(let k of[r,n,s,...i,...o])Ee(k);if(Te(r),s.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!T(n.rewardBinding,v(s)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:c,environment:m,environmentRelease:h,tools:d,capabilities:p,verifierSetRelease:x}=r;if(!O(n.execution,{policy:c,environment:m,...h?{environmentRelease:h}:{},tools:d,capabilities:p,...x?{verifierSetRelease:x}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!O(r.graders,F(s,i)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let k=e.object({taskDefinition:Q,rewardBinding:Q}).passthrough().parse(r.metadata.starter);if(!T(k.taskDefinition,v(n))||!T(k.rewardBinding,v(s)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!O(r.metadata.rewardExecution,{binding:s,rewards:i}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!T(Q.parse(r.metadata.rewardBinding),v(s)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let f=a.executionResources??u;if(r.environmentRelease&&!f)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(f&&(!J(f.environment)||!W(f.verifierSet)||!O(r.environmentRelease,{id:f.environment.id,contentHash:f.environment.contentHash})||!O(r.verifierSetRelease,{id:f.verifierSet.id,contentHash:f.verifierSet.contentHash})||!O(r.environment,f.environment.contract)||!O(r.graders,f.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(Oe(u,r,o),new Set(o.map(k=>k.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let k of o)D(k,k.asset);for(let k of f?[f.environment.actionSchemaRef,f.environment.observationSchemaRef,f.environment.stateSchemaRef]:[]){if(!k)continue;let b=o.find(R=>R.id===k.id);if(!b)throw new Error(`Taskset environment asset is missing: ${k.id}.`);D(b,k)}for(let k of r.tasks){if(n.requiredOutputs&&!O(k.requiredOutputs,n.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${k.id}.`);if(a.instructionMode!=="per_task"&&k.policyVisibleContext.instructions!==n.instructions||!Qe(n.inputSchema,k.input).valid||k.expectedOutput!==null&&!Qe(n.outputSchema,k.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${k.id}.`);if(k.privilegedContextRef&&!o.some(b=>b.id===k.privilegedContextRef&&b.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${k.id}.`)}for(let k of i){let b=k.implementation,R=[...k.assets,..."verifierRef"in b?[b.verifierRef]:[],..."rubricRef"in b?[b.rubricRef]:[],..."inputContract"in b?[b.inputContract]:[]];for(let ce of R){let ve=o.find(St=>St.id===ce.id);if(!ve||ce.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${ce.id}.`);D(ve,ce)}}return a}l(Me,"validateModelTasksetPackage");function aa(t){return`model-authored-taskset-${g({owner:t.owner,root:t.root})}`}l(aa,"modelAuthoredTasksetId");function ur(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=mt.parse(t.metadata.modelTasksetAuthoring);if(t.id!==aa(a)||(t.revision===1?!T(a.parent,a.root):a.parent.id!==t.id||a.parent.revision!==t.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return a}l(ur,"assertModelTasksetAuthoring");var A=e.string().trim().min(1).max(240),M=e.string().trim().min(1),G=e.string().trim().min(8).max(256),pr=e.string().trim().min(1).max(1e3).refine(t=>!t.startsWith("/")&&!t.startsWith("\\")&&!t.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),L=e.enum(["train","validation","test","frozen_eval"]),sa=e.object({name:e.string().trim().min(1).max(500),semanticRole:e.enum(["row_id","cluster_id","prompt","messages","demonstration","chosen","rejected","expected_output","privileged_context","reward","feedback","tag","metadata"]),logicalType:e.enum(["string","integer","float","boolean","json","messages"]),nullable:e.boolean(),policy:e.enum(["visible","privileged","metadata"])}),na=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(sa).min(1).max(1e4),schemaHash:G}),ia=e.object({id:A,split:L,path:pr,contentHash:G,schemaHash:G,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),Se=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:A,tasksetId:A,tasksetRevision:e.number().int().positive(),contentHash:G,format:e.literal("parquet"),schema:na,shards:e.array(ia).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(L,e.number().int().nonnegative()),sourceReceiptRefs:e.array(A).min(1).max(1e5),mappingHash:G,qualityReportHash:G,createdAt:M}),Cn=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:A,tasksetId:A,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(L,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:G,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:M}),oa=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:A,tasksetRevision:e.number().int().positive(),artifactId:A.nullable(),name:e.string().trim().min(1).max(500),status:e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),storageKind:e.enum(["inline","parquet"]),rowCount:e.number().int().nonnegative(),splitCounts:e.record(L,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:M,updatedAt:M}),Hn=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:A,datasets:e.array(oa),generatedAt:M}),In=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:Se,profileId:A,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:pr,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:M.nullable(),createdAt:M,updatedAt:M}),$n=e.object({split:L.nullable().default(null),cursor:e.string().trim().min(1).max(2e3).nullable().default(null),limit:e.number().int().min(1).max(100).default(25),columns:e.array(e.string().trim().min(1).max(500)).max(100).default([])}),Dn=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:A,tasksetRevision:e.number().int().positive(),artifactHash:G,split:L.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),ca=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:M}),da=e.object({id:A,label:e.string().trim().min(1).max(500),path:e.string().trim().min(1).max(4e3),datasetStorePath:e.string().trim().min(1).max(4e3),kind:e.enum(["local","network","removable","cache"]),configured:e.boolean(),mounted:e.boolean(),writable:e.boolean(),totalBytes:e.number().int().nonnegative().nullable(),freeBytes:e.number().int().nonnegative().nullable()}),On=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:ca,storageRoots:e.array(da)}),Mn=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)});var te=e.string().trim().min(1).max(240),ma=e.string().trim().min(1),re=e.string().trim().min(8).max(256),la=e.record(e.string(),e.unknown()).default({}),ua=e.string().trim().min(7).max(256),pa=e.enum(["pending","approved","review","blocked"]),ze=e.object({id:te,profileId:te,title:e.string().trim().min(1).max(500),sourceHash:re,occurredAt:ma,licensingStatus:pa,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:la}),fa=ze.extend({schemaVersion:e.literal("openpond.huggingFaceDatasetSource.v1"),kind:e.literal("huggingface"),repositoryId:e.string().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:e.string().url().max(2e3),revision:ua,configuration:e.string().trim().min(1).max(500),upstreamSplits:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),gated:e.boolean(),private:e.boolean(),declaredLicense:e.string().trim().min(1).max(500).nullable(),sourceFileHashes:e.array(re).min(1).max(1e5)}),ha=ze.extend({schemaVersion:e.literal("openpond.uploadedFileDatasetSource.v1"),kind:e.literal("uploaded_file"),originalFileNames:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),mediaTypes:e.array(e.string().trim().min(1).max(200)).min(1).max(1e3),sourceFileHashes:e.array(re).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),ga=ze.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:te,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:re}),ka=ze.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:te,revision:e.number().int().positive(),contentHash:re}).strict(),taskDefinition:e.object({id:te,revision:e.number().int().positive(),contentHash:re}).strict(),admittedBy:te}),fr=e.discriminatedUnion("kind",[fa,ha,ga,ka]);var hr=e.object({schemaVersion:e.literal("openpond.connectedDatasetSource.v1"),kind:e.literal("connected_activity"),id:e.string().min(1).max(240),profileId:e.string().min(1).max(240),title:e.string().min(1).max(500),sourceHash:e.string().regex(/^[a-f0-9]{64}$/),occurredAt:e.string().datetime(),licensingStatus:e.enum(["pending","approved","review","blocked"]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),origin:Kt,sourceId:e.string().min(1).max(500),sessionId:e.string().min(1).max(500),normalizerVersion:e.string().min(1).max(200),projection:e.enum(["turn","conversation"]),ownerUserId:e.string().min(1).max(500),purpose:e.literal("recorded_evaluation"),sourceFileHashes:e.array(e.string().regex(/^[a-f0-9]{64}$/)).max(100).optional(),metadata:e.record(e.string(),e.unknown()).default({})}).strict();var gr=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:ye,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:Re,agentRelease:wt,implementationHash:Re,runtimeBindingId:ye,capabilityReceiptHash:Re,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:ye,source:e.literal("case_id")}).strict()).max(20).default([])}).strict();var S=e.string().trim().min(1).max(240),ft=e.string().trim().min(1),xa=e.string().trim().min(8).max(256),ht=e.string().trim().regex(/^[a-f0-9]{64}$/),Sa=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),P=e.record(e.string(),e.unknown()).default({}),Fe=S.nullable();function ae(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}l(ae,"safeRelativeFilePath");function ba(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}l(ba,"safeFileName");var Be=L,qe=e.enum(["general","benchmark"]),Ve=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:S,releaseId:S,releaseHash:ht,managedReleasePath:e.string().trim().min(1).max(1e3).refine(ae,"Benchmark release paths must remain relative."),adaptationSplit:Be,evaluationSplit:Be,primaryMetric:e.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),qualityGate:e.enum(["none","non_regression","all_pass"]),source:e.enum(["builtin","imported"]),metadata:P}),Ge=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:S,releaseHash:ht,publishedAt:ft,metadata:P}),va=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:Fe,grantedAt:ft.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),ya=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:S,profileId:S,sessionId:S,turnIds:e.array(S).max(1e3).default([]),workspaceId:Fe,sourceHash:xa,clusterKey:S,title:e.string().trim().min(1).max(500),occurredAt:ft,consent:va,connectedAppIds:e.array(S).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:P}),Le=e.union([ya,fr,hr]),Ne=e.object({policyVisibleFields:e.array(S).max(1e3).default([]),privilegedFields:e.array(S).max(1e3).default([]),hiddenGraderRefs:e.array(S).max(100).default([]),connectedAppScopes:e.array(S).max(100).default([])}),Ra=e.object({id:S,sourceRefId:S,artifactRef:e.string().trim().min(1).max(4e3).refine(ae,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(ba,"Task asset file names must not contain path separators."),stagingPath:e.string().trim().min(1).max(1e3).refine(ae,"Task asset staging paths must stay inside Work inputs.").optional(),mediaType:e.string().trim().min(1).max(200),sha256:ht,sizeBytes:e.number().int().nonnegative().max(25e7),split:Be,metadata:P}).superRefine((t,a)=>{t.stagingPath&&t.stagingPath.split("/").at(-1)!==t.fileName&&a.addIssue({code:"custom",message:"Staged task assets must preserve their source file name.",path:["stagingPath"]})}),wa=e.object({path:e.string().trim().min(1).max(1e3).refine(ae,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:S.nullable().optional(),submissionMode:e.literal("structured_json").optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:P}),Je=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:S,clusterKey:S,split:Be,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:Fe,sourceRefs:e.array(S).min(1).max(100),assets:e.array(Ra).max(1e3).optional(),resourceRefs:e.array(S).max(1e3).optional(),requiredOutputs:e.array(wa).max(100).optional(),tags:e.array(S).max(100).default([]),metadata:P}),_a=e.object({id:S,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(ae,"Environment resource paths must remain relative."),mediaType:e.string().trim().min(1).max(200).nullable().optional(),visibility:e.enum(["policy_visible","policy_hidden","privileged"]),required:e.boolean(),metadata:P}),se=e.object({id:S,taskId:Fe,sourceRefs:e.array(S).min(1).max(100),artifactRef:S,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:P}),kr=se.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),xr=se.extend({kind:e.literal("preference"),prompt:e.string().max(1e5),chosen:e.string().max(2e5),rejected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Sr=se.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),br=se.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),vr=se.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:S,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),yr=se.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:S,label:e.string().trim().min(1).max(500),description:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),calibrationExamples:e.object({positive:e.string().trim().min(1).max(2e5),negative:e.string().trim().min(1).max(2e5),boundary:e.string().trim().min(1).max(2e5)})}),ti=e.discriminatedUnion("kind",[kr,xr,Sr,br,vr,yr]),We=e.object({demonstrations:e.array(kr).max(1e5).default([]),preferences:e.array(xr).max(1e5).default([]),corrections:e.array(Sr).max(1e5).default([]),feedback:e.array(br).max(1e5).default([]),rewards:e.array(vr).max(1e5).default([]),labels:e.array(yr).max(1e5).default([])}),Ke=e.object({protocolVersion:e.literal("openpond.taskEnvironment.v1"),kind:e.enum(["chat","agent","program","stateful_harness","work"]),entrypoint:e.string().trim().min(1).max(1e3),stateful:e.boolean(),deterministicSeeds:e.boolean(),toolNames:e.array(S).max(200).default([]),actionBindings:e.array(gr).max(200).optional(),lifecycle:e.array(e.enum(["create","reset","step","grade","cleanup"])).min(1),defaultTimeoutMs:e.number().int().positive().max(36e5),networkPolicy:e.enum(["none","declared_read_only","declared_scoped"]),resources:e.array(_a).max(1e4).optional(),metadata:P}),Ue=e.object({schemaVersion:e.literal("openpond.tasksetCapabilities.v1"),taskKind:e.enum(["chat","single_agent","multi_agent","custom_program"]),supportedSignals:e.array(e.enum(["demonstration","preference","correction","feedback","reward","label"])),compatibleMethods:e.array(e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"])),rewardKinds:e.array(e.enum(["none","exact","deterministic","model_judge","human"])),requiresTools:e.boolean(),requiresState:e.boolean(),requiresPrivilegedGrading:e.boolean(),environmentPlacements:e.array(e.enum(["local","remote","colocated","provider_native"])),exportable:e.boolean(),portabilityBlockers:e.array(e.string().trim().min(1).max(2e3)).default([])}),Ze=e.object({id:S,taskIds:e.array(S).min(1).max(1e4).refine(t=>new Set(t).size===t.length,"Grader task IDs must be unique.").optional(),version:e.string().trim().min(1).max(100),label:e.string().trim().min(1).max(500),weight:e.number().min(0).max(1e3).default(1),hardGate:e.boolean().default(!1),rewardEligible:e.boolean().default(!1),privileged:e.boolean().default(!1),metadata:P}),Ta=Ze.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),Ea=Ze.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:we,calibrationFixtureRefs:e.array(S).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),Aa=Ze.extend({kind:e.literal("human"),form:At.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),ja=Ze.extend({kind:e.literal("custom_verifier"),runtime:jt.optional(),module:e.string().trim().min(1).max(1e3).refine(ae,"Custom verifier modules must use a safe relative path."),exportName:Sa,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),Ye=e.union([Ta,Ea,Aa,ja]),Pa=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),ne=e.object({id:S,taskId:S,label:Pa,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:P});var Rr=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:Ht,fixtureSet:C,calibrationCheck:N,fixture:Ft,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:C,graderId:e.string().min(1).max(240).optional()}).strict();function wr(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:ne.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}l(wr,"authoredFixtures");function _r(t){for(let a of wr(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&Ca(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Tr(t,a.asset)}l(_r,"assertTasksetCalibrationClosures");function Ca(t,a){let r=Rr.parse(a.metadata.rewardCalibration),n=Tr(t,r.closureRef);(g(r.sourceReward)!==g(v(n.reward))||g(r.fixtureSet)!==g(n.reward.fixtureSetRef)||r.calibrationCheck.id!==n.check.id||r.calibrationCheck.revision!==n.check.revision||r.calibrationCheck.contentHash!==g(n.check))&&y("calibration_source_changed");let s=r.fixture,i=`calibration-${g([r.sourceReward,s.id])}`;(a.id!==i||a.taskId!==i||t.taskset.tasks.some(f=>f.id===i)||r.fixtureHash!==g(s)||g(a.output)!==g(s.output)||a.infrastructureError!==s.infrastructureError)&&y("calibration_fixture_changed");let o=n.check.results.filter(f=>f.fixture.id===s.id&&f.fixture.contentHash===r.fixtureHash);(o.length!==1||g(o[0])!==r.checkResultHash)&&y("calibration_result_changed");let u=s.expected;(u.status!=="scored"||typeof u.passed!="boolean"||a.expectedPassed!==u.passed||a.label!==(u.passed?"positive":"negative"))&&y("calibration_expectation_unsupported");let c=r.graderId??r.sourceReward.id,m=t.taskset.graders.filter(f=>f.id===c),h=m[0];(m.length!==1||!h)&&y("calibration_grader_not_unique"),a.expectedRewardEligible!==h.rewardEligible&&y("calibration_reward_expectation_changed");let d=It({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${n.contentHash}`,revision:1,sources:[{graderId:c,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:h.weight,required:!0,hardGate:h.hardGate,privileged:h.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[n.reward]),p=F(d,[n.reward])[0],x=l(f=>{let{rewardEligible:k,taskIds:b,...R}=f;return R.kind==="model_judge"?{...R,temperature:R.temperature??0}:R},"implementation");return g(x(h))!==g(x(p))&&y("calibration_grader_changed"),h.kind==="model_judge"&&Ha(t,h,r,n),{kind:"independent_reward_calibration",fixtureId:i,task:ue.parse({id:i,clusterKey:i,split:"validation",input:s.input,expectedOutput:s.expectedOutput,privilegedContextRef:null}),evaluatorContext:s.evaluatorContext,evidence:{output:s.output,artifactRefs:s.artifactRefs,runtimeEventRefs:s.runtimeEventRefs,infrastructureError:s.infrastructureError},grader:p,reward:n.reward,binding:d,expected:u,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}l(Ca,"resolveIndependent");function Tr(t,a){(a.visibility!=="host_private"||a.sizeBytes>qt||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&y("calibration_closure_not_private");let r=t.files.filter(c=>c.asset.id===a.id);(r.length!==1||g(r[0].asset)!==g(a))&&y("calibration_closure_asset_changed");let n=j(r[0]),s=new TextDecoder("utf-8",{fatal:!0}).decode(n),i=Vt(JSON.parse(s));g(Gt(i).asset)!==g(a)&&y("calibration_closure_reference_changed"),t.files.filter(c=>c.asset.contentHash===a.contentHash||c.asset.id===a.id||c.asset.path===a.path).some(c=>c.asset.visibility!=="host_private")&&y("calibration_closure_visible_alias");let u=l(c=>c.id===a.id||c.path===a.path||c.contentHash===a.contentHash,"isAlias");for(let c of t.taskset.tasks)(c.artifactRefs.some(u)||(c.requiredOutputs??[]).some(m=>m.schemaRef&&u(m.schemaRef))||c.privilegedContextRef&&t.files.some(m=>m.asset.id===c.privilegedContextRef&&u(m.asset)))&&y("calibration_closure_task_alias"),(gt(c.input,s,a.contentHash)||gt(c.policyVisibleContext,s,a.contentHash))&&y("calibration_closure_inline_alias");for(let c of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])c&&u(c)&&y("calibration_closure_environment_schema_alias");for(let c of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(c===void 0)continue;let m=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(c);for(let h of m){let d=t.files.find(p=>p.asset.path===h.path);(h.id===a.id||h.path===a.path||d&&u(d.asset))&&y("calibration_closure_environment_resource_alias")}}return i}l(Tr,"readPrivateClosure");function gt(t,a,r){return typeof t=="string"?t===a||$(t)===r:!t||typeof t!="object"?!1:$(JSON.stringify(t))===r?!0:Object.values(t).some(n=>gt(n,a,r))}l(gt,"containsClosure");function y(t){throw new Error(t)}l(y,"fail");function Ha(t,a,r,n){let s=a.id,i=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring,o=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(i),u=n.check.fixtureRefs.map(m=>`calibration-${g([r.sourceReward,m.id])}`);g(o.judgeCalibrationFixtures[s]??[])!==g(u)&&y("calibration_judge_membership_changed");let c=wr(t);for(let m=0;m<u.length;m++){let h=c.filter(b=>b.id===u[m]);h.length!==1&&y("calibration_judge_membership_changed");let d=h[0],p=Rr.parse(d.metadata.rewardCalibration),x=p.fixture.expected;(x.status!=="scored"||typeof x.passed!="boolean"||d.expectedPassed!==x.passed||d.expectedRewardEligible!==a.rewardEligible||d.label!==(x.passed?"positive":"negative")||g(d.output)!==g(p.fixture.output)||d.infrastructureError!==p.fixture.infrastructureError)&&y("calibration_judge_membership_changed");let f=n.check.fixtureRefs[m],k=n.check.results.find(b=>b.fixture.id===f.id);(d.taskId!==d.id||p.fixture.id!==f.id||p.fixtureHash!==f.contentHash||g(p.fixture)!==f.contentHash||p.checkResultHash!==g(k)||g(p.sourceReward)!==g(r.sourceReward)||g(p.fixtureSet)!==g(r.fixtureSet)||g(p.calibrationCheck)!==g(r.calibrationCheck)||g(p.closureRef)!==g(r.closureRef)||(p.graderId??p.sourceReward.id)!==s)&&y("calibration_judge_membership_changed")}}l(Ha,"assertJudgeFixtureMembership");var Ia=pt.omit({taskset:!0,executionResources:!0}),Er=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:B,environment:q,verifierSet:V,files:e.array(De).max(1e4),modelResources:Ia.optional(),learningResources:dt.optional()}).strict(),$a=Er.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function _i(t){return t.learningResources?X(t.taskset).binding:t.modelResources?.rewardBinding??null}l(_i,"tasksetPackageRewardBinding");function Da(t){return t.learningResources?X(t.taskset).definition.instructions:t.modelResources?t.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(t.taskset.metadata.ordinaryAuthoring??{}).instructions??""}l(Da,"resolveTasksetPackageInstructions");function Ar(t,a=$e){le(t,a);let r=$a.parse(t),{contentHash:n,...s}=r;if(g(s)!==n)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:o,verifierSet:u}=r;if(Te(i),ur(i)&&(r.modelResources||r.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!J(o)||!W(u)||!Z(i.environmentRelease,{id:o.id,contentHash:o.contentHash})||!Z(i.verifierSetRelease,{id:u.id,contentHash:u.contentHash})||!Z(i.environment,o.contract)||!Z(i.graders,u.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let m=new Map;for(let d of r.files){if(m.has(d.asset.id))throw new Error(`Duplicate Taskset asset identity: ${d.asset.id}.`);j(d),m.set(d.asset.id,d)}function h(d){let p=m.get(d.id);if(!p||!Z(p.asset,d))throw new Error(`Taskset package asset is missing or mismatched: ${d.id}.`)}l(h,"requireAsset");for(let d of i.tasks){for(let p of d.artifactRefs)h(p);for(let p of d.requiredOutputs??[]){let x=it(p.metadata);if(x&&p.submissionMode!=="structured_json")throw new Error("Sampling schema requires a structured output.");if(p.schemaRef&&h(p.schemaRef),p.submissionMode==="structured_json"){if(!p.schemaRef||p.schemaRef.visibility!=="policy"||p.mediaType!=="application/json"||o.contract.kind!=="work")throw new Error("Structured output requires a policy-visible JSON schema in Work.");let f=ct(j(m.get(p.schemaRef.id)),p.schemaRef.contentHash);if(x){if(h(x.schemaRef),!d.artifactRefs.some(k=>Z(k,x.schemaRef)))throw new Error("Sampling schema must be an ordinary declared policy artifact.");ot(f,x,j(m.get(x.schemaRef.id)))}}}if(d.privilegedContextRef&&m.get(d.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${d.id}.`)}for(let d of[o.actionSchemaRef,o.observationSchemaRef,o.stateSchemaRef])d&&h(d);for(let d of i.graders){let p="verifierRef"in d?d.verifierRef:"rubricRef"in d?d.rubricRef:null;if(p&&(h(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(i.metrics?.customAggregator){let d=i.metrics.customAggregator,p=r.files.filter(x=>x.asset.path===d.module);if(p.length!==1||p[0].asset.contentHash!==d.contentHash||p[0].asset.sizeBytes>524288||p[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let d of[i.metadata.environmentResources,o.metadata.resources])if(d!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(d))if(!r.files.some(x=>x.asset.path===p.path))throw new Error(`Taskset environment resource is missing: ${p.path}.`)}if(r.learningResources){if(r.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let d=ar(i,r.learningResources);for(let p of rr(d))if(!Z(m.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of d.assets)h(p.asset)}else if(r.modelResources){let d=Me({...r.modelResources,taskset:i,executionResources:{environment:o,verifierSet:u}});for(let p of d.assets)h(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(d=>i.metadata[d]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return ut(r),Da(r),_r(r),r}l(Ar,"validateTasksetPackage");function Ti(t,a=$e){le(t,a);let r=Er.parse(t);return Ar({...r,contentHash:g(r)},a)}l(Ti,"createTasksetPackage");function Z(t,a){return g({value:t})===g({value:a})}l(Z,"same");function Ei(t,a){let r=Ar(t),n=r.taskset.tasks.find(s=>s.id===a);if(!n||r.environment.contract.kind!=="work")throw new Error("Work Taskset task not found.");return(n.requiredOutputs??[]).map(s=>({path:s.path,mediaType:s.mediaType,maxBytes:s.maxBytes,...s.submissionMode==="structured_json"?{submissionMode:"structured_json",structuredOutput:(()=>{let i=ct(j(r.files.find(u=>u.asset.id===s.schemaRef.id)),s.schemaRef.contentHash),o=it(s.metadata);return o?{...i,sampling:ot(i,o,j(r.files.find(u=>u.asset.id===o.schemaRef.id)))}:i})()}:{}}))}l(Ei,"resolveTasksetWorkOutputs");function Oa(t,a){let r=t.metadata.learning===void 0?null:rt.parse(t.metadata.learning),n=t.metadata.rewardExecution,s=a??(n?{binding:fe.parse(n.binding),rewards:pe.array().parse(n.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let i=t.metadata.rewardBinding;if(!s||!i||i.id!==s.binding.id||i.revision!==s.binding.revision||i.contentHash!==s.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return s&&F(s.binding,s.rewards),s?{binding:s.binding,rewards:s.rewards}:null}l(Oa,"resolvePortableTasksetRewardExecution");function zi(t){let a=Cr(t.taskset),r=Hr(t.taskset),n=t.taskset.metadata.learning===void 0?null:rt.parse(t.taskset.metadata.learning),s=t.taskset.metadata.rewardExecution,i=Oa(t.taskset,t.rewardExecution),o=i?F(i.binding,i.rewards):t.taskset.graders.map(za),u=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!u.length)throw new Error("A portable Taskset release requires at least one task.");let c=t.taskset.environment.metadata.portableExecutionResources;if(a.entrypoint==="openpond.javascript-environment.v1"&&!c)throw new Error("Tool Taskset publication requires its pinned execution resources.");let m=c?q.parse(c.environment):je({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,contract:a,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[t.adapterId]:g({adapterId:t.adapterId,environment:a,tools:r})},metadata:{sourceTasksetId:t.taskset.id,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,resources:t.taskset.environment.resources??[]}}),h=c?.verifierSet!==void 0?V.parse(c.verifierSet):Pe({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,graders:o,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(t.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:t.taskset.id}});if(!J(m)||!W(h)||g(m.contract)!==g(a)||g(h.graders)!==g(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let d=Pt.parse({schemaVersion:"openpond.tasksetRelease.v2",id:t.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${t.taskset.id}-r${t.taskset.revision}`:t.taskset.id,revision:t.taskset.revision,policy:{policyVisibleFields:t.taskset.policy.policyVisibleFields,privilegedFields:t.taskset.policy.privilegedFields,hiddenGraderRefs:t.taskset.policy.hiddenGraderRefs,connectedAppScopes:t.taskset.policy.connectedAppScopes},environment:a,tools:r,capabilities:Ba(t.taskset),tasks:u.map(Ma),graders:o,...t.taskset.metrics?{metrics:t.taskset.metrics}:{},metadata:{...t.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:t.taskset.id,sourceTasksetHash:t.taskset.contentHash,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,environmentResources:t.taskset.environment.resources??[],workAssetStagingPaths:Object.fromEntries(u.filter(f=>f.assets?.some(k=>k.stagingPath)).map(f=>[f.id,Object.fromEntries((f.assets??[]).filter(k=>k.stagingPath).map(k=>[k.id,k.stagingPath]))])),ordinaryAuthoring:{instructions:t.taskset.objective,graderSourceRewards:Object.fromEntries(t.taskset.graders.filter(f=>f.metadata.sourceReward!==void 0).map(f=>[f.id,f.metadata.sourceReward])),graderOrigins:Object.fromEntries(t.taskset.graders.map(f=>[f.id,f.metadata.preparationOrigin==="reused"?"reused":f.metadata.preparationOrigin==="adapted"||f.metadata.adaptedFromReward?"adapted":"authored"])),graderFixtures:t.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(t.taskset.graders.filter(f=>f.kind==="model_judge").map(f=>[f.id,f.calibrationFixtureRefs]))},...n?{learning:n}:{},...i&&!n&&(t.rewardExecution||s)?{rewardExecution:{binding:i.binding,rewards:i.rewards}}:{}},...t.taskset.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:t.taskset.metadata.tasksetOutputContract}}}),p=t.admittedTasksetRelease?B.parse(t.admittedTasksetRelease):B.parse({...d,contentHash:g(d)}),x=p.environmentRelease?Fa({draft:p,environmentRelease:m,verifierSetRelease:h}):Lt({taskset:p,environment:m,verifierSet:h});return{environmentRelease:m,verifierSetRelease:h,tasksetRelease:x}}l(zi,"materializePortableTasksetRelease");function Bi(t){if(!Nt(t.preferenceComparison))throw new Error("Preference comparison release failed immutable content verification.");let a=t.preferenceComparison;if(a.tasksetRelease.id!==t.tasksetRelease.id||a.tasksetRelease.contentHash!==t.tasksetRelease.contentHash)throw new Error("Preference comparison release must reference the admitted portable Taskset release.");return a}l(Bi,"projectPreferenceComparisonRelease");function Fi(t){return Cr(t)}l(Fi,"portableTasksetEnvironment");function qi(t){return Hr(t)}l(qi,"portableTasksetTools");function Ma(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=ue.parse(a),n=ue.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:jr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.filter(s=>r.artifactRefs.some(i=>i.id===s.id)||s.metadata.sharedEnvironmentResource===void 0&&!(t.requiredOutputs??[]).some(i=>i.submissionMode==="structured_json"&&i.schemaRef===s.id)).map(s=>{let i=r.artifactRefs.find(o=>o.id===s.id);return{id:s.id,path:i?.path??`tasks/${ie(t.id)}/${s.stagingPath??ie(s.fileName)}`,contentHash:kt(s.sha256),sizeBytes:s.sizeBytes,mediaType:s.mediaType,visibility:i?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(s=>{let i=r.requiredOutputs?.find(o=>o.path===s.path);return{path:s.path,mediaType:s.mediaType,...s.submissionMode?{submissionMode:s.submissionMode}:{},schemaRef:i?.schemaRef&&i.schemaRef.id===s.schemaRef?i.schemaRef:t.metadata.outputSchemaRefs?.[s.schemaRef??""]??null,maxBytes:s.maxBytes??null,metadata:{...s.metadata,...s.schemaRef&&i?.schemaRef?.id!==s.schemaRef?{legacySchemaRef:s.schemaRef}:{}}}})});return n.requiredOutputs===void 0&&delete n.requiredOutputs,n}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:jr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${ie(t.id)}/${r.stagingPath??ie(r.fileName)}`,contentHash:kt(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(t.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,...r.submissionMode?{submissionMode:r.submissionMode}:{},schemaRef:t.metadata.outputSchemaRefs?.[r.schemaRef??""]??null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:t.tags}}l(Ma,"projectPortableTaskRecord");function jr(t){if(!t.expectedOutput)return null;if("artifactRenderer"in t.expectedOutput)throw new Error(`Task ${t.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return t.expectedOutput}l(jr,"portableExpectedOutput");function Cr(t){return{protocolVersion:"openpond.environment.v1",kind:t.environment.kind==="chat"?"text":t.environment.kind==="work"?"work":t.environment.kind==="program"?"custom_program":"agent",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:t.environment.networkPolicy,defaultTimeoutMs:t.environment.defaultTimeoutMs}}l(Cr,"portableEnvironment");function Hr(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return Tt.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(n=>({name:n.modelToolName,description:n.description,inputSchema:n.inputSchema,inputSchemaHash:kt(n.actionSchemaHash),sideEffect:n.sideEffect,timeoutMs:n.timeoutMs})):t.environment.toolNames.map(n=>({name:n,description:`Host-provided ${n} tool.`,inputSchema:{},inputSchemaHash:g({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}l(Hr,"portableTools");function za(t){let a={id:t.id,...t.taskIds?{taskIds:t.taskIds}:{},version:t.version,weight:t.weight,hardGate:t.hardGate,rewardEligible:t.rewardEligible,privileged:t.privileged};if(t.kind==="model_judge")return{...a,kind:"model_judge",rubricRef:Pr(t),model:qa(t),temperature:t.temperature,calibrationStatus:t.calibrationStatus};if(t.kind==="custom_verifier"){if(t.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${t.id} requires its immutable executable asset before publication.`);let r=et.safeParse(t.metadata.portableGrader),n=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&t.exportName==="verify";return{...a,kind:"custom_verifier",...t.runtime===void 0?{}:{runtime:t.runtime},verifierRef:C.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...n?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:Pr(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...Ct(t)}}l(za,"portableGrader");function Ba(t){let a=t.metadata.portableCapabilities;return a!==void 0?Et.array().max(200).parse(a):[...t.capabilities.requiresTools?[{id:"tools",required:!0,scopes:t.environment.toolNames}]:[],...t.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...t.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:t.policy.hiddenGraderRefs}]:[],...t.policy.connectedAppScopes.map(r=>({id:`connected-app-${ie(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}l(Ba,"portableCapabilities");function Fa(t){if(t.draft.environmentRelease?.id!==t.environmentRelease.id||t.draft.environmentRelease.contentHash!==t.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(t.draft.verifierSetRelease?.id!==t.verifierSetRelease.id||t.draft.verifierSetRelease.contentHash!==t.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(g(t.draft.environment)!==g(t.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(g(t.draft.graders)!==g(t.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return t.draft}l(Fa,"assertReleaseBindings");function qa(t){let a=t.metadata.portableGrader===void 0?null:et.parse(t.metadata.portableGrader),r=a?.kind==="model_judge"&&a.model?.providerId===t.judge.providerId&&a.model.modelId===t.judge.modelId?a.model.revision:null;return{...t.judge,revision:r}}l(qa,"modelJudgeRef");function Pr(t){let a=$(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,n=t.metadata.portableRubricRef;if(n!==void 0){let s=C.parse(n);if(s.contentHash!==a||s.sizeBytes!==r||s.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return s}return{id:`rubric-${t.id}`,path:`graders/${ie(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}l(Pr,"rubricAsset");function kt(t){return/^[a-f0-9]{64}$/.test(t)?t:g(t)}l(kt,"hash");function ie(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}l(ie,"segment");var H=e.string().trim().min(1).max(240),be=e.string().trim().min(1),Xe=e.string().trim().min(8).max(256),$r=e.record(e.string(),e.unknown()).default({}),Va=H.nullable(),Dr=["work_capabilities","work_environment","work_list_files","work_read_file","work_read_document","work_write_file","work_write_docx","work_edit_file","work_delete_file","work_exec","work_save_output","work_stop"],Ga=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),La=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),w=e.string().trim().max(1e5),Na=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:w,examples:e.array(e.object({id:H,prompt:w,response:w})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:w,pairs:e.array(e.object({id:H,prompt:w,chosen:w,rejected:w,rationale:w})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:w,rules:e.array(e.object({id:H,points:e.number().finite(),condition:w})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:w,criteria:e.array(e.object({id:H,label:e.string().trim().max(500),description:w})).max(1e3).default([]),positiveExample:w,negativeExample:w,boundaryExample:w})]),Zi=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),Ja=e.object({primaryMethod:e.enum(["sft","dpo","grpo","ppo","sdft","opsd","sdpo"]),bootstrap:e.object({method:e.literal("sft"),purpose:e.literal("trajectory_bootstrap"),demonstrationRefs:e.array(H).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),Wa=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),Ka=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(Wa).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Ir=e.object({code:H,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),Ua=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:H,tasksetHash:Xe,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:Ja.nullable().default(null),methodReadiness:e.array(Ka).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Ir).default([]),advisories:e.array(Ir).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:be}),Za=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:be}),Ya=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:we.nullable(),modelConfig:$r,skillHash:Xe,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:La.default("demonstrations"),buildSpecification:Na.nullable().default(null),evidenceHashes:e.array(Xe).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(Za).max(1e3),createdAt:be}),Or=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:H,revision:e.number().int().positive().default(1),profileId:H,profileRelease:_t.nullable().optional(),createImproveRunId:Va.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:qe.default("general"),benchmark:Ve.nullable().default(null),preferenceComparison:Ge.nullable().default(null),status:Ga,sourceRefs:e.array(Le).min(1).max(1e5),datasetArtifact:Se.nullable().optional(),policy:Ne,environment:Ke,capabilities:Ue,metrics:_e.optional(),tasks:e.array(Je).max(1e6),graders:e.array(Ye).max(1e3),graderFixtures:e.array(ne).max(1e5),learningSignals:We,authoringProvenance:Ya,readiness:Ua.nullable(),contentHash:Xe,createdAt:be,updatedAt:be,metadata:$r}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!t.datasetArtifact&&t.tasks.length===0&&a.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function Mr(t){return t.schemaVersion==="openpond.trainingSource.v1"}l(Mr,"isTrainingSourceRef");function to(t,a={}){let r=Or.safeParse(t);if(!r.success)return{valid:!1,taskset:null,computedHash:null,issues:r.error.issues.map(o=>({code:"schema_invalid",severity:"error",message:o.message,path:o.path.join(".")}))};let n=r.data,s=[];es(n,s),Qa(n,s),ts(n,s),as(n,s),ss(n,s),a.purpose!=="publication"&&(n.graders.length||s.push({code:"graders_required",severity:"error",message:"Scored execution requires at least one grader.",path:"graders"}),Xa(n,s,a)),ns(n,s),is(n.capabilities,s,n),rs(n,s);let i=zr(n);return n.contentHash!==i&&s.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${n.contentHash}, expected ${i}.`,path:"contentHash"}),{valid:!s.some(o=>o.severity==="error"),taskset:n,computedHash:i,issues:s}}l(to,"validateTaskset");function Xa(t,a,r){let n=t.graders.length>0&&t.graders.every(o=>o.kind==="human");!n&&!t.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&t.metadata.trainingMethod==="grpo"&&t.metadata.learning)&&a.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let s=new Set(t.tasks.map(o=>o.id)),i=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let o of t.graderFixtures)!t.datasetArtifact&&!s.has(o.taskId)&&a.push({code:"grader_fixture_task_missing",severity:"warning",message:`Fixture ${o.id} references a task outside this Taskset revision (${o.taskId}).`,path:`graderFixtures.${o.id}.taskId`}),i.delete(o.label),o.label==="infrastructure_failure"&&!o.infrastructureError&&a.push({code:"infrastructure_fixture_error_missing",severity:"error",message:`Infrastructure fixture ${o.id} must declare an infrastructure error.`,path:`graderFixtures.${o.id}.infrastructureError`});for(let o of n?[]:i)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}l(Xa,"validateGraderFixtures");function Qa(t,a){let r=t.datasetArtifact;if(!r)return;(r.tasksetId!==t.id||r.tasksetRevision!==t.revision)&&a.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let n=Object.values(r.splitCounts).reduce((c,m)=>c+m,0),s=r.shards.reduce((c,m)=>c+m.rowCount,0);(n!==r.rowCount||s!==r.rowCount)&&a.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let i=new Map;for(let c of r.shards)i.set(c.split,(i.get(c.split)??0)+c.rowCount);for(let[c,m]of Object.entries(r.splitCounts))(i.get(c)??0)!==m&&a.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${c} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${c}`});let{contentHash:o,...u}=r;g(u)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}l(Qa,"validateDatasetArtifact");function ro(t){return zr(t)}l(ro,"computeTasksetHash");function zr(t){let{contentHash:a,status:r,readiness:n,updatedAt:s,...i}=t;return g(i)}l(zr,"tasksetContentHash");function es(t,a){for(let[r,n]of t.sourceRefs.entries())Mr(n)&&n.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${n.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),n.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${n.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),n.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${n.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),n.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${n.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}l(es,"validateSourceConsent");function ts(t,a){let r=new Map;for(let s of t.tasks){let i=r.get(s.clusterKey)??new Set;i.add(s.split),r.set(s.clusterKey,i)}for(let[s,i]of r)i.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${s} appears in multiple splits: ${[...i].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(s=>s.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}l(ts,"validateSplitIsolation");function rs(t,a){if(t.environment.kind!=="work")return;t.environment.entrypoint!=="openpond-work-v1"&&a.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!t.environment.lifecycle.includes("reset")||!t.environment.lifecycle.includes("cleanup"))&&a.push({code:"work_reset_lifecycle_missing",severity:"error",message:"Work attempts require reset and cleanup; filesystem state belongs to one attempt.",path:"environment.lifecycle"});let r=new Set(Dr),n=t.environment.toolNames.filter(i=>!r.has(i));n.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${n.join(", ")}.`,path:"environment.toolNames"}),t.environment.toolNames.includes("work_save_output")||a.push({code:"work_output_tool_missing",severity:"error",message:"Work Tasksets must declare work_save_output.",path:"environment.toolNames"});for(let i of["create","reset","step","grade","cleanup"])t.environment.lifecycle.includes(i)||a.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${i} lifecycle stage.`,path:"environment.lifecycle"});let s=new Map(t.sourceRefs.map(i=>[i.id,i]));for(let[i,o]of t.tasks.entries()){let u=new Set,c=new Set;for(let[h,d]of(o.assets??[]).entries()){let p=`tasks.${i}.assets.${h}`;u.has(d.id)&&a.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${d.id}.`,path:`${p}.id`});let x=d.stagingPath??d.fileName;c.has(x)&&a.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged path ${x}.`,path:`${p}.fileName`}),u.add(d.id),c.add(x),o.sourceRefs.includes(d.sourceRefId)||a.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${d.id} references source ${d.sourceRefId} outside task ${o.id}.`,path:`${p}.sourceRefId`});let f=s.get(d.sourceRefId);f?"sourceFileHashes"in f&&!f.sourceFileHashes?.includes(d.sha256)&&a.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${d.id} hash is not registered by source ${d.sourceRefId}.`,path:`${p}.sha256`}):a.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${d.id} references missing source ${d.sourceRefId}.`,path:`${p}.sourceRefId`}),f&&"kind"in f&&f.kind==="uploaded_file"&&!f.originalFileNames.includes(d.fileName)&&a.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${d.id} file name is not registered by source ${d.sourceRefId}.`,path:`${p}.fileName`}),f&&"kind"in f&&f.kind==="uploaded_file"&&!f.mediaTypes.includes(d.mediaType)&&a.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${d.id} media type is not registered by source ${d.sourceRefId}.`,path:`${p}.mediaType`}),d.split!==o.split&&a.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${d.id} is assigned to ${d.split}, not task split ${o.split}.`,path:`${p}.split`})}let m=new Set;for(let[h,d]of(o.requiredOutputs??[]).entries()){let p=d.path.replaceAll("\\","/"),x=`tasks.${i}.requiredOutputs.${h}.path`;m.has(p)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${p}.`,path:x}),m.add(p)}(o.requiredOutputs??[]).length===0&&a.push({code:"work_output_missing",severity:"error",message:`Work task ${o.id} must declare at least one required output.`,path:`tasks.${i}.requiredOutputs`})}}l(rs,"validateWorkExecution");function as(t,a){let r=new Set(t.policy.policyVisibleFields);for(let n of t.policy.privilegedFields)r.has(n)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${n} is both policy-visible and privileged.`,path:"policy"});for(let n of t.tasks)n.privilegedContextRef&&Object.keys(n.policyVisibleContext).includes(n.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${n.id} exposes its privileged context reference.`,path:`tasks.${n.id}.policyVisibleContext`})}l(as,"validatePolicyBoundary");function ss(t,a){let r=new Set(t.tasks.map(s=>s.id)),n=new Set;for(let s of t.graders)s.taskIds?.some(i=>!r.has(i))&&a.push({code:"grader_task_missing",severity:"error",message:`Grader ${s.id} refers to a task outside this Dataset.`,path:"graders"}),n.has(s.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${s.id}.`,path:"graders"}),n.add(s.id),s.kind==="model_judge"&&s.rewardEligible&&s.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${s.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${s.id}`}),s.kind==="model_judge"&&s.calibrationStatus==="passed"&&typeof s.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${s.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${s.id}.metadata.calibrationEvidenceHash`}),s.kind==="human"&&s.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${s.id} cannot be an online optimizer reward.`,path:`graders.${s.id}`})}l(ss,"validateGraders");function ns(t,a){let r=new Set(t.tasks.map(s=>s.id)),n=new Set(t.sourceRefs.map(s=>s.id));for(let s of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])s.taskId&&!t.datasetArtifact&&!r.has(s.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${s.id} references missing task ${s.taskId}.`,path:`learningSignals.${s.kind}.${s.id}.taskId`}),s.sourceRefs.some(i=>!n.has(i))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${s.id} references a source outside the Dataset.`,path:`learningSignals.${s.kind}.${s.id}.sourceRefs`});for(let s of t.learningSignals.preferences)s.chosen.trim()===s.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${s.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${s.id}`});for(let s of t.learningSignals.rewards)s.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${s.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${s.id}.executable`})}l(ns,"validateLearningSignals");function is(t,a,r){!t.exportable&&t.portabilityBlockers.length===0&&a.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),t.compatibleMethods.includes("grpo")&&!t.rewardKinds.some(n=>n==="exact"||n==="deterministic"||n==="model_judge")&&a.push({code:"grpo_reward_missing",severity:"error",message:"GRPO compatibility requires a scalar reward kind.",path:"capabilities.rewardKinds"}),r?.capabilities.compatibleMethods.includes("sft")&&r.learningSignals.demonstrations.length===0&&a.push({code:"sft_demonstrations_missing",severity:"error",message:"SFT compatibility requires approved demonstrations.",path:"learningSignals.demonstrations"}),r?.capabilities.compatibleMethods.includes("dpo")&&r.learningSignals.preferences.length===0&&a.push({code:"dpo_preferences_missing",severity:"error",message:"DPO compatibility requires chosen and rejected response pairs.",path:"learningSignals.preferences"}),r&&(r.capabilities.compatibleMethods.includes("grpo")||r.capabilities.compatibleMethods.includes("ppo"))&&!r.learningSignals.rewards.some(n=>n.executable)&&!r.graders.some(n=>n.rewardEligible&&n.weight>0&&n.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}l(is,"validateCapabilities");var oe=e.string().trim().min(1).max(240),Br=e.string().trim().min(1),os=e.string().trim().min(8).max(256),cs=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),ds=e.record(e.string(),e.unknown()).default({});function xt(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}l(xt,"safeRelativeFilePath");var ms=Je.extend({sourceRefs:e.array(oe).max(100).default([])}),ls=e.enum(["draft","validating","needs_review","published"]),us=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:oe,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),ps=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),requiredOutputSource:e.literal("task.requiredOutputs").optional(),responsePath:e.string().trim().min(1).max(1e3).refine(xt,"Response paths must name a safe relative output path.").optional(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(xt,"Renderer modules must use a safe relative path."),exportName:cs,configRef:e.string().trim().min(1).max(1e3).refine(xt,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((t,a)=>{t.responsePath!==void 0&&(t.mode!=="artifacts"||t.requiredOutputSource!=="task.requiredOutputs")&&a.addIssue({code:"custom",path:["responsePath"],message:"An artifact response path requires artifacts mode and task.requiredOutputs."}),t.requiredOutputSource!==void 0&&t.mode!=="artifacts"&&a.addIssue({code:"custom",path:["requiredOutputSource"],message:"Required output sources belong to artifacts mode."}),t.mode==="structured_json"&&!t.jsonSchema&&a.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),t.mode==="text"&&t.renderer&&a.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),lo=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:oe,revision:e.number().int().positive(),profileId:oe,modelScope:e.object({modelId:oe,expectedModelRevision:e.number().int().positive(),source:sr.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:qe.default("general"),benchmark:Ve.nullable().default(null),preferenceComparison:Ge.nullable().default(null),status:ls,sourceRefs:e.array(Le).max(1e5).default([]),datasetArtifact:Se.nullable().optional(),policy:Ne,environment:Ke,output:ps.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:Ue,metrics:_e,review:us,tasks:e.array(ms).max(1e6).default([]),graders:e.array(Ye).max(1e3).default([]),graderFixtures:e.array(ne).max(1e5).default([]),learningSignals:We,publishedTasksetRef:e.object({id:oe,revision:e.number().int().positive(),contentHash:os}).nullable(),createdAt:Br,updatedAt:Br,metadata:ds}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),t.status==="published"&&!t.publishedTasksetRef&&a.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})});export{it as a,ot as b,ct as c,_s as d,Ts as e,Yr as f,Es as g,ee as h,lt as i,ta as j,yn as k,ra as l,dt as m,rr as n,ar as o,Xr as p,mt as q,Bs as r,sr as s,nr as t,Qr as u,ir as v,Fs as w,qs as x,aa as y,ur as z,$e as A,De as B,j as C,ut as D,ea as E,Le as F,Je as G,_a as H,Ye as I,ne as J,Er as K,$a as L,_i as M,Da as N,Ar as O,Ti as P,Ei as Q,Oa as R,zi as S,Bi as T,Fi as U,qi as V,Ma as W,Or as X,to as Y,ro as Z,lo as _};
|
|
2
|
+
import{i as Q}from"./chunk-AFYYIJ6K.js";import{d as Jt,g as Wt,k as Kt}from"./chunk-I6VMRQF4.js";import{Y as q,cb as Nt,da as V,ha as je,ja as Pe,ka as Lt,oa as J,qa as W}from"./chunk-D6L6UNUQ.js";import{B as Ot,D as Mt,L as v,M as T,N as _,O as Ae,Q as Y,R as zt,Rb as qt,S as D,Tb as Vt,Wb as Gt,ba as rt,ca as Bt,da as X,eb as Ft,l as N,o as tt,t as $t,w as Dt}from"./chunk-4PUOWSDE.js";import{$a as It,C as At,Ca as Ct,Ra as pe,Sa as Ht,Wa as fe,aa as jt,bb as F,da as et,ea as ue,fa as Pt,ga as B,h as Vr,ia as Ee,j as Te,v as le,x as Qe}from"./chunk-ZY32SZ2P.js";import{a as Tt,b as Et}from"./chunk-OTDDXEQ6.js";import{f as _e}from"./chunk-HNQPEOJD.js";import{b as I,c as Re,d as we,g as wt,h as _t,i as C,l as z,m as $,n as g}from"./chunk-RCT3O3HQ.js";import{h as ye}from"./chunk-5HPZGLOL.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as l,e as qr}from"./chunk-FTQLQJQV.js";var Xt=qr(Vr(),1);var E=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Ut=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape"),Gr=l(t=>t.replaceAll("~1","/").replaceAll("~0","~"),"unescape"),Lr=l(t=>t||"/","label");function Ce(t){let a=JSON.stringify(t);return a&&a.length<=160?a:"the value declared in the public schema"}l(Ce,"literal");function he(t,a){let r=t;for(let n of a){let s=Gr(n);if(!E(r)&&!Array.isArray(r)||!Object.hasOwn(r,s))return;r=r[s]}return r}l(he,"at");function at(t,a,r=0){return!E(t)||r>20?null:typeof t.$ref=="string"&&t.$ref.startsWith("#/")?at(he(a,t.$ref.slice(2).split("/")),a,r+1):t}l(at,"resolve");function st(t,a,r,n,s=0){let i=at(t,n);if(!i||s>6)return null;let o=Lr(a);if(Object.hasOwn(i,"const"))return`${o} must equal ${Ce(i.const)}`;if(Array.isArray(i.enum)&&i.enum.length<=12)return`${o} must be one of ${Ce(i.enum)}`;if(Array.isArray(r)){if(i.maxItems===0)return`${o} must be an empty array`;let u=E(i.not)?i.not:null,c=u&&E(u.items)?u.items:null,m=c&&E(c.not)?at(c.not,n):null,h=m?.required;if(m&&E(m.properties)&&Array.isArray(h)){let d=Object.entries(m.properties);if(d.length&&d.every(([p,x])=>E(x)&&Object.hasOwn(x,"const")&&h.includes(p))){let p=Object.fromEntries(d.map(([x,f])=>[x,f.const]));return`${o} must contain at least one item matching ${Ce(p)}`}}if(typeof i.maxItems=="number")return`${o} must contain at most ${i.maxItems} items`;if(typeof i.minItems=="number")return`${o} must contain at least ${i.minItems} items`}if(E(i.properties)&&E(r)){let u=Object.entries(i.properties).flatMap(([c,m])=>{if(!Object.hasOwn(r,c))return[];let h=st(m,a+"/"+Ut(c),r[c],n,s+1);return h?[h]:[]});if(u.length)return u.slice(0,4).join("; ")}if(Array.isArray(i.required)&&E(r)){let u=i.required.filter(c=>typeof c=="string"&&!Object.hasOwn(r,c));if(u.length)return`${o} must include ${u.slice(0,4).map(Ce).join(", ")}`}return null}l(st,"describe");function Zt(t,a,r){let n=r.instancePath+(r.keyword==="required"?"/"+Ut(String(r.params.missingProperty)):""),s=r.schemaPath.startsWith("#/")?r.schemaPath.slice(2).split("/"):[],i=r.message??"Schema assertion failed",o=he(t,s.slice(0,-1)),u=st(o,r.instancePath,he(a,r.instancePath?r.instancePath.slice(1).split("/"):[]),t);for(let c=s.length-1;c>=0;c--){if(s[c]!=="then"&&s[c]!=="else")continue;let m=he(t,s.slice(0,c));if(!E(m)||!E(m.if))continue;let h=r.instancePath?r.instancePath.slice(1).split("/"):[],d=s.slice(c+1),p=d.filter((b,R)=>R>0&&d[R-1]==="properties"||b==="items"&&d[R-1]!=="properties").length,x=p<=h.length?h.slice(0,h.length-p):[],f=x.length?"/"+x.join("/"):"",k=st(m.if,f,he(a,x),t);if(k&&u){let b=k.replaceAll(" must be "," is ").replaceAll(" must equal "," equals ").replaceAll(" must contain "," contains ").replaceAll(" must include "," includes ");i=`${s[c]==="then"?"When":"When the following condition does not hold:"} ${b}, ${u}.`}break}return i===r.message&&u&&["not","enum","const","minItems","maxItems"].includes(r.keyword)&&(i=u+"."),{path:n,message:i,keyword:r.keyword,schemaPath:r.schemaPath}}l(Zt,"structuredOutputDiagnostic");var He=e.object({schemaVersion:e.literal("openpond.structuredSamplingSchema.v1"),validationSchemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaRef:C.refine(t=>t.visibility==="policy"&&t.sizeBytes<=128e3&&["application/json","application/schema+json"].includes(t.mediaType),"Sampling schemas must be bounded policy-visible JSON assets."),postValidationOnly:e.array(e.object({schemaPath:e.string().min(1).max(2e3),keyword:e.literal("maxItems"),enforcement:e.literal("full_validation_only")}).strict()).min(1).max(100)}).strict(),Nr=e.object({declaration:He,schema:e.record(e.string(),e.unknown()),schemaHash:e.string().regex(/^[a-f0-9]{64}$/),schemaSource:e.string().max(128e3)}).strict();function it(t){let a=t?.structuredSamplingSchema;return a===void 0?void 0:He.parse(a)}l(it,"structuredSamplingSchemaDeclaration");var nt=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),Jr=l(t=>t.replaceAll("~","~0").replaceAll("/","~1"),"escape");function Wr(t,a){let r=He.parse(a);if(r.validationSchemaHash!==t.schemaHash)throw new Error("structured_sampling_validation_identity_changed");if(I(t.schemaSource)!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_sampling_validation_source_changed");let n=JSON.parse(t.schemaSource),s=new Map;function i(u,c,m=!0){if(!nt(u))return;if(u.$ref!==void 0)throw new Error("structured_sampling_reference_unsupported");let h=Array.isArray(u.type)?u.type:[u.type];m&&h.includes("array")&&Number.isSafeInteger(u.maxItems)&&Number(u.maxItems)>=0&&s.set(`${c}/maxItems`,u);for(let d of["properties","$defs"])if(nt(u[d]))for(let[p,x]of Object.entries(u[d]))i(x,`${c}/${d}/${Jr(p)}`,m&&d!=="$defs");for(let d of["items","additionalProperties","then","else","not","if"])u[d]!==void 0&&i(u[d],`${c}/${d}`,m&&d!=="not"&&d!=="if");for(let d of["allOf","anyOf","oneOf"])Array.isArray(u[d])&&u[d].forEach((p,x)=>i(p,`${c}/${d}/${x}`,m&&d!=="oneOf"))}l(i,"visit"),i(n,"");let o=new Set;for(let u of r.postValidationOnly){let c=s.get(u.schemaPath);if(!c||o.has(u.schemaPath))throw new Error("structured_sampling_assertion_path_invalid");o.add(u.schemaPath),delete c.maxItems}return n}l(Wr,"projectStructuredSamplingSchema");function Ie(t,a){let r=Nr.parse(a),n=Wr(t,r.declaration),s=JSON.stringify(n);if(r.schemaSource!==s||z(r.schema)!==z(n)||I(s)!==r.schemaHash||r.schemaHash!==r.declaration.schemaRef.contentHash||new TextEncoder().encode(s).byteLength!==r.declaration.schemaRef.sizeBytes)throw new Error("structured_sampling_schema_identity_changed")}l(Ie,"assertStructuredSamplingSchema");function ot(t,a,r){let n=He.parse(a);if(r.byteLength>128e3||r.byteLength!==n.schemaRef.sizeBytes||I(r)!==n.schemaRef.contentHash)throw new Error("structured_sampling_asset_mismatch");let s=new TextDecoder("utf-8",{fatal:!0}).decode(r),i={declaration:n,schema:JSON.parse(s),schemaHash:n.schemaRef.contentHash,schemaSource:s};return Ie(t,i),i}l(ot,"resolveStructuredSamplingSchema");function Yt(t,a){Ie(t,a);let r=JSON.parse(t.schemaSource);return a.declaration.postValidationOnly.map(n=>{let s=r;for(let i of n.schemaPath.slice(1).split("/")){let o=i.replaceAll("~1","/").replaceAll("~0","~");s=nt(s)||Array.isArray(s)?Reflect.get(s,o):void 0}return{...n,value:s}})}l(Yt,"structuredSamplingSchemaAssertions");var Kr="work.structured-output.v1",Ur=new Set(["$schema","$id","$defs","$ref","title","description","type","properties","required","additionalProperties","items","minItems","maxItems","minLength","maxLength","minimum","maximum","enum","const","allOf","anyOf","oneOf","not","if","then","else","uniqueItems","pattern","multipleOf","exclusiveMinimum","exclusiveMaximum","minProperties","maxProperties"]),ke=l(t=>!!t&&typeof t=="object"&&!Array.isArray(t),"object"),ge=new Map;function Qt(t){let a=I(JSON.stringify(t)),r=ge.get(a);return r||(r=new Xt.default({strict:!0,strictTypes:!1,strictRequired:!1,allErrors:!1,validateFormats:!0,ownProperties:!0}).compile(t),ge.size>=64&&ge.delete(ge.keys().next().value),ge.set(a,r)),r}l(Qt,"compiled");function er(t){if(!ke(t)||t.type!=="object"||JSON.stringify(t).length>128e3)throw new Error("structured_schema_tool_root_or_size_invalid");let a=t,r=0;function n(s,i,o){if(typeof s=="boolean")return;if(!ke(s)||i>20||++r>2e3||o.has(s))throw new Error("structured_schema_complexity_or_shape");let u=new Set(o).add(s);for(let c of Object.keys(s))if(!Ur.has(c))throw new Error(`structured_schema_keyword_unsupported:${c}`);if(s.$schema!==void 0&&s.$schema!=="https://json-schema.org/draft/2020-12/schema")throw new Error("structured_schema_dialect_unsupported");if(typeof s.$ref=="string"){if(!s.$ref.startsWith("#/$defs/"))throw new Error("structured_schema_external_or_recursive_ref");let c=a;for(let m of s.$ref.slice(2).split("/"))c=ke(c)&&Object.hasOwn(c,m.replaceAll("~1","/").replaceAll("~0","~"))?c[m.replaceAll("~1","/").replaceAll("~0","~")]:void 0;n(c,i+1,u)}if(s.pattern!==void 0){if(typeof s.pattern!="string"||s.pattern.length>200||/[()|\\]/.test(s.pattern))throw new Error("structured_schema_pattern_unsupported");let c=s.pattern.match(/[+*?{]/g)?.length??0;if(c>1||c===1&&(!s.pattern.startsWith("^")||!s.pattern.endsWith("$")))throw new Error("structured_schema_pattern_unsupported")}for(let c of["properties","$defs"])if(s[c]!==void 0){if(!ke(s[c]))throw new Error("structured_schema_map_invalid");for(let m of Object.values(s[c]))n(m,i+1,u)}for(let c of["items","additionalProperties","not","if","then","else"])s[c]!==void 0&&n(s[c],i+1,u);for(let c of["allOf","anyOf","oneOf"])if(s[c]!==void 0){if(!Array.isArray(s[c])||!s[c].length)throw new Error("structured_schema_union_invalid");for(let m of s[c])n(m,i+1,u)}}l(n,"visit"),n(t,0,new Set),Qt(t)}l(er,"assertStructuredOutputSchema");function ct(t,a){if(t.byteLength>128e3||I(t)!==a)throw new Error("structured_schema_asset_mismatch");let r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(t));return er(r),{schema:r,schemaHash:a,schemaSource:new TextDecoder("utf-8",{fatal:!0}).decode(t)}}l(ct,"resolveStructuredOutput");function tr(t){if(er(t.schema),I(new TextEncoder().encode(t.schemaSource))!==t.schemaHash||z(JSON.parse(t.schemaSource))!==z(t.schema))throw new Error("structured_schema_contract_changed");if(!/^[a-f0-9]{64}$/.test(t.schemaHash))throw new Error("structured_schema_hash_invalid");t.sampling!==void 0&&Ie(t,t.sampling)}l(tr,"assertStructuredOutputContract");function _s(t){let a=new Set;return t.flatMap((r,n)=>{if(a.has(r.path)||!r.path||r.path.startsWith("/")||r.path.replaceAll("\\","/").split("/").some(s=>!s||s==="."||s===".."))throw new Error("structured_output_path_invalid_or_duplicate");if(a.add(r.path),r.submissionMode!=="structured_json"){if(r.structuredOutput)throw new Error("structured_output_opt_in_missing");return[]}if(r.mediaType!=="application/json"||!r.structuredOutput)throw new Error("structured_output_contract_missing");return tr(r.structuredOutput),[{type:"function",function:{name:`work_submit_output_${n+1}`,description:`Validate and save ${r.path}. Supply the output fields directly; validation errors can be corrected and resubmitted.${r.structuredOutput.sampling?" Full validation also enforces the postValidationOnly limits listed in requiredOutputs; a generated call can fail those submission limits.":""}`,parameters:r.structuredOutput.sampling?JSON.parse(r.structuredOutput.sampling.schemaSource):r.structuredOutput.schema}}]})}l(_s,"structuredOutputTools");function Ts(t,a){return t.find((r,n)=>r.submissionMode==="structured_json"&&a===`work_submit_output_${n+1}`)}l(Ts,"structuredToolOutput");function Zr(t,a){let r=0;function n(i,o){if(o>30||++r>1e4||Array.isArray(i)&&i.length>1e3)throw new Error("structured_output_payload_complexity");if(ke(i)||Array.isArray(i))for(let u of Object.values(i))n(u,o+1)}l(n,"bound"),n(a,0);let s=Qt(t);return s(a)?[]:(s.errors??[]).slice(0,20).map(i=>Zt(t,a,i))}l(Zr,"validateStructuredOutput");function Yr(t,a){if(a.byteLength>(t.maxBytes??1e7))throw new Error("work_output_too_large");if(t.submissionMode!=="structured_json")return;if(!t.structuredOutput)throw new Error("structured_output_contract_missing");tr(t.structuredOutput);let r;try{r=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(a))}catch{throw new Error("structured_output_invalid_json")}let n=Zr(t.structuredOutput.schema,r);if(n.length)throw new Error("structured_output_invalid:"+JSON.stringify(n));return{status:"passed",schemaHash:t.structuredOutput.schemaHash,...t.structuredOutput.sampling?{samplingSchemaHash:t.structuredOutput.sampling.schemaHash,samplingSchemaDeclaration:t.structuredOutput.sampling.declaration,postValidationOnly:Yt(t.structuredOutput,t.structuredOutput.sampling)}:{},artifactHash:I(a),capability:Kr}}l(Yr,"validateOutputBytes");function Es(t,a){let r=new TextEncoder().encode(JSON.stringify(a,null,2)+`
|
|
3
|
+
`);return Yr(t,r),r}l(Es,"serializeStructuredOutput");var dt=e.object({batch:Mt,evidence:e.array(Dt).min(1).max(1e4),decisions:e.array(Ot).min(1).max(1e4),sources:e.array($t).min(1).max(1e4),assets:e.array(Y).max(1e3)}).strict();function rr(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=ye(a.submission.evaluatorContext),n=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:$(n),sizeBytes:n.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(n,s=>String.fromCharCode(s)).join(""))}})}l(rr,"learningPackageContextFiles");function ar(t,a){let r=dt.parse(a),n=X(t);if(!T(v(r.batch),n.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let m of[r.evidence,r.decisions,r.sources,r.assets]){let h=new Set;for(let d of m){Ae(d);let p=`${d.id}:${d.revision}`;if(h.has(p))throw new Error("Taskset learning resource identities must be unique.");h.add(p)}}if(r.evidence.length!==r.batch.examples.length||r.decisions.length!==r.batch.examples.length)throw new Error("Taskset learning snapshots must match the admitted batch inventory.");for(let m of r.evidence){let h=r.sources.find(d=>T(v(d),m.source));if(!h||!T(h.taskDefinition,v(n.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(m=>!r.evidence.some(h=>T(h.source,v(m)))))throw new Error("Taskset package includes an unrelated learning source.");let s=n.rewards.flatMap(m=>[...m.assets,...m.implementation.kind==="custom_verifier"?[m.implementation.verifierRef]:m.implementation.kind==="model_judge"||m.implementation.kind==="human"?[m.implementation.rubricRef]:[],..."inputContract"in m.implementation?[m.implementation.inputContract]:[]]);for(let m of s){let h=r.assets.find(d=>d.id===m.id);if(!h)throw new Error("Taskset learning Reward asset is missing.");D(h,m)}if(r.assets.some(m=>!s.some(h=>h.id===m.id)))throw new Error("Taskset package includes an unrelated learning asset.");let i=Bt({batch:r.batch,definition:n.definition,binding:n.binding,rewards:n.rewards,evidence:r.evidence,decisions:r.decisions}),o=X(i);if(g(o)!==g(n))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let u=l(m=>({policy:m.policy,environment:m.environment,tools:m.tools}),"execution");if(g(u(i))!==g(u(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let c=l(m=>({id:m.id,clusterKey:m.clusterKey,split:m.split,input:m.input,expectedOutput:m.expectedOutput,policyVisibleContext:m.policyVisibleContext,privilegedContextRef:m.privilegedContextRef,artifactRefs:m.artifactRefs,requiredOutputs:m.requiredOutputs??[],tags:m.tags}),"taskContent");if(g(i.tasks.map(c))!==g(t.tasks.map(c)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}l(ar,"validateTasksetLearningResources");var K=N.shape.id,xe=e.string().regex(/^[a-f0-9]{64}$/),Xr=e.object({scopeId:K,modelId:K}).strict(),mt=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:Xr,root:N,parent:N}).strict(),Bs=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:K,modelId:K,expectedModelRevision:e.number().int().positive(),sourcePackageHash:xe}).strict(),sr=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:K,requestHash:xe,sourcePackageHash:xe,sourceTasksetRef:N,tasksetId:K,tasksetRevision:e.number().int().positive(),lineage:mt,authoringGraph:e.literal("bound").optional()}).strict(),nr=e.string().min(1).max(1024).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.includes("\0")&&!t.startsWith("/")&&!t.split("/").some(a=>!a||a==="."||a===".."||a.startsWith(".env")),"Use a relative Taskset file path without environment files."),Qr=e.object({path:nr,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),ir=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),Fs=Qr.extend({contentHash:xe,content:ir}).strict(),qs=e.object({draftId:K,expectedDraftRevision:e.number().int().positive(),path:nr,expectedFileHash:xe.nullable(),content:ir.nullable()}).strict();var $e=64*1024*1024,De=e.object({asset:C,base64:e.string()}).strict();function j(t){let a=De.parse(t),r=atob(a.base64);if(btoa(r)!==a.base64)throw new Error(`Taskset asset ${a.asset.id} has noncanonical base64.`);let n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);if(n.byteLength!==a.asset.sizeBytes||$(n)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return n}l(j,"decodeTasksetPackageFile");var Qs=e.string().regex(/^[a-f0-9]{64}$/);var ee=e.object({environment:q,verifierSet:V,javascript:Jt}).strict(),en=e.object({actions:e.array(e.object({name:e.string().min(1).max(64),arguments:e.record(e.string(),e.unknown())}).strict()).max(1e3)}).strict();function lt(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${_({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}l(lt,"modelStarterExecutionAssetId");function or(t){let a=ee.parse(t);cr(a);let r=lt({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),n=zt({text:ye(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:s,...i}=n;return _({...i,id:r,asset:{...i.asset,id:r}})}l(or,"createModelStarterExecutionAsset");function U(t,a){return _({value:t}).contentHash===_({value:a}).contentHash}l(U,"equal");function cr(t){Wt(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...n}=a;if(_(n).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!U(t.environment.metadata.javascriptEnvironment,v(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}l(cr,"assertExecutionIntegrity");function Oe(t,a,r){if(!t){if(a.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:n,verifierSet:s,javascript:i}=t;if(cr(t),!U(a.environmentRelease,{id:n.id,contentHash:n.contentHash})||!U(a.verifierSetRelease,{id:s.id,contentHash:s.contentHash})||!U(n.contract,a.environment)||!U(s.graders,a.graders)||!U(a.tools,i.tools)||!U(n.metadata.javascriptEnvironment,v(i)))throw new Error("Starter execution resources differ from its declared task context.");let o=n.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||a.capabilities.length||a.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let u of[i.module,n.actionSchemaRef,n.observationSchemaRef,n.stateSchemaRef]){if(!u)continue;let c=r.find(m=>m.id===u.id);if(!c)throw new Error(`Starter environment asset is missing: ${u.id}.`);D(c,u)}for(let u of a.tasks){let c=r.find(h=>h.id===u.privilegedContextRef);if(!c||c.asset.visibility!=="host_private"||c.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${u.id}.`);let m=JSON.parse(D(c,c.asset));if(!m||typeof m!="object"||Array.isArray(m))throw new Error(`Starter initial state must be a JSON object: ${u.id}.`);le(m,i.maxStateBytes)}}l(Oe,"validateModelStarterExecution");function ut(t){if(t.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let a=new Map(t.files.map(o=>[o.asset.id,o])),r=l(o=>{let u=a.get(o);if(!u)throw new Error(`Taskset environment asset is missing: ${o}.`);if(u.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let c=new TextDecoder("utf-8",{fatal:!0}).decode(j(u));return Y.parse(_({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:u.asset,text:c}))},"read"),n;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");n=ee.parse(t.modelResources.execution)}else{let o=r(lt(t.taskset));if(o.asset.visibility!=="host_private"||o.asset.mediaType!=="application/json"||o.asset.path!=="environment/execution.json")throw new Error("Taskset execution declaration must be private JSON at environment/execution.json.");n=ee.parse(JSON.parse(o.text))}let i=[...new Set([n.javascript.module.id,...[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return Oe(n,t.taskset,i),{execution:n,assets:i}}l(ut,"resolveTasksetPackageExecution");function ea(t){let a=or(t),r=new TextEncoder().encode(a.text),n="";for(let s of r)n+=String.fromCharCode(s);return{asset:a.asset,base64:btoa(n)}}l(ea,"createTasksetPackageExecutionFile");var dr=e.object({environment:q,verifierSet:V}).strict();var lr=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),ta=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:lr,root:Q,parent:Q}).strict(),pt=e.object({taskset:B,taskDefinition:tt,rewardBinding:fe,rewards:e.array(pe).min(1).max(100),assets:e.array(Y).max(1e3),executionResources:dr.optional(),execution:ee.optional(),instructionMode:e.literal("per_task").optional()}).strict(),O=l((t,a)=>_({value:t}).contentHash===_({value:a}).contentHash,"same"),mr=l((t,a)=>`model-taskset-${_({owner:t,root:a}).contentHash}`,"identity");function yn(t){return ra({...t,source:Me(t.source)})}l(yn,"deriveModelTaskset");function ra(t){let a=lr.parse(t.owner),r=t.source,n=t.edits??r,s=r.taskset.metadata.modelTasksetDerivation===void 0?null:ta.parse(r.taskset.metadata.modelTasksetDerivation);if(s&&r.taskset.id!==mr(s.owner,s.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let i=s&&O(s.owner,a),o=i?s.root:v(r.taskset),u=i?r.taskset.id:mr(a,o),c=i?r.taskset.revision+1:1,m=fe.parse(t.rewardBinding),h=t.rewards.map(me=>pe.parse(me)),d=F(m,h);if(m.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let p={...n.taskset.policy,hiddenGraderRefs:d.filter(me=>me.privileged).map(me=>me.id)},x=n.executionResources??n.execution,f=x?.environment??je({schemaVersion:"openpond.environmentRelease.v1",id:`${u}-environment`,revision:1,contract:n.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),k=Pe({schemaVersion:"openpond.verifierSetRelease.v1",id:`${u}-verifiers`,revision:c,graders:d,isolation:x?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:x?{sourceVerifierSet:v(x.verifierSet)}:{}}),b={environment:f,verifierSet:k},R=n.execution?{...n.execution,verifierSet:k}:void 0,{contentHash:ce,...ve}=n.taskset,{contentHash:St,...bt}=n.taskDefinition,vt={...bt.execution,policy:p,environmentRelease:{id:f.id,contentHash:f.contentHash},verifierSetRelease:{id:k.id,contentHash:k.contentHash}},yt=tt.parse(_({...bt,id:`${u}-definition`,revision:c,rewardBinding:v(m),execution:vt})),de=n.taskset.metadata.starterAuthoring??n.taskset.metadata.ordinaryAuthoring,Rt=de&&typeof de=="object"&&!Array.isArray(de)&&"graderFixtures"in de?de.graderFixtures:void 0,Fr=B.parse(_({...ve,...vt,id:u,revision:c,graders:d,metadata:{starter:{taskDefinition:v(yt),rewardBinding:v(m)},rewardExecution:{binding:m,rewards:h},...Rt===void 0?{}:{starterAuthoring:{graderFixtures:Rt}},...n.taskset.metadata.environmentResources===void 0?{}:{environmentResources:n.taskset.metadata.environmentResources},...n.taskset.metadata.workAssetStagingPaths===void 0?{}:{workAssetStagingPaths:n.taskset.metadata.workAssetStagingPaths},...n.taskset.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:n.taskset.metadata.tasksetOutputContract},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:v(r.taskset)}}}));return Me({taskset:Fr,taskDefinition:yt,rewardBinding:m,rewards:h,assets:t.assets,executionResources:b,...R?{execution:R}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}l(ra,"compileModelTasksetReward");function Me(t){let a=pt.parse(t),{taskset:r,taskDefinition:n,rewardBinding:s,rewards:i,assets:o,execution:u}=a;for(let k of[r,n,s,...i,...o])Ae(k);if(Ee(r),s.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!T(n.rewardBinding,v(s)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:c,environment:m,environmentRelease:h,tools:d,capabilities:p,verifierSetRelease:x}=r;if(!O(n.execution,{policy:c,environment:m,...h?{environmentRelease:h}:{},tools:d,capabilities:p,...x?{verifierSetRelease:x}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!O(r.graders,F(s,i)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let k=e.object({taskDefinition:Q,rewardBinding:Q}).passthrough().parse(r.metadata.starter);if(!T(k.taskDefinition,v(n))||!T(k.rewardBinding,v(s)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!O(r.metadata.rewardExecution,{binding:s,rewards:i}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!T(Q.parse(r.metadata.rewardBinding),v(s)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let f=a.executionResources??u;if(r.environmentRelease&&!f)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(f&&(!J(f.environment)||!W(f.verifierSet)||!O(r.environmentRelease,{id:f.environment.id,contentHash:f.environment.contentHash})||!O(r.verifierSetRelease,{id:f.verifierSet.id,contentHash:f.verifierSet.contentHash})||!O(r.environment,f.environment.contract)||!O(r.graders,f.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(Oe(u,r,o),new Set(o.map(k=>k.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let k of o)D(k,k.asset);for(let k of f?[f.environment.actionSchemaRef,f.environment.observationSchemaRef,f.environment.stateSchemaRef]:[]){if(!k)continue;let b=o.find(R=>R.id===k.id);if(!b)throw new Error(`Taskset environment asset is missing: ${k.id}.`);D(b,k)}for(let k of r.tasks){if(n.requiredOutputs&&!O(k.requiredOutputs,n.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${k.id}.`);if(a.instructionMode!=="per_task"&&k.policyVisibleContext.instructions!==n.instructions||!Qe(n.inputSchema,k.input).valid||k.expectedOutput!==null&&!Qe(n.outputSchema,k.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${k.id}.`);if(k.privilegedContextRef&&!o.some(b=>b.id===k.privilegedContextRef&&b.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${k.id}.`)}for(let k of i){let b=k.implementation,R=[...k.assets,..."verifierRef"in b?[b.verifierRef]:[],..."rubricRef"in b?[b.rubricRef]:[],..."inputContract"in b?[b.inputContract]:[]];for(let ce of R){let ve=o.find(St=>St.id===ce.id);if(!ve||ce.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${ce.id}.`);D(ve,ce)}}return a}l(Me,"validateModelTasksetPackage");function aa(t){return`model-authored-taskset-${g({owner:t.owner,root:t.root})}`}l(aa,"modelAuthoredTasksetId");function ur(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=mt.parse(t.metadata.modelTasksetAuthoring);if(t.id!==aa(a)||(t.revision===1?!T(a.parent,a.root):a.parent.id!==t.id||a.parent.revision!==t.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return a}l(ur,"assertModelTasksetAuthoring");var A=e.string().trim().min(1).max(240),M=e.string().trim().min(1),G=e.string().trim().min(8).max(256),pr=e.string().trim().min(1).max(1e3).refine(t=>!t.startsWith("/")&&!t.startsWith("\\")&&!t.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),L=e.enum(["train","validation","test","frozen_eval"]),sa=e.object({name:e.string().trim().min(1).max(500),semanticRole:e.enum(["row_id","cluster_id","prompt","messages","demonstration","chosen","rejected","expected_output","privileged_context","reward","feedback","tag","metadata"]),logicalType:e.enum(["string","integer","float","boolean","json","messages"]),nullable:e.boolean(),policy:e.enum(["visible","privileged","metadata"])}),na=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(sa).min(1).max(1e4),schemaHash:G}),ia=e.object({id:A,split:L,path:pr,contentHash:G,schemaHash:G,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),Se=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:A,tasksetId:A,tasksetRevision:e.number().int().positive(),contentHash:G,format:e.literal("parquet"),schema:na,shards:e.array(ia).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(L,e.number().int().nonnegative()),sourceReceiptRefs:e.array(A).min(1).max(1e5),mappingHash:G,qualityReportHash:G,createdAt:M}),Cn=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:A,tasksetId:A,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(L,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:G,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:M}),oa=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:A,tasksetRevision:e.number().int().positive(),artifactId:A.nullable(),name:e.string().trim().min(1).max(500),status:e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),storageKind:e.enum(["inline","parquet"]),rowCount:e.number().int().nonnegative(),splitCounts:e.record(L,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:M,updatedAt:M}),Hn=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:A,datasets:e.array(oa),generatedAt:M}),In=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:Se,profileId:A,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:pr,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:M.nullable(),createdAt:M,updatedAt:M}),$n=e.object({split:L.nullable().default(null),cursor:e.string().trim().min(1).max(2e3).nullable().default(null),limit:e.number().int().min(1).max(100).default(25),columns:e.array(e.string().trim().min(1).max(500)).max(100).default([])}),Dn=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:A,tasksetRevision:e.number().int().positive(),artifactHash:G,split:L.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),ca=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:M}),da=e.object({id:A,label:e.string().trim().min(1).max(500),path:e.string().trim().min(1).max(4e3),datasetStorePath:e.string().trim().min(1).max(4e3),kind:e.enum(["local","network","removable","cache"]),configured:e.boolean(),mounted:e.boolean(),writable:e.boolean(),totalBytes:e.number().int().nonnegative().nullable(),freeBytes:e.number().int().nonnegative().nullable()}),On=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:ca,storageRoots:e.array(da)}),Mn=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)});var te=e.string().trim().min(1).max(240),ma=e.string().trim().min(1),re=e.string().trim().min(8).max(256),la=e.record(e.string(),e.unknown()).default({}),ua=e.string().trim().min(7).max(256),pa=e.enum(["pending","approved","review","blocked"]),ze=e.object({id:te,profileId:te,title:e.string().trim().min(1).max(500),sourceHash:re,occurredAt:ma,licensingStatus:pa,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:la}),fa=ze.extend({schemaVersion:e.literal("openpond.huggingFaceDatasetSource.v1"),kind:e.literal("huggingface"),repositoryId:e.string().trim().regex(/^[^/\s]+\/[^/\s]+$/).max(500),repositoryUrl:e.string().url().max(2e3),revision:ua,configuration:e.string().trim().min(1).max(500),upstreamSplits:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),gated:e.boolean(),private:e.boolean(),declaredLicense:e.string().trim().min(1).max(500).nullable(),sourceFileHashes:e.array(re).min(1).max(1e5)}),ha=ze.extend({schemaVersion:e.literal("openpond.uploadedFileDatasetSource.v1"),kind:e.literal("uploaded_file"),originalFileNames:e.array(e.string().trim().min(1).max(500)).min(1).max(1e3),mediaTypes:e.array(e.string().trim().min(1).max(200)).min(1).max(1e3),sourceFileHashes:e.array(re).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),ga=ze.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:te,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:re}),ka=ze.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:te,revision:e.number().int().positive(),contentHash:re}).strict(),taskDefinition:e.object({id:te,revision:e.number().int().positive(),contentHash:re}).strict(),admittedBy:te}),fr=e.discriminatedUnion("kind",[fa,ha,ga,ka]);var hr=e.object({schemaVersion:e.literal("openpond.connectedDatasetSource.v1"),kind:e.literal("connected_activity"),id:e.string().min(1).max(240),profileId:e.string().min(1).max(240),title:e.string().min(1).max(500),sourceHash:e.string().regex(/^[a-f0-9]{64}$/),occurredAt:e.string().datetime(),licensingStatus:e.enum(["pending","approved","review","blocked"]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),origin:Kt,sourceId:e.string().min(1).max(500),sessionId:e.string().min(1).max(500),normalizerVersion:e.string().min(1).max(200),projection:e.enum(["turn","conversation"]),ownerUserId:e.string().min(1).max(500),purpose:e.literal("recorded_evaluation"),sourceFileHashes:e.array(e.string().regex(/^[a-f0-9]{64}$/)).max(100).optional(),metadata:e.record(e.string(),e.unknown()).default({})}).strict();var gr=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:Re,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:we,agentRelease:wt,implementationHash:we,runtimeBindingId:Re,capabilityReceiptHash:we,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:Re,source:e.literal("case_id")}).strict()).max(20).default([])}).strict();var S=e.string().trim().min(1).max(240),ft=e.string().trim().min(1),xa=e.string().trim().min(8).max(256),ht=e.string().trim().regex(/^[a-f0-9]{64}$/),Sa=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),P=e.record(e.string(),e.unknown()).default({}),Fe=S.nullable();function ae(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}l(ae,"safeRelativeFilePath");function ba(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}l(ba,"safeFileName");var Be=L,qe=e.enum(["general","benchmark"]),Ve=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:S,releaseId:S,releaseHash:ht,managedReleasePath:e.string().trim().min(1).max(1e3).refine(ae,"Benchmark release paths must remain relative."),adaptationSplit:Be,evaluationSplit:Be,primaryMetric:e.enum(["foreground_tokens","success_rate","latency_ms","cost_usd"]),qualityGate:e.enum(["none","non_regression","all_pass"]),source:e.enum(["builtin","imported"]),metadata:P}),Ge=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:S,releaseHash:ht,publishedAt:ft,metadata:P}),va=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:Fe,grantedAt:ft.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),ya=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:S,profileId:S,sessionId:S,turnIds:e.array(S).max(1e3).default([]),workspaceId:Fe,sourceHash:xa,clusterKey:S,title:e.string().trim().min(1).max(500),occurredAt:ft,consent:va,connectedAppIds:e.array(S).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:P}),Le=e.union([ya,fr,hr]),Ne=e.object({policyVisibleFields:e.array(S).max(1e3).default([]),privilegedFields:e.array(S).max(1e3).default([]),hiddenGraderRefs:e.array(S).max(100).default([]),connectedAppScopes:e.array(S).max(100).default([])}),Ra=e.object({id:S,sourceRefId:S,artifactRef:e.string().trim().min(1).max(4e3).refine(ae,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(ba,"Task asset file names must not contain path separators."),stagingPath:e.string().trim().min(1).max(1e3).refine(ae,"Task asset staging paths must stay inside Work inputs.").optional(),mediaType:e.string().trim().min(1).max(200),sha256:ht,sizeBytes:e.number().int().nonnegative().max(25e7),split:Be,metadata:P}).superRefine((t,a)=>{t.stagingPath&&t.stagingPath.split("/").at(-1)!==t.fileName&&a.addIssue({code:"custom",message:"Staged task assets must preserve their source file name.",path:["stagingPath"]})}),wa=e.object({path:e.string().trim().min(1).max(1e3).refine(ae,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:S.nullable().optional(),submissionMode:e.literal("structured_json").optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:P}),Je=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:S,clusterKey:S,split:Be,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:Fe,sourceRefs:e.array(S).min(1).max(100),assets:e.array(Ra).max(1e3).optional(),resourceRefs:e.array(S).max(1e3).optional(),requiredOutputs:e.array(wa).max(100).optional(),tags:e.array(S).max(100).default([]),metadata:P}),_a=e.object({id:S,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(ae,"Environment resource paths must remain relative."),mediaType:e.string().trim().min(1).max(200).nullable().optional(),visibility:e.enum(["policy_visible","policy_hidden","privileged"]),required:e.boolean(),metadata:P}),se=e.object({id:S,taskId:Fe,sourceRefs:e.array(S).min(1).max(100),artifactRef:S,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:P}),kr=se.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),xr=se.extend({kind:e.literal("preference"),prompt:e.string().max(1e5),chosen:e.string().max(2e5),rejected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Sr=se.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),br=se.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),vr=se.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:S,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),yr=se.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:S,label:e.string().trim().min(1).max(500),description:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),calibrationExamples:e.object({positive:e.string().trim().min(1).max(2e5),negative:e.string().trim().min(1).max(2e5),boundary:e.string().trim().min(1).max(2e5)})}),ti=e.discriminatedUnion("kind",[kr,xr,Sr,br,vr,yr]),We=e.object({demonstrations:e.array(kr).max(1e5).default([]),preferences:e.array(xr).max(1e5).default([]),corrections:e.array(Sr).max(1e5).default([]),feedback:e.array(br).max(1e5).default([]),rewards:e.array(vr).max(1e5).default([]),labels:e.array(yr).max(1e5).default([])}),Ke=e.object({protocolVersion:e.literal("openpond.taskEnvironment.v1"),kind:e.enum(["chat","agent","program","stateful_harness","work"]),entrypoint:e.string().trim().min(1).max(1e3),stateful:e.boolean(),deterministicSeeds:e.boolean(),toolNames:e.array(S).max(200).default([]),actionBindings:e.array(gr).max(200).optional(),lifecycle:e.array(e.enum(["create","reset","step","grade","cleanup"])).min(1),defaultTimeoutMs:e.number().int().positive().max(36e5),networkPolicy:e.enum(["none","declared_read_only","declared_scoped"]),resources:e.array(_a).max(1e4).optional(),metadata:P}),Ue=e.object({schemaVersion:e.literal("openpond.tasksetCapabilities.v1"),taskKind:e.enum(["chat","single_agent","multi_agent","custom_program"]),supportedSignals:e.array(e.enum(["demonstration","preference","correction","feedback","reward","label"])),compatibleMethods:e.array(e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"])),rewardKinds:e.array(e.enum(["none","exact","deterministic","model_judge","human"])),requiresTools:e.boolean(),requiresState:e.boolean(),requiresPrivilegedGrading:e.boolean(),environmentPlacements:e.array(e.enum(["local","remote","colocated","provider_native"])),exportable:e.boolean(),portabilityBlockers:e.array(e.string().trim().min(1).max(2e3)).default([])}),Ze=e.object({id:S,taskIds:e.array(S).min(1).max(1e4).refine(t=>new Set(t).size===t.length,"Grader task IDs must be unique.").optional(),version:e.string().trim().min(1).max(100),label:e.string().trim().min(1).max(500),weight:e.number().min(0).max(1e3).default(1),hardGate:e.boolean().default(!1),rewardEligible:e.boolean().default(!1),privileged:e.boolean().default(!1),metadata:P}),Ta=Ze.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),Ea=Ze.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:_e,calibrationFixtureRefs:e.array(S).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),Aa=Ze.extend({kind:e.literal("human"),form:At.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),ja=Ze.extend({kind:e.literal("custom_verifier"),runtime:jt.optional(),module:e.string().trim().min(1).max(1e3).refine(ae,"Custom verifier modules must use a safe relative path."),exportName:Sa,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),Ye=e.union([Ta,Ea,Aa,ja]),Pa=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),ne=e.object({id:S,taskId:S,label:Pa,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:P});var Rr=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:Ht,fixtureSet:C,calibrationCheck:N,fixture:Ft,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:C,graderId:e.string().min(1).max(240).optional()}).strict();function wr(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:ne.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}l(wr,"authoredFixtures");function _r(t){for(let a of wr(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&Ca(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Tr(t,a.asset)}l(_r,"assertTasksetCalibrationClosures");function Ca(t,a){let r=Rr.parse(a.metadata.rewardCalibration),n=Tr(t,r.closureRef);(g(r.sourceReward)!==g(v(n.reward))||g(r.fixtureSet)!==g(n.reward.fixtureSetRef)||r.calibrationCheck.id!==n.check.id||r.calibrationCheck.revision!==n.check.revision||r.calibrationCheck.contentHash!==g(n.check))&&y("calibration_source_changed");let s=r.fixture,i=`calibration-${g([r.sourceReward,s.id])}`;(a.id!==i||a.taskId!==i||t.taskset.tasks.some(f=>f.id===i)||r.fixtureHash!==g(s)||g(a.output)!==g(s.output)||a.infrastructureError!==s.infrastructureError)&&y("calibration_fixture_changed");let o=n.check.results.filter(f=>f.fixture.id===s.id&&f.fixture.contentHash===r.fixtureHash);(o.length!==1||g(o[0])!==r.checkResultHash)&&y("calibration_result_changed");let u=s.expected;(u.status!=="scored"||typeof u.passed!="boolean"||a.expectedPassed!==u.passed||a.label!==(u.passed?"positive":"negative"))&&y("calibration_expectation_unsupported");let c=r.graderId??r.sourceReward.id,m=t.taskset.graders.filter(f=>f.id===c),h=m[0];(m.length!==1||!h)&&y("calibration_grader_not_unique"),a.expectedRewardEligible!==h.rewardEligible&&y("calibration_reward_expectation_changed");let d=It({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${n.contentHash}`,revision:1,sources:[{graderId:c,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:h.weight,required:!0,hardGate:h.hardGate,privileged:h.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[n.reward]),p=F(d,[n.reward])[0],x=l(f=>{let{rewardEligible:k,taskIds:b,...R}=f;return R.kind==="model_judge"?{...R,temperature:R.temperature??0}:R},"implementation");return g(x(h))!==g(x(p))&&y("calibration_grader_changed"),h.kind==="model_judge"&&Ha(t,h,r,n),{kind:"independent_reward_calibration",fixtureId:i,task:ue.parse({id:i,clusterKey:i,split:"validation",input:s.input,expectedOutput:s.expectedOutput,privilegedContextRef:null}),evaluatorContext:s.evaluatorContext,evidence:{output:s.output,artifactRefs:s.artifactRefs,runtimeEventRefs:s.runtimeEventRefs,infrastructureError:s.infrastructureError},grader:p,reward:n.reward,binding:d,expected:u,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}l(Ca,"resolveIndependent");function Tr(t,a){(a.visibility!=="host_private"||a.sizeBytes>qt||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&y("calibration_closure_not_private");let r=t.files.filter(c=>c.asset.id===a.id);(r.length!==1||g(r[0].asset)!==g(a))&&y("calibration_closure_asset_changed");let n=j(r[0]),s=new TextDecoder("utf-8",{fatal:!0}).decode(n),i=Vt(JSON.parse(s));g(Gt(i).asset)!==g(a)&&y("calibration_closure_reference_changed"),t.files.filter(c=>c.asset.contentHash===a.contentHash||c.asset.id===a.id||c.asset.path===a.path).some(c=>c.asset.visibility!=="host_private")&&y("calibration_closure_visible_alias");let u=l(c=>c.id===a.id||c.path===a.path||c.contentHash===a.contentHash,"isAlias");for(let c of t.taskset.tasks)(c.artifactRefs.some(u)||(c.requiredOutputs??[]).some(m=>m.schemaRef&&u(m.schemaRef))||c.privilegedContextRef&&t.files.some(m=>m.asset.id===c.privilegedContextRef&&u(m.asset)))&&y("calibration_closure_task_alias"),(gt(c.input,s,a.contentHash)||gt(c.policyVisibleContext,s,a.contentHash))&&y("calibration_closure_inline_alias");for(let c of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])c&&u(c)&&y("calibration_closure_environment_schema_alias");for(let c of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(c===void 0)continue;let m=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(c);for(let h of m){let d=t.files.find(p=>p.asset.path===h.path);(h.id===a.id||h.path===a.path||d&&u(d.asset))&&y("calibration_closure_environment_resource_alias")}}return i}l(Tr,"readPrivateClosure");function gt(t,a,r){return typeof t=="string"?t===a||$(t)===r:!t||typeof t!="object"?!1:$(JSON.stringify(t))===r?!0:Object.values(t).some(n=>gt(n,a,r))}l(gt,"containsClosure");function y(t){throw new Error(t)}l(y,"fail");function Ha(t,a,r,n){let s=a.id,i=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring,o=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(i),u=n.check.fixtureRefs.map(m=>`calibration-${g([r.sourceReward,m.id])}`);g(o.judgeCalibrationFixtures[s]??[])!==g(u)&&y("calibration_judge_membership_changed");let c=wr(t);for(let m=0;m<u.length;m++){let h=c.filter(b=>b.id===u[m]);h.length!==1&&y("calibration_judge_membership_changed");let d=h[0],p=Rr.parse(d.metadata.rewardCalibration),x=p.fixture.expected;(x.status!=="scored"||typeof x.passed!="boolean"||d.expectedPassed!==x.passed||d.expectedRewardEligible!==a.rewardEligible||d.label!==(x.passed?"positive":"negative")||g(d.output)!==g(p.fixture.output)||d.infrastructureError!==p.fixture.infrastructureError)&&y("calibration_judge_membership_changed");let f=n.check.fixtureRefs[m],k=n.check.results.find(b=>b.fixture.id===f.id);(d.taskId!==d.id||p.fixture.id!==f.id||p.fixtureHash!==f.contentHash||g(p.fixture)!==f.contentHash||p.checkResultHash!==g(k)||g(p.sourceReward)!==g(r.sourceReward)||g(p.fixtureSet)!==g(r.fixtureSet)||g(p.calibrationCheck)!==g(r.calibrationCheck)||g(p.closureRef)!==g(r.closureRef)||(p.graderId??p.sourceReward.id)!==s)&&y("calibration_judge_membership_changed")}}l(Ha,"assertJudgeFixtureMembership");var Ia=pt.omit({taskset:!0,executionResources:!0}),Er=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:B,environment:q,verifierSet:V,files:e.array(De).max(1e4),modelResources:Ia.optional(),learningResources:dt.optional()}).strict(),$a=Er.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function _i(t){return t.learningResources?X(t.taskset).binding:t.modelResources?.rewardBinding??null}l(_i,"tasksetPackageRewardBinding");function Da(t){return t.learningResources?X(t.taskset).definition.instructions:t.modelResources?t.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(t.taskset.metadata.ordinaryAuthoring??{}).instructions??""}l(Da,"resolveTasksetPackageInstructions");function Ar(t,a=$e){le(t,a);let r=$a.parse(t),{contentHash:n,...s}=r;if(g(s)!==n)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:o,verifierSet:u}=r;if(Ee(i),ur(i)&&(r.modelResources||r.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!J(o)||!W(u)||!Z(i.environmentRelease,{id:o.id,contentHash:o.contentHash})||!Z(i.verifierSetRelease,{id:u.id,contentHash:u.contentHash})||!Z(i.environment,o.contract)||!Z(i.graders,u.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let m=new Map;for(let d of r.files){if(m.has(d.asset.id))throw new Error(`Duplicate Taskset asset identity: ${d.asset.id}.`);j(d),m.set(d.asset.id,d)}function h(d){let p=m.get(d.id);if(!p||!Z(p.asset,d))throw new Error(`Taskset package asset is missing or mismatched: ${d.id}.`)}l(h,"requireAsset");for(let d of i.tasks){for(let p of d.artifactRefs)h(p);for(let p of d.requiredOutputs??[]){let x=it(p.metadata);if(x&&p.submissionMode!=="structured_json")throw new Error("Sampling schema requires a structured output.");if(p.schemaRef&&h(p.schemaRef),p.submissionMode==="structured_json"){if(!p.schemaRef||p.schemaRef.visibility!=="policy"||p.mediaType!=="application/json"||o.contract.kind!=="work")throw new Error("Structured output requires a policy-visible JSON schema in Work.");let f=ct(j(m.get(p.schemaRef.id)),p.schemaRef.contentHash);if(x){if(h(x.schemaRef),!d.artifactRefs.some(k=>Z(k,x.schemaRef)))throw new Error("Sampling schema must be an ordinary declared policy artifact.");ot(f,x,j(m.get(x.schemaRef.id)))}}}if(d.privilegedContextRef&&m.get(d.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${d.id}.`)}for(let d of[o.actionSchemaRef,o.observationSchemaRef,o.stateSchemaRef])d&&h(d);for(let d of i.graders){let p="verifierRef"in d?d.verifierRef:"rubricRef"in d?d.rubricRef:null;if(p&&(h(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(i.metrics?.customAggregator){let d=i.metrics.customAggregator,p=r.files.filter(x=>x.asset.path===d.module);if(p.length!==1||p[0].asset.contentHash!==d.contentHash||p[0].asset.sizeBytes>524288||p[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let d of[i.metadata.environmentResources,o.metadata.resources])if(d!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(d))if(!r.files.some(x=>x.asset.path===p.path))throw new Error(`Taskset environment resource is missing: ${p.path}.`)}if(r.learningResources){if(r.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let d=ar(i,r.learningResources);for(let p of rr(d))if(!Z(m.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of d.assets)h(p.asset)}else if(r.modelResources){let d=Me({...r.modelResources,taskset:i,executionResources:{environment:o,verifierSet:u}});for(let p of d.assets)h(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(d=>i.metadata[d]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return ut(r),Da(r),_r(r),r}l(Ar,"validateTasksetPackage");function Ti(t,a=$e){le(t,a);let r=Er.parse(t);return Ar({...r,contentHash:g(r)},a)}l(Ti,"createTasksetPackage");function Z(t,a){return g({value:t})===g({value:a})}l(Z,"same");function Ei(t,a){let r=Ar(t),n=r.taskset.tasks.find(s=>s.id===a);if(!n||r.environment.contract.kind!=="work")throw new Error("Work Taskset task not found.");return(n.requiredOutputs??[]).map(s=>({path:s.path,mediaType:s.mediaType,maxBytes:s.maxBytes,...s.submissionMode==="structured_json"?{submissionMode:"structured_json",structuredOutput:(()=>{let i=ct(j(r.files.find(u=>u.asset.id===s.schemaRef.id)),s.schemaRef.contentHash),o=it(s.metadata);return o?{...i,sampling:ot(i,o,j(r.files.find(u=>u.asset.id===o.schemaRef.id)))}:i})()}:{}}))}l(Ei,"resolveTasksetWorkOutputs");function Oa(t,a){let r=t.metadata.learning===void 0?null:rt.parse(t.metadata.learning),n=t.metadata.rewardExecution,s=a??(n?{binding:fe.parse(n.binding),rewards:pe.array().parse(n.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let i=t.metadata.rewardBinding;if(!s||!i||i.id!==s.binding.id||i.revision!==s.binding.revision||i.contentHash!==s.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return s&&F(s.binding,s.rewards),s?{binding:s.binding,rewards:s.rewards}:null}l(Oa,"resolvePortableTasksetRewardExecution");function zi(t){let a=Cr(t.taskset),r=Hr(t.taskset),n=t.taskset.metadata.learning===void 0?null:rt.parse(t.taskset.metadata.learning),s=t.taskset.metadata.rewardExecution,i=Oa(t.taskset,t.rewardExecution),o=i?F(i.binding,i.rewards):t.taskset.graders.map(za),u=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!u.length)throw new Error("A portable Taskset release requires at least one task.");let c=t.taskset.environment.metadata.portableExecutionResources;if(a.entrypoint==="openpond.javascript-environment.v1"&&!c)throw new Error("Tool Taskset publication requires its pinned execution resources.");let m=c?q.parse(c.environment):je({schemaVersion:"openpond.environmentRelease.v1",id:`environment-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,contract:a,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{[t.adapterId]:g({adapterId:t.adapterId,environment:a,tools:r})},metadata:{sourceTasksetId:t.taskset.id,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,resources:t.taskset.environment.resources??[]}}),h=c?.verifierSet!==void 0?V.parse(c.verifierSet):Pe({schemaVersion:"openpond.verifierSetRelease.v1",id:`verifier-set-release-${t.taskset.id}-r${t.taskset.revision}`,revision:t.taskset.revision,graders:o,isolation:{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(t.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:{sourceTasksetId:t.taskset.id}});if(!J(m)||!W(h)||g(m.contract)!==g(a)||g(h.graders)!==g(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let d=Pt.parse({schemaVersion:"openpond.tasksetRelease.v2",id:t.taskset.metadata.derivedPortableMetadata===void 0?`taskset-release-${t.taskset.id}-r${t.taskset.revision}`:t.taskset.id,revision:t.taskset.revision,policy:{policyVisibleFields:t.taskset.policy.policyVisibleFields,privilegedFields:t.taskset.policy.privilegedFields,hiddenGraderRefs:t.taskset.policy.hiddenGraderRefs,connectedAppScopes:t.taskset.policy.connectedAppScopes},environment:a,tools:r,capabilities:Ba(t.taskset),tasks:u.map(Ma),graders:o,...t.taskset.metrics?{metrics:t.taskset.metrics}:{},metadata:{...t.taskset.metadata.derivedPortableMetadata??{sourceTasksetId:t.taskset.id,sourceTasksetHash:t.taskset.contentHash,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,environmentResources:t.taskset.environment.resources??[],workAssetStagingPaths:Object.fromEntries(u.filter(f=>f.assets?.some(k=>k.stagingPath)).map(f=>[f.id,Object.fromEntries((f.assets??[]).filter(k=>k.stagingPath).map(k=>[k.id,k.stagingPath]))])),ordinaryAuthoring:{instructions:t.taskset.objective,graderSourceRewards:Object.fromEntries(t.taskset.graders.filter(f=>f.metadata.sourceReward!==void 0).map(f=>[f.id,f.metadata.sourceReward])),graderOrigins:Object.fromEntries(t.taskset.graders.map(f=>[f.id,f.metadata.preparationOrigin==="reused"?"reused":f.metadata.preparationOrigin==="adapted"||f.metadata.adaptedFromReward?"adapted":"authored"])),graderFixtures:t.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(t.taskset.graders.filter(f=>f.kind==="model_judge").map(f=>[f.id,f.calibrationFixtureRefs]))},...n?{learning:n}:{},...i&&!n&&(t.rewardExecution||s)?{rewardExecution:{binding:i.binding,rewards:i.rewards}}:{}},...t.taskset.metadata.tasksetOutputContract===void 0?{}:{tasksetOutputContract:t.taskset.metadata.tasksetOutputContract}}}),p=t.admittedTasksetRelease?B.parse(t.admittedTasksetRelease):B.parse({...d,contentHash:g(d)}),x=p.environmentRelease?Fa({draft:p,environmentRelease:m,verifierSetRelease:h}):Lt({taskset:p,environment:m,verifierSet:h});return{environmentRelease:m,verifierSetRelease:h,tasksetRelease:x}}l(zi,"materializePortableTasksetRelease");function Bi(t){if(!Nt(t.preferenceComparison))throw new Error("Preference comparison release failed immutable content verification.");let a=t.preferenceComparison;if(a.tasksetRelease.id!==t.tasksetRelease.id||a.tasksetRelease.contentHash!==t.tasksetRelease.contentHash)throw new Error("Preference comparison release must reference the admitted portable Taskset release.");return a}l(Bi,"projectPreferenceComparisonRelease");function Fi(t){return Cr(t)}l(Fi,"portableTasksetEnvironment");function qi(t){return Hr(t)}l(qi,"portableTasksetTools");function Ma(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=ue.parse(a),n=ue.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:jr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.filter(s=>r.artifactRefs.some(i=>i.id===s.id)||s.metadata.sharedEnvironmentResource===void 0&&!(t.requiredOutputs??[]).some(i=>i.submissionMode==="structured_json"&&i.schemaRef===s.id)).map(s=>{let i=r.artifactRefs.find(o=>o.id===s.id);return{id:s.id,path:i?.path??`tasks/${ie(t.id)}/${s.stagingPath??ie(s.fileName)}`,contentHash:kt(s.sha256),sizeBytes:s.sizeBytes,mediaType:s.mediaType,visibility:i?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(s=>{let i=r.requiredOutputs?.find(o=>o.path===s.path);return{path:s.path,mediaType:s.mediaType,...s.submissionMode?{submissionMode:s.submissionMode}:{},schemaRef:i?.schemaRef&&i.schemaRef.id===s.schemaRef?i.schemaRef:t.metadata.outputSchemaRefs?.[s.schemaRef??""]??null,maxBytes:s.maxBytes??null,metadata:{...s.metadata,...s.schemaRef&&i?.schemaRef?.id!==s.schemaRef?{legacySchemaRef:s.schemaRef}:{}}}})});return n.requiredOutputs===void 0&&delete n.requiredOutputs,n}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:jr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${ie(t.id)}/${r.stagingPath??ie(r.fileName)}`,contentHash:kt(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(t.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,...r.submissionMode?{submissionMode:r.submissionMode}:{},schemaRef:t.metadata.outputSchemaRefs?.[r.schemaRef??""]??null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:t.tags}}l(Ma,"projectPortableTaskRecord");function jr(t){if(!t.expectedOutput)return null;if("artifactRenderer"in t.expectedOutput)throw new Error(`Task ${t.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`);return t.expectedOutput}l(jr,"portableExpectedOutput");function Cr(t){return{protocolVersion:"openpond.environment.v1",kind:t.environment.kind==="chat"?"text":t.environment.kind==="work"?"work":t.environment.kind==="program"?"custom_program":"agent",entrypoint:t.environment.entrypoint,stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,lifecycle:["create","reset","step","collect","destroy"],networkPolicy:t.environment.networkPolicy,defaultTimeoutMs:t.environment.defaultTimeoutMs}}l(Cr,"portableEnvironment");function Hr(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return Tt.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(n=>({name:n.modelToolName,description:n.description,inputSchema:n.inputSchema,inputSchemaHash:kt(n.actionSchemaHash),sideEffect:n.sideEffect,timeoutMs:n.timeoutMs})):t.environment.toolNames.map(n=>({name:n,description:`Host-provided ${n} tool.`,inputSchema:{},inputSchemaHash:g({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}l(Hr,"portableTools");function za(t){let a={id:t.id,...t.taskIds?{taskIds:t.taskIds}:{},version:t.version,weight:t.weight,hardGate:t.hardGate,rewardEligible:t.rewardEligible,privileged:t.privileged};if(t.kind==="model_judge")return{...a,kind:"model_judge",rubricRef:Pr(t),model:qa(t),temperature:t.temperature,calibrationStatus:t.calibrationStatus};if(t.kind==="custom_verifier"){if(t.metadata.portableVerifierRef===void 0)throw new Error(`Custom verifier ${t.id} requires its immutable executable asset before publication.`);let r=et.safeParse(t.metadata.portableGrader),n=r.success&&r.data.kind==="custom_verifier"&&r.data.exportName===void 0&&t.exportName==="verify";return{...a,kind:"custom_verifier",...t.runtime===void 0?{}:{runtime:t.runtime},verifierRef:C.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...n?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:Pr(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...Ct(t)}}l(za,"portableGrader");function Ba(t){let a=t.metadata.portableCapabilities;return a!==void 0?Et.array().max(200).parse(a):[...t.capabilities.requiresTools?[{id:"tools",required:!0,scopes:t.environment.toolNames}]:[],...t.capabilities.requiresState?[{id:"local-state",required:!0,scopes:[]}]:[],...t.capabilities.requiresPrivilegedGrading?[{id:"private-verifier",required:!0,scopes:t.policy.hiddenGraderRefs}]:[],...t.policy.connectedAppScopes.map(r=>({id:`connected-app-${ie(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}l(Ba,"portableCapabilities");function Fa(t){if(t.draft.environmentRelease?.id!==t.environmentRelease.id||t.draft.environmentRelease.contentHash!==t.environmentRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Environment Release.");if(t.draft.verifierSetRelease?.id!==t.verifierSetRelease.id||t.draft.verifierSetRelease.contentHash!==t.verifierSetRelease.contentHash)throw new Error("Admitted Taskset Release binds a different Verifier Set Release.");if(g(t.draft.environment)!==g(t.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(g(t.draft.graders)!==g(t.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return t.draft}l(Fa,"assertReleaseBindings");function qa(t){let a=t.metadata.portableGrader===void 0?null:et.parse(t.metadata.portableGrader),r=a?.kind==="model_judge"&&a.model?.providerId===t.judge.providerId&&a.model.modelId===t.judge.modelId?a.model.revision:null;return{...t.judge,revision:r}}l(qa,"modelJudgeRef");function Pr(t){let a=$(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,n=t.metadata.portableRubricRef;if(n!==void 0){let s=C.parse(n);if(s.contentHash!==a||s.sizeBytes!==r||s.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return s}return{id:`rubric-${t.id}`,path:`graders/${ie(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}l(Pr,"rubricAsset");function kt(t){return/^[a-f0-9]{64}$/.test(t)?t:g(t)}l(kt,"hash");function ie(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}l(ie,"segment");var H=e.string().trim().min(1).max(240),be=e.string().trim().min(1),Xe=e.string().trim().min(8).max(256),$r=e.record(e.string(),e.unknown()).default({}),Va=H.nullable(),Dr=["work_capabilities","work_environment","work_list_files","work_read_file","work_read_document","work_write_file","work_write_docx","work_edit_file","work_delete_file","work_exec","work_save_output","work_stop"],Ga=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),La=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),w=e.string().trim().max(1e5),Na=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:w,examples:e.array(e.object({id:H,prompt:w,response:w})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:w,pairs:e.array(e.object({id:H,prompt:w,chosen:w,rejected:w,rationale:w})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:w,rules:e.array(e.object({id:H,points:e.number().finite(),condition:w})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:w,criteria:e.array(e.object({id:H,label:e.string().trim().max(500),description:w})).max(1e3).default([]),positiveExample:w,negativeExample:w,boundaryExample:w})]),Zi=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),Ja=e.object({primaryMethod:e.enum(["sft","dpo","grpo","ppo","sdft","opsd","sdpo"]),bootstrap:e.object({method:e.literal("sft"),purpose:e.literal("trajectory_bootstrap"),demonstrationRefs:e.array(H).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),Wa=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),Ka=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(Wa).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Ir=e.object({code:H,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),Ua=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:H,tasksetHash:Xe,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:Ja.nullable().default(null),methodReadiness:e.array(Ka).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Ir).default([]),advisories:e.array(Ir).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:be}),Za=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:be}),Ya=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:_e.nullable(),modelConfig:$r,skillHash:Xe,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:La.default("demonstrations"),buildSpecification:Na.nullable().default(null),evidenceHashes:e.array(Xe).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(Za).max(1e3),createdAt:be}),Or=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:H,revision:e.number().int().positive().default(1),profileId:H,profileRelease:_t.nullable().optional(),createImproveRunId:Va.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:qe.default("general"),benchmark:Ve.nullable().default(null),preferenceComparison:Ge.nullable().default(null),status:Ga,sourceRefs:e.array(Le).min(1).max(1e5),datasetArtifact:Se.nullable().optional(),policy:Ne,environment:Ke,capabilities:Ue,metrics:Te.optional(),tasks:e.array(Je).max(1e6),graders:e.array(Ye).max(1e3),graderFixtures:e.array(ne).max(1e5),learningSignals:We,authoringProvenance:Ya,readiness:Ua.nullable(),contentHash:Xe,createdAt:be,updatedAt:be,metadata:$r}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!t.datasetArtifact&&t.tasks.length===0&&a.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function Mr(t){return t.schemaVersion==="openpond.trainingSource.v1"}l(Mr,"isTrainingSourceRef");function to(t,a={}){let r=Or.safeParse(t);if(!r.success)return{valid:!1,taskset:null,computedHash:null,issues:r.error.issues.map(o=>({code:"schema_invalid",severity:"error",message:o.message,path:o.path.join(".")}))};let n=r.data,s=[];es(n,s),Qa(n,s),ts(n,s),as(n,s),ss(n,s),a.purpose!=="publication"&&(n.graders.length||s.push({code:"graders_required",severity:"error",message:"Scored execution requires at least one grader.",path:"graders"}),Xa(n,s,a)),ns(n,s),is(n.capabilities,s,n),rs(n,s);let i=zr(n);return n.contentHash!==i&&s.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${n.contentHash}, expected ${i}.`,path:"contentHash"}),{valid:!s.some(o=>o.severity==="error"),taskset:n,computedHash:i,issues:s}}l(to,"validateTaskset");function Xa(t,a,r){let n=t.graders.length>0&&t.graders.every(o=>o.kind==="human");!n&&!t.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&t.metadata.trainingMethod==="grpo"&&t.metadata.learning)&&a.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let s=new Set(t.tasks.map(o=>o.id)),i=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let o of t.graderFixtures)!t.datasetArtifact&&!s.has(o.taskId)&&a.push({code:"grader_fixture_task_missing",severity:"warning",message:`Fixture ${o.id} references a task outside this Taskset revision (${o.taskId}).`,path:`graderFixtures.${o.id}.taskId`}),i.delete(o.label),o.label==="infrastructure_failure"&&!o.infrastructureError&&a.push({code:"infrastructure_fixture_error_missing",severity:"error",message:`Infrastructure fixture ${o.id} must declare an infrastructure error.`,path:`graderFixtures.${o.id}.infrastructureError`});for(let o of n?[]:i)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}l(Xa,"validateGraderFixtures");function Qa(t,a){let r=t.datasetArtifact;if(!r)return;(r.tasksetId!==t.id||r.tasksetRevision!==t.revision)&&a.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let n=Object.values(r.splitCounts).reduce((c,m)=>c+m,0),s=r.shards.reduce((c,m)=>c+m.rowCount,0);(n!==r.rowCount||s!==r.rowCount)&&a.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let i=new Map;for(let c of r.shards)i.set(c.split,(i.get(c.split)??0)+c.rowCount);for(let[c,m]of Object.entries(r.splitCounts))(i.get(c)??0)!==m&&a.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${c} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${c}`});let{contentHash:o,...u}=r;g(u)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}l(Qa,"validateDatasetArtifact");function ro(t){return zr(t)}l(ro,"computeTasksetHash");function zr(t){let{contentHash:a,status:r,readiness:n,updatedAt:s,...i}=t;return g(i)}l(zr,"tasksetContentHash");function es(t,a){for(let[r,n]of t.sourceRefs.entries())Mr(n)&&n.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${n.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),n.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${n.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),n.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${n.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),n.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${n.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}l(es,"validateSourceConsent");function ts(t,a){let r=new Map;for(let s of t.tasks){let i=r.get(s.clusterKey)??new Set;i.add(s.split),r.set(s.clusterKey,i)}for(let[s,i]of r)i.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${s} appears in multiple splits: ${[...i].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(s=>s.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}l(ts,"validateSplitIsolation");function rs(t,a){if(t.environment.kind!=="work")return;t.environment.entrypoint!=="openpond-work-v1"&&a.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!t.environment.lifecycle.includes("reset")||!t.environment.lifecycle.includes("cleanup"))&&a.push({code:"work_reset_lifecycle_missing",severity:"error",message:"Work attempts require reset and cleanup; filesystem state belongs to one attempt.",path:"environment.lifecycle"});let r=new Set(Dr),n=t.environment.toolNames.filter(i=>!r.has(i));n.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${n.join(", ")}.`,path:"environment.toolNames"}),t.environment.toolNames.includes("work_save_output")||a.push({code:"work_output_tool_missing",severity:"error",message:"Work Tasksets must declare work_save_output.",path:"environment.toolNames"});for(let i of["create","reset","step","grade","cleanup"])t.environment.lifecycle.includes(i)||a.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${i} lifecycle stage.`,path:"environment.lifecycle"});let s=new Map(t.sourceRefs.map(i=>[i.id,i]));for(let[i,o]of t.tasks.entries()){let u=new Set,c=new Set;for(let[h,d]of(o.assets??[]).entries()){let p=`tasks.${i}.assets.${h}`;u.has(d.id)&&a.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${d.id}.`,path:`${p}.id`});let x=d.stagingPath??d.fileName;c.has(x)&&a.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged path ${x}.`,path:`${p}.fileName`}),u.add(d.id),c.add(x),o.sourceRefs.includes(d.sourceRefId)||a.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${d.id} references source ${d.sourceRefId} outside task ${o.id}.`,path:`${p}.sourceRefId`});let f=s.get(d.sourceRefId);f?"sourceFileHashes"in f&&!f.sourceFileHashes?.includes(d.sha256)&&a.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${d.id} hash is not registered by source ${d.sourceRefId}.`,path:`${p}.sha256`}):a.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${d.id} references missing source ${d.sourceRefId}.`,path:`${p}.sourceRefId`}),f&&"kind"in f&&f.kind==="uploaded_file"&&!f.originalFileNames.includes(d.fileName)&&a.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${d.id} file name is not registered by source ${d.sourceRefId}.`,path:`${p}.fileName`}),f&&"kind"in f&&f.kind==="uploaded_file"&&!f.mediaTypes.includes(d.mediaType)&&a.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${d.id} media type is not registered by source ${d.sourceRefId}.`,path:`${p}.mediaType`}),d.split!==o.split&&a.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${d.id} is assigned to ${d.split}, not task split ${o.split}.`,path:`${p}.split`})}let m=new Set;for(let[h,d]of(o.requiredOutputs??[]).entries()){let p=d.path.replaceAll("\\","/"),x=`tasks.${i}.requiredOutputs.${h}.path`;m.has(p)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${p}.`,path:x}),m.add(p)}(o.requiredOutputs??[]).length===0&&a.push({code:"work_output_missing",severity:"error",message:`Work task ${o.id} must declare at least one required output.`,path:`tasks.${i}.requiredOutputs`})}}l(rs,"validateWorkExecution");function as(t,a){let r=new Set(t.policy.policyVisibleFields);for(let n of t.policy.privilegedFields)r.has(n)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${n} is both policy-visible and privileged.`,path:"policy"});for(let n of t.tasks)n.privilegedContextRef&&Object.keys(n.policyVisibleContext).includes(n.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${n.id} exposes its privileged context reference.`,path:`tasks.${n.id}.policyVisibleContext`})}l(as,"validatePolicyBoundary");function ss(t,a){let r=new Set(t.tasks.map(s=>s.id)),n=new Set;for(let s of t.graders)s.taskIds?.some(i=>!r.has(i))&&a.push({code:"grader_task_missing",severity:"error",message:`Grader ${s.id} refers to a task outside this Dataset.`,path:"graders"}),n.has(s.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${s.id}.`,path:"graders"}),n.add(s.id),s.kind==="model_judge"&&s.rewardEligible&&s.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${s.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${s.id}`}),s.kind==="model_judge"&&s.calibrationStatus==="passed"&&typeof s.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${s.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${s.id}.metadata.calibrationEvidenceHash`}),s.kind==="human"&&s.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${s.id} cannot be an online optimizer reward.`,path:`graders.${s.id}`})}l(ss,"validateGraders");function ns(t,a){let r=new Set(t.tasks.map(s=>s.id)),n=new Set(t.sourceRefs.map(s=>s.id));for(let s of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])s.taskId&&!t.datasetArtifact&&!r.has(s.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${s.id} references missing task ${s.taskId}.`,path:`learningSignals.${s.kind}.${s.id}.taskId`}),s.sourceRefs.some(i=>!n.has(i))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${s.id} references a source outside the Dataset.`,path:`learningSignals.${s.kind}.${s.id}.sourceRefs`});for(let s of t.learningSignals.preferences)s.chosen.trim()===s.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${s.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${s.id}`});for(let s of t.learningSignals.rewards)s.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${s.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${s.id}.executable`})}l(ns,"validateLearningSignals");function is(t,a,r){!t.exportable&&t.portabilityBlockers.length===0&&a.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),t.compatibleMethods.includes("grpo")&&!t.rewardKinds.some(n=>n==="exact"||n==="deterministic"||n==="model_judge")&&a.push({code:"grpo_reward_missing",severity:"error",message:"GRPO compatibility requires a scalar reward kind.",path:"capabilities.rewardKinds"}),r?.capabilities.compatibleMethods.includes("sft")&&r.learningSignals.demonstrations.length===0&&a.push({code:"sft_demonstrations_missing",severity:"error",message:"SFT compatibility requires approved demonstrations.",path:"learningSignals.demonstrations"}),r?.capabilities.compatibleMethods.includes("dpo")&&r.learningSignals.preferences.length===0&&a.push({code:"dpo_preferences_missing",severity:"error",message:"DPO compatibility requires chosen and rejected response pairs.",path:"learningSignals.preferences"}),r&&(r.capabilities.compatibleMethods.includes("grpo")||r.capabilities.compatibleMethods.includes("ppo"))&&!r.learningSignals.rewards.some(n=>n.executable)&&!r.graders.some(n=>n.rewardEligible&&n.weight>0&&n.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}l(is,"validateCapabilities");var oe=e.string().trim().min(1).max(240),Br=e.string().trim().min(1),os=e.string().trim().min(8).max(256),cs=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),ds=e.record(e.string(),e.unknown()).default({});function xt(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}l(xt,"safeRelativeFilePath");var ms=Je.extend({sourceRefs:e.array(oe).max(100).default([])}),ls=e.enum(["draft","validating","needs_review","published"]),us=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:oe,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),ps=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),requiredOutputSource:e.literal("task.requiredOutputs").optional(),responsePath:e.string().trim().min(1).max(1e3).refine(xt,"Response paths must name a safe relative output path.").optional(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(xt,"Renderer modules must use a safe relative path."),exportName:cs,configRef:e.string().trim().min(1).max(1e3).refine(xt,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((t,a)=>{t.responsePath!==void 0&&(t.mode!=="artifacts"||t.requiredOutputSource!=="task.requiredOutputs")&&a.addIssue({code:"custom",path:["responsePath"],message:"An artifact response path requires artifacts mode and task.requiredOutputs."}),t.requiredOutputSource!==void 0&&t.mode!=="artifacts"&&a.addIssue({code:"custom",path:["requiredOutputSource"],message:"Required output sources belong to artifacts mode."}),t.mode==="structured_json"&&!t.jsonSchema&&a.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),t.mode==="text"&&t.renderer&&a.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),lo=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:oe,revision:e.number().int().positive(),profileId:oe,modelScope:e.object({modelId:oe,expectedModelRevision:e.number().int().positive(),source:sr.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:qe.default("general"),benchmark:Ve.nullable().default(null),preferenceComparison:Ge.nullable().default(null),status:ls,sourceRefs:e.array(Le).max(1e5).default([]),datasetArtifact:Se.nullable().optional(),policy:Ne,environment:Ke,output:ps.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:Ue,metrics:Te,review:us,tasks:e.array(ms).max(1e6).default([]),graders:e.array(Ye).max(1e3).default([]),graderFixtures:e.array(ne).max(1e5).default([]),learningSignals:We,publishedTasksetRef:e.object({id:oe,revision:e.number().int().positive(),contentHash:os}).nullable(),createdAt:Br,updatedAt:Br,metadata:ds}).superRefine((t,a)=>{t.purpose==="benchmark"&&!t.benchmark&&a.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),t.purpose!=="benchmark"&&t.benchmark&&a.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),t.datasetArtifact&&t.tasks.length>0&&a.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),t.status==="published"&&!t.publishedTasksetRef&&a.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})});export{it as a,ot as b,ct as c,_s as d,Ts as e,Yr as f,Es as g,ee as h,lt as i,ta as j,yn as k,ra as l,dt as m,rr as n,ar as o,Xr as p,mt as q,Bs as r,sr as s,nr as t,Qr as u,ir as v,Fs as w,qs as x,aa as y,ur as z,$e as A,De as B,j as C,ut as D,ea as E,Le as F,Je as G,_a as H,Ye as I,ne as J,Er as K,$a as L,_i as M,Da as N,Ar as O,Ti as P,Ei as Q,Oa as R,zi as S,Bi as T,Fi as U,qi as V,Ma as W,Or as X,to as Y,ro as Z,lo as _};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as _}from"./chunk-6FA3GG5B.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as i}from"./chunk-FTQLQJQV.js";var u=3e3,g=9999,p="openpond.yaml",C="openpond-template-plan.json",w="openpond.sandboxTemplate.buildPlan.v1",q=["google","github","x"],P=new Set([22,2222,2375,2376,3108,5900,5901,6080,7818]),E=e.array(e.string().trim().min(1).max(1e3)).max(50),d=e.string().trim().min(1).max(4096).refine(D,{message:"path must be a relative workspace path"}),$=e.string().trim().min(1).max(500).refine(t=>!t.includes("\0")&&!/\s/.test(t),"image ref must be a single OCI reference"),F=e.string().trim().regex(/^sha256:[0-9a-f]{64}$/i),k=e.string().trim().min(1).max(500).refine(t=>t.startsWith("/")&&!t.includes("\0"),"workspaceRoot must be an absolute guest path"),B=e.object({ref:$,digest:F.optional(),registrySecretRef:e.string().trim().min(1).max(500).optional(),platform:e.literal("linux/amd64").optional(),workspaceRoot:k.optional()}).strict(),Z=e.object({context:d.default("."),path:d.default("Dockerfile"),target:e.string().trim().min(1).max(191).optional(),buildArgs:e.record(e.string().max(191),e.string().max(500)).optional(),registrySecretRefs:e.array(e.string().trim().min(1).max(500)).max(10).optional(),platform:e.literal("linux/amd64").optional(),workspaceRoot:k.optional()}).strict(),V=e.object({base:e.string().trim().min(1).max(120).optional(),snapshot:e.string().trim().min(1).max(191).optional(),image:B.optional(),dockerfile:Z.optional()}).strict().superRefine((t,a)=>{[t.base,t.snapshot,t.image,t.dockerfile].filter(Boolean).length!==1&&a.addIssue({code:e.ZodIssueCode.custom,message:"runtime must declare exactly one of base, snapshot, image, or dockerfile"})}),N=e.object({cpu:e.number().positive().max(8).optional(),memoryGb:e.number().positive().max(32).optional(),diskGb:e.number().positive().max(100).optional()}).strict(),z=e.object({provider:e.enum(q),scopes:e.array(e.string().trim().min(1).max(200)).max(100).default([]),capabilities:e.array(e.string().trim().min(1).max(200)).max(100).default([])}).strict(),U=e.object({models:e.array(e.string().trim().min(1).max(200)).max(100).default([]),scopes:e.array(e.string().trim().min(1).max(200)).max(100).default([])}).strict(),W=e.object({opchat:U.optional()}).catchall(e.record(e.string(),e.unknown())).default({}),X=e.object({name:e.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).max(63).optional(),mountPath:e.string().trim().min(1).max(256).optional(),storageGb:e.number().int().positive().max(100).optional(),deleteOnSandboxDelete:e.boolean().optional()}).strict(),J=e.object({port:e.number().int().min(u).max(g).refine(t=>!P.has(t),{message:"preview port is reserved"}),protocol:e.literal("http").default("http"),label:e.string().trim().min(1).max(80).optional(),access:e.enum(["private","public"]).default("private"),path:e.string().trim().min(1).max(512).refine(t=>t.startsWith("/"),{message:"preview path must start with /"}).default("/")}).strict(),R=e.object({command:e.string().trim().min(1).max(1e3),cwd:d.optional(),timeoutSeconds:e.number().int().positive().max(86400).optional(),requiresStart:e.boolean().default(!1),ports:e.array(J).max(20).default([]),artifactPaths:e.array(d).max(100).default([])}).strict(),I=R.extend({name:e.string().trim().min(1).max(80)}).strict(),H=e.object({name:e.string().trim().min(1).max(80).optional(),service:e.string().trim().min(1).max(80).optional(),port:e.number().int().min(u).max(g).refine(t=>!P.has(t),{message:"app MCP port is reserved"}),path:e.string().trim().min(1).max(512).refine(t=>t.startsWith("/"),{message:"app MCP path must start with /"}).default("/mcp")}).strict(),Y=e.object({name:e.string().trim().min(1).max(80).optional(),port:e.number().int().min(u).max(g).refine(t=>!P.has(t),{message:"validation probe port is reserved"}),path:e.string().trim().min(1).max(512).refine(t=>t.startsWith("/"),{message:"validation probe path must start with /"}).default("/"),expectedStatus:e.number().int().min(100).max(599).default(200)}).strict(),G=e.record(e.string(),e.unknown()).refine(t=>t.type==="object","input schema must be a JSON schema object"),K=e.object({name:e.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),required:e.boolean().default(!1),secret:e.boolean().default(!0),description:e.string().trim().max(500).optional()}).strict(),h=e.string().trim().min(1).max(120),Q=e.object({name:e.string().trim().min(1).max(120),description:e.string().trim().max(500).optional(),cron:e.string().trim().min(1).max(500).optional(),rate:e.string().trim().min(1).max(500).optional(),once:h.optional(),scheduleType:e.enum(["rate","cron","once"]).optional(),scheduleExpression:e.string().trim().min(1).max(500).optional(),timezone:e.string().trim().min(1).max(100).optional(),enabled:e.boolean().default(!0),startAt:h.optional(),endAt:h.optional(),maxRuns:e.number().int().positive().nullable().optional(),runtimePolicy:e.enum(["run_and_stop","run_and_archive","run_and_delete","use_existing_running"]).default("run_and_stop"),action:e.string().trim().min(1).max(120).optional(),actionName:e.string().trim().min(1).max(120).optional(),command:e.string().trim().min(1).max(2e3).optional(),target:e.object({kind:e.enum(["start","action","service","command"]).optional(),name:e.string().trim().min(1).max(120).optional(),actionName:e.string().trim().min(1).max(120).optional(),command:e.string().trim().min(1).max(2e3).optional(),requiresStart:e.boolean().optional()}).strict().optional(),requiresStart:e.boolean().optional(),budget:e.object({maxUsd:e.string().trim().min(1).max(40).optional()}).strict().optional(),resources:N.optional(),quotas:e.record(e.string(),e.unknown()).optional(),lifecycle:e.record(e.string(),e.unknown()).optional(),retentionPolicy:e.record(e.string(),e.unknown()).optional(),env:e.array(e.object({name:e.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),value:e.string().optional(),secretRef:e.string().optional()}).strict()).max(100).optional(),integrationLeases:e.array(e.record(e.string(),e.unknown())).max(20).optional(),metadata:e.record(e.string(),e.unknown()).optional()}).strict().superRefine((t,a)=>{[t.cron,t.rate,t.once,t.scheduleExpression].filter(l=>typeof l=="string"&&l.trim()).length!==1&&a.addIssue({code:e.ZodIssueCode.custom,path:["scheduleExpression"],message:"schedule must declare exactly one of cron, rate, once, or scheduleExpression"}),t.scheduleExpression&&!t.scheduleType&&a.addIssue({code:e.ZodIssueCode.custom,path:["scheduleType"],message:"scheduleType is required with scheduleExpression"});let r=t.command??t.target?.command??null,o=t.target?.name??null,s=t.actionName??t.action??t.target?.actionName??(t.target?.kind==="action"?o:null),m=t.target?.kind??(r?"command":"action");m==="action"&&!s&&a.addIssue({code:e.ZodIssueCode.custom,path:["action"],message:"schedule action target is required"}),m==="service"&&!o&&a.addIssue({code:e.ZodIssueCode.custom,path:["target","name"],message:"schedule service target name is required"}),m==="command"&&!r&&a.addIssue({code:e.ZodIssueCode.custom,path:["command"],message:"schedule command target is required"})}),b=e.object({schemaVersion:e.literal(1),name:e.string().trim().min(1).max(80).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/),version:e.string().trim().min(1).max(40),useCase:e.string().trim().min(1).max(80),description:e.string().trim().min(1).max(500),runtime:V,resources:N.optional(),setup:e.object({commands:E.default([])}).strict().default({commands:[]}),validation:e.object({commands:E.min(1),probes:e.array(Y).max(20).default([])}).strict(),start:R,actions:e.array(I).max(20).default([]),services:e.array(I).max(20).default([]),schedules:e.array(Q).max(20).default([]),mcp:e.object({endpoints:e.array(H).max(10).default([])}).strict().default({endpoints:[]}),volumes:e.array(X).max(5).default([]),integrations:e.object({requiredLeases:e.array(z).max(20).default([])}).strict().default({requiredLeases:[]}),permissions:W,inputs:e.object({schema:G.default({type:"object"}),env:e.array(K).max(100).default([])}).strict().default({schema:{type:"object"},env:[]}),artifacts:e.object({paths:e.array(d).max(100).default([])}).strict().default({paths:[]}),network:e.object({egress:e.enum(["restricted","allow","block"]).default("restricted")}).strict().default({egress:"restricted"})}).strict().superRefine((t,a)=>{se(t,a),j(a,t.volumes.flatMap(n=>n.name?[n.name]:[]),"volume names must be unique","volumes"),re(t,a),ie(t,a),le(t,a),me(t,a)}),y=e.object({path:e.string(),message:e.string(),code:e.string()});function ee(t){let a;try{a=_.load(t)}catch(n){return{ok:!1,manifest:null,diagnostics:[{path:"$",code:"invalid_yaml",message:n instanceof Error?n.message:"Invalid YAML"}]}}return M(a)}i(ee,"validateSandboxTemplateYaml");function M(t){if(!t||typeof t!="object"||Array.isArray(t))return{ok:!1,manifest:null,diagnostics:[{path:"$",code:"invalid_type",message:`${p} must be an object`}]};if(Object.prototype.hasOwnProperty.call(t,"databases"))return{ok:!1,manifest:null,diagnostics:[{path:"$.databases",code:"database_resources_removed",message:"managed database requests are unsupported for
|
|
2
|
+
import{a as _}from"./chunk-6FA3GG5B.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as i}from"./chunk-FTQLQJQV.js";var u=3e3,g=9999,p="openpond.yaml",C="openpond-template-plan.json",w="openpond.sandboxTemplate.buildPlan.v1",q=["google","github","x"],P=new Set([22,2222,2375,2376,3108,5900,5901,6080,7818]),E=e.array(e.string().trim().min(1).max(1e3)).max(50),d=e.string().trim().min(1).max(4096).refine(D,{message:"path must be a relative workspace path"}),$=e.string().trim().min(1).max(500).refine(t=>!t.includes("\0")&&!/\s/.test(t),"image ref must be a single OCI reference"),F=e.string().trim().regex(/^sha256:[0-9a-f]{64}$/i),k=e.string().trim().min(1).max(500).refine(t=>t.startsWith("/")&&!t.includes("\0"),"workspaceRoot must be an absolute guest path"),B=e.object({ref:$,digest:F.optional(),registrySecretRef:e.string().trim().min(1).max(500).optional(),platform:e.literal("linux/amd64").optional(),workspaceRoot:k.optional()}).strict(),Z=e.object({context:d.default("."),path:d.default("Dockerfile"),target:e.string().trim().min(1).max(191).optional(),buildArgs:e.record(e.string().max(191),e.string().max(500)).optional(),registrySecretRefs:e.array(e.string().trim().min(1).max(500)).max(10).optional(),platform:e.literal("linux/amd64").optional(),workspaceRoot:k.optional()}).strict(),V=e.object({base:e.string().trim().min(1).max(120).optional(),snapshot:e.string().trim().min(1).max(191).optional(),image:B.optional(),dockerfile:Z.optional()}).strict().superRefine((t,a)=>{[t.base,t.snapshot,t.image,t.dockerfile].filter(Boolean).length!==1&&a.addIssue({code:e.ZodIssueCode.custom,message:"runtime must declare exactly one of base, snapshot, image, or dockerfile"})}),N=e.object({cpu:e.number().positive().max(8).optional(),memoryGb:e.number().positive().max(32).optional(),diskGb:e.number().positive().max(100).optional()}).strict(),z=e.object({provider:e.enum(q),scopes:e.array(e.string().trim().min(1).max(200)).max(100).default([]),capabilities:e.array(e.string().trim().min(1).max(200)).max(100).default([])}).strict(),U=e.object({models:e.array(e.string().trim().min(1).max(200)).max(100).default([]),scopes:e.array(e.string().trim().min(1).max(200)).max(100).default([])}).strict(),W=e.object({opchat:U.optional()}).catchall(e.record(e.string(),e.unknown())).default({}),X=e.object({name:e.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).max(63).optional(),mountPath:e.string().trim().min(1).max(256).optional(),storageGb:e.number().int().positive().max(100).optional(),deleteOnSandboxDelete:e.boolean().optional()}).strict(),J=e.object({port:e.number().int().min(u).max(g).refine(t=>!P.has(t),{message:"preview port is reserved"}),protocol:e.literal("http").default("http"),label:e.string().trim().min(1).max(80).optional(),access:e.enum(["private","public"]).default("private"),path:e.string().trim().min(1).max(512).refine(t=>t.startsWith("/"),{message:"preview path must start with /"}).default("/")}).strict(),R=e.object({command:e.string().trim().min(1).max(1e3),cwd:d.optional(),timeoutSeconds:e.number().int().positive().max(86400).optional(),requiresStart:e.boolean().default(!1),ports:e.array(J).max(20).default([]),artifactPaths:e.array(d).max(100).default([])}).strict(),I=R.extend({name:e.string().trim().min(1).max(80)}).strict(),H=e.object({name:e.string().trim().min(1).max(80).optional(),service:e.string().trim().min(1).max(80).optional(),port:e.number().int().min(u).max(g).refine(t=>!P.has(t),{message:"app MCP port is reserved"}),path:e.string().trim().min(1).max(512).refine(t=>t.startsWith("/"),{message:"app MCP path must start with /"}).default("/mcp")}).strict(),Y=e.object({name:e.string().trim().min(1).max(80).optional(),port:e.number().int().min(u).max(g).refine(t=>!P.has(t),{message:"validation probe port is reserved"}),path:e.string().trim().min(1).max(512).refine(t=>t.startsWith("/"),{message:"validation probe path must start with /"}).default("/"),expectedStatus:e.number().int().min(100).max(599).default(200)}).strict(),G=e.record(e.string(),e.unknown()).refine(t=>t.type==="object","input schema must be a JSON schema object"),K=e.object({name:e.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),required:e.boolean().default(!1),secret:e.boolean().default(!0),description:e.string().trim().max(500).optional()}).strict(),h=e.string().trim().min(1).max(120),Q=e.object({name:e.string().trim().min(1).max(120),description:e.string().trim().max(500).optional(),cron:e.string().trim().min(1).max(500).optional(),rate:e.string().trim().min(1).max(500).optional(),once:h.optional(),scheduleType:e.enum(["rate","cron","once"]).optional(),scheduleExpression:e.string().trim().min(1).max(500).optional(),timezone:e.string().trim().min(1).max(100).optional(),enabled:e.boolean().default(!0),startAt:h.optional(),endAt:h.optional(),maxRuns:e.number().int().positive().nullable().optional(),runtimePolicy:e.enum(["run_and_stop","run_and_archive","run_and_delete","use_existing_running"]).default("run_and_stop"),action:e.string().trim().min(1).max(120).optional(),actionName:e.string().trim().min(1).max(120).optional(),command:e.string().trim().min(1).max(2e3).optional(),target:e.object({kind:e.enum(["start","action","service","command"]).optional(),name:e.string().trim().min(1).max(120).optional(),actionName:e.string().trim().min(1).max(120).optional(),command:e.string().trim().min(1).max(2e3).optional(),requiresStart:e.boolean().optional()}).strict().optional(),requiresStart:e.boolean().optional(),budget:e.object({maxUsd:e.string().trim().min(1).max(40).optional()}).strict().optional(),resources:N.optional(),quotas:e.record(e.string(),e.unknown()).optional(),lifecycle:e.record(e.string(),e.unknown()).optional(),retentionPolicy:e.record(e.string(),e.unknown()).optional(),env:e.array(e.object({name:e.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),value:e.string().optional(),secretRef:e.string().optional()}).strict()).max(100).optional(),integrationLeases:e.array(e.record(e.string(),e.unknown())).max(20).optional(),metadata:e.record(e.string(),e.unknown()).optional()}).strict().superRefine((t,a)=>{[t.cron,t.rate,t.once,t.scheduleExpression].filter(l=>typeof l=="string"&&l.trim()).length!==1&&a.addIssue({code:e.ZodIssueCode.custom,path:["scheduleExpression"],message:"schedule must declare exactly one of cron, rate, once, or scheduleExpression"}),t.scheduleExpression&&!t.scheduleType&&a.addIssue({code:e.ZodIssueCode.custom,path:["scheduleType"],message:"scheduleType is required with scheduleExpression"});let r=t.command??t.target?.command??null,o=t.target?.name??null,s=t.actionName??t.action??t.target?.actionName??(t.target?.kind==="action"?o:null),m=t.target?.kind??(r?"command":"action");m==="action"&&!s&&a.addIssue({code:e.ZodIssueCode.custom,path:["action"],message:"schedule action target is required"}),m==="service"&&!o&&a.addIssue({code:e.ZodIssueCode.custom,path:["target","name"],message:"schedule service target name is required"}),m==="command"&&!r&&a.addIssue({code:e.ZodIssueCode.custom,path:["command"],message:"schedule command target is required"})}),b=e.object({schemaVersion:e.literal(1),name:e.string().trim().min(1).max(80).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/),version:e.string().trim().min(1).max(40),useCase:e.string().trim().min(1).max(80),description:e.string().trim().min(1).max(500),runtime:V,resources:N.optional(),setup:e.object({commands:E.default([])}).strict().default({commands:[]}),validation:e.object({commands:E.min(1),probes:e.array(Y).max(20).default([])}).strict(),start:R,actions:e.array(I).max(20).default([]),services:e.array(I).max(20).default([]),schedules:e.array(Q).max(20).default([]),mcp:e.object({endpoints:e.array(H).max(10).default([])}).strict().default({endpoints:[]}),volumes:e.array(X).max(5).default([]),integrations:e.object({requiredLeases:e.array(z).max(20).default([])}).strict().default({requiredLeases:[]}),permissions:W,inputs:e.object({schema:G.default({type:"object"}),env:e.array(K).max(100).default([])}).strict().default({schema:{type:"object"},env:[]}),artifacts:e.object({paths:e.array(d).max(100).default([])}).strict().default({paths:[]}),network:e.object({egress:e.enum(["restricted","allow","block"]).default("restricted")}).strict().default({egress:"restricted"})}).strict().superRefine((t,a)=>{se(t,a),j(a,t.volumes.flatMap(n=>n.name?[n.name]:[]),"volume names must be unique","volumes"),re(t,a),ie(t,a),le(t,a),me(t,a)}),y=e.object({path:e.string(),message:e.string(),code:e.string()});function ee(t){let a;try{a=_.load(t)}catch(n){return{ok:!1,manifest:null,diagnostics:[{path:"$",code:"invalid_yaml",message:n instanceof Error?n.message:"Invalid YAML"}]}}return M(a)}i(ee,"validateSandboxTemplateYaml");function M(t){if(!t||typeof t!="object"||Array.isArray(t))return{ok:!1,manifest:null,diagnostics:[{path:"$",code:"invalid_type",message:`${p} must be an object`}]};if(Object.prototype.hasOwnProperty.call(t,"databases"))return{ok:!1,manifest:null,diagnostics:[{path:"$.databases",code:"database_resources_removed",message:"managed database requests are unsupported for sandbox templates; use a durable volume with SQLite or files instead"}]};let a=b.safeParse(t);return a.success?{ok:!0,manifest:a.data,diagnostics:[]}:{ok:!1,manifest:null,diagnostics:a.error.issues.map(n=>({path:oe(n.path),code:n.code,message:n.message}))}}i(M,"validateSandboxTemplateManifest");function te(t){return t.map(a=>`${a.path}: ${a.message}`).join(`
|
|
3
3
|
`)}i(te,"formatSandboxTemplateDiagnostics");function v(t){return[{kind:"start",name:"start",...t.start,artifactPaths:S(t.start,t)},...t.actions.map(a=>({kind:"action",name:a.name,command:a.command,cwd:a.cwd,timeoutSeconds:a.timeoutSeconds,requiresStart:a.requiresStart,ports:a.ports,artifactPaths:S(a,t)})),...t.services.map(a=>({kind:"service",name:a.name,command:a.command,cwd:a.cwd,timeoutSeconds:a.timeoutSeconds,requiresStart:a.requiresStart,ports:a.ports,artifactPaths:S(a,t)}))]}i(v,"sandboxTemplateExecutableEntries");function O(t){let a=v(t);return{template:{name:t.name,version:t.version,useCase:t.useCase,runtime:t.runtime},resources:t.resources??null,volumes:t.volumes,executables:a.map(n=>({kind:n.kind,name:n.name,command:n.command,cwd:n.cwd??null,timeoutSeconds:n.timeoutSeconds??null,requiresStart:n.requiresStart,ports:n.ports.map(r=>r.port),artifactPaths:n.artifactPaths})),ports:a.flatMap(n=>n.ports.map(r=>({executable:n.name,kind:n.kind,port:r.port,access:r.access,label:r.label??null}))),appMcpEndpoints:t.mcp.endpoints.map(n=>({name:n.name??null,service:n.service??null,port:n.port,path:n.path})),validation:{commands:t.validation.commands,probes:t.validation.probes},schedules:t.schedules}}i(O,"sandboxTemplateBuildMetadata");function ae(t){return{kind:w,schemaVersion:1,manifestFile:t.manifestFile,projectRoot:t.projectRoot,manifest:t.manifest,metadata:O(t.manifest),executables:v(t.manifest)}}i(ae,"sandboxTemplateBuildPlan");function ne(t){let a=t.name.trim()||"Sandbox Template",n=ce(a),r=t.description?.trim()||`Local scaffold for ${a}.`;return{".gitignore":["node_modules","artifacts",".DS_Store",""].join(`
|
|
4
4
|
`),"README.md":[`# ${a}`,"","Local sandbox template scaffold.","","## Commands","","- `pnpm dev` starts the preview service on port 3000.","- `pnpm process` writes a sample artifact.",`- \`pnpm validate\` validates ${p}.`,""].join(`
|
|
5
5
|
`),"package.json":`${JSON.stringify({private:!0,type:"module",scripts:{dev:"node src/server.ts",process:"node scripts/process.ts",validate:`openpond sandbox-template validate --file ${p}`}},null,2)}
|