openpond 0.2.54 → 0.2.56
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 +10823 -9118
- package/dist/app-server.js +1 -1
- package/dist/chunks/actions-command-QU4H53OG.js +2 -0
- package/dist/chunks/{app-layer-I7MZYVLL.js → app-layer-NSTE5HIT.js} +1 -1
- package/dist/chunks/app-server-connected-apps-JHGWLBXT.js +2 -0
- package/dist/chunks/app-server-evaluations-GJPFWIDA.js +2 -0
- package/dist/chunks/app-server-harness-services-IH4G6POY.js +2 -0
- package/dist/chunks/app-server-runtime-DVKOZ5B6.js +2 -0
- package/dist/chunks/apps-BKTOR4F7.js +2 -0
- package/dist/chunks/chunk-25MBPJVY.js +2 -0
- package/dist/chunks/chunk-2D4Y3HNW.js +2 -0
- package/dist/chunks/chunk-2IHO4GDJ.js +2 -0
- package/dist/chunks/chunk-2QUCCP6Z.js +2 -0
- package/dist/chunks/chunk-3K4VVB7S.js +6 -0
- package/dist/chunks/chunk-3QIB5FXI.js +10 -0
- package/dist/chunks/chunk-3RCRSMWZ.js +17 -0
- package/dist/chunks/chunk-3VUATFZD.js +2 -0
- package/dist/chunks/chunk-3Z47M3YY.js +2 -0
- package/dist/chunks/{chunk-GXSTZBM6.js → chunk-4D7HWVWD.js} +1 -1
- package/dist/chunks/chunk-4EPSHPZL.js +2 -0
- package/dist/chunks/chunk-4NESNOK5.js +2 -0
- package/dist/chunks/chunk-523TE4BI.js +2 -0
- package/dist/chunks/chunk-5MCNZCVQ.js +2 -0
- package/dist/chunks/chunk-6QSSIT62.js +2 -0
- package/dist/chunks/chunk-6ZFPQYHG.js +2 -0
- package/dist/chunks/chunk-74IIXVAE.js +2 -0
- package/dist/chunks/chunk-74ZXXBGN.js +6 -0
- package/dist/chunks/chunk-773TH7FN.js +2 -0
- package/dist/chunks/chunk-7E6T7GP5.js +2 -0
- package/dist/chunks/chunk-7ED24PP6.js +2 -0
- package/dist/chunks/chunk-7HPDGZOR.js +86 -0
- package/dist/chunks/chunk-7KWD2I6W.js +2 -0
- package/dist/chunks/chunk-7PXZ4X4P.js +2 -0
- package/dist/chunks/chunk-A6USMRWK.js +2 -0
- package/dist/chunks/chunk-ABD5M2D2.js +2 -0
- package/dist/chunks/chunk-ACYFMLWG.js +10 -0
- package/dist/chunks/chunk-AN525SPP.js +6 -0
- package/dist/chunks/chunk-APB2STJK.js +2 -0
- package/dist/chunks/chunk-AY64VY4E.js +2 -0
- package/dist/chunks/{chunk-UJ5EFSEC.js → chunk-B7RFL4N2.js} +1 -1
- package/dist/chunks/chunk-BFKYRQMA.js +2 -0
- package/dist/chunks/chunk-BLXEAZCQ.js +12 -0
- package/dist/chunks/chunk-D74JEERO.js +5 -0
- package/dist/chunks/{chunk-PA7XP42P.js → chunk-DARVPBZ4.js} +1 -1
- package/dist/chunks/chunk-DBK66CJP.js +8 -0
- package/dist/chunks/chunk-DDMZSZFL.js +1 -0
- package/dist/chunks/chunk-DIO5CB6U.js +2 -0
- package/dist/chunks/chunk-DMFUEUAZ.js +5 -0
- package/dist/chunks/chunk-DMVD2RFZ.js +2 -0
- package/dist/chunks/chunk-DUURYZOI.js +2 -0
- package/dist/chunks/chunk-DZUAT3TP.js +1 -0
- package/dist/chunks/chunk-EIEZHFIW.js +6 -0
- package/dist/chunks/chunk-EIRYMSEG.js +19 -0
- package/dist/chunks/{chunk-JDLAHVAJ.js → chunk-EKM2D7JU.js} +1 -1
- package/dist/chunks/chunk-EQFGBL3O.js +2 -0
- package/dist/chunks/chunk-EYPCBBMS.js +2 -0
- package/dist/chunks/chunk-F4KOGISR.js +10 -0
- package/dist/chunks/chunk-F74GBN6K.js +2 -0
- package/dist/chunks/chunk-FEAKTSRS.js +2 -0
- package/dist/chunks/chunk-FFRFSDBM.js +2 -0
- package/dist/chunks/chunk-FTEOCCPB.js +23 -0
- package/dist/chunks/chunk-FUOEIDMA.js +8 -0
- package/dist/chunks/{chunk-AH22RHPS.js → chunk-FV2R5RUN.js} +2 -2
- package/dist/chunks/chunk-FWIPHEVA.js +12 -0
- package/dist/chunks/chunk-FY5KHLMW.js +2 -0
- package/dist/chunks/chunk-G3RXYI2L.js +6 -0
- package/dist/chunks/chunk-GJ2ZJFDD.js +2 -0
- package/dist/chunks/chunk-GLDYJM7O.js +1 -0
- package/dist/chunks/chunk-GPVCOEUH.js +2 -0
- package/dist/chunks/chunk-GW766ZSO.js +5 -0
- package/dist/chunks/chunk-GWCHDF2C.js +4 -0
- package/dist/chunks/chunk-GZ7M5XBP.js +2 -0
- package/dist/chunks/chunk-H6IW2R22.js +140 -0
- package/dist/chunks/chunk-HCYX6RHP.js +2 -0
- package/dist/chunks/chunk-HDL5YSAA.js +2 -0
- package/dist/chunks/chunk-HIOKCIL7.js +2 -0
- package/dist/chunks/chunk-HY3GOBFJ.js +58 -0
- package/dist/chunks/chunk-HZEIRHEB.js +2 -0
- package/dist/chunks/chunk-I2NXNMRZ.js +2 -0
- package/dist/chunks/chunk-I7AQMAQI.js +33 -0
- package/dist/chunks/chunk-IZ6DLEVY.js +2 -0
- package/dist/chunks/chunk-J2TWKFML.js +1871 -0
- package/dist/chunks/chunk-JDEEWOD7.js +2 -0
- package/dist/chunks/chunk-JFXWI3EN.js +6 -0
- package/dist/chunks/chunk-JYKRR7E5.js +5 -0
- package/dist/chunks/chunk-KCJVFLBB.js +2 -0
- package/dist/chunks/{chunk-5CMKGD43.js → chunk-KG325WTN.js} +1 -1
- package/dist/chunks/chunk-KGNCKIFP.js +3 -0
- package/dist/chunks/chunk-KUERKVEU.js +3 -0
- package/dist/chunks/chunk-KVTBX2UP.js +2 -0
- package/dist/chunks/chunk-L6K7ERG5.js +2 -0
- package/dist/chunks/{chunk-N5QNXMIS.js → chunk-LQQNBVEB.js} +1 -1
- package/dist/chunks/{chunk-YJ4PNAST.js → chunk-M4JWQSV7.js} +1 -1
- package/dist/chunks/chunk-MQULU465.js +2 -0
- package/dist/chunks/chunk-N4FFQPLR.js +2 -0
- package/dist/chunks/chunk-N73MU2C3.js +2 -0
- package/dist/chunks/chunk-NHQ36THU.js +3 -0
- package/dist/chunks/{chunk-4SHKI3BH.js → chunk-O6ULLQJ6.js} +1 -1
- package/dist/chunks/chunk-O72BSKSO.js +2 -0
- package/dist/chunks/chunk-OGDADQGH.js +143 -0
- package/dist/chunks/chunk-OIUTWU6K.js +2 -0
- package/dist/chunks/chunk-OLLLZVHF.js +2 -0
- package/dist/chunks/{chunk-XM26DGML.js → chunk-OPNRWESL.js} +1 -1
- package/dist/chunks/chunk-OQKJGTTO.js +4 -0
- package/dist/chunks/chunk-OQPJ7FJF.js +9 -0
- package/dist/chunks/{chunk-R3XFY7VL.js → chunk-OS3LO5J3.js} +1 -1
- package/dist/chunks/{chunk-T5LE6R5S.js → chunk-OSIO7PLX.js} +1 -1
- package/dist/chunks/chunk-OUVIWDL2.js +2 -0
- package/dist/chunks/chunk-PCSIOUHF.js +7 -0
- package/dist/chunks/chunk-PF5R6CMP.js +21 -0
- package/dist/chunks/chunk-PPAPVGJP.js +3 -0
- package/dist/chunks/chunk-PRGBLQVH.js +2 -0
- package/dist/chunks/chunk-PSGGOZFM.js +2 -0
- package/dist/chunks/chunk-PUZQU66L.js +2 -0
- package/dist/chunks/{chunk-WITSXYEW.js → chunk-Q2QL6UWN.js} +1 -1
- package/dist/chunks/chunk-Q4TBTRIG.js +2 -0
- package/dist/chunks/chunk-Q5LEXXJG.js +16 -0
- package/dist/chunks/{chunk-YL6VFJ4P.js → chunk-QDC4OW3S.js} +1 -1
- package/dist/chunks/chunk-QEFHOJFE.js +7 -0
- package/dist/chunks/chunk-QHWGQ3A4.js +5 -0
- package/dist/chunks/chunk-QIKWJ2AA.js +11 -0
- package/dist/chunks/chunk-QNG27G3T.js +6 -0
- package/dist/chunks/chunk-QOGJAQDO.js +3 -0
- package/dist/chunks/chunk-QOTVNQDI.js +4 -0
- package/dist/chunks/{chunk-N3DEA6PG.js → chunk-RAXOSUSW.js} +1 -1
- package/dist/chunks/chunk-RNIAFXMB.js +50 -0
- package/dist/chunks/chunk-S5ESN275.js +42 -0
- package/dist/chunks/chunk-SDAUS5PY.js +2 -0
- package/dist/chunks/chunk-SDXFLO7J.js +5 -0
- package/dist/chunks/chunk-SH5CBAFC.js +2 -0
- package/dist/chunks/chunk-SWUEFLOH.js +2 -0
- package/dist/chunks/chunk-SYUKES6H.js +3 -0
- package/dist/chunks/chunk-T5AACNJI.js +2 -0
- package/dist/chunks/chunk-TRQQNFMO.js +4 -0
- package/dist/chunks/chunk-TVQAPBLZ.js +2 -0
- package/dist/chunks/chunk-UCPGRPWY.js +2 -0
- package/dist/chunks/chunk-UGL7WF3W.js +2 -0
- package/dist/chunks/chunk-UHFZHBGW.js +2 -0
- package/dist/chunks/chunk-UKMA4R6X.js +6 -0
- package/dist/chunks/{chunk-7ZG3IT7C.js → chunk-VRIEKBBH.js} +6 -6
- package/dist/chunks/chunk-VYLGI3IH.js +13 -0
- package/dist/chunks/chunk-W45RKGM6.js +1 -0
- package/dist/chunks/chunk-WJ43MJ3F.js +2 -0
- package/dist/chunks/chunk-WMKYHXVM.js +3 -0
- package/dist/chunks/chunk-WN3V6KDN.js +3 -0
- package/dist/chunks/chunk-X4OSOOSU.js +3 -0
- package/dist/chunks/chunk-XDQMGUWL.js +2 -0
- package/dist/chunks/chunk-XTFPDQMH.js +3 -0
- package/dist/chunks/chunk-XVDFJ3ZF.js +2 -0
- package/dist/chunks/chunk-XW6HGSIT.js +8 -0
- package/dist/chunks/chunk-XXYGGNVM.js +2 -0
- package/dist/chunks/chunk-Y4OWBBDD.js +184 -0
- package/dist/chunks/chunk-YBT2NB32.js +2 -0
- package/dist/chunks/chunk-YCJO3YVD.js +10 -0
- package/dist/chunks/{chunk-YD55Z5H3.js → chunk-YOBN7KTF.js} +11 -11
- package/dist/chunks/chunk-YOQRYNLP.js +2 -0
- package/dist/chunks/chunk-YR5ID2SS.js +2 -0
- package/dist/chunks/chunk-YY7LEQGP.js +2 -0
- package/dist/chunks/chunk-Z4Z5UOZM.js +22 -0
- package/dist/chunks/chunk-Z54O534A.js +3 -0
- package/dist/chunks/chunk-ZCHXGRRU.js +2 -0
- package/dist/chunks/chunk-ZFSHBFG5.js +40 -0
- package/dist/chunks/chunk-ZGTOK7ZK.js +12 -0
- package/dist/chunks/{chunk-NAZ26IZL.js → chunk-ZRDGQDZL.js} +1 -1
- package/dist/chunks/chunk-ZUJ3XUCP.js +2 -0
- package/dist/chunks/chunk-ZZWAQBA2.js +2 -0
- package/dist/chunks/cli-X25RSO2X.js +2 -0
- package/dist/chunks/configuration-command-6C5UO7GE.js +2 -0
- package/dist/chunks/connected-app-executor-IVLGQP65.js +2 -0
- package/dist/chunks/connected-evidence-GH2ATNEX.js +2 -0
- package/dist/chunks/connection-HTF6CC7M.js +2 -0
- package/dist/chunks/{continual-PKK2BOTB.js → continual-6CQAMTTR.js} +3 -3
- package/dist/chunks/core-commands-A2DGGIPS.js +2 -0
- package/dist/chunks/datasets-7BNMVJOY.js +2 -0
- package/dist/chunks/desktop-test-3CUHVLXV.js +3 -0
- package/dist/chunks/dist-OMGUJYPD.js +2 -0
- package/dist/chunks/{chunk-6VF3Q6QJ.js → dist-SKYG5LZO.js} +2 -4
- package/dist/chunks/dist-VYC5VMQB.js +2 -0
- package/dist/chunks/dist-ZVJPJLXR.js +2 -0
- package/dist/chunks/enclave-QS4BUNDU.js +2 -0
- package/dist/chunks/evaluation-coordination-XEF5L7KZ.js +2 -0
- package/dist/chunks/experiment-improvements-KRX2DP27.js +2 -0
- package/dist/chunks/experiments-DFGQYA4O.js +2 -0
- package/dist/chunks/experiments-VFQGE4HC.js +2 -0
- package/dist/chunks/extension-XKXXOP5N.js +4 -0
- package/dist/chunks/{help-WLKSACLZ.js → help-S7THC6IE.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-JJQWJUBT.js +2 -0
- package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +2 -0
- package/dist/chunks/hosted-app-server-composition-BCOO5ANF.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-NFSVS5TU.js +3 -0
- package/dist/chunks/hosted-harness-runtime-723S5ZSH.js +2 -0
- package/dist/chunks/hosted-profile-candidate-2S5LFUWD.js +3 -0
- package/dist/chunks/hosted-profile-compiler-2DQIFSXW.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-76BTRTYD.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-V6Z3A5XJ.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-IDJYREW3.js +3 -0
- package/dist/chunks/hosted-tasksets-ANAE2PIW.js +2 -0
- package/dist/chunks/human-review-WR777ODH.js +2 -0
- package/dist/chunks/import-MLZUHITH.js +4 -0
- package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +2 -0
- package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +2 -0
- package/dist/chunks/learning-ACEVFL5M.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-JIQ6ZVDW.js +2 -0
- package/dist/chunks/local-harness-taskset-review-XVYTGAGK.js +2 -0
- package/dist/chunks/local-scope-HVF2GZ5W.js +2 -0
- package/dist/chunks/model-projects-QPO22JPA.js +2 -0
- package/dist/chunks/opchat-T4QTNEIY.js +3 -0
- package/dist/chunks/organizations-75L5DZDV.js +2 -0
- package/dist/chunks/profile-TFZMUEDR.js +3 -0
- package/dist/chunks/profile-training-source-6GOT7AHM.js +2 -0
- package/dist/chunks/project-action-payload-7VGL7OER.js +2 -0
- package/dist/chunks/project-agent-6RRO233B.js +2 -0
- package/dist/chunks/published-experiment-source-DZFENAQA.js +2 -0
- package/dist/chunks/refiner-profile-service-UUIWFJVT.js +2 -0
- package/dist/chunks/runtime-A7OZXM43.js +6 -0
- package/dist/chunks/sandbox-command-IU5XFTJP.js +2 -0
- package/dist/chunks/{sandbox-template-BBGGPJMI.js → sandbox-template-C4V6T36U.js} +1 -1
- package/dist/chunks/saved-work-6BMBFP43.js +2 -0
- package/dist/chunks/send-turn-XTAIS2JN.js +2 -0
- package/dist/chunks/sql-execution-process-source-B4HQM6ZV.js +2 -0
- package/dist/chunks/src-CJM6HY5Y.js +326 -0
- package/dist/chunks/{src-CR6UZYTX.js → src-LMC3K6LH.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +2 -0
- package/dist/chunks/store-chat-workflows-S72HZXQR.js +18 -0
- package/dist/chunks/store-continual-support-reviews-HHA6NX7K.js +7 -0
- package/dist/chunks/store-conversation-serving-KPC62UEY.js +2 -0
- package/dist/chunks/store-create-improve-QV54XIZW.js +40 -0
- package/dist/chunks/store-datasets-RXJ33SUN.js +86 -0
- package/dist/chunks/store-evaluation-results-3F3P527G.js +7 -0
- package/dist/chunks/store-harness-evaluation-review-settings-I2R3HPO3.js +29 -0
- package/dist/chunks/store-harness-memory-VINCZ4GK.js +17 -0
- package/dist/chunks/store-harness-refinement-candidates-EA5KFQPH.js +21 -0
- package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +2 -0
- package/dist/chunks/store-human-review-RAH7WMIP.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-4CI2IRUF.js +2 -0
- package/dist/chunks/store-learning-WLG6KFIO.js +2 -0
- package/dist/chunks/store-learning-credentials-WZQJ4HPJ.js +2 -0
- package/dist/chunks/store-local-experiments-5LUJR7GI.js +97 -0
- package/dist/chunks/store-model-batch-review-YEGX327M.js +2 -0
- package/dist/chunks/store-model-configuration-5ZURQATB.js +3 -0
- package/dist/chunks/store-preference-comparison-LV32MHVL.js +6 -0
- package/dist/chunks/store-schedules-VGTEQVKH.js +53 -0
- package/dist/chunks/store-sidebar-file-bookmarks-VB5GTLFY.js +18 -0
- package/dist/chunks/store-sidebar-preferences-GWIOG2NH.js +16 -0
- package/dist/chunks/store-subagents-T7R2Z6TB.js +67 -0
- package/dist/chunks/store-task-inbox-JJTBW76C.js +33 -0
- package/dist/chunks/store-task-inventory-OB3F2APC.js +10 -0
- package/dist/chunks/store-taskset-drafts-EKQWWFYQ.js +9 -0
- package/dist/chunks/store-training-G6YLFSIR.js +70 -0
- package/dist/chunks/store-training-jobs-RC46YBF6.js +19 -0
- package/dist/chunks/store-training-models-6BA43IPP.js +49 -0
- package/dist/chunks/store-usage-IE2U2FD3.js +63 -0
- package/dist/chunks/store-work-evidence-QQDKM5AQ.js +8 -0
- package/dist/chunks/taskset-EQRFQBYM.js +2 -0
- package/dist/chunks/taskset-packages-XC6HEE3K.js +2 -0
- package/dist/chunks/{teams-bot-7I4BAUVO.js → teams-bot-EAPGPTHZ.js} +1 -1
- package/dist/chunks/training-UF6RPI4T.js +2 -0
- package/dist/chunks/web-search-CZ3NCLPY.js +2 -0
- package/dist/chunks/workspaces-EKKE5NAC.js +2 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/App-CaRMZoxo.css +1 -0
- package/dist/web/assets/App-s-CJswyt.js +154 -0
- package/dist/web/assets/{AppDialog-BdusXgU0.js → AppDialog-t2Fx5tK3.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-C4uRpnBz.js → AppTerminalPanel-Dj1Y32oI.js} +2 -2
- package/dist/web/assets/AppsView-BYE5EBDJ.js +1 -0
- package/dist/web/assets/{BrowserSidebar-Bl7V6YO2.js → BrowserSidebar-jhWi4rVm.js} +1 -1
- package/dist/web/assets/{CartesianChart-BstFbsdn.js → CartesianChart-C1DIx0Ia.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-B8YAf0c1.js → CollaborationTabs-Bdr-HmOL.js} +1 -1
- package/dist/web/assets/{CommandMenu-DZct7zUJ.js → CommandMenu-Ux2yOHAc.js} +1 -1
- package/dist/web/assets/{CommunityView-CR0-W-uG.js → CommunityView-DPEeVKFn.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DR-Qo7b4.js → ComposerCreateImproveStrip-CEgh4OtN.js} +1 -1
- package/dist/web/assets/{GetStartedView-xqQoMMei.js → GetStartedView-CFHP0AaI.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-D8BGTPVN.js +1 -0
- package/dist/web/assets/{HostedModelLearningSettings-De3i9wF4.js → HostedModelLearningSettings-JS1S7vNO.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DAY1MmqP.js → LabModelVersionDetailPage-Dx5Q3xV2.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-DLnIgnry.js → LabSkillSidebar-BxffN-pN.js} +1 -1
- package/dist/web/assets/LabsRoute-CyYF8-dw.js +99 -0
- package/dist/web/assets/MainChatThread-DZpcFRFl.js +2 -0
- package/dist/web/assets/MainPane-5DTtwVCk.js +65 -0
- package/dist/web/assets/MainPane-BIM_UJ3q.css +1 -0
- package/dist/web/assets/{MarkdownText-gJMuefaJ.js → MarkdownText-BR4V6lNO.js} +24 -24
- package/dist/web/assets/{NativeSkillSidebar-Dlxb8iOC.js → NativeSkillSidebar-DU9IEgIO.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-DM-cqJ-K.js → NewExperienceSwitcher-mIy6FzCj.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cu1q75gq.js → NewProjectDialog-RfTZTHxl.js} +1 -1
- package/dist/web/assets/{OutputsPage-DiXMkasl.js → OutputsPage-Cr1Spf7S.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DqiBHiCB.js → ProjectsPage-CE6QUB-b.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CK0rP3WT.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-vOrYv8pp.js +1 -0
- package/dist/web/assets/SettingsView-DCKVrfjj.js +5 -0
- package/dist/web/assets/SettingsView-Dulr_xlq.css +1 -0
- package/dist/web/assets/{TeamChatView-DM0adMtj.js → TeamChatView-Bwrjr-vk.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-CFlH51DD.js → TerminalOverlay-DhPoKZAq.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-Bbo3RRie.js → TrainingDraftPanel-C9cRX5qf.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CSRjJUSa.js → UsageSettingsSection-CrdcSGeW.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-DwlEMEoG.js → WorkSidebarPanel-DSSikNFQ.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-BAFo0CPN.js +14 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-BVHAhwnJ.js +63 -0
- package/dist/web/assets/WorkspaceGitDialogs-CwVoiDQ2.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-BR4qxMgU.js → WorkspaceMonacoEditor-TxLyhzNp.js} +3 -3
- package/dist/web/assets/arrow-up-right-C9aE8Mfz.js +1 -0
- package/dist/web/assets/chunk-P3BRSSRD-DUGfuKA8.js +1 -0
- package/dist/web/assets/{clipboard-BZzZ82Bk.js → clipboard-Dk158Qp4.js} +1 -1
- package/dist/web/assets/{cloud-upload-CJPYPVl8.js → cloud-upload-k9eqBsHr.js} +1 -1
- package/dist/web/assets/{cssMode-WC4Rg1l-.js → cssMode-CO35ARZp.js} +1 -1
- package/dist/web/assets/{folder-open-sLZJxLQy.js → folder-open-sYgceW_f.js} +1 -1
- package/dist/web/assets/folder-plus-CS0R49m9.js +1 -0
- package/dist/web/assets/{git-commit-horizontal-Cotm7KEC.js → git-commit-horizontal-DrGxH2h4.js} +1 -1
- package/dist/web/assets/{htmlMode-C6oZGeaB.js → htmlMode-REMmzdfq.js} +1 -1
- package/dist/web/assets/index-3iPNbbER.css +1 -0
- package/dist/web/assets/{index-BxWTVKtn.js → index-C8aCGagb.js} +2 -2
- package/dist/web/assets/info-DLdbiUrh.js +1 -0
- package/dist/web/assets/{jsonMode-BET4LQIn.js → jsonMode-KEdMfkIf.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-BPxA_-Kg.js → lspLanguageFeatures-5KZwEoxW.js} +1 -1
- package/dist/web/assets/minimize-2-CqcI4zcM.js +1 -0
- package/dist/web/assets/{monaco.contribution-DFzEyaHi.js → monaco.contribution-BJGj65F9.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DXzyQfVi.js → monaco.contribution-Cly9Wt7L.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BH6kkO4b.js → monaco.contribution-DO10L0zW.js} +2 -2
- package/dist/web/assets/{monaco.contribution-7AUuf2NS.js → monaco.contribution-omszXBEj.js} +2 -2
- package/dist/web/assets/monitor-BFVCcbxp.js +1 -0
- package/dist/web/assets/play-C469pVZq.js +1 -0
- package/dist/web/assets/{python-PzBkTjWx.js → python-Dw0YcVy9.js} +1 -1
- package/dist/web/assets/{save-DpezrtH2.js → save-CtSjPydi.js} +1 -1
- package/dist/web/assets/square-BuImvLhT.js +1 -0
- package/dist/web/assets/{toggleHighContrast-Cto-fOXm.js → toggleHighContrast-DjCO9lIP.js} +1 -1
- package/dist/web/assets/{tsMode-BYA4LNc6.js → tsMode-BAOnxKd6.js} +1 -1
- package/dist/web/assets/{upload-C5YFNgtS.js → upload-2JkFZo3h.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CnyTsqlf.js → useLocalAgentSchedules-BNqAisfS.js} +1 -1
- package/dist/web/assets/useProviderSettings-C4L4wDoh.js +5 -0
- package/dist/web/assets/{useProviderSettings-Bw-csWbH.css → useProviderSettings-CmL_BaxP.css} +1 -1
- package/dist/web/assets/{useSessionTurnCache-DICuJSJW.js → useSessionTurnCache-BHU2-Jmz.js} +1 -1
- package/dist/web/assets/{wifi-off-nzHj7JXp.js → wifi-off-CpOAH62M.js} +1 -1
- package/dist/web/assets/{workers-Dboaw6f_.js → workers-0QvlA2T5.js} +1 -1
- package/dist/web/assets/{yaml-uuY5JmO8.js → yaml-BK3qxo7D.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +3 -3
- package/dist/chunks/actions-command-DSO6YOEE.js +0 -2
- package/dist/chunks/app-server-runtime-7AXV6JZI.js +0 -2
- package/dist/chunks/apps-TM74FFQB.js +0 -2
- package/dist/chunks/chunk-2JO2KWT3.js +0 -5
- package/dist/chunks/chunk-2SPZYBDN.js +0 -16
- package/dist/chunks/chunk-37DXASQL.js +0 -191
- package/dist/chunks/chunk-4EEH7MEC.js +0 -2
- package/dist/chunks/chunk-4TZHH5FC.js +0 -2409
- package/dist/chunks/chunk-5TNDPNS3.js +0 -2
- package/dist/chunks/chunk-6JAN4RMN.js +0 -42
- package/dist/chunks/chunk-7QEE4PBI.js +0 -8
- package/dist/chunks/chunk-BX4J2VDU.js +0 -2
- package/dist/chunks/chunk-DALJMSJG.js +0 -33
- package/dist/chunks/chunk-EMKZVP7Z.js +0 -2
- package/dist/chunks/chunk-FPUUZQUP.js +0 -6
- package/dist/chunks/chunk-GCOUYYHG.js +0 -5
- package/dist/chunks/chunk-GS2NKNKG.js +0 -4
- package/dist/chunks/chunk-H2VT22JK.js +0 -2
- package/dist/chunks/chunk-HA7EFTPF.js +0 -23
- package/dist/chunks/chunk-IKWDL3RB.js +0 -17
- package/dist/chunks/chunk-NHFGEVVH.js +0 -518
- package/dist/chunks/chunk-NNF6KCHD.js +0 -3
- package/dist/chunks/chunk-PJM2G7SG.js +0 -21
- package/dist/chunks/chunk-PQHTZ5CP.js +0 -2
- package/dist/chunks/chunk-PYABBF53.js +0 -53
- package/dist/chunks/chunk-QRWPEW3Z.js +0 -24
- package/dist/chunks/chunk-QXVIIM4T.js +0 -2
- package/dist/chunks/chunk-SDEDAHV6.js +0 -160
- package/dist/chunks/chunk-TGIB24K4.js +0 -22
- package/dist/chunks/chunk-UE3DMPGM.js +0 -3
- package/dist/chunks/chunk-USKE34VR.js +0 -9
- package/dist/chunks/chunk-USMZT5FZ.js +0 -18
- package/dist/chunks/chunk-WV2APYWG.js +0 -2
- package/dist/chunks/chunk-YIB3J4RC.js +0 -2
- package/dist/chunks/chunk-Z3D4C7BG.js +0 -12
- package/dist/chunks/cli-JVB345H2.js +0 -2
- package/dist/chunks/configuration-command-MATM4XR5.js +0 -2
- package/dist/chunks/connected-evidence-YDPGNHLP.js +0 -2
- package/dist/chunks/core-commands-MTV4EKXY.js +0 -2
- package/dist/chunks/datasets-CP3IT47T.js +0 -2
- package/dist/chunks/desktop-test-IAZC5MAH.js +0 -3
- package/dist/chunks/dist-4HV2W6V4.js +0 -2
- package/dist/chunks/dist-SAABJU5F.js +0 -2
- package/dist/chunks/evaluation-coordination-EPHLZXYM.js +0 -2
- package/dist/chunks/experiment-improvements-6JTOPA74.js +0 -2
- package/dist/chunks/experiments-XHPFGECH.js +0 -2
- package/dist/chunks/extension-GX7DLW2X.js +0 -4
- package/dist/chunks/hosted-experiment-improvement-HAB3UE6A.js +0 -3
- package/dist/chunks/hosted-harness-runtime-YM23QNDK.js +0 -2
- package/dist/chunks/hosted-profile-candidate-EOBGKQAS.js +0 -3
- package/dist/chunks/hosted-profile-compiler-SCVJI2CP.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-RJ6XJZCS.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-OC4XNGL2.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-ZD4FM3FD.js +0 -3
- package/dist/chunks/human-review-AAVMISBF.js +0 -2
- package/dist/chunks/import-V3HUGRHR.js +0 -4
- package/dist/chunks/learning-FNBEIAY6.js +0 -2
- package/dist/chunks/opchat-QK43DXTY.js +0 -3
- package/dist/chunks/organizations-SRPAWKC7.js +0 -2
- package/dist/chunks/profile-C6CQNVYE.js +0 -3
- package/dist/chunks/project-agent-GZV5HNYI.js +0 -2
- package/dist/chunks/sandbox-command-4TJXQTKT.js +0 -2
- package/dist/chunks/src-NE6R4XC6.js +0 -329
- package/dist/chunks/taskset-LUG3ZU6J.js +0 -2
- package/dist/chunks/training-XHE6FVII.js +0 -2
- package/dist/chunks/workspaces-MFZ3OO6O.js +0 -2
- package/dist/web/assets/App-CO2F717V.css +0 -1
- package/dist/web/assets/App-CuhaCsfb.js +0 -235
- package/dist/web/assets/AppsView-BS1czXUP.js +0 -1
- package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +0 -1
- package/dist/web/assets/LabsRoute-CXJRJMhr.js +0 -99
- package/dist/web/assets/MainChatThread-BwAla81W.js +0 -2
- package/dist/web/assets/MainPane-CakOBCHw.js +0 -19
- package/dist/web/assets/MainPane-DOWsSew1.css +0 -1
- package/dist/web/assets/RightChatPanelStack-VaOOmxwd.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CeSFJM5s.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-D1jRQxFs.js +0 -1
- package/dist/web/assets/SettingsView-BnANbPLS.css +0 -1
- package/dist/web/assets/SettingsView-RA9OXgcu.js +0 -5
- package/dist/web/assets/TrainingCreationPanel-CgIBVGha.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +0 -14
- package/dist/web/assets/WorkspaceEnvironmentMenu-Byjngd9V.js +0 -32
- package/dist/web/assets/WorkspaceGitDialogs-Dgmg-6XG.js +0 -1
- package/dist/web/assets/arrow-up-right-H0pvnH2s.js +0 -1
- package/dist/web/assets/chunk-UHVJOMWN-BqXRe639.js +0 -1
- package/dist/web/assets/folder-plus-C84wrpt_.js +0 -1
- package/dist/web/assets/index-dSmk3FLJ.css +0 -1
- package/dist/web/assets/info-Dc81lEfw.js +0 -1
- package/dist/web/assets/minimize-2-Bs7MVN3C.js +0 -1
- package/dist/web/assets/monitor-DXL019Wf.js +0 -1
- package/dist/web/assets/play-CXkxUZeU.js +0 -1
- package/dist/web/assets/square-oy7f5Ce6.js +0 -1
- package/dist/web/assets/useProviderSettings-B_KeQjE5.js +0 -5
- /package/dist/chunks/{chunk-OGPHXXCD.js → chunk-BT5YNE5U.js} +0 -0
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{I as Ue,L as Ge,O as kt,Q as St,R as $n,U as Je,W as Ke,d as rn,k as bn,q as kn,r as pa,ta as va,v as Sn,wa as qn}from"./chunk-WV2APYWG.js";import{$ as at,$a as re,Ad as Pn,Ea as vn,Id as An,Jb as nr,Kb as Rn,Kc as In,Lb as se,Oa as vt,Q as dn,Qd as Cn,Rb as Tn,S as ln,T as ar,Td as Mn,U as Bt,Ua as yn,V as mn,Vc as ir,W as pe,Wc as sr,X as ca,Xa as rt,Xc as _n,Ya as fe,Z as un,a as ue,aa as pn,ad as Hn,b as ke,ba as Ae,ca as fn,d as tr,da as hn,db as Ne,ea as da,f as nn,fa as la,ga as ae,gb as nt,h as sa,j as oa,ja as Te,jb as fa,ka as ma,l as sn,la as K,lb as ha,m as on,na as ua,nb as ga,pb as wn,sb as xn,ua as rr,vb as x,vd as jn,w as cn,wb as U,xb as C,xd as En,ya as gn,yb as bt}from"./chunk-PJM2G7SG.js";import{Ia as Gs}from"./chunk-SDEDAHV6.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c,e as Us}from"./chunk-FTQLQJQV.js";var it=fe.shape.id,Vt=e.string().regex(/^[a-f0-9]{64}$/),ba=e.object({scopeId:it,modelId:it}).strict(),ka=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:ba,root:fe,parent:fe}).strict(),or=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:it,modelId:it,expectedModelRevision:e.number().int().positive(),sourcePackageHash:Vt}).strict(),Ce=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:it,requestHash:Vt,sourcePackageHash:Vt,sourceTasksetRef:fe,tasksetId:it,tasksetRevision:e.number().int().positive(),lineage:ka,authoringGraph:e.literal("bound").optional()}).strict(),oe=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."),Dn=e.object({path:oe,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),zt=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),Js=Dn.extend({contentHash:Vt,content:zt}).strict(),cr=e.object({draftId:it,expectedDraftRevision:e.number().int().positive(),path:oe,expectedFileHash:Vt.nullable(),content:zt.nullable()}).strict();var dr=yn.extend({mode:e.enum(["nightly","approved_count"]),minimumTasks:e.number().int().min(1).max(1e4),maximumSpendUsd:e.number().positive().max(1e5),maximumDailySpendUsd:e.number().positive().max(1e6)}).strict().superRefine((t,a)=>{t.maximumDailySpendUsd<t.maximumSpendUsd&&a.addIssue({code:"custom",path:["maximumDailySpendUsd"],message:"The daily budget must cover one update."})});var mr="application/vnd.openpond.training+json;version=2",On="application/vnd.openpond.model-project+json;version=2",zn=1048576,yt=67108864,ur=8388608,Sa=524288,Ks=8388608,E=class extends Error{static{c(this,"OpenPondProtocolError")}code;constructor(t,a){super(a),this.name="OpenPondProtocolError",this.code=t}};function A(t){return JSON.stringify(lr(t))}c(A,"canonicalJson");function Ws(t){return new TextEncoder().encode(A(t)).byteLength}c(Ws,"canonicalJsonByteLength");async function F(t){let a=new TextEncoder().encode(A(t)),r=await globalThis.crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(r),n=>n.toString(16).padStart(2,"0")).join("")}c(F,"canonicalSha256");function $e(t,a,r){let n=Ws(t);if(n>a)throw new E("payload_too_large",`${r} is ${n} bytes; the maximum is ${a} bytes.`)}c($e,"assertCanonicalPayloadSize");function pr(t,a,r){let n=new TextEncoder().encode(t).byteLength;if(n>a)throw new E("response_too_large",`${r} is ${n} bytes; the maximum is ${a} bytes.`);try{return JSON.parse(t)}catch{throw new E("invalid_json",`${r} was not valid JSON.`)}}c(pr,"parseBoundedJson");function lr(t){if(t===null||typeof t=="string"||typeof t=="boolean")return t;if(typeof t=="number"){if(!Number.isFinite(t))throw new E("non_json_value","Canonical JSON cannot contain a non-finite number.");return Object.is(t,-0)?0:t}if(Array.isArray(t))return t.map(a=>lr(a));if(typeof t=="object"){let a=Object.getPrototypeOf(t);if(a!==Object.prototype&&a!==null)throw new E("non_json_value","Canonical JSON accepts only plain objects.");let r={};for(let n of Object.keys(t).sort()){let i=t[n];if(i===void 0||typeof i=="function"||typeof i=="symbol")throw new E("non_json_value",`Canonical JSON cannot contain ${typeof i} at ${n}.`);r[n]=lr(i)}return r}throw new E("non_json_value",`Canonical JSON cannot contain ${typeof t}.`)}c(lr,"normalizeCanonicalJson");var q=e.string().trim().min(1).max(500),Ie=e.string().regex(/^[a-f0-9]{64}$/),he=e.string().datetime({offset:!0}),H=e.object({id:q,contentHash:Ie}).strict(),N=H.extend({revision:e.number().int().positive()}).strict(),We=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:q,revision:e.string().trim().min(1).max(256).nullable(),tokenizerRevision:e.string().trim().min(1).max(256).nullable(),chatTemplateHash:e.string().trim().min(8).max(256).nullable(),modelAssetId:q.nullable(),source:e.enum(["managed","local","builtin"])}).strict(),Ln=e.enum(["sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),fr=e.object({schemaVersion:e.string().regex(/^openpond\.[A-Za-z0-9]+Recipe\.v\d+$/),method:Ln,parameterization:e.enum(["lora","full"])}).catchall(e.unknown()),Ys=e.object({profileProjectId:q,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),harnessRelease:H}).strict(),Xs=e.object({profileProjectId:q,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),catalogHash:Ie,definitionId:q,harnessRelease:H,tasksetRelease:H}).strict(),Fn=e.object({tasksetRef:N.nullable().default(null),evaluationTasksetRef:N.nullable().optional(),profileSource:Ys.nullable().optional(),profileEvaluation:Xs.nullable().optional(),rewardBindingRef:N.nullable().optional(),tasksetRelease:H.nullable().default(null),harnessRelease:H.nullable().default(null),baseModel:We.nullable().default(null),method:Ln.nullable().default(null),destinationId:q.nullable().default(null),managedRolloutPlacement:e.enum(["local","remote"]).default("remote"),managedGpuPlacementObjective:e.enum(["fast","balanced","economical"]).default("balanced"),managedGpuRequirement:e.enum(["any","h100_hbm3"]).default("any"),runPreset:e.enum(["small","standard","custom","small_experiment"]).nullable().default(null),recipe:fr.nullable().default(null),preferredMaximumSpendUsd:e.number().nonnegative().nullable().default(null),preferredRetentionDays:e.number().int().nonnegative().nullable().default(null)}).strict(),Lt=Fn.omit({managedGpuRequirement:!0}),Qs=e.object({schemaVersion:e.literal("openpond.hostedModelProjectLink.v1"),apiOrigin:e.string().url().refine(t=>new URL(t).origin===t,"Use a canonical API origin.").nullable().default(null),teamId:q,projectId:q,portableProjectId:q,revision:e.number().int().positive(),etag:Ie,syncedSourceRevision:e.number().int().positive(),syncedAt:he,tasksets:e.array(e.object({localTasksetId:q,localTasksetHash:Ie.nullable().default(null),releaseId:q,releaseRevision:e.number().int().positive(),releaseHash:Ie,packageHash:Ie.nullable().default(null),hostedTasksetId:q,syncedAt:he}).strict()).max(1e4).default([])}).strict(),Zs=e.object({localTasksetId:q,releaseId:q,releaseRevision:e.number().int().positive(),releaseHash:Ie,state:e.enum(["syncing","synced","sync_failed"]),hostedTasksetId:q.nullable().default(null),lastAttemptAt:he,syncedAt:he.nullable().default(null),lastError:e.string().trim().min(1).max(5e3).nullable().default(null)}).strict(),eo=e.object({schemaVersion:e.literal("openpond.modelProject.v2"),id:q,profileId:q,revision:e.number().int().positive().default(1),name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:We.nullable(),defaultDestinationId:q.nullable(),trainingSetup:Fn,hosted:Qs.nullable().default(null),tasksetSyncs:e.array(Zs).max(1e4).default([]),createdAt:he,updatedAt:he}).strict(),Nn=eo.pick({id:!0,profileId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,trainingSetup:!0}),to=e.object({schemaVersion:e.literal("openpond.modelProjectSave.v1"),operationId:q,expectedRevision:e.number().int().nonnegative(),project:Nn,learning:dr.optional()}).strict().superRefine((t,a)=>{t.learning&&t.expectedRevision!==0&&a.addIssue({code:"custom",path:["learning"],message:"Use learning settings to edit an existing Model's policy."})}),ao=e.object({schemaVersion:e.literal("openpond.modelProjectConfigurationCheck.v1"),configurationHash:Ie,projectId:q,expectedRevision:e.number().int().nonnegative(),checkedAt:he,canSave:e.boolean(),deferred:e.array(e.enum(["base_model","taskset"])).max(2),findings:e.array(e.object({code:q,severity:e.enum(["error","warning"]),message:e.string().min(1).max(5e3),field:e.string().min(1).max(500).nullable()}).strict()).max(100)}).strict(),ro=e.object({id:q,name:e.string().min(1).max(500),available:e.boolean(),preference:We}).strict();async function Jm(t){let a=ya(t);return F({project:a.project,expectedRevision:a.expectedRevision,...a.learning?{learning:a.learning}:{}})}c(Jm,"modelProjectConfigurationHash");function ya(t){try{ke(t,Sa)}catch{throw new Un(400,{schemaVersion:"openpond.modelProjectApiError.v2",code:"model_configuration_json_invalid",message:"Model configuration must be bounded JSON data.",retryable:!1,requestId:null,details:{}})}return to.parse(t)}c(ya,"parseModelProjectSaveRequest");async function Km(t,a,r){ke(t,Sa);let n=Nn.parse(t);$e(n,Sa,"Model configuration");let i=r?dr.parse(r):void 0,s=await F({project:n,expectedRevision:a,...i?{learning:i}:{}});return ya({schemaVersion:"openpond.modelProjectSave.v1",operationId:`model-save:${s}`,expectedRevision:a,project:n,...i?{learning:i}:{}})}c(Km,"createModelProjectSaveRequest");var hr=e.object({schemaVersion:e.literal("openpond.hostedModelProjectSync.v2"),portableProjectId:q,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:We.nullable(),defaultDestinationId:q.nullable(),trainingSetup:Lt,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,expectedEtag:Ie.nullable().default(null)}).strict(),Me=e.object({id:q,teamId:q,portableProjectId:q,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:We.nullable(),defaultDestinationId:q.nullable(),trainingSetup:Lt,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,revision:e.number().int().positive(),etag:Ie,createdAt:he,updatedAt:he}).strict(),no=e.object({kind:e.enum(["taskset_release","harness_release","dataset_release","evidence_set","model_version","reward_model_version","evaluation_receipt"]),ref:H,role:e.string().trim().min(1).max(200).nullable().default(null),updatedAt:he}).strict(),io=e.object({project:Me,resources:e.array(no).max(1e4),jobCount:e.number().int().nonnegative(),latestJobIds:e.array(q).max(100)}).strict(),so=e.object({schemaVersion:e.literal("openpond.modelProjectApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),Un=class extends Error{static{c(this,"OpenPondModelProjectApiError")}status;code;retryable;requestId;details;constructor(t,a){super(a.message),this.name="OpenPondModelProjectApiError",this.status=t,this.code=a.code,this.retryable=a.retryable,this.requestId=a.requestId,this.details=a.details}};function Bn(t){let a={};return new Headers(t).forEach((r,n)=>{a[n]=r}),a}c(Bn,"headersRecord");function Wm(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function n(i,s){let o=typeof t.headers=="function"?await t.headers():t.headers??{},l=await a(`${r}${i}`,{...s,headers:{accept:On,...s?.body?{"content-type":On}:{},...Bn(o),...Bn(s?.headers)}}),u=pr(await l.text(),Ks,"Model Project API response");if(!l.ok){let d=so.safeParse(u);throw d.success?new Un(l.status,d.data):new E("invalid_error_response",`Model Project request failed with HTTP ${l.status} and an invalid error envelope.`)}return u}return c(n,"request"),{async configurationCandidates(){return e.object({candidates:e.array(ro).max(1e3)}).strict().parse(await n("/v1/model-projects/configuration/candidates",{headers:{accept:"application/json"}})).candidates},async checkConfiguration(i){let s=ya(i);return ao.parse(await n("/v1/model-projects/configuration/check",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async saveConfiguration(i){let s=ya(i);return Me.parse(await n("/v1/model-projects/configuration/save",{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(s)}))},async upsert(i){$e(i,Sa,"Model Project sync");let s=hr.parse(i),o=await n(`/v1/model-projects/${encodeURIComponent(s.portableProjectId)}`,{method:"PUT",body:JSON.stringify(s)});return Me.parse(Vn(o,"project"))},async list(){let i=await n("/v1/model-projects");return e.array(Me).parse(Vn(i,"projects"))},async get(i){let s=await n(`/v1/model-projects/${encodeURIComponent(q.parse(i))}`);return io.parse(s)}}}c(Wm,"createModelProjectsClient");function Vn(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}c(Vn,"unwrapObject");var oo=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),co=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),lo=class Kn{static{c(this,"_Sha256State")}state=new Uint32Array(oo);pending=new Uint8Array(64);pendingLength=0;byteLength=0;words=new Uint32Array(64);update(a){let r=typeof a=="string"?new TextEncoder().encode(a):a;if(!Number.isSafeInteger(this.byteLength+r.length))throw new RangeError("SHA-256 input is too large");this.byteLength+=r.length;let n=0;if(this.pendingLength){let i=Math.min(64-this.pendingLength,r.length);this.pending.set(r.subarray(0,i),this.pendingLength),this.pendingLength+=i,n+=i,this.pendingLength===64&&(this.compress(this.pending),this.pendingLength=0)}for(;n+64<=r.length;)this.compress(r.subarray(n,n+64)),n+=64;return n<r.length&&(this.pending.set(r.subarray(n)),this.pendingLength=r.length-n),this}clone(){let a=new Kn;return a.state.set(this.state),a.pending.set(this.pending),a.pendingLength=this.pendingLength,a.byteLength=this.byteLength,a}digestHex(){let a=this.clone(),r=new Uint8Array(a.pendingLength<56?64:128);r.set(a.pending.subarray(0,a.pendingLength)),r[a.pendingLength]=128;let n=a.byteLength*8,i=new DataView(r.buffer);return i.setUint32(r.length-8,Math.floor(n/4294967296),!1),i.setUint32(r.length-4,n>>>0,!1),a.compress(r.subarray(0,64)),r.length===128&&a.compress(r.subarray(64)),Array.from(a.state,s=>s.toString(16).padStart(8,"0")).join("")}compress(a){let r=new DataView(a.buffer,a.byteOffset,64),n=this.state,i=this.words;for(let g=0;g<16;g+=1)i[g]=r.getUint32(g*4,!1);for(let g=16;g<64;g+=1){let v=i[g-15],w=i[g-2],I=_e(v,7)^_e(v,18)^v>>>3,L=_e(w,17)^_e(w,19)^w>>>10;i[g]=i[g-16]+I+i[g-7]+L>>>0}let s=n[0],o=n[1],l=n[2],u=n[3],d=n[4],m=n[5],p=n[6],h=n[7];for(let g=0;g<64;g+=1){let v=d&m^~d&p,w=s&o^s&l^o&l,I=_e(s,2)^_e(s,13)^_e(s,22),L=_e(d,6)^_e(d,11)^_e(d,25),_=h+L+v+co[g]+i[g]>>>0,T=I+w>>>0;h=p,p=m,m=d,d=u+_>>>0,u=l,l=o,o=s,s=_+T>>>0}n[0]=n[0]+s>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+l>>>0,n[3]=n[3]+u>>>0,n[4]=n[4]+d>>>0,n[5]=n[5]+m>>>0,n[6]=n[6]+p>>>0,n[7]=n[7]+h>>>0}};function mo(t){return new lo().update(t).digestHex()}c(mo,"sha256Hex");function _e(t,a){return t>>>a|t<<32-a}c(_e,"rotateRight");var uo=2e3,Wn=25e7,b=e.string().trim().min(1).max(240),R=e.string().regex(/^[a-f0-9]{64}$/),M=e.string().datetime({offset:!0}),Ft=e.record(e.string(),e.unknown()).default({}),S=e.object({id:b,contentHash:R}).strict(),Yn=S.extend({revision:e.number().int().positive()}).strict(),W=e.object({id:b,path:e.string().trim().min(1).max(uo).refine(po),contentHash:R,sizeBytes:e.number().int().nonnegative().max(Wn),mediaType:e.string().trim().min(1).max(200),visibility:e.enum(["policy","verifier","host_private"])}).strict(),Xn=e.object({id:b,contentHash:R,mediaType:e.string().trim().min(1).max(200).nullable().default(null),sizeBytes:e.number().int().nonnegative().max(Wn).nullable().default(null)}).strict(),wa=e.enum(["policy_failure","grader_failure","environment_failure","infrastructure_failure","timeout","cancelled"]);function qe(t){return`${JSON.stringify(gr(t),null,2)}
|
|
3
|
-
`}c(qe,"canonicalJson");function G(t){return mo(t)}c(G,"sha256");function f(t){return G(qe(t))}c(f,"contentHash");function He(t,a){let{contentHash:r,...n}=t,i=f(n);if(r!==i)throw new Error(`${a} contentHash is ${r}; expected ${i}.`)}c(He,"assertContentHash");function po(t){let a=t.replaceAll("\\","/");return!a||a.startsWith("/")||a.includes("\0")?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(po,"safeRelativePath");function gr(t){return Array.isArray(t)?t.map(gr):!t||typeof t!="object"?t:Object.fromEntries(Object.entries(t).sort(([a],[r])=>a.localeCompare(r)).map(([a,r])=>[a,gr(r)]))}c(gr,"sortValue");var fo=e.enum(["memory","prompt","skill","agent"]),ho=e.enum(["runtime","product","taskset","training"]),go=e.object({id:e.string().trim().min(1).max(120).regex(/^[a-z0-9][a-z0-9._-]*$/),text:e.string().trim().min(1).max(1e4)}).strict(),vo=e.object({schemaVersion:e.literal("openpond.refinerReviewProfile.v1"),id:e.string().trim().min(1).max(120).regex(/^[a-z0-9][a-z0-9._-]*$/),version:e.string().trim().min(1).max(120),name:e.string().trim().min(1).max(200),objective:e.string().trim().min(1).max(1e4),instructions:e.array(go).max(100),allowedProposalRoutes:e.array(fo).max(4),allowedExternalRoutes:e.array(ho).max(4)}).strict().superRefine((t,a)=>{let r=t.instructions.map(n=>n.id);new Set(r).size!==r.length&&a.addIssue({code:"custom",message:"instruction IDs must be unique",path:["instructions"]}),new Set(t.allowedProposalRoutes).size!==t.allowedProposalRoutes.length&&a.addIssue({code:"custom",message:"proposal routes must be unique",path:["allowedProposalRoutes"]}),new Set(t.allowedExternalRoutes).size!==t.allowedExternalRoutes.length&&a.addIssue({code:"custom",message:"external routes must be unique",path:["allowedExternalRoutes"]})});var au=e.object({schemaVersion:e.literal("openpond.refinerRelease.v1"),id:e.string().trim().min(1).max(240),coreVersion:e.string().trim().min(1).max(120),coreHash:R,profile:vo,profileHash:R,composedPromptHash:R,createdAt:M,contentHash:R}).strict(),ru=e.object({schemaVersion:e.literal("openpond.refinerBinding.v1"),channel:e.literal("active"),revision:e.number().int().nonnegative(),release:S,updatedAt:M}).strict(),nu=e.object({schemaVersion:e.literal("openpond.refinerTransitionReceipt.v1"),id:e.string().trim().min(1).max(240),operation:e.enum(["initialize","update","activate","rollback"]),bindingChanged:e.boolean(),previousRelease:S.nullable(),nextRelease:S,actor:e.string().trim().min(1).max(240),reason:e.string().trim().min(1).max(1e4),authoringSkillHash:R.nullable(),validation:e.object({valid:e.boolean(),messages:e.array(e.string().max(2e3)).max(100)}).strict(),createdAt:M,contentHash:R}).strict();var bo=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v1"),decision:e.literal("no_action"),reason:e.string().trim().min(1).max(1e4)}).strip(),ko=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v1"),decision:e.literal("route"),route:e.enum(["runtime","product","taskset","training"]),summary:e.string().trim().min(1).max(2e3),expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strip(),So=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v1"),decision:e.literal("propose"),route:e.enum(["memory","prompt","skill","agent"]),operation:e.enum(["create","update","delete"]),target:e.string().trim().min(1).max(2e3),summary:e.string().trim().min(1).max(2e3),createContent:e.string().min(1).max(2e4).nullable(),find:e.string().min(1).max(8e3).nullable(),replace:e.string().max(8e3).nullable(),expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strip().superRefine((t,a)=>{t.operation==="create"&&(t.createContent===null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"create proposals require createContent and null find/replace",path:["createContent"]}),t.operation==="update"&&(t.createContent!==null||t.find===null||t.replace===null)&&a.addIssue({code:"custom",message:"update proposals require one exact find/replace edit and null createContent",path:["find"]}),t.operation==="delete"&&(t.createContent!==null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"delete proposals require null createContent/find/replace",path:["createContent"]})}),yo=e.discriminatedUnion("decision",[bo,ko,So]),wo=yo,xa=e.object({kind:e.enum(["single_deterministic","recurrent_independent"]),supportingEvidenceIds:e.array(e.string().trim().min(1).max(2e3)).min(1).max(100),counterevidence:e.array(e.string().trim().min(1).max(2e3)).max(20)}).strict().superRefine((t,a)=>{new Set(t.supportingEvidenceIds).size!==t.supportingEvidenceIds.length&&a.addIssue({code:"custom",message:"supporting evidence IDs must be unique",path:["supportingEvidenceIds"]}),t.kind==="recurrent_independent"&&t.supportingEvidenceIds.length<2&&a.addIssue({code:"custom",message:"recurrent independent evidence requires at least two supplied incidents",path:["supportingEvidenceIds"]})}),xo=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v2"),decision:e.literal("no_action"),reason:e.string().trim().min(1).max(1e4)}).strict(),Ro=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v2"),decision:e.literal("route"),route:e.enum(["runtime","product","taskset","training"]),summary:e.string().trim().min(1).max(2e3),evidenceBasis:xa,expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strict(),To=e.object({schemaVersion:e.literal("openpond.localHarnessRefinerDecision.v2"),decision:e.literal("propose"),route:e.enum(["memory","prompt","skill","agent"]),operation:e.enum(["create","update","delete"]),target:e.string().trim().min(1).max(2e3),summary:e.string().trim().min(1).max(2e3),evidenceBasis:xa,createContent:e.string().min(1).max(2e4).nullable(),find:e.string().min(1).max(8e3).nullable(),replace:e.string().max(8e3).nullable(),expectedOutcome:e.string().trim().min(1).max(1e4),reason:e.string().trim().min(1).max(1e4)}).strict().superRefine((t,a)=>{t.operation==="create"&&(t.createContent===null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"create proposals require createContent and null find/replace",path:["createContent"]}),t.operation==="update"&&(t.createContent!==null||t.find===null||t.replace===null)&&a.addIssue({code:"custom",message:"update proposals require one exact find/replace edit and null createContent",path:["find"]}),t.operation==="delete"&&(t.createContent!==null||t.find!==null||t.replace!==null)&&a.addIssue({code:"custom",message:"delete proposals require null createContent/find/replace",path:["createContent"]})}),Qn=e.discriminatedUnion("decision",[xo,Ro,To]),su=e.union([wo,Qn]),Ra=e.object({memory:e.boolean(),prompt:e.boolean(),skill:e.boolean(),agent:e.boolean()}).strict(),Zn=e.enum(["memory","instruction","skill","agent"]),Gn=e.object({path:e.string().trim().min(1).max(2e3),kind:Zn,content:e.string().max(6e4),loaded:e.boolean()}).strict(),Jn=e.object({path:e.string().trim().min(1).max(2e3),kind:Zn,loaded:e.boolean()}).strict(),Io=e.object({capabilities:Ra,trigger:e.record(e.string(),e.unknown()),observations:e.array(e.record(e.string(),e.unknown())).max(20),admissibleEvidenceIds:e.array(e.string().trim().min(1).max(2e3)).max(1e4),reviewPacket:e.object({currentTurn:e.object({id:e.string().trim().min(1).max(2e3),status:e.string().trim().min(1).max(100).nullable(),error:e.string().max(2100).nullable(),prompt:e.string().max(8100).nullable(),assistantOutput:e.string().max(8100).nullable(),assistantOutputLinkCount:e.number().int().nonnegative()}).strict(),priorConversation:e.array(e.object({turnId:e.string().trim().min(1).max(2e3),status:e.string().trim().min(1).max(100).nullable(),prompt:e.string().max(3100).nullable(),assistantOutput:e.string().max(3100).nullable()}).strict()).max(3),timeline:e.array(e.record(e.string(),e.unknown())).max(60),artifacts:e.array(e.record(e.string(),e.unknown())).max(30),artifactDiagnostics:e.array(e.record(e.string(),e.unknown())).max(20),executionProfile:e.object({modelRequestCount:e.number().int().nonnegative(),failedModelRequestCount:e.number().int().nonnegative(),promptTokens:e.number().int().nonnegative(),completionTokens:e.number().int().nonnegative(),totalTokens:e.number().int().nonnegative(),toolFailureCount:e.number().int().nonnegative(),retryCount:e.number().int().nonnegative(),recoveryCount:e.number().int().nonnegative()}).strict(),priorIncidents:e.array(e.record(e.string(),e.unknown())).max(3),truncation:e.object({timelineEventCount:e.number().int().nonnegative(),includedTimelineEventCount:e.number().int().nonnegative(),timelineTruncated:e.boolean()}).strict()}).strict(),runtimeActivation:e.object({admittedRelease:S,currentRelease:S,rebasedOntoCurrent:e.boolean(),admittedSourceFiles:e.array(Gn).max(100),admittedSourceCatalog:e.array(Jn).max(1e3)}).strict(),sourceFiles:e.array(Gn).max(100),sourceCatalog:e.array(Jn).max(1e3),additionalEvidence:e.unknown().nullable().optional()}).strict();var _o=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().nonnegative(),contentHash:R}).strict(),ou=e.object({schemaVersion:e.literal("openpond.hostedHarnessRefinerRequest.v2"),requestId:e.string().trim().min(1).max(240),idempotencyKey:e.string().trim().min(1).max(240),evidenceHash:R,harness:e.object({admittedRelease:S,currentRelease:S,overlay:_o,workspace:e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().nonnegative(),sourceRevision:R,channelRevision:e.number().int().nonnegative()}).strict(),capabilities:Ra}).strict(),evidence:Io}).strict(),Ho=e.object({promptTokens:e.number().int().nonnegative(),completionTokens:e.number().int().nonnegative(),totalTokens:e.number().int().nonnegative()}).strict(),cu=e.object({schemaVersion:e.literal("openpond.hostedHarnessRefinerResponse.v2"),requestId:e.string().trim().min(1).max(240),evidenceHash:R,admittedRelease:S,currentRelease:S,decision:Qn,serviceRevision:e.string().trim().min(1).max(240),usage:Ho}).strict();var Zu=Us(Gs(),1);var pu=e.object({provider:b,model:b,revision:e.string().trim().min(1).max(500).nullable().default(null),artifactHash:R.nullable().default(null),tokenizerRevision:e.string().trim().min(1).max(500).nullable().default(null),chatTemplateHash:R.nullable().default(null)}).strict(),jo=["openpond","codex","claude-code","grok-build","opencode","anthropic","openai","xai","google","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],Eo=e.enum(jo),Ia=e.object({providerId:Eo,modelId:e.string().trim().min(1).max(300)}),_a=e.object({name:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(2e3),inputSchema:e.record(e.string(),e.unknown()),inputSchemaHash:R,sideEffect:e.enum(["read","write"]),timeoutMs:e.number().int().positive().max(36e5)}).strict(),br=e.object({id:b,required:e.boolean(),scopes:e.array(e.string().trim().min(1).max(500)).max(100).default([]),portability:e.enum(["portable","host_adapter","local_only","hosted_only"])}).strict(),Po=e.object({portable:e.boolean(),blockers:e.array(e.string().trim().min(1).max(2e3)).max(1e3),localOnlyAssetRefs:e.array(b).max(1e4),hostPrivateAssetRefs:e.array(b).max(1e4)}).strict(),ai=e.object({schemaVersion:e.literal("openpond.agentSnapshot.v2"),id:b,sourceRelease:S.nullable(),instructions:e.array(W).max(1e4),skills:e.array(W).max(1e4),agents:e.array(W).max(1e4),toolDeclarations:e.array(_a).max(200),capabilityRequirements:e.array(br).max(200),dependencyLock:W,portability:Po,metadata:Ft}).strict(),ri=ai.extend({contentHash:R}).strict(),Ao=e.object({create:e.literal(!0),reset:e.literal(!0),step:e.literal(!0),collect:e.literal(!0),destroy:e.literal(!0),resetScope:e.enum(["task","attempt"])}).strict(),Co=e.object({visibleEvidence:e.array(b).max(1e3),privilegedEvidence:e.array(b).max(1e3),privateVerifierIsolation:e.boolean()}).strict(),ni=e.object({schemaVersion:e.literal("openpond.harnessRelease.v2"),id:b,agentSnapshot:S,program:W,tools:e.array(_a).max(200),lifecycle:Ao,graderInterface:Co,files:e.array(W).max(1e5),metadata:Ft}).strict(),ii=ni.extend({contentHash:R}).strict(),Mo=e.object({id:b,turn:e.number().int().nonnegative(),kind:e.enum(["message","tool_call","terminal"]),name:b.nullable(),arguments:e.record(e.string(),e.unknown()),content:e.string().max(1e6).nullable()}).strict(),$o=e.object({actionId:b,turn:e.number().int().nonnegative(),terminal:e.boolean(),output:e.record(e.string(),e.unknown()),artifactRefs:e.array(Xn).max(1e5)}).strict();function vu(t){let a=ai.parse(t);return ri.parse({...a,contentHash:f(a)})}c(vu,"createAgentSnapshot");function bu(t){let a=ni.parse(t);return ii.parse({...a,contentHash:f(a)})}c(bu,"createHarnessRelease");var qo=e.object({sequence:e.number().int().nonnegative(),type:e.enum(["created","reset","action","observation","terminal","failure","collected","destroyed"]),payloadHash:R,metadata:Ft}).strict(),ku=e.object({schemaVersion:e.literal("openpond.harnessTrace.v1"),manifest:S,taskId:b,seed:e.string().trim().min(1).max(500),events:e.array(qo).max(1e6),actions:e.array(Mo).max(1e5),observations:e.array($o).max(1e5),terminal:e.boolean(),failureClass:wa.nullable(),output:e.record(e.string(),e.unknown()),contentHash:R}).strict(),kr=25*1024*1024,Do=e.object({path:W.shape.path,base64:e.string().max(Math.ceil(kr/3)*4)}).strict(),si=e.object({schemaVersion:e.literal("openpond.harnessSourcePackage.v1"),agentSnapshot:ri,harnessRelease:ii,files:e.array(Do).max(1e4)}).strict(),Oo=si.extend({contentHash:R}).strict(),Bo=si.extend({schemaVersion:e.literal("openpond.harnessPolicySourcePackage.v1"),contentHash:R}).strict(),Su=e.object({schemaVersion:e.literal("openpond.harnessSourceSelection.v1"),mode:e.enum(["taskset_owned","selected_release"]),harnessRelease:S,sourcePackageHash:R.nullable()}).strict().superRefine((t,a)=>{t.mode==="selected_release"!=(t.sourcePackageHash!==null)&&a.addIssue({code:"custom",path:["sourcePackageHash"],message:"Only a selected release binds a source package."})});function yu(t,a){let r=Bo.parse(t);He(r,"Harness policy source package"),He(r.agentSnapshot,"Harness policy source Agent snapshot"),He(r.harnessRelease,"Harness policy source release");let{agentSnapshot:n,harnessRelease:i}=r;if(a&&(a.id!==i.id||a.contentHash!==i.contentHash))throw new Error("Harness policy source package differs from the selected release.");if(i.agentSnapshot.id!==n.id||i.agentSnapshot.contentHash!==n.contentHash)throw new Error("Harness policy source release does not bind its Agent snapshot.");let s=new Map;for(let d of i.files){if(s.has(d.path))throw new Error("Harness policy source contains duplicate asset paths.");s.set(d.path,d)}for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills,...n.agents])if(f(s.get(d.path)??null)!==f(d))throw new Error(`Harness policy source dependency ${d.path} is absent or differs from its release inventory.`);for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills])if(d.visibility!=="policy")throw new Error(`Harness policy source dependency ${d.path} is private.`);let o=new Set(i.files.filter(d=>d.visibility==="policy").map(d=>d.path)),l=new Set,u=0;for(let d of r.files){if(l.has(d.path))throw new Error("Harness policy source contains duplicate files.");l.add(d.path);let m=s.get(d.path);if(!m||m.visibility!=="policy")throw new Error(`Harness policy source file ${d.path} is not policy-visible.`);let p=oi(d.base64);if(u+=p.byteLength,u>kr)throw new Error("Harness policy source exceeds its byte limit.");if(p.byteLength!==m.sizeBytes||G(p)!==m.contentHash)throw new Error(`Harness policy source file ${d.path} differs from its immutable bytes.`)}if(l.size!==o.size||[...o].some(d=>!l.has(d)))throw new Error("Harness policy source is missing released policy files.");return r}c(yu,"validateHarnessPolicySourcePackage");function Sr(t,a){let r=Oo.parse(t);He(r,"Harness source package"),He(r.agentSnapshot,"Harness source Agent snapshot"),He(r.harnessRelease,"Harness source release");let{agentSnapshot:n,harnessRelease:i}=r;if(a&&(a.id!==i.id||a.contentHash!==i.contentHash))throw new Error("Harness source package differs from the selected release.");if(i.agentSnapshot.id!==n.id||i.agentSnapshot.contentHash!==n.contentHash)throw new Error("Harness source release does not bind its Agent snapshot.");let s=new Map,o=new Set;for(let d of i.files){if(d.path.includes("\\")||d.path.includes(":"))throw new Error("Harness source requires portable relative file paths.");if(s.has(d.path)||o.has(d.id))throw new Error("Harness source contains duplicate asset paths or identities.");s.set(d.path,d),o.add(d.id)}for(let d of[i.program,n.dependencyLock,...n.instructions,...n.skills,...n.agents])if(f(s.get(d.path)??null)!==f(d))throw new Error(`Harness source dependency ${d.path} is absent or differs from its release inventory.`);for(let d of[...n.instructions,...n.skills])if(d.visibility!=="policy")throw new Error(`Harness policy source ${d.path} is private.`);let l=new Set,u=0;for(let d of r.files){if(l.has(d.path))throw new Error("Harness source package contains duplicate files.");l.add(d.path);let m=s.get(d.path);if(!m)throw new Error(`Harness source file ${d.path} is not declared by its release.`);let p=oi(d.base64);if(u+=p.byteLength,u>kr)throw new Error("Harness source package exceeds its byte limit.");if(p.byteLength!==m.sizeBytes||G(p)!==m.contentHash)throw new Error(`Harness source file ${d.path} differs from its immutable bytes.`)}if(l.size!==s.size)throw new Error("Harness source package is missing released files.");return r}c(Sr,"validateHarnessSourcePackage");function oi(t){let a;try{a=atob(t)}catch{throw new Error("Harness source file is not valid base64.")}if(btoa(a)!==t)throw new Error("Harness source file is not canonical base64.");return Uint8Array.from(a,r=>r.charCodeAt(0))}c(oi,"decode");var De=e.string().trim().min(1).max(1e5),Vo=e.enum(["no_action","harness_maintenance","runtime","product","taskset","model_improvement"]),zo=e.enum(["none","runtime_service","product_team","human_review","evaluation_system","training_system"]),ci=e.enum(["observation","trigger","route_decision","refiner_outcome","proposal","validation","apply_receipt","harness_advance","rollback","work_outcome","taskset","evaluation","training_qualification","model_candidate"]),yr=e.object({kind:e.enum(["personal","team"]),id:b}).strict(),di=e.object({policy:S,state:e.enum(["authorized","revoked","deleted","expired"]),checkedAt:M}).strict(),Nt=e.object({evidence:S,kind:ci,sourceRef:b,sourcePolicy:di,occurrenceKey:R,occurredAt:M}).strict(),Lo=e.object({evidence:S,sourcePolicy:di.nullable(),reason:e.enum(["outside_scope","before_watermark","duplicate","resolved","revoked","deleted","expired","sensitive","unverified","budget"])}).strict(),ei=e.object({cursor:R,throughCreatedAt:M}).strict(),Fo=e.object({fingerprint:R,recurrenceFamily:e.string().trim().min(1).max(1e3),statement:De,candidateDisposition:e.enum(["observe","confirm"]).optional(),independentOccurrences:e.number().int().positive().max(1e6),unresolvedOccurrences:e.number().int().positive().max(1e6)}).strict().refine(t=>t.unresolvedOccurrences<=t.independentOccurrences,"unresolved occurrences cannot exceed independent occurrences"),li=e.enum(["harness","runtime","product","retrieval","tools","evaluation","model"]),No=e.object({layer:li,status:e.enum(["not_applicable","unresolved","resolved","blocked"]),reason:De,evidenceRefs:e.array(S).max(1e3)}).strict(),Uo=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewReceipt.v1"),id:b,ownerScope:yr,workspaceRef:b,harnessRelease:S,previousWatermark:ei.nullable(),nextWatermark:ei,selectedEvidence:e.array(Nt).max(1e4),excludedEvidence:e.array(Lo).max(1e4),claim:Fo.nullable(),classification:Vo,triage:e.array(No).max(16),reason:De,nextAuthority:zo,maxEstimatedCostUsd:e.number().finite().nonnegative(),tasksetProposal:S.nullable(),evaluation:S.nullable(),trainingQualification:S.nullable(),policyVersion:b,createdAt:M,metadata:Ft}).strict().superRefine((t,a)=>{let r=t.selectedEvidence.map(n=>`${n.evidence.id}:${n.evidence.contentHash}`);new Set(r).size!==r.length&&a.addIssue({code:"custom",message:"selected review evidence must be unique",path:["selectedEvidence"]}),t.selectedEvidence.some(n=>n.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"selected review evidence must be authorized at review time",path:["selectedEvidence"]}),t.classification==="no_action"?(t.nextAuthority!=="none"&&a.addIssue({code:"custom",message:"no-action review receipts require no next authority",path:["nextAuthority"]}),(t.tasksetProposal||t.evaluation||t.trainingQualification)&&a.addIssue({code:"custom",message:"no-action review receipts cannot carry downstream refs"})):(!t.claim||t.selectedEvidence.length===0)&&a.addIssue({code:"custom",message:"actionable review receipts require a claim and selected evidence"}),t.classification==="runtime"&&t.nextAuthority!=="runtime_service"&&a.addIssue({code:"custom",message:"runtime classifications route to runtime-service authority",path:["nextAuthority"]}),t.classification==="product"&&t.nextAuthority!=="product_team"&&a.addIssue({code:"custom",message:"product classifications route to product-team authority",path:["nextAuthority"]}),t.classification==="taskset"&&t.nextAuthority!=="human_review"&&a.addIssue({code:"custom",message:"Taskset classifications require human review"}),t.classification==="model_improvement"&&(!t.evaluation||!t.trainingQualification||!["human_review","training_system"].includes(t.nextAuthority))&&a.addIssue({code:"custom",message:"model-improvement classifications require Evaluation and qualification refs plus explicit authority"})}),xu=Uo.extend({contentHash:R}).strict(),Ru=e.object({id:b,evidence:S,kind:ci,sourceRef:b,occurredAt:M,payload:e.record(e.string(),e.unknown())}).strict(),Go=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewModelDecision.v2"),decision:e.literal("no_action"),reason:De,ignoredEvidence:e.array(e.object({id:b,reason:e.string().trim().min(1).max(2e3)}).strict()).max(1e3)}).strict(),Jo=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewModelDecision.v2"),decision:e.literal("review"),classification:e.enum(["harness_maintenance","runtime","product","taskset"]),selectedEvidenceIds:e.array(b).min(1).max(1e3),ignoredEvidence:e.array(e.object({id:b,reason:e.string().trim().min(1).max(2e3)}).strict()).max(1e3),recurrenceFamily:e.string().trim().min(1).max(1e3),statement:De,triageLayer:li,expectedOutcome:De,counterevidence:e.string().trim().max(1e4),confidence:e.number().min(0).max(1),candidateDisposition:e.enum(["observe","confirm"]).nullable(),reason:De}).strict().superRefine((t,a)=>{t.classification==="harness_maintenance"!==(t.candidateDisposition!==null)&&a.addIssue({code:"custom",message:"Harness maintenance requires a candidate disposition; external routes require null",path:["candidateDisposition"]})}),Ko=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewModelDecision.v2"),decision:e.literal("resolve_candidate"),candidateId:b,candidateFingerprint:R,selectedEvidenceIds:e.array(b).min(1).max(1e3),ignoredEvidence:e.array(e.object({id:b,reason:e.string().trim().min(1).max(2e3)}).strict()).max(1e3),confidence:e.number().min(0).max(1),reason:De}).strict(),Tu=e.discriminatedUnion("decision",[Go,Jo,Ko]),Iu=e.object({schemaVersion:e.literal("openpond.harnessEvaluationReviewNavigationDecision.v1"),selectedEvidenceIds:e.array(b).min(1).max(50),reason:De}).strict(),xt=e.record(e.string(),e.unknown()).default({}),ge=e.number().int().nonnegative(),Ha=e.string().trim().min(1).max(1e5),mi=e.object({kind:e.enum(["personal","team"]),id:b}).strict(),Wo=e.object({name:b,release:S.nullable(),revision:ge}).strict(),ju=e.object({schemaVersion:e.literal("openpond.harnessWorkspace.v1"),id:b,ownerScope:mi,name:e.string().trim().min(1).max(240),location:e.enum(["local","hosted"]),sourceRevision:e.string().trim().min(1).max(500),revision:ge,dirty:e.boolean(),currentChannel:Wo,createdAt:M,updatedAt:M,metadata:xt}).strict(),wt=e.enum(["runtime","memory","prompt","skill","agent","product","taskset","training"]),ui=e.enum(["text_instruction","memory","dependency_selection","executable_code","business_logic","financial_logic","permission","connected_app","publication","deployment","training","model_binding","team_or_global"]),pi=e.object({id:b,route:wt,operation:e.enum(["create","update","delete"]),target:e.string().trim().min(1).max(2e3),summary:e.string().trim().min(1).max(2e3),content:e.string().max(1e6).nullable(),contentHash:R.nullable(),effects:e.array(ui).min(1).max(20)}).strict().superRefine((t,a)=>{if(t.operation==="delete"){(t.content!==null||t.contentHash!==null)&&a.addIssue({code:"custom",message:"delete edits cannot include replacement content",path:["content"]});return}if(t.content===null||t.contentHash===null){a.addIssue({code:"custom",message:"create and update edits require content and contentHash",path:["content"]});return}let r=f(t.content);t.contentHash!==r&&a.addIssue({code:"custom",message:`edit contentHash is ${t.contentHash}; expected ${r}`,path:["contentHash"]})}),fi=e.object({workspaceId:b,revision:ge,sourceRevision:e.string().trim().min(1).max(500),channelRevision:ge}).strict(),Oe=e.object({id:b,revision:ge,contentHash:R}).strict(),Eu=e.object({schemaVersion:e.literal("openpond.harnessTurnSnapshot.v1"),workspaceId:b,workspaceRevision:ge,sourceRevision:e.string().trim().min(1).max(500),channelName:b,channelRevision:ge,harnessRelease:S,toolCatalogHash:R.nullable().optional(),overlay:Oe.nullable().optional().default(null)}).strict(),Yo=e.object({schemaVersion:e.literal("openpond.harnessRunOverlay.v1"),id:b,runId:b,baseHarnessRelease:S,workspace:fi,revision:ge,status:e.enum(["active","frozen","abandoned"]),edits:e.array(pi).max(1e3),createdAt:M,updatedAt:M,metadata:xt}).strict(),Pu=Yo.extend({contentHash:R}).strict(),hi=e.object({kind:e.enum(["tool_event","recovery","validation","user_turn","work_output","work_receipt"]),id:b,contentHash:R.nullable()}).strict(),gi=e.object({id:b,kind:e.enum(["dependency","schema","package","file_render","skill","prompt","business_formula","targeted_evaluation","observed_recovery","memory","component_activation"]),description:Ha,required:e.boolean()}).strict(),Xo=e.object({schemaVersion:e.literal("openpond.harnessImprovementProposal.v1"),id:b,overlay:Oe,baseHarnessRelease:S,expectedWorkspace:fi,requestedScope:e.enum(["personal","team","global"]),route:wt,risk:e.enum(["low","review","restricted"]),effects:e.array(ui).min(1).max(20),evidence:e.array(hi).min(1).max(1e3),edits:e.array(pi).min(1).max(1e3),validationPlan:e.array(gi).min(1).max(100),expectedOutcome:Ha,createdAt:M,metadata:xt}).strict().superRefine((t,a)=>{let r=new Set(t.effects);for(let[n,i]of t.edits.entries()){i.route!==t.route&&a.addIssue({code:"custom",message:"every edit route must match the proposal route",path:["edits",n,"route"]});for(let s of i.effects)r.has(s)||a.addIssue({code:"custom",message:`edit effect ${s} is missing from proposal effects`,path:["edits",n,"effects"]})}new Set(t.validationPlan.map(n=>n.id)).size!==t.validationPlan.length&&a.addIssue({code:"custom",message:"validation plan ids must be unique",path:["validationPlan"]})}),Au=Xo.extend({contentHash:R}).strict(),Qo=e.object({schemaVersion:e.literal("openpond.harnessTargetedValidationReceipt.v1"),id:b,proposal:S,validationId:b,kind:gi.shape.kind,status:e.enum(["passed","failed","blocked","skipped"]),summary:Ha,evidenceRefs:e.array(hi).max(1e3),createdAt:M,metadata:xt}).strict(),Cu=Qo.extend({contentHash:R}).strict(),Zo=e.enum(["advanced","retained","conflict","rolled_back"]),ec=e.object({schemaVersion:e.literal("openpond.harnessAdvanceReceipt.v1"),id:b,workspaceId:b,ownerScope:mi,proposal:S.nullable(),expectedWorkspaceRevision:ge,observedWorkspaceRevision:ge,previousChannelRevision:ge,nextChannelRevision:ge,previousRelease:S.nullable(),nextRelease:S.nullable(),validationReceipts:e.array(S).max(100),decision:Zo,reason:Ha,rollbackOf:S.nullable(),createdAt:M,metadata:xt}).strict().superRefine((t,a)=>{let r=t.nextChannelRevision===t.previousChannelRevision+1;["advanced","rolled_back"].includes(t.decision)!==r&&a.addIssue({code:"custom",message:"only successful advancement or rollback increments the channel revision",path:["nextChannelRevision"]}),t.decision==="rolled_back"&&t.rollbackOf===null&&a.addIssue({code:"custom",message:"rollback receipts require rollbackOf",path:["rollbackOf"]}),t.decision!=="rolled_back"&&t.rollbackOf!==null&&a.addIssue({code:"custom",message:"rollbackOf is only valid for rollback receipts",path:["rollbackOf"]})}),Mu=ec.extend({contentHash:R}).strict(),tc=e.object({schemaVersion:e.literal("openpond.harnessOverlayMergeReceipt.v1"),id:b,workspaceId:b,baseHarnessRelease:S,leftOverlay:Oe,rightOverlay:Oe,decision:e.enum(["merged","conflict"]),mergedOverlay:Oe.nullable(),conflictTargets:e.array(e.string().trim().min(1).max(2e3)).max(1e3),requiresRevalidation:e.literal(!0),createdAt:M,metadata:xt}).strict().superRefine((t,a)=>{t.decision==="merged"!=(t.mergedOverlay!==null)&&a.addIssue({code:"custom",message:"merged decisions require a merged overlay; conflicts cannot provide one",path:["mergedOverlay"]}),t.decision==="conflict"!=t.conflictTargets.length>0&&a.addIssue({code:"custom",message:"conflict decisions require conflict targets and merged decisions cannot include them",path:["conflictTargets"]})}),$u=tc.extend({contentHash:R}).strict(),ja=e.string().trim().min(1).max(1e5),Ut=e.record(e.string(),e.unknown()).default({}),ac=e.enum(["completed_tool_batch","before_model_step","turn_completed","turn_paused"]),vi=e.object({kind:ac,eventSequence:e.number().int().nonnegative(),occurredAt:M}).strict(),bi=e.object({id:b,sequence:e.number().int().nonnegative().nullable(),contentHash:R}).strict(),rc=e.enum(["tool_failure","retry","recovery","validation","user_turn","reusable_success","completion_detour"]),nc=e.enum(["open","recovered","terminal"]),ic=e.object({name:e.string().trim().min(1).max(500),invocationKey:R}).strict(),sc=e.object({schemaVersion:e.literal("openpond.improvementObservation.v1"),id:b,runRef:b,turnId:b,harnessRelease:S,overlay:Oe.nullable(),eventRefs:e.array(bi).min(1).max(100),kind:rc,state:nc,tool:ic.nullable(),deterministicClass:e.string().trim().min(1).max(500).nullable(),summary:ja,createdAt:M,metadata:Ut}).strict().superRefine((t,a)=>{new Set(t.eventRefs.map(r=>r.id)).size!==t.eventRefs.length&&a.addIssue({code:"custom",message:"observation event refs must be unique",path:["eventRefs"]}),["tool_failure","retry","recovery","completion_detour"].includes(t.kind)&&t.tool===null&&a.addIssue({code:"custom",message:`${t.kind} observations require a tool identity`,path:["tool"]})}),qu=sc.extend({contentHash:R}).strict(),oc=e.object({schemaVersion:e.literal("openpond.refinementTriggerPolicy.v1"),maxEstimatedCostUsd:e.number().finite().nonnegative(),cooldownMs:e.number().int().nonnegative(),maxPendingPlans:e.number().int().min(1).max(100),maxEvidenceEvents:e.number().int().min(1).max(1e3),maxProposalEdits:e.number().int().min(1).max(1e3),maxProposalBytes:e.number().int().min(1).max(1e7)}).strict(),cc=e.enum(["no_action","route_deterministically","queue_refiner"]),dc=e.object({schemaVersion:e.literal("openpond.refinementTriggerDecision.v1"),id:b,runRef:b,turnId:b,harnessRelease:S,overlay:Oe.nullable(),observations:e.array(S).max(100),decision:cc,deterministicRoute:wt.nullable(),suggestedRoutes:e.array(wt).max(8),reason:ja,deduplicationKey:R,policy:oc,estimatedMaxCostUsd:e.number().finite().nonnegative(),pendingPlanCount:e.number().int().nonnegative(),boundary:vi,cooldownUntil:M.nullable(),createdAt:M,metadata:Ut}).strict().superRefine((t,a)=>{t.estimatedMaxCostUsd>t.policy.maxEstimatedCostUsd&&a.addIssue({code:"custom",message:"estimated Refiner cost exceeds the trigger policy budget",path:["estimatedMaxCostUsd"]}),t.pendingPlanCount>t.policy.maxPendingPlans&&a.addIssue({code:"custom",message:"pending plan count exceeds the trigger policy limit",path:["pendingPlanCount"]}),t.observations.length>t.policy.maxEvidenceEvents&&a.addIssue({code:"custom",message:"trigger observations exceed the evidence budget",path:["observations"]}),t.decision==="route_deterministically"&&t.deterministicRoute===null&&a.addIssue({code:"custom",message:"deterministic decisions require a route",path:["deterministicRoute"]}),t.decision!=="route_deterministically"&&t.deterministicRoute!==null&&a.addIssue({code:"custom",message:"only deterministic decisions may declare a deterministic route",path:["deterministicRoute"]}),t.decision==="no_action"&&t.suggestedRoutes.length>0&&a.addIssue({code:"custom",message:"no-action decisions cannot suggest routes",path:["suggestedRoutes"]}),t.decision!=="no_action"&&t.observations.length===0&&a.addIssue({code:"custom",message:"actionable trigger decisions require observations",path:["observations"]})}),Du=dc.extend({contentHash:R}).strict(),lc=e.enum(["runtime_service","refiner_model","human_review","evaluation_system","training_system"]),mc=e.object({schemaVersion:e.literal("openpond.improvementRouteDecision.v1"),id:b,trigger:S,route:wt,authority:lc,automatic:e.boolean(),reason:ja,createdAt:M,metadata:Ut}).strict().superRefine((t,a)=>{t.automatic&&["human_review","evaluation_system","training_system"].includes(t.authority)&&a.addIssue({code:"custom",message:`${t.authority} routes cannot be marked automatic`,path:["automatic"]}),t.route==="training"&&t.automatic&&t.authority!=="training_system"&&a.addIssue({code:"custom",message:"automatic training routes require training-system authority",path:["authority"]})}),Ou=mc.extend({contentHash:R}).strict(),uc=e.object({schemaVersion:e.literal("openpond.harnessRefinerOutcome.v1"),id:b,trigger:S,decision:e.enum(["no_action","proposed"]),proposal:S.nullable(),reason:ja,evidenceRefs:e.array(S).max(100),estimatedCostUsd:e.number().finite().nonnegative(),createdAt:M,metadata:Ut}).strict().superRefine((t,a)=>{t.decision==="proposed"!=(t.proposal!==null)&&a.addIssue({code:"custom",message:"proposed Refiner outcomes require a proposal; no-action outcomes cannot include one",path:["proposal"]})}),Bu=uc.extend({contentHash:R}).strict(),pc=e.enum(["applied","retained","declined","conflict","rolled_back"]),fc=e.object({schemaVersion:e.literal("openpond.improvementApplyReceipt.v1"),id:b,proposal:S,beforeOverlay:Oe,afterOverlay:Oe.nullable(),decision:pc,boundary:vi,validationRefs:e.array(S).max(100),outcomeEvidenceRefs:e.array(bi).max(1e3),rollbackOf:S.nullable(),createdAt:M,metadata:Ut}).strict().superRefine((t,a)=>{t.decision==="applied"!=(t.afterOverlay!==null)&&a.addIssue({code:"custom",message:"applied receipts require an after-overlay; other decisions cannot include one",path:["afterOverlay"]}),t.decision==="rolled_back"!=(t.rollbackOf!==null)&&a.addIssue({code:"custom",message:"only rollback receipts require rollbackOf",path:["rollbackOf"]})}),Vu=fc.extend({contentHash:R}).strict(),hc=e.string().trim().min(1).max(2e3),wr=e.string().trim().min(1).max(1e5),gc=e.enum(["create","update","delete"]),vc=e.enum(["memory","prompt","skill","agent"]),bc=e.enum(["runtime","product","taskset","training"]),kc=e.enum(["no_action","routed","applied","retained","failed"]),Sc=e.enum(["not_applicable","pending","passed","rejected","failed"]),yc=e.enum(["not_applicable","pending","passed","failed"]),wc=e.object({schemaVersion:e.literal("openpond.harnessRefinerActivityReceipt.v1"),id:b,runRef:b,turnId:b,result:kc,decision:e.enum(["no_action","route","propose"]).nullable(),route:wt.nullable(),operation:gc.nullable(),target:e.string().trim().min(1).max(2e3).nullable(),summary:hc,evidenceBasis:xa.nullable(),critiqueStatus:Sc,validationStatus:yc,trigger:S,outcome:S.nullable(),proposal:S.nullable(),applyReceipt:S.nullable(),inputHarness:S,outputHarness:S.nullable(),createdAt:M}).strict().superRefine((t,a)=>{let r=t.result==="applied"||t.result==="retained";t.result==="no_action"?ti(a,t,{decision:"no_action",route:null,operation:null,target:null,evidenceBasis:null,proposal:null,applyReceipt:null,outputHarness:null,critiqueStatus:"not_applicable",validationStatus:"not_applicable"}):t.result==="routed"?((t.decision!=="route"||!bc.safeParse(t.route).success||t.operation!==null||t.target!==null||t.evidenceBasis===null||t.proposal!==null||t.applyReceipt!==null||t.outputHarness!==null)&&a.addIssue({code:"custom",message:"routed activity requires an external route and evidence basis without proposal state"}),ti(a,t,{critiqueStatus:"not_applicable",validationStatus:"not_applicable"})):r?((t.decision!=="propose"||!vc.safeParse(t.route).success||t.operation===null||t.target===null||t.evidenceBasis===null||t.proposal===null||t.applyReceipt===null)&&a.addIssue({code:"custom",message:"applied and retained activity requires complete proposal state"}),t.result==="applied"&&t.outputHarness===null&&a.addIssue({code:"custom",message:"applied activity requires the advanced Harness release",path:["outputHarness"]}),t.result==="applied"&&(t.critiqueStatus!=="passed"||t.validationStatus!=="passed")&&a.addIssue({code:"custom",message:"applied activity requires passed critique and validation"}),t.result==="retained"&&t.outputHarness!==null&&a.addIssue({code:"custom",message:"retained activity cannot report a new Harness release",path:["outputHarness"]})):(t.decision!==null||t.route!==null||t.operation!==null||t.target!==null||t.evidenceBasis!==null||t.outcome!==null||t.proposal!==null||t.applyReceipt!==null||t.outputHarness!==null)&&a.addIssue({code:"custom",message:"failed activity cannot claim a decision, route, proposal, or release transition"}),t.result!=="failed"&&t.outcome===null&&a.addIssue({code:"custom",message:"terminal Refiner decisions require an outcome reference",path:["outcome"]})}),Lu=wc.extend({contentHash:R}).strict(),xc=e.enum(["unresolved","confirmed","resolved","rejected","expired"]),Rc=e.object({kind:e.enum(["applied_change","later_success","manual_rejection","source_revoked","expired"]),reason:wr,evidenceRefs:e.array(S).max(1e3),resolvedAt:M}).strict(),Tc=e.object({schemaVersion:e.literal("openpond.harnessRefinementCandidate.v1"),id:b,ownerScope:yr,workspaceRef:b,fingerprint:R,recurrenceFamily:e.string().trim().min(1).max(1e3),statement:wr,status:xc,occurrences:e.array(Nt).max(1e3),counterevidence:e.array(Nt).max(1e3),sourceReviews:e.array(S).min(1).max(100),relatedHarnessReleases:e.array(S).max(100),firstSeenAt:M,lastSeenAt:M,lastReviewedAt:M,expiresAt:M,resolution:Rc.nullable(),createdAt:M,updatedAt:M}).strict().superRefine((t,a)=>{st(a,t.occurrences,"occurrences"),st(a,t.counterevidence,"counterevidence"),st(a,t.sourceReviews,"sourceReviews"),st(a,t.relatedHarnessReleases,"relatedHarnessReleases");let r=new Set(t.occurrences.map(i=>i.occurrenceKey));t.counterevidence.some(i=>r.has(i.occurrenceKey))&&a.addIssue({code:"custom",message:"supporting occurrences and counterevidence must be disjoint",path:["counterevidence"]});let n=t.status==="unresolved"||t.status==="confirmed";n&&t.occurrences.length===0&&a.addIssue({code:"custom",message:"actionable candidates require at least one supporting occurrence",path:["occurrences"]}),n&&[...t.occurrences,...t.counterevidence].some(i=>i.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"actionable candidates may contain only currently authorized evidence",path:["occurrences"]}),n!==(t.resolution===null)&&a.addIssue({code:"custom",message:"only resolved, rejected, or expired candidates require a resolution",path:["resolution"]}),t.status==="expired"&&t.resolution?.kind!=="expired"&&a.addIssue({code:"custom",message:"expired candidates require an expired resolution",path:["resolution","kind"]}),t.status==="rejected"&&t.resolution&&!["manual_rejection","source_revoked"].includes(t.resolution.kind)&&a.addIssue({code:"custom",message:"rejected candidates require a rejection or revocation resolution",path:["resolution","kind"]}),t.status==="resolved"&&t.resolution&&!["applied_change","later_success"].includes(t.resolution.kind)&&a.addIssue({code:"custom",message:"resolved candidates require applied-change or later-success evidence",path:["resolution","kind"]}),Ec(a,t)}),Fu=Tc.extend({contentHash:R}).strict(),Ic=e.enum(["created","merged","rejected","expired","reopened","resolved"]),_c=e.object({schemaVersion:e.literal("openpond.harnessRefinementCandidateLifecycleReceipt.v1"),id:b,candidateId:b,decision:Ic,beforeCandidate:S.nullable(),afterCandidate:S,review:S,addedEvidence:e.array(Nt).max(1e3),removedEvidence:e.array(S).max(1e3),reason:wr,createdAt:M}).strict().superRefine((t,a)=>{t.decision==="created"!=(t.beforeCandidate===null)&&a.addIssue({code:"custom",message:"only candidate creation omits the previous candidate reference",path:["beforeCandidate"]}),t.beforeCandidate&&t.beforeCandidate.contentHash===t.afterCandidate.contentHash&&a.addIssue({code:"custom",message:"candidate lifecycle transitions must change candidate content",path:["afterCandidate"]}),["created","reopened"].includes(t.decision)&&t.addedEvidence.length===0&&a.addIssue({code:"custom",message:`${t.decision} candidate transitions require added evidence`,path:["addedEvidence"]}),t.addedEvidence.some(n=>n.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"candidate transitions may add only authorized evidence",path:["addedEvidence"]}),st(a,t.addedEvidence,"addedEvidence"),st(a,t.removedEvidence,"removedEvidence");let r=new Set(t.removedEvidence.map(n=>vr(n)));t.addedEvidence.some(n=>r.has(vr(n.evidence)))&&a.addIssue({code:"custom",message:"candidate lifecycle evidence cannot be added and removed together",path:["removedEvidence"]})}),Nu=_c.extend({contentHash:R}).strict(),Hc=e.object({schemaVersion:e.literal("openpond.harnessCrossRunRefinementRequest.v1"),id:b,ownerScope:yr,workspaceRef:b,candidate:S,candidateFingerprint:R,review:S,admittedHarness:S,evidence:e.array(Nt).min(1).max(1e3),capabilities:Ra,deduplicationKey:R,createdAt:M}).strict().superRefine((t,a)=>{t.evidence.some(n=>n.sourcePolicy.state!=="authorized")&&a.addIssue({code:"custom",message:"cross-run refinement requires currently authorized evidence",path:["evidence"]}),st(a,t.evidence,"evidence"),Object.values(t.capabilities).some(Boolean)||a.addIssue({code:"custom",message:"cross-run refinement requires at least one available Harness capability",path:["capabilities"]});let r=jc(t);t.deduplicationKey!==r&&a.addIssue({code:"custom",message:`cross-run refinement deduplicationKey is ${t.deduplicationKey}; expected ${r}`,path:["deduplicationKey"]})}),Uu=Hc.extend({contentHash:R}).strict();function jc(t){return f({schemaVersion:"openpond.harnessCrossRunRefinementIdentity.v1",workspaceRef:t.workspaceRef,candidateFingerprint:t.candidateFingerprint,admittedHarness:t.admittedHarness})}c(jc,"harnessCrossRunRefinementDeduplicationKey");function ti(t,a,r){for(let[n,i]of Object.entries(r))a[n]!==i&&t.addIssue({code:"custom",message:`${n} must be ${String(i)}`,path:[n]})}c(ti,"requireFields");function st(t,a,r){let n=a.map(i=>vr(i));new Set(n).size!==n.length&&t.addIssue({code:"custom",message:`${r} references must be unique`,path:[r]})}c(st,"requireUniqueRefs");function vr(t){if(!t||typeof t!="object"||Array.isArray(t))return String(t);let a=t;if(typeof a.occurrenceKey=="string")return a.occurrenceKey;let r=a.evidence;if(r&&typeof r=="object"&&!Array.isArray(r)){let n=r;return`${String(n.id)}:${String(n.contentHash)}`}return`${String(a.id)}:${String(a.contentHash)}`}c(vr,"refKey");function Ec(t,a){let r=[["firstSeenAt",a.firstSeenAt],["lastSeenAt",a.lastSeenAt],["lastReviewedAt",a.lastReviewedAt],["updatedAt",a.updatedAt],["expiresAt",a.expiresAt]];for(let n=1;n<r.length;n+=1){let i=r[n-1],s=r[n];Date.parse(i[1])<=Date.parse(s[1])||t.addIssue({code:"custom",message:`${s[0]} must not precede ${i[0]}`,path:[s[0]]})}Date.parse(a.createdAt)>Date.parse(a.updatedAt)&&t.addIssue({code:"custom",message:"updatedAt must not precede createdAt",path:["updatedAt"]})}c(Ec,"requireChronology");var Ju=e.object({path:e.string().min(1).max(2e3),offset:e.number().int().nonnegative().default(0),length:e.number().int().positive().max(65536).default(16384)}).strict(),ki=e.string().regex(/^[a-z][a-z0-9_-]{0,119}$/),Si=e.string().min(1).max(2e3).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.startsWith("/")&&t.split("/").every(a=>a!==""&&a!=="."&&a!==".."),"workflow references require portable relative paths"),Pc=e.object({id:ki,label:e.string().trim().min(1).max(240),description:e.string().max(4e3),inputSchema:e.record(e.string(),e.unknown()),invocation:e.discriminatedUnion("kind",[e.object({kind:e.literal("instructions"),instructions:e.string().min(1).max(1e5).refine(t=>!!t.trim())}).strict(),e.object({kind:e.literal("agent_action"),actionId:e.string().trim().min(1).max(240)}).strict()]),skillPaths:e.array(Si).max(100)}).strict(),Wu=e.object({schemaVersion:e.literal("openpond.profileWorkflows.v1"),workflows:e.array(Pc).max(1e3)}).strict(),Ac=e.object({id:e.string().trim().min(1).max(240),agentId:e.string().regex(/^[a-zA-Z0-9_-]{1,240}$/),sourceActionId:e.string().trim().min(1).max(240),inputSchema:e.record(e.string(),e.unknown())}).strict(),Yu=e.object({schemaVersion:e.literal("openpond.profileWorkflowActions.v1"),actions:e.array(Ac).max(200)}).strict(),Xu=e.object({schemaVersion:e.literal("openpond.profileWorkflowBinding.v1"),profileId:e.string().trim().min(1).max(240),sourceRevision:e.string().trim().min(1).max(240),harnessRelease:S,catalogHash:R,workflowId:ki}).strict(),Qu=e.object({schemaVersion:e.literal("openpond.profileComponentBinding.v1"),profileId:e.string().trim().min(1).max(240),sourceRevision:e.string().trim().min(1).max(240),harnessRelease:S,target:e.discriminatedUnion("kind",[e.object({kind:e.literal("profile")}).strict(),e.object({kind:e.literal("skill"),skillPath:Si}).strict(),e.object({kind:e.literal("agent_action"),actionId:e.string().trim().min(1).max(240)}).strict()])}).strict(),Ta=e.string().min(1).max(2e3).refine(t=>!t.includes("\\")&&!t.includes(":")&&!t.startsWith("/")&&t.split("/").every(a=>a!==""&&a!=="."&&a!==".."),"source paths must be portable relative paths"),ap=e.string().regex(/^[a-z][a-z0-9_-]{0,119}$/),Cc={type:"object",properties:{},additionalProperties:!1},rp=e.object({name:e.string().trim().min(1).max(240).optional(),description:e.string().max(4e3).optional(),skillPaths:e.array(Ta).max(100).optional(),assetPaths:e.array(Ta).max(100).optional()}).strict(),np=e.object({actionId:e.string().trim().min(1).max(240),name:e.string().trim().min(1).max(240),description:e.string().max(4e3).default(""),inputSchema:e.record(e.string(),e.unknown()).default(Cc),skillPaths:e.array(Ta).max(100).default([]),assetPaths:e.array(Ta).max(100).default([])}).strict();var Mc=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:rn,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"),metadata:e.record(e.string(),e.unknown()).default({})}).strict(),ve=e.string().trim().min(1).max(240),Ve=e.string().trim().min(1),Ye=e.string().trim().min(8).max(256),wi=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."),dt=e.enum(["train","validation","test","frozen_eval"]),$c=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"])}),qc=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array($c).min(1).max(1e4),schemaHash:Ye}),Dc=e.object({id:ve,split:dt,path:wi,contentHash:Ye,schemaHash:Ye,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),Gt=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:ve,tasksetId:ve,tasksetRevision:e.number().int().positive(),contentHash:Ye,format:e.literal("parquet"),schema:qc,shards:e.array(Dc).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(dt,e.number().int().nonnegative()),sourceReceiptRefs:e.array(ve).min(1).max(1e5),mappingHash:Ye,qualityReportHash:Ye,createdAt:Ve}),fp=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:ve,tasksetId:ve,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(dt,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:Ye,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve}),Oc=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:ve,tasksetRevision:e.number().int().positive(),artifactId:ve.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(dt,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve,updatedAt:Ve}),hp=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:ve,datasets:e.array(Oc),generatedAt:Ve}),gp=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:Gt,profileId:ve,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:wi,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:Ve.nullable(),createdAt:Ve,updatedAt:Ve}),vp=e.object({split:dt.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([])}),bp=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:ve,tasksetRevision:e.number().int().positive(),artifactHash:Ye,split:dt.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()}),Bc=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:Ve}),Vc=e.object({id:ve,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()}),kp=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:Bc,storageRoots:e.array(Vc)}),Sp=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)}),Tt=e.string().trim().min(1).max(240),zc=e.string().trim().min(1),It=e.string().trim().min(8).max(256),Lc=e.record(e.string(),e.unknown()).default({}),Fc=e.string().trim().min(7).max(256),Nc=e.enum(["pending","approved","review","blocked"]),Aa=e.object({id:Tt,profileId:Tt,title:e.string().trim().min(1).max(500),sourceHash:It,occurredAt:zc,licensingStatus:Nc,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:Lc}),Uc=Aa.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:Fc,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(It).min(1).max(1e5)}),Gc=Aa.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(It).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),Jc=Aa.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:Tt,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:It}),Kc=Aa.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:Tt,revision:e.number().int().positive(),contentHash:It}).strict(),taskDefinition:e.object({id:Tt,revision:e.number().int().positive(),contentHash:It}).strict(),admittedBy:Tt}),Wc=e.discriminatedUnion("kind",[Uc,Gc,Jc,Kc]),Yc=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:b,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:R,agentRelease:S,implementationHash:R,runtimeBindingId:b,capabilityReceiptHash:R,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:b,source:e.literal("case_id")}).strict()).max(20).default([])}).strict(),$=e.string().trim().min(1).max(240),Rr=e.string().trim().min(1),Xc=e.string().trim().min(8).max(256),Tr=e.string().trim().regex(/^[a-f0-9]{64}$/),Qc=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),Se=e.record(e.string(),e.unknown()).default({}),Ca=$.nullable();function Jt(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(Jt,"safeRelativeFilePath");function Zc(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}c(Zc,"safeFileName");var Pa=dt,Ma=e.enum(["general","benchmark"]),$a=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:$,releaseId:$,releaseHash:Tr,managedReleasePath:e.string().trim().min(1).max(1e3).refine(Jt,"Benchmark release paths must remain relative."),adaptationSplit:Pa,evaluationSplit:Pa,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:Se}),qa=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:$,releaseHash:Tr,publishedAt:Rr,metadata:Se}),ed=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:Ca,grantedAt:Rr.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),td=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:$,profileId:$,sessionId:$,turnIds:e.array($).max(1e3).default([]),workspaceId:Ca,sourceHash:Xc,clusterKey:$,title:e.string().trim().min(1).max(500),occurredAt:Rr,consent:ed,connectedAppIds:e.array($).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:Se}),_t=e.union([td,Wc,Mc]),Da=e.object({policyVisibleFields:e.array($).max(1e3).default([]),privilegedFields:e.array($).max(1e3).default([]),hiddenGraderRefs:e.array($).max(100).default([]),connectedAppScopes:e.array($).max(100).default([])}),ad=e.object({id:$,sourceRefId:$,artifactRef:e.string().trim().min(1).max(4e3).refine(Jt,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Zc,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:Tr,sizeBytes:e.number().int().nonnegative().max(25e7),split:Pa,metadata:Se}),rd=e.object({path:e.string().trim().min(1).max(1e3).refine(Jt,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:$.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:Se}),Kt=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:$,clusterKey:$,split:Pa,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:Ca,sourceRefs:e.array($).min(1).max(100),assets:e.array(ad).max(1e3).optional(),resourceRefs:e.array($).max(1e3).optional(),requiredOutputs:e.array(rd).max(100).optional(),tags:e.array($).max(100).default([]),metadata:Se}),Ir=e.object({id:$,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(Jt,"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:Se}),Ht=e.object({id:$,taskId:Ca,sourceRefs:e.array($).min(1).max(100),artifactRef:$,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:Se}),xi=Ht.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),Ri=Ht.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)}),Ti=Ht.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),Ii=Ht.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),_i=Ht.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:$,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),Hi=Ht.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:$,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)})}),Ip=e.discriminatedUnion("kind",[xi,Ri,Ti,Ii,_i,Hi]),Oa=e.object({demonstrations:e.array(xi).max(1e5).default([]),preferences:e.array(Ri).max(1e5).default([]),corrections:e.array(Ti).max(1e5).default([]),feedback:e.array(Ii).max(1e5).default([]),rewards:e.array(_i).max(1e5).default([]),labels:e.array(Hi).max(1e5).default([])}),Ba=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($).max(200).default([]),actionBindings:e.array(Yc).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(Ir).max(1e4).optional(),metadata:Se}),Va=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([])}),za=e.object({id:$,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:Se}),nd=za.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),id=za.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:Ia,calibrationFixtureRefs:e.array($).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),sd=za.extend({kind:e.literal("human"),form:cn.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),od=za.extend({kind:e.literal("custom_verifier"),runtime:ln.optional(),module:e.string().trim().min(1).max(1e3).refine(Jt,"Custom verifier modules must use a safe relative path."),exportName:Qc,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),ce=e.union([nd,id,sd,od]),cd=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),lt=e.object({id:$,taskId:$,label:cd,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:Se}),Ea=e.string().regex(/^[a-f0-9]{64}$/),Ap=e.object({schemaVersion:e.literal("openpond.javascriptEnvironmentAttempt.v1"),taskId:e.string(),status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),output:e.string().nullable(),collected:e.boolean(),environmentCleanupComplete:e.boolean(),snapshot:e.object({definition:N,inputHash:Ea,seed:e.number().int(),initialStateHash:Ea,finalStateHash:Ea,state:e.record(e.string(),e.unknown()),events:e.array(e.record(e.string(),e.unknown()))}).strict().nullable(),messages:e.array(e.unknown()),error:e.string().nullable(),contentHash:Ea}).strict();var ct=e.object({environment:Ue,verifierSet:Ge,javascript:va}).strict(),Cp=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 Wt(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${C({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}c(Wt,"modelStarterExecutionAssetId");function dd(t){let a=ct.parse(t);ji(a);let r=Wt({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),n=ma({text:A(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:i,...s}=n;return C({...s,id:r,asset:{...s.asset,id:r}})}c(dd,"createModelStarterExecutionAsset");function Mp(t,a,r){if(a.id!==Wt(t)||a.asset.visibility!=="host_private"||a.asset.mediaType!=="application/json")throw new Error("Starter execution asset differs from its Taskset references.");let n=ct.parse(JSON.parse(K(a,a.asset)));return _r(n,t,r),n}c(Mp,"resolveModelStarterExecutionAsset");function ot(t,a){return C({value:t}).contentHash===C({value:a}).contentHash}c(ot,"equal");function ji(t){qn(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...n}=a;if(C(n).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!ot(t.environment.metadata.javascriptEnvironment,x(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}c(ji,"assertExecutionIntegrity");function _r(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:i,javascript:s}=t;if(ji(t),!ot(a.environmentRelease,{id:n.id,contentHash:n.contentHash})||!ot(a.verifierSetRelease,{id:i.id,contentHash:i.contentHash})||!ot(n.contract,a.environment)||!ot(i.graders,a.graders)||!ot(a.tools,s.tools)||!ot(n.metadata.javascriptEnvironment,x(s)))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 l of[s.module,n.actionSchemaRef,n.observationSchemaRef,n.stateSchemaRef]){if(!l)continue;let u=r.find(d=>d.id===l.id);if(!u)throw new Error(`Starter environment asset is missing: ${l.id}.`);K(u,l)}for(let l of a.tasks){let u=r.find(m=>m.id===l.privilegedContextRef);if(!u||u.asset.visibility!=="host_private"||u.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${l.id}.`);let d=JSON.parse(K(u,u.asset));if(!d||typeof d!="object"||Array.isArray(d))throw new Error(`Starter initial state must be a JSON object: ${l.id}.`);ke(d,s.maxStateBytes)}}c(_r,"validateModelStarterExecution");var Ei=e.object({environment:Ue,verifierSet:Ge}).strict();function ld(t){if(!t.environmentRelease||!t.verifierSetRelease)throw new Error("Taskset execution references are missing.");return`taskset-execution-${C({environment:t.environmentRelease,verifiers:t.verifierSetRelease}).contentHash}`}c(ld,"modelTasksetExecutionResourcesAssetId");function Op(t){let a=Ei.parse({environment:t.environment,verifierSet:t.verifierSet});md(a);let r=ld({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),{contentHash:n,...i}=ma({text:A(a),path:"environment/resources.json",mediaType:"application/json",visibility:"host_private"});return C({...i,id:r,asset:{...i.asset,id:r}})}c(Op,"createModelTasksetExecutionResourcesAsset");function md(t){if(!Je(t.environment)||!Ke(t.verifierSet))throw new Error("Taskset execution resource integrity failed.")}c(md,"assertIntegrity");var Pi=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),Hr=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:Pi,root:N,parent:N}).strict(),Ai=e.object({taskset:pe,taskDefinition:re,rewardBinding:Ae,rewards:e.array(at).min(1).max(100),assets:e.array(Te).max(1e3),executionResources:Ei.optional(),execution:ct.optional(),instructionMode:e.literal("per_task").optional()}).strict(),Be=c((t,a)=>C({value:t}).contentHash===C({value:a}).contentHash,"same"),yi=c((t,a)=>`model-taskset-${C({owner:t,root:a}).contentHash}`,"identity");function Ci(t){return Yt({...t,source:jr(t.source)})}c(Ci,"deriveModelTaskset");function Yt(t){let a=Pi.parse(t.owner),r=t.source,n=t.edits??r,i=r.taskset.metadata.modelTasksetDerivation===void 0?null:Hr.parse(r.taskset.metadata.modelTasksetDerivation);if(i&&r.taskset.id!==yi(i.owner,i.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let s=i&&Be(i.owner,a),o=s?i.root:x(r.taskset),l=s?r.taskset.id:yi(a,o),u=s?r.taskset.revision+1:1,d=Ae.parse(t.rewardBinding),m=t.rewards.map(z=>at.parse(z)),p=ae(d,m);if(d.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let h={...n.taskset.policy,hiddenGraderRefs:p.filter(z=>z.privileged).map(z=>z.id)},g=n.executionResources??n.execution,v=g?.environment??kt({schemaVersion:"openpond.environmentRelease.v1",id:`${l}-environment`,revision:1,contract:n.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),w=St({schemaVersion:"openpond.verifierSetRelease.v1",id:`${l}-verifiers`,revision:u,graders:p,isolation:g?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(n.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:g?{sourceVerifierSet:x(g.verifierSet)}:{}}),I={environment:v,verifierSet:w},L=n.execution?{...n.execution,verifierSet:w}:void 0,{contentHash:_,...T}=n.taskset,{contentHash:ie,...le}=n.taskDefinition,k={...le.execution,policy:h,environmentRelease:{id:v.id,contentHash:v.contentHash},verifierSetRelease:{id:w.id,contentHash:w.contentHash}},j=re.parse(C({...le,id:`${l}-definition`,revision:u,rewardBinding:x(d),execution:k})),P=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,J=P&&typeof P=="object"&&!Array.isArray(P)&&"graderFixtures"in P?P.graderFixtures:void 0,y=pe.parse(C({...T,...k,id:l,revision:u,graders:p,metadata:{starter:{taskDefinition:x(j),rewardBinding:x(d)},rewardExecution:{binding:d,rewards:m},...J===void 0?{}:{starterAuthoring:{graderFixtures:J}},...n.taskset.metadata.environmentResources===void 0?{}:{environmentResources:n.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:x(r.taskset)}}}));return jr({taskset:y,taskDefinition:j,rewardBinding:d,rewards:m,assets:t.assets,executionResources:I,...L?{execution:L}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}c(Yt,"compileModelTasksetReward");function jr(t){let a=Ai.parse(t),{taskset:r,taskDefinition:n,rewardBinding:i,rewards:s,assets:o,execution:l}=a;for(let w of[r,n,i,...s,...o])bt(w);if(ca(r),i.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!U(n.rewardBinding,x(i)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:u,environment:d,environmentRelease:m,tools:p,capabilities:h,verifierSetRelease:g}=r;if(!Be(n.execution,{policy:u,environment:d,...m?{environmentRelease:m}:{},tools:p,capabilities:h,...g?{verifierSetRelease:g}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!Be(r.graders,ae(i,s)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let w=e.object({taskDefinition:N,rewardBinding:N}).passthrough().parse(r.metadata.starter);if(!U(w.taskDefinition,x(n))||!U(w.rewardBinding,x(i)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!Be(r.metadata.rewardExecution,{binding:i,rewards:s}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!U(N.parse(r.metadata.rewardBinding),x(i)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let v=a.executionResources??l;if(r.environmentRelease&&!v)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(v&&(!Je(v.environment)||!Ke(v.verifierSet)||!Be(r.environmentRelease,{id:v.environment.id,contentHash:v.environment.contentHash})||!Be(r.verifierSetRelease,{id:v.verifierSet.id,contentHash:v.verifierSet.contentHash})||!Be(r.environment,v.environment.contract)||!Be(r.graders,v.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(_r(l,r,o),new Set(o.map(w=>w.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let w of o)K(w,w.asset);for(let w of v?[v.environment.actionSchemaRef,v.environment.observationSchemaRef,v.environment.stateSchemaRef]:[]){if(!w)continue;let I=o.find(L=>L.id===w.id);if(!I)throw new Error(`Taskset environment asset is missing: ${w.id}.`);K(I,w)}for(let w of r.tasks){if(n.requiredOutputs&&!Be(w.requiredOutputs,n.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${w.id}.`);if(a.instructionMode!=="per_task"&&w.policyVisibleContext.instructions!==n.instructions||!tr(n.inputSchema,w.input).valid||w.expectedOutput!==null&&!tr(n.outputSchema,w.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${w.id}.`);if(w.privilegedContextRef&&!o.some(I=>I.id===w.privilegedContextRef&&I.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${w.id}.`)}for(let w of s){let I=w.implementation,L=[...w.assets,..."verifierRef"in I?[I.verifierRef]:[],..."rubricRef"in I?[I.rubricRef]:[],..."inputContract"in I?[I.inputContract]:[]];for(let _ of L){let T=o.find(ie=>ie.id===_.id);if(!T||_.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${_.id}.`);K(T,_)}}return a}c(jr,"validateModelTasksetPackage");var Er=e.object({batch:ga,evidence:e.array(nt).min(1).max(1e4),decisions:e.array(ha).min(1).max(1e4),sources:e.array(Ne).min(1).max(1e4),assets:e.array(Te).max(1e3)}).strict();function Mi(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=A(a.submission.evaluatorContext),n=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:G(n),sizeBytes:n.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(n,i=>String.fromCharCode(i)).join(""))}})}c(Mi,"learningPackageContextFiles");function $i(t,a){let r=Er.parse(a),n=se(t);if(!U(x(r.batch),n.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let d of[r.evidence,r.decisions,r.sources,r.assets]){let m=new Set;for(let p of d){bt(p);let h=`${p.id}:${p.revision}`;if(m.has(h))throw new Error("Taskset learning resource identities must be unique.");m.add(h)}}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 d of r.evidence){let m=r.sources.find(p=>U(x(p),d.source));if(!m||!U(m.taskDefinition,x(n.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(d=>!r.evidence.some(m=>U(m.source,x(d)))))throw new Error("Taskset package includes an unrelated learning source.");let i=n.rewards.flatMap(d=>[...d.assets,...d.implementation.kind==="custom_verifier"?[d.implementation.verifierRef]:d.implementation.kind==="model_judge"||d.implementation.kind==="human"?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]);for(let d of i){let m=r.assets.find(p=>p.id===d.id);if(!m)throw new Error("Taskset learning Reward asset is missing.");K(m,d)}if(r.assets.some(d=>!i.some(m=>m.id===d.id)))throw new Error("Taskset package includes an unrelated learning asset.");let s=Rn({batch:r.batch,definition:n.definition,binding:n.binding,rewards:n.rewards,evidence:r.evidence,decisions:r.decisions}),o=se(s);if(f(o)!==f(n))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let l=c(d=>({policy:d.policy,environment:d.environment,tools:d.tools}),"execution");if(f(l(s))!==f(l(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let u=c(d=>({id:d.id,clusterKey:d.clusterKey,split:d.split,input:d.input,expectedOutput:d.expectedOutput,policyVisibleContext:d.policyVisibleContext,privilegedContextRef:d.privilegedContextRef,artifactRefs:d.artifactRefs,requiredOutputs:d.requiredOutputs??[],tags:d.tags}),"taskContent");if(f(s.tasks.map(u))!==f(t.tasks.map(u)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}c($i,"validateTasksetLearningResources");var ze=64*1024*1024,Pr=e.object({asset:W,base64:e.string().max(Math.ceil(ze/3)*4)}).strict();function be(t){let a=Pr.parse(t),r=atob(a.base64);if(btoa(r)!==a.base64)throw new Error(`Taskset asset ${a.asset.id} has noncanonical base64.`);let n=Uint8Array.from(r,i=>i.charCodeAt(0));if(n.byteLength!==a.asset.sizeBytes||G(n)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return n}c(be,"decodeTasksetPackageFile");function Xe(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=c(o=>{let l=a.get(o);if(!l)throw new Error(`Taskset environment asset is missing: ${o}.`);if(l.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let u=new TextDecoder("utf-8",{fatal:!0}).decode(be(l));return Te.parse(C({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:l.asset,text:u}))},"read"),n;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");n=ct.parse(t.modelResources.execution)}else{let o=r(Wt(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=ct.parse(JSON.parse(o.text))}let s=[...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 _r(n,t.taskset,s),{execution:n,assets:s}}c(Xe,"resolveTasksetPackageExecution");function La(t){let a=dd(t),r=new TextEncoder().encode(a.text),n="";for(let i of r)n+=String.fromCharCode(i);return{asset:a.asset,base64:btoa(n)}}c(La,"createTasksetPackageExecutionFile");var qi=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:pn,fixtureSet:W,calibrationCheck:fe,fixture:In,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:W,graderId:e.string().min(1).max(240).optional()}).strict();function Di(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:lt.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}c(Di,"authoredFixtures");function ud(t){for(let a of Di(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&pd(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Oi(t,a.asset)}c(ud,"assertTasksetCalibrationClosures");function pd(t,a){let r=qi.parse(a.metadata.rewardCalibration),n=Oi(t,r.closureRef);(f(r.sourceReward)!==f(x(n.reward))||f(r.fixtureSet)!==f(n.reward.fixtureSetRef)||r.calibrationCheck.id!==n.check.id||r.calibrationCheck.revision!==n.check.revision||r.calibrationCheck.contentHash!==f(n.check))&&Y("calibration_source_changed");let i=r.fixture,s=`calibration-${f([r.sourceReward,i.id])}`;(a.id!==s||a.taskId!==s||t.taskset.tasks.some(v=>v.id===s)||r.fixtureHash!==f(i)||f(a.output)!==f(i.output)||a.infrastructureError!==i.infrastructureError)&&Y("calibration_fixture_changed");let o=n.check.results.filter(v=>v.fixture.id===i.id&&v.fixture.contentHash===r.fixtureHash);(o.length!==1||f(o[0])!==r.checkResultHash)&&Y("calibration_result_changed");let l=i.expected;(l.status!=="scored"||typeof l.passed!="boolean"||a.expectedPassed!==l.passed||a.label!==(l.passed?"positive":"negative"))&&Y("calibration_expectation_unsupported");let u=r.graderId??r.sourceReward.id,d=t.taskset.graders.filter(v=>v.id===u),m=d[0];(d.length!==1||!m)&&Y("calibration_grader_not_unique"),a.expectedRewardEligible!==m.rewardEligible&&Y("calibration_reward_expectation_changed");let p=da({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${n.contentHash}`,revision:1,sources:[{graderId:u,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:m.weight,required:!0,hardGate:m.hardGate,privileged:m.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[n.reward]),h=ae(p,[n.reward])[0],g=c(v=>{let{rewardEligible:w,...I}=v;return I.kind==="model_judge"?{...I,temperature:I.temperature??0}:I},"implementation");return f(g(m))!==f(g(h))&&Y("calibration_grader_changed"),m.kind==="model_judge"&&fd(t,m,r,n),{kind:"independent_reward_calibration",fixtureId:s,task:Bt.parse({id:s,clusterKey:s,split:"validation",input:i.input,expectedOutput:i.expectedOutput,privilegedContextRef:null}),evaluatorContext:i.evaluatorContext,evidence:{output:i.output,artifactRefs:i.artifactRefs,runtimeEventRefs:i.runtimeEventRefs,infrastructureError:i.infrastructureError},grader:h,reward:n.reward,binding:p,expected:l,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}c(pd,"resolveIndependent");function Oi(t,a){(a.visibility!=="host_private"||a.sizeBytes>jn||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&Y("calibration_closure_not_private");let r=t.files.filter(u=>u.asset.id===a.id);(r.length!==1||f(r[0].asset)!==f(a))&&Y("calibration_closure_asset_changed");let n=be(r[0]),i=new TextDecoder("utf-8",{fatal:!0}).decode(n),s=En(JSON.parse(i));f(Pn(s).asset)!==f(a)&&Y("calibration_closure_reference_changed"),t.files.filter(u=>u.asset.contentHash===a.contentHash||u.asset.id===a.id||u.asset.path===a.path).some(u=>u.asset.visibility!=="host_private")&&Y("calibration_closure_visible_alias");let l=c(u=>u.id===a.id||u.path===a.path||u.contentHash===a.contentHash,"isAlias");for(let u of t.taskset.tasks)(u.artifactRefs.some(l)||(u.requiredOutputs??[]).some(d=>d.schemaRef&&l(d.schemaRef))||u.privilegedContextRef&&t.files.some(d=>d.asset.id===u.privilegedContextRef&&l(d.asset)))&&Y("calibration_closure_task_alias"),(xr(u.input,i,a.contentHash)||xr(u.policyVisibleContext,i,a.contentHash))&&Y("calibration_closure_inline_alias");for(let u of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])u&&l(u)&&Y("calibration_closure_environment_schema_alias");for(let u of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(u===void 0)continue;let d=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(u);for(let m of d){let p=t.files.find(h=>h.asset.path===m.path);(m.id===a.id||m.path===a.path||p&&l(p.asset))&&Y("calibration_closure_environment_resource_alias")}}return s}c(Oi,"readPrivateClosure");function xr(t,a,r){return typeof t=="string"?t===a||G(t)===r:!t||typeof t!="object"?!1:G(JSON.stringify(t))===r?!0:Object.values(t).some(n=>xr(n,a,r))}c(xr,"containsClosure");function Y(t){throw new Error(t)}c(Y,"fail");function fd(t,a,r,n){let i=a.id,s=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(s),l=n.check.fixtureRefs.map(d=>`calibration-${f([r.sourceReward,d.id])}`);f(o.judgeCalibrationFixtures[i]??[])!==f(l)&&Y("calibration_judge_membership_changed");let u=Di(t);for(let d=0;d<l.length;d++){let m=u.filter(I=>I.id===l[d]);m.length!==1&&Y("calibration_judge_membership_changed");let p=m[0],h=qi.parse(p.metadata.rewardCalibration),g=h.fixture.expected;(g.status!=="scored"||typeof g.passed!="boolean"||p.expectedPassed!==g.passed||p.expectedRewardEligible!==a.rewardEligible||p.label!==(g.passed?"positive":"negative")||f(p.output)!==f(h.fixture.output)||p.infrastructureError!==h.fixture.infrastructureError)&&Y("calibration_judge_membership_changed");let v=n.check.fixtureRefs[d],w=n.check.results.find(I=>I.fixture.id===v.id);(p.taskId!==p.id||h.fixture.id!==v.id||h.fixtureHash!==v.contentHash||f(h.fixture)!==v.contentHash||h.checkResultHash!==f(w)||f(h.sourceReward)!==f(r.sourceReward)||f(h.fixtureSet)!==f(r.fixtureSet)||f(h.calibrationCheck)!==f(r.calibrationCheck)||f(h.closureRef)!==f(r.closureRef)||(h.graderId??h.sourceReward.id)!==i)&&Y("calibration_judge_membership_changed")}}c(fd,"assertJudgeFixtureMembership");function Ar(t){return`model-authored-taskset-${f({owner:t.owner,root:t.root})}`}c(Ar,"modelAuthoredTasksetId");function Cr(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=ka.parse(t.metadata.modelTasksetAuthoring);if(t.id!==Ar(a)||(t.revision===1?!U(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}c(Cr,"assertModelTasksetAuthoring");var hd=Ai.omit({taskset:!0,executionResources:!0}),Mr=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:pe,environment:Ue,verifierSet:Ge,files:e.array(Pr).max(1e4),modelResources:hd.optional(),learningResources:Er.optional()}).strict(),mt=Mr.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function $r(t){return t.learningResources?se(t.taskset).binding:t.modelResources?.rewardBinding??null}c($r,"tasksetPackageRewardBinding");function ut(t){return t.learningResources?se(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??""}c(ut,"resolveTasksetPackageInstructions");function X(t){ke(t,ze);let a=mt.parse(t),{contentHash:r,...n}=a;if(f(n)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:s,verifierSet:o}=a;if(ca(i),Cr(i)&&(a.modelResources||a.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!Je(s)||!Ke(o)||!Rt(i.environmentRelease,{id:s.id,contentHash:s.contentHash})||!Rt(i.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!Rt(i.environment,s.contract)||!Rt(i.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let u=new Map;for(let m of a.files){if(u.has(m.asset.id))throw new Error(`Duplicate Taskset asset identity: ${m.asset.id}.`);be(m),u.set(m.asset.id,m)}function d(m){let p=u.get(m.id);if(!p||!Rt(p.asset,m))throw new Error(`Taskset package asset is missing or mismatched: ${m.id}.`)}c(d,"requireAsset");for(let m of i.tasks){for(let p of m.artifactRefs)d(p);for(let p of m.requiredOutputs??[])p.schemaRef&&d(p.schemaRef);if(m.privilegedContextRef&&u.get(m.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${m.id}.`)}for(let m of[s.actionSchemaRef,s.observationSchemaRef,s.stateSchemaRef])m&&d(m);for(let m of i.graders){let p="verifierRef"in m?m.verifierRef:"rubricRef"in m?m.rubricRef:null;if(p&&(d(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(i.metrics?.customAggregator){let m=i.metrics.customAggregator,p=a.files.filter(h=>h.asset.path===m.module);if(p.length!==1||p[0].asset.contentHash!==m.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 m of[i.metadata.environmentResources,s.metadata.resources])if(m!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(m))if(!a.files.some(h=>h.asset.path===p.path))throw new Error(`Taskset environment resource is missing: ${p.path}.`)}if(a.learningResources){if(a.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let m=$i(i,a.learningResources);for(let p of Mi(m))if(!Rt(u.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of m.assets)d(p.asset)}else if(a.modelResources){let m=jr({...a.modelResources,taskset:i,executionResources:{environment:s,verifierSet:o}});for(let p of m.assets)d(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(m=>i.metadata[m]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Xe(a),ut(a),ud(a),a}c(X,"validateTasksetPackage");function jt(t){ke(t,ze);let a=Mr.parse(t);return X({...a,contentHash:f(a)})}c(jt,"createTasksetPackage");function Rt(t,a){return f({value:t})===f({value:a})}c(Rt,"same2");var Fa=fe.shape.id,qr=e.object({schemaVersion:e.literal("openpond.modelBatchReviewInspection.v1"),packageHash:e.string().regex(/^[a-f0-9]{64}$/),definition:re,binding:Ae,evidence:e.array(nt).min(1).max(1e4),decisions:e.array(ha).min(1).max(1e4)}).strict(),Na=e.object({schemaVersion:e.literal("openpond.modelBatchReviewRequest.v1"),operationId:Fa,modelId:Fa,expectedModelRevision:e.number().int().positive(),tasksetRef:fe,rewardBindingRef:fe.nullable(),definition:e.object({name:e.string().trim().min(1).max(500).optional(),instructions:e.string().trim().min(1).max(2e4).optional(),inputSchema:rt.optional(),outputSchema:rt.optional(),requiredOutputs:re.shape.requiredOutputs}).strict(),examples:e.array(e.object({evidence:fe,input:rt.optional(),expected:rt.nullable().optional(),evaluatorContext:rt.nullable().optional(),proposedTarget:rt.nullable().optional()}).strict()).max(1e4)}).strict(),Dr=e.object({schemaVersion:e.literal("openpond.modelBatchReviewReceipt.v1"),operationId:Fa,modelId:Fa,source:Ne,evidence:e.array(nt).min(1).max(1e4),proposals:e.array(fa).max(1e4)}).strict();function Bi(t){let a=t.taskset.metadata.ordinaryAuthoring,r=e.record(e.string(),e.array(e.string().min(1)).max(1e5)).parse(a?.judgeCalibrationFixtures??{});return t.taskset.graders.map(n=>{let i={...n,label:n.id,metadata:{portableGrader:n}};if(n.kind==="custom_verifier")return ce.parse({...i,module:Xt(n.verifierRef.contentHash),exportName:n.exportName??"verify",metadata:{...i.metadata,portableVerifierRef:n.verifierRef}});if(n.kind==="human"||n.kind==="model_judge"){let s=t.files.find(u=>u.asset.id===n.rubricRef.id);if(!s)throw new Error(`Imported rubric is missing: ${n.id}.`);let o=new TextDecoder("utf-8",{fatal:!0}).decode(be(s)),l={...i.metadata,portableRubricRef:n.rubricRef};if(n.kind==="human")return ce.parse({...i,rubric:o,metadata:l});if(!n.model)throw new Error(`Imported judge ${n.id} requires its declared model before local preparation.`);return ce.parse({...i,rubric:o,metadata:l,judge:n.model,temperature:n.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:r[n.id]??[]})}return ce.parse({...i,kind:n.kind==="artifact"?"file":n.kind,config:n.kind==="artifact"?{...n.config,...n.config.refIncludes===void 0?{}:{pathIncludes:n.config.refIncludes}}:n.config})})}c(Bi,"importedPackageGraders");function Ua(t,a,r=[]){let n=la(t,a);return ae(t,a).map(i=>{let s=n.find(({source:l})=>l.graderId===i.id).reward,o={...i,label:s.name,metadata:{rewardBinding:x(t)}};if(i.kind==="model_judge"){if(!i.model||i.calibrationStatus!=="passed"||!s.calibrationCheckRef||!s.fixtureSetRef)throw new Error(`Reward ${i.id} needs a retained passing calibration check before preparation.`);let l=r.find(m=>m.id===i.rubricRef.id),u=r.find(m=>m.id===s.fixtureSetRef.id);if(!l||!u)throw new Error(`Reward ${i.id} is missing its immutable rubric or calibration fixtures.`);let d=Tn.array().min(1).max(50).parse(JSON.parse(K(u,s.fixtureSetRef)));return ce.parse({...o,rubric:K(l,i.rubricRef),judge:i.model,temperature:i.temperature??0,calibrationFixtureRefs:d.map(m=>m.id),metadata:{...o.metadata,portableGrader:i,portableRubricRef:i.rubricRef,calibrationEvidenceHash:s.calibrationCheckRef.contentHash,calibrationCheckRef:s.calibrationCheckRef}})}if(i.kind==="custom_verifier")return ce.parse({...o,module:Xt(i.verifierRef.contentHash),exportName:i.exportName??"verify",metadata:{...o.metadata,portableVerifierRef:i.verifierRef}});if(i.kind==="human"){let l=r.find(u=>u.id===i.rubricRef.id);if(!l)throw new Error(`Reward ${i.id} is missing its immutable rubric.`);return ce.parse({...o,rubric:K(l,i.rubricRef),metadata:{...o.metadata,portableGrader:i,portableRubricRef:i.rubricRef}})}return ce.parse({...o,kind:i.kind==="artifact"?"file":i.kind})})}c(Ua,"projectLearningBatchGraders");function Xt(t){return`graders/reward-${t}.js`}c(Xt,"learningVerifierModule");var je=e.string().trim().min(1).max(240),Qt=e.string().trim().min(1),Ga=e.string().trim().min(8).max(256),zi=e.record(e.string(),e.unknown()).default({}),gd=je.nullable(),vd=["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"],bd=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),kd=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),Z=e.string().trim().max(1e5),Sd=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:Z,examples:e.array(e.object({id:je,prompt:Z,response:Z})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:Z,pairs:e.array(e.object({id:je,prompt:Z,chosen:Z,rejected:Z,rationale:Z})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:Z,rules:e.array(e.object({id:je,points:e.number().finite(),condition:Z})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:Z,criteria:e.array(e.object({id:je,label:e.string().trim().max(500),description:Z})).max(1e3).default([]),positiveExample:Z,negativeExample:Z,boundaryExample:Z})]),xf=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),yd=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(je).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),wd=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"]),xd=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(wd).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Vi=e.object({code:je,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),Rd=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:je,tasksetHash:Ga,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:yd.nullable().default(null),methodReadiness:e.array(xd).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Vi).default([]),advisories:e.array(Vi).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:Qt}),Td=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:Qt}),Id=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:Ia.nullable(),modelConfig:zi,skillHash:Ga,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:kd.default("demonstrations"),buildSpecification:Sd.nullable().default(null),evidenceHashes:e.array(Ga).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(Td).max(1e3),createdAt:Qt}),ee=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:je,revision:e.number().int().positive().default(1),profileId:je,profileRelease:Yn.nullable().optional(),createImproveRunId:gd.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:Ma.default("general"),benchmark:$a.nullable().default(null),preferenceComparison:qa.nullable().default(null),status:bd,sourceRefs:e.array(_t).min(1).max(1e5),datasetArtifact:Gt.nullable().optional(),policy:Da,environment:Ba,capabilities:Va,metrics:oa.optional(),tasks:e.array(Kt).max(1e6),graders:e.array(ce).min(1).max(1e3),graderFixtures:e.array(lt).max(1e5),learningSignals:Oa,authoringProvenance:Id,readiness:Rd.nullable(),contentHash:Ga,createdAt:Qt,updatedAt:Qt,metadata:zi}).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 _d(t){return t.schemaVersion==="openpond.trainingSource.v1"}c(_d,"isTrainingSourceRef");function Li(t,a={}){let r=ee.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,i=[];Ed(n,i),jd(n,i),Pd(n,i),Cd(n,i),Md(n,i),Hd(n,i,a),$d(n,i),qd(n.capabilities,i,n),Ad(n,i);let s=Fi(n);return n.contentHash!==s&&i.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${n.contentHash}, expected ${s}.`,path:"contentHash"}),{valid:!i.some(o=>o.severity==="error"),taskset:n,computedHash:s,issues:i}}c(Li,"validateTaskset");function Hd(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 i=new Set(t.tasks.map(o=>o.id)),s=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let o of t.graderFixtures)!t.datasetArtifact&&!i.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`}),s.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?[]:s)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}c(Hd,"validateGraderFixtures");function jd(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((u,d)=>u+d,0),i=r.shards.reduce((u,d)=>u+d.rowCount,0);(n!==r.rowCount||i!==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 s=new Map;for(let u of r.shards)s.set(u.split,(s.get(u.split)??0)+u.rowCount);for(let[u,d]of Object.entries(r.splitCounts))(s.get(u)??0)!==d&&a.push({code:"dataset_artifact_split_count_mismatch",severity:"error",message:`Dataset artifact ${u} shard counts do not match its manifest.`,path:`datasetArtifact.splitCounts.${u}`});let{contentHash:o,...l}=r;f(l)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}c(jd,"validateDatasetArtifact");function pt(t){return Fi(t)}c(pt,"computeTasksetHash");function Fi(t){let{contentHash:a,status:r,readiness:n,updatedAt:i,...s}=t;return f(s)}c(Fi,"tasksetContentHash");function Ed(t,a){for(let[r,n]of t.sourceRefs.entries())_d(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`})}c(Ed,"validateSourceConsent");function Pd(t,a){let r=new Map;for(let i of t.tasks){let s=r.get(i.clusterKey)??new Set;s.add(i.split),r.set(i.clusterKey,s)}for(let[i,s]of r)s.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${i} appears in multiple splits: ${[...s].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(i=>i.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}c(Pd,"validateSplitIsolation");function Ad(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(vd),n=t.environment.toolNames.filter(s=>!r.has(s));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 s of["create","reset","step","grade","cleanup"])t.environment.lifecycle.includes(s)||a.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${s} lifecycle stage.`,path:"environment.lifecycle"});let i=new Map(t.sourceRefs.map(s=>[s.id,s]));for(let[s,o]of t.tasks.entries()){let l=new Set,u=new Set;for(let[m,p]of(o.assets??[]).entries()){let h=`tasks.${s}.assets.${m}`;l.has(p.id)&&a.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${p.id}.`,path:`${h}.id`}),u.has(p.fileName)&&a.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged file name ${p.fileName}.`,path:`${h}.fileName`}),l.add(p.id),u.add(p.fileName),o.sourceRefs.includes(p.sourceRefId)||a.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${p.id} references source ${p.sourceRefId} outside task ${o.id}.`,path:`${h}.sourceRefId`});let g=i.get(p.sourceRefId);g?"sourceFileHashes"in g&&!g.sourceFileHashes.includes(p.sha256)&&a.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${p.id} hash is not registered by source ${p.sourceRefId}.`,path:`${h}.sha256`}):a.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${p.id} references missing source ${p.sourceRefId}.`,path:`${h}.sourceRefId`}),g&&"kind"in g&&g.kind==="uploaded_file"&&!g.originalFileNames.includes(p.fileName)&&a.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${p.id} file name is not registered by source ${p.sourceRefId}.`,path:`${h}.fileName`}),g&&"kind"in g&&g.kind==="uploaded_file"&&!g.mediaTypes.includes(p.mediaType)&&a.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${p.id} media type is not registered by source ${p.sourceRefId}.`,path:`${h}.mediaType`}),p.split!==o.split&&a.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${p.id} is assigned to ${p.split}, not task split ${o.split}.`,path:`${h}.split`})}let d=new Set;for(let[m,p]of(o.requiredOutputs??[]).entries()){let h=p.path.replaceAll("\\","/"),g=`tasks.${s}.requiredOutputs.${m}.path`;d.has(h)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${h}.`,path:g}),d.add(h)}(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.${s}.requiredOutputs`})}}c(Ad,"validateWorkExecution");function Cd(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`})}c(Cd,"validatePolicyBoundary");function Md(t,a){let r=new Set;for(let n of t.graders)r.has(n.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${n.id}.`,path:"graders"}),r.add(n.id),n.kind==="model_judge"&&n.rewardEligible&&n.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${n.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${n.id}`}),n.kind==="model_judge"&&n.calibrationStatus==="passed"&&typeof n.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${n.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${n.id}.metadata.calibrationEvidenceHash`}),n.kind==="human"&&n.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${n.id} cannot be an online optimizer reward.`,path:`graders.${n.id}`})}c(Md,"validateGraders");function $d(t,a){let r=new Set(t.tasks.map(i=>i.id)),n=new Set(t.sourceRefs.map(i=>i.id));for(let i of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])i.taskId&&!t.datasetArtifact&&!r.has(i.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${i.id} references missing task ${i.taskId}.`,path:`learningSignals.${i.kind}.${i.id}.taskId`}),i.sourceRefs.some(s=>!n.has(s))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${i.id} references a source outside the Dataset.`,path:`learningSignals.${i.kind}.${i.id}.sourceRefs`});for(let i of t.learningSignals.preferences)i.chosen.trim()===i.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${i.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${i.id}`});for(let i of t.learningSignals.rewards)i.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${i.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${i.id}.executable`})}c($d,"validateLearningSignals");function qd(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"})}c(qd,"validateCapabilities");var Et=e.string().trim().min(1).max(240),Ni=e.string().trim().min(1),Dd=e.string().trim().min(8).max(256),Od=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),Bd=e.record(e.string(),e.unknown()).default({});function Ui(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}c(Ui,"safeRelativeFilePath");var Vd=Kt.extend({sourceRefs:e.array(Et).max(100).default([])}),zd=e.enum(["draft","validating","needs_review","published"]),Ld=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:Et,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),Fd=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(Ui,"Renderer modules must use a safe relative path."),exportName:Od,configRef:e.string().trim().min(1).max(1e3).refine(Ui,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((t,a)=>{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"]})}),Ee=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:Et,revision:e.number().int().positive(),profileId:Et,modelScope:e.object({modelId:Et,expectedModelRevision:e.number().int().positive(),source:Ce.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:Ma.default("general"),benchmark:$a.nullable().default(null),preferenceComparison:qa.nullable().default(null),status:zd,sourceRefs:e.array(_t).max(1e5).default([]),datasetArtifact:Gt.nullable().optional(),policy:Da,environment:Ba,output:Fd.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:Va,metrics:oa,review:Ld,tasks:e.array(Vd).max(1e6).default([]),graders:e.array(ce).max(1e3).default([]),graderFixtures:e.array(lt).max(1e5).default([]),learningSignals:Oa,publishedTasksetRef:e.object({id:Et,revision:e.number().int().positive(),contentHash:Dd}).nullable(),createdAt:Ni,updatedAt:Ni,metadata:Bd}).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"]})}),Ki=6e6,Wi=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","tasks/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","metrics/policy.json","assets/manifest.json","environment/contract.json","environment/taskset.ts","rubrics/preference-review.md","comparisons/policy.json"]);function Or(t){let a=oe.parse(t);return!Wi.has(a)&&!a.startsWith("source-artifacts/")}c(Or,"isWritableTasksetDraftFilePath");function Pt(t){return Wi.has(oe.parse(t))}c(Pt,"isManagedTasksetDraftFilePath");function Nd(t,a){let r=Or(t);if(a.byteLength>Ki)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");let n;try{let i=new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(a);n=/[\u0000-\u0008\u000e-\u001f]/.test(i)?Gi(a):{encoding:"utf8",data:i}}catch{n=Gi(a)}return{path:t,writable:r,content:n,sizeBytes:a.byteLength,contentHash:G(a)}}c(Nd,"createTasksetDraftFile");function Ud(t){let a=zt.parse(t),r;try{if(a.encoding==="utf8")r=new TextEncoder().encode(a.data);else{let n=atob(a.data);if(btoa(n)!==a.data)throw new Error("Noncanonical base64");r=Uint8Array.from(n,i=>i.charCodeAt(0))}}catch{throw new Error("Taskset draft file content is invalid or exceeds 6 MB.")}if(r.byteLength>Ki)throw new Error("Taskset draft file content is invalid or exceeds 6 MB.");return r}c(Ud,"decodeTasksetDraftFileContent");function Gi(t){let a="";for(let r=0;r<t.length;r+=8192)a+=String.fromCharCode(...t.subarray(r,r+8192));return{encoding:"base64",data:btoa(a)}}c(Gi,"base64Content");function Yi(t){let a=[];t.output.renderer&&a.push({relativePath:t.output.renderer.module,source:`export async function ${t.output.renderer.exportName}(output: unknown) {
|
|
4
|
-
// Return artifact paths or bytes derived from the model's structured output.
|
|
5
|
-
return output;
|
|
6
|
-
}
|
|
7
|
-
`});for(let r of t.graders)r.kind==="custom_verifier"&&a.push({relativePath:r.module,source:`export async function ${r.exportName}(input: { output: unknown; task: unknown }) {
|
|
8
|
-
return { passed: false, score: 0, feedback: "Implement this verifier." };
|
|
9
|
-
}
|
|
10
|
-
`});t.metrics.customAggregator&&a.push({relativePath:t.metrics.customAggregator.module,source:`export function ${t.metrics.customAggregator.exportName}(scores: number[]) {
|
|
11
|
-
return scores.length ? scores.reduce((sum, score) => sum + score, 0) / scores.length : 0;
|
|
12
|
-
}
|
|
13
|
-
`});for(let r of a)oe.parse(r.relativePath);return a}c(Yi,"configuredTasksetDraftFiles");function Br(t){let a=Ee.parse(t);return new Map([["taskset.json",qe(a)],["tasks/tasks.jsonl",Jd(a.tasks)],["graders/graders.json",qe(a.graders)],["fixtures/grader-fixtures.json",qe(a.graderFixtures)],["metrics/policy.json",qe(a.metrics)],["assets/manifest.json",qe(a.tasks.flatMap(r=>r.assets??[]))],["environment/contract.json",qe(a.environment)],["rubrics/preference-review.md",Gd(a)],["comparisons/policy.json",qe(a.review)]])}c(Br,"renderTasksetDraftManifests");function Gd(t){let a=t.review.criteria.length?`
|
|
14
|
-
|
|
15
|
-
## Criteria
|
|
16
|
-
|
|
17
|
-
${t.review.criteria.map(r=>`- **${r.label}** (${r.weight}): ${r.description}`).join(`
|
|
18
|
-
`)}`:"";return`# Preference review rubric
|
|
19
|
-
|
|
20
|
-
${t.review.rubric}${a}
|
|
21
|
-
`}c(Gd,"rubricMarkdown");function Jd(t){return t.length?`${t.map(a=>JSON.stringify(a)).join(`
|
|
22
|
-
`)}
|
|
23
|
-
`:""}c(Jd,"jsonLines");var Ja=64*1024*1024,Xi=e.string().regex(/^[a-f0-9]{64}$/),Qi=e.object({path:oe,contentHash:Xi,sizeBytes:e.number().int().nonnegative().max(Ja),base64:e.string().max(Ja)}).strict(),Zi=e.object({schemaVersion:e.literal("openpond.tasksetDraftWorkspace.v1"),draft:Ee,files:e.array(Qi).max(1e4)}).strict(),Kd=Zi.extend({contentHash:Xi}).strict();function Vr(t){ke(t,Ja);let a=Zi.parse(t);return a.files.sort((r,n)=>r.path<n.path?-1:r.path>n.path?1:0),Zt({...a,contentHash:f(a)})}c(Vr,"createTasksetDraftWorkspace");function Zt(t){ke(t,Ja);let a=Kd.parse(t),{contentHash:r,...n}=a;if(f(n)!==r)throw new Error("Taskset draft workspace differs from its retained bytes.");let i=null,s=new Set;for(let o of a.files){if(Pt(o.path))throw new Error("Managed Taskset files are represented by the draft document.");if(i!==null&&i>=o.path)throw new Error("Taskset draft file paths must be unique and sorted.");let l=o.path.split("/");for(let u=1;u<l.length;u++)if(s.has(l.slice(0,u).join("/")))throw new Error("A Taskset draft file occupies another file's directory.");Ka(o),s.add(o.path),i=o.path}return a}c(Zt,"validateTasksetDraftWorkspace");function Mf(t,a){let r=Zt(t);oe.parse(a);let n=r.files.find(o=>o.path===a),i=Pt(a)?Br(r.draft).get(a):void 0;if(!n&&i===void 0)throw new Error("Taskset draft file does not exist.");let s=Nd(a,n?Ka(n):new TextEncoder().encode(i));return{draftRevision:r.draft.revision,file:{...s,writable:s.writable&&r.draft.status!=="published"}}}c(Mf,"readTasksetDraftWorkspaceFile");function $f(t){let a=Zt(t),r=a.files.map(n=>({path:n.path,sizeBytes:n.sizeBytes,writable:a.draft.status!=="published"&&Or(n.path)}));for(let[n,i]of Br(a.draft))r.push({path:n,sizeBytes:new TextEncoder().encode(i).byteLength,writable:!1});return{draftRevision:a.draft.revision,files:r.sort((n,i)=>n.path<i.path?-1:n.path>i.path?1:0)}}c($f,"listTasksetDraftWorkspaceFiles");function qf(t){let a=es(t.workspace,t.expectedDraftRevision),r=Ee.parse(t.draft),n=a.draft;if(r.id!==n.id||r.profileId!==n.profileId||f(r.modelScope)!==f(n.modelScope))throw new Error("Taskset draft Model ownership cannot change.");if(r.revision!==n.revision||r.status!==n.status||r.createdAt!==n.createdAt||f(r.publishedTasksetRef)!==f(n.publishedTasksetRef))throw new Error("Taskset draft lifecycle fields cannot change through form edits.");let i=[...a.files];for(let l of Yi(r))if(!i.some(u=>u.path===l.relativePath)){let u=new TextEncoder().encode(l.source);i.push({path:l.relativePath,contentHash:G(u),sizeBytes:u.byteLength,base64:ts(u)})}let s=r.metrics.customAggregator,o=s?i.find(l=>l.path===s.module):void 0;return Vr({schemaVersion:a.schemaVersion,files:i,draft:{...r,revision:n.revision+1,status:"draft",updatedAt:t.now,...s&&o?{metrics:{...r.metrics,customAggregator:{...s,contentHash:o.contentHash}}}:{}}})}c(qf,"saveTasksetDraftWorkspaceDocument");function Df(t){let a=cr.parse(t.mutation),r=es(t.workspace,a.expectedDraftRevision);if(r.draft.id!==a.draftId)throw new Error("Taskset draft file belongs to another draft.");if(!Or(a.path))throw new Error("This file is managed by the Taskset forms or retained source history.");let n=r.files.find(s=>s.path===a.path);if((n?.contentHash??null)!==a.expectedFileHash)throw new Error("Taskset draft file changed. Reload it before saving.");if(!n&&a.content===null)throw new Error("Taskset draft file does not exist.");let i=r.files.filter(s=>s.path!==a.path);if(a.content!==null){let s=Ud(a.content);i.push({path:a.path,contentHash:G(s),sizeBytes:s.byteLength,base64:ts(s)})}return Vr({schemaVersion:r.schemaVersion,files:i,draft:{...r.draft,revision:r.draft.revision+1,status:"draft",updatedAt:t.now}})}c(Df,"saveTasksetDraftWorkspaceFile");function es(t,a){let r=Zt(t);if(r.draft.status==="published")throw new Error("Published Taskset drafts are immutable.");if(r.draft.revision!==a)throw new Error("Taskset draft changed. Reload before saving.");return r}c(es,"editableWorkspace");function Ka(t){let a=Qi.parse(t),r;try{r=atob(a.base64)}catch{throw new Error("Taskset draft file contains invalid base64.")}if(btoa(r)!==a.base64)throw new Error("Taskset draft file contains noncanonical base64.");let n=Uint8Array.from(r,i=>i.charCodeAt(0));if(n.byteLength!==a.sizeBytes||G(n)!==a.contentHash)throw new Error("Taskset draft file differs from its retained bytes.");return n}c(Ka,"decodeTasksetDraftWorkspaceFile");function ts(t){let a="";for(let r=0;r<t.length;r+=8192)a+=String.fromCharCode(...t.subarray(r,r+8192));return btoa(a)}c(ts,"base64");var Ji=class extends Error{static{c(this,"TasksetDraftPublishError")}issues;constructor(t){super(t.map(a=>a.message).join(`
|
|
24
|
-
`)),this.name="TasksetDraftPublishError",this.issues=t}};function as(t){let a=t.now??new Date().toISOString(),r=t.id?.trim()||`taskset-draft-${globalThis.crypto.randomUUID()}`;return Ee.parse({schemaVersion:"openpond.tasksetDraft.v1",id:r,revision:1,profileId:t.profileId,modelScope:t.modelScope??null,name:t.name?.trim()??"",objective:"",purpose:"general",benchmark:null,preferenceComparison:null,status:"draft",sourceRefs:[],datasetArtifact:null,policy:{policyVisibleFields:["input"],privilegedFields:["expectedOutput"],hiddenGraderRefs:[],connectedAppScopes:[]},environment:{protocolVersion:"openpond.taskEnvironment.v1",kind:"chat",entrypoint:"openpond-chat-v1",stateful:!1,deterministicSeeds:!0,toolNames:[],lifecycle:["create","reset","step","grade","cleanup"],defaultTimeoutMs:12e4,networkPolicy:"none",resources:[],metadata:{}},output:{mode:"text",jsonSchema:null,renderer:null},capabilities:{schemaVersion:"openpond.tasksetCapabilities.v1",taskKind:"chat",supportedSignals:["demonstration","preference","correction","feedback","reward","label"],compatibleMethods:["none"],rewardKinds:["none"],requiresTools:!1,requiresState:!1,requiresPrivilegedGrading:!0,environmentPlacements:["local","remote","colocated"],exportable:!0,portabilityBlockers:[]},metrics:{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"score",aggregation:"mean_score",missingReward:"zero",customAggregator:null},review:{enabled:!1,candidateCount:2,minimumSamples:100,allowTies:!0,allowRejectAll:!0,rubric:"",criteria:[]},tasks:[],graders:[],graderFixtures:[],learningSignals:{demonstrations:[],preferences:[],corrections:[],feedback:[],rewards:[],labels:[]},publishedTasksetRef:null,createdAt:a,updatedAt:a,metadata:{}})}c(as,"createTasksetDraft");function Wd(t){let a=[];t.name.trim()||a.push({code:"name_missing",message:"Name is required.",path:"name"}),t.objective.trim()||a.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!t.datasetArtifact&&t.tasks.length===0&&a.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"}),t.graders.length===0&&a.push({code:"graders_missing",message:"Add at least one grader.",path:"graders"}),!(t.graders.length>0&&t.graders.every(i=>i.kind==="human"))&&t.graderFixtures.length===0&&a.push({code:"grader_fixtures_missing",message:"Add grader fixtures before publishing.",path:"graderFixtures"});let n=new Set(t.sourceRefs.map(i=>i.id));for(let i of t.tasks)for(let s of i.sourceRefs)n.has(s)||a.push({code:"task_source_missing",message:`Task ${i.id} references missing source ${s}.`,path:`tasks.${i.id}.sourceRefs`});return a}c(Wd,"draftPublishIssues");function Of(t,a=new Date().toISOString()){let r=ee.parse(t);return Ee.parse({schemaVersion:"openpond.tasksetDraft.v1",id:`${r.id}-draft`,revision:1,profileId:r.profileId,name:r.name,objective:r.objective,purpose:r.purpose,benchmark:r.benchmark,preferenceComparison:r.preferenceComparison,status:"draft",sourceRefs:r.sourceRefs,datasetArtifact:r.datasetArtifact??null,policy:r.policy,environment:r.environment,output:Zd(r.metadata),capabilities:r.capabilities,metrics:r.metrics??{schemaVersion:"openpond.tasksetMetricPolicy.v1",primaryMetric:"score",aggregation:"mean_score",missingReward:"zero",customAggregator:null},review:{enabled:!!r.preferenceComparison,candidateCount:2,minimumSamples:100,allowTies:!0,allowRejectAll:!0,rubric:"",criteria:[]},tasks:r.tasks,graders:r.graders,graderFixtures:r.graderFixtures,learningSignals:r.learningSignals,publishedTasksetRef:{id:r.id,revision:r.revision,contentHash:r.contentHash},createdAt:a,updatedAt:a,metadata:{...r.metadata,importedFromTaskset:{id:r.id,revision:r.revision,contentHash:r.contentHash}}})}c(Of,"tasksetDraftFromTaskset");function Yd(t){let a=Ee.parse(t.draft),r=t.now??new Date().toISOString(),n=Wd(a);if(n.length)throw new Ji(n);let i=a.modelScope?.source;if(i&&t.tasksetId&&t.tasksetId!==i.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let s=i?.tasksetId||t.tasksetId?.trim()||a.publishedTasksetRef?.id||a.id.replace(/-draft$/,""),o=i?.tasksetRevision??(a.publishedTasksetRef?.id===s?a.publishedTasksetRef.revision+1:1),l=a.sourceRefs.length?a.sourceRefs:[Xd(a,s,r)],u=l[0].id,d=a.tasks.map(T=>Kt.parse({...T,sourceRefs:T.sourceRefs.length?T.sourceRefs:[u],metadata:{exampleOrigin:"expert_authored",...T.metadata}})),m=a.capabilities.compatibleMethods.find(T=>T!=="none"&&T!=="retrieval")??null,p=Qd(a),h=a.graders.filter(T=>T.rewardEligible&&T.weight>0&&T.kind!=="human"),g=m===null&&p==="verifiable_reward"&&h.length>0,v=m??(g?"grpo":null),w=ee.parse({schemaVersion:"openpond.taskset.v1",id:s,revision:o,profileId:a.profileId,profileRelease:null,createImproveRunId:null,name:a.name,objective:a.objective,purpose:a.purpose,benchmark:a.benchmark,preferenceComparison:a.preferenceComparison,status:"needs_review",sourceRefs:l,datasetArtifact:a.datasetArtifact??null,policy:a.policy,environment:a.environment,capabilities:g?{...a.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(h.map(T=>T.kind==="model_judge"?"model_judge":"deterministic"))]}:a.capabilities,metrics:a.metrics,tasks:d,graders:a.graders,graderFixtures:a.graderFixtures,learningSignals:a.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:f("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:p,buildSpecification:null,evidenceHashes:l.map(T=>T.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:r},readiness:null,contentHash:"00000000",createdAt:o===1?a.createdAt:r,updatedAt:r,metadata:{...a.metadata,...i?{modelTasksetAuthoring:i.lineage}:{},tasksetReviewPolicy:a.review,tasksetOutputContract:a.output,...t.sourcePackageHash?{sourcePackageHash:t.sourcePackageHash}:{},...v?{trainingMethod:v}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:a.objective,stableBehavior:[a.objective],changingKnowledge:[],requiredContext:[],requiredTools:a.environment.toolNames,intervention:v==="dpo"?"preference":v==="grpo"||v==="ppo"?"grpo_rft":v==="sft"?"sft":"no_training",trainingEligible:v!==null,rationale:v?[`The author selected ${v.toUpperCase()} compatibility.`]:["The Taskset is currently configured for evaluation only."],confidence:1}}}),I=ee.parse({...w,contentHash:pt(w)}),_=Li(I).issues.filter(T=>T.severity==="error");if(_.length)throw new Ji(_.map(T=>({code:T.code,message:T.message,path:T.path})));return I}c(Yd,"publishTasksetDraft");function Xd(t,a,r){let n=f({draftId:t.id,draftRevision:t.revision,tasks:t.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${a}`,profileId:t.profileId,title:`${t.name} manual authoring`,sourceHash:n,occurredAt:r,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:n,metadata:{draftId:t.id,draftRevision:t.revision}}}c(Xd,"generatedDraftSource");function Qd(t){return t.learningSignals.preferences.length?"preferences":t.learningSignals.rewards.length?"verifiable_reward":t.learningSignals.labels.length?"rubric":!t.capabilities.compatibleMethods.some(a=>a!=="none"&&a!=="retrieval")&&t.graders.some(a=>a.rewardEligible&&a.weight>0&&a.kind!=="human")?"verifiable_reward":"demonstrations"}c(Qd,"buildIntentForDraft");function Zd(t){let a=t.tasksetOutputContract;return a&&typeof a=="object"&&!Array.isArray(a)?a:{mode:"text",jsonSchema:null,renderer:null}}c(Zd,"tasksetOutputContract");function is(t,a){let r=t.metadata.learning===void 0?null:nr.parse(t.metadata.learning),n=t.metadata.rewardExecution,i=a??(n?{binding:Ae.parse(n.binding),rewards:at.array().parse(n.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let s=t.metadata.rewardBinding;if(!i||!s||s.id!==i.binding.id||s.revision!==i.binding.revision||s.contentHash!==i.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return i&&ae(i.binding,i.rewards),i?{binding:i.binding,rewards:i.rewards}:null}c(is,"resolvePortableTasksetRewardExecution");function Lr(t){let a=ss(t.taskset),r=os(t.taskset),n=t.taskset.metadata.learning===void 0?null:nr.parse(t.taskset.metadata.learning),i=t.taskset.metadata.rewardExecution,s=is(t.taskset,t.rewardExecution),o=s?ae(s.binding,s.rewards):t.taskset.graders.map(tl),l=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!l.length)throw new Error("A portable Taskset release requires at least one task.");let u=t.taskset.environment.metadata.portableExecutionResources;if(a.entrypoint==="openpond.javascript-environment.v1"&&!u)throw new Error("Tool Taskset publication requires its pinned execution resources.");let d=u?Ue.parse(u.environment):kt({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]:f({adapterId:t.adapterId,environment:a,tools:r})},metadata:{sourceTasksetId:t.taskset.id,sourcePackageHash:t.taskset.metadata.sourcePackageHash??null,resources:t.taskset.environment.resources??[]}}),m=u?.verifierSet!==void 0?Ge.parse(u.verifierSet):St({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(!Je(d)||!Ke(m)||f(d.contract)!==f(a)||f(m.graders)!==f(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let p=mn.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:al(t.taskset),tasks:l.map(Wa),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??[],ordinaryAuthoring:{instructions:t.taskset.objective,graderFixtures:t.taskset.graderFixtures,judgeCalibrationFixtures:Object.fromEntries(t.taskset.graders.filter(v=>v.kind==="model_judge").map(v=>[v.id,v.calibrationFixtureRefs]))},...n?{learning:n}:{},...s&&!n&&(t.rewardExecution||i)?{rewardExecution:{binding:s.binding,rewards:s.rewards}}:{}}}),h=t.admittedTasksetRelease?pe.parse(t.admittedTasksetRelease):pe.parse({...p,contentHash:f(p)}),g=h.environmentRelease?rl({draft:h,environmentRelease:d,verifierSetRelease:m}):$n({taskset:h,environment:d,verifierSet:m});return{environmentRelease:d,verifierSetRelease:m,tasksetRelease:g}}c(Lr,"materializePortableTasksetRelease");function Fr(t){return ss(t)}c(Fr,"portableTasksetEnvironment");function el(t){return os(t)}c(el,"portableTasksetTools");function Wa(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=Bt.parse(a),n=Bt.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:rs(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.map(i=>{let s=r.artifactRefs.find(o=>o.id===i.id);return{id:i.id,path:s?.path??`tasks/${At(t.id)}/${At(i.fileName)}`,contentHash:zr(i.sha256),sizeBytes:i.sizeBytes,mediaType:i.mediaType,visibility:s?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(i=>{let s=r.requiredOutputs?.find(o=>o.path===i.path);return{path:i.path,mediaType:i.mediaType,schemaRef:s?.schemaRef&&s.schemaRef.id===i.schemaRef?s.schemaRef:null,maxBytes:i.maxBytes??null,metadata:{...i.metadata,...i.schemaRef&&s?.schemaRef?.id!==i.schemaRef?{legacySchemaRef:i.schemaRef}:{}}}})});return n.requiredOutputs===void 0&&delete n.requiredOutputs,n}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:rs(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${At(t.id)}/${At(r.fileName)}`,contentHash:zr(r.sha256),sizeBytes:r.sizeBytes,mediaType:r.mediaType,visibility:"policy"})),requiredOutputs:(t.requiredOutputs??[]).map(r=>({path:r.path,mediaType:r.mediaType,schemaRef:null,maxBytes:r.maxBytes??null,metadata:{...r.metadata,legacySchemaRef:r.schemaRef??null}})),tags:t.tags}}c(Wa,"projectPortableTaskRecord");function rs(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}c(rs,"portableExpectedOutput");function ss(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}}c(ss,"portableEnvironment");function os(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return _a.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:zr(n.actionSchemaHash),sideEffect:n.sideEffect,timeoutMs:n.timeoutMs})):t.environment.toolNames.map(n=>({name:n,description:`Host-provided ${n} tool.`,inputSchema:{},inputSchemaHash:f({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}c(os,"portableTools");function tl(t){let a={id:t.id,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:ns(t),model:nl(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=ar.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:W.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...n?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:ns(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...nn(t)}}c(tl,"portableGrader");function al(t){let a=t.metadata.portableCapabilities;return a!==void 0?br.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-${At(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}c(al,"portableCapabilities");function rl(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(f(t.draft.environment)!==f(t.environmentRelease.contract))throw new Error("Admitted Taskset Environment differs from its bound Environment Release.");if(f(t.draft.graders)!==f(t.verifierSetRelease.graders))throw new Error("Admitted Taskset graders differ from its bound Verifier Set Release.");return t.draft}c(rl,"assertReleaseBindings");function nl(t){let a=t.metadata.portableGrader===void 0?null:ar.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}}c(nl,"modelJudgeRef");function ns(t){let a=G(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,n=t.metadata.portableRubricRef;if(n!==void 0){let i=W.parse(n);if(i.contentHash!==a||i.sizeBytes!==r||i.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return i}return{id:`rubric-${t.id}`,path:`graders/${At(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}c(ns,"rubricAsset");function zr(t){return/^[a-f0-9]{64}$/.test(t)?t:f(t)}c(zr,"hash");function At(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}c(At,"segment");function il(t){let a=X(t.source),r=X(t.edited),n=t.preparation;if(n.authoringGraph!=="bound"||!a.modelResources||a.learningResources||r.modelResources||r.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(a.contentHash!==n.sourcePackageHash||!U(x(a.taskset),n.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=c(B=>B.taskset.graders.map(Re=>Re.kind==="custom_verifier"?{...Re,exportName:Re.exportName??"verify"}:Re),"normalizedGraders");if(f(i(a))!==f(i(r)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let s=a.modelResources,o=new Map(s.assets.map(B=>[B.id,B])),l=Xe(r),u=Xe(a),d=c(B=>{let{id:Re,revision:Qa,contentHash:Za,metadata:er,...Ns}=B,{javascriptEnvironment:Dm,...an}=er;return{...Ns,metadata:{...an,resources:an.resources??[]}}},"environmentContent"),m=c(B=>{if(!B)return null;let{id:Re,revision:Qa,contentHash:Za,...er}=B.execution.javascript;return er},"javascriptContent"),p=f(d(a.environment))===f(d(r.environment))&&f(m(u))===f(m(l)),h=p?a.environment:r.environment,g=p?u:l,v=new Set([...s.assets.map(B=>B.id),...r.taskset.tasks.flatMap(B=>B.privilegedContextRef?[B.privilegedContextRef]:[]),...[r.environment.actionSchemaRef,r.environment.observationSchemaRef,r.environment.stateSchemaRef].flatMap(B=>B?[B.id]:[]),...l?.assets.map(B=>B.id)??[]]);for(let B of v){let Re=r.files.find(Za=>Za.asset.id===B);if(!Re)throw new Error(`Bound Taskset asset is missing: ${B}.`);let Qa=new TextDecoder("utf-8",{fatal:!0}).decode(be(Re));o.set(B,Te.parse(C({schemaVersion:"openpond.learningTextAsset.v1",id:B,revision:1,asset:Re.asset,text:Qa})))}let w=ut(r),{contentHash:I,...L}=s.taskDefinition,{policy:_,environment:T,environmentRelease:ie,tools:le,capabilities:k,verifierSetRelease:j}=r.taskset,P=re.parse(C({...L,instructions:w,execution:{policy:_,environment:T,environmentRelease:ie,tools:le,capabilities:k,verifierSetRelease:j}})),{contentHash:J,...y}=r.taskset,z=pe.parse(C({...y,tasks:r.taskset.tasks.map(B=>s.instructionMode==="per_task"?B:{...B,policyVisibleContext:{...B.policyVisibleContext,instructions:w}})})),me=Yt({owner:n.lineage.owner,source:{...s,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:s.rewardBinding,rewards:s.rewards,assets:[...o.values()],edits:{taskset:z,taskDefinition:P,executionResources:{environment:h,verifierSet:r.verifierSet},...g?{execution:g.execution}:{}}}),Fe=Hr.parse(me.taskset.metadata.modelTasksetDerivation);if(me.taskset.id!==n.tasksetId||me.taskset.revision!==n.tasksetRevision||f({...Fe,schemaVersion:n.lineage.schemaVersion})!==f(n.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:Xa,executionResources:Ls,...Fs}=me;return jt({schemaVersion:"openpond.tasksetPackage.v1",taskset:Xa,...Ls,modelResources:Fs,files:r.files})}c(il,"publishBoundModelTasksetDraftPackage");function sl(t){let a=or.parse(t.request),r=ba.parse(t.owner),n=X(t.source);if(n.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(n.contentHash!==a.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(n.modelResources){let u=Ci({owner:r,source:{...n.modelResources,taskset:n.taskset,executionResources:{environment:n.environment,verifierSet:n.verifierSet}},rewardBinding:n.modelResources.rewardBinding,rewards:n.modelResources.rewards,assets:n.modelResources.assets}),d=u.taskset.metadata.modelTasksetDerivation;return Ce.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${f({owner:r,operationId:a.operationId})}`,requestHash:f(a),sourcePackageHash:n.contentHash,sourceTasksetRef:x(n.taskset),tasksetId:u.taskset.id,tasksetRevision:u.taskset.revision,lineage:{...d,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=Cr(n.taskset),s=i&&f(i.owner)===f(r),o=s?i.root:x(n.taskset),l={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:r,root:o,parent:x(n.taskset)};return Ce.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${f({owner:r,operationId:a.operationId})}`,requestHash:f(a),sourcePackageHash:n.contentHash,sourceTasksetRef:x(n.taskset),tasksetId:Ar(l),tasksetRevision:s?n.taskset.revision+1:1,lineage:l})}c(sl,"prepareModelTasksetDraft");function ol(t){let a=Ce.parse(t.preparation);if(!U(a.sourceTasksetRef,a.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(a.authoringGraph==="bound"){if(!t.source)throw new Error("Bound Taskset authoring requires its retained source package.");return il({preparation:a,source:t.source,edited:t.edited})}let r=cl(t.edited),{contentHash:n,...i}=r.verifierSet,s=St({...i,id:`${a.tasksetId}-verifiers`,revision:a.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:x(r.verifierSet)}}),{contentHash:o,...l}=r.taskset,u=pe.parse(C({...l,id:a.tasksetId,revision:a.tasksetRevision,verifierSetRelease:{id:s.id,contentHash:s.contentHash},metadata:{modelTasksetAuthoring:a.lineage,...r.taskset.metadata.environmentResources===void 0?{}:{environmentResources:r.taskset.metadata.environmentResources},...r.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:r.taskset.metadata.ordinaryAuthoring}}})),d=Xe(r),m=d?[...r.files.filter(p=>p.asset.id!==Wt(r.taskset)),La({...d.execution,verifierSet:s})]:r.files;return jt({schemaVersion:"openpond.tasksetPackage.v1",taskset:u,environment:r.environment,verifierSet:s,files:m})}c(ol,"publishModelTasksetDraftPackage");function cl(t){let a=X(t);if(a.modelResources||a.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return a}c(cl,"requireOrdinaryPackage");function dl(t,a,r,n){if(t.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:t,inventory:r,generatedFiles:[]};let i="environment/execution.json",s=a.get(i);if(!s||s.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let o=ct.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(s))),l=c(L=>{if(!L)return null;let _=r.find(T=>T.asset.id===L.id&&T.asset.path===L.path);if(!_)throw new Error(`Authored environment dependency is missing: ${L.id}.`);return _.asset},"repin"),{contentHash:u,...d}=o.javascript,m=va.parse(C({...d,id:`javascript-${t.id}`,revision:t.revision,module:l(o.javascript.module)}));if(f(m.tools)!==f(t.environment.metadata.portableTools)||f(m.tools.map(L=>L.name))!==f(t.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let p=kt({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${t.id}`,revision:t.revision,contract:Fr(t),actionSchemaRef:l(o.environment.actionSchemaRef),observationSchemaRef:l(o.environment.observationSchemaRef),stateSchemaRef:l(o.environment.stateSchemaRef),artifactCollection:o.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:x(m),resources:t.environment.resources??[]}}),h=ee.parse({...t,environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:p}}}}),g=Lr({taskset:h,adapterId:n}),v=La({javascript:m,environment:p,verifierSet:g.verifierSetRelease}),w=[...r.filter(L=>L.sourcePath!==i),{asset:v.asset,sourcePath:i}],I=ee.parse({...h,metadata:{...h.metadata,portableFileInventory:w}});return{taskset:ee.parse({...I,contentHash:pt(I)}),inventory:w,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(be(v))}]}}c(dl,"prepareAuthoredToolEnvironment");var ea=e.array(e.object({asset:W,sourcePath:e.string().min(1)}).strict()).max(1e4),ll=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function ml(t){return ll.has(t)}c(ml,"isGeneratedTasksetPublicationFilePath");function ul(t,a,r){let n=ee.parse(t);if(n.metadata.taskDefinition!==void 0||n.metadata.rewardBinding!==void 0)return{taskset:n,generatedFiles:[]};let i=new Map,s=0;for(let[k,j]of a){if(oe.parse(k),s+=j.byteLength,i.size>=1e4||s>ze*3/4)throw new Error("Taskset source exceeds the package byte limit.");i.set(k,j.slice())}let o=n.metrics?.customAggregator,l=o?i.get(o.module):void 0;if(o&&!l)throw new Error("Declared Taskset metric module is missing.");let u=o&&l?{...n.metrics,customAggregator:{...o,contentHash:G(l)}}:n.metrics,d=new Map,m=new Set,p=[],h=c((k,j,P,J)=>{let y=i.get(j);if(!y)throw new Error(`Declared Taskset file is missing: ${j}.`);return{id:k,path:j,contentHash:G(y),sizeBytes:y.byteLength,mediaType:P,visibility:J}},"ref"),g=c((k,j=k.path)=>{let P=d.get(k.id);if(P&&f(P)!==f({asset:k,sourcePath:j}))throw new Error(`Conflicting Taskset file identity: ${k.id}.`);let J=i.get(j);if(!J||J.length!==k.sizeBytes||G(J)!==k.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${k.id}.`);d.set(k.id,{asset:k,sourcePath:j}),m.add(j)},"add");for(let k of n.tasks){let j=Wa(k);for(let P of j.artifactRefs)g(P,k.assets?.find(J=>J.id===P.id)?.artifactRef??P.path);for(let P of j.requiredOutputs??[])P.schemaRef&&g(P.schemaRef)}for(let k of n.environment.resources??[])g(h(k.id,k.path,k.mediaType??"application/octet-stream",k.visibility==="policy_visible"?"policy":"host_private"));let v=n.graders.map(k=>{if(k.kind==="custom_verifier"){let j=h(`verifier-${k.id}`,k.module,"application/javascript","host_private"),P=W.safeParse(k.metadata.portableVerifierRef);return P.success&&P.data.contentHash===j.contentHash&&P.data.sizeBytes===j.sizeBytes&&(j=P.data),g(j,k.module),{...k,metadata:{...k.metadata,portableVerifierRef:j}}}if(k.kind==="human"||k.kind==="model_judge"){let j=new TextEncoder().encode(k.rubric),P=`graders/rubric-${G(j)}.md`;i.set(P,j);let J=h(`rubric-${k.id}`,P,"text/markdown","verifier"),y=W.safeParse(k.metadata.portableRubricRef);if(y.success&&y.data.contentHash===J.contentHash&&y.data.sizeBytes===J.sizeBytes){if(y.data.visibility==="policy")throw new Error("A grader rubric cannot become policy-visible.");J=y.data}return g(J,P),p.push({path:P,role:"verifier",content:k.rubric}),{...k,metadata:{...k.metadata,portableRubricRef:J}}}return k});o&&![...d.values()].some(k=>k.asset.path===o.module&&k.sourcePath===o.module&&k.asset.visibility!=="policy")&&g(h(`metric-${f(o.module)}`,o.module,"application/javascript","host_private"));let w=ea.parse(n.metadata.portableFileInventory??[]);for(let k of[...i.keys()].sort())if(!m.has(k)){let j=w.find(P=>P.sourcePath===k&&!d.has(P.asset.id));g(j?{...h(j.asset.id,k,j.asset.mediaType,j.asset.visibility),path:j.asset.path}:h(`taskset-file-${f(k)}`,k,"application/octet-stream","host_private"),k)}let{importedPackageHash:I,derivedPortableMetadata:L,..._}=n.metadata,T={...n.environment.metadata};if(T.portableExecutionResources!==void 0){let k=e.object({environment:e.unknown(),verifierSet:e.unknown().optional()}).parse(T.portableExecutionResources);T.portableExecutionResources={environment:k.environment}}let ie=ee.parse({...n,graders:v,metrics:u,environment:{...n.environment,metadata:T},metadata:{..._,...I===void 0?{}:{sourceImportedPackageHash:I},portableFileInventory:ea.parse([...d.values()].sort((k,j)=>k.asset.id.localeCompare(j.asset.id)))}}),le=dl(ie,i,[...d.values()],r);return{taskset:ee.parse({...le.taskset,contentHash:pt(le.taskset)}),generatedFiles:[...p,...le.generatedFiles]}}c(ul,"prepareAuthoredTasksetSource");function pl(t){let a=X(t.source);if(a.modelResources||a.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let r=ut(a);if(!r.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let n=new Map,i=Xe(a);for(let _ of i?.assets??[])n.set(_.id,_);let s=new Set([...a.taskset.tasks.flatMap(_=>_.privilegedContextRef?[_.privilegedContextRef]:[]),...[a.environment.actionSchemaRef,a.environment.observationSchemaRef,a.environment.stateSchemaRef].flatMap(_=>_?[_.id]:[])]);for(let _ of s){if(n.has(_))continue;let T=a.files.find(le=>le.asset.id===_);if(!T)throw new Error(`Source Taskset context is missing: ${_}.`);let ie=new TextDecoder("utf-8",{fatal:!0}).decode(be(T));n.set(_,Te.parse(C({schemaVersion:"openpond.learningTextAsset.v1",id:_,revision:1,asset:T.asset,text:ie})))}for(let _ of t.assets){let T=a.files.find(ie=>ie.asset.id===_.id);if(T&&C({asset:T.asset}).contentHash!==C({asset:_.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${_.id}.`);n.set(_.id,_)}let{policy:o,environment:l,environmentRelease:u,tools:d,capabilities:m,verifierSetRelease:p}=a.taskset,h=re.parse(C({schemaVersion:"openpond.taskDefinition.v1",id:`${a.taskset.id}-definition`,revision:1,name:a.taskset.id,description:"",instructions:r,category:"custom",familyNamespace:a.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:x(t.rewardBinding),harness:null,execution:{policy:o,environment:l,environmentRelease:u,tools:d,capabilities:m,verifierSetRelease:p}})),g=Yt({...t,assets:[...n.values()],source:{taskset:a.taskset,taskDefinition:h,instructionMode:"per_task",executionResources:{environment:a.environment,verifierSet:a.verifierSet},...i?{execution:i.execution}:{}}}),v=new Map(a.files.map(_=>[_.asset.id,_]));for(let _ of g.assets){let T="";for(let ie of new TextEncoder().encode(_.text))T+=String.fromCharCode(ie);v.set(_.id,{asset:_.asset,base64:btoa(T)})}let{taskset:w,executionResources:I,...L}=g;return jt({schemaVersion:"openpond.tasksetPackage.v1",taskset:w,...I,modelResources:L,files:[...v.values()]})}c(pl,"bindOrdinaryModelTasksetReward");function fl(t){let{request:a,package:r}=t,n=r.learningResources;if(!n)throw new ue("model_review_batch_required",422);let i=se(r.taskset),s=`model-review-${f([t.scope,a.modelId,a.operationId])}`,o=new Map(a.examples.map(y=>[f(y.evidence),y])),l=new Set(n.evidence.map(y=>f(x(y)))),u=new Map(n.decisions.map(y=>[f(y.evidence),y]));if(o.size!==a.examples.length||a.examples.some(y=>!l.has(f(y.evidence))))throw new ue("model_review_evidence_mismatch",409);for(let y of[t.binding,...t.rewards,...t.assets])bt(y);la(t.binding,t.rewards);let d=new Map;for(let y of t.binding.sources){let z=t.rewards.find(Xa=>U(x(Xa),y.reward)),{contentHash:me,...Fe}=z;d.set(z.contentHash,hn({...Fe,id:`${s}-reward-${z.contentHash}`,revision:1}))}let m=[...d.values()],{contentHash:p,recipeRef:h,...g}=t.binding,v=da({...g,id:`${s}-binding`,revision:1,sources:t.binding.sources.map(y=>({...y,reward:x(d.get(y.reward.contentHash))}))},m),w=m.flatMap(y=>[...y.assets,..."verifierRef"in y.implementation?[y.implementation.verifierRef]:[],..."rubricRef"in y.implementation?[y.implementation.rubricRef]:[],..."inputContract"in y.implementation?[y.implementation.inputContract]:[]]),I=[...new Map(w.map(y=>{let z=t.assets.find(me=>me.id===y.id);if(!z)throw new ue("model_review_reward_asset_missing",422);if(K(z,y),y.visibility==="policy")throw new ue("reward_asset_visibility_invalid",422);return[z.id,z]})).values()],{environmentRelease:L,verifierSetRelease:_,...T}=i.definition.execution,{contentHash:ie,...le}=i.definition,k=re.parse(C({...le,...a.definition,id:`${s}-definition`,revision:1,rewardBinding:x(v),execution:{...T,policy:{...T.policy,hiddenGraderRefs:ae(v,m).filter(y=>y.privileged).map(y=>y.id)}}})),j=Ne.parse(C({schemaVersion:"openpond.learningSource.v1",id:s,revision:1,name:`${k.name} review`,kind:"direct",taskDefinition:x(k),enabled:!0,allowedSplits:[...new Set(n.evidence.map(y=>y.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:a.modelId,packageHash:r.contentHash,taskset:x(r.taskset),batch:x(n.batch),rewardBinding:x(t.binding)}})),P=n.evidence.map(y=>{let z=o.get(f(x(y))),me=`review-${y.contentHash}`,Fe=f({instructions:k.instructions,inputSchema:k.inputSchema,outputSchema:k.outputSchema,requiredOutputs:k.requiredOutputs??[],input:z?.input??y.submission.input})!==f({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:y.submission.input});return nt.parse(C({schemaVersion:"openpond.taskEvidence.v1",id:_n(j.id,y.submission.exampleId,me),revision:1,source:x(j),submission:{...y.submission,sourceId:j.id,taskDefinition:x(k),attemptId:me,observedOutput:Fe?null:y.submission.observedOutput,idempotencyKey:`${s}-${y.contentHash}`,...z?.input===void 0?{}:{input:z.input},...z?.expected===void 0?{}:{expected:z.expected},...z?.evaluatorContext===void 0?{}:{evaluatorContext:z.evaluatorContext}},supersedes:x(y),correctionFeedbackId:null,receivedAt:t.now}))}),J=P.flatMap(y=>{let z=o.get(f(y.supersedes)),me=u.get(f(y.supersedes)),Fe=z?.proposedTarget===void 0?me.approvedTarget:z.proposedTarget;return Fe===null?[]:[fa.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${f([s,y.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:j.id,idempotencyKey:`${s}-${y.id}`,exampleId:y.submission.exampleId,attemptId:y.submission.attemptId,expectedEvidenceHash:y.contentHash,occurredAt:t.now,kind:"target_correction",value:Fe,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:x(y),createdAt:t.now,review:null})]});return{source:j,definition:k,binding:v,rewards:m,assets:I,evidence:P,proposals:J}}c(fl,"prepareModelBatchReview");var cs=c(t=>`model-batch-review-${f([t.modelId,t.operationId])}`,"operation");function hl(t){let a=X(t);if(!a.learningResources)throw new ue("model_review_batch_required",422);let r=se(a.taskset);return qr.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:a.contentHash,definition:r.definition,binding:r.binding,evidence:a.learningResources.evidence,decisions:a.learningResources.decisions})}c(hl,"inspectModelBatchPackage");async function ds(t,a){let r=Na.parse(a),n=await t.operation(cs(r));if(!n)return null;if(n.requestHash!==f(r))throw new ue("learning_idempotency_conflict",409);return ls(t,r,n.resources)}c(ds,"findModelBatchReview");async function gl(t,a){let r=Na.parse(a.request),n=await ds(t,r);if(n)return n;let i=X(a.package);if(!i.learningResources)throw new ue("model_review_batch_required",422);let s=se(i.taskset),o=r.rewardBindingRef,l=!o||U(o,x(s.binding)),u=l?s.binding:await sr(t,"binding",o),d=l?s.rewards:await Promise.all(u.sources.map(v=>sr(t,"reward",v.reward))),m=new Set(d.flatMap(v=>[...v.assets,..."verifierRef"in v.implementation?[v.implementation.verifierRef]:[],..."rubricRef"in v.implementation?[v.implementation.rubricRef]:[],..."inputContract"in v.implementation?[v.implementation.inputContract]:[]]).map(v=>v.id)),p=l?i.learningResources.assets:await Promise.all([...m].map(v=>ir(t,"asset",v,1))),h=fl({...a,request:r,package:i,binding:u,rewards:d,assets:p}),g=[];for(let v of h.assets){let w=await t.get("asset",v.id,1);if(w&&w.contentHash!==v.contentHash)throw new ue("model_review_asset_conflict",409);w||await t.put("asset",v,0)}for(let v of h.rewards)await t.put("reward",v,0);await t.put("binding",h.binding,0),await t.put("definition",h.definition,0),await t.put("source",h.source,0,{parentId:r.modelId}),g.push({kind:"source",id:h.source.id,revision:1});for(let v of h.evidence)await t.put("evidence",v,0,{parentId:h.source.id}),g.push({kind:"evidence",id:v.id,revision:1});for(let v of h.proposals)await t.put("feedback",v,0,{parentId:v.evidence.id,status:v.status}),g.push({kind:"feedback",id:v.id,revision:1});return await t.saveOperation(cs(r),{requestHash:f(r),resources:g}),ls(t,r,g)}c(gl,"beginModelBatchReview");async function ls(t,a,r){let n=await Promise.all(r.map(i=>ir(t,i.kind,i.id,i.revision)));return Dr.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:a.operationId,modelId:a.modelId,source:n.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:n.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:n.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}c(ls,"readReceipt");function vl(t){let a=X(t.package),r=a.taskset,n=a.modelResources,i=a.learningResources?se(r):void 0,s=_t.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${f({profileId:t.profileId,packageHash:a.contentHash})}`,profileId:t.profileId,title:t.name,sourceHash:a.contentHash,occurredAt:t.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[a.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(a)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),o=as({profileId:t.profileId,id:`${r.id}-import`,name:t.name,now:t.createdAt}),l=[];for(let h of r.graders)if(h.kind==="custom_verifier"){let g=n?.assets.find(I=>I.id===h.verifierRef.id),v=a.files.find(I=>I.asset.id===h.verifierRef.id);if(!v)throw new Error(`Imported verifier source is missing: ${h.id}.`);let w=Xt(h.verifierRef.contentHash);l.some(I=>I.path===w)||l.push({path:w,role:"verifier",content:g?K(g,h.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(be(v))})}let u=r.metadata.ordinaryAuthoring??r.metadata.starterAuthoring,d=lt.array().max(1e5).parse(u?.graderFixtures??[]),m=r.environment.kind==="text"?"chat":r.environment.kind==="custom_program"?"program":r.environment.kind,p=ee.parse({schemaVersion:"openpond.taskset.v1",id:r.id,revision:r.revision,profileId:t.profileId,profileRelease:null,createImproveRunId:null,name:t.name,objective:ut(a),status:"needs_review",sourceRefs:[s],datasetArtifact:null,policy:r.policy,environment:{...o.environment,kind:m,entrypoint:r.environment.entrypoint,resources:Ir.array().max(1e4).parse(r.metadata.environmentResources??[]),stateful:r.environment.stateful,deterministicSeeds:r.environment.deterministicSeeds,toolNames:r.tools.map(h=>h.name),defaultTimeoutMs:r.environment.defaultTimeoutMs,networkPolicy:r.environment.networkPolicy,metadata:{runtimeSourceTasksetId:ms(t.profileId,a.contentHash),portableEnvironment:r.environment,portableTools:r.tools,portableExecutionResources:{environment:a.environment,verifierSet:a.verifierSet}}},capabilities:{...o.capabilities,taskKind:m==="chat"?"chat":m==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:r.tools.length>0,requiresState:r.environment.stateful,rewardKinds:[...new Set(r.graders.map(h=>h.kind==="human"?"human":h.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:r.tasks.map(h=>({...h,schemaVersion:"openpond.taskData.v1",sourceRefs:[s.id],assets:h.artifactRefs.map(g=>({id:g.id,sourceRefId:s.id,artifactRef:g.path,fileName:g.path.split("/").at(-1),mediaType:g.mediaType,sha256:g.contentHash,sizeBytes:g.sizeBytes,split:h.split,metadata:{portableAsset:g}})),...h.requiredOutputs?{requiredOutputs:h.requiredOutputs.map(g=>({...g,schemaRef:g.schemaRef?.id??null,maxBytes:g.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:h,exampleOrigin:"imported"}})),graders:n?Ua(n.rewardBinding,n.rewards,n.assets):i?Ua(i.binding,i.rewards,a.learningResources.assets):Bi(a),graderFixtures:d,learningSignals:o.learningSignals,...r.metrics?{metrics:r.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:f("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[a.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:t.createdAt},readiness:null,contentHash:"00000000",createdAt:t.createdAt,updatedAt:t.createdAt,metadata:{importedPackageHash:a.contentHash,tasksetOutputContract:r.metadata.tasksetOutputContract??null,...i?{learning:i}:{},portableFileInventory:a.files.map(h=>({asset:h.asset,sourcePath:h.asset.path})),...n?{taskDefinition:x(n.taskDefinition),rewardBinding:x(n.rewardBinding),rewardExecution:{binding:n.rewardBinding,rewards:n.rewards}}:{},portableCapabilities:r.capabilities,derivedPortableMetadata:r.metadata,...r.metadata.modelTasksetDerivation?{modelTasksetDerivation:r.metadata.modelTasksetDerivation}:{}}});return{package:a,taskset:ee.parse({...p,contentHash:pt(p)}),generatedFiles:l}}c(vl,"prepareImportedTasksetPackage");function ms(t,a){return`package-${f({profileId:t,packageHash:a})}`}c(ms,"tasksetPackageSourceId");var us=e.object({draft:Ee,filePaths:e.array(e.object({assetId:e.string().min(1),paths:e.array(oe).min(1).max(1e4)}).strict()).max(1e4)}).strict();function bl(t){let a=X(t.source),r=Ee.parse(t.sourceDraft),n=Ce.parse(t.preparation);if(a.contentHash!==n.sourcePackageHash||!U(x(a.taskset),n.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(a.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!a.modelResources!=(n.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=ea.parse(r.metadata.portableFileInventory??[]),s=c(m=>Pt(m)?`source-artifacts/${a.contentHash}/${f(m)}/${m.split("/").at(-1)}`:m,"sourcePath");if([...r.tasks.flatMap(m=>(m.assets??[]).map(p=>p.artifactRef)),...(r.environment.resources??[]).map(m=>m.path),...a.taskset.tasks.flatMap(m=>(m.requiredOutputs??[]).flatMap(p=>p.schemaRef?[p.schemaRef.path]:[])),...r.metrics.customAggregator?[r.metrics.customAggregator.module]:[],...r.graders.flatMap(m=>m.kind==="custom_verifier"?[m.module]:[])].some(Pt))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let l=a.files.map(m=>{let p=new Set([m.asset.path]);for(let h of i)h.asset.id===m.asset.id&&p.add(h.sourcePath);for(let h of r.tasks)for(let g of h.assets??[])g.id===m.asset.id&&p.add(g.artifactRef);for(let h of a.taskset.graders)if(h.kind==="custom_verifier"&&h.verifierRef.id===m.asset.id){let g=r.graders.find(v=>v.id===h.id);g?.kind==="custom_verifier"&&p.add(g.module)}return{assetId:m.asset.id,paths:[...p].map(s)}}),u={...r.metadata};if(a.modelResources)for(let m of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete u[m];let d=Ee.parse({...r,id:n.draftId,revision:1,status:"draft",graders:r.graders.map(m=>({...m,metadata:{...m.metadata,portableGrader:a.taskset.graders.find(p=>p.id===m.id)}})),environment:{...r.environment,metadata:{...r.environment.metadata,portableExecutionResources:{environment:a.environment}}},modelScope:{modelId:n.lineage.owner.modelId,expectedModelRevision:t.expectedModelRevision,source:n},publishedTasksetRef:n.tasksetRevision>1?n.sourceTasksetRef:null,metadata:{...u,modelTasksetAuthoring:n.lineage,portableFileInventory:i.map(m=>({...m,sourcePath:s(m.sourcePath),asset:{...m.asset,id:Pt(m.sourcePath)?`source-artifact-${f({packageHash:a.contentHash,assetId:m.asset.id})}`:m.asset.id,path:s(m.asset.path)}}))}});return us.parse({draft:d,filePaths:l})}c(bl,"prepareTasksetDraftSource");var Mt=e.string().trim().min(1).max(500),kl=e.string().regex(/^[a-f0-9]{64}$/),Qe=e.object({id:Mt,revision:e.number().int().positive(),contentHash:kl}).strict(),Nr=e.object({schemaVersion:e.literal("openpond.hostedTasksetSummary.v1"),id:Mt,teamId:Mt,release:Qe,name:e.string().min(1).max(500),description:e.string().max(2e4),taskCount:e.number().int().nonnegative(),buildIntent:e.string().min(1).max(100),methodHint:e.string().min(1).max(100).nullable(),packageBytes:e.number().int().nonnegative().nullable(),storedBytes:e.number().int().nonnegative().nullable(),createdAt:e.string().datetime({offset:!0})}).strict(),Sl=e.object({afterId:e.string().trim().min(1).max(2e3).optional(),limit:e.number().int().min(1).max(100).default(30),modelProjectId:Mt.optional(),projectId:Mt.optional(),search:e.string().trim().max(100).optional(),sort:e.enum(["id","name","updated"]).default("id")}).strict(),yl=e.object({items:e.array(Nr).max(100),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),wl=e.object({code:e.string().min(1),message:e.string().min(1)}).strict(),Ct=class extends Error{static{c(this,"OpenPondTasksetCatalogError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondTasksetCatalogError"}status;code},Ch=class{static{c(this,"OpenPondTasksetCatalogClient")}#e;constructor(t){if(!t.apiKey.trim()||!t.teamId.trim())throw new Error("Taskset API key and workspace are required.");let a=new URL(t.baseUrl);if(!["http:","https:"].includes(a.protocol)||a.username||a.password||a.search||a.hash)throw new Error("Taskset base URL must be an HTTP(S) endpoint without credentials, query, or fragment.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async list(t={},a={}){let r=Sl.parse(t),n=new URLSearchParams({limit:String(r.limit)});r.afterId&&n.set("afterId",r.afterId),r.modelProjectId&&n.set("modelProjectId",r.modelProjectId),r.projectId&&n.set("projectId",r.projectId),r.search!==void 0&&n.set("search",r.search),n.set("sort",r.sort);let i=yl.parse(await this.#t(`?${n}`,a.signal));if(i.items.length>r.limit||new Set(i.items.map(s=>s.id)).size!==i.items.length||i.items.some(s=>s.teamId!==this.#e.teamId))throw new Ct(502,"catalog_scope_mismatch","Taskset inventory did not match the requested workspace or page size.");return i}async get(t,a={}){let r=Mt.parse(t),n=Nr.parse(await this.#t(`/${encodeURIComponent(r)}`,a.signal));if(n.id!==r||n.teamId!==this.#e.teamId)throw new Ct(502,"catalog_identity_mismatch","Taskset metadata did not match the requested identity.");return n}async resolve(t,a={}){let r=Qe.parse(t),n=Nr.parse(await this.#t(`/releases/${encodeURIComponent(r.id)}/${r.revision}/${r.contentHash}`,a.signal));if(n.teamId!==this.#e.teamId||n.release.id!==r.id||n.release.revision!==r.revision||n.release.contentHash!==r.contentHash)throw new Ct(502,"catalog_release_mismatch","Taskset metadata did not match the requested immutable release.");return n}async#t(t,a){let r=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-catalog${t}`,{headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json"},signal:a,redirect:"error"}),n=r.body?.getReader();if(!n)throw new Ct(r.status,"empty_response","Taskset catalog response was empty.");let i=new TextDecoder,s=0,o="";try{for(;;){let u=await n.read();if(u.done)break;if(s+=u.value.byteLength,s>4194304)throw new Ct(r.status,"response_too_large","Taskset catalog response exceeded 4 MiB.");o+=i.decode(u.value,{stream:!0})}o+=i.decode()}finally{await n.cancel(),n.releaseLock()}let l=JSON.parse(o);if(!r.ok){let u=wl.safeParse(l);throw new Ct(r.status,u.success?u.data.code:"invalid_error_response",u.success?u.data.message:`Taskset catalog request failed (${r.status}).`)}return l}};var ye=e.string().trim().min(1).max(500),$t=e.string().regex(/^[a-f0-9]{64}$/),ps=hr.pick({portableProjectId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,sourceRevision:!0,sourceUpdatedAt:!0}).extend({trainingSetup:Lt.omit({tasksetRef:!0,rewardBindingRef:!0,tasksetRelease:!0})}).strict(),fs=e.object({schemaVersion:e.literal("openpond.tasksetPackagePublication.v1"),operationId:ye,modelProjectId:ye,expectedProjectEtag:$t.nullable(),name:e.string().trim().min(1).max(200),description:e.string().max(5e3),buildIntent:e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),methodHint:e.enum(["sft","dpo","grpo","ppo"]).nullable(),package:mt,modelConfiguration:ps.optional(),evaluationPackage:mt.optional(),selection:e.enum(["select","attach"]).optional()}).strict().refine(t=>t.selection!=="attach"||t.modelConfiguration===void 0,"Attachment-only publication cannot replace Model configuration.").refine(t=>!t.evaluationPackage||t.modelConfiguration!==void 0&&t.modelConfiguration.trainingSetup.evaluationTasksetRef!=null&&f(t.modelConfiguration.trainingSetup.evaluationTasksetRef)===f(x(t.evaluationPackage.taskset)),"Evaluation package must match the selected immutable evaluation in Model configuration."),hs=e.object({schemaVersion:e.literal("openpond.tasksetPackageReceipt.v1"),teamId:ye,modelProjectId:ye,operationId:ye,taskset:Qe,packageHash:$t,hostedTasksetId:ye,projectEtag:$t,project:Me.optional(),selection:e.enum(["select","attach"]).optional(),evaluation:e.object({taskset:Qe,packageHash:$t,hostedTasksetId:ye}).strict().optional()}).strict(),gs=e.object({schemaVersion:e.literal("openpond.tasksetPackageReadback.v1"),teamId:ye,modelProjectId:ye,package:mt}).strict(),vs=e.object({schemaVersion:e.literal("openpond.tasksetReleasePackageReadback.v1"),teamId:ye,release:Qe,package:mt}).strict(),de=class extends Error{static{c(this,"OpenPondTasksetPackageError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondTasksetPackageError"}status;code},xl=class{static{c(this,"OpenPondTasksetPackageClient")}#e;constructor(t){let a=new URL(t.baseUrl);if(!["http:","https:"].includes(a.protocol)||a.username||a.password||a.search||a.hash||!t.apiKey.trim()||!t.teamId.trim())throw new Error("Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async publish(t,a={}){let r=fs.parse(t);X(r.package),r.evaluationPackage&&X(r.evaluationPackage);let n=hs.parse(await this.#t("","POST",r,a.signal)),i=r.package.taskset;if(n.teamId!==this.#e.teamId||n.modelProjectId!==r.modelProjectId||n.operationId!==r.operationId||n.packageHash!==r.package.contentHash||n.taskset.id!==i.id||n.taskset.revision!==i.revision||n.taskset.contentHash!==i.contentHash)throw new de(502,"package_receipt_mismatch","Taskset publication receipt did not match the requested package and owner.");if(r.selection!==void 0&&n.selection!==r.selection)throw new de(502,"package_receipt_mismatch","Taskset publication did not retain its selection mode.");if(r.evaluationPackage&&(!n.evaluation||n.evaluation.packageHash!==r.evaluationPackage.contentHash||f(n.evaluation.taskset)!==f(x(r.evaluationPackage.taskset))))throw new de(502,"package_receipt_mismatch","Taskset publication did not retain the complete selected evaluation package.");if(r.selection==="attach"&&n.projectEtag!==r.expectedProjectEtag)throw new de(502,"package_receipt_mismatch","Attaching a historical Taskset changed the Model configuration.");if(r.modelConfiguration){let s=r.modelConfiguration,o=n.project,l=$r(r.package),u=Lt.parse({...s.trainingSetup,tasksetRef:x(i),rewardBindingRef:l?x(l):null,tasksetRelease:null});if(!o||o.teamId!==this.#e.teamId||o.etag!==n.projectEtag||![o.id,o.portableProjectId].includes(r.modelProjectId)||o.portableProjectId!==s.portableProjectId||o.name!==s.name||o.objective!==s.objective||o.sourceRevision!==s.sourceRevision||Date.parse(o.sourceUpdatedAt)!==Date.parse(s.sourceUpdatedAt)||f(o.defaultBaseModel)!==f(s.defaultBaseModel)||o.defaultDestinationId!==s.defaultDestinationId||f(o.trainingSetup)!==f(u))throw new de(502,"package_receipt_mismatch","Taskset publication did not retain the requested Model configuration.")}return n}async getByRelease(t,a={}){let r=Qe.parse(t),n=a.expectedPackageHash===void 0?void 0:$t.parse(a.expectedPackageHash),i=vs.parse(await this.#t(`/releases/${encodeURIComponent(r.id)}/${r.revision}/${r.contentHash}/package`,"GET",void 0,a.signal)),s=X(i.package),o={id:s.taskset.id,revision:s.taskset.revision,contentHash:s.taskset.contentHash};if(i.teamId!==this.#e.teamId||f(i.release)!==f(r)||f(o)!==f(r)||n!==void 0&&s.contentHash!==n)throw new de(502,"package_readback_mismatch","Independent Dataset package differs from the requested workspace or exact release.");return s}async get(t,a,r={}){let n=ye.parse(t),i=Qe.parse(a),s=r.expectedPackageHash===void 0?void 0:$t.parse(r.expectedPackageHash),o=gs.parse(await this.#t(`/${encodeURIComponent(n)}/${encodeURIComponent(i.id)}/${i.revision}/${i.contentHash}`,"GET",void 0,r.signal)),l=o.package.taskset;if(o.teamId!==this.#e.teamId||o.modelProjectId!==n||l.id!==i.id||l.revision!==i.revision||l.contentHash!==i.contentHash)throw new de(502,"package_readback_mismatch","Taskset package did not match the requested release and owner.");if(s!==void 0&&o.package.contentHash!==s)throw new de(502,"package_readback_mismatch","Taskset package did not match the saved publication receipt.");return X(o.package)}async#t(t,a,r,n){let i=r===void 0?void 0:JSON.stringify(r);if(i&&new TextEncoder().encode(i).byteLength>ze)throw new de(413,"package_too_large","Taskset publication exceeds the 64 MiB envelope.");let s=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/taskset-packages${t}`,{method:a,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,Accept:"application/json",...i?{"Content-Type":"application/json"}:{}},body:i,signal:n,redirect:"error"}),o=s.body?.getReader();if(!o)throw new de(s.status,"empty_response","Taskset package response was empty.");let l=new TextDecoder("utf-8",{fatal:!0}),u=0,d="";try{for(;;){let p=await o.read();if(p.done)break;if(u+=p.value.byteLength,u>ze)throw new de(413,"package_too_large","Taskset response exceeds the 64 MiB envelope.");d+=l.decode(p.value,{stream:!0})}d+=l.decode()}finally{await o.cancel(),o.releaseLock()}let m=JSON.parse(d);if(!s.ok){let p=e.object({code:e.string(),message:e.string()}).safeParse(m);throw new de(s.status,p.success?p.data.code:"package_request_failed",p.success?p.data.message:`Taskset package request failed (${s.status}).`)}return m}};var qt=e.string().regex(/^[a-f0-9]{64}$/),bs=e.object({providerId:e.literal("claude-code"),configurationHash:qt,executableHash:qt,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:qt,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5),maximumTurns:e.number().int().min(1).max(100),holdOpen:e.boolean()}).strict(),Xh=e.object({id:e.string().min(1).max(200),receiptId:e.string().min(1).max(200),sessionId:e.uuid(),operationId:e.string().min(1).max(200),action:e.enum(["message","seal"]),text:e.string().max(262144).optional()}).strict().superRefine((t,a)=>{t.action==="message"&&!t.text?.trim()&&a.addIssue({code:"custom",message:"A human intervention requires a message."}),t.action==="seal"&&t.text!==void 0&&a.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),Qh=e.object({provider:e.literal("claude-code"),sessionId:e.uuid(),requestId:e.string().min(1).max(200),modelId:e.string().min(1).max(500),runtime:bs,sourceHash:qt,outputHash:qt,traceHash:qt,runtimeEventRefs:e.array(e.string().min(1).max(200)).min(1).max(2e4),eventCount:e.number().int().positive().max(2e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),cleanupComplete:e.literal(!0)}).strict().superRefine((t,a)=>{(t.runtimeEventRefs.length!==t.eventCount||new Set(t.runtimeEventRefs).size!==t.eventCount)&&a.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})}),ta=e.object({id:e.string().trim().min(1).max(240),revision:e.number().int().positive(),contentHash:e.string().regex(/^[a-f0-9]{64}$/),targetId:e.string().trim().min(1).max(240).nullable()}).strict(),Rl=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,a)=>{t.reduce((r,n)=>r+n.content.length,0)>1e5&&a.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})}),Tl=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(sa).min(1).max(100),score:e.number().min(0).max(1).nullable(),passed:e.boolean(),rewardEligible:e.boolean(),gradingStatus:e.enum(["scored","pending","unscorable","not_configured"]),failureClass:wa.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,a)=>{let{contentHash:r,...n}=t;f(n)!==r&&a.addIssue({code:"custom",message:"Experiment grading integrity failed."});let i=t.grades.flatMap(s=>s.components);(i.length!==t.grades.length||new Set(i.map(s=>s.graderId)).size!==i.length)&&a.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let s of t.grades){let{contentHash:o,...l}=s;f(l)!==o&&a.addIssue({code:"custom",message:"A retained criterion changed."});for(let u of s.components){let{contentHash:d,...m}=u;f(m)!==d&&a.addIssue({code:"custom",message:"A retained grader result changed."})}}}),D=e.string().trim().min(1).max(200),ft=e.string().regex(/^[a-f0-9]{64}$/),Ur=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:D,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:ft,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),bs]).optional(),candidate:e.object({artifactId:D,contentHash:ft,preparationId:D,dispatchId:D,baseProfileId:D,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:gn.optional(),messages:Rl.optional(),maxOutputTokens:e.number().int().min(1).max(1e6).default(1e5),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict(),e.object({kind:e.literal("fixture"),fixtureId:D}).strict()]),ks=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:D,teamId:D,modelProjectId:D.nullable(),project:ta.optional(),taskset:N,taskId:D,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:Ur}).strict(),Il=e.object({modelProjectId:D.nullable(),taskset:N,afterTaskId:D.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),_l=e.object({modelProjectId:D.nullable(),taskset:N,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:D,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:D,split:dn,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:D,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:D.nullable()}).strict(),aa=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:D,revision:e.number().int().positive(),request:ks,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:D,provider:D,upstreamModelId:e.string().min(1).max(500),configurationHash:ft}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:D,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{t.request.policy.kind==="fixture"!=(t.policySnapshot===null)&&a.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable||!t.completedAt)&&a.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),Hl=e.object({modelProjectId:D,afterId:D.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),jl=e.object({items:e.array(aa).max(100),nextCursor:D.nullable()}).strict(),El=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:aa,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:fn.nullable(),grade:sa.nullable().optional(),experimentGrade:Tl.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:N,initialStateHash:ft.nullable(),finalStateHash:ft.nullable(),attemptHash:ft}).strict(),native:vn.optional(),providerRequestIds:e.array(D).max(1001),contentHash:ft}).strict().superRefine((t,a)=>{let r=t.attempt.request.policy.kind==="hosted_chat"?t.attempt.request.policy.harness:void 0;!!r!=!!t.native&&a.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),t.native&&(!r||f(r)!==f(t.native.source)||t.native.modelConfigurationHash!==t.attempt.policySnapshot?.configurationHash||t.environment.initialStateHash!==null||t.environment.finalStateHash!==null||t.environment.status==="completed"&&(!t.environment.collected||t.output===null||t.native.partialOutputAvailable||t.native.outputHash!==f(t.output)))&&a.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),t.experimentGrade&&((t.grade||t.composition)&&a.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.experimentGrade.score||t.attempt.gradingStatus!==t.experimentGrade.gradingStatus||t.attempt.passed!==(t.experimentGrade.score===null?null:t.experimentGrade.passed))&&a.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),t.grade&&(t.composition&&a.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(t.attempt.status)||!t.attempt.resultAvailable||t.attempt.score!==t.grade.score||t.attempt.gradingStatus!==t.grade.gradingStatus||t.attempt.passed!==(t.grade.score===null?null:t.grade.passed))&&a.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))}),Ze=class extends Error{static{c(this,"OpenPondModelStarterAttemptError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondModelStarterAttemptError"}status;code},og=class{static{c(this,"OpenPondModelStarterAttemptsClient")}#e;constructor(t){let a=new URL(t.baseUrl);if(!t.apiKey.trim()||!t.teamId.trim()||!["https:","http:"].includes(a.protocol)||a.username||a.password||a.search||a.hash)throw new Error("Starter attempts require an HTTP(S) endpoint and workspace credentials.");this.#e={...t,baseUrl:a.toString().replace(/\/+$/,"")}}async create(t,a={}){let r=ks.parse(t);if(r.teamId!==this.#e.teamId)throw new Error("Attempt belongs to another workspace.");let n=this.#t(await this.#a("","POST",r,a.signal));if(A(n.request)!==A(r))throw new Ze(502,"attempt_request_mismatch","Attempt receipt differs from the submitted request.");return n}async get(t,a={}){return this.#t(await this.#a(`/${encodeURIComponent(D.parse(t))}`,"GET",void 0,a.signal),t)}async choices(t,a={}){let r=Il.parse(t),n=new URLSearchParams({...r.modelProjectId?{modelProjectId:r.modelProjectId}:{},tasksetId:r.taskset.id,revision:String(r.taskset.revision),contentHash:r.taskset.contentHash,limit:String(r.limit)});r.afterTaskId&&n.set("afterTaskId",r.afterTaskId);let i=_l.parse(await this.#a(`/choices?${n}`,"GET",void 0,a.signal));if(i.modelProjectId!==r.modelProjectId||A(i.taskset)!==A(r.taskset)||i.tasks.length>r.limit||new Set(i.tasks.map(s=>s.id)).size!==i.tasks.length)throw new Ze(502,"attempt_choices_mismatch","Attempt choices differ from the selected model or Taskset.");return i}async cancel(t,a={}){return this.#t(await this.#a(`/${encodeURIComponent(D.parse(t))}/cancel`,"POST",void 0,a.signal),t)}async result(t,a={}){let r=El.parse(await this.#a(`/${encodeURIComponent(D.parse(t))}/result`,"GET",void 0,a.signal));this.#t(r.attempt,t);let{contentHash:n,...i}=r;if(!r.attempt.resultAvailable||await F(i)!==n)throw new Ze(502,"attempt_result_integrity","Attempt result integrity failed.");return r}async list(t,a={}){let r=Hl.parse(t),n=new URLSearchParams({modelProjectId:r.modelProjectId,limit:String(r.limit)});r.afterId&&n.set("afterId",r.afterId);let i=jl.parse(await this.#a(`?${n}`,"GET",void 0,a.signal));if(i.items.length>r.limit||new Set(i.items.map(s=>s.id)).size!==i.items.length||i.items.some(s=>this.#t(s).request.modelProjectId!==r.modelProjectId))throw new Ze(502,"attempt_page_mismatch","Attempt page differs from the selected model.");return i}#t(t,a){let r=aa.parse(t);if(r.request.teamId!==this.#e.teamId||a&&r.id!==a)throw new Ze(502,"attempt_identity_mismatch","Attempt receipt belongs to another identity or workspace.");return r}async#a(t,a,r,n){let i=await(this.#e.fetch??globalThis.fetch)(`${this.#e.baseUrl}/v1/model-starter-attempts${t}`,{method:a,headers:{Authorization:`Bearer ${this.#e.apiKey}`,"X-OpenPond-Team-Id":this.#e.teamId,"Content-Type":"application/json",Accept:"application/json"},...r===void 0?{}:{body:JSON.stringify(r)},signal:n,redirect:"error"}),s=i.body?.getReader();if(!s)throw new Ze(i.status,"attempt_empty_response","Attempt response was empty.");let o=0,l="",u=new TextDecoder;try{for(;;){let m=await s.read();if(m.done)break;if(o+=m.value.byteLength,o>16777216)throw new Ze(502,"attempt_response_too_large","Attempt response exceeded its byte limit.");l+=u.decode(m.value,{stream:!0})}l+=u.decode()}finally{await s.cancel(),s.releaseLock()}let d=JSON.parse(l);if(!i.ok){let m=e.object({code:D,message:e.string().max(2e3)}).safeParse(d);throw new Ze(i.status,m.success?m.data.code:"attempt_request_failed",m.success?m.data.message:"Attempt request failed.")}return d}};var Dt=e.string().trim().min(1).max(240),Gr=e.string().regex(/^[a-f0-9]{64}$/),Jr=e.object({kind:e.literal("hosted_harness"),modelId:Dt,candidate:e.object({artifactId:Dt,contentHash:Gr,preparationId:Dt,dispatchId:Dt,baseProfileId:Dt,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:rr.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:Dt,source:rr,modelConfigurationHash:Gr,packageHash:Gr,externalDatasetBinding:ua.optional()}).strict().superRefine((t,a)=>{JSON.stringify(t.externalDatasetBinding??null)!==JSON.stringify(t.source.externalDatasetBinding??null)&&a.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(t.sourceCandidate??null)!==JSON.stringify(t.source.sourceCandidate??null)&&a.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})}),we=e.string().trim().min(1).max(200),Ss=e.string().regex(/^[a-f0-9]{64}$/),Pl=e.discriminatedUnion("kind",[Ur.options[0],e.object({kind:e.literal("fixture")}).strict(),Jr]),ht=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:we,teamId:we,modelProjectId:we.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ta.optional(),taskset:N,policy:Pl,population:e.array(kn).min(1).max(1e4)}).strict().superRefine((t,a)=>{new Set(t.population.map(r=>r.receiptId)).size!==t.population.length&&a.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),t.population.some(r=>r.fixtureId!==null!=(t.policy.kind==="fixture"))&&a.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),t.population.some(r=>!/^(0|[1-9][0-9]*)$/.test(r.seed)||Number(r.seed)>2147483647)&&a.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),t.policy.kind==="hosted_harness"&&t.modelProjectId!==null&&a.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),t.policy.kind==="hosted_harness"&&new Set(t.population.map(r=>A([r.taskId,r.seed]))).size!==t.population.length&&a.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),ys=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:we,revision:e.number().int().positive(),teamId:we,modelProjectId:we.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ta.optional(),operationId:we,taskset:N,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:Ss,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),totalCount:e.number().int().min(1).max(1e4),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative()}).strict(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),metricName:e.string().min(1).max(240),error:e.object({code:we,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{Object.values(t.counts).reduce((r,n)=>r+n,0)!==t.totalCount&&a.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),t.status!=="completed"&&t.score!==null&&a.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&a.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),t.status==="cancelled"&&!t.cleanupComplete&&a.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),t.resultAvailable&&!["completed","failed","cancelled"].includes(t.status)&&a.addIssue({code:"custom",message:"Run results require terminal population accounting."}),t.status==="completed"&&(!t.cleanupComplete||!t.resultAvailable)&&a.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),ws=e.object({summary:ys,request:ht,manifest:pa,policySnapshot:aa.shape.policySnapshot}).strict(),Sg=e.object({modelProjectId:we.optional(),projectId:ta.shape.id.optional(),afterId:we.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),yg=e.object({items:e.array(ys).max(100),nextCursor:we.nullable()}).strict(),Al=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:ws,receipts:e.array(bn).min(1).max(1e4),metric:sn.nullable(),contentHash:Ss}).strict();function Cl(t,a){He(a,"Taskset run manifest");let r=t.policy;if(r.kind!=="hosted_harness"||a.execution.kind!=="harness"||A(a.profileEvaluation)!==A(r.source)||A(a.execution.harnessRelease)!==A(r.source.harnessRelease)||a.metadata.profileRepositoryId!==r.profileRepositoryId||a.packageHash!==r.packageHash||a.policy.kind!=="model"||a.policy.model.provider!=="openpond"||a.policy.model.model!==r.modelId||a.policy.model.revision!==null||a.policy.model.artifactHash!==(r.candidate?.contentHash??null)||a.policy.model.tokenizerRevision!==null||a.policy.model.chatTemplateHash!==null||a.policy.configurationHash!==r.modelConfigurationHash||a.tasksetRelease.id!==t.taskset.id||a.tasksetRelease.contentHash!==t.taskset.contentHash||A(a.population)!==A(t.population)||a.population.some(n=>n.receiptId!==`evaluation-${f([a.id,n.taskId,n.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}c(Cl,"verifyHarnessExperimentManifest");async function Ml(t){let a=ws.parse(t),{summary:r,request:n,manifest:i,policySnapshot:s}=a;if(He(i,"Taskset run manifest"),i.contentHash!==r.manifestHash||i.id!==r.id||i.createdAt!==r.createdAt||r.teamId!==n.teamId||r.modelProjectId!==n.modelProjectId||A(r.project??null)!==A(n.project??null)||A(i.metadata.project??null)!==A(n.project??null)||(r.name??null)!==(n.name??null)||r.operationId!==n.operationId||r.policyKind!==n.policy.kind||r.totalCount!==n.population.length||r.metricName!==i.metricPolicy.primaryMetric||A(r.taskset)!==A(n.taskset)||i.tasksetRelease.id!==n.taskset.id||i.tasksetRelease.contentHash!==n.taskset.contentHash||A(i.population)!==A(n.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(n.policy.kind==="fixture"){if(i.policy.kind!=="fixture"||s!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(n.policy.kind==="hosted_harness"){if(Cl(n,i),s!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(i.policy.kind!=="model"||!s||s.modelId!==n.policy.modelId||i.policy.model.provider!==s.provider||i.policy.model.model!==s.upstreamModelId||i.policy.model.revision!==null||i.policy.model.artifactHash!==(n.policy.candidate?.contentHash??null)||i.policy.model.tokenizerRevision!==null||i.policy.model.chatTemplateHash!==null||i.policy.configurationHash!==await F({policy:n.policy,snapshot:s}))throw new Error("Evaluation model differs from its admitted policy.");return a}c(Ml,"verifyModelTasksetRunDetails");async function wg(t){let a=Al.parse(t),{contentHash:r,...n}=a;if(await F(n)!==r)throw new Error("Evaluation result integrity failed.");let{summary:i,manifest:s}=await Ml(a.run);if(!i.resultAvailable||!["completed","failed","cancelled"].includes(i.status))throw new Error("Evaluation result is not terminal.");let o=Sn(s,a.receipts);if(A(o)!==A(a.receipts))throw new Error("Evaluation receipts differ from the admitted order.");if(i.status==="completed"!=(a.metric!==null))throw new Error("Only completed evaluations retain a metric.");if(a.metric&&(on(a.metric),a.metric.runManifest.id!==s.id||a.metric.runManifest.contentHash!==s.contentHash||A(a.metric.tasksetRelease)!==A(s.tasksetRelease)||A(a.metric.policy)!==A(s.metricPolicy)||A(a.metric.receiptRefs)!==A(a.receipts.map(({id:l,contentHash:u})=>({id:l,contentHash:u})))||a.metric.value!==i.score))throw new Error("Evaluation metric differs from its admitted run or receipt population.");return a}c(wg,"verifyModelTasksetRunResult");var Is=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),$l=e.array(Is).min(1).max(20),xs=e.enum(["input","output","expectedOutput","evaluatorContext"]),ql=e.object({destination:xs,path:$l,source:xs,sourcePath:e.array(Is).max(20)}).strict(),Kr=e.array(ql).max(100).superRefine((t,a)=>{for(let[r,n]of t.entries())t.slice(0,r).some(i=>i.destination===n.destination&&(Ts(i.path,n.path)||Ts(n.path,i.path)))&&a.addIssue({code:"custom",path:[r,"path"],message:"Mapped destination paths must not overlap."})});function Hg(t,a){let r=Kr.parse(a),n=structuredClone(t);for(let i of r){let s=t[i.source];for(let l of i.sourcePath){if(!Rs(s)||!Object.hasOwn(s,l))throw new Error("The configured grader source field is unavailable.");s=s[l]}if(s===void 0)throw new Error("The configured grader source field is unavailable.");let o=n[i.destination];o===null&&(n[i.destination]=o={});for(let l of i.path.slice(0,-1)){let u=Object.hasOwn(o,l)?o[l]:void 0;if(u!==void 0&&!Rs(u))throw new Error("A grader destination path crosses a scalar field.");u===void 0&&(o[l]={}),o=o[l]}o[i.path.at(-1)]=structuredClone(s)}return n}c(Hg,"mapExperimentGradingFields");function Rs(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}c(Rs,"record");function Ts(t,a){return t.length<=a.length&&t.every((r,n)=>r===a[n])}c(Ts,"prefix");var te=e.string().trim().min(1).max(200),gt=e.string().regex(/^[a-f0-9]{64}$/),Wr=e.object({id:te,revision:e.number().int().positive(),contentHash:gt}).strict(),Yr=e.object({id:te,version:e.string().min(1).max(200),contentHash:gt,name:e.string().trim().min(1).max(500).optional(),feedbackKey:un,release:Wr.nullable(),mappings:Kr.optional()}).strict(),Xr=e.object({id:te,version:e.string().min(1).max(200),contentHash:gt,mappings:Kr}).strict(),Cg=e.object({operationId:te,id:te.optional(),expectedRevision:e.number().int().nonnegative(),request:ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Xr).min(1).max(100).optional()}).strict().superRefine((t,a)=>{t.request.name||a.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!t.id!=t.expectedRevision>0&&a.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(t.maximumCostUsd*1e6)<1&&a.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),t.graders&&new Set(t.graders.map(r=>r.id)).size!==t.graders.length&&a.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),Dl=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:te,teamId:te,revision:e.number().int().positive(),request:ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Yr).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),Mg=Dl.extend({contentHash:gt}),$g=e.object({operationId:te,definition:Wr}).strict(),qg=e.object({projectId:te.optional(),datasetHash:gt.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:te.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),Dg=e.object({definition:Wr.nullable(),configurationHash:gt.optional(),admissionRequestHash:gt.optional(),sourceExperimentId:te.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Yr).min(1).max(100)}).strict().superRefine((t,a)=>{t.definition===null&&(!t.configurationHash||!t.admissionRequestHash)&&a.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),Og=e.object({operationId:te,profileRepositoryId:te,definitionId:te,modelId:te,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:ua.optional(),sourceCandidate:Jr.shape.sourceCandidate}).strict(),Bg=e.object({request:ht,manifest:pa,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Yr).min(1).max(100)}).strict();var _s=e.string().trim().min(1).max(200),Qr=e.object({operationId:_s,request:ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Xr).min(1).max(100).optional(),sourceExperimentId:_s.optional()}).strict().superRefine((t,a)=>{t.request.name||a.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),t.operationId!==t.request.operationId&&a.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(t.maximumCostUsd*1e6)<1&&a.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),t.graders&&new Set(t.graders.map(r=>r.id)).size!==t.graders.length&&a.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var O=e.string().trim().min(1).max(200),Pe=e.string().regex(/^[a-f0-9]{64}$/),Ya=e.object({id:O,contentHash:Pe}).strict(),ev=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:vt.nullable()}).strict(),Hs=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:O,revision:e.number().int().positive(),contentHash:Pe}).strict(),projectId:O.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:O,configuration:Qr}).strict()).min(1).max(20),acceptancePlan:An.nullable()}).strict().superRefine((t,a)=>{if(new Set(t.experiments.map(r=>r.id)).size!==t.experiments.length&&a.addIssue({code:"custom",message:"Attach each evaluation once."}),t.experiments.reduce((r,n)=>r+n.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),t.experiments.some(r=>(r.configuration.request.project?.id??null)!==t.projectId)&&a.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),t.acceptancePlan){let r=new Set(t.acceptancePlan.checks.map(i=>i.id));t.acceptancePlan.checks.some(i=>!t.experiments.some(s=>s.id===i.id))&&a.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(i=>!r.has(i.id)).reduce((i,s)=>i+s.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var Ol=e.object({baseline:Ya,checks:e.array(e.object({id:O,sourceRunId:O,sourceManifestHash:Pe,targetConfigurationHash:Pe,executionHash:Pe,populationHash:Pe,evaluator:Ya,feedbackKey:O,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),Bl=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),js=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:O,teamId:O,jobId:O,revision:e.number().int().positive(),planHash:Pe,automatic:e.boolean(),candidate:Ya.nullable(),state:Bl,total:e.number().int().positive(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),requiredOutcome:e.enum(["none","pending","passed","failed","blocked"]),reason:e.string().max(500).nullable(),groupId:O.nullable(),experimentIds:e.array(O).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((t,a)=>{t.completed+t.failed>t.total&&a.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(t.state)&&!t.candidate&&a.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Vl=e.object({operationId:O,expectedRevision:e.number().int().positive(),planHash:Pe}).strict(),zl=e.object({operationId:O,attachment:Hs}).strict(),Ll=e.object({id:O,teamId:O,ownerUserId:O,attachment:Hs,qualification:Ol.nullable(),contentHash:Pe,createdAt:e.iso.datetime()}).strict();function Fl(t){let a=Ll.parse(t);if(a.contentHash!==f({attachment:a.attachment,qualification:a.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return a}c(Fl,"verifyPostTrainingPlan");function Es(t){let{request:a}=t,r=c(i=>`/v1/training/jobs/${encodeURIComponent(O.parse(i))}/post-training`,"path");async function n(i,s,o){if(i===null)return null;let l=js.parse(i);if(l.teamId!==s||l.jobId!==o)throw new E("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return l}return c(n,"read"),{async attach(i,s){let o=zl.parse(s),l=Fl(await a("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(o)}));if(l.teamId!==i||await F(l.attachment)!==await F(o.attachment))throw new E("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return l},async get(i,s){return n(await a(r(s)),i,s)},async control(i,s,o,l){let u=Vl.parse(l),d=await n(await a(`${r(s)}/${o}`,{method:"POST",body:JSON.stringify(u)}),i,s);if(!d||d.planHash!==u.planHash)throw new E("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return d}}}c(Es,"createPostTrainingClient");var tv=e.object({teamId:O,actorId:O,projectId:O.nullable(),configuration:Me,batches:e.array(ga).max(1e4),sources:e.array(Ne).max(1e4),definitions:e.array(re).max(1e4),experiments:e.array(e.object({id:O,name:e.string().max(500),configuration:Qr,graders:e.array(e.object({feedbackKey:O,name:e.string().max(500),ref:Ya}).strict()).max(100)}).strict()).max(1e4)}).strict(),av=e.enum(["prepare","start","cancel","publish","attach"]),rv=e.object({teamId:O,actorId:O,configuration:Me,policy:wn,inspection:Hn,iterations:e.array(e.object({iteration:xn,evals:js.nullable()}).strict()).max(100),nextCursor:O.nullable()}).strict(),nv=e.object({id:O,expectedRevision:e.number().int().positive(),policyHash:Pe,operationId:O,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:O.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var Le=e.string().trim().min(1).max(240),qs=H.extend({revision:e.number().int().positive()}).strict(),Nl=qs.extend({teamId:Le,jobId:Le,plan:H,baseline:H,candidate:H,state:Cn.shape.state,updatedAt:e.string().datetime()}).strict(),Ul=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:Le,jobId:Le,groups:e.array(Nl).max(100),nextCursor:Le.nullable()}).strict(),Gl=e.object({cursor:Le.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function Jl(t){let a=c(r=>(Le.parse(r.teamId),`/v1/training/jobs/${encodeURIComponent(Le.parse(r.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(r,n={}){let i=Gl.parse(n),s=new URLSearchParams({limit:String(i.limit)});i.cursor&&s.set("cursor",i.cursor);let o=Ul.parse(await t(`${a(r)}?${s}`));if(o.teamId!==r.teamId||o.jobId!==r.jobId||o.groups.length>i.limit||o.groups.some(l=>l.teamId!==r.teamId||l.jobId!==r.jobId||i.cursor&&l.id<=i.cursor)||new Set(o.groups.map(l=>l.id)).size!==o.groups.length||o.nextCursor!==null&&o.nextCursor!==o.groups.at(-1)?.id)throw new E("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return o},async acceptanceGroup(r,n,i){let s=i?qs.parse({id:i.id,revision:i.revision,contentHash:i.contentHash}):null;if(s&&s.id!==n)throw new E("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let o=s?`?revision=${s.revision}`:"",l=Mn(await t(`${a(r)}/${encodeURIComponent(Le.parse(n))}${o}`));if(l.manifest.teamId!==r.teamId||l.manifest.trainingJob.id!==r.jobId||l.manifest.id!==n||s&&(l.revision!==s.revision||l.contentHash!==s.contentHash))throw new E("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return l}}}c(Jl,"createTrainingAcceptanceClient");var Q=e.string().trim().min(1).max(191),ia=e.string().regex(/^[a-f0-9]{64}$/),Ds=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:Q,operationId:Q,projectId:Q.nullable(),configuration:e.object({id:Q,expectedRevision:e.number().int().positive(),expectedEtag:ia}).strict(),origin:vt.optional(),batch:N,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),Kl=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:Q,creatorUserId:Q,request:Ds,requestHash:ia,source:e.lazy(()=>Vs),submissionHash:ia,createdAt:e.string().datetime({offset:!0})}).strict(),Wl=Kl.extend({contentHash:ia}).strict(),Os=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:Wl,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:Q.nullable()}).strict().superRefine((t,a)=>{t.state==="submitted"!=!!t.jobId&&a.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Ps=e.object({teamId:Q,planHash:ia,expectedRevision:e.number().int().positive()}).strict(),Yl=e.object({projectId:Q.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:Q.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Xl=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:Q,items:e.array(Os).max(100),nextCursor:Q.nullable()}).strict();async function Ql(t){let a=Os.parse(t),{contentHash:r,...n}=a.plan;if(await F(n)!==r||await F(n.request)!==n.requestHash||n.source.modelProject.id!==n.request.configuration.id||await F(n.source.origin??null)!==await F(n.request.origin??null))throw new E("training_preparation_mismatch","The prepared training inputs changed.");return a}c(Ql,"parseAndVerifyTrainingPreparationReceipt");function Zl(t){async function a(r,n,i){let s=await Ql(r);if(s.plan.request.teamId!==n||i&&s.plan.id!==i)throw new E("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return s}return c(a,"read"),{async listPreparations(r,n={}){let i=Q.parse(r),s=Yl.parse(n),o=new URLSearchParams;for(let[d,m]of Object.entries(s))o.set(d,String(m));let l=Xl.parse(await t(`/v1/training/preparations?${o}`));if(l.teamId!==i||l.items.length>s.limit||new Set(l.items.map(d=>d.plan.id)).size!==l.items.length||l.nextCursor!==null&&(l.nextCursor!==l.items.at(-1)?.plan.id||l.nextCursor===s.afterId))throw new E("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let u=await Promise.all(l.items.map(async d=>{let m=await a(d,i);if(s.projectId&&m.plan.request.projectId!==s.projectId||s.state&&m.state!==s.state)throw new E("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return m}));return{...l,items:u}},async prepareRun(r){let n=Ds.parse(r),i=await a(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(n)}),n.teamId);if(i.plan.requestHash!==await F(n))throw new E("training_preparation_request_mismatch","The preparation does not match the requested run.");return i},async getPreparation(r,n){return a(await t(`/v1/training/preparations/${encodeURIComponent(Q.parse(n))}`),Q.parse(r),n)},async startPreparation(r,n){let i=Ps.parse(n),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(Q.parse(r))}/start`,{method:"POST",body:JSON.stringify(i)}),i.teamId,r);if(s.plan.contentHash!==i.planHash||s.state!=="submitted")throw new E("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return s},async cancelPreparation(r,n){let i=Ps.parse(n),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(Q.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(i)}),i.teamId,r);if(s.plan.contentHash!==i.planHash||s.state!=="cancelled")throw new E("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return s}}}c(Zl,"createTrainingPreparationClient");var em=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:S,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(yt)}).strict();function tm(t){let a=c(r=>{let n=S.parse(r);return`/v1/training/harness-sources/${encodeURIComponent(n.id)}/${n.contentHash}`},"route");return{async publishHarnessSource(r){$e(r,yt,"Training Harness source");let n=Sr(r),i=n.agentSnapshot.portability;if(!i.portable||i.blockers.length||i.localOnlyAssetRefs.length||i.hostPrivateAssetRefs.length||n.harnessRelease.files.some(o=>o.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let s=em.parse(await t(a({id:n.harnessRelease.id,contentHash:n.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(n)}));if(s.harnessRelease.id!==n.harnessRelease.id||s.harnessRelease.contentHash!==n.harnessRelease.contentHash||s.sourcePackageHash!==n.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return s},async getHarnessSource(r){let n=await t(a(r),void 0,yt);return $e(n,yt,"Training Harness source"),Sr(n,r)}}}c(tm,"createTrainingHarnessSourceClient");var tt=e.string().trim().min(1).max(500),am=e.string().regex(/^[a-f0-9]{64}$/),en=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:tt,jobId:tt,artifact:H,evaluation:H,executionReceipt:H,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:tt,expectedDecision:H.nullable()}).strict(),rm=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:tt,request:en,revision:e.number().int().positive(),actor:e.object({userId:tt,kind:e.enum(["user","api_key","agent_delegate"]),id:tt}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:am}).strict().superRefine((t,a)=>{t.revision===1!=(t.request.expectedDecision===null)&&a.addIssue({code:"custom",path:["revision"],message:"A first decision has no predecessor; later decisions must reference the prior decision."}),t.request.expectedDecision?.id===t.id&&a.addIssue({code:"custom",path:["request","expectedDecision"],message:"A decision cannot supersede itself."})});async function nm(t){let{contentHash:a,...r}=t;return F(r)}c(nm,"trainingCandidateDecisionHash");async function As(t,a){$e(t,32768,"Training candidate decision");let r=rm.parse(t);if(r.contentHash!==await nm(r))throw new E("content_hash_mismatch","Training candidate decision content hash does not match.");if(r.request.teamId!==a.teamId||r.request.jobId!==a.jobId||r.request.artifact.id!==a.artifact.id||r.request.artifact.contentHash!==a.artifact.contentHash)throw new E("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(a.request&&await F(r.request)!==await F(en.parse(a.request)))throw new E("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return r}c(As,"parseAndVerifyTrainingCandidateDecision");function im(t){function a(r){return`/v1/training/jobs/${encodeURIComponent(tt.parse(r.jobId))}/candidates/${encodeURIComponent(H.parse(r.artifact).id)}/decision`}return c(a,"route"),{async candidateDecision(r,n={}){tt.parse(r.teamId);let i=n.decision?H.parse(n.decision):void 0,s=i?`?decisionId=${encodeURIComponent(i.id)}`:"",o=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${a(r)}${s}`));if(o.decision===null&&!i)return null;let l=await As(o.decision,r);if(i&&(l.id!==i.id||l.contentHash!==i.contentHash))throw new E("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return l},async recordCandidateDecision(r){let n=en.parse(r),i=await t(a(n),{method:"POST",body:JSON.stringify(n)});return As(i,{...n,request:n})}}}c(im,"createTrainingCandidateDecisionClient");var Ot=e.string().trim().min(1).max(500),na=e.string().regex(/^[a-f0-9]{64}$/),sm=e.object({taskId:Ot,taskSha256:na,resultSha256:na,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:na,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:Ot}).strict()}).strict(),om=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Ot,teamId:Ot,evaluation:H,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:N,panelSha256:na,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(sm).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:na}).strict().superRefine((t,a)=>{let r=t.offset+t.tasks.length,n=r<t.total?String(r):null;(r>t.total||t.nextCursor!==n)&&a.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(i=>i.taskId)).size!==t.tasks.length&&a.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function cm(t){let{contentHash:a,...r}=t;return F(r)}c(cm,"trainingEvaluationTaskPageHash");async function dm(t,a){$e(t,ur,"Training evaluation task page");let r=om.parse(t),n=H.parse(a.evaluation);if(r.jobId!==Ot.parse(a.jobId)||r.evaluation.id!==n.id||r.evaluation.contentHash!==n.contentHash||r.offset!==(a.offset??0)||a.teamId!==void 0&&r.teamId!==Ot.parse(a.teamId))throw new E("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await cm(r)!==r.contentHash)throw new E("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let i of r.tasks)if(await F(i.output)!==i.outputSha256)throw new E("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return r}c(dm,"parseAndVerifyTrainingEvaluationTaskPage");var lm=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),mm=e.object({binding:Ae,rewards:e.array(at).min(1).max(100)}).strict();async function Sv(t){let a=t.rewardExecution?mm.parse(t.rewardExecution):null,r=lm.parse(a?ae(a.binding,a.rewards):t.graders);if(new Set(r.map(i=>i.id)).size!==r.length)throw new Error("Training grader identities must be unique.");let n=await F({schemaVersion:"openpond.trainingGraderSet.v1",graders:r});return{kind:"deterministic",grader:{id:`training-graders-${n.slice(0,32)}`,contentHash:n},composer:a?{id:a.binding.id,contentHash:a.binding.contentHash}:null}}c(Sv,"deterministicTrainingRewardSource");var wv="evaluation-source.json",Zr=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),um=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:N,tasks:e.array(Zr).min(1).max(1e4),assets:e.array(e.object({path:e.string().trim().min(1).max(2e3),sha256:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().nonnegative(),encoding:e.literal("base64"),content:e.string().max(32*1024*1024)}).strict()).max(1e4)}).strict().superRefine((t,a)=>{let r=new Set;t.tasks.forEach((n,i)=>{n.split==="train"&&a.addIssue({code:"custom",path:["tasks",i,"split"],message:"Evaluation sources require held-out tasks."}),r.has(n.id)&&a.addIssue({code:"custom",path:["tasks",i,"id"],message:"Evaluation task identities must be unique."}),r.add(n.id)})});function xv(t,a){let r=e.array(Zr).min(1).max(1e4).parse(t),n=e.array(Zr).min(1).max(1e4).parse(a),i=new Set,s=new Set;for(let l of r){if(l.split!=="train")throw new Error("The training population contains a held-out task.");if(i.has(l.id))throw new Error("Training task identities must be unique.");i.add(l.id),s.add(l.clusterKey)}let o=new Set;for(let l of n){if(l.split==="train")throw new Error("The evaluation population contains a training task.");if(o.has(l.id))throw new Error("Evaluation task identities must be unique.");if(i.has(l.id)||s.has(l.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");o.add(l.id)}}c(xv,"assertTrainingEvaluationIsolation");async function Rv(t){let a=um.parse(t),r=await F(a);return{taskset:a.taskset,dataset:{id:`training-evaluation-${r.slice(0,32)}`,contentHash:r}}}c(Rv,"trainingEvaluationSourceRef");var V=e.string().trim().min(1).max(500),ne=e.string().regex(/^[a-f0-9]{64}$/),xe=e.string().datetime({offset:!0}),pm=e.object({schemaVersion:e.literal("openpond.trainingInputArtifactUpload.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),idempotencyKey:e.string().trim().min(1).max(500),sourceManifest:H,payload:e.unknown(),contentHash:ne}).strict(),fm=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:H,artifactRef:e.string().trim().min(1).max(2e3),contentHash:ne,sizeBytes:e.number().int().positive(),createdAt:xe}).strict();async function hm(t){let{contentHash:a,...r}=t;return F(r)}c(hm,"trainingInputArtifactUploadHash");async function gm(t){$e(t,yt,"Training input artifact");let a=pm.parse(t),r=await hm(a);if(a.contentHash!==r)throw new E("content_hash_mismatch",`Training input artifact contentHash ${a.contentHash} does not match ${r}.`);return a}c(gm,"parseAndVerifyTrainingInputArtifactUpload");var Bs=e.enum(["reward_model_train","policy_optimize"]),vm=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),bm=e.object({id:V,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Vs=e.object({origin:vt.optional(),modelProject:e.object({id:V,portableProjectId:V,revision:e.number().int().positive(),contentHash:ne}).strict(),harnessRunManifest:H,harnessRelease:H,taskset:N,tasksetRelease:H,evaluation:e.object({taskset:N,dataset:H}).strict().nullable().optional(),dataset:H,evidenceSets:e.array(H).max(1e4)}).strict(),km=e.object({kind:e.literal("reward_model_train"),baseModel:We,preferenceDatasetRelease:H,processorRelease:H,recipe:e.object({schemaVersion:e.literal("openpond.rewardModelRecipe.v1"),method:e.literal("reward_model"),parameterization:e.literal("lora_with_scalar_head")}).catchall(e.unknown())}).strict(),Sm=e.object({kind:e.literal("deterministic"),grader:H,composer:H.nullable().default(null)}).strict(),ym=e.object({kind:e.literal("learned_reward"),rewardModelVersion:H,qualificationReport:H.nullable().default(null),evaluationReferences:e.array(H).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:ne,executionReceipt:H}).strict(),processorRelease:H,rewardComposerRelease:H}).strict(),wm=e.object({kind:e.literal("policy_optimize"),baseModel:We,recipe:fr,rewardSource:e.discriminatedUnion("kind",[Sm,ym]),resumeFrom:H.nullable().default(null)}).strict(),xm=e.discriminatedUnion("kind",[km,wm]),Rm=e.object({approvalHash:ne,approvedAt:xe,exportApproved:e.boolean(),maximumSpendUsd:e.number().nonnegative(),retentionDays:e.number().int().nonnegative().nullable(),region:e.string().trim().min(1).max(200).nullable().default(null)}).strict(),Tm=e.object({schemaVersion:e.literal("openpond.trainingJobSubmission.v2"),idempotencyKey:e.string().trim().min(1).max(500),name:e.string().trim().min(1).max(200),source:Vs,job:xm,requestedCapabilities:e.array(bm).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Rm,contentHash:ne}).strict().superRefine((t,a)=>{t.approval.maximumSpendUsd!==t.budget.maximumSpendUsd&&a.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});async function Im(t){let{contentHash:a,...r}=t;return F(r)}c(Im,"trainingJobSubmissionHash");async function _m(t){$e(t,zn,"Training Job submission");let a=Tm.parse(t),r=await Im(a);if(a.contentHash!==r)throw new E("content_hash_mismatch",`Training Job contentHash ${a.contentHash} does not match ${r}.`);return a}c(_m,"parseAndVerifyTrainingJobSubmission");var ra=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:V,teamId:V,kind:Bs,modelProjectId:V,portableProjectId:V,sourceProjectRevision:e.number().int().positive(),submissionHash:ne,state:vm,phase:e.string().trim().min(1).max(200),version:e.number().int().nonnegative(),progress:e.number().min(0).max(1),rolloutProgress:e.object({groupsCompleted:e.number().int().nonnegative(),groupsTarget:e.number().int().nonnegative(),optimizerUpdatesApplied:e.number().int().nonnegative(),optimizerUpdatesSkipped:e.number().int().nonnegative()}).strict(),accruedSpendUsd:e.number().nonnegative(),terminalReason:e.string().trim().min(1).max(5e3).nullable(),createdAt:xe,updatedAt:xe,completedAt:xe.nullable()}).strict(),Hm=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(ra).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),jm=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:V,jobId:V,sequence:e.number().int().nonnegative(),type:V,phase:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3).nullable(),data:e.record(e.string(),e.unknown()).default({}),createdAt:xe}).strict(),Em=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:V,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:xe}).strict(),Cs=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Pm=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:V,jobId:V,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:ne,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:xe}).strict(),tn=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:V,teamId:V,jobId:V,submissionHash:ne,manifestHash:ne,recipeHash:ne,capabilityHash:ne,runtimeRelease:H,inputs:e.array(H).max(1e4),outputs:e.array(H).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),issuer:V,issuedAt:xe,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Am(t){return F(tn.parse(t))}c(Am,"trainingExecutionReceiptHash");async function Tv(t,a){let r=tn.parse(t),n=V.parse(a.id),i=ne.parse(a.contentHash),s=await Am(r);if(r.id!==n||s!==i)throw new E("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(a.teamId!==void 0&&r.teamId!==V.parse(a.teamId))throw new E("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(a.jobId!==void 0&&r.jobId!==V.parse(a.jobId))throw new E("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((a.requireCleanup??!0)&&!r.cleanupComplete)throw new E("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");return r}c(Tv,"parseAndVerifyTrainingExecutionReceipt");var Cm=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Pm).max(1e4),receipt:tn.nullable()}).strict(),Mm=e.object({schemaVersion:e.literal("openpond.trainingApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict(),zs=class extends Error{static{c(this,"OpenPondTrainingApiError")}status;code;retryable;requestId;details;constructor(t,a){super(a.message),this.name="OpenPondTrainingApiError",this.status=t,this.code=a.code,this.retryable=a.retryable,this.requestId=a.requestId,this.details=a.details}},$m=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:ne,jobKinds:e.array(Bs),methods:e.array(e.string().trim().min(1).max(200)),placements:e.array(e.enum(["local","remote","colocated","provider_native"])),controls:e.object({cancel:e.boolean(),stopAfterGroup:e.boolean(),resumeFromCheckpoint:e.boolean()}).strict(),limits:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive(),maximumArtifactBytes:e.number().int().positive()}).strict(),checkedAt:xe,expiresAt:xe}).strict();function Ms(t){let a={};return new Headers(t).forEach((r,n)=>{a[n]=r}),a}c(Ms,"headersRecord");function Iv(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function n(i,s,o=ur){let u=s?.method===void 0||s.method.toUpperCase()==="GET"?3:1;for(let d=1;d<=u;d+=1){let m;try{let g=typeof t.headers=="function"?await t.headers():t.headers??{};m=await a(`${r}${i}`,{...s,headers:{accept:mr,...s?.body?{"content-type":mr}:{},...Ms(g),...Ms(s?.headers)}})}catch(g){if(d===u||s?.signal?.aborted||!$s(null,g))throw g;await new Promise(v=>setTimeout(v,250*2**(d-1)));continue}let p=pr(await m.text(),o,"Training API response");if(m.ok)return p;let h=qm(p,m.status);if(d===u||!$s(m.status,h))throw h;await new Promise(g=>setTimeout(g,250*2**(d-1)))}throw new E("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return c(n,"request"),{postTraining:Es({request:n}),...Zl(n),...Jl(n),...tm(n),...im(n),async capabilities(){return $m.parse(et(await n("/v1/training/capabilities"),"capabilities"))},async stageArtifact(i){let s=await gm(i);return fm.parse(et(await n("/v1/training/artifacts",{method:"POST",body:JSON.stringify(s)}),"artifact"))},async createJob(i){let s=await _m(i);return ra.parse(et(await n("/v1/training/jobs",{method:"POST",body:JSON.stringify(s)}),"job"))},async listJobs(i={}){let s=new URLSearchParams;i.modelProjectId&&s.set("modelProjectId",V.parse(i.modelProjectId)),i.cursor&&s.set("cursor",e.string().trim().min(1).max(2e3).parse(i.cursor)),i.limit!==void 0&&s.set("limit",String(e.number().int().min(1).max(1e3).parse(i.limit)));let o=s.size>0?`?${s.toString()}`:"";return Hm.parse(await n(`/v1/training/jobs${o}`))},async getJob(i){return ra.parse(et(await n(`/v1/training/jobs/${encodeURIComponent(V.parse(i))}`),"job"))},async cancelJob(i,s){let o=Cs.parse({expectedVersion:s});return ra.parse(et(await n(`/v1/training/jobs/${encodeURIComponent(V.parse(i))}/cancel`,{method:"POST",body:JSON.stringify(o)}),"job"))},async stopAfterGroup(i,s){let o=Cs.parse({expectedVersion:s});return ra.parse(et(await n(`/v1/training/jobs/${encodeURIComponent(V.parse(i))}/stop-after-group`,{method:"POST",body:JSON.stringify(o)}),"job"))},async events(i){return e.array(jm).parse(et(await n(`/v1/training/jobs/${encodeURIComponent(V.parse(i))}/events`),"events"))},async outputs(i){return Cm.parse(await n(`/v1/training/jobs/${encodeURIComponent(V.parse(i))}/outputs`))},async evaluationTasks(i,s,o={}){let l=V.parse(i),u=H.parse(s),d=new URLSearchParams,m=o.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(o.cursor),p=m===void 0?0:e.number().int().min(1).max(9999).parse(Number(m));m!==void 0&&d.set("cursor",m),o.limit!==void 0&&d.set("limit",String(e.number().int().min(1).max(100).parse(o.limit)));let h=d.size?`?${d.toString()}`:"";return dm(await n(`/v1/training/jobs/${encodeURIComponent(l)}/evaluations/${encodeURIComponent(u.id)}/tasks${h}`),{jobId:l,evaluation:u,offset:p})},async logs(i){return e.array(Em).max(1e5).parse(et(await n(`/v1/training/jobs/${encodeURIComponent(V.parse(i))}/logs`),"logs"))}}}c(Iv,"createTrainingClient");function $s(t,a){return t!==null?t===408||t===429||t>=500:a instanceof zs?a.retryable:a instanceof E?a.code==="invalid_error_response":a instanceof TypeError}c($s,"trainingReadFailureIsRetryable");function et(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}c(et,"unwrapObject");function qm(t,a){let r=Mm.safeParse(t);return r.success?new zs(a,r.data):new E("invalid_error_response",`Training request failed with HTTP ${a} and an invalid error envelope.`)}c(qm,"trainingApiError");export{Qe as a,Ch as b,ka as c,or as d,oe as e,Dn as f,Js as g,cr as h,dr as i,On as j,A as k,F as l,N as m,We as n,Ln as o,Fn as p,Lt as q,eo as r,Nn as s,ao as t,Jm as u,ya as v,Km as w,Me as x,Un as y,Wm as z,b as A,R as B,M as C,S as D,qe as E,G as F,f as G,He as H,Ia as I,vu as J,bu as K,Bo as L,Su as M,yu as N,Sr as O,dt as P,Gt as Q,fp as R,hp as S,gp as T,vp as U,bp as V,Bc as W,kp as X,Sp as Y,Uc as Z,Kc as _,Wc as $,Pa as aa,td as ba,_t as ca,Da as da,Kt as ea,Va as fa,ce as ga,cd as ha,lt as ia,Ap as ja,ct as ka,Cp as la,Wt as ma,dd as na,Mp as oa,_r as pa,Op as qa,Hr as ra,Ai as sa,Ci as ta,jr as ua,Mi as va,ze as wa,be as xa,Xe as ya,mt as za,$r as Aa,ut as Ba,X as Ca,jt as Da,ps as Ea,fs as Fa,hs as Ga,de as Ha,xl as Ia,kd as Ja,Sd as Ka,xf as La,yd as Ma,wd as Na,Rd as Oa,Td as Pa,ee as Qa,_d as Ra,Li as Sa,pt as Ta,zd as Ua,Ee as Va,Ki as Wa,Or as Xa,Pt as Ya,Nd as Za,Ud as _a,Yi as $a,Br as ab,Ja as bb,Kd as cb,Vr as db,Zt as eb,Mf as fb,$f as gb,qf as hb,Df as ib,as as jb,Of as kb,Yd as lb,bs as mb,Xh as nb,Qh as ob,Tl as pb,Il as qb,og as rb,ht as sb,ws as tb,Sg as ub,yg as vb,Cl as wb,Ml as xb,wg as yb,Kr as zb,Hg as Ab,Wr as Bb,Yr as Cb,Xr as Db,Cg as Eb,qg as Fb,Dg as Gb,Og as Hb,Bg as Ib,Qr as Jb,ev as Kb,Hs as Lb,js as Mb,Vl as Nb,zl as Ob,Fl as Pb,tv as Qb,rv as Rb,nv as Sb,Ds as Tb,Ps as Ub,en as Vb,As as Wb,dm as Xb,Sv as Yb,wv as Zb,um as _b,xv as $b,Rv as ac,hm as bc,gm as cc,Im as dc,_m as ec,ra as fc,jm as gc,Am as hc,Tv as ic,Cm as jc,zs as kc,Iv as lc,Ua as mc,Xt as nc,is as oc,Lr as pc,Fr as qc,el as rc,Wa as sc,Na as tc,sl as uc,ol as vc,ea as wc,ml as xc,ul as yc,pl as zc,hl as Ac,ds as Bc,gl as Cc,vl as Dc,ms as Ec,us as Fc,bl as Gc};
|