openpond 0.2.58 → 0.2.59
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 +1 -1
- package/dist/app-server.js +1 -1
- package/dist/chunks/{actions-command-QU4H53OG.js → actions-command-JJ3CU7J6.js} +1 -1
- package/dist/chunks/{app-layer-NSTE5HIT.js → app-layer-KAUZAHGE.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-JHGWLBXT.js → app-server-connected-apps-SXGZOUJJ.js} +1 -1
- package/dist/chunks/{app-server-evaluations-K52NAQLP.js → app-server-evaluations-N4OMTPCI.js} +1 -1
- package/dist/chunks/{app-server-harness-services-QMUOEYOA.js → app-server-harness-services-DDFUMNYC.js} +1 -1
- package/dist/chunks/app-server-runtime-SVB6L26M.js +2 -0
- package/dist/chunks/{apps-BKTOR4F7.js → apps-EZB56RHV.js} +1 -1
- package/dist/chunks/{chunk-SDXFLO7J.js → chunk-22VMH6JV.js} +1 -1
- package/dist/chunks/{chunk-FTEOCCPB.js → chunk-25JDHAZ5.js} +1 -1
- package/dist/chunks/{chunk-HDGTHRY7.js → chunk-2G4BEISF.js} +1 -1
- package/dist/chunks/{chunk-O72BSKSO.js → chunk-2L5XWJJ5.js} +1 -1
- package/dist/chunks/{chunk-QL4OIPEZ.js → chunk-2RNQQNB7.js} +2 -2
- package/dist/chunks/{chunk-O6ULLQJ6.js → chunk-2WKUBGIF.js} +1 -1
- package/dist/chunks/{chunk-F4KOGISR.js → chunk-37MWETFU.js} +1 -1
- package/dist/chunks/{chunk-D74JEERO.js → chunk-3CDEBKSU.js} +1 -1
- package/dist/chunks/{chunk-APB4O67E.js → chunk-4EDIRCD3.js} +1 -1
- package/dist/chunks/{chunk-JYKRR7E5.js → chunk-4GPXTISD.js} +1 -1
- package/dist/chunks/chunk-57TRXBLT.js +3 -0
- package/dist/chunks/{chunk-LQQNBVEB.js → chunk-76M2MEHV.js} +1 -1
- package/dist/chunks/{chunk-HCYX6RHP.js → chunk-776WNDV2.js} +1 -1
- package/dist/chunks/{chunk-RWWE5OXU.js → chunk-7AVNZF36.js} +1 -1
- package/dist/chunks/{chunk-65PL62KH.js → chunk-7K7O3CKY.js} +1 -1
- package/dist/chunks/chunk-7UH4YDA7.js +3 -0
- package/dist/chunks/{chunk-IIZ4CWBX.js → chunk-ABZ2ZOLU.js} +1 -1
- package/dist/chunks/{chunk-ZRDGQDZL.js → chunk-ANFDRKUU.js} +1 -1
- package/dist/chunks/{chunk-JUHZ5S3R.js → chunk-AQD7K4Z5.js} +1 -1
- package/dist/chunks/{chunk-4D7HWVWD.js → chunk-ARLOVWQ3.js} +1 -1
- package/dist/chunks/{chunk-7SC46OFC.js → chunk-ATAOHSFR.js} +1 -1
- package/dist/chunks/{chunk-TTVS6JMC.js → chunk-BE6SS65L.js} +2 -2
- package/dist/chunks/{chunk-Z54O534A.js → chunk-BGJYITVI.js} +1 -1
- package/dist/chunks/{chunk-BLXEAZCQ.js → chunk-BL3YH2QU.js} +1 -1
- package/dist/chunks/{chunk-2D4Y3HNW.js → chunk-BO5JZYWG.js} +1 -1
- package/dist/chunks/{chunk-ZGTOK7ZK.js → chunk-BQS7Z4AP.js} +1 -1
- package/dist/chunks/{chunk-NH6UUX5S.js → chunk-BRORSFJX.js} +3 -3
- package/dist/chunks/{chunk-HPBQ4VTW.js → chunk-BVQWVIGK.js} +1 -1
- package/dist/chunks/{chunk-SWUEFLOH.js → chunk-C37PUHA6.js} +1 -1
- package/dist/chunks/{chunk-3VUATFZD.js → chunk-CGWA54LE.js} +1 -1
- package/dist/chunks/{chunk-NC27T4AB.js → chunk-CKMSBAI2.js} +1 -1
- package/dist/chunks/{chunk-TJ6GVTYB.js → chunk-COHMDT7A.js} +7 -7
- package/dist/chunks/{chunk-JDEEWOD7.js → chunk-DPHAN6N3.js} +1 -1
- package/dist/chunks/{chunk-YOQRYNLP.js → chunk-DZUN5YWB.js} +1 -1
- package/dist/chunks/{chunk-ROGF26KV.js → chunk-E72UU4VX.js} +1 -1
- package/dist/chunks/{chunk-ABD5M2D2.js → chunk-EOBHQ3JT.js} +1 -1
- package/dist/chunks/chunk-EQOV34UH.js +2 -0
- package/dist/chunks/chunk-EUMXMT3S.js +2 -0
- package/dist/chunks/{chunk-773TH7FN.js → chunk-EWOSLZDX.js} +1 -1
- package/dist/chunks/{chunk-HIOKCIL7.js → chunk-FAYASU7Z.js} +1 -1
- package/dist/chunks/{chunk-EIRYMSEG.js → chunk-FKJHEZCW.js} +1 -1
- package/dist/chunks/{chunk-Q2QL6UWN.js → chunk-GL3NX3F3.js} +1 -1
- package/dist/chunks/{chunk-UKMA4R6X.js → chunk-GOPFFQZU.js} +1 -1
- package/dist/chunks/{chunk-RAXOSUSW.js → chunk-GUOLMLZN.js} +1 -1
- package/dist/chunks/{chunk-YNH3NMPF.js → chunk-GVZLGS2U.js} +1 -1
- package/dist/chunks/chunk-GYJQKCEO.js +5 -0
- package/dist/chunks/{chunk-XDQMGUWL.js → chunk-H7ATCPPB.js} +1 -1
- package/dist/chunks/{chunk-XX6SMFDY.js → chunk-IFDALGZE.js} +4 -4
- package/dist/chunks/{chunk-H4QHIHMK.js → chunk-IRV6GWGG.js} +3 -3
- package/dist/chunks/chunk-JFXINDOQ.js +3 -0
- package/dist/chunks/{chunk-PRGBLQVH.js → chunk-JMBQYBPI.js} +1 -1
- package/dist/chunks/{chunk-DBK66CJP.js → chunk-JQKSXCAJ.js} +1 -1
- package/dist/chunks/{chunk-DARVPBZ4.js → chunk-JUQMSHNR.js} +1 -1
- package/dist/chunks/{chunk-3Z47M3YY.js → chunk-K44RHALX.js} +1 -1
- package/dist/chunks/{chunk-4EPSHPZL.js → chunk-KO3HNMLJ.js} +1 -1
- package/dist/chunks/{chunk-4NESNOK5.js → chunk-LNCHFVHT.js} +1 -1
- package/dist/chunks/{chunk-7E6T7GP5.js → chunk-LPWBIGKW.js} +1 -1
- package/dist/chunks/{chunk-X2HIHF2I.js → chunk-MFMYWZK2.js} +1 -1
- package/dist/chunks/{chunk-A6USMRWK.js → chunk-MMQRHR3V.js} +1 -1
- package/dist/chunks/{chunk-I7AQMAQI.js → chunk-MNC4YUDI.js} +6 -6
- package/dist/chunks/{chunk-RNQF63ZR.js → chunk-N6ENLEMY.js} +2 -2
- package/dist/chunks/{chunk-JAJ46T5X.js → chunk-NTB2O4RP.js} +1 -1
- package/dist/chunks/{chunk-OQKJGTTO.js → chunk-O3RF72BT.js} +1 -1
- package/dist/chunks/{chunk-JE7RJZOA.js → chunk-O4VIXU7A.js} +1 -1
- package/dist/chunks/{chunk-5MCNZCVQ.js → chunk-OLDK2LKJ.js} +1 -1
- package/dist/chunks/{chunk-VVCKLCF3.js → chunk-OX3XZKGK.js} +2 -2
- package/dist/chunks/{chunk-SDAUS5PY.js → chunk-P2RSBSCT.js} +1 -1
- package/dist/chunks/{chunk-EKM2D7JU.js → chunk-PFSMXKTI.js} +1 -1
- package/dist/chunks/{chunk-FUOEIDMA.js → chunk-PH6IORGZ.js} +1 -1
- package/dist/chunks/{chunk-L3KCP52O.js → chunk-PQJTYOR2.js} +1 -1
- package/dist/chunks/{chunk-OLLLZVHF.js → chunk-PY6K2JRH.js} +1 -1
- package/dist/chunks/{chunk-EYPCBBMS.js → chunk-RBZH6A6M.js} +1 -1
- package/dist/chunks/{chunk-6QSSIT62.js → chunk-RZUEVS64.js} +1 -1
- package/dist/chunks/{chunk-Q5LEXXJG.js → chunk-SF5HJ7PL.js} +4 -4
- package/dist/chunks/{chunk-NHQ36THU.js → chunk-TG7P7BSV.js} +1 -1
- package/dist/chunks/{chunk-G3RXYI2L.js → chunk-TIHXUKFD.js} +1 -1
- package/dist/chunks/{chunk-QOGJAQDO.js → chunk-TKLBP3MM.js} +1 -1
- package/dist/chunks/{chunk-M4JWQSV7.js → chunk-U2MAPON2.js} +1 -1
- package/dist/chunks/chunk-U5FKRYJO.js +86 -0
- package/dist/chunks/{chunk-QNG27G3T.js → chunk-V34H7Y2T.js} +2 -2
- package/dist/chunks/chunk-VGRMAGOK.js +9 -0
- package/dist/chunks/chunk-VRODAXFS.js +145 -0
- package/dist/chunks/{chunk-EIEZHFIW.js → chunk-WC42WOLG.js} +1 -1
- package/dist/chunks/{chunk-OS3LO5J3.js → chunk-WRI4XKSK.js} +1 -1
- package/dist/chunks/{chunk-4EQA2M7K.js → chunk-XJZSIXEO.js} +2 -2
- package/dist/chunks/{chunk-25MBPJVY.js → chunk-XMKCCLGB.js} +1 -1
- package/dist/chunks/{chunk-HZEIRHEB.js → chunk-XMWXH7TS.js} +1 -1
- package/dist/chunks/chunk-YCQSVHCD.js +9 -0
- package/dist/chunks/{chunk-B7RFL4N2.js → chunk-YHHF4Q7Y.js} +1 -1
- package/dist/chunks/{chunk-DMVD2RFZ.js → chunk-ZAN4DYLH.js} +1 -1
- package/dist/chunks/{chunk-5IPFI25K.js → chunk-ZH3K7LKQ.js} +1 -1
- package/dist/chunks/cli-5DFVQL5Y.js +2 -0
- package/dist/chunks/{configuration-command-6C5UO7GE.js → configuration-command-JS6U3RMC.js} +1 -1
- package/dist/chunks/connected-app-executor-UBMGMV76.js +2 -0
- package/dist/chunks/{connected-evidence-GH2ATNEX.js → connected-evidence-NLAIEVQ3.js} +1 -1
- package/dist/chunks/connection-NZSD3U5O.js +2 -0
- package/dist/chunks/{continual-6CQAMTTR.js → continual-WFPIDWPH.js} +1 -1
- package/dist/chunks/core-commands-U4IBRRY5.js +2 -0
- package/dist/chunks/{datasets-7BNMVJOY.js → datasets-UX47DTTB.js} +1 -1
- package/dist/chunks/{desktop-test-3CUHVLXV.js → desktop-test-UUU7PD4P.js} +1 -1
- package/dist/chunks/{dist-VYC5VMQB.js → dist-OGLX76LL.js} +1 -1
- package/dist/chunks/{dist-ZVJPJLXR.js → dist-W5MJYSPF.js} +1 -1
- package/dist/chunks/{evaluation-coordination-XEF5L7KZ.js → evaluation-coordination-3YQN5JQW.js} +1 -1
- package/dist/chunks/{experiment-improvements-KRX2DP27.js → experiment-improvements-ZRVD2AGY.js} +1 -1
- package/dist/chunks/{experiments-DFGQYA4O.js → experiments-JEB5A2N5.js} +1 -1
- package/dist/chunks/{extension-XKXXOP5N.js → extension-JCUA3RWV.js} +1 -1
- package/dist/chunks/{help-S7THC6IE.js → help-KA4OINP5.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-2URLU5SG.js +2 -0
- package/dist/chunks/host-profile-external-dataset-B2AQNSDR.js +2 -0
- package/dist/chunks/{hosted-app-server-composition-T5IWGOTA.js → hosted-app-server-composition-VJQ3FM4I.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-HVMDGS75.js → hosted-experiment-improvement-42YWXB3P.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-BM4WONJN.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-EXNN6MVN.js → hosted-profile-candidate-HVVC43XQ.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-RKDWHYK3.js +2 -0
- package/dist/chunks/{hosted-profile-evaluation-control-TJVER3NW.js → hosted-profile-evaluation-control-57V24UGU.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-ZUANDYZ6.js → hosted-profile-evaluation-inspection-BUWLCKCD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-ORVZ6MBD.js → hosted-profile-evaluation-preparation-3XLRR6UH.js} +1 -1
- package/dist/chunks/{hosted-tasksets-ANAE2PIW.js → hosted-tasksets-THKM5QY5.js} +1 -1
- package/dist/chunks/{human-review-WR777ODH.js → human-review-CSYAW4PC.js} +1 -1
- package/dist/chunks/import-CBDJ4DME.js +3 -0
- package/dist/chunks/local-harness-improvement-runtime-3T6E7I5Q.js +2 -0
- package/dist/chunks/local-harness-taskset-review-LQPQBALH.js +2 -0
- package/dist/chunks/{opchat-T4QTNEIY.js → opchat-6ADSONAD.js} +1 -1
- package/dist/chunks/{organizations-75L5DZDV.js → organizations-GT24ZTCN.js} +1 -1
- package/dist/chunks/{profile-TFZMUEDR.js → profile-Y2MCSOUK.js} +1 -1
- package/dist/chunks/project-action-payload-GHSLE7K3.js +2 -0
- package/dist/chunks/{project-agent-6RRO233B.js → project-agent-YYSQIHVE.js} +1 -1
- package/dist/chunks/{published-experiment-source-HVP5IGRH.js → published-experiment-source-5TMGLKDM.js} +1 -1
- package/dist/chunks/refiner-profile-service-ZK7KAFP5.js +2 -0
- package/dist/chunks/{runtime-A7OZXM43.js → runtime-QFXCXSVB.js} +2 -2
- package/dist/chunks/{sandbox-command-IU5XFTJP.js → sandbox-command-U6346TVJ.js} +1 -1
- package/dist/chunks/{sandbox-template-C4V6T36U.js → sandbox-template-XWWPWWNR.js} +1 -1
- package/dist/chunks/saved-work-SWHZ4OLO.js +2 -0
- package/dist/chunks/{send-turn-XTAIS2JN.js → send-turn-SIXOZUVJ.js} +1 -1
- package/dist/chunks/{src-DZL5T2MT.js → src-6SHCCYEN.js} +1 -1
- package/dist/chunks/{src-R36AGJY7.js → src-EZAKCCUV.js} +103 -103
- package/dist/chunks/standalone-experiment-turn-owner-LIAQWTGI.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-LJPNG4SP.js → store-continual-support-reviews-GDX6CSUU.js} +1 -1
- package/dist/chunks/{store-conversation-serving-KPC62UEY.js → store-conversation-serving-W55XMDH4.js} +1 -1
- package/dist/chunks/{store-create-improve-SW5FTBTL.js → store-create-improve-A7E7CUPZ.js} +1 -1
- package/dist/chunks/{store-datasets-WMA7AJKN.js → store-datasets-HKF3EO7B.js} +1 -1
- package/dist/chunks/{store-evaluation-results-ZO6R653G.js → store-evaluation-results-645RFBGR.js} +1 -1
- package/dist/chunks/{store-human-review-7QQ7ZQ6P.js → store-human-review-F5KESW52.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-NADPXOTG.js → store-learned-preference-migration-validation-V27XD4I7.js} +1 -1
- package/dist/chunks/{store-local-experiments-SAULQSBN.js → store-local-experiments-HWQWNTIU.js} +1 -1
- package/dist/chunks/{store-model-batch-review-VKLDYGH3.js → store-model-batch-review-TOCSDVAP.js} +1 -1
- package/dist/chunks/{store-model-configuration-BYRJUR3C.js → store-model-configuration-6543ASY2.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-VB5GTLFY.js → store-sidebar-file-bookmarks-53B7QIGS.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-GWIOG2NH.js → store-sidebar-preferences-YXGEJVUO.js} +1 -1
- package/dist/chunks/{store-subagents-T7R2Z6TB.js → store-subagents-HRCAK7VZ.js} +1 -1
- package/dist/chunks/{store-task-inbox-QPE44OSS.js → store-task-inbox-WF74W4U2.js} +1 -1
- package/dist/chunks/{store-task-inventory-I3RDRI52.js → store-task-inventory-KHCTEZVK.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-2IULRV2W.js → store-taskset-drafts-3ACG5AVX.js} +1 -1
- package/dist/chunks/{store-training-B2TW2MLA.js → store-training-R46WOGXB.js} +1 -1
- package/dist/chunks/{store-training-jobs-VBNG23RL.js → store-training-jobs-D4LECE7O.js} +1 -1
- package/dist/chunks/{store-training-models-OMV5FIC4.js → store-training-models-EQVNXOVB.js} +1 -1
- package/dist/chunks/{taskset-EQRFQBYM.js → taskset-NR2X2UOK.js} +1 -1
- package/dist/chunks/{taskset-packages-XC6HEE3K.js → taskset-packages-ONULEIVI.js} +1 -1
- package/dist/chunks/{teams-bot-EAPGPTHZ.js → teams-bot-CHUYMD6K.js} +1 -1
- package/dist/chunks/{training-UF6RPI4T.js → training-IDSGYGU2.js} +1 -1
- package/dist/chunks/{web-search-CZ3NCLPY.js → web-search-BPON7H5N.js} +1 -1
- package/dist/chunks/{workspaces-EKKE5NAC.js → workspaces-2TJRDM5K.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/App-pcwmC4IR.js +154 -0
- package/dist/web/assets/{AppDialog-t2Fx5tK3.js → AppDialog-CdHad7GT.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-Dj1Y32oI.js → AppTerminalPanel-CrmoOgd4.js} +2 -2
- package/dist/web/assets/AppsView-0P6cBsD4.js +1 -0
- package/dist/web/assets/{BrowserSidebar-jhWi4rVm.js → BrowserSidebar-Cb6edJw6.js} +1 -1
- package/dist/web/assets/{CartesianChart-C1DIx0Ia.js → CartesianChart-B2Sxi0lv.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-Bdr-HmOL.js → CollaborationTabs-PP0AIXhb.js} +1 -1
- package/dist/web/assets/{CommandMenu-Ux2yOHAc.js → CommandMenu-GfQIMe6W.js} +1 -1
- package/dist/web/assets/{CommunityView-DPEeVKFn.js → CommunityView-V6KmMl5n.js} +1 -1
- package/dist/web/assets/ComposerCreateImproveStrip-oeVeyhPX.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-CuQcvVgE.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-PfUa8V7X.css +1 -0
- package/dist/web/assets/{GetStartedView-CFHP0AaI.js → GetStartedView-2oZ068h_.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-D8BGTPVN.js → HostedModelLearningReview-DLzak_Vf.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-JS1S7vNO.js → HostedModelLearningSettings-Eca6Pd9R.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-Dx5Q3xV2.js → LabModelVersionDetailPage-DsBblnMp.js} +1 -1
- package/dist/web/assets/LabSkillSidebar-DDknttrB.js +1 -0
- package/dist/web/assets/{LabsRoute-CyYF8-dw.js → LabsRoute-CgNiUHsy.js} +4 -4
- package/dist/web/assets/MainChatThread-yCVg99LU.js +2 -0
- package/dist/web/assets/MainPane-C86le7UF.js +65 -0
- package/dist/web/assets/{MarkdownText-BR4V6lNO.js → MarkdownText-BBVriBCj.js} +1 -1
- package/dist/web/assets/{NativeSkillSidebar-DU9IEgIO.js → NativeSkillSidebar-D2uVZkqh.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-mIy6FzCj.js → NewExperienceSwitcher-DuD6GScJ.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-RfTZTHxl.js → NewProjectDialog-B6XZkJrU.js} +1 -1
- package/dist/web/assets/OutputsPage-PUlmcWjv.js +1 -0
- package/dist/web/assets/{ProjectsPage-CE6QUB-b.js → ProjectsPage-DWBRmej6.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-HaCVep4t.js +1 -0
- package/dist/web/assets/{RightSidebarHomePanel-CK0rP3WT.js → RightSidebarHomePanel-BUtdPb2L.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-vOrYv8pp.js → ScheduledWorkPage-Dg9GkGrT.js} +1 -1
- package/dist/web/assets/SettingsView-DjjnCnlb.css +1 -0
- package/dist/web/assets/{SettingsView-DCKVrfjj.js → SettingsView-DtldfnV-.js} +4 -4
- package/dist/web/assets/{TeamChatView-Bwrjr-vk.js → TeamChatView-C71JX4je.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-DhPoKZAq.js → TerminalOverlay-B4F6Q36s.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-B9MxFzQx.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-C9cRX5qf.js → TrainingDraftPanel-7C48sHfC.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CrdcSGeW.js → UsageSettingsSection-CC57FcUB.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-DSSikNFQ.js → WorkSidebarPanel-Cto1usLM.js} +1 -1
- package/dist/web/assets/{WorkspaceDiffPanel-BAFo0CPN.js → WorkspaceDiffPanel-CL7wi3kp.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-BVHAhwnJ.js → WorkspaceEnvironmentMenu-zdzSDofs.js} +18 -18
- package/dist/web/assets/{WorkspaceGitDialogs-CwVoiDQ2.js → WorkspaceGitDialogs-CZSmjnrc.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-TxLyhzNp.js → WorkspaceMonacoEditor-TrUDJMKb.js} +3 -3
- package/dist/web/assets/agent-connections-4Dza2mDg.js +1 -0
- package/dist/web/assets/{arrow-up-right-C9aE8Mfz.js → arrow-up-right-xKb5kWQJ.js} +1 -1
- package/dist/web/assets/{chunk-P3BRSSRD-DUGfuKA8.js → chunk-P3BRSSRD-BsGTkgyC.js} +1 -1
- package/dist/web/assets/{clipboard-Dk158Qp4.js → clipboard-BgjV3aCx.js} +1 -1
- package/dist/web/assets/{cloud-upload-k9eqBsHr.js → cloud-upload-Bw9XUsKQ.js} +1 -1
- package/dist/web/assets/{cssMode-CO35ARZp.js → cssMode-DxsFJGb-.js} +1 -1
- package/dist/web/assets/{folder-open-sYgceW_f.js → folder-open-CbmUjIYS.js} +1 -1
- package/dist/web/assets/{folder-plus-CS0R49m9.js → folder-plus-slsst7Ct.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DrGxH2h4.js → git-commit-horizontal-BIS-8MuS.js} +1 -1
- package/dist/web/assets/{htmlMode-REMmzdfq.js → htmlMode-BE4VOrZo.js} +1 -1
- package/dist/web/assets/{index-C8aCGagb.js → index-DEg0S7Qk.js} +2 -2
- package/dist/web/assets/index-erq7hUne.css +1 -0
- package/dist/web/assets/{info-DLdbiUrh.js → info-5bL9xSSf.js} +1 -1
- package/dist/web/assets/{jsonMode-KEdMfkIf.js → jsonMode-CYimnBhD.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-5KZwEoxW.js → lspLanguageFeatures-CiFuk-P7.js} +1 -1
- package/dist/web/assets/{minimize-2-CqcI4zcM.js → minimize-2-BGVWKvTg.js} +1 -1
- package/dist/web/assets/{monaco.contribution-omszXBEj.js → monaco.contribution-BTY4dJ0f.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BJGj65F9.js → monaco.contribution-C7sMrcos.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DO10L0zW.js → monaco.contribution-DUE3CQph.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Cly9Wt7L.js → monaco.contribution-DkLVGT8N.js} +2 -2
- package/dist/web/assets/{monitor-BFVCcbxp.js → monitor-B5hx_tzp.js} +1 -1
- package/dist/web/assets/{play-C469pVZq.js → play-pmSO95Qg.js} +1 -1
- package/dist/web/assets/{python-Dw0YcVy9.js → python-CiZvL3LX.js} +1 -1
- package/dist/web/assets/{save-CtSjPydi.js → save-CvYL4DUg.js} +1 -1
- package/dist/web/assets/{square-BuImvLhT.js → square-DT_uFOml.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-DjCO9lIP.js → toggleHighContrast-CrE1_HY0.js} +1 -1
- package/dist/web/assets/{tsMode-BAOnxKd6.js → tsMode-CI_PdZmj.js} +1 -1
- package/dist/web/assets/{upload-2JkFZo3h.js → upload-PVi8vC3T.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-BNqAisfS.js → useLocalAgentSchedules-BHJNVf42.js} +1 -1
- package/dist/web/assets/useProviderSettings-CU3zXyie.js +5 -0
- package/dist/web/assets/{useProviderSettings-CmL_BaxP.css → useProviderSettings-Cktvzinz.css} +1 -1
- package/dist/web/assets/{useSessionTurnCache-BHU2-Jmz.js → useSessionTurnCache-BE7cipLX.js} +1 -1
- package/dist/web/assets/{wifi-off-CpOAH62M.js → wifi-off-7WiFuOhD.js} +1 -1
- package/dist/web/assets/{workers-0QvlA2T5.js → workers-Cv8r4CvM.js} +1 -1
- package/dist/web/assets/{yaml-BK3qxo7D.js → yaml-Bj7mdkV2.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/command-reference.md +10 -3
- package/docs/conversation-imports.md +57 -0
- package/package.json +1 -1
- package/dist/chunks/app-server-runtime-ISGGLQHU.js +0 -2
- package/dist/chunks/chunk-6UDGARFC.js +0 -143
- package/dist/chunks/chunk-FV2R5RUN.js +0 -3
- package/dist/chunks/chunk-HY3GOBFJ.js +0 -58
- package/dist/chunks/chunk-I3HZKJB3.js +0 -2
- package/dist/chunks/chunk-I3VVWNUW.js +0 -5
- package/dist/chunks/chunk-KG325WTN.js +0 -2
- package/dist/chunks/chunk-VRIEKBBH.js +0 -9
- package/dist/chunks/chunk-WJ43MJ3F.js +0 -2
- package/dist/chunks/chunk-ZTNHW2K7.js +0 -10
- package/dist/chunks/cli-XZENDZ7Z.js +0 -2
- package/dist/chunks/connected-app-executor-LQNIU5NR.js +0 -2
- package/dist/chunks/connection-HTF6CC7M.js +0 -2
- package/dist/chunks/core-commands-A2DGGIPS.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-JOFBL5OF.js +0 -2
- package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +0 -2
- package/dist/chunks/hosted-harness-runtime-YCKB6NBI.js +0 -2
- package/dist/chunks/hosted-profile-compiler-IYLLHCRY.js +0 -2
- package/dist/chunks/import-MLZUHITH.js +0 -4
- package/dist/chunks/local-harness-improvement-runtime-QRFGPFRM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-HR7KLY4B.js +0 -2
- package/dist/chunks/project-action-payload-JDS6OQAW.js +0 -2
- package/dist/chunks/refiner-profile-service-FDTQKY33.js +0 -2
- package/dist/chunks/saved-work-SHEEDZ6Z.js +0 -2
- package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +0 -2
- package/dist/web/assets/App-s-CJswyt.js +0 -154
- package/dist/web/assets/AppsView-BYE5EBDJ.js +0 -1
- package/dist/web/assets/ComposerCreateImproveStrip-CEgh4OtN.js +0 -1
- package/dist/web/assets/LabSkillSidebar-BxffN-pN.js +0 -1
- package/dist/web/assets/MainChatThread-DZpcFRFl.js +0 -2
- package/dist/web/assets/MainPane-5DTtwVCk.js +0 -65
- package/dist/web/assets/OutputsPage-Cr1Spf7S.js +0 -1
- package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +0 -1
- package/dist/web/assets/SettingsView-Dulr_xlq.css +0 -1
- package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +0 -1
- package/dist/web/assets/index-3iPNbbER.css +0 -1
- package/dist/web/assets/useProviderSettings-C4L4wDoh.js +0 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as E,b as $,d as st,e as J,f as Oa,g as M,h as Va,i as ot,k as K,l as f,m as W}from"./chunk-WN3V6KDN.js";import{G as Rt,a as yt,c as Ba,d as Re,e as wt,h as w,i as x,j as T,k as pe,l as Da,m as S,n as j,o as kt,q as Ua}from"./chunk-523TE4BI.js";import{d as ta,l as Ma,o as za}from"./chunk-APB2STJK.js";import{A as Sa,Y as ae,cb as qa,da as re,f as va,ha as it,ja as nt,ka as $a,oa as ie,qa as ne,t as ba,v as et}from"./chunk-Y4OWBBDD.js";import{$ as xt,D as ya,F as at,H as wa,K as ka,N as H,Nb as Ha,O as D,P as C,Pb as ja,Q as rt,Sb as Ea,_b as Aa,aa as Ra,ab as Ta,b as ye,ba as ke,c as Ye,d as q,e as we,gc as Ca,ha as _a,jc as Pa,o as ue,r as Oe,sb as Ia,v as tt,y as xa}from"./chunk-VYLGI3IH.js";import{Aa as la,B as ia,C as na,Ea as le,Ha as ua,Ja as pa,Ka as fa,La as B,M as sa,Ta as Ze,_a as St,db as ha,ea as oa,jb as ga,ka as ca,l as Me,n as vt,na as bt,oa as ze,p as aa,pa as da,qa as te,sa as Xe,va as ma,w as Qe,z as ra,za as me}from"./chunk-ACYFMLWG.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as m}from"./chunk-FTQLQJQV.js";var fe=ue.shape.id,Ve=e.string().regex(/^[a-f0-9]{64}$/),ri=e.object({scopeId:fe,modelId:fe}).strict(),_t=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:ri,root:ue,parent:ue}).strict(),eo=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:fe,modelId:fe,expectedModelRevision:e.number().int().positive(),sourcePackageHash:Ve}).strict(),to=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:fe,requestHash:Ve,sourcePackageHash:Ve,sourceTasksetRef:ue,tasksetId:fe,tasksetRevision:e.number().int().positive(),lineage:_t,authoringGraph:e.literal("bound").optional()}).strict(),Ga=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."),ii=e.object({path:Ga,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),Na=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),ao=ii.extend({contentHash:Ve,content:Na}).strict(),ro=e.object({draftId:fe,expectedDraftRevision:e.number().int().positive(),path:Ga,expectedFileHash:Ve.nullable(),content:Na.nullable()}).strict();var oo=e.object({provider:E,model:E,revision:e.string().trim().min(1).max(500).nullable().default(null),artifactHash:$.nullable().default(null),tokenizerRevision:e.string().trim().min(1).max(500).nullable().default(null),chatTemplateHash:$.nullable().default(null)}).strict(),ni=["openpond","codex","claude-code","grok-build","opencode","anthropic","openai","xai","google","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],si=e.templateLiteral(["acp:",e.string().regex(/^[a-z0-9][a-z0-9-]{0,100}$/)]),oi=e.union([e.enum(ni),si]),ct=e.object({providerId:oi,modelId:e.string().trim().min(1).max(300)});var ci=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:ta,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(),U=e.string().trim().min(1).max(240),Z=e.string().trim().min(1),se=e.string().trim().min(8).max(256),La=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."),ge=e.enum(["train","validation","test","frozen_eval"]),di=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"])}),mi=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(di).min(1).max(1e4),schemaHash:se}),li=e.object({id:U,split:ge,path:La,contentHash:se,schemaHash:se,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),It=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:U,tasksetId:U,tasksetRevision:e.number().int().positive(),contentHash:se,format:e.literal("parquet"),schema:mi,shards:e.array(li).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(ge,e.number().int().nonnegative()),sourceReceiptRefs:e.array(U).min(1).max(1e5),mappingHash:se,qualityReportHash:se,createdAt:Z}),vo=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:U,tasksetId:U,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(ge,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:se,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Z}),ui=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:U,tasksetRevision:e.number().int().positive(),artifactId:U.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(ge,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Z,updatedAt:Z}),bo=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:U,datasets:e.array(ui),generatedAt:Z}),So=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:It,profileId:U,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:La,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:Z.nullable(),createdAt:Z,updatedAt:Z}),xo=e.object({split:ge.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([])}),yo=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:U,tasksetRevision:e.number().int().positive(),artifactHash:se,split:ge.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()}),pi=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:Z}),fi=e.object({id:U,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()}),wo=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:pi,storageRoots:e.array(fi)}),ko=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)}),Te=e.string().trim().min(1).max(240),hi=e.string().trim().min(1),Ie=e.string().trim().min(8).max(256),gi=e.record(e.string(),e.unknown()).default({}),vi=e.string().trim().min(7).max(256),bi=e.enum(["pending","approved","review","blocked"]),lt=e.object({id:Te,profileId:Te,title:e.string().trim().min(1).max(500),sourceHash:Ie,occurredAt:hi,licensingStatus:bi,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:gi}),Si=lt.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:vi,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(Ie).min(1).max(1e5)}),xi=lt.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(Ie).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),yi=lt.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:Te,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:Ie}),wi=lt.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:Te,revision:e.number().int().positive(),contentHash:Ie}).strict(),taskDefinition:e.object({id:Te,revision:e.number().int().positive(),contentHash:Ie}).strict(),admittedBy:Te}),ki=e.discriminatedUnion("kind",[Si,xi,yi,wi]),Ri=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:E,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:$,agentRelease:J,implementationHash:$,runtimeBindingId:E,capabilityReceiptHash:$,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:E,source:e.literal("case_id")}).strict()).max(20).default([])}).strict(),y=e.string().trim().min(1).max(240),Ht=e.string().trim().min(1),_i=e.string().trim().min(8).max(256),jt=e.string().trim().regex(/^[a-f0-9]{64}$/),Ti=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),G=e.record(e.string(),e.unknown()).default({}),ut=y.nullable();function De(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}m(De,"safeRelativeFilePath");function Ii(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}m(Ii,"safeFileName");var mt=ge,Ja=e.enum(["general","benchmark"]),Ka=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:y,releaseId:y,releaseHash:jt,managedReleasePath:e.string().trim().min(1).max(1e3).refine(De,"Benchmark release paths must remain relative."),adaptationSplit:mt,evaluationSplit:mt,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:G}),Wa=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:y,releaseHash:jt,publishedAt:Ht,metadata:G}),Hi=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:ut,grantedAt:Ht.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),ji=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:y,profileId:y,sessionId:y,turnIds:e.array(y).max(1e3).default([]),workspaceId:ut,sourceHash:_i,clusterKey:y,title:e.string().trim().min(1).max(500),occurredAt:Ht,consent:Hi,connectedAppIds:e.array(y).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:G}),Qa=e.union([ji,ki,ci]),Xa=e.object({policyVisibleFields:e.array(y).max(1e3).default([]),privilegedFields:e.array(y).max(1e3).default([]),hiddenGraderRefs:e.array(y).max(100).default([]),connectedAppScopes:e.array(y).max(100).default([])}),Ei=e.object({id:y,sourceRefId:y,artifactRef:e.string().trim().min(1).max(4e3).refine(De,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Ii,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:jt,sizeBytes:e.number().int().nonnegative().max(25e7),split:mt,metadata:G}),Ai=e.object({path:e.string().trim().min(1).max(1e3).refine(De,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:y.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:G}),Ya=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:y,clusterKey:y,split:mt,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:ut,sourceRefs:e.array(y).min(1).max(100),assets:e.array(Ei).max(1e3).optional(),resourceRefs:e.array(y).max(1e3).optional(),requiredOutputs:e.array(Ai).max(100).optional(),tags:e.array(y).max(100).default([]),metadata:G}),Ci=e.object({id:y,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(De,"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:G}),He=e.object({id:y,taskId:ut,sourceRefs:e.array(y).min(1).max(100),artifactRef:y,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:G}),Za=He.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),er=He.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)}),tr=He.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),ar=He.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),rr=He.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:y,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),ir=He.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:y,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)})}),jo=e.discriminatedUnion("kind",[Za,er,tr,ar,rr,ir]),nr=e.object({demonstrations:e.array(Za).max(1e5).default([]),preferences:e.array(er).max(1e5).default([]),corrections:e.array(tr).max(1e5).default([]),feedback:e.array(ar).max(1e5).default([]),rewards:e.array(rr).max(1e5).default([]),labels:e.array(ir).max(1e5).default([])}),sr=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(y).max(200).default([]),actionBindings:e.array(Ri).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(Ci).max(1e4).optional(),metadata:G}),or=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([])}),pt=e.object({id:y,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:G}),Pi=pt.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),$i=pt.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:ct,calibrationFixtureRefs:e.array(y).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),qi=pt.extend({kind:e.literal("human"),form:sa.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),Mi=pt.extend({kind:e.literal("custom_verifier"),runtime:ca.optional(),module:e.string().trim().min(1).max(1e3).refine(De,"Custom verifier modules must use a safe relative path."),exportName:Ti,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),N=e.union([Pi,$i,qi,Mi]),zi=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),Et=e.object({id:y,taskId:y,label:zi,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:G}),dt=e.string().regex(/^[a-f0-9]{64}$/),qo=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:j,inputHash:dt,seed:e.number().int(),initialStateHash:dt,finalStateHash:dt,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:dt}).strict();var Be=e.object({environment:ae,verifierSet:re,javascript:Ma}).strict(),Mo=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 At(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}`}m(At,"modelStarterExecutionAssetId");function Oi(t){let a=Be.parse(t);cr(a);let r=At({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),i=Ye({text:x(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:n,...s}=i;return C({...s,id:r,asset:{...s.asset,id:r}})}m(Oi,"createModelStarterExecutionAsset");function zo(t,a,r){if(a.id!==At(t)||a.asset.visibility!=="host_private"||a.asset.mediaType!=="application/json")throw new Error("Starter execution asset differs from its Taskset references.");let i=Be.parse(JSON.parse(q(a,a.asset)));return Ct(i,t,r),i}m(zo,"resolveModelStarterExecutionAsset");function he(t,a){return C({value:t}).contentHash===C({value:a}).contentHash}m(he,"equal");function cr(t){za(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...i}=a;if(C(i).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!he(t.environment.metadata.javascriptEnvironment,H(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}m(cr,"assertExecutionIntegrity");function Ct(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:i,verifierSet:n,javascript:s}=t;if(cr(t),!he(a.environmentRelease,{id:i.id,contentHash:i.contentHash})||!he(a.verifierSetRelease,{id:n.id,contentHash:n.contentHash})||!he(i.contract,a.environment)||!he(n.graders,a.graders)||!he(a.tools,s.tools)||!he(i.metadata.javascriptEnvironment,H(s)))throw new Error("Starter execution resources differ from its declared task context.");let o=i.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 d of[s.module,i.actionSchemaRef,i.observationSchemaRef,i.stateSchemaRef]){if(!d)continue;let u=r.find(c=>c.id===d.id);if(!u)throw new Error(`Starter environment asset is missing: ${d.id}.`);q(u,d)}for(let d of a.tasks){let u=r.find(l=>l.id===d.privilegedContextRef);if(!u||u.asset.visibility!=="host_private"||u.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${d.id}.`);let c=JSON.parse(q(u,u.asset));if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`Starter initial state must be a JSON object: ${d.id}.`);Me(c,s.maxStateBytes)}}m(Ct,"validateModelStarterExecution");var dr=e.object({environment:ae,verifierSet:re}).strict();function Vi(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}`}m(Vi,"modelTasksetExecutionResourcesAssetId");function Do(t){let a=dr.parse({environment:t.environment,verifierSet:t.verifierSet});Bi(a);let r=Vi({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),{contentHash:i,...n}=Ye({text:x(a),path:"environment/resources.json",mediaType:"application/json",visibility:"host_private"});return C({...n,id:r,asset:{...n.asset,id:r}})}m(Do,"createModelTasksetExecutionResourcesAsset");function Bi(t){if(!ie(t.environment)||!ne(t.verifierSet))throw new Error("Taskset execution resource integrity failed.")}m(Bi,"assertIntegrity");var mr=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),Di=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:mr,root:j,parent:j}).strict(),lr=e.object({taskset:te,taskDefinition:Oe,rewardBinding:le,rewards:e.array(me).min(1).max(100),assets:e.array(ye).max(1e3),executionResources:dr.optional(),execution:Be.optional(),instructionMode:e.literal("per_task").optional()}).strict(),Y=m((t,a)=>C({value:t}).contentHash===C({value:a}).contentHash,"same"),Fa=m((t,a)=>`model-taskset-${C({owner:t,root:a}).contentHash}`,"identity");function Ko(t){return Ui({...t,source:Pt(t.source)})}m(Ko,"deriveModelTaskset");function Ui(t){let a=mr.parse(t.owner),r=t.source,i=t.edits??r,n=r.taskset.metadata.modelTasksetDerivation===void 0?null:Di.parse(r.taskset.metadata.modelTasksetDerivation);if(n&&r.taskset.id!==Fa(n.owner,n.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let s=n&&Y(n.owner,a),o=s?n.root:H(r.taskset),d=s?r.taskset.id:Fa(a,o),u=s?r.taskset.revision+1:1,c=le.parse(t.rewardBinding),l=t.rewards.map(qe=>me.parse(qe)),p=B(c,l);if(c.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let h={...i.taskset.policy,hiddenGraderRefs:p.filter(qe=>qe.privileged).map(qe=>qe.id)},v=i.executionResources??i.execution,g=v?.environment??it({schemaVersion:"openpond.environmentRelease.v1",id:`${d}-environment`,revision:1,contract:i.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),b=nt({schemaVersion:"openpond.verifierSetRelease.v1",id:`${d}-verifiers`,revision:u,graders:p,isolation:v?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(i.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:v?{sourceVerifierSet:H(v.verifierSet)}:{}}),I={environment:g,verifierSet:b},xe=i.execution?{...i.execution,verifierSet:b}:void 0,{contentHash:Pe,...We}=i.taskset,{contentHash:Qt,...Xt}=i.taskDefinition,Yt={...Xt.execution,policy:h,environmentRelease:{id:g.id,contentHash:g.contentHash},verifierSetRelease:{id:b.id,contentHash:b.contentHash}},Zt=Oe.parse(C({...Xt,id:`${d}-definition`,revision:u,rewardBinding:H(c),execution:Yt})),$e=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,ea=$e&&typeof $e=="object"&&!Array.isArray($e)&&"graderFixtures"in $e?$e.graderFixtures:void 0,ai=te.parse(C({...We,...Yt,id:d,revision:u,graders:p,metadata:{starter:{taskDefinition:H(Zt),rewardBinding:H(c)},rewardExecution:{binding:c,rewards:l},...ea===void 0?{}:{starterAuthoring:{graderFixtures:ea}},...i.taskset.metadata.environmentResources===void 0?{}:{environmentResources:i.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:H(r.taskset)}}}));return Pt({taskset:ai,taskDefinition:Zt,rewardBinding:c,rewards:l,assets:t.assets,executionResources:I,...xe?{execution:xe}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}m(Ui,"compileModelTasksetReward");function Pt(t){let a=lr.parse(t),{taskset:r,taskDefinition:i,rewardBinding:n,rewards:s,assets:o,execution:d}=a;for(let b of[r,i,n,...s,...o])rt(b);if(Xe(r),n.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!D(i.rewardBinding,H(n)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:u,environment:c,environmentRelease:l,tools:p,capabilities:h,verifierSetRelease:v}=r;if(!Y(i.execution,{policy:u,environment:c,...l?{environmentRelease:l}:{},tools:p,capabilities:h,...v?{verifierSetRelease:v}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!Y(r.graders,B(n,s)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let b=e.object({taskDefinition:j,rewardBinding:j}).passthrough().parse(r.metadata.starter);if(!D(b.taskDefinition,H(i))||!D(b.rewardBinding,H(n)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!Y(r.metadata.rewardExecution,{binding:n,rewards:s}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!D(j.parse(r.metadata.rewardBinding),H(n)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let g=a.executionResources??d;if(r.environmentRelease&&!g)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(g&&(!ie(g.environment)||!ne(g.verifierSet)||!Y(r.environmentRelease,{id:g.environment.id,contentHash:g.environment.contentHash})||!Y(r.verifierSetRelease,{id:g.verifierSet.id,contentHash:g.verifierSet.contentHash})||!Y(r.environment,g.environment.contract)||!Y(r.graders,g.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(Ct(d,r,o),new Set(o.map(b=>b.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let b of o)q(b,b.asset);for(let b of g?[g.environment.actionSchemaRef,g.environment.observationSchemaRef,g.environment.stateSchemaRef]:[]){if(!b)continue;let I=o.find(xe=>xe.id===b.id);if(!I)throw new Error(`Taskset environment asset is missing: ${b.id}.`);q(I,b)}for(let b of r.tasks){if(i.requiredOutputs&&!Y(b.requiredOutputs,i.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${b.id}.`);if(a.instructionMode!=="per_task"&&b.policyVisibleContext.instructions!==i.instructions||!vt(i.inputSchema,b.input).valid||b.expectedOutput!==null&&!vt(i.outputSchema,b.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${b.id}.`);if(b.privilegedContextRef&&!o.some(I=>I.id===b.privilegedContextRef&&I.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${b.id}.`)}for(let b of s){let I=b.implementation,xe=[...b.assets,..."verifierRef"in I?[I.verifierRef]:[],..."rubricRef"in I?[I.rubricRef]:[],..."inputContract"in I?[I.inputContract]:[]];for(let Pe of xe){let We=o.find(Qt=>Qt.id===Pe.id);if(!We||Pe.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${Pe.id}.`);q(We,Pe)}}return a}m(Pt,"validateModelTasksetPackage");var ur=e.object({batch:at,evidence:e.array(xa).min(1).max(1e4),decisions:e.array(ya).min(1).max(1e4),sources:e.array(tt).min(1).max(1e4),assets:e.array(ye).max(1e3)}).strict();function Gi(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=x(a.submission.evaluatorContext),i=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:K(i),sizeBytes:i.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(i,n=>String.fromCharCode(n)).join(""))}})}m(Gi,"learningPackageContextFiles");function Ni(t,a){let r=ur.parse(a),i=ke(t);if(!D(H(r.batch),i.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let c of[r.evidence,r.decisions,r.sources,r.assets]){let l=new Set;for(let p of c){rt(p);let h=`${p.id}:${p.revision}`;if(l.has(h))throw new Error("Taskset learning resource identities must be unique.");l.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 c of r.evidence){let l=r.sources.find(p=>D(H(p),c.source));if(!l||!D(l.taskDefinition,H(i.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(c=>!r.evidence.some(l=>D(l.source,H(c)))))throw new Error("Taskset package includes an unrelated learning source.");let n=i.rewards.flatMap(c=>[...c.assets,...c.implementation.kind==="custom_verifier"?[c.implementation.verifierRef]:c.implementation.kind==="model_judge"||c.implementation.kind==="human"?[c.implementation.rubricRef]:[],..."inputContract"in c.implementation?[c.implementation.inputContract]:[]]);for(let c of n){let l=r.assets.find(p=>p.id===c.id);if(!l)throw new Error("Taskset learning Reward asset is missing.");q(l,c)}if(r.assets.some(c=>!n.some(l=>l.id===c.id)))throw new Error("Taskset package includes an unrelated learning asset.");let s=Ra({batch:r.batch,definition:i.definition,binding:i.binding,rewards:i.rewards,evidence:r.evidence,decisions:r.decisions}),o=ke(s);if(f(o)!==f(i))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let d=m(c=>({policy:c.policy,environment:c.environment,tools:c.tools}),"execution");if(f(d(s))!==f(d(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let u=m(c=>({id:c.id,clusterKey:c.clusterKey,split:c.split,input:c.input,expectedOutput:c.expectedOutput,policyVisibleContext:c.policyVisibleContext,privilegedContextRef:c.privilegedContextRef,artifactRefs:c.artifactRefs,requiredOutputs:c.requiredOutputs??[],tags:c.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}m(Ni,"validateTasksetLearningResources");var $t=64*1024*1024,pr=e.object({asset:M,base64:e.string().max(Math.ceil($t/3)*4)}).strict();function Ue(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 i=Uint8Array.from(r,n=>n.charCodeAt(0));if(i.byteLength!==a.asset.sizeBytes||K(i)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return i}m(Ue,"decodeTasksetPackageFile");function Fi(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=m(o=>{let d=a.get(o);if(!d)throw new Error(`Taskset environment asset is missing: ${o}.`);if(d.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let u=new TextDecoder("utf-8",{fatal:!0}).decode(Ue(d));return ye.parse(C({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:d.asset,text:u}))},"read"),i;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");i=Be.parse(t.modelResources.execution)}else{let o=r(At(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.");i=Be.parse(JSON.parse(o.text))}let s=[...new Set([i.javascript.module.id,...[i.environment.actionSchemaRef,i.environment.observationSchemaRef,i.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return Ct(i,t.taskset,s),{execution:i,assets:s}}m(Fi,"resolveTasksetPackageExecution");function Zo(t){let a=Oi(t),r=new TextEncoder().encode(a.text),i="";for(let n of r)i+=String.fromCharCode(n);return{asset:a.asset,base64:btoa(i)}}m(Zo,"createTasksetPackageExecutionFile");var fr=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:la,fixtureSet:M,calibrationCheck:ue,fixture:Ta,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:M,graderId:e.string().min(1).max(240).optional()}).strict();function hr(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:Et.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}m(hr,"authoredFixtures");function Li(t){for(let a of hr(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&Ji(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&gr(t,a.asset)}m(Li,"assertTasksetCalibrationClosures");function Ji(t,a){let r=fr.parse(a.metadata.rewardCalibration),i=gr(t,r.closureRef);(f(r.sourceReward)!==f(H(i.reward))||f(r.fixtureSet)!==f(i.reward.fixtureSetRef)||r.calibrationCheck.id!==i.check.id||r.calibrationCheck.revision!==i.check.revision||r.calibrationCheck.contentHash!==f(i.check))&&A("calibration_source_changed");let n=r.fixture,s=`calibration-${f([r.sourceReward,n.id])}`;(a.id!==s||a.taskId!==s||t.taskset.tasks.some(g=>g.id===s)||r.fixtureHash!==f(n)||f(a.output)!==f(n.output)||a.infrastructureError!==n.infrastructureError)&&A("calibration_fixture_changed");let o=i.check.results.filter(g=>g.fixture.id===n.id&&g.fixture.contentHash===r.fixtureHash);(o.length!==1||f(o[0])!==r.checkResultHash)&&A("calibration_result_changed");let d=n.expected;(d.status!=="scored"||typeof d.passed!="boolean"||a.expectedPassed!==d.passed||a.label!==(d.passed?"positive":"negative"))&&A("calibration_expectation_unsupported");let u=r.graderId??r.sourceReward.id,c=t.taskset.graders.filter(g=>g.id===u),l=c[0];(c.length!==1||!l)&&A("calibration_grader_not_unique"),a.expectedRewardEligible!==l.rewardEligible&&A("calibration_reward_expectation_changed");let p=pa({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${i.contentHash}`,revision:1,sources:[{graderId:u,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:l.weight,required:!0,hardGate:l.hardGate,privileged:l.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[i.reward]),h=B(p,[i.reward])[0],v=m(g=>{let{rewardEligible:b,...I}=g;return I.kind==="model_judge"?{...I,temperature:I.temperature??0}:I},"implementation");return f(v(l))!==f(v(h))&&A("calibration_grader_changed"),l.kind==="model_judge"&&Ki(t,l,r,i),{kind:"independent_reward_calibration",fixtureId:s,task:ze.parse({id:s,clusterKey:s,split:"validation",input:n.input,expectedOutput:n.expectedOutput,privilegedContextRef:null}),evaluatorContext:n.evaluatorContext,evidence:{output:n.output,artifactRefs:n.artifactRefs,runtimeEventRefs:n.runtimeEventRefs,infrastructureError:n.infrastructureError},grader:h,reward:i.reward,binding:p,expected:d,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}m(Ji,"resolveIndependent");function gr(t,a){(a.visibility!=="host_private"||a.sizeBytes>Ha||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&A("calibration_closure_not_private");let r=t.files.filter(u=>u.asset.id===a.id);(r.length!==1||f(r[0].asset)!==f(a))&&A("calibration_closure_asset_changed");let i=Ue(r[0]),n=new TextDecoder("utf-8",{fatal:!0}).decode(i),s=ja(JSON.parse(n));f(Ea(s).asset)!==f(a)&&A("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")&&A("calibration_closure_visible_alias");let d=m(u=>u.id===a.id||u.path===a.path||u.contentHash===a.contentHash,"isAlias");for(let u of t.taskset.tasks)(u.artifactRefs.some(d)||(u.requiredOutputs??[]).some(c=>c.schemaRef&&d(c.schemaRef))||u.privilegedContextRef&&t.files.some(c=>c.asset.id===u.privilegedContextRef&&d(c.asset)))&&A("calibration_closure_task_alias"),(Tt(u.input,n,a.contentHash)||Tt(u.policyVisibleContext,n,a.contentHash))&&A("calibration_closure_inline_alias");for(let u of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])u&&d(u)&&A("calibration_closure_environment_schema_alias");for(let u of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(u===void 0)continue;let c=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(u);for(let l of c){let p=t.files.find(h=>h.asset.path===l.path);(l.id===a.id||l.path===a.path||p&&d(p.asset))&&A("calibration_closure_environment_resource_alias")}}return s}m(gr,"readPrivateClosure");function Tt(t,a,r){return typeof t=="string"?t===a||K(t)===r:!t||typeof t!="object"?!1:K(JSON.stringify(t))===r?!0:Object.values(t).some(i=>Tt(i,a,r))}m(Tt,"containsClosure");function A(t){throw new Error(t)}m(A,"fail");function Ki(t,a,r,i){let n=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),d=i.check.fixtureRefs.map(c=>`calibration-${f([r.sourceReward,c.id])}`);f(o.judgeCalibrationFixtures[n]??[])!==f(d)&&A("calibration_judge_membership_changed");let u=hr(t);for(let c=0;c<d.length;c++){let l=u.filter(I=>I.id===d[c]);l.length!==1&&A("calibration_judge_membership_changed");let p=l[0],h=fr.parse(p.metadata.rewardCalibration),v=h.fixture.expected;(v.status!=="scored"||typeof v.passed!="boolean"||p.expectedPassed!==v.passed||p.expectedRewardEligible!==a.rewardEligible||p.label!==(v.passed?"positive":"negative")||f(p.output)!==f(h.fixture.output)||p.infrastructureError!==h.fixture.infrastructureError)&&A("calibration_judge_membership_changed");let g=i.check.fixtureRefs[c],b=i.check.results.find(I=>I.fixture.id===g.id);(p.taskId!==p.id||h.fixture.id!==g.id||h.fixtureHash!==g.contentHash||f(h.fixture)!==g.contentHash||h.checkResultHash!==f(b)||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)!==n)&&A("calibration_judge_membership_changed")}}m(Ki,"assertJudgeFixtureMembership");function Wi(t){return`model-authored-taskset-${f({owner:t.owner,root:t.root})}`}m(Wi,"modelAuthoredTasksetId");function Qi(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=_t.parse(t.metadata.modelTasksetAuthoring);if(t.id!==Wi(a)||(t.revision===1?!D(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}m(Qi,"assertModelTasksetAuthoring");var Xi=lr.omit({taskset:!0,executionResources:!0}),vr=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:te,environment:ae,verifierSet:re,files:e.array(pr).max(1e4),modelResources:Xi.optional(),learningResources:ur.optional()}).strict(),Yi=vr.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function mc(t){return t.learningResources?ke(t.taskset).binding:t.modelResources?.rewardBinding??null}m(mc,"tasksetPackageRewardBinding");function Zi(t){return t.learningResources?ke(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??""}m(Zi,"resolveTasksetPackageInstructions");function en(t){Me(t,$t);let a=Yi.parse(t),{contentHash:r,...i}=a;if(f(i)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:n,environment:s,verifierSet:o}=a;if(Xe(n),Qi(n)&&(a.modelResources||a.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!ie(s)||!ne(o)||!_e(n.environmentRelease,{id:s.id,contentHash:s.contentHash})||!_e(n.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!_e(n.environment,s.contract)||!_e(n.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let u=new Map;for(let l of a.files){if(u.has(l.asset.id))throw new Error(`Duplicate Taskset asset identity: ${l.asset.id}.`);Ue(l),u.set(l.asset.id,l)}function c(l){let p=u.get(l.id);if(!p||!_e(p.asset,l))throw new Error(`Taskset package asset is missing or mismatched: ${l.id}.`)}m(c,"requireAsset");for(let l of n.tasks){for(let p of l.artifactRefs)c(p);for(let p of l.requiredOutputs??[])p.schemaRef&&c(p.schemaRef);if(l.privilegedContextRef&&u.get(l.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${l.id}.`)}for(let l of[s.actionSchemaRef,s.observationSchemaRef,s.stateSchemaRef])l&&c(l);for(let l of n.graders){let p="verifierRef"in l?l.verifierRef:"rubricRef"in l?l.rubricRef:null;if(p&&(c(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(n.metrics?.customAggregator){let l=n.metrics.customAggregator,p=a.files.filter(h=>h.asset.path===l.module);if(p.length!==1||p[0].asset.contentHash!==l.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 l of[n.metadata.environmentResources,s.metadata.resources])if(l!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(l))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 l=Ni(n,a.learningResources);for(let p of Gi(l))if(!_e(u.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of l.assets)c(p.asset)}else if(a.modelResources){let l=Pt({...a.modelResources,taskset:n,executionResources:{environment:s,verifierSet:o}});for(let p of l.assets)c(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(l=>n.metadata[l]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Fi(a),Zi(a),Li(a),a}m(en,"validateTasksetPackage");function lc(t){Me(t,$t);let a=vr.parse(t);return en({...a,contentHash:f(a)})}m(lc,"createTasksetPackage");function _e(t,a){return f({value:t})===f({value:a})}m(_e,"same2");var Q=e.string().trim().min(1).max(240),Ge=e.string().trim().min(1),ft=e.string().trim().min(8).max(256),Sr=e.record(e.string(),e.unknown()).default({}),tn=Q.nullable(),an=["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"],rn=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),nn=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),z=e.string().trim().max(1e5),sn=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:z,examples:e.array(e.object({id:Q,prompt:z,response:z})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:z,pairs:e.array(e.object({id:Q,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:Q,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:Q,label:e.string().trim().max(500),description:z})).max(1e3).default([]),positiveExample:z,negativeExample:z,boundaryExample:z})]),Sc=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),on=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(Q).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),cn=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"]),dn=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(cn).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),br=e.object({code:Q,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),mn=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:Q,tasksetHash:ft,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:on.nullable().default(null),methodReadiness:e.array(dn).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(br).default([]),advisories:e.array(br).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:Ge}),ln=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:Ge}),un=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:ct.nullable(),modelConfig:Sr,skillHash:ft,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:nn.default("demonstrations"),buildSpecification:sn.nullable().default(null),evidenceHashes:e.array(ft).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(ln).max(1e3),createdAt:Ge}),pn=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:Q,revision:e.number().int().positive().default(1),profileId:Q,profileRelease:Oa.nullable().optional(),createImproveRunId:tn.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:Ja.default("general"),benchmark:Ka.nullable().default(null),preferenceComparison:Wa.nullable().default(null),status:rn,sourceRefs:e.array(Qa).min(1).max(1e5),datasetArtifact:It.nullable().optional(),policy:Xa,environment:sr,capabilities:or,metrics:ra.optional(),tasks:e.array(Ya).max(1e6),graders:e.array(N).max(1e3),graderFixtures:e.array(Et).max(1e5),learningSignals:nr,authoringProvenance:un,readiness:mn.nullable(),contentHash:ft,createdAt:Ge,updatedAt:Ge,metadata:Sr}).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 fn(t){return t.schemaVersion==="openpond.trainingSource.v1"}m(fn,"isTrainingSourceRef");function xc(t,a={}){let r=pn.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 i=r.data,n=[];vn(i,n),gn(i,n),bn(i,n),xn(i,n),yn(i,n),a.purpose!=="publication"&&(i.graders.length||n.push({code:"graders_required",severity:"error",message:"Scored execution requires at least one grader.",path:"graders"}),hn(i,n,a)),wn(i,n),kn(i.capabilities,n,i),Sn(i,n);let s=xr(i);return i.contentHash!==s&&n.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${i.contentHash}, expected ${s}.`,path:"contentHash"}),{valid:!n.some(o=>o.severity==="error"),taskset:i,computedHash:s,issues:n}}m(xc,"validateTaskset");function hn(t,a,r){let i=t.graders.length>0&&t.graders.every(o=>o.kind==="human");!i&&!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 n=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&&!n.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 i?[]:s)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}m(hn,"validateGraderFixtures");function gn(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 i=Object.values(r.splitCounts).reduce((u,c)=>u+c,0),n=r.shards.reduce((u,c)=>u+c.rowCount,0);(i!==r.rowCount||n!==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,c]of Object.entries(r.splitCounts))(s.get(u)??0)!==c&&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,...d}=r;f(d)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}m(gn,"validateDatasetArtifact");function yc(t){return xr(t)}m(yc,"computeTasksetHash");function xr(t){let{contentHash:a,status:r,readiness:i,updatedAt:n,...s}=t;return f(s)}m(xr,"tasksetContentHash");function vn(t,a){for(let[r,i]of t.sourceRefs.entries())fn(i)&&i.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${i.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),i.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${i.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),i.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${i.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),i.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${i.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}m(vn,"validateSourceConsent");function bn(t,a){let r=new Map;for(let n of t.tasks){let s=r.get(n.clusterKey)??new Set;s.add(n.split),r.set(n.clusterKey,s)}for(let[n,s]of r)s.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${n} appears in multiple splits: ${[...s].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(n=>n.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}m(bn,"validateSplitIsolation");function Sn(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(an),i=t.environment.toolNames.filter(s=>!r.has(s));i.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${i.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 n=new Map(t.sourceRefs.map(s=>[s.id,s]));for(let[s,o]of t.tasks.entries()){let d=new Set,u=new Set;for(let[l,p]of(o.assets??[]).entries()){let h=`tasks.${s}.assets.${l}`;d.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`}),d.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 v=n.get(p.sourceRefId);v?"sourceFileHashes"in v&&!v.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`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.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`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.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 c=new Set;for(let[l,p]of(o.requiredOutputs??[]).entries()){let h=p.path.replaceAll("\\","/"),v=`tasks.${s}.requiredOutputs.${l}.path`;c.has(h)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${h}.`,path:v}),c.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`})}}m(Sn,"validateWorkExecution");function xn(t,a){let r=new Set(t.policy.policyVisibleFields);for(let i of t.policy.privilegedFields)r.has(i)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${i} is both policy-visible and privileged.`,path:"policy"});for(let i of t.tasks)i.privilegedContextRef&&Object.keys(i.policyVisibleContext).includes(i.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${i.id} exposes its privileged context reference.`,path:`tasks.${i.id}.policyVisibleContext`})}m(xn,"validatePolicyBoundary");function yn(t,a){let r=new Set;for(let i of t.graders)r.has(i.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${i.id}.`,path:"graders"}),r.add(i.id),i.kind==="model_judge"&&i.rewardEligible&&i.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${i.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${i.id}`}),i.kind==="model_judge"&&i.calibrationStatus==="passed"&&typeof i.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${i.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${i.id}.metadata.calibrationEvidenceHash`}),i.kind==="human"&&i.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${i.id} cannot be an online optimizer reward.`,path:`graders.${i.id}`})}m(yn,"validateGraders");function wn(t,a){let r=new Set(t.tasks.map(n=>n.id)),i=new Set(t.sourceRefs.map(n=>n.id));for(let n of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])n.taskId&&!t.datasetArtifact&&!r.has(n.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${n.id} references missing task ${n.taskId}.`,path:`learningSignals.${n.kind}.${n.id}.taskId`}),n.sourceRefs.some(s=>!i.has(s))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${n.id} references a source outside the Dataset.`,path:`learningSignals.${n.kind}.${n.id}.sourceRefs`});for(let n of t.learningSignals.preferences)n.chosen.trim()===n.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${n.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${n.id}`});for(let n of t.learningSignals.rewards)n.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${n.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${n.id}.executable`})}m(wn,"validateLearningSignals");function kn(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(i=>i==="exact"||i==="deterministic"||i==="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(i=>i.executable)&&!r.graders.some(i=>i.rewardEligible&&i.weight>0&&i.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}m(kn,"validateCapabilities");var je=e.string().regex(/^[a-f0-9]{64}$/),yr=e.object({providerId:e.literal("claude-code"),configurationHash:je,executableHash:je,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:je,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(),Ic=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."})}),Hc=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:yr,sourceHash:je,outputHash:je,traceHash:je,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."})}),Ne=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(),Rn=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,a)=>{t.reduce((r,i)=>r+i.content.length,0)>1e5&&a.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})}),_n=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(Qe).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:ot.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,a)=>{let{contentHash:r,...i}=t;f(i)!==r&&a.addIssue({code:"custom",message:"Experiment grading integrity failed."});let n=t.grades.flatMap(s=>s.components);(n.length!==t.grades.length||new Set(n.map(s=>s.graderId)).size!==n.length)&&a.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let s of t.grades){let{contentHash:o,...d}=s;f(d)!==o&&a.addIssue({code:"custom",message:"A retained criterion changed."});for(let u of s.components){let{contentHash:c,...l}=u;f(l)!==c&&a.addIssue({code:"custom",message:"A retained grader result changed."})}}}),k=e.string().trim().min(1).max(200),ve=e.string().regex(/^[a-f0-9]{64}$/),qt=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:k,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:ve,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),yr]).optional(),candidate:e.object({artifactId:k,contentHash:ve,preparationId:k,dispatchId:k,baseProfileId:k,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:ha.optional(),messages:Rn.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:k}).strict()]),wr=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:k,teamId:k,modelProjectId:k.nullable(),project:Ne.optional(),taskset:j,taskId:k,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:qt}).strict(),Tn=e.object({modelProjectId:k.nullable(),taskset:j,afterTaskId:k.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),In=e.object({modelProjectId:k.nullable(),taskset:j,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:k,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:k,split:oa,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:k,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:k.nullable()}).strict(),Fe=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:k,revision:e.number().int().positive(),request:wr,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:k,provider:k,upstreamModelId:e.string().min(1).max(500),configurationHash:ve}).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:k,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."})}),Hn=e.object({modelProjectId:k,afterId:k.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),jn=e.object({items:e.array(Fe).max(100),nextCursor:k.nullable()}).strict(),En=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:Fe,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:ua.nullable(),grade:Qe.nullable().optional(),experimentGrade:_n.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:j,initialStateHash:ve.nullable(),finalStateHash:ve.nullable(),attemptHash:ve}).strict(),native:ga.optional(),providerRequestIds:e.array(k).max(1001),contentHash:ve}).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."}))}),oe=class extends Error{static{m(this,"OpenPondModelStarterAttemptError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondModelStarterAttemptError"}status;code},zc=class{static{m(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=wr.parse(t);if(r.teamId!==this.#e.teamId)throw new Error("Attempt belongs to another workspace.");let i=this.#a(await this.#t("","POST",r,a.signal));if(x(i.request)!==x(r))throw new oe(502,"attempt_request_mismatch","Attempt receipt differs from the submitted request.");return i}async get(t,a={}){return this.#a(await this.#t(`/${encodeURIComponent(k.parse(t))}`,"GET",void 0,a.signal),t)}async choices(t,a={}){let r=Tn.parse(t),i=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&&i.set("afterTaskId",r.afterTaskId);let n=In.parse(await this.#t(`/choices?${i}`,"GET",void 0,a.signal));if(n.modelProjectId!==r.modelProjectId||x(n.taskset)!==x(r.taskset)||n.tasks.length>r.limit||new Set(n.tasks.map(s=>s.id)).size!==n.tasks.length)throw new oe(502,"attempt_choices_mismatch","Attempt choices differ from the selected model or Taskset.");return n}async cancel(t,a={}){return this.#a(await this.#t(`/${encodeURIComponent(k.parse(t))}/cancel`,"POST",void 0,a.signal),t)}async result(t,a={}){let r=En.parse(await this.#t(`/${encodeURIComponent(k.parse(t))}/result`,"GET",void 0,a.signal));this.#a(r.attempt,t);let{contentHash:i,...n}=r;if(!r.attempt.resultAvailable||await T(n)!==i)throw new oe(502,"attempt_result_integrity","Attempt result integrity failed.");return r}async list(t,a={}){let r=Hn.parse(t),i=new URLSearchParams({modelProjectId:r.modelProjectId,limit:String(r.limit)});r.afterId&&i.set("afterId",r.afterId);let n=jn.parse(await this.#t(`?${i}`,"GET",void 0,a.signal));if(n.items.length>r.limit||new Set(n.items.map(s=>s.id)).size!==n.items.length||n.items.some(s=>this.#a(s).request.modelProjectId!==r.modelProjectId))throw new oe(502,"attempt_page_mismatch","Attempt page differs from the selected model.");return n}#a(t,a){let r=Fe.parse(t);if(r.request.teamId!==this.#e.teamId||a&&r.id!==a)throw new oe(502,"attempt_identity_mismatch","Attempt receipt belongs to another identity or workspace.");return r}async#t(t,a,r,i){let n=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:i,redirect:"error"}),s=n.body?.getReader();if(!s)throw new oe(n.status,"attempt_empty_response","Attempt response was empty.");let o=0,d="",u=new TextDecoder;try{for(;;){let l=await s.read();if(l.done)break;if(o+=l.value.byteLength,o>16777216)throw new oe(502,"attempt_response_too_large","Attempt response exceeded its byte limit.");d+=u.decode(l.value,{stream:!0})}d+=u.decode()}finally{await s.cancel(),s.releaseLock()}let c=JSON.parse(d);if(!n.ok){let l=e.object({code:k,message:e.string().max(2e3)}).safeParse(c);throw new oe(n.status,l.success?l.data.code:"attempt_request_failed",l.success?l.data.message:"Attempt request failed.")}return c}};var Ee=e.string().trim().min(1).max(240),Mt=e.string().regex(/^[a-f0-9]{64}$/),zt=e.object({kind:e.literal("hosted_harness"),modelId:Ee,candidate:e.object({artifactId:Ee,contentHash:Mt,preparationId:Ee,dispatchId:Ee,baseProfileId:Ee,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:St.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:Ee,source:St,modelConfigurationHash:Mt,packageHash:Mt,externalDatasetBinding:Ze.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."})}),F=e.string().trim().min(1).max(200),kr=e.string().regex(/^[a-f0-9]{64}$/),An=e.discriminatedUnion("kind",[qt.options[0],e.object({kind:e.literal("fixture")}).strict(),zt]),be=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:F,teamId:F,modelProjectId:F.nullable(),name:e.string().trim().min(1).max(200).optional(),project:Ne.optional(),taskset:j,policy:An,population:e.array(ba).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=>x([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."})}),Rr=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:F,revision:e.number().int().positive(),teamId:F,modelProjectId:F.nullable(),name:e.string().trim().min(1).max(200).optional(),project:Ne.optional(),operationId:F,taskset:j,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:kr,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:F,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{Object.values(t.counts).reduce((r,i)=>r+i,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."})}),_r=e.object({summary:Rr,request:be,manifest:et,policySnapshot:Fe.shape.policySnapshot}).strict(),Qc=e.object({modelProjectId:F.optional(),projectId:Ne.shape.id.optional(),afterId:F.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Xc=e.object({items:e.array(Rr).max(100),nextCursor:F.nullable()}).strict(),Cn=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:_r,receipts:e.array(va).min(1).max(1e4),metric:ia.nullable(),contentHash:kr}).strict();function Pn(t,a){W(a,"Taskset run manifest");let r=t.policy;if(r.kind!=="hosted_harness"||a.execution.kind!=="harness"||x(a.profileEvaluation)!==x(r.source)||x(a.execution.harnessRelease)!==x(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||x(a.population)!==x(t.population)||a.population.some(i=>i.receiptId!==`evaluation-${f([a.id,i.taskId,i.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}m(Pn,"verifyHarnessExperimentManifest");async function $n(t){let a=_r.parse(t),{summary:r,request:i,manifest:n,policySnapshot:s}=a;if(W(n,"Taskset run manifest"),n.contentHash!==r.manifestHash||n.id!==r.id||n.createdAt!==r.createdAt||r.teamId!==i.teamId||r.modelProjectId!==i.modelProjectId||x(r.project??null)!==x(i.project??null)||x(n.metadata.project??null)!==x(i.project??null)||(r.name??null)!==(i.name??null)||r.operationId!==i.operationId||r.policyKind!==i.policy.kind||r.totalCount!==i.population.length||r.metricName!==n.metricPolicy.primaryMetric||x(r.taskset)!==x(i.taskset)||n.tasksetRelease.id!==i.taskset.id||n.tasksetRelease.contentHash!==i.taskset.contentHash||x(n.population)!==x(i.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(i.policy.kind==="fixture"){if(n.policy.kind!=="fixture"||s!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(i.policy.kind==="hosted_harness"){if(Pn(i,n),s!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(n.policy.kind!=="model"||!s||s.modelId!==i.policy.modelId||n.policy.model.provider!==s.provider||n.policy.model.model!==s.upstreamModelId||n.policy.model.revision!==null||n.policy.model.artifactHash!==(i.policy.candidate?.contentHash??null)||n.policy.model.tokenizerRevision!==null||n.policy.model.chatTemplateHash!==null||n.policy.configurationHash!==await T({policy:i.policy,snapshot:s}))throw new Error("Evaluation model differs from its admitted policy.");return a}m($n,"verifyModelTasksetRunDetails");async function Yc(t){let a=Cn.parse(t),{contentHash:r,...i}=a;if(await T(i)!==r)throw new Error("Evaluation result integrity failed.");let{summary:n,manifest:s}=await $n(a.run);if(!n.resultAvailable||!["completed","failed","cancelled"].includes(n.status))throw new Error("Evaluation result is not terminal.");let o=Sa(s,a.receipts);if(x(o)!==x(a.receipts))throw new Error("Evaluation receipts differ from the admitted order.");if(n.status==="completed"!=(a.metric!==null))throw new Error("Only completed evaluations retain a metric.");if(a.metric&&(na(a.metric),a.metric.runManifest.id!==s.id||a.metric.runManifest.contentHash!==s.contentHash||x(a.metric.tasksetRelease)!==x(s.tasksetRelease)||x(a.metric.policy)!==x(s.metricPolicy)||x(a.metric.receiptRefs)!==x(a.receipts.map(({id:d,contentHash:u})=>({id:d,contentHash:u})))||a.metric.value!==n.score))throw new Error("Evaluation metric differs from its admitted run or receipt population.");return a}m(Yc,"verifyModelTasksetRunResult");var jr=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),qn=e.array(jr).min(1).max(20),Tr=e.enum(["input","output","expectedOutput","evaluatorContext"]),Mn=e.object({destination:Tr,path:qn,source:Tr,sourcePath:e.array(jr).max(20)}).strict(),Ot=e.array(Mn).max(100).superRefine((t,a)=>{for(let[r,i]of t.entries())t.slice(0,r).some(n=>n.destination===i.destination&&(Hr(n.path,i.path)||Hr(i.path,n.path)))&&a.addIssue({code:"custom",path:[r,"path"],message:"Mapped destination paths must not overlap."})});function rd(t,a){let r=Ot.parse(a),i=structuredClone(t);for(let n of r){let s=t[n.source];for(let d of n.sourcePath){if(!Ir(s)||!Object.hasOwn(s,d))throw new Error("The configured grader source field is unavailable.");s=s[d]}if(s===void 0)throw new Error("The configured grader source field is unavailable.");let o=i[n.destination];o===null&&(i[n.destination]=o={});for(let d of n.path.slice(0,-1)){let u=Object.hasOwn(o,d)?o[d]:void 0;if(u!==void 0&&!Ir(u))throw new Error("A grader destination path crosses a scalar field.");u===void 0&&(o[d]={}),o=o[d]}o[n.path.at(-1)]=structuredClone(s)}return i}m(rd,"mapExperimentGradingFields");function Ir(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}m(Ir,"record");function Hr(t,a){return t.length<=a.length&&t.every((r,i)=>r===a[i])}m(Hr,"prefix");var O=e.string().trim().min(1).max(200),Se=e.string().regex(/^[a-f0-9]{64}$/),Vt=e.object({id:O,revision:e.number().int().positive(),contentHash:Se}).strict(),Bt=e.object({id:O,version:e.string().min(1).max(200),contentHash:Se,name:e.string().trim().min(1).max(500).optional(),feedbackKey:ma,release:Vt.nullable(),mappings:Ot.optional()}).strict(),Dt=e.object({id:O,version:e.string().min(1).max(200),contentHash:Se,mappings:Ot}).strict(),cd=e.object({operationId:O,id:O.optional(),expectedRevision:e.number().int().nonnegative(),request:be,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Dt).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."})}),zn=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:O,teamId:O,revision:e.number().int().positive(),request:be,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Bt).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),dd=zn.extend({contentHash:Se}),md=e.object({operationId:O,definition:Vt}).strict(),ld=e.object({projectId:O.optional(),datasetHash:Se.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:O.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),ud=e.object({definition:Vt.nullable(),configurationHash:Se.optional(),admissionRequestHash:Se.optional(),sourceExperimentId:O.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Bt).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."})}),pd=e.object({operationId:O,profileRepositoryId:O,definitionId:O,modelId:O,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:Ze.optional(),sourceCandidate:zt.shape.sourceCandidate}).strict(),fd=e.object({request:be,manifest:et,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Bt).min(1).max(100)}).strict();var Er=e.string().trim().min(1).max(200),Ut=e.object({operationId:Er,request:be,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Dt).min(1).max(100).optional(),sourceExperimentId:Er.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 R=e.string().trim().min(1).max(200),X=e.string().regex(/^[a-f0-9]{64}$/),ht=e.object({id:R,contentHash:X}).strict(),jd=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:we.nullable()}).strict(),Ar=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:R,revision:e.number().int().positive(),contentHash:X}).strict(),projectId:R.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:R,configuration:Ut}).strict()).min(1).max(20),acceptancePlan:Aa.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,i)=>r+i.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(n=>n.id));t.acceptancePlan.checks.some(n=>!t.experiments.some(s=>s.id===n.id))&&a.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(n=>!r.has(n.id)).reduce((n,s)=>n+s.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var On=e.object({baseline:ht,checks:e.array(e.object({id:R,sourceRunId:R,sourceManifestHash:X,targetConfigurationHash:X,executionHash:X,populationHash:X,evaluator:ht,feedbackKey:R,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),Vn=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),Cr=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:R,teamId:R,jobId:R,revision:e.number().int().positive(),planHash:X,automatic:e.boolean(),candidate:ht.nullable(),state:Vn,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:R.nullable(),experimentIds:e.array(R).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."})}),Bn=e.object({operationId:R,expectedRevision:e.number().int().positive(),planHash:X}).strict(),Dn=e.object({operationId:R,attachment:Ar}).strict(),Un=e.object({id:R,teamId:R,ownerUserId:R,attachment:Ar,qualification:On.nullable(),contentHash:X,createdAt:e.iso.datetime()}).strict();function Gn(t){let a=Un.parse(t);if(a.contentHash!==f({attachment:a.attachment,qualification:a.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return a}m(Gn,"verifyPostTrainingPlan");function Pr(t){let{request:a}=t,r=m(n=>`/v1/training/jobs/${encodeURIComponent(R.parse(n))}/post-training`,"path");async function i(n,s,o){if(n===null)return null;let d=Cr.parse(n);if(d.teamId!==s||d.jobId!==o)throw new w("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return d}return m(i,"read"),{async attach(n,s){let o=Dn.parse(s),d=Gn(await a("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(o)}));if(d.teamId!==n||await T(d.attachment)!==await T(o.attachment))throw new w("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return d},async get(n,s){return i(await a(r(s)),n,s)},async control(n,s,o,d){let u=Bn.parse(d),c=await i(await a(`${r(s)}/${o}`,{method:"POST",body:JSON.stringify(u)}),n,s);if(!c||c.planHash!==u.planHash)throw new w("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return c}}}m(Pr,"createPostTrainingClient");var Ed=e.object({teamId:R,actorId:R,projectId:R.nullable(),configuration:Rt,batches:e.array(at).max(1e4),sources:e.array(tt).max(1e4),definitions:e.array(Oe).max(1e4),experiments:e.array(e.object({id:R,name:e.string().max(500),configuration:Ut,graders:e.array(e.object({feedbackKey:R,name:e.string().max(500),ref:ht}).strict()).max(100)}).strict()).max(1e4)}).strict(),Ad=e.enum(["prepare","start","cancel","publish","attach"]),Cd=e.object({teamId:R,actorId:R,configuration:Rt,policy:wa,inspection:Ia,iterations:e.array(e.object({iteration:ka,evals:Cr.nullable()}).strict()).max(100),nextCursor:R.nullable()}).strict(),Pd=e.object({id:R,expectedRevision:e.number().int().positive(),policyHash:X,operationId:R,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:R.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var gt=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:$,sideEffect:e.enum(["read","write"]),timeoutMs:e.number().int().positive().max(36e5)}).strict(),Gt=e.object({id:E,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(),Nn=e.object({portable:e.boolean(),blockers:e.array(e.string().trim().min(1).max(2e3)).max(1e3),localOnlyAssetRefs:e.array(E).max(1e4),hostPrivateAssetRefs:e.array(E).max(1e4)}).strict(),$r=e.object({schemaVersion:e.literal("openpond.agentSnapshot.v2"),id:E,sourceRelease:J.nullable(),instructions:e.array(M).max(1e4),skills:e.array(M).max(1e4),agents:e.array(M).max(1e4),toolDeclarations:e.array(gt).max(200),capabilityRequirements:e.array(Gt).max(200),dependencyLock:M,portability:Nn,metadata:st}).strict(),qr=$r.extend({contentHash:$}).strict(),Fn=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(),Ln=e.object({visibleEvidence:e.array(E).max(1e3),privilegedEvidence:e.array(E).max(1e3),privateVerifierIsolation:e.boolean()}).strict(),Mr=e.object({schemaVersion:e.literal("openpond.harnessRelease.v2"),id:E,agentSnapshot:J,program:M,tools:e.array(gt).max(200),lifecycle:Fn,graderInterface:Ln,files:e.array(M).max(1e5),metadata:st}).strict(),zr=Mr.extend({contentHash:$}).strict(),Jn=e.object({id:E,turn:e.number().int().nonnegative(),kind:e.enum(["message","tool_call","terminal"]),name:E.nullable(),arguments:e.record(e.string(),e.unknown()),content:e.string().max(1e6).nullable()}).strict(),Kn=e.object({actionId:E,turn:e.number().int().nonnegative(),terminal:e.boolean(),output:e.record(e.string(),e.unknown()),artifactRefs:e.array(Va).max(1e5)}).strict();function Bd(t){let a=$r.parse(t);return qr.parse({...a,contentHash:f(a)})}m(Bd,"createAgentSnapshot");function Dd(t){let a=Mr.parse(t);return zr.parse({...a,contentHash:f(a)})}m(Dd,"createHarnessRelease");var Wn=e.object({sequence:e.number().int().nonnegative(),type:e.enum(["created","reset","action","observation","terminal","failure","collected","destroyed"]),payloadHash:$,metadata:st}).strict(),Ud=e.object({schemaVersion:e.literal("openpond.harnessTrace.v1"),manifest:J,taskId:E,seed:e.string().trim().min(1).max(500),events:e.array(Wn).max(1e6),actions:e.array(Jn).max(1e5),observations:e.array(Kn).max(1e5),terminal:e.boolean(),failureClass:ot.nullable(),output:e.record(e.string(),e.unknown()),contentHash:$}).strict(),Nt=25*1024*1024,Qn=e.object({path:M.shape.path,base64:e.string().max(Math.ceil(Nt/3)*4)}).strict(),Or=e.object({schemaVersion:e.literal("openpond.harnessSourcePackage.v1"),agentSnapshot:qr,harnessRelease:zr,files:e.array(Qn).max(1e4)}).strict(),Xn=Or.extend({contentHash:$}).strict(),Yn=Or.extend({schemaVersion:e.literal("openpond.harnessPolicySourcePackage.v1"),contentHash:$}).strict(),Gd=e.object({schemaVersion:e.literal("openpond.harnessSourceSelection.v1"),mode:e.enum(["taskset_owned","selected_release"]),harnessRelease:J,sourcePackageHash:$.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 Nd(t,a){let r=Yn.parse(t);W(r,"Harness policy source package"),W(r.agentSnapshot,"Harness policy source Agent snapshot"),W(r.harnessRelease,"Harness policy source release");let{agentSnapshot:i,harnessRelease:n}=r;if(a&&(a.id!==n.id||a.contentHash!==n.contentHash))throw new Error("Harness policy source package differs from the selected release.");if(n.agentSnapshot.id!==i.id||n.agentSnapshot.contentHash!==i.contentHash)throw new Error("Harness policy source release does not bind its Agent snapshot.");let s=new Map;for(let c of n.files){if(s.has(c.path))throw new Error("Harness policy source contains duplicate asset paths.");s.set(c.path,c)}for(let c of[n.program,i.dependencyLock,...i.instructions,...i.skills,...i.agents])if(f(s.get(c.path)??null)!==f(c))throw new Error(`Harness policy source dependency ${c.path} is absent or differs from its release inventory.`);for(let c of[n.program,i.dependencyLock,...i.instructions,...i.skills])if(c.visibility!=="policy")throw new Error(`Harness policy source dependency ${c.path} is private.`);let o=new Set(n.files.filter(c=>c.visibility==="policy").map(c=>c.path)),d=new Set,u=0;for(let c of r.files){if(d.has(c.path))throw new Error("Harness policy source contains duplicate files.");d.add(c.path);let l=s.get(c.path);if(!l||l.visibility!=="policy")throw new Error(`Harness policy source file ${c.path} is not policy-visible.`);let p=Vr(c.base64);if(u+=p.byteLength,u>Nt)throw new Error("Harness policy source exceeds its byte limit.");if(p.byteLength!==l.sizeBytes||K(p)!==l.contentHash)throw new Error(`Harness policy source file ${c.path} differs from its immutable bytes.`)}if(d.size!==o.size||[...o].some(c=>!d.has(c)))throw new Error("Harness policy source is missing released policy files.");return r}m(Nd,"validateHarnessPolicySourcePackage");function Ft(t,a){let r=Xn.parse(t);W(r,"Harness source package"),W(r.agentSnapshot,"Harness source Agent snapshot"),W(r.harnessRelease,"Harness source release");let{agentSnapshot:i,harnessRelease:n}=r;if(a&&(a.id!==n.id||a.contentHash!==n.contentHash))throw new Error("Harness source package differs from the selected release.");if(n.agentSnapshot.id!==i.id||n.agentSnapshot.contentHash!==i.contentHash)throw new Error("Harness source release does not bind its Agent snapshot.");let s=new Map,o=new Set;for(let c of n.files){if(c.path.includes("\\")||c.path.includes(":"))throw new Error("Harness source requires portable relative file paths.");if(s.has(c.path)||o.has(c.id))throw new Error("Harness source contains duplicate asset paths or identities.");s.set(c.path,c),o.add(c.id)}for(let c of[n.program,i.dependencyLock,...i.instructions,...i.skills,...i.agents])if(f(s.get(c.path)??null)!==f(c))throw new Error(`Harness source dependency ${c.path} is absent or differs from its release inventory.`);for(let c of[...i.instructions,...i.skills])if(c.visibility!=="policy")throw new Error(`Harness policy source ${c.path} is private.`);let d=new Set,u=0;for(let c of r.files){if(d.has(c.path))throw new Error("Harness source package contains duplicate files.");d.add(c.path);let l=s.get(c.path);if(!l)throw new Error(`Harness source file ${c.path} is not declared by its release.`);let p=Vr(c.base64);if(u+=p.byteLength,u>Nt)throw new Error("Harness source package exceeds its byte limit.");if(p.byteLength!==l.sizeBytes||K(p)!==l.contentHash)throw new Error(`Harness source file ${c.path} differs from its immutable bytes.`)}if(d.size!==s.size)throw new Error("Harness source package is missing released files.");return r}m(Ft,"validateHarnessSourcePackage");function Vr(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))}m(Vr,"decode");var ee=e.string().trim().min(1).max(240),Fr=S.extend({revision:e.number().int().positive()}).strict(),Zn=Fr.extend({teamId:ee,jobId:ee,plan:S,baseline:S,candidate:S,state:Ca.shape.state,updatedAt:e.string().datetime()}).strict(),es=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:ee,jobId:ee,groups:e.array(Zn).max(100),nextCursor:ee.nullable()}).strict(),ts=e.object({cursor:ee.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function as(t){let a=m(r=>(ee.parse(r.teamId),`/v1/training/jobs/${encodeURIComponent(ee.parse(r.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(r,i={}){let n=ts.parse(i),s=new URLSearchParams({limit:String(n.limit)});n.cursor&&s.set("cursor",n.cursor);let o=es.parse(await t(`${a(r)}?${s}`));if(o.teamId!==r.teamId||o.jobId!==r.jobId||o.groups.length>n.limit||o.groups.some(d=>d.teamId!==r.teamId||d.jobId!==r.jobId||n.cursor&&d.id<=n.cursor)||new Set(o.groups.map(d=>d.id)).size!==o.groups.length||o.nextCursor!==null&&o.nextCursor!==o.groups.at(-1)?.id)throw new w("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return o},async acceptanceGroup(r,i,n){let s=n?Fr.parse({id:n.id,revision:n.revision,contentHash:n.contentHash}):null;if(s&&s.id!==i)throw new w("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let o=s?`?revision=${s.revision}`:"",d=Pa(await t(`${a(r)}/${encodeURIComponent(ee.parse(i))}${o}`));if(d.manifest.teamId!==r.teamId||d.manifest.trainingJob.id!==r.jobId||d.manifest.id!==i||s&&(d.revision!==s.revision||d.contentHash!==s.contentHash))throw new w("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return d}}}m(as,"createTrainingAcceptanceClient");var P=e.string().trim().min(1).max(191),Ke=e.string().regex(/^[a-f0-9]{64}$/),Lr=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:P,operationId:P,projectId:P.nullable(),configuration:e.object({id:P,expectedRevision:e.number().int().positive(),expectedEtag:Ke}).strict(),origin:we.optional(),batch:j,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),rs=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:P,creatorUserId:P,request:Lr,requestHash:Ke,source:e.lazy(()=>Wr),submissionHash:Ke,createdAt:e.string().datetime({offset:!0})}).strict(),is=rs.extend({contentHash:Ke}).strict(),Jr=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:is,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:P.nullable()}).strict().superRefine((t,a)=>{t.state==="submitted"!=!!t.jobId&&a.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Br=e.object({teamId:P,planHash:Ke,expectedRevision:e.number().int().positive()}).strict(),ns=e.object({projectId:P.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:P.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),ss=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:P,items:e.array(Jr).max(100),nextCursor:P.nullable()}).strict();async function os(t){let a=Jr.parse(t),{contentHash:r,...i}=a.plan;if(await T(i)!==r||await T(i.request)!==i.requestHash||i.source.modelProject.id!==i.request.configuration.id||await T(i.source.origin??null)!==await T(i.request.origin??null))throw new w("training_preparation_mismatch","The prepared training inputs changed.");return a}m(os,"parseAndVerifyTrainingPreparationReceipt");function cs(t){async function a(r,i,n){let s=await os(r);if(s.plan.request.teamId!==i||n&&s.plan.id!==n)throw new w("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return s}return m(a,"read"),{async listPreparations(r,i={}){let n=P.parse(r),s=ns.parse(i),o=new URLSearchParams;for(let[c,l]of Object.entries(s))o.set(c,String(l));let d=ss.parse(await t(`/v1/training/preparations?${o}`));if(d.teamId!==n||d.items.length>s.limit||new Set(d.items.map(c=>c.plan.id)).size!==d.items.length||d.nextCursor!==null&&(d.nextCursor!==d.items.at(-1)?.plan.id||d.nextCursor===s.afterId))throw new w("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let u=await Promise.all(d.items.map(async c=>{let l=await a(c,n);if(s.projectId&&l.plan.request.projectId!==s.projectId||s.state&&l.state!==s.state)throw new w("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return l}));return{...d,items:u}},async prepareRun(r){let i=Lr.parse(r),n=await a(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(i)}),i.teamId);if(n.plan.requestHash!==await T(i))throw new w("training_preparation_request_mismatch","The preparation does not match the requested run.");return n},async getPreparation(r,i){return a(await t(`/v1/training/preparations/${encodeURIComponent(P.parse(i))}`),P.parse(r),i)},async startPreparation(r,i){let n=Br.parse(i),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(P.parse(r))}/start`,{method:"POST",body:JSON.stringify(n)}),n.teamId,r);if(s.plan.contentHash!==n.planHash||s.state!=="submitted")throw new w("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return s},async cancelPreparation(r,i){let n=Br.parse(i),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(P.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(n)}),n.teamId,r);if(s.plan.contentHash!==n.planHash||s.state!=="cancelled")throw new w("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return s}}}m(cs,"createTrainingPreparationClient");var ds=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:J,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(Re)}).strict();function ms(t){let a=m(r=>{let i=J.parse(r);return`/v1/training/harness-sources/${encodeURIComponent(i.id)}/${i.contentHash}`},"route");return{async publishHarnessSource(r){pe(r,Re,"Training Harness source");let i=Ft(r),n=i.agentSnapshot.portability;if(!n.portable||n.blockers.length||n.localOnlyAssetRefs.length||n.hostPrivateAssetRefs.length||i.harnessRelease.files.some(o=>o.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let s=ds.parse(await t(a({id:i.harnessRelease.id,contentHash:i.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(i)}));if(s.harnessRelease.id!==i.harnessRelease.id||s.harnessRelease.contentHash!==i.harnessRelease.contentHash||s.sourcePackageHash!==i.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return s},async getHarnessSource(r){let i=await t(a(r),void 0,Re);return pe(i,Re,"Training Harness source"),Ft(i,r)}}}m(ms,"createTrainingHarnessSourceClient");var de=e.string().trim().min(1).max(500),ls=e.string().regex(/^[a-f0-9]{64}$/),Jt=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:de,jobId:de,artifact:S,evaluation:S,executionReceipt:S,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:de,expectedDecision:S.nullable()}).strict(),us=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:de,request:Jt,revision:e.number().int().positive(),actor:e.object({userId:de,kind:e.enum(["user","api_key","agent_delegate"]),id:de}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:ls}).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 ps(t){let{contentHash:a,...r}=t;return T(r)}m(ps,"trainingCandidateDecisionHash");async function Dr(t,a){pe(t,32768,"Training candidate decision");let r=us.parse(t);if(r.contentHash!==await ps(r))throw new w("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 w("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(a.request&&await T(r.request)!==await T(Jt.parse(a.request)))throw new w("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return r}m(Dr,"parseAndVerifyTrainingCandidateDecision");function fs(t){function a(r){return`/v1/training/jobs/${encodeURIComponent(de.parse(r.jobId))}/candidates/${encodeURIComponent(S.parse(r.artifact).id)}/decision`}return m(a,"route"),{async candidateDecision(r,i={}){de.parse(r.teamId);let n=i.decision?S.parse(i.decision):void 0,s=n?`?decisionId=${encodeURIComponent(n.id)}`:"",o=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${a(r)}${s}`));if(o.decision===null&&!n)return null;let d=await Dr(o.decision,r);if(n&&(d.id!==n.id||d.contentHash!==n.contentHash))throw new w("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return d},async recordCandidateDecision(r){let i=Jt.parse(r),n=await t(a(i),{method:"POST",body:JSON.stringify(i)});return Dr(n,{...i,request:i})}}}m(fs,"createTrainingCandidateDecisionClient");var Ae=e.string().trim().min(1).max(500),Je=e.string().regex(/^[a-f0-9]{64}$/),hs=e.object({taskId:Ae,taskSha256:Je,resultSha256:Je,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:Je,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:Ae}).strict()}).strict(),gs=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Ae,teamId:Ae,evaluation:S,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:j,panelSha256:Je,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(hs).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:Je}).strict().superRefine((t,a)=>{let r=t.offset+t.tasks.length,i=r<t.total?String(r):null;(r>t.total||t.nextCursor!==i)&&a.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(n=>n.taskId)).size!==t.tasks.length&&a.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function vs(t){let{contentHash:a,...r}=t;return T(r)}m(vs,"trainingEvaluationTaskPageHash");async function bs(t,a){pe(t,wt,"Training evaluation task page");let r=gs.parse(t),i=S.parse(a.evaluation);if(r.jobId!==Ae.parse(a.jobId)||r.evaluation.id!==i.id||r.evaluation.contentHash!==i.contentHash||r.offset!==(a.offset??0)||a.teamId!==void 0&&r.teamId!==Ae.parse(a.teamId))throw new w("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await vs(r)!==r.contentHash)throw new w("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let n of r.tasks)if(await T(n.output)!==n.outputSha256)throw new w("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return r}m(bs,"parseAndVerifyTrainingEvaluationTaskPage");var Ss=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),xs=e.object({binding:le,rewards:e.array(me).min(1).max(100)}).strict();async function sm(t){let a=t.rewardExecution?xs.parse(t.rewardExecution):null,r=Ss.parse(a?B(a.binding,a.rewards):t.graders);if(new Set(r.map(n=>n.id)).size!==r.length)throw new Error("Training grader identities must be unique.");let i=await T({schemaVersion:"openpond.trainingGraderSet.v1",graders:r});return{kind:"deterministic",grader:{id:`training-graders-${i.slice(0,32)}`,contentHash:i},composer:a?{id:a.binding.id,contentHash:a.binding.contentHash}:null}}m(sm,"deterministicTrainingRewardSource");var cm="evaluation-source.json",Lt=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),ys=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:j,tasks:e.array(Lt).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((i,n)=>{i.split==="train"&&a.addIssue({code:"custom",path:["tasks",n,"split"],message:"Evaluation sources require held-out tasks."}),r.has(i.id)&&a.addIssue({code:"custom",path:["tasks",n,"id"],message:"Evaluation task identities must be unique."}),r.add(i.id)})});function dm(t,a){let r=e.array(Lt).min(1).max(1e4).parse(t),i=e.array(Lt).min(1).max(1e4).parse(a),n=new Set,s=new Set;for(let d of r){if(d.split!=="train")throw new Error("The training population contains a held-out task.");if(n.has(d.id))throw new Error("Training task identities must be unique.");n.add(d.id),s.add(d.clusterKey)}let o=new Set;for(let d of i){if(d.split==="train")throw new Error("The evaluation population contains a training task.");if(o.has(d.id))throw new Error("Evaluation task identities must be unique.");if(n.has(d.id)||s.has(d.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");o.add(d.id)}}m(dm,"assertTrainingEvaluationIsolation");async function mm(t){let a=ys.parse(t),r=await T(a);return{taskset:a.taskset,dataset:{id:`training-evaluation-${r.slice(0,32)}`,contentHash:r}}}m(mm,"trainingEvaluationSourceRef");var _=e.string().trim().min(1).max(500),V=e.string().regex(/^[a-f0-9]{64}$/),L=e.string().datetime({offset:!0}),ws=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:S,payload:e.unknown(),contentHash:V}).strict(),ks=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:S,artifactRef:e.string().trim().min(1).max(2e3),contentHash:V,sizeBytes:e.number().int().positive(),createdAt:L}).strict();async function Rs(t){let{contentHash:a,...r}=t;return T(r)}m(Rs,"trainingInputArtifactUploadHash");async function _s(t){pe(t,Re,"Training input artifact");let a=ws.parse(t),r=await Rs(a);if(a.contentHash!==r)throw new w("content_hash_mismatch",`Training input artifact contentHash ${a.contentHash} does not match ${r}.`);return a}m(_s,"parseAndVerifyTrainingInputArtifactUpload");var Kr=e.enum(["reward_model_train","policy_optimize"]),Ts=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Is=e.object({id:_,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Wr=e.object({origin:we.optional(),modelProject:e.object({id:_,portableProjectId:_,revision:e.number().int().positive(),contentHash:V}).strict(),harnessRunManifest:S,harnessRelease:S,taskset:j,tasksetRelease:S,evaluation:e.object({taskset:j,dataset:S}).strict().nullable().optional(),dataset:S,evidenceSets:e.array(S).max(1e4)}).strict(),Hs=e.object({kind:e.literal("reward_model_train"),baseModel:kt,preferenceDatasetRelease:S,processorRelease:S,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(),js=e.object({kind:e.literal("deterministic"),grader:S,composer:S.nullable().default(null)}).strict(),Es=e.object({kind:e.literal("learned_reward"),rewardModelVersion:S,qualificationReport:S.nullable().default(null),evaluationReferences:e.array(S).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:V,executionReceipt:S}).strict(),processorRelease:S,rewardComposerRelease:S}).strict(),As=e.object({kind:e.literal("policy_optimize"),baseModel:kt,recipe:Ua,rewardSource:e.discriminatedUnion("kind",[js,Es]),resumeFrom:S.nullable().default(null)}).strict(),Cs=e.discriminatedUnion("kind",[Hs,As]),Ps=e.object({approvalHash:V,approvedAt:L,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(),$s=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:Wr,job:Cs,requestedCapabilities:e.array(Is).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Ps,contentHash:V}).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 qs(t){let{contentHash:a,...r}=t;return T(r)}m(qs,"trainingJobSubmissionHash");async function Ms(t){pe(t,Ba,"Training Job submission");let a=$s.parse(t),r=await qs(a);if(a.contentHash!==r)throw new w("content_hash_mismatch",`Training Job contentHash ${a.contentHash} does not match ${r}.`);return a}m(Ms,"parseAndVerifyTrainingJobSubmission");var Le=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:_,teamId:_,kind:Kr,modelProjectId:_,portableProjectId:_,sourceProjectRevision:e.number().int().positive(),submissionHash:V,state:Ts,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:L,updatedAt:L,completedAt:L.nullable()}).strict(),zs=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Le).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),Os=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:_,jobId:_,sequence:e.number().int().nonnegative(),type:_,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:L}).strict(),Vs=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:_,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:L}).strict(),Ur=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Bs=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:_,jobId:_,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:V,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:L}).strict(),Kt=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:_,teamId:_,jobId:_,submissionHash:V,manifestHash:V,recipeHash:V,capabilityHash:V,runtimeRelease:S,inputs:e.array(S).max(1e4),outputs:e.array(S).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),issuer:_,issuedAt:L,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Ds(t){return T(Kt.parse(t))}m(Ds,"trainingExecutionReceiptHash");async function lm(t,a){let r=Kt.parse(t),i=_.parse(a.id),n=V.parse(a.contentHash),s=await Ds(r);if(r.id!==i||s!==n)throw new w("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(a.teamId!==void 0&&r.teamId!==_.parse(a.teamId))throw new w("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(a.jobId!==void 0&&r.jobId!==_.parse(a.jobId))throw new w("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((a.requireCleanup??!0)&&!r.cleanupComplete)throw new w("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");return r}m(lm,"parseAndVerifyTrainingExecutionReceipt");var Us=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Bs).max(1e4),receipt:Kt.nullable()}).strict(),Gs=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(),Qr=class extends Error{static{m(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}},Ns=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:V,jobKinds:e.array(Kr),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:L,expiresAt:L}).strict();function Gr(t){let a={};return new Headers(t).forEach((r,i)=>{a[i]=r}),a}m(Gr,"headersRecord");function um(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function i(n,s,o=wt){let u=s?.method===void 0||s.method.toUpperCase()==="GET"?3:1;for(let c=1;c<=u;c+=1){let l;try{let v=typeof t.headers=="function"?await t.headers():t.headers??{};l=await a(`${r}${n}`,{...s,headers:{accept:yt,...s?.body?{"content-type":yt}:{},...Gr(v),...Gr(s?.headers)}})}catch(v){if(c===u||s?.signal?.aborted||!Nr(null,v))throw v;await new Promise(g=>setTimeout(g,250*2**(c-1)));continue}let p=Da(await l.text(),o,"Training API response");if(l.ok)return p;let h=Fs(p,l.status);if(c===u||!Nr(l.status,h))throw h;await new Promise(v=>setTimeout(v,250*2**(c-1)))}throw new w("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return m(i,"request"),{postTraining:Pr({request:i}),...cs(i),...as(i),...ms(i),...fs(i),async capabilities(){return Ns.parse(ce(await i("/v1/training/capabilities"),"capabilities"))},async stageArtifact(n){let s=await _s(n);return ks.parse(ce(await i("/v1/training/artifacts",{method:"POST",body:JSON.stringify(s)}),"artifact"))},async createJob(n){let s=await Ms(n);return Le.parse(ce(await i("/v1/training/jobs",{method:"POST",body:JSON.stringify(s)}),"job"))},async listJobs(n={}){let s=new URLSearchParams;n.modelProjectId&&s.set("modelProjectId",_.parse(n.modelProjectId)),n.cursor&&s.set("cursor",e.string().trim().min(1).max(2e3).parse(n.cursor)),n.limit!==void 0&&s.set("limit",String(e.number().int().min(1).max(1e3).parse(n.limit)));let o=s.size>0?`?${s.toString()}`:"";return zs.parse(await i(`/v1/training/jobs${o}`))},async getJob(n){return Le.parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}`),"job"))},async cancelJob(n,s){let o=Ur.parse({expectedVersion:s});return Le.parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/cancel`,{method:"POST",body:JSON.stringify(o)}),"job"))},async stopAfterGroup(n,s){let o=Ur.parse({expectedVersion:s});return Le.parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/stop-after-group`,{method:"POST",body:JSON.stringify(o)}),"job"))},async events(n){return e.array(Os).parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/events`),"events"))},async outputs(n){return Us.parse(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/outputs`))},async evaluationTasks(n,s,o={}){let d=_.parse(n),u=S.parse(s),c=new URLSearchParams,l=o.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(o.cursor),p=l===void 0?0:e.number().int().min(1).max(9999).parse(Number(l));l!==void 0&&c.set("cursor",l),o.limit!==void 0&&c.set("limit",String(e.number().int().min(1).max(100).parse(o.limit)));let h=c.size?`?${c.toString()}`:"";return bs(await i(`/v1/training/jobs/${encodeURIComponent(d)}/evaluations/${encodeURIComponent(u.id)}/tasks${h}`),{jobId:d,evaluation:u,offset:p})},async logs(n){return e.array(Vs).max(1e5).parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/logs`),"logs"))}}}m(um,"createTrainingClient");function Nr(t,a){return t!==null?t===408||t===429||t>=500:a instanceof Qr?a.retryable:a instanceof w?a.code==="invalid_error_response":a instanceof TypeError}m(Nr,"trainingReadFailureIsRetryable");function ce(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}m(ce,"unwrapObject");function Fs(t,a){let r=Gs.safeParse(t);return r.success?new Qr(a,r.data):new w("invalid_error_response",`Training request failed with HTTP ${a} and an invalid error envelope.`)}m(Fs,"trainingApiError");function xm(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(i=>{let n={...i,label:i.id,metadata:{portableGrader:i}};if(i.kind==="custom_verifier")return N.parse({...n,module:Xr(i.verifierRef.contentHash),exportName:i.exportName??"verify",metadata:{...n.metadata,portableVerifierRef:i.verifierRef}});if(i.kind==="human"||i.kind==="model_judge"){let s=t.files.find(u=>u.asset.id===i.rubricRef.id);if(!s)throw new Error(`Imported rubric is missing: ${i.id}.`);let o=new TextDecoder("utf-8",{fatal:!0}).decode(Ue(s)),d={...n.metadata,portableRubricRef:i.rubricRef};if(i.kind==="human")return N.parse({...n,rubric:o,metadata:d});if(!i.model)throw new Error(`Imported judge ${i.id} requires its declared model before local preparation.`);return N.parse({...n,rubric:o,metadata:d,judge:i.model,temperature:i.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:r[i.id]??[]})}return N.parse({...n,kind:i.kind==="artifact"?"file":i.kind,config:i.kind==="artifact"?{...i.config,...i.config.refIncludes===void 0?{}:{pathIncludes:i.config.refIncludes}}:i.config})})}m(xm,"importedPackageGraders");function ym(t,a,r=[]){let i=fa(t,a);return B(t,a).map(n=>{let s=i.find(({source:d})=>d.graderId===n.id).reward,o={...n,label:s.name,metadata:{rewardBinding:H(t)}};if(n.kind==="model_judge"){if(!n.model||n.calibrationStatus!=="passed"||!s.calibrationCheckRef||!s.fixtureSetRef)throw new Error(`Reward ${n.id} needs a retained passing calibration check before preparation.`);let d=r.find(l=>l.id===n.rubricRef.id),u=r.find(l=>l.id===s.fixtureSetRef.id);if(!d||!u)throw new Error(`Reward ${n.id} is missing its immutable rubric or calibration fixtures.`);let c=_a.array().min(1).max(50).parse(JSON.parse(q(u,s.fixtureSetRef)));return N.parse({...o,rubric:q(d,n.rubricRef),judge:n.model,temperature:n.temperature??0,calibrationFixtureRefs:c.map(l=>l.id),metadata:{...o.metadata,portableGrader:n,portableRubricRef:n.rubricRef,calibrationEvidenceHash:s.calibrationCheckRef.contentHash,calibrationCheckRef:s.calibrationCheckRef}})}if(n.kind==="custom_verifier")return N.parse({...o,module:Xr(n.verifierRef.contentHash),exportName:n.exportName??"verify",metadata:{...o.metadata,portableVerifierRef:n.verifierRef}});if(n.kind==="human"){let d=r.find(u=>u.id===n.rubricRef.id);if(!d)throw new Error(`Reward ${n.id} is missing its immutable rubric.`);return N.parse({...o,rubric:q(d,n.rubricRef),metadata:{...o.metadata,portableGrader:n,portableRubricRef:n.rubricRef}})}return N.parse({...o,kind:n.kind==="artifact"?"file":n.kind})})}m(ym,"projectLearningBatchGraders");function Xr(t){return`graders/reward-${t}.js`}m(Xr,"learningVerifierModule");function Ls(t,a){let r=t.metadata.learning===void 0?null:xt.parse(t.metadata.learning),i=t.metadata.rewardExecution,n=a??(i?{binding:le.parse(i.binding),rewards:me.array().parse(i.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let s=t.metadata.rewardBinding;if(!n||!s||s.id!==n.binding.id||s.revision!==n.binding.revision||s.contentHash!==n.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return n&&B(n.binding,n.rewards),n?{binding:n.binding,rewards:n.rewards}:null}m(Ls,"resolvePortableTasksetRewardExecution");function Em(t){let a=ei(t.taskset),r=ti(t.taskset),i=t.taskset.metadata.learning===void 0?null:xt.parse(t.taskset.metadata.learning),n=t.taskset.metadata.rewardExecution,s=Ls(t.taskset,t.rewardExecution),o=s?B(s.binding,s.rewards):t.taskset.graders.map(Ks),d=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!d.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 c=u?ae.parse(u.environment):it({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??[]}}),l=u?.verifierSet!==void 0?re.parse(u.verifierSet):nt({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(!ie(c)||!ne(l)||f(c.contract)!==f(a)||f(l.graders)!==f(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let p=da.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:Ws(t.taskset),tasks:d.map(Js),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(g=>g.kind==="model_judge").map(g=>[g.id,g.calibrationFixtureRefs]))},...i?{learning:i}:{},...s&&!i&&(t.rewardExecution||n)?{rewardExecution:{binding:s.binding,rewards:s.rewards}}:{}}}),h=t.admittedTasksetRelease?te.parse(t.admittedTasksetRelease):te.parse({...p,contentHash:f(p)}),v=h.environmentRelease?Qs({draft:h,environmentRelease:c,verifierSetRelease:l}):$a({taskset:h,environment:c,verifierSet:l});return{environmentRelease:c,verifierSetRelease:l,tasksetRelease:v}}m(Em,"materializePortableTasksetRelease");function Am(t){if(!qa(t.preferenceComparison))throw new Error("Preference comparison release failed immutable content verification.");let a=t.preferenceComparison;if(a.tasksetRelease.id!==t.tasksetRelease.id||a.tasksetRelease.contentHash!==t.tasksetRelease.contentHash)throw new Error("Preference comparison release must reference the admitted portable Taskset release.");return a}m(Am,"projectPreferenceComparisonRelease");function Cm(t){return ei(t)}m(Cm,"portableTasksetEnvironment");function Pm(t){return ti(t)}m(Pm,"portableTasksetTools");function Js(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=ze.parse(a),i=ze.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Yr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.map(n=>{let s=r.artifactRefs.find(o=>o.id===n.id);return{id:n.id,path:s?.path??`tasks/${Ce(t.id)}/${Ce(n.fileName)}`,contentHash:Wt(n.sha256),sizeBytes:n.sizeBytes,mediaType:n.mediaType,visibility:s?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(n=>{let s=r.requiredOutputs?.find(o=>o.path===n.path);return{path:n.path,mediaType:n.mediaType,schemaRef:s?.schemaRef&&s.schemaRef.id===n.schemaRef?s.schemaRef:null,maxBytes:n.maxBytes??null,metadata:{...n.metadata,...n.schemaRef&&s?.schemaRef?.id!==n.schemaRef?{legacySchemaRef:n.schemaRef}:{}}}})});return i.requiredOutputs===void 0&&delete i.requiredOutputs,i}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Yr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${Ce(t.id)}/${Ce(r.fileName)}`,contentHash:Wt(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}}m(Js,"projectPortableTaskRecord");function Yr(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}m(Yr,"portableExpectedOutput");function ei(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}}m(ei,"portableEnvironment");function ti(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return gt.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(i=>({name:i.modelToolName,description:i.description,inputSchema:i.inputSchema,inputSchemaHash:Wt(i.actionSchemaHash),sideEffect:i.sideEffect,timeoutMs:i.timeoutMs})):t.environment.toolNames.map(i=>({name:i,description:`Host-provided ${i} tool.`,inputSchema:{},inputSchemaHash:f({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}m(ti,"portableTools");function Ks(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:Zr(t),model:Xs(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=bt.safeParse(t.metadata.portableGrader),i=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:M.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...i?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:Zr(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...aa(t)}}m(Ks,"portableGrader");function Ws(t){let a=t.metadata.portableCapabilities;return a!==void 0?Gt.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-${Ce(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}m(Ws,"portableCapabilities");function Qs(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}m(Qs,"assertReleaseBindings");function Xs(t){let a=t.metadata.portableGrader===void 0?null:bt.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}}m(Xs,"modelJudgeRef");function Zr(t){let a=K(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,i=t.metadata.portableRubricRef;if(i!==void 0){let n=M.parse(i);if(n.contentHash!==a||n.sizeBytes!==r||n.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return n}return{id:`rubric-${t.id}`,path:`graders/${Ce(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}m(Zr,"rubricAsset");function Wt(t){return/^[a-f0-9]{64}$/.test(t)?t:f(t)}m(Wt,"hash");function Ce(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}m(Ce,"segment");export{ri as a,_t as b,eo as c,to as d,Ga as e,ii as f,Na as g,ao as h,ro as i,ct as j,ge as k,It as l,vo as m,bo as n,So as o,xo as p,yo as q,pi as r,wo as s,ko as t,Si as u,wi as v,ki as w,mt as x,Ja as y,Ka as z,Wa as A,ji as B,Qa as C,Xa as D,Ya as E,Ci as F,nr as G,sr as H,or as I,N as J,zi as K,Et as L,qo as M,Be as N,Mo as O,At as P,Oi as Q,zo as R,Ct as S,Do as T,Di as U,lr as V,Ko as W,Ui as X,Pt as Y,ur as Z,Gi as _,Ni as $,$t as aa,pr as ba,Ue as ca,Fi as da,Zo as ea,Wi as fa,Qi as ga,vr as ha,Yi as ia,mc as ja,Zi as ka,en as la,lc as ma,nn as na,sn as oa,Sc as pa,on as qa,cn as ra,mn as sa,ln as ta,pn as ua,fn as va,xc as wa,yc as xa,yr as ya,Ic as za,Hc as Aa,_n as Ba,Tn as Ca,zc as Da,be as Ea,_r as Fa,Qc as Ga,Xc as Ha,Pn as Ia,$n as Ja,Yc as Ka,Ot as La,rd as Ma,Vt as Na,Bt as Oa,Dt as Pa,cd as Qa,ld as Ra,ud as Sa,pd as Ta,fd as Ua,Ut as Va,jd as Wa,Ar as Xa,Cr as Ya,Bn as Za,Dn as _a,Gn as $a,Ed as ab,Cd as bb,Pd as cb,Bd as db,Dd as eb,Yn as fb,Gd as gb,Nd as hb,Ft as ib,Lr as jb,Br as kb,Jt as lb,Dr as mb,bs as nb,sm as ob,cm as pb,ys as qb,dm as rb,mm as sb,Rs as tb,_s as ub,qs as vb,Ms as wb,Le as xb,Os as yb,Ds as zb,lm as Ab,Us as Bb,Qr as Cb,um as Db,xm as Eb,ym as Fb,Xr as Gb,Ls as Hb,Em as Ib,Am as Jb,Cm as Kb,Pm as Lb,Js as Mb};
|
|
2
|
+
import{a as E,b as $,d as st,e as J,f as Oa,g as M,h as Va,i as ot,k as K,l as f,m as W}from"./chunk-WN3V6KDN.js";import{G as Rt,a as yt,c as Ba,d as Re,e as wt,h as w,i as x,j as T,k as pe,l as Da,m as S,n as j,o as kt,q as Ua}from"./chunk-523TE4BI.js";import{d as ta,l as Ma,o as za}from"./chunk-APB2STJK.js";import{A as Sa,Y as ae,cb as qa,da as re,f as va,ha as it,ja as nt,ka as $a,oa as ie,qa as ne,t as ba,v as et}from"./chunk-Y4OWBBDD.js";import{$ as xt,D as ya,F as at,H as wa,K as ka,N as H,Nb as Ha,O as D,P as C,Pb as ja,Q as rt,Sb as Ea,_b as Aa,aa as Ra,ab as Ta,b as ye,ba as ke,c as Ye,d as q,e as we,gc as Ca,ha as _a,jc as Pa,o as ue,r as Oe,sb as Ia,v as tt,y as xa}from"./chunk-VYLGI3IH.js";import{Aa as la,B as ia,C as na,Ea as le,Ha as ua,Ja as pa,Ka as fa,La as B,M as sa,Ta as Ze,_a as St,db as ha,ea as oa,jb as ga,ka as ca,l as Me,n as vt,na as bt,oa as ze,p as aa,pa as da,qa as te,sa as Xe,va as ma,w as Qe,z as ra,za as me}from"./chunk-ACYFMLWG.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as m}from"./chunk-FTQLQJQV.js";var fe=ue.shape.id,Ve=e.string().regex(/^[a-f0-9]{64}$/),ri=e.object({scopeId:fe,modelId:fe}).strict(),_t=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:ri,root:ue,parent:ue}).strict(),eo=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:fe,modelId:fe,expectedModelRevision:e.number().int().positive(),sourcePackageHash:Ve}).strict(),to=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:fe,requestHash:Ve,sourcePackageHash:Ve,sourceTasksetRef:ue,tasksetId:fe,tasksetRevision:e.number().int().positive(),lineage:_t,authoringGraph:e.literal("bound").optional()}).strict(),Ga=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."),ii=e.object({path:Ga,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),Na=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),ao=ii.extend({contentHash:Ve,content:Na}).strict(),ro=e.object({draftId:fe,expectedDraftRevision:e.number().int().positive(),path:Ga,expectedFileHash:Ve.nullable(),content:Na.nullable()}).strict();var oo=e.object({provider:E,model:E,revision:e.string().trim().min(1).max(500).nullable().default(null),artifactHash:$.nullable().default(null),tokenizerRevision:e.string().trim().min(1).max(500).nullable().default(null),chatTemplateHash:$.nullable().default(null)}).strict(),ni=["openpond","codex","claude-code","grok-build","opencode","anthropic","openai","xai","google","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],si=e.templateLiteral(["acp:",e.string().regex(/^[a-z0-9][a-z0-9-]{0,100}$/)]),oi=e.union([e.enum(ni),si]),ct=e.object({providerId:oi,modelId:e.string().trim().min(1).max(300)});var ci=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:ta,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(),U=e.string().trim().min(1).max(240),Z=e.string().trim().min(1),se=e.string().trim().min(8).max(256),La=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."),ge=e.enum(["train","validation","test","frozen_eval"]),di=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"])}),mi=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(di).min(1).max(1e4),schemaHash:se}),li=e.object({id:U,split:ge,path:La,contentHash:se,schemaHash:se,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),It=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:U,tasksetId:U,tasksetRevision:e.number().int().positive(),contentHash:se,format:e.literal("parquet"),schema:mi,shards:e.array(li).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(ge,e.number().int().nonnegative()),sourceReceiptRefs:e.array(U).min(1).max(1e5),mappingHash:se,qualityReportHash:se,createdAt:Z}),vo=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:U,tasksetId:U,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(ge,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:se,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Z}),ui=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:U,tasksetRevision:e.number().int().positive(),artifactId:U.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(ge,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Z,updatedAt:Z}),bo=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:U,datasets:e.array(ui),generatedAt:Z}),So=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:It,profileId:U,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:La,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:Z.nullable(),createdAt:Z,updatedAt:Z}),xo=e.object({split:ge.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([])}),yo=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:U,tasksetRevision:e.number().int().positive(),artifactHash:se,split:ge.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()}),pi=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:Z}),fi=e.object({id:U,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()}),wo=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:pi,storageRoots:e.array(fi)}),ko=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)}),Te=e.string().trim().min(1).max(240),hi=e.string().trim().min(1),Ie=e.string().trim().min(8).max(256),gi=e.record(e.string(),e.unknown()).default({}),vi=e.string().trim().min(7).max(256),bi=e.enum(["pending","approved","review","blocked"]),lt=e.object({id:Te,profileId:Te,title:e.string().trim().min(1).max(500),sourceHash:Ie,occurredAt:hi,licensingStatus:bi,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:gi}),Si=lt.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:vi,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(Ie).min(1).max(1e5)}),xi=lt.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(Ie).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),yi=lt.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:Te,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:Ie}),wi=lt.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:Te,revision:e.number().int().positive(),contentHash:Ie}).strict(),taskDefinition:e.object({id:Te,revision:e.number().int().positive(),contentHash:Ie}).strict(),admittedBy:Te}),ki=e.discriminatedUnion("kind",[Si,xi,yi,wi]),Ri=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:E,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:$,agentRelease:J,implementationHash:$,runtimeBindingId:E,capabilityReceiptHash:$,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:E,source:e.literal("case_id")}).strict()).max(20).default([])}).strict(),y=e.string().trim().min(1).max(240),Ht=e.string().trim().min(1),_i=e.string().trim().min(8).max(256),jt=e.string().trim().regex(/^[a-f0-9]{64}$/),Ti=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),G=e.record(e.string(),e.unknown()).default({}),ut=y.nullable();function De(t){let a=t.trim().replaceAll("\\","/");return!a||a.startsWith("/")||a==="."||a===".."?!1:!a.split("/").some(r=>!r||r==="."||r==="..")}m(De,"safeRelativeFilePath");function Ii(t){let a=t.trim();return a.length>0&&a!=="."&&a!==".."&&!a.includes("/")&&!a.includes("\\")&&!a.includes("\0")}m(Ii,"safeFileName");var mt=ge,Ja=e.enum(["general","benchmark"]),Ka=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:y,releaseId:y,releaseHash:jt,managedReleasePath:e.string().trim().min(1).max(1e3).refine(De,"Benchmark release paths must remain relative."),adaptationSplit:mt,evaluationSplit:mt,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:G}),Wa=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:y,releaseHash:jt,publishedAt:Ht,metadata:G}),Hi=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:ut,grantedAt:Ht.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),ji=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:y,profileId:y,sessionId:y,turnIds:e.array(y).max(1e3).default([]),workspaceId:ut,sourceHash:_i,clusterKey:y,title:e.string().trim().min(1).max(500),occurredAt:Ht,consent:Hi,connectedAppIds:e.array(y).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:G}),Qa=e.union([ji,ki,ci]),Xa=e.object({policyVisibleFields:e.array(y).max(1e3).default([]),privilegedFields:e.array(y).max(1e3).default([]),hiddenGraderRefs:e.array(y).max(100).default([]),connectedAppScopes:e.array(y).max(100).default([])}),Ei=e.object({id:y,sourceRefId:y,artifactRef:e.string().trim().min(1).max(4e3).refine(De,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Ii,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:jt,sizeBytes:e.number().int().nonnegative().max(25e7),split:mt,metadata:G}),Ai=e.object({path:e.string().trim().min(1).max(1e3).refine(De,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:y.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:G}),Ya=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:y,clusterKey:y,split:mt,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:ut,sourceRefs:e.array(y).min(1).max(100),assets:e.array(Ei).max(1e3).optional(),resourceRefs:e.array(y).max(1e3).optional(),requiredOutputs:e.array(Ai).max(100).optional(),tags:e.array(y).max(100).default([]),metadata:G}),Ci=e.object({id:y,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(De,"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:G}),He=e.object({id:y,taskId:ut,sourceRefs:e.array(y).min(1).max(100),artifactRef:y,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:G}),Za=He.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),er=He.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)}),tr=He.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),ar=He.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),rr=He.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:y,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),ir=He.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:y,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)})}),jo=e.discriminatedUnion("kind",[Za,er,tr,ar,rr,ir]),nr=e.object({demonstrations:e.array(Za).max(1e5).default([]),preferences:e.array(er).max(1e5).default([]),corrections:e.array(tr).max(1e5).default([]),feedback:e.array(ar).max(1e5).default([]),rewards:e.array(rr).max(1e5).default([]),labels:e.array(ir).max(1e5).default([])}),sr=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(y).max(200).default([]),actionBindings:e.array(Ri).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(Ci).max(1e4).optional(),metadata:G}),or=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([])}),pt=e.object({id:y,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:G}),Pi=pt.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),$i=pt.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:ct,calibrationFixtureRefs:e.array(y).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),qi=pt.extend({kind:e.literal("human"),form:sa.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),Mi=pt.extend({kind:e.literal("custom_verifier"),runtime:ca.optional(),module:e.string().trim().min(1).max(1e3).refine(De,"Custom verifier modules must use a safe relative path."),exportName:Ti,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),N=e.union([Pi,$i,qi,Mi]),zi=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),Et=e.object({id:y,taskId:y,label:zi,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:G}),dt=e.string().regex(/^[a-f0-9]{64}$/),qo=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:j,inputHash:dt,seed:e.number().int(),initialStateHash:dt,finalStateHash:dt,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:dt}).strict();var Be=e.object({environment:ae,verifierSet:re,javascript:Ma}).strict(),Mo=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 At(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}`}m(At,"modelStarterExecutionAssetId");function Oi(t){let a=Be.parse(t);cr(a);let r=At({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),i=Ye({text:x(a),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:n,...s}=i;return C({...s,id:r,asset:{...s.asset,id:r}})}m(Oi,"createModelStarterExecutionAsset");function zo(t,a,r){if(a.id!==At(t)||a.asset.visibility!=="host_private"||a.asset.mediaType!=="application/json")throw new Error("Starter execution asset differs from its Taskset references.");let i=Be.parse(JSON.parse(q(a,a.asset)));return Ct(i,t,r),i}m(zo,"resolveModelStarterExecutionAsset");function he(t,a){return C({value:t}).contentHash===C({value:a}).contentHash}m(he,"equal");function cr(t){za(t.javascript);for(let a of[t.environment,t.verifierSet]){let{contentHash:r,...i}=a;if(C(i).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${a.id}.`)}if(!he(t.environment.metadata.javascriptEnvironment,H(t.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}m(cr,"assertExecutionIntegrity");function Ct(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:i,verifierSet:n,javascript:s}=t;if(cr(t),!he(a.environmentRelease,{id:i.id,contentHash:i.contentHash})||!he(a.verifierSetRelease,{id:n.id,contentHash:n.contentHash})||!he(i.contract,a.environment)||!he(n.graders,a.graders)||!he(a.tools,s.tools)||!he(i.metadata.javascriptEnvironment,H(s)))throw new Error("Starter execution resources differ from its declared task context.");let o=i.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 d of[s.module,i.actionSchemaRef,i.observationSchemaRef,i.stateSchemaRef]){if(!d)continue;let u=r.find(c=>c.id===d.id);if(!u)throw new Error(`Starter environment asset is missing: ${d.id}.`);q(u,d)}for(let d of a.tasks){let u=r.find(l=>l.id===d.privilegedContextRef);if(!u||u.asset.visibility!=="host_private"||u.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${d.id}.`);let c=JSON.parse(q(u,u.asset));if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`Starter initial state must be a JSON object: ${d.id}.`);Me(c,s.maxStateBytes)}}m(Ct,"validateModelStarterExecution");var dr=e.object({environment:ae,verifierSet:re}).strict();function Vi(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}`}m(Vi,"modelTasksetExecutionResourcesAssetId");function Do(t){let a=dr.parse({environment:t.environment,verifierSet:t.verifierSet});Bi(a);let r=Vi({environmentRelease:{id:a.environment.id,contentHash:a.environment.contentHash},verifierSetRelease:{id:a.verifierSet.id,contentHash:a.verifierSet.contentHash}}),{contentHash:i,...n}=Ye({text:x(a),path:"environment/resources.json",mediaType:"application/json",visibility:"host_private"});return C({...n,id:r,asset:{...n.asset,id:r}})}m(Do,"createModelTasksetExecutionResourcesAsset");function Bi(t){if(!ie(t.environment)||!ne(t.verifierSet))throw new Error("Taskset execution resource integrity failed.")}m(Bi,"assertIntegrity");var mr=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),Di=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:mr,root:j,parent:j}).strict(),lr=e.object({taskset:te,taskDefinition:Oe,rewardBinding:le,rewards:e.array(me).min(1).max(100),assets:e.array(ye).max(1e3),executionResources:dr.optional(),execution:Be.optional(),instructionMode:e.literal("per_task").optional()}).strict(),Y=m((t,a)=>C({value:t}).contentHash===C({value:a}).contentHash,"same"),Fa=m((t,a)=>`model-taskset-${C({owner:t,root:a}).contentHash}`,"identity");function Ko(t){return Ui({...t,source:Pt(t.source)})}m(Ko,"deriveModelTaskset");function Ui(t){let a=mr.parse(t.owner),r=t.source,i=t.edits??r,n=r.taskset.metadata.modelTasksetDerivation===void 0?null:Di.parse(r.taskset.metadata.modelTasksetDerivation);if(n&&r.taskset.id!==Fa(n.owner,n.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let s=n&&Y(n.owner,a),o=s?n.root:H(r.taskset),d=s?r.taskset.id:Fa(a,o),u=s?r.taskset.revision+1:1,c=le.parse(t.rewardBinding),l=t.rewards.map(qe=>me.parse(qe)),p=B(c,l);if(c.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let h={...i.taskset.policy,hiddenGraderRefs:p.filter(qe=>qe.privileged).map(qe=>qe.id)},v=i.executionResources??i.execution,g=v?.environment??it({schemaVersion:"openpond.environmentRelease.v1",id:`${d}-environment`,revision:1,contract:i.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),b=nt({schemaVersion:"openpond.verifierSetRelease.v1",id:`${d}-verifiers`,revision:u,graders:p,isolation:v?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(i.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:v?{sourceVerifierSet:H(v.verifierSet)}:{}}),I={environment:g,verifierSet:b},xe=i.execution?{...i.execution,verifierSet:b}:void 0,{contentHash:Pe,...We}=i.taskset,{contentHash:Qt,...Xt}=i.taskDefinition,Yt={...Xt.execution,policy:h,environmentRelease:{id:g.id,contentHash:g.contentHash},verifierSetRelease:{id:b.id,contentHash:b.contentHash}},Zt=Oe.parse(C({...Xt,id:`${d}-definition`,revision:u,rewardBinding:H(c),execution:Yt})),$e=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,ea=$e&&typeof $e=="object"&&!Array.isArray($e)&&"graderFixtures"in $e?$e.graderFixtures:void 0,ai=te.parse(C({...We,...Yt,id:d,revision:u,graders:p,metadata:{starter:{taskDefinition:H(Zt),rewardBinding:H(c)},rewardExecution:{binding:c,rewards:l},...ea===void 0?{}:{starterAuthoring:{graderFixtures:ea}},...i.taskset.metadata.environmentResources===void 0?{}:{environmentResources:i.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:a,root:o,parent:H(r.taskset)}}}));return Pt({taskset:ai,taskDefinition:Zt,rewardBinding:c,rewards:l,assets:t.assets,executionResources:I,...xe?{execution:xe}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}m(Ui,"compileModelTasksetReward");function Pt(t){let a=lr.parse(t),{taskset:r,taskDefinition:i,rewardBinding:n,rewards:s,assets:o,execution:d}=a;for(let b of[r,i,n,...s,...o])rt(b);if(Xe(r),n.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!D(i.rewardBinding,H(n)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:u,environment:c,environmentRelease:l,tools:p,capabilities:h,verifierSetRelease:v}=r;if(!Y(i.execution,{policy:u,environment:c,...l?{environmentRelease:l}:{},tools:p,capabilities:h,...v?{verifierSetRelease:v}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!Y(r.graders,B(n,s)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let b=e.object({taskDefinition:j,rewardBinding:j}).passthrough().parse(r.metadata.starter);if(!D(b.taskDefinition,H(i))||!D(b.rewardBinding,H(n)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!Y(r.metadata.rewardExecution,{binding:n,rewards:s}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!D(j.parse(r.metadata.rewardBinding),H(n)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let g=a.executionResources??d;if(r.environmentRelease&&!g)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(g&&(!ie(g.environment)||!ne(g.verifierSet)||!Y(r.environmentRelease,{id:g.environment.id,contentHash:g.environment.contentHash})||!Y(r.verifierSetRelease,{id:g.verifierSet.id,contentHash:g.verifierSet.contentHash})||!Y(r.environment,g.environment.contract)||!Y(r.graders,g.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(Ct(d,r,o),new Set(o.map(b=>b.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let b of o)q(b,b.asset);for(let b of g?[g.environment.actionSchemaRef,g.environment.observationSchemaRef,g.environment.stateSchemaRef]:[]){if(!b)continue;let I=o.find(xe=>xe.id===b.id);if(!I)throw new Error(`Taskset environment asset is missing: ${b.id}.`);q(I,b)}for(let b of r.tasks){if(i.requiredOutputs&&!Y(b.requiredOutputs,i.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${b.id}.`);if(a.instructionMode!=="per_task"&&b.policyVisibleContext.instructions!==i.instructions||!vt(i.inputSchema,b.input).valid||b.expectedOutput!==null&&!vt(i.outputSchema,b.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${b.id}.`);if(b.privilegedContextRef&&!o.some(I=>I.id===b.privilegedContextRef&&I.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${b.id}.`)}for(let b of s){let I=b.implementation,xe=[...b.assets,..."verifierRef"in I?[I.verifierRef]:[],..."rubricRef"in I?[I.rubricRef]:[],..."inputContract"in I?[I.inputContract]:[]];for(let Pe of xe){let We=o.find(Qt=>Qt.id===Pe.id);if(!We||Pe.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${Pe.id}.`);q(We,Pe)}}return a}m(Pt,"validateModelTasksetPackage");var ur=e.object({batch:at,evidence:e.array(xa).min(1).max(1e4),decisions:e.array(ya).min(1).max(1e4),sources:e.array(tt).min(1).max(1e4),assets:e.array(ye).max(1e3)}).strict();function Gi(t){return t.evidence.filter(a=>a.submission.evaluatorContext!==null).map(a=>{let r=x(a.submission.evaluatorContext),i=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${a.contentHash}`,path:`learning/context/${a.contentHash}.json`,contentHash:K(i),sizeBytes:i.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(i,n=>String.fromCharCode(n)).join(""))}})}m(Gi,"learningPackageContextFiles");function Ni(t,a){let r=ur.parse(a),i=ke(t);if(!D(H(r.batch),i.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let c of[r.evidence,r.decisions,r.sources,r.assets]){let l=new Set;for(let p of c){rt(p);let h=`${p.id}:${p.revision}`;if(l.has(h))throw new Error("Taskset learning resource identities must be unique.");l.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 c of r.evidence){let l=r.sources.find(p=>D(H(p),c.source));if(!l||!D(l.taskDefinition,H(i.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(c=>!r.evidence.some(l=>D(l.source,H(c)))))throw new Error("Taskset package includes an unrelated learning source.");let n=i.rewards.flatMap(c=>[...c.assets,...c.implementation.kind==="custom_verifier"?[c.implementation.verifierRef]:c.implementation.kind==="model_judge"||c.implementation.kind==="human"?[c.implementation.rubricRef]:[],..."inputContract"in c.implementation?[c.implementation.inputContract]:[]]);for(let c of n){let l=r.assets.find(p=>p.id===c.id);if(!l)throw new Error("Taskset learning Reward asset is missing.");q(l,c)}if(r.assets.some(c=>!n.some(l=>l.id===c.id)))throw new Error("Taskset package includes an unrelated learning asset.");let s=Ra({batch:r.batch,definition:i.definition,binding:i.binding,rewards:i.rewards,evidence:r.evidence,decisions:r.decisions}),o=ke(s);if(f(o)!==f(i))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let d=m(c=>({policy:c.policy,environment:c.environment,tools:c.tools}),"execution");if(f(d(s))!==f(d(t)))throw new Error("Taskset execution differs from its reviewed task definition.");let u=m(c=>({id:c.id,clusterKey:c.clusterKey,split:c.split,input:c.input,expectedOutput:c.expectedOutput,policyVisibleContext:c.policyVisibleContext,privilegedContextRef:c.privilegedContextRef,artifactRefs:c.artifactRefs,requiredOutputs:c.requiredOutputs??[],tags:c.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}m(Ni,"validateTasksetLearningResources");var $t=64*1024*1024,pr=e.object({asset:M,base64:e.string().max(Math.ceil($t/3)*4)}).strict();function Ue(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 i=Uint8Array.from(r,n=>n.charCodeAt(0));if(i.byteLength!==a.asset.sizeBytes||K(i)!==a.asset.contentHash)throw new Error(`Taskset asset ${a.asset.id} differs from its immutable bytes.`);return i}m(Ue,"decodeTasksetPackageFile");function Fi(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=m(o=>{let d=a.get(o);if(!d)throw new Error(`Taskset environment asset is missing: ${o}.`);if(d.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let u=new TextDecoder("utf-8",{fatal:!0}).decode(Ue(d));return ye.parse(C({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:d.asset,text:u}))},"read"),i;if(t.modelResources){if(!t.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");i=Be.parse(t.modelResources.execution)}else{let o=r(At(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.");i=Be.parse(JSON.parse(o.text))}let s=[...new Set([i.javascript.module.id,...[i.environment.actionSchemaRef,i.environment.observationSchemaRef,i.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...t.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return Ct(i,t.taskset,s),{execution:i,assets:s}}m(Fi,"resolveTasksetPackageExecution");function Zo(t){let a=Oi(t),r=new TextEncoder().encode(a.text),i="";for(let n of r)i+=String.fromCharCode(n);return{asset:a.asset,base64:btoa(i)}}m(Zo,"createTasksetPackageExecutionFile");var fr=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:la,fixtureSet:M,calibrationCheck:ue,fixture:Ta,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:M,graderId:e.string().min(1).max(240).optional()}).strict();function hr(t){let a=t.taskset.metadata.ordinaryAuthoring??t.taskset.metadata.starterAuthoring;return e.object({graderFixtures:Et.array().max(1e5).default([])}).passthrough().parse(a??{}).graderFixtures}m(hr,"authoredFixtures");function Li(t){for(let a of hr(t)){let r=a.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&Ji(t,a)}for(let a of t.files)a.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&gr(t,a.asset)}m(Li,"assertTasksetCalibrationClosures");function Ji(t,a){let r=fr.parse(a.metadata.rewardCalibration),i=gr(t,r.closureRef);(f(r.sourceReward)!==f(H(i.reward))||f(r.fixtureSet)!==f(i.reward.fixtureSetRef)||r.calibrationCheck.id!==i.check.id||r.calibrationCheck.revision!==i.check.revision||r.calibrationCheck.contentHash!==f(i.check))&&A("calibration_source_changed");let n=r.fixture,s=`calibration-${f([r.sourceReward,n.id])}`;(a.id!==s||a.taskId!==s||t.taskset.tasks.some(g=>g.id===s)||r.fixtureHash!==f(n)||f(a.output)!==f(n.output)||a.infrastructureError!==n.infrastructureError)&&A("calibration_fixture_changed");let o=i.check.results.filter(g=>g.fixture.id===n.id&&g.fixture.contentHash===r.fixtureHash);(o.length!==1||f(o[0])!==r.checkResultHash)&&A("calibration_result_changed");let d=n.expected;(d.status!=="scored"||typeof d.passed!="boolean"||a.expectedPassed!==d.passed||a.label!==(d.passed?"positive":"negative"))&&A("calibration_expectation_unsupported");let u=r.graderId??r.sourceReward.id,c=t.taskset.graders.filter(g=>g.id===u),l=c[0];(c.length!==1||!l)&&A("calibration_grader_not_unique"),a.expectedRewardEligible!==l.rewardEligible&&A("calibration_reward_expectation_changed");let p=pa({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${i.contentHash}`,revision:1,sources:[{graderId:u,reward:r.sourceReward,role:"evaluation",normalization:{kind:"identity"},weight:l.weight,required:!0,hardGate:l.hardGate,privileged:l.privileged,fixtureRefs:[]}],aggregation:"weighted_mean",unscorable:"exclude_optional_require_all_required"},[i.reward]),h=B(p,[i.reward])[0],v=m(g=>{let{rewardEligible:b,...I}=g;return I.kind==="model_judge"?{...I,temperature:I.temperature??0}:I},"implementation");return f(v(l))!==f(v(h))&&A("calibration_grader_changed"),l.kind==="model_judge"&&Ki(t,l,r,i),{kind:"independent_reward_calibration",fixtureId:s,task:ze.parse({id:s,clusterKey:s,split:"validation",input:n.input,expectedOutput:n.expectedOutput,privilegedContextRef:null}),evaluatorContext:n.evaluatorContext,evidence:{output:n.output,artifactRefs:n.artifactRefs,runtimeEventRefs:n.runtimeEventRefs,infrastructureError:n.infrastructureError},grader:h,reward:i.reward,binding:p,expected:d,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}m(Ji,"resolveIndependent");function gr(t,a){(a.visibility!=="host_private"||a.sizeBytes>Ha||a.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&A("calibration_closure_not_private");let r=t.files.filter(u=>u.asset.id===a.id);(r.length!==1||f(r[0].asset)!==f(a))&&A("calibration_closure_asset_changed");let i=Ue(r[0]),n=new TextDecoder("utf-8",{fatal:!0}).decode(i),s=ja(JSON.parse(n));f(Ea(s).asset)!==f(a)&&A("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")&&A("calibration_closure_visible_alias");let d=m(u=>u.id===a.id||u.path===a.path||u.contentHash===a.contentHash,"isAlias");for(let u of t.taskset.tasks)(u.artifactRefs.some(d)||(u.requiredOutputs??[]).some(c=>c.schemaRef&&d(c.schemaRef))||u.privilegedContextRef&&t.files.some(c=>c.asset.id===u.privilegedContextRef&&d(c.asset)))&&A("calibration_closure_task_alias"),(Tt(u.input,n,a.contentHash)||Tt(u.policyVisibleContext,n,a.contentHash))&&A("calibration_closure_inline_alias");for(let u of[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef])u&&d(u)&&A("calibration_closure_environment_schema_alias");for(let u of[t.taskset.metadata.environmentResources,t.environment.metadata.resources]){if(u===void 0)continue;let c=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(u);for(let l of c){let p=t.files.find(h=>h.asset.path===l.path);(l.id===a.id||l.path===a.path||p&&d(p.asset))&&A("calibration_closure_environment_resource_alias")}}return s}m(gr,"readPrivateClosure");function Tt(t,a,r){return typeof t=="string"?t===a||K(t)===r:!t||typeof t!="object"?!1:K(JSON.stringify(t))===r?!0:Object.values(t).some(i=>Tt(i,a,r))}m(Tt,"containsClosure");function A(t){throw new Error(t)}m(A,"fail");function Ki(t,a,r,i){let n=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),d=i.check.fixtureRefs.map(c=>`calibration-${f([r.sourceReward,c.id])}`);f(o.judgeCalibrationFixtures[n]??[])!==f(d)&&A("calibration_judge_membership_changed");let u=hr(t);for(let c=0;c<d.length;c++){let l=u.filter(I=>I.id===d[c]);l.length!==1&&A("calibration_judge_membership_changed");let p=l[0],h=fr.parse(p.metadata.rewardCalibration),v=h.fixture.expected;(v.status!=="scored"||typeof v.passed!="boolean"||p.expectedPassed!==v.passed||p.expectedRewardEligible!==a.rewardEligible||p.label!==(v.passed?"positive":"negative")||f(p.output)!==f(h.fixture.output)||p.infrastructureError!==h.fixture.infrastructureError)&&A("calibration_judge_membership_changed");let g=i.check.fixtureRefs[c],b=i.check.results.find(I=>I.fixture.id===g.id);(p.taskId!==p.id||h.fixture.id!==g.id||h.fixtureHash!==g.contentHash||f(h.fixture)!==g.contentHash||h.checkResultHash!==f(b)||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)!==n)&&A("calibration_judge_membership_changed")}}m(Ki,"assertJudgeFixtureMembership");function Wi(t){return`model-authored-taskset-${f({owner:t.owner,root:t.root})}`}m(Wi,"modelAuthoredTasksetId");function Qi(t){if(t.metadata.modelTasksetAuthoring===void 0)return null;let a=_t.parse(t.metadata.modelTasksetAuthoring);if(t.id!==Wi(a)||(t.revision===1?!D(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}m(Qi,"assertModelTasksetAuthoring");var Xi=lr.omit({taskset:!0,executionResources:!0}),vr=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:te,environment:ae,verifierSet:re,files:e.array(pr).max(1e4),modelResources:Xi.optional(),learningResources:ur.optional()}).strict(),Yi=vr.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function mc(t){return t.learningResources?ke(t.taskset).binding:t.modelResources?.rewardBinding??null}m(mc,"tasksetPackageRewardBinding");function Zi(t){return t.learningResources?ke(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??""}m(Zi,"resolveTasksetPackageInstructions");function en(t){Me(t,$t);let a=Yi.parse(t),{contentHash:r,...i}=a;if(f(i)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:n,environment:s,verifierSet:o}=a;if(Xe(n),Qi(n)&&(a.modelResources||a.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!ie(s)||!ne(o)||!_e(n.environmentRelease,{id:s.id,contentHash:s.contentHash})||!_e(n.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!_e(n.environment,s.contract)||!_e(n.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let u=new Map;for(let l of a.files){if(u.has(l.asset.id))throw new Error(`Duplicate Taskset asset identity: ${l.asset.id}.`);Ue(l),u.set(l.asset.id,l)}function c(l){let p=u.get(l.id);if(!p||!_e(p.asset,l))throw new Error(`Taskset package asset is missing or mismatched: ${l.id}.`)}m(c,"requireAsset");for(let l of n.tasks){for(let p of l.artifactRefs)c(p);for(let p of l.requiredOutputs??[])p.schemaRef&&c(p.schemaRef);if(l.privilegedContextRef&&u.get(l.privilegedContextRef)?.asset.visibility!=="host_private")throw new Error(`Taskset package private context is missing: ${l.id}.`)}for(let l of[s.actionSchemaRef,s.observationSchemaRef,s.stateSchemaRef])l&&c(l);for(let l of n.graders){let p="verifierRef"in l?l.verifierRef:"rubricRef"in l?l.rubricRef:null;if(p&&(c(p),p.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${p.id}.`)}if(n.metrics?.customAggregator){let l=n.metrics.customAggregator,p=a.files.filter(h=>h.asset.path===l.module);if(p.length!==1||p[0].asset.contentHash!==l.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 l of[n.metadata.environmentResources,s.metadata.resources])if(l!==void 0){for(let p of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(l))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 l=Ni(n,a.learningResources);for(let p of Gi(l))if(!_e(u.get(p.asset.id),p))throw new Error("Taskset private context differs from its reviewed evidence.");for(let p of l.assets)c(p.asset)}else if(a.modelResources){let l=Pt({...a.modelResources,taskset:n,executionResources:{environment:s,verifierSet:o}});for(let p of l.assets)c(p.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(l=>n.metadata[l]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Fi(a),Zi(a),Li(a),a}m(en,"validateTasksetPackage");function lc(t){Me(t,$t);let a=vr.parse(t);return en({...a,contentHash:f(a)})}m(lc,"createTasksetPackage");function _e(t,a){return f({value:t})===f({value:a})}m(_e,"same2");var Q=e.string().trim().min(1).max(240),Ge=e.string().trim().min(1),ft=e.string().trim().min(8).max(256),Sr=e.record(e.string(),e.unknown()).default({}),tn=Q.nullable(),an=["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"],rn=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),nn=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),z=e.string().trim().max(1e5),sn=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:z,examples:e.array(e.object({id:Q,prompt:z,response:z})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:z,pairs:e.array(e.object({id:Q,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:Q,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:Q,label:e.string().trim().max(500),description:z})).max(1e3).default([]),positiveExample:z,negativeExample:z,boundaryExample:z})]),Sc=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),on=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(Q).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),cn=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"]),dn=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(cn).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),br=e.object({code:Q,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),mn=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:Q,tasksetHash:ft,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:on.nullable().default(null),methodReadiness:e.array(dn).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(br).default([]),advisories:e.array(br).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:Ge}),ln=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:Ge}),un=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:ct.nullable(),modelConfig:Sr,skillHash:ft,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:nn.default("demonstrations"),buildSpecification:sn.nullable().default(null),evidenceHashes:e.array(ft).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(ln).max(1e3),createdAt:Ge}),pn=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:Q,revision:e.number().int().positive().default(1),profileId:Q,profileRelease:Oa.nullable().optional(),createImproveRunId:tn.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:Ja.default("general"),benchmark:Ka.nullable().default(null),preferenceComparison:Wa.nullable().default(null),status:rn,sourceRefs:e.array(Qa).min(1).max(1e5),datasetArtifact:It.nullable().optional(),policy:Xa,environment:sr,capabilities:or,metrics:ra.optional(),tasks:e.array(Ya).max(1e6),graders:e.array(N).max(1e3),graderFixtures:e.array(Et).max(1e5),learningSignals:nr,authoringProvenance:un,readiness:mn.nullable(),contentHash:ft,createdAt:Ge,updatedAt:Ge,metadata:Sr}).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 fn(t){return t.schemaVersion==="openpond.trainingSource.v1"}m(fn,"isTrainingSourceRef");function xc(t,a={}){let r=pn.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 i=r.data,n=[];vn(i,n),gn(i,n),bn(i,n),xn(i,n),yn(i,n),a.purpose!=="publication"&&(i.graders.length||n.push({code:"graders_required",severity:"error",message:"Scored execution requires at least one grader.",path:"graders"}),hn(i,n,a)),wn(i,n),kn(i.capabilities,n,i),Sn(i,n);let s=xr(i);return i.contentHash!==s&&n.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${i.contentHash}, expected ${s}.`,path:"contentHash"}),{valid:!n.some(o=>o.severity==="error"),taskset:i,computedHash:s,issues:n}}m(xc,"validateTaskset");function hn(t,a,r){let i=t.graders.length>0&&t.graders.every(o=>o.kind==="human");!i&&!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 n=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&&!n.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 i?[]:s)a.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}m(hn,"validateGraderFixtures");function gn(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 i=Object.values(r.splitCounts).reduce((u,c)=>u+c,0),n=r.shards.reduce((u,c)=>u+c.rowCount,0);(i!==r.rowCount||n!==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,c]of Object.entries(r.splitCounts))(s.get(u)??0)!==c&&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,...d}=r;f(d)!==r.contentHash&&a.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}m(gn,"validateDatasetArtifact");function yc(t){return xr(t)}m(yc,"computeTasksetHash");function xr(t){let{contentHash:a,status:r,readiness:i,updatedAt:n,...s}=t;return f(s)}m(xr,"tasksetContentHash");function vn(t,a){for(let[r,i]of t.sourceRefs.entries())fn(i)&&i.consent.status!=="granted"&&a.push({code:"source_consent_missing",severity:"error",message:`Source ${i.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),i.secretScanStatus!=="passed"&&a.push({code:"source_secret_scan",severity:"error",message:`Source ${i.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),i.piiScanStatus!=="passed"&&a.push({code:"source_pii_scan",severity:"error",message:`Source ${i.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),i.licensingStatus!=="approved"&&a.push({code:"source_license",severity:"error",message:`Source ${i.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}m(vn,"validateSourceConsent");function bn(t,a){let r=new Map;for(let n of t.tasks){let s=r.get(n.clusterKey)??new Set;s.add(n.split),r.set(n.clusterKey,s)}for(let[n,s]of r)s.size>1&&a.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${n} appears in multiple splits: ${[...s].join(", ")}.`,path:"tasks"});(t.datasetArtifact?t.datasetArtifact.splitCounts.frozen_eval??0:t.tasks.filter(n=>n.split==="frozen_eval").length)===0&&a.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}m(bn,"validateSplitIsolation");function Sn(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(an),i=t.environment.toolNames.filter(s=>!r.has(s));i.length&&a.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${i.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 n=new Map(t.sourceRefs.map(s=>[s.id,s]));for(let[s,o]of t.tasks.entries()){let d=new Set,u=new Set;for(let[l,p]of(o.assets??[]).entries()){let h=`tasks.${s}.assets.${l}`;d.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`}),d.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 v=n.get(p.sourceRefId);v?"sourceFileHashes"in v&&!v.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`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.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`}),v&&"kind"in v&&v.kind==="uploaded_file"&&!v.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 c=new Set;for(let[l,p]of(o.requiredOutputs??[]).entries()){let h=p.path.replaceAll("\\","/"),v=`tasks.${s}.requiredOutputs.${l}.path`;c.has(h)&&a.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${h}.`,path:v}),c.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`})}}m(Sn,"validateWorkExecution");function xn(t,a){let r=new Set(t.policy.policyVisibleFields);for(let i of t.policy.privilegedFields)r.has(i)&&a.push({code:"privileged_field_visible",severity:"error",message:`Field ${i} is both policy-visible and privileged.`,path:"policy"});for(let i of t.tasks)i.privilegedContextRef&&Object.keys(i.policyVisibleContext).includes(i.privilegedContextRef)&&a.push({code:"privileged_context_leak",severity:"error",message:`Task ${i.id} exposes its privileged context reference.`,path:`tasks.${i.id}.policyVisibleContext`})}m(xn,"validatePolicyBoundary");function yn(t,a){let r=new Set;for(let i of t.graders)r.has(i.id)&&a.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${i.id}.`,path:"graders"}),r.add(i.id),i.kind==="model_judge"&&i.rewardEligible&&i.calibrationStatus!=="passed"&&a.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${i.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${i.id}`}),i.kind==="model_judge"&&i.calibrationStatus==="passed"&&typeof i.metadata.calibrationEvidenceHash!="string"&&a.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${i.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${i.id}.metadata.calibrationEvidenceHash`}),i.kind==="human"&&i.rewardEligible&&a.push({code:"human_online_reward",severity:"error",message:`Human grader ${i.id} cannot be an online optimizer reward.`,path:`graders.${i.id}`})}m(yn,"validateGraders");function wn(t,a){let r=new Set(t.tasks.map(n=>n.id)),i=new Set(t.sourceRefs.map(n=>n.id));for(let n of[...t.learningSignals.demonstrations,...t.learningSignals.preferences,...t.learningSignals.corrections,...t.learningSignals.feedback,...t.learningSignals.rewards,...t.learningSignals.labels])n.taskId&&!t.datasetArtifact&&!r.has(n.taskId)&&a.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${n.id} references missing task ${n.taskId}.`,path:`learningSignals.${n.kind}.${n.id}.taskId`}),n.sourceRefs.some(s=>!i.has(s))&&a.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${n.id} references a source outside the Dataset.`,path:`learningSignals.${n.kind}.${n.id}.sourceRefs`});for(let n of t.learningSignals.preferences)n.chosen.trim()===n.rejected.trim()&&a.push({code:"preference_pair_identical",severity:"error",message:`Preference ${n.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${n.id}`});for(let n of t.learningSignals.rewards)n.executable||a.push({code:"reward_not_executable",severity:"warning",message:`Reward ${n.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${n.id}.executable`})}m(wn,"validateLearningSignals");function kn(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(i=>i==="exact"||i==="deterministic"||i==="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(i=>i.executable)&&!r.graders.some(i=>i.rewardEligible&&i.weight>0&&i.kind!=="human")&&a.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}m(kn,"validateCapabilities");var je=e.string().regex(/^[a-f0-9]{64}$/),yr=e.object({providerId:e.literal("claude-code"),configurationHash:je,executableHash:je,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:je,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(),Ic=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."})}),Hc=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:yr,sourceHash:je,outputHash:je,traceHash:je,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."})}),Ne=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(),Rn=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((t,a)=>{t.reduce((r,i)=>r+i.content.length,0)>1e5&&a.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})}),_n=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(Qe).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:ot.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,a)=>{let{contentHash:r,...i}=t;f(i)!==r&&a.addIssue({code:"custom",message:"Experiment grading integrity failed."});let n=t.grades.flatMap(s=>s.components);(n.length!==t.grades.length||new Set(n.map(s=>s.graderId)).size!==n.length)&&a.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let s of t.grades){let{contentHash:o,...d}=s;f(d)!==o&&a.addIssue({code:"custom",message:"A retained criterion changed."});for(let u of s.components){let{contentHash:c,...l}=u;f(l)!==c&&a.addIssue({code:"custom",message:"A retained grader result changed."})}}}),k=e.string().trim().min(1).max(200),ve=e.string().regex(/^[a-f0-9]{64}$/),qt=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:k,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:ve,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),yr]).optional(),candidate:e.object({artifactId:k,contentHash:ve,preparationId:k,dispatchId:k,baseProfileId:k,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:ha.optional(),messages:Rn.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:k}).strict()]),wr=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:k,teamId:k,modelProjectId:k.nullable(),project:Ne.optional(),taskset:j,taskId:k,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:qt}).strict(),Tn=e.object({modelProjectId:k.nullable(),taskset:j,afterTaskId:k.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),In=e.object({modelProjectId:k.nullable(),taskset:j,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:k,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:k,split:oa,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:k,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:k.nullable()}).strict(),Fe=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:k,revision:e.number().int().positive(),request:wr,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:k,provider:k,upstreamModelId:e.string().min(1).max(500),configurationHash:ve}).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:k,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."})}),Hn=e.object({modelProjectId:k,afterId:k.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),jn=e.object({items:e.array(Fe).max(100),nextCursor:k.nullable()}).strict(),En=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:Fe,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:ua.nullable(),grade:Qe.nullable().optional(),experimentGrade:_n.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:j,initialStateHash:ve.nullable(),finalStateHash:ve.nullable(),attemptHash:ve}).strict(),native:ga.optional(),providerRequestIds:e.array(k).max(1001),contentHash:ve}).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."}))}),oe=class extends Error{static{m(this,"OpenPondModelStarterAttemptError")}constructor(t,a,r){super(r),this.status=t,this.code=a,this.name="OpenPondModelStarterAttemptError"}status;code},zc=class{static{m(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=wr.parse(t);if(r.teamId!==this.#e.teamId)throw new Error("Attempt belongs to another workspace.");let i=this.#a(await this.#t("","POST",r,a.signal));if(x(i.request)!==x(r))throw new oe(502,"attempt_request_mismatch","Attempt receipt differs from the submitted request.");return i}async get(t,a={}){return this.#a(await this.#t(`/${encodeURIComponent(k.parse(t))}`,"GET",void 0,a.signal),t)}async choices(t,a={}){let r=Tn.parse(t),i=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&&i.set("afterTaskId",r.afterTaskId);let n=In.parse(await this.#t(`/choices?${i}`,"GET",void 0,a.signal));if(n.modelProjectId!==r.modelProjectId||x(n.taskset)!==x(r.taskset)||n.tasks.length>r.limit||new Set(n.tasks.map(s=>s.id)).size!==n.tasks.length)throw new oe(502,"attempt_choices_mismatch","Attempt choices differ from the selected model or Taskset.");return n}async cancel(t,a={}){return this.#a(await this.#t(`/${encodeURIComponent(k.parse(t))}/cancel`,"POST",void 0,a.signal),t)}async result(t,a={}){let r=En.parse(await this.#t(`/${encodeURIComponent(k.parse(t))}/result`,"GET",void 0,a.signal));this.#a(r.attempt,t);let{contentHash:i,...n}=r;if(!r.attempt.resultAvailable||await T(n)!==i)throw new oe(502,"attempt_result_integrity","Attempt result integrity failed.");return r}async list(t,a={}){let r=Hn.parse(t),i=new URLSearchParams({modelProjectId:r.modelProjectId,limit:String(r.limit)});r.afterId&&i.set("afterId",r.afterId);let n=jn.parse(await this.#t(`?${i}`,"GET",void 0,a.signal));if(n.items.length>r.limit||new Set(n.items.map(s=>s.id)).size!==n.items.length||n.items.some(s=>this.#a(s).request.modelProjectId!==r.modelProjectId))throw new oe(502,"attempt_page_mismatch","Attempt page differs from the selected model.");return n}#a(t,a){let r=Fe.parse(t);if(r.request.teamId!==this.#e.teamId||a&&r.id!==a)throw new oe(502,"attempt_identity_mismatch","Attempt receipt belongs to another identity or workspace.");return r}async#t(t,a,r,i){let n=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:i,redirect:"error"}),s=n.body?.getReader();if(!s)throw new oe(n.status,"attempt_empty_response","Attempt response was empty.");let o=0,d="",u=new TextDecoder;try{for(;;){let l=await s.read();if(l.done)break;if(o+=l.value.byteLength,o>16777216)throw new oe(502,"attempt_response_too_large","Attempt response exceeded its byte limit.");d+=u.decode(l.value,{stream:!0})}d+=u.decode()}finally{await s.cancel(),s.releaseLock()}let c=JSON.parse(d);if(!n.ok){let l=e.object({code:k,message:e.string().max(2e3)}).safeParse(c);throw new oe(n.status,l.success?l.data.code:"attempt_request_failed",l.success?l.data.message:"Attempt request failed.")}return c}};var Ee=e.string().trim().min(1).max(240),Mt=e.string().regex(/^[a-f0-9]{64}$/),zt=e.object({kind:e.literal("hosted_harness"),modelId:Ee,candidate:e.object({artifactId:Ee,contentHash:Mt,preparationId:Ee,dispatchId:Ee,baseProfileId:Ee,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:St.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:Ee,source:St,modelConfigurationHash:Mt,packageHash:Mt,externalDatasetBinding:Ze.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."})}),F=e.string().trim().min(1).max(200),kr=e.string().regex(/^[a-f0-9]{64}$/),An=e.discriminatedUnion("kind",[qt.options[0],e.object({kind:e.literal("fixture")}).strict(),zt]),be=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:F,teamId:F,modelProjectId:F.nullable(),name:e.string().trim().min(1).max(200).optional(),project:Ne.optional(),taskset:j,policy:An,population:e.array(ba).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=>x([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."})}),Rr=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:F,revision:e.number().int().positive(),teamId:F,modelProjectId:F.nullable(),name:e.string().trim().min(1).max(200).optional(),project:Ne.optional(),operationId:F,taskset:j,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:kr,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:F,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((t,a)=>{Object.values(t.counts).reduce((r,i)=>r+i,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."})}),_r=e.object({summary:Rr,request:be,manifest:et,policySnapshot:Fe.shape.policySnapshot}).strict(),Qc=e.object({modelProjectId:F.optional(),projectId:Ne.shape.id.optional(),afterId:F.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Xc=e.object({items:e.array(Rr).max(100),nextCursor:F.nullable()}).strict(),Cn=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:_r,receipts:e.array(va).min(1).max(1e4),metric:ia.nullable(),contentHash:kr}).strict();function Pn(t,a){W(a,"Taskset run manifest");let r=t.policy;if(r.kind!=="hosted_harness"||a.execution.kind!=="harness"||x(a.profileEvaluation)!==x(r.source)||x(a.execution.harnessRelease)!==x(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||x(a.population)!==x(t.population)||a.population.some(i=>i.receiptId!==`evaluation-${f(a.profileEvaluation?.externalDatasetBinding?[a.id,i.taskId,i.seed,i.fixtureId]:[a.id,i.taskId,i.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}m(Pn,"verifyHarnessExperimentManifest");async function $n(t){let a=_r.parse(t),{summary:r,request:i,manifest:n,policySnapshot:s}=a;if(W(n,"Taskset run manifest"),n.contentHash!==r.manifestHash||n.id!==r.id||n.createdAt!==r.createdAt||r.teamId!==i.teamId||r.modelProjectId!==i.modelProjectId||x(r.project??null)!==x(i.project??null)||x(n.metadata.project??null)!==x(i.project??null)||(r.name??null)!==(i.name??null)||r.operationId!==i.operationId||r.policyKind!==i.policy.kind||r.totalCount!==i.population.length||r.metricName!==n.metricPolicy.primaryMetric||x(r.taskset)!==x(i.taskset)||n.tasksetRelease.id!==i.taskset.id||n.tasksetRelease.contentHash!==i.taskset.contentHash||x(n.population)!==x(i.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(i.policy.kind==="fixture"){if(n.policy.kind!=="fixture"||s!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(i.policy.kind==="hosted_harness"){if(Pn(i,n),s!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(n.policy.kind!=="model"||!s||s.modelId!==i.policy.modelId||n.policy.model.provider!==s.provider||n.policy.model.model!==s.upstreamModelId||n.policy.model.revision!==null||n.policy.model.artifactHash!==(i.policy.candidate?.contentHash??null)||n.policy.model.tokenizerRevision!==null||n.policy.model.chatTemplateHash!==null||n.policy.configurationHash!==await T({policy:i.policy,snapshot:s}))throw new Error("Evaluation model differs from its admitted policy.");return a}m($n,"verifyModelTasksetRunDetails");async function Yc(t){let a=Cn.parse(t),{contentHash:r,...i}=a;if(await T(i)!==r)throw new Error("Evaluation result integrity failed.");let{summary:n,manifest:s}=await $n(a.run);if(!n.resultAvailable||!["completed","failed","cancelled"].includes(n.status))throw new Error("Evaluation result is not terminal.");let o=Sa(s,a.receipts);if(x(o)!==x(a.receipts))throw new Error("Evaluation receipts differ from the admitted order.");if(n.status==="completed"!=(a.metric!==null))throw new Error("Only completed evaluations retain a metric.");if(a.metric&&(na(a.metric),a.metric.runManifest.id!==s.id||a.metric.runManifest.contentHash!==s.contentHash||x(a.metric.tasksetRelease)!==x(s.tasksetRelease)||x(a.metric.policy)!==x(s.metricPolicy)||x(a.metric.receiptRefs)!==x(a.receipts.map(({id:d,contentHash:u})=>({id:d,contentHash:u})))||a.metric.value!==n.score))throw new Error("Evaluation metric differs from its admitted run or receipt population.");return a}m(Yc,"verifyModelTasksetRunResult");var jr=e.string().min(1).max(200).refine(t=>!["__proto__","prototype","constructor"].includes(t),"Use an ordinary field name."),qn=e.array(jr).min(1).max(20),Tr=e.enum(["input","output","expectedOutput","evaluatorContext"]),Mn=e.object({destination:Tr,path:qn,source:Tr,sourcePath:e.array(jr).max(20)}).strict(),Ot=e.array(Mn).max(100).superRefine((t,a)=>{for(let[r,i]of t.entries())t.slice(0,r).some(n=>n.destination===i.destination&&(Hr(n.path,i.path)||Hr(i.path,n.path)))&&a.addIssue({code:"custom",path:[r,"path"],message:"Mapped destination paths must not overlap."})});function rd(t,a){let r=Ot.parse(a),i=structuredClone(t);for(let n of r){let s=t[n.source];for(let d of n.sourcePath){if(!Ir(s)||!Object.hasOwn(s,d))throw new Error("The configured grader source field is unavailable.");s=s[d]}if(s===void 0)throw new Error("The configured grader source field is unavailable.");let o=i[n.destination];o===null&&(i[n.destination]=o={});for(let d of n.path.slice(0,-1)){let u=Object.hasOwn(o,d)?o[d]:void 0;if(u!==void 0&&!Ir(u))throw new Error("A grader destination path crosses a scalar field.");u===void 0&&(o[d]={}),o=o[d]}o[n.path.at(-1)]=structuredClone(s)}return i}m(rd,"mapExperimentGradingFields");function Ir(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}m(Ir,"record");function Hr(t,a){return t.length<=a.length&&t.every((r,i)=>r===a[i])}m(Hr,"prefix");var O=e.string().trim().min(1).max(200),Se=e.string().regex(/^[a-f0-9]{64}$/),Vt=e.object({id:O,revision:e.number().int().positive(),contentHash:Se}).strict(),Bt=e.object({id:O,version:e.string().min(1).max(200),contentHash:Se,name:e.string().trim().min(1).max(500).optional(),feedbackKey:ma,release:Vt.nullable(),mappings:Ot.optional()}).strict(),Dt=e.object({id:O,version:e.string().min(1).max(200),contentHash:Se,mappings:Ot}).strict(),cd=e.object({operationId:O,id:O.optional(),expectedRevision:e.number().int().nonnegative(),request:be,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Dt).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."})}),zn=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:O,teamId:O,revision:e.number().int().positive(),request:be,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Bt).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),dd=zn.extend({contentHash:Se}),md=e.object({operationId:O,definition:Vt}).strict(),ld=e.object({projectId:O.optional(),datasetHash:Se.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:O.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),ud=e.object({definition:Vt.nullable(),configurationHash:Se.optional(),admissionRequestHash:Se.optional(),sourceExperimentId:O.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Bt).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."})}),pd=e.object({operationId:O,profileRepositoryId:O,definitionId:O,modelId:O,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:Ze.optional(),sourceCandidate:zt.shape.sourceCandidate}).strict(),fd=e.object({request:be,manifest:et,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Bt).min(1).max(100)}).strict();var Er=e.string().trim().min(1).max(200),Ut=e.object({operationId:Er,request:be,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(Dt).min(1).max(100).optional(),sourceExperimentId:Er.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 R=e.string().trim().min(1).max(200),X=e.string().regex(/^[a-f0-9]{64}$/),ht=e.object({id:R,contentHash:X}).strict(),jd=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:we.nullable()}).strict(),Ar=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:R,revision:e.number().int().positive(),contentHash:X}).strict(),projectId:R.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:R,configuration:Ut}).strict()).min(1).max(20),acceptancePlan:Aa.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,i)=>r+i.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(n=>n.id));t.acceptancePlan.checks.some(n=>!t.experiments.some(s=>s.id===n.id))&&a.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),t.acceptancePlan.maximumSpendUsd+t.experiments.filter(n=>!r.has(n.id)).reduce((n,s)=>n+s.configuration.maximumCostUsd,0)>t.maximumSpendUsd+1e-9&&a.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var On=e.object({baseline:ht,checks:e.array(e.object({id:R,sourceRunId:R,sourceManifestHash:X,targetConfigurationHash:X,executionHash:X,populationHash:X,evaluator:ht,feedbackKey:R,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),Vn=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),Cr=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:R,teamId:R,jobId:R,revision:e.number().int().positive(),planHash:X,automatic:e.boolean(),candidate:ht.nullable(),state:Vn,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:R.nullable(),experimentIds:e.array(R).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."})}),Bn=e.object({operationId:R,expectedRevision:e.number().int().positive(),planHash:X}).strict(),Dn=e.object({operationId:R,attachment:Ar}).strict(),Un=e.object({id:R,teamId:R,ownerUserId:R,attachment:Ar,qualification:On.nullable(),contentHash:X,createdAt:e.iso.datetime()}).strict();function Gn(t){let a=Un.parse(t);if(a.contentHash!==f({attachment:a.attachment,qualification:a.qualification}))throw new Error("The retained evaluation attachment or qualification changed.");return a}m(Gn,"verifyPostTrainingPlan");function Pr(t){let{request:a}=t,r=m(n=>`/v1/training/jobs/${encodeURIComponent(R.parse(n))}/post-training`,"path");async function i(n,s,o){if(n===null)return null;let d=Cr.parse(n);if(d.teamId!==s||d.jobId!==o)throw new w("post_training_scope_mismatch","The evaluation summary belongs to another run or workspace.");return d}return m(i,"read"),{async attach(n,s){let o=Dn.parse(s),d=Gn(await a("/v1/training/post-training-plans",{method:"POST",body:JSON.stringify(o)}));if(d.teamId!==n||await T(d.attachment)!==await T(o.attachment))throw new w("post_training_plan_mismatch","The retained attachment differs from the reviewed plan.");return d},async get(n,s){return i(await a(r(s)),n,s)},async control(n,s,o,d){let u=Bn.parse(d),c=await i(await a(`${r(s)}/${o}`,{method:"POST",body:JSON.stringify(u)}),n,s);if(!c||c.planHash!==u.planHash)throw new w("post_training_control_mismatch","Evaluation control did not retain the approved plan.");return c}}}m(Pr,"createPostTrainingClient");var Ed=e.object({teamId:R,actorId:R,projectId:R.nullable(),configuration:Rt,batches:e.array(at).max(1e4),sources:e.array(tt).max(1e4),definitions:e.array(Oe).max(1e4),experiments:e.array(e.object({id:R,name:e.string().max(500),configuration:Ut,graders:e.array(e.object({feedbackKey:R,name:e.string().max(500),ref:ht}).strict()).max(100)}).strict()).max(1e4)}).strict(),Ad=e.enum(["prepare","start","cancel","publish","attach"]),Cd=e.object({teamId:R,actorId:R,configuration:Rt,policy:wa,inspection:Ia,iterations:e.array(e.object({iteration:ka,evals:Cr.nullable()}).strict()).max(100),nextCursor:R.nullable()}).strict(),Pd=e.object({id:R,expectedRevision:e.number().int().positive(),policyHash:X,operationId:R,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:R.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var gt=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:$,sideEffect:e.enum(["read","write"]),timeoutMs:e.number().int().positive().max(36e5)}).strict(),Gt=e.object({id:E,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(),Nn=e.object({portable:e.boolean(),blockers:e.array(e.string().trim().min(1).max(2e3)).max(1e3),localOnlyAssetRefs:e.array(E).max(1e4),hostPrivateAssetRefs:e.array(E).max(1e4)}).strict(),$r=e.object({schemaVersion:e.literal("openpond.agentSnapshot.v2"),id:E,sourceRelease:J.nullable(),instructions:e.array(M).max(1e4),skills:e.array(M).max(1e4),agents:e.array(M).max(1e4),toolDeclarations:e.array(gt).max(200),capabilityRequirements:e.array(Gt).max(200),dependencyLock:M,portability:Nn,metadata:st}).strict(),qr=$r.extend({contentHash:$}).strict(),Fn=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(),Ln=e.object({visibleEvidence:e.array(E).max(1e3),privilegedEvidence:e.array(E).max(1e3),privateVerifierIsolation:e.boolean()}).strict(),Mr=e.object({schemaVersion:e.literal("openpond.harnessRelease.v2"),id:E,agentSnapshot:J,program:M,tools:e.array(gt).max(200),lifecycle:Fn,graderInterface:Ln,files:e.array(M).max(1e5),metadata:st}).strict(),zr=Mr.extend({contentHash:$}).strict(),Jn=e.object({id:E,turn:e.number().int().nonnegative(),kind:e.enum(["message","tool_call","terminal"]),name:E.nullable(),arguments:e.record(e.string(),e.unknown()),content:e.string().max(1e6).nullable()}).strict(),Kn=e.object({actionId:E,turn:e.number().int().nonnegative(),terminal:e.boolean(),output:e.record(e.string(),e.unknown()),artifactRefs:e.array(Va).max(1e5)}).strict();function Bd(t){let a=$r.parse(t);return qr.parse({...a,contentHash:f(a)})}m(Bd,"createAgentSnapshot");function Dd(t){let a=Mr.parse(t);return zr.parse({...a,contentHash:f(a)})}m(Dd,"createHarnessRelease");var Wn=e.object({sequence:e.number().int().nonnegative(),type:e.enum(["created","reset","action","observation","terminal","failure","collected","destroyed"]),payloadHash:$,metadata:st}).strict(),Ud=e.object({schemaVersion:e.literal("openpond.harnessTrace.v1"),manifest:J,taskId:E,seed:e.string().trim().min(1).max(500),events:e.array(Wn).max(1e6),actions:e.array(Jn).max(1e5),observations:e.array(Kn).max(1e5),terminal:e.boolean(),failureClass:ot.nullable(),output:e.record(e.string(),e.unknown()),contentHash:$}).strict(),Nt=25*1024*1024,Qn=e.object({path:M.shape.path,base64:e.string().max(Math.ceil(Nt/3)*4)}).strict(),Or=e.object({schemaVersion:e.literal("openpond.harnessSourcePackage.v1"),agentSnapshot:qr,harnessRelease:zr,files:e.array(Qn).max(1e4)}).strict(),Xn=Or.extend({contentHash:$}).strict(),Yn=Or.extend({schemaVersion:e.literal("openpond.harnessPolicySourcePackage.v1"),contentHash:$}).strict(),Gd=e.object({schemaVersion:e.literal("openpond.harnessSourceSelection.v1"),mode:e.enum(["taskset_owned","selected_release"]),harnessRelease:J,sourcePackageHash:$.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 Nd(t,a){let r=Yn.parse(t);W(r,"Harness policy source package"),W(r.agentSnapshot,"Harness policy source Agent snapshot"),W(r.harnessRelease,"Harness policy source release");let{agentSnapshot:i,harnessRelease:n}=r;if(a&&(a.id!==n.id||a.contentHash!==n.contentHash))throw new Error("Harness policy source package differs from the selected release.");if(n.agentSnapshot.id!==i.id||n.agentSnapshot.contentHash!==i.contentHash)throw new Error("Harness policy source release does not bind its Agent snapshot.");let s=new Map;for(let c of n.files){if(s.has(c.path))throw new Error("Harness policy source contains duplicate asset paths.");s.set(c.path,c)}for(let c of[n.program,i.dependencyLock,...i.instructions,...i.skills,...i.agents])if(f(s.get(c.path)??null)!==f(c))throw new Error(`Harness policy source dependency ${c.path} is absent or differs from its release inventory.`);for(let c of[n.program,i.dependencyLock,...i.instructions,...i.skills])if(c.visibility!=="policy")throw new Error(`Harness policy source dependency ${c.path} is private.`);let o=new Set(n.files.filter(c=>c.visibility==="policy").map(c=>c.path)),d=new Set,u=0;for(let c of r.files){if(d.has(c.path))throw new Error("Harness policy source contains duplicate files.");d.add(c.path);let l=s.get(c.path);if(!l||l.visibility!=="policy")throw new Error(`Harness policy source file ${c.path} is not policy-visible.`);let p=Vr(c.base64);if(u+=p.byteLength,u>Nt)throw new Error("Harness policy source exceeds its byte limit.");if(p.byteLength!==l.sizeBytes||K(p)!==l.contentHash)throw new Error(`Harness policy source file ${c.path} differs from its immutable bytes.`)}if(d.size!==o.size||[...o].some(c=>!d.has(c)))throw new Error("Harness policy source is missing released policy files.");return r}m(Nd,"validateHarnessPolicySourcePackage");function Ft(t,a){let r=Xn.parse(t);W(r,"Harness source package"),W(r.agentSnapshot,"Harness source Agent snapshot"),W(r.harnessRelease,"Harness source release");let{agentSnapshot:i,harnessRelease:n}=r;if(a&&(a.id!==n.id||a.contentHash!==n.contentHash))throw new Error("Harness source package differs from the selected release.");if(n.agentSnapshot.id!==i.id||n.agentSnapshot.contentHash!==i.contentHash)throw new Error("Harness source release does not bind its Agent snapshot.");let s=new Map,o=new Set;for(let c of n.files){if(c.path.includes("\\")||c.path.includes(":"))throw new Error("Harness source requires portable relative file paths.");if(s.has(c.path)||o.has(c.id))throw new Error("Harness source contains duplicate asset paths or identities.");s.set(c.path,c),o.add(c.id)}for(let c of[n.program,i.dependencyLock,...i.instructions,...i.skills,...i.agents])if(f(s.get(c.path)??null)!==f(c))throw new Error(`Harness source dependency ${c.path} is absent or differs from its release inventory.`);for(let c of[...i.instructions,...i.skills])if(c.visibility!=="policy")throw new Error(`Harness policy source ${c.path} is private.`);let d=new Set,u=0;for(let c of r.files){if(d.has(c.path))throw new Error("Harness source package contains duplicate files.");d.add(c.path);let l=s.get(c.path);if(!l)throw new Error(`Harness source file ${c.path} is not declared by its release.`);let p=Vr(c.base64);if(u+=p.byteLength,u>Nt)throw new Error("Harness source package exceeds its byte limit.");if(p.byteLength!==l.sizeBytes||K(p)!==l.contentHash)throw new Error(`Harness source file ${c.path} differs from its immutable bytes.`)}if(d.size!==s.size)throw new Error("Harness source package is missing released files.");return r}m(Ft,"validateHarnessSourcePackage");function Vr(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))}m(Vr,"decode");var ee=e.string().trim().min(1).max(240),Fr=S.extend({revision:e.number().int().positive()}).strict(),Zn=Fr.extend({teamId:ee,jobId:ee,plan:S,baseline:S,candidate:S,state:Ca.shape.state,updatedAt:e.string().datetime()}).strict(),es=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:ee,jobId:ee,groups:e.array(Zn).max(100),nextCursor:ee.nullable()}).strict(),ts=e.object({cursor:ee.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();function as(t){let a=m(r=>(ee.parse(r.teamId),`/v1/training/jobs/${encodeURIComponent(ee.parse(r.jobId))}/acceptance-groups`),"route");return{async acceptanceGroups(r,i={}){let n=ts.parse(i),s=new URLSearchParams({limit:String(n.limit)});n.cursor&&s.set("cursor",n.cursor);let o=es.parse(await t(`${a(r)}?${s}`));if(o.teamId!==r.teamId||o.jobId!==r.jobId||o.groups.length>n.limit||o.groups.some(d=>d.teamId!==r.teamId||d.jobId!==r.jobId||n.cursor&&d.id<=n.cursor)||new Set(o.groups.map(d=>d.id)).size!==o.groups.length||o.nextCursor!==null&&o.nextCursor!==o.groups.at(-1)?.id)throw new w("acceptance_group_scope_mismatch","Acceptance groups do not match the requested workspace, job or cursor.");return o},async acceptanceGroup(r,i,n){let s=n?Fr.parse({id:n.id,revision:n.revision,contentHash:n.contentHash}):null;if(s&&s.id!==i)throw new w("acceptance_group_identity_mismatch","The retained group reference differs from the requested group.");let o=s?`?revision=${s.revision}`:"",d=Pa(await t(`${a(r)}/${encodeURIComponent(ee.parse(i))}${o}`));if(d.manifest.teamId!==r.teamId||d.manifest.trainingJob.id!==r.jobId||d.manifest.id!==i||s&&(d.revision!==s.revision||d.contentHash!==s.contentHash))throw new w("acceptance_group_identity_mismatch","Acceptance evidence does not match the requested workspace, job or retained revision.");return d}}}m(as,"createTrainingAcceptanceClient");var P=e.string().trim().min(1).max(191),Ke=e.string().regex(/^[a-f0-9]{64}$/),Lr=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:P,operationId:P,projectId:P.nullable(),configuration:e.object({id:P,expectedRevision:e.number().int().positive(),expectedEtag:Ke}).strict(),origin:we.optional(),batch:j,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),rs=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:P,creatorUserId:P,request:Lr,requestHash:Ke,source:e.lazy(()=>Wr),submissionHash:Ke,createdAt:e.string().datetime({offset:!0})}).strict(),is=rs.extend({contentHash:Ke}).strict(),Jr=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:is,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:P.nullable()}).strict().superRefine((t,a)=>{t.state==="submitted"!=!!t.jobId&&a.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),Br=e.object({teamId:P,planHash:Ke,expectedRevision:e.number().int().positive()}).strict(),ns=e.object({projectId:P.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:P.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),ss=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:P,items:e.array(Jr).max(100),nextCursor:P.nullable()}).strict();async function os(t){let a=Jr.parse(t),{contentHash:r,...i}=a.plan;if(await T(i)!==r||await T(i.request)!==i.requestHash||i.source.modelProject.id!==i.request.configuration.id||await T(i.source.origin??null)!==await T(i.request.origin??null))throw new w("training_preparation_mismatch","The prepared training inputs changed.");return a}m(os,"parseAndVerifyTrainingPreparationReceipt");function cs(t){async function a(r,i,n){let s=await os(r);if(s.plan.request.teamId!==i||n&&s.plan.id!==n)throw new w("training_preparation_scope_mismatch","The training preparation belongs to a different workspace or request.");return s}return m(a,"read"),{async listPreparations(r,i={}){let n=P.parse(r),s=ns.parse(i),o=new URLSearchParams;for(let[c,l]of Object.entries(s))o.set(c,String(l));let d=ss.parse(await t(`/v1/training/preparations?${o}`));if(d.teamId!==n||d.items.length>s.limit||new Set(d.items.map(c=>c.plan.id)).size!==d.items.length||d.nextCursor!==null&&(d.nextCursor!==d.items.at(-1)?.plan.id||d.nextCursor===s.afterId))throw new w("training_preparation_page_mismatch","The preparation page does not match its workspace or cursor.");let u=await Promise.all(d.items.map(async c=>{let l=await a(c,n);if(s.projectId&&l.plan.request.projectId!==s.projectId||s.state&&l.state!==s.state)throw new w("training_preparation_page_mismatch","A preparation does not match the requested Project or state.");return l}));return{...d,items:u}},async prepareRun(r){let i=Lr.parse(r),n=await a(await t("/v1/training/preparations",{method:"POST",body:JSON.stringify(i)}),i.teamId);if(n.plan.requestHash!==await T(i))throw new w("training_preparation_request_mismatch","The preparation does not match the requested run.");return n},async getPreparation(r,i){return a(await t(`/v1/training/preparations/${encodeURIComponent(P.parse(i))}`),P.parse(r),i)},async startPreparation(r,i){let n=Br.parse(i),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(P.parse(r))}/start`,{method:"POST",body:JSON.stringify(n)}),n.teamId,r);if(s.plan.contentHash!==n.planHash||s.state!=="submitted")throw new w("training_preparation_start_mismatch","The submitted run does not match the approved preparation.");return s},async cancelPreparation(r,i){let n=Br.parse(i),s=await a(await t(`/v1/training/preparations/${encodeURIComponent(P.parse(r))}/cancel`,{method:"POST",body:JSON.stringify(n)}),n.teamId,r);if(s.plan.contentHash!==n.planHash||s.state!=="cancelled")throw new w("training_preparation_cancel_mismatch","The preparation cancellation could not be verified.");return s}}}m(cs,"createTrainingPreparationClient");var ds=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:J,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(Re)}).strict();function ms(t){let a=m(r=>{let i=J.parse(r);return`/v1/training/harness-sources/${encodeURIComponent(i.id)}/${i.contentHash}`},"route");return{async publishHarnessSource(r){pe(r,Re,"Training Harness source");let i=Ft(r),n=i.agentSnapshot.portability;if(!n.portable||n.blockers.length||n.localOnlyAssetRefs.length||n.hostPrivateAssetRefs.length||i.harnessRelease.files.some(o=>o.visibility!=="policy"))throw new Error("Hosted training Harness publication requires portable, policy-visible source.");let s=ds.parse(await t(a({id:i.harnessRelease.id,contentHash:i.harnessRelease.contentHash}),{method:"PUT",body:JSON.stringify(i)}));if(s.harnessRelease.id!==i.harnessRelease.id||s.harnessRelease.contentHash!==i.harnessRelease.contentHash||s.sourcePackageHash!==i.contentHash)throw new Error("Published Harness source differs from the selected immutable package.");return s},async getHarnessSource(r){let i=await t(a(r),void 0,Re);return pe(i,Re,"Training Harness source"),Ft(i,r)}}}m(ms,"createTrainingHarnessSourceClient");var de=e.string().trim().min(1).max(500),ls=e.string().regex(/^[a-f0-9]{64}$/),Jt=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecisionRequest.v1"),teamId:de,jobId:de,artifact:S,evaluation:S,executionReceipt:S,decision:e.enum(["accepted","rejected"]),reason:e.string().trim().min(1).max(5e3),idempotencyKey:de,expectedDecision:S.nullable()}).strict(),us=e.object({schemaVersion:e.literal("openpond.trainingCandidateDecision.v1"),id:de,request:Jt,revision:e.number().int().positive(),actor:e.object({userId:de,kind:e.enum(["user","api_key","agent_delegate"]),id:de}).strict(),decidedAt:e.string().datetime({offset:!0}),contentHash:ls}).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 ps(t){let{contentHash:a,...r}=t;return T(r)}m(ps,"trainingCandidateDecisionHash");async function Dr(t,a){pe(t,32768,"Training candidate decision");let r=us.parse(t);if(r.contentHash!==await ps(r))throw new w("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 w("candidate_decision_identity_mismatch","Training candidate decision belongs to a different team, Job or artifact.");if(a.request&&await T(r.request)!==await T(Jt.parse(a.request)))throw new w("candidate_decision_request_mismatch","Training candidate decision does not match the submitted review.");return r}m(Dr,"parseAndVerifyTrainingCandidateDecision");function fs(t){function a(r){return`/v1/training/jobs/${encodeURIComponent(de.parse(r.jobId))}/candidates/${encodeURIComponent(S.parse(r.artifact).id)}/decision`}return m(a,"route"),{async candidateDecision(r,i={}){de.parse(r.teamId);let n=i.decision?S.parse(i.decision):void 0,s=n?`?decisionId=${encodeURIComponent(n.id)}`:"",o=e.object({decision:e.unknown().nullable()}).strict().parse(await t(`${a(r)}${s}`));if(o.decision===null&&!n)return null;let d=await Dr(o.decision,r);if(n&&(d.id!==n.id||d.contentHash!==n.contentHash))throw new w("candidate_decision_identity_mismatch","Training candidate decision does not match the requested history entry.");return d},async recordCandidateDecision(r){let i=Jt.parse(r),n=await t(a(i),{method:"POST",body:JSON.stringify(i)});return Dr(n,{...i,request:i})}}}m(fs,"createTrainingCandidateDecisionClient");var Ae=e.string().trim().min(1).max(500),Je=e.string().regex(/^[a-f0-9]{64}$/),hs=e.object({taskId:Ae,taskSha256:Je,resultSha256:Je,input:e.object({instruction:e.string().max(1e6),context:e.record(e.string(),e.unknown())}).strict(),output:e.string().max(1e6),outputSha256:Je,score:e.number().finite().min(0).max(1),evidence:e.object({kind:e.enum(["worker_command","hosted_trace","local_trace"]),id:Ae}).strict()}).strict(),gs=e.object({schemaVersion:e.literal("openpond.trainingEvaluationTaskPage.v1"),jobId:Ae,teamId:Ae,evaluation:S,kind:e.enum(["baseline","candidate"]),policyVersion:e.number().int().nonnegative(),taskset:j,panelSha256:Je,offset:e.number().int().nonnegative(),total:e.number().int().min(1).max(1e4),tasks:e.array(hs).min(1).max(100),nextCursor:e.string().regex(/^[1-9]\d*$/).nullable(),contentHash:Je}).strict().superRefine((t,a)=>{let r=t.offset+t.tasks.length,i=r<t.total?String(r):null;(r>t.total||t.nextCursor!==i)&&a.addIssue({code:"custom",path:["nextCursor"],message:"Evaluation pagination must cover consecutive task positions."}),new Set(t.tasks.map(n=>n.taskId)).size!==t.tasks.length&&a.addIssue({code:"custom",path:["tasks"],message:"Evaluation task identities must be unique."})});async function vs(t){let{contentHash:a,...r}=t;return T(r)}m(vs,"trainingEvaluationTaskPageHash");async function bs(t,a){pe(t,wt,"Training evaluation task page");let r=gs.parse(t),i=S.parse(a.evaluation);if(r.jobId!==Ae.parse(a.jobId)||r.evaluation.id!==i.id||r.evaluation.contentHash!==i.contentHash||r.offset!==(a.offset??0)||a.teamId!==void 0&&r.teamId!==Ae.parse(a.teamId))throw new w("evaluation_page_identity_mismatch","Evaluation results differ from the requested Job, evaluation, or page.");if(await vs(r)!==r.contentHash)throw new w("evaluation_page_hash_mismatch","Evaluation task page content hash did not match.");for(let n of r.tasks)if(await T(n.output)!==n.outputSha256)throw new w("evaluation_output_hash_mismatch","A retained evaluation output hash did not match.");return r}m(bs,"parseAndVerifyTrainingEvaluationTaskPage");var Ss=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),xs=e.object({binding:le,rewards:e.array(me).min(1).max(100)}).strict();async function sm(t){let a=t.rewardExecution?xs.parse(t.rewardExecution):null,r=Ss.parse(a?B(a.binding,a.rewards):t.graders);if(new Set(r.map(n=>n.id)).size!==r.length)throw new Error("Training grader identities must be unique.");let i=await T({schemaVersion:"openpond.trainingGraderSet.v1",graders:r});return{kind:"deterministic",grader:{id:`training-graders-${i.slice(0,32)}`,contentHash:i},composer:a?{id:a.binding.id,contentHash:a.binding.contentHash}:null}}m(sm,"deterministicTrainingRewardSource");var cm="evaluation-source.json",Lt=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),ys=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:j,tasks:e.array(Lt).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((i,n)=>{i.split==="train"&&a.addIssue({code:"custom",path:["tasks",n,"split"],message:"Evaluation sources require held-out tasks."}),r.has(i.id)&&a.addIssue({code:"custom",path:["tasks",n,"id"],message:"Evaluation task identities must be unique."}),r.add(i.id)})});function dm(t,a){let r=e.array(Lt).min(1).max(1e4).parse(t),i=e.array(Lt).min(1).max(1e4).parse(a),n=new Set,s=new Set;for(let d of r){if(d.split!=="train")throw new Error("The training population contains a held-out task.");if(n.has(d.id))throw new Error("Training task identities must be unique.");n.add(d.id),s.add(d.clusterKey)}let o=new Set;for(let d of i){if(d.split==="train")throw new Error("The evaluation population contains a training task.");if(o.has(d.id))throw new Error("Evaluation task identities must be unique.");if(n.has(d.id)||s.has(d.clusterKey))throw new Error("Training and evaluation tasks or families overlap.");o.add(d.id)}}m(dm,"assertTrainingEvaluationIsolation");async function mm(t){let a=ys.parse(t),r=await T(a);return{taskset:a.taskset,dataset:{id:`training-evaluation-${r.slice(0,32)}`,contentHash:r}}}m(mm,"trainingEvaluationSourceRef");var _=e.string().trim().min(1).max(500),V=e.string().regex(/^[a-f0-9]{64}$/),L=e.string().datetime({offset:!0}),ws=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:S,payload:e.unknown(),contentHash:V}).strict(),ks=e.object({schemaVersion:e.literal("openpond.trainingInputArtifact.v2"),kind:e.enum(["portable_training_bundle","reward_model_dataset"]),sourceManifest:S,artifactRef:e.string().trim().min(1).max(2e3),contentHash:V,sizeBytes:e.number().int().positive(),createdAt:L}).strict();async function Rs(t){let{contentHash:a,...r}=t;return T(r)}m(Rs,"trainingInputArtifactUploadHash");async function _s(t){pe(t,Re,"Training input artifact");let a=ws.parse(t),r=await Rs(a);if(a.contentHash!==r)throw new w("content_hash_mismatch",`Training input artifact contentHash ${a.contentHash} does not match ${r}.`);return a}m(_s,"parseAndVerifyTrainingInputArtifactUpload");var Kr=e.enum(["reward_model_train","policy_optimize"]),Ts=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Is=e.object({id:_,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),Wr=e.object({origin:we.optional(),modelProject:e.object({id:_,portableProjectId:_,revision:e.number().int().positive(),contentHash:V}).strict(),harnessRunManifest:S,harnessRelease:S,taskset:j,tasksetRelease:S,evaluation:e.object({taskset:j,dataset:S}).strict().nullable().optional(),dataset:S,evidenceSets:e.array(S).max(1e4)}).strict(),Hs=e.object({kind:e.literal("reward_model_train"),baseModel:kt,preferenceDatasetRelease:S,processorRelease:S,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(),js=e.object({kind:e.literal("deterministic"),grader:S,composer:S.nullable().default(null)}).strict(),Es=e.object({kind:e.literal("learned_reward"),rewardModelVersion:S,qualificationReport:S.nullable().default(null),evaluationReferences:e.array(S).max(1e3).default([]),scorerArtifact:e.object({artifactRef:e.string().trim().min(1).max(2e3),contentHash:V,executionReceipt:S}).strict(),processorRelease:S,rewardComposerRelease:S}).strict(),As=e.object({kind:e.literal("policy_optimize"),baseModel:kt,recipe:Ua,rewardSource:e.discriminatedUnion("kind",[js,Es]),resumeFrom:S.nullable().default(null)}).strict(),Cs=e.discriminatedUnion("kind",[Hs,As]),Ps=e.object({approvalHash:V,approvedAt:L,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(),$s=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:Wr,job:Cs,requestedCapabilities:e.array(Is).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Ps,contentHash:V}).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 qs(t){let{contentHash:a,...r}=t;return T(r)}m(qs,"trainingJobSubmissionHash");async function Ms(t){pe(t,Ba,"Training Job submission");let a=$s.parse(t),r=await qs(a);if(a.contentHash!==r)throw new w("content_hash_mismatch",`Training Job contentHash ${a.contentHash} does not match ${r}.`);return a}m(Ms,"parseAndVerifyTrainingJobSubmission");var Le=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:_,teamId:_,kind:Kr,modelProjectId:_,portableProjectId:_,sourceProjectRevision:e.number().int().positive(),submissionHash:V,state:Ts,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:L,updatedAt:L,completedAt:L.nullable()}).strict(),zs=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Le).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),Os=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:_,jobId:_,sequence:e.number().int().nonnegative(),type:_,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:L}).strict(),Vs=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:_,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:L}).strict(),Ur=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Bs=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:_,jobId:_,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:V,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:L}).strict(),Kt=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:_,teamId:_,jobId:_,submissionHash:V,manifestHash:V,recipeHash:V,capabilityHash:V,runtimeRelease:S,inputs:e.array(S).max(1e4),outputs:e.array(S).max(1e4),spendUsd:e.number().nonnegative(),durationSeconds:e.number().nonnegative(),cleanupComplete:e.boolean(),issuer:_,issuedAt:L,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();async function Ds(t){return T(Kt.parse(t))}m(Ds,"trainingExecutionReceiptHash");async function lm(t,a){let r=Kt.parse(t),i=_.parse(a.id),n=V.parse(a.contentHash),s=await Ds(r);if(r.id!==i||s!==n)throw new w("execution_receipt_mismatch","The execution receipt identity or canonical content hash did not match.");if(a.teamId!==void 0&&r.teamId!==_.parse(a.teamId))throw new w("execution_receipt_team_mismatch","The execution receipt belongs to a different team.");if(a.jobId!==void 0&&r.jobId!==_.parse(a.jobId))throw new w("execution_receipt_job_mismatch","The execution receipt belongs to a different Training Job.");if((a.requireCleanup??!0)&&!r.cleanupComplete)throw new w("execution_cleanup_incomplete","The execution receipt does not attest complete terminal cleanup.");return r}m(lm,"parseAndVerifyTrainingExecutionReceipt");var Us=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Bs).max(1e4),receipt:Kt.nullable()}).strict(),Gs=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(),Qr=class extends Error{static{m(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}},Ns=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:V,jobKinds:e.array(Kr),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:L,expiresAt:L}).strict();function Gr(t){let a={};return new Headers(t).forEach((r,i)=>{a[i]=r}),a}m(Gr,"headersRecord");function um(t){let a=t.fetch??fetch,r=t.baseUrl.replace(/\/$/,"");async function i(n,s,o=wt){let u=s?.method===void 0||s.method.toUpperCase()==="GET"?3:1;for(let c=1;c<=u;c+=1){let l;try{let v=typeof t.headers=="function"?await t.headers():t.headers??{};l=await a(`${r}${n}`,{...s,headers:{accept:yt,...s?.body?{"content-type":yt}:{},...Gr(v),...Gr(s?.headers)}})}catch(v){if(c===u||s?.signal?.aborted||!Nr(null,v))throw v;await new Promise(g=>setTimeout(g,250*2**(c-1)));continue}let p=Da(await l.text(),o,"Training API response");if(l.ok)return p;let h=Fs(p,l.status);if(c===u||!Nr(l.status,h))throw h;await new Promise(v=>setTimeout(v,250*2**(c-1)))}throw new w("training_read_retry_exhausted","Training read retry loop exhausted without a response.")}return m(i,"request"),{postTraining:Pr({request:i}),...cs(i),...as(i),...ms(i),...fs(i),async capabilities(){return Ns.parse(ce(await i("/v1/training/capabilities"),"capabilities"))},async stageArtifact(n){let s=await _s(n);return ks.parse(ce(await i("/v1/training/artifacts",{method:"POST",body:JSON.stringify(s)}),"artifact"))},async createJob(n){let s=await Ms(n);return Le.parse(ce(await i("/v1/training/jobs",{method:"POST",body:JSON.stringify(s)}),"job"))},async listJobs(n={}){let s=new URLSearchParams;n.modelProjectId&&s.set("modelProjectId",_.parse(n.modelProjectId)),n.cursor&&s.set("cursor",e.string().trim().min(1).max(2e3).parse(n.cursor)),n.limit!==void 0&&s.set("limit",String(e.number().int().min(1).max(1e3).parse(n.limit)));let o=s.size>0?`?${s.toString()}`:"";return zs.parse(await i(`/v1/training/jobs${o}`))},async getJob(n){return Le.parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}`),"job"))},async cancelJob(n,s){let o=Ur.parse({expectedVersion:s});return Le.parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/cancel`,{method:"POST",body:JSON.stringify(o)}),"job"))},async stopAfterGroup(n,s){let o=Ur.parse({expectedVersion:s});return Le.parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/stop-after-group`,{method:"POST",body:JSON.stringify(o)}),"job"))},async events(n){return e.array(Os).parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/events`),"events"))},async outputs(n){return Us.parse(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/outputs`))},async evaluationTasks(n,s,o={}){let d=_.parse(n),u=S.parse(s),c=new URLSearchParams,l=o.cursor===void 0?void 0:e.string().regex(/^[1-9]\d*$/).parse(o.cursor),p=l===void 0?0:e.number().int().min(1).max(9999).parse(Number(l));l!==void 0&&c.set("cursor",l),o.limit!==void 0&&c.set("limit",String(e.number().int().min(1).max(100).parse(o.limit)));let h=c.size?`?${c.toString()}`:"";return bs(await i(`/v1/training/jobs/${encodeURIComponent(d)}/evaluations/${encodeURIComponent(u.id)}/tasks${h}`),{jobId:d,evaluation:u,offset:p})},async logs(n){return e.array(Vs).max(1e5).parse(ce(await i(`/v1/training/jobs/${encodeURIComponent(_.parse(n))}/logs`),"logs"))}}}m(um,"createTrainingClient");function Nr(t,a){return t!==null?t===408||t===429||t>=500:a instanceof Qr?a.retryable:a instanceof w?a.code==="invalid_error_response":a instanceof TypeError}m(Nr,"trainingReadFailureIsRetryable");function ce(t,a){return!t||typeof t!="object"||Array.isArray(t)?t:a in t?t[a]:t}m(ce,"unwrapObject");function Fs(t,a){let r=Gs.safeParse(t);return r.success?new Qr(a,r.data):new w("invalid_error_response",`Training request failed with HTTP ${a} and an invalid error envelope.`)}m(Fs,"trainingApiError");function xm(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(i=>{let n={...i,label:i.id,metadata:{portableGrader:i}};if(i.kind==="custom_verifier")return N.parse({...n,module:Xr(i.verifierRef.contentHash),exportName:i.exportName??"verify",metadata:{...n.metadata,portableVerifierRef:i.verifierRef}});if(i.kind==="human"||i.kind==="model_judge"){let s=t.files.find(u=>u.asset.id===i.rubricRef.id);if(!s)throw new Error(`Imported rubric is missing: ${i.id}.`);let o=new TextDecoder("utf-8",{fatal:!0}).decode(Ue(s)),d={...n.metadata,portableRubricRef:i.rubricRef};if(i.kind==="human")return N.parse({...n,rubric:o,metadata:d});if(!i.model)throw new Error(`Imported judge ${i.id} requires its declared model before local preparation.`);return N.parse({...n,rubric:o,metadata:d,judge:i.model,temperature:i.temperature??0,calibrationStatus:"pending",calibrationFixtureRefs:r[i.id]??[]})}return N.parse({...n,kind:i.kind==="artifact"?"file":i.kind,config:i.kind==="artifact"?{...i.config,...i.config.refIncludes===void 0?{}:{pathIncludes:i.config.refIncludes}}:i.config})})}m(xm,"importedPackageGraders");function ym(t,a,r=[]){let i=fa(t,a);return B(t,a).map(n=>{let s=i.find(({source:d})=>d.graderId===n.id).reward,o={...n,label:s.name,metadata:{rewardBinding:H(t)}};if(n.kind==="model_judge"){if(!n.model||n.calibrationStatus!=="passed"||!s.calibrationCheckRef||!s.fixtureSetRef)throw new Error(`Reward ${n.id} needs a retained passing calibration check before preparation.`);let d=r.find(l=>l.id===n.rubricRef.id),u=r.find(l=>l.id===s.fixtureSetRef.id);if(!d||!u)throw new Error(`Reward ${n.id} is missing its immutable rubric or calibration fixtures.`);let c=_a.array().min(1).max(50).parse(JSON.parse(q(u,s.fixtureSetRef)));return N.parse({...o,rubric:q(d,n.rubricRef),judge:n.model,temperature:n.temperature??0,calibrationFixtureRefs:c.map(l=>l.id),metadata:{...o.metadata,portableGrader:n,portableRubricRef:n.rubricRef,calibrationEvidenceHash:s.calibrationCheckRef.contentHash,calibrationCheckRef:s.calibrationCheckRef}})}if(n.kind==="custom_verifier")return N.parse({...o,module:Xr(n.verifierRef.contentHash),exportName:n.exportName??"verify",metadata:{...o.metadata,portableVerifierRef:n.verifierRef}});if(n.kind==="human"){let d=r.find(u=>u.id===n.rubricRef.id);if(!d)throw new Error(`Reward ${n.id} is missing its immutable rubric.`);return N.parse({...o,rubric:q(d,n.rubricRef),metadata:{...o.metadata,portableGrader:n,portableRubricRef:n.rubricRef}})}return N.parse({...o,kind:n.kind==="artifact"?"file":n.kind})})}m(ym,"projectLearningBatchGraders");function Xr(t){return`graders/reward-${t}.js`}m(Xr,"learningVerifierModule");function Ls(t,a){let r=t.metadata.learning===void 0?null:xt.parse(t.metadata.learning),i=t.metadata.rewardExecution,n=a??(i?{binding:le.parse(i.binding),rewards:me.array().parse(i.rewards)}:r);if(t.metadata.rewardBinding!==void 0){let s=t.metadata.rewardBinding;if(!n||!s||s.id!==n.binding.id||s.revision!==n.binding.revision||s.contentHash!==n.binding.contentHash)throw new Error("Portable Taskset requires its exact published Reward binding.")}return n&&B(n.binding,n.rewards),n?{binding:n.binding,rewards:n.rewards}:null}m(Ls,"resolvePortableTasksetRewardExecution");function Em(t){let a=ei(t.taskset),r=ti(t.taskset),i=t.taskset.metadata.learning===void 0?null:xt.parse(t.taskset.metadata.learning),n=t.taskset.metadata.rewardExecution,s=Ls(t.taskset,t.rewardExecution),o=s?B(s.binding,s.rewards):t.taskset.graders.map(Ks),d=t.selectedTasks?.length?t.selectedTasks:t.taskset.tasks;if(!d.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 c=u?ae.parse(u.environment):it({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??[]}}),l=u?.verifierSet!==void 0?re.parse(u.verifierSet):nt({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(!ie(c)||!ne(l)||f(c.contract)!==f(a)||f(l.graders)!==f(o))throw new Error("Taskset execution resources differ from its declared environment or graders.");let p=da.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:Ws(t.taskset),tasks:d.map(Js),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(g=>g.kind==="model_judge").map(g=>[g.id,g.calibrationFixtureRefs]))},...i?{learning:i}:{},...s&&!i&&(t.rewardExecution||n)?{rewardExecution:{binding:s.binding,rewards:s.rewards}}:{}}}),h=t.admittedTasksetRelease?te.parse(t.admittedTasksetRelease):te.parse({...p,contentHash:f(p)}),v=h.environmentRelease?Qs({draft:h,environmentRelease:c,verifierSetRelease:l}):$a({taskset:h,environment:c,verifierSet:l});return{environmentRelease:c,verifierSetRelease:l,tasksetRelease:v}}m(Em,"materializePortableTasksetRelease");function Am(t){if(!qa(t.preferenceComparison))throw new Error("Preference comparison release failed immutable content verification.");let a=t.preferenceComparison;if(a.tasksetRelease.id!==t.tasksetRelease.id||a.tasksetRelease.contentHash!==t.tasksetRelease.contentHash)throw new Error("Preference comparison release must reference the admitted portable Taskset release.");return a}m(Am,"projectPreferenceComparisonRelease");function Cm(t){return ei(t)}m(Cm,"portableTasksetEnvironment");function Pm(t){return ti(t)}m(Pm,"portableTasksetTools");function Js(t){let a=t.metadata.portableTaskRecord;if(a!==void 0){let r=ze.parse(a),i=ze.parse({...r,id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Yr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,tags:t.tags,artifactRefs:t.assets===void 0?r.artifactRefs:t.assets.map(n=>{let s=r.artifactRefs.find(o=>o.id===n.id);return{id:n.id,path:s?.path??`tasks/${Ce(t.id)}/${Ce(n.fileName)}`,contentHash:Wt(n.sha256),sizeBytes:n.sizeBytes,mediaType:n.mediaType,visibility:s?.visibility??"policy"}}),requiredOutputs:t.requiredOutputs===void 0?r.requiredOutputs:t.requiredOutputs.map(n=>{let s=r.requiredOutputs?.find(o=>o.path===n.path);return{path:n.path,mediaType:n.mediaType,schemaRef:s?.schemaRef&&s.schemaRef.id===n.schemaRef?s.schemaRef:null,maxBytes:n.maxBytes??null,metadata:{...n.metadata,...n.schemaRef&&s?.schemaRef?.id!==n.schemaRef?{legacySchemaRef:n.schemaRef}:{}}}})});return i.requiredOutputs===void 0&&delete i.requiredOutputs,i}return{id:t.id,clusterKey:t.clusterKey,split:t.split,input:t.input,expectedOutput:Yr(t),policyVisibleContext:t.policyVisibleContext,privilegedContextRef:t.privilegedContextRef,artifactRefs:(t.assets??[]).map(r=>({id:r.id,path:`tasks/${Ce(t.id)}/${Ce(r.fileName)}`,contentHash:Wt(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}}m(Js,"projectPortableTaskRecord");function Yr(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}m(Yr,"portableExpectedOutput");function ei(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}}m(ei,"portableEnvironment");function ti(t){let a=t.environment.metadata.portableTools;if(a!==void 0)return gt.array().max(200).parse(a);let r=t.environment.actionBindings??[];return r.length?r.map(i=>({name:i.modelToolName,description:i.description,inputSchema:i.inputSchema,inputSchemaHash:Wt(i.actionSchemaHash),sideEffect:i.sideEffect,timeoutMs:i.timeoutMs})):t.environment.toolNames.map(i=>({name:i,description:`Host-provided ${i} tool.`,inputSchema:{},inputSchemaHash:f({}),sideEffect:"write",timeoutMs:t.environment.defaultTimeoutMs}))}m(ti,"portableTools");function Ks(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:Zr(t),model:Xs(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=bt.safeParse(t.metadata.portableGrader),i=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:M.parse(t.metadata.portableVerifierRef),timeoutMs:t.timeoutMs,...i?{}:{exportName:t.exportName},networkPolicy:"none"}}return t.kind==="human"?{...a,kind:"human",rubricRef:Zr(t),reviewerRole:t.reviewerRole,...t.form?{form:t.form}:{}}:{...a,...aa(t)}}m(Ks,"portableGrader");function Ws(t){let a=t.metadata.portableCapabilities;return a!==void 0?Gt.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-${Ce(r)}`,required:!0,scopes:[r]}))].map(r=>({...r,portability:r.id==="local-state"?"host_adapter":"portable"}))}m(Ws,"portableCapabilities");function Qs(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}m(Qs,"assertReleaseBindings");function Xs(t){let a=t.metadata.portableGrader===void 0?null:bt.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}}m(Xs,"modelJudgeRef");function Zr(t){let a=K(t.rubric),r=new TextEncoder().encode(t.rubric).byteLength,i=t.metadata.portableRubricRef;if(i!==void 0){let n=M.parse(i);if(n.contentHash!==a||n.sizeBytes!==r||n.visibility==="policy")throw new Error("Taskset rubric differs from its published private source.");return n}return{id:`rubric-${t.id}`,path:`graders/${Ce(t.id)}/rubric.md`,contentHash:a,sizeBytes:r,mediaType:"text/markdown",visibility:"verifier"}}m(Zr,"rubricAsset");function Wt(t){return/^[a-f0-9]{64}$/.test(t)?t:f(t)}m(Wt,"hash");function Ce(t){return t.trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"asset"}m(Ce,"segment");export{ri as a,_t as b,eo as c,to as d,Ga as e,ii as f,Na as g,ao as h,ro as i,ct as j,ge as k,It as l,vo as m,bo as n,So as o,xo as p,yo as q,pi as r,wo as s,ko as t,Si as u,wi as v,ki as w,mt as x,Ja as y,Ka as z,Wa as A,ji as B,Qa as C,Xa as D,Ya as E,Ci as F,nr as G,sr as H,or as I,N as J,zi as K,Et as L,qo as M,Be as N,Mo as O,At as P,Oi as Q,zo as R,Ct as S,Do as T,Di as U,lr as V,Ko as W,Ui as X,Pt as Y,ur as Z,Gi as _,Ni as $,$t as aa,pr as ba,Ue as ca,Fi as da,Zo as ea,Wi as fa,Qi as ga,vr as ha,Yi as ia,mc as ja,Zi as ka,en as la,lc as ma,nn as na,sn as oa,Sc as pa,on as qa,cn as ra,mn as sa,ln as ta,pn as ua,fn as va,xc as wa,yc as xa,yr as ya,Ic as za,Hc as Aa,_n as Ba,Tn as Ca,zc as Da,be as Ea,_r as Fa,Qc as Ga,Xc as Ha,Pn as Ia,$n as Ja,Yc as Ka,Ot as La,rd as Ma,Vt as Na,Bt as Oa,Dt as Pa,cd as Qa,ld as Ra,ud as Sa,pd as Ta,fd as Ua,Ut as Va,jd as Wa,Ar as Xa,Cr as Ya,Bn as Za,Dn as _a,Gn as $a,Ed as ab,Cd as bb,Pd as cb,Bd as db,Dd as eb,Yn as fb,Gd as gb,Nd as hb,Ft as ib,Lr as jb,Br as kb,Jt as lb,Dr as mb,bs as nb,sm as ob,cm as pb,ys as qb,dm as rb,mm as sb,Rs as tb,_s as ub,qs as vb,Ms as wb,Le as xb,Os as yb,Ds as zb,lm as Ab,Us as Bb,Qr as Cb,um as Db,xm as Eb,ym as Fb,Xr as Gb,Ls as Hb,Em as Ib,Am as Jb,Cm as Kb,Pm as Lb,Js as Mb};
|