openpond 0.2.46 → 0.2.48
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 +157 -1
- package/dist/app-server.js +1 -1
- package/dist/chunks/{actions-command-I3NI75P2.js → actions-command-DSO6YOEE.js} +1 -1
- package/dist/chunks/{app-layer-B3SMVO4B.js → app-layer-RRFI27N4.js} +1 -1
- package/dist/chunks/app-server-runtime-RWO4KGPU.js +2 -0
- package/dist/chunks/{apps-OA2VX34V.js → apps-NELJL377.js} +1 -1
- package/dist/chunks/{chunk-4UTIEH5H.js → chunk-2SPZYBDN.js} +1 -1
- package/dist/chunks/{chunk-LL4QP2IM.js → chunk-2ZJJFBIA.js} +1 -1
- package/dist/chunks/{chunk-HP2D3W2B.js → chunk-42GOV5ZU.js} +3 -3
- package/dist/chunks/{chunk-PGKEDR3S.js → chunk-5CMKGD43.js} +1 -1
- package/dist/chunks/{chunk-D6MQTNJ3.js → chunk-7K72KS5C.js} +6 -6
- package/dist/chunks/{chunk-JBHAU7PH.js → chunk-7MXZJQS7.js} +137 -137
- package/dist/chunks/{chunk-YSYXIJ46.js → chunk-7QEE4PBI.js} +1 -1
- package/dist/chunks/{chunk-F2AG46CV.js → chunk-7YR6CBNU.js} +1 -1
- package/dist/chunks/{chunk-UWO34HP6.js → chunk-DALJMSJG.js} +2 -2
- package/dist/chunks/chunk-DFM5JTS2.js +2 -0
- package/dist/chunks/{chunk-33AO3P6X.js → chunk-DLZP22WV.js} +1 -1
- package/dist/chunks/{chunk-BKMGBIBT.js → chunk-EMKZVP7Z.js} +1 -1
- package/dist/chunks/chunk-EPY7M5XS.js +2 -0
- package/dist/chunks/{chunk-ZJY2L43W.js → chunk-HA7EFTPF.js} +1 -1
- package/dist/chunks/{chunk-HK3WGUKK.js → chunk-IKWDL3RB.js} +1 -1
- package/dist/chunks/chunk-IOQUF34U.js +2 -0
- package/dist/chunks/chunk-JCCU3VFK.js +2 -0
- package/dist/chunks/{chunk-ZC57DX6D.js → chunk-JDLAHVAJ.js} +1 -1
- package/dist/chunks/{chunk-WWABOVRW.js → chunk-LVL4TIAO.js} +2 -2
- package/dist/chunks/{chunk-IV7F74JJ.js → chunk-MASJQWA2.js} +1 -1
- package/dist/chunks/{chunk-XLDW5NN3.js → chunk-N3DEA6PG.js} +1 -1
- package/dist/chunks/{chunk-F5DUN73H.js → chunk-N5QNXMIS.js} +1 -1
- package/dist/chunks/{chunk-MCRA6ZGJ.js → chunk-NAZ26IZL.js} +1 -1
- package/dist/chunks/chunk-NHJ26KXF.js +518 -0
- package/dist/chunks/chunk-NNF6KCHD.js +3 -0
- package/dist/chunks/{chunk-5OGRWWEH.js → chunk-O7VGFMDO.js} +1 -1
- package/dist/chunks/{chunk-USWZ3KUC.js → chunk-PA7XP42P.js} +1 -1
- package/dist/chunks/{chunk-BQNK2NMB.js → chunk-PJM2G7SG.js} +1 -1
- package/dist/chunks/chunk-PNE3IETM.js +190 -0
- package/dist/chunks/chunk-PYABBF53.js +53 -0
- package/dist/chunks/{chunk-TYWBEJOA.js → chunk-Q4H3NUVW.js} +2 -2
- package/dist/chunks/{chunk-HO5L2FUU.js → chunk-QJRXTIOC.js} +1 -1
- package/dist/chunks/chunk-QRWPEW3Z.js +24 -0
- package/dist/chunks/{chunk-LZSY5IM3.js → chunk-QXVIIM4T.js} +1 -1
- package/dist/chunks/{chunk-6SJZXZNA.js → chunk-R3XFY7VL.js} +1 -1
- package/dist/chunks/{chunk-EWS7MXTM.js → chunk-RLZPX4YP.js} +1 -1
- package/dist/chunks/{chunk-VW7D3DRM.js → chunk-SDEDAHV6.js} +72 -67
- package/dist/chunks/{chunk-BUFQKDAW.js → chunk-T5LE6R5S.js} +1 -1
- package/dist/chunks/{chunk-L4BYPZ4U.js → chunk-TGIB24K4.js} +1 -1
- package/dist/chunks/{chunk-D6E7JBBQ.js → chunk-TIUSKRBP.js} +4 -4
- package/dist/chunks/{chunk-6WLJWRMF.js → chunk-UJ5EFSEC.js} +1 -1
- package/dist/chunks/chunk-VOIH2BQA.js +2162 -0
- package/dist/chunks/{chunk-KE5RH6JA.js → chunk-WITSXYEW.js} +1 -1
- package/dist/chunks/chunk-WV2APYWG.js +2 -0
- package/dist/chunks/chunk-XBCIBAXD.js +4 -0
- package/dist/chunks/chunk-XDMUD4FW.js +5 -0
- package/dist/chunks/{chunk-DNXKIIV7.js → chunk-XM26DGML.js} +1 -1
- package/dist/chunks/{chunk-OGXSE57Z.js → chunk-YIB3J4RC.js} +1 -1
- package/dist/chunks/{chunk-H6W55CQG.js → chunk-YL6VFJ4P.js} +1 -1
- package/dist/chunks/cli-ZLDLOKPL.js +2 -0
- package/dist/chunks/{configuration-command-MVZS625X.js → configuration-command-SA56RV5B.js} +1 -1
- package/dist/chunks/{connected-evidence-7LHUZ2UI.js → connected-evidence-IVSQZYIB.js} +1 -1
- package/dist/chunks/{continual-K5JNHNQH.js → continual-PKK2BOTB.js} +1 -1
- package/dist/chunks/core-commands-W5IGIITV.js +2 -0
- package/dist/chunks/{datasets-KDN2EXHE.js → datasets-KSO2UG6R.js} +1 -1
- package/dist/chunks/{desktop-test-WIOEKMPR.js → desktop-test-6HXFM7PO.js} +1 -1
- package/dist/chunks/{dist-JBE7DPFZ.js → dist-4HV2W6V4.js} +1 -1
- package/dist/chunks/{dist-3MTJ7VM6.js → dist-BLBZENVB.js} +1 -1
- package/dist/chunks/{evaluation-coordination-NGYHL7HG.js → evaluation-coordination-MOFBXRXN.js} +1 -1
- package/dist/chunks/{experiment-improvements-2M7GRGWS.js → experiment-improvements-TDHM6NEA.js} +1 -1
- package/dist/chunks/{experiments-B6CRZ3GI.js → experiments-HFPDFD4I.js} +1 -1
- package/dist/chunks/{extension-RZTMK3ON.js → extension-R373LYIB.js} +1 -1
- package/dist/chunks/{help-EISFHH2F.js → help-PEFQDDTA.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-6CHH65DX.js → hosted-experiment-improvement-MGMZWTZY.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-FZZLWLBR.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-HYEISIAC.js → hosted-profile-candidate-LVNKOTKJ.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-PQFIWO5B.js +2 -0
- package/dist/chunks/{hosted-profile-evaluation-control-LV6YXOG7.js → hosted-profile-evaluation-control-7B3RAZU2.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-A62UYFEP.js → hosted-profile-evaluation-inspection-FPCV42DD.js} +1 -1
- package/dist/chunks/hosted-profile-evaluation-preparation-JROREZH3.js +3 -0
- package/dist/chunks/{human-review-J6JGNRBR.js → human-review-HRGGACEM.js} +1 -1
- package/dist/chunks/import-RSAQ44GG.js +4 -0
- package/dist/chunks/{learning-REL6GGNA.js → learning-FNBEIAY6.js} +1 -1
- package/dist/chunks/{opchat-CUZUU2WM.js → opchat-I7ZWJ5XK.js} +1 -1
- package/dist/chunks/{organizations-VT27V4B2.js → organizations-LFCZIH7E.js} +1 -1
- package/dist/chunks/{profile-N2E5ASHQ.js → profile-EPIX5QVK.js} +1 -1
- package/dist/chunks/{project-agent-XMXOBJSC.js → project-agent-DGOPMECP.js} +1 -1
- package/dist/chunks/{sandbox-command-NC665ZZ5.js → sandbox-command-Q5F6VUOS.js} +1 -1
- package/dist/chunks/{sandbox-template-OTP6S3RU.js → sandbox-template-7GICPIKJ.js} +1 -1
- package/dist/chunks/{src-WM35IF4W.js → src-DH5AQ4Z7.js} +1 -1
- package/dist/chunks/src-GKWEQK2T.js +329 -0
- package/dist/chunks/{taskset-COAPMTT3.js → taskset-LUG3ZU6J.js} +1 -1
- package/dist/chunks/{teams-bot-ACWJ7PJP.js → teams-bot-Z6RJGHME.js} +1 -1
- package/dist/chunks/{training-4JUK7YQV.js → training-XHE6FVII.js} +1 -1
- package/dist/chunks/{workspaces-WTPFRJMS.js → workspaces-XIQNPAP7.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/agent-sources/SOURCES.md +11 -0
- package/dist/web/agent-sources/claude-code.svg +1 -0
- package/dist/web/agent-sources/codex.svg +1 -0
- package/dist/web/agent-sources/grok-build.svg +3 -0
- package/dist/web/agent-sources/hermes.png +0 -0
- package/dist/web/agent-sources/oh-my-pi.svg +11 -0
- package/dist/web/agent-sources/openclaw.svg +54 -0
- package/dist/web/agent-sources/opencode.svg +4 -0
- package/dist/web/agent-sources/pi.svg +6 -0
- package/dist/web/assets/App-BI-uOpnP.js +234 -0
- package/dist/web/assets/App-DkH8CeoI.css +1 -0
- package/dist/web/assets/{AppDialog-CaxeNfsu.js → AppDialog-1iGodoot.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-dtK0ZPer.js → AppTerminalPanel-udtBdWFn.js} +2 -2
- package/dist/web/assets/AppsView-BonAGiS8.css +1 -0
- package/dist/web/assets/AppsView-DhKsU4yi.js +1 -0
- package/dist/web/assets/BrowserSidebar-BnOyqIQT.js +1 -0
- package/dist/web/assets/{CartesianChart-Drfk6jTn.js → CartesianChart-C24DAywn.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-Czh2noeb.js → CollaborationTabs-DgmOF5Fe.js} +1 -1
- package/dist/web/assets/{CommandMenu-D-M-xomh.js → CommandMenu-CUNGtHwS.js} +1 -1
- package/dist/web/assets/{CommunityView-BrdxUI5Z.js → CommunityView-CE7qeJnr.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-CJ8nkYJf.js → ComposerCreateImproveStrip-BixNsg2a.js} +1 -1
- package/dist/web/assets/{GetStartedView-u7Jw7YA1.js → GetStartedView-B8gCwmBX.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-D0a2nwse.js → HostedModelLearningReview-CitgUNfC.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-CQQGyjxi.js → HostedModelLearningSettings-WUaqzNsa.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-Cxlc4sSC.js → LabModelVersionDetailPage-Cx0kL69J.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BnJkDb0c.js → LabSkillSidebar-DRggqZ1j.js} +1 -1
- package/dist/web/assets/LabsRoute-BujTZhqC.js +99 -0
- package/dist/web/assets/{MainChatThread-r_TYiTnW.js → MainChatThread-CyA_644R.js} +2 -2
- package/dist/web/assets/MainPane-LaEtxydD.js +19 -0
- package/dist/web/assets/{MarkdownText-BxPHz4je.js → MarkdownText-DJI5LwT0.js} +19 -19
- package/dist/web/assets/{NativeSkillSidebar-CCHK6kMG.js → NativeSkillSidebar-CkFpWxjd.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-CuKWTDZj.js → NewExperienceSwitcher-DXcRHHsu.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-CS6sw2oD.js → NewProjectDialog-gDzX_ZIJ.js} +1 -1
- package/dist/web/assets/{OutputsPage-JDM5bfLJ.js → OutputsPage-J_k-_N82.js} +1 -1
- package/dist/web/assets/{ProjectsPage-B3zTBHOA.js → ProjectsPage-BsyZmvlg.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-L8S3yj1u.js → RightChatPanelStack-Bz8puMUB.js} +1 -1
- package/dist/web/assets/{RightSidebarHomePanel-BWJQKFUp.js → RightSidebarHomePanel-DmorYb6p.js} +1 -1
- package/dist/web/assets/ScheduledWorkPage-BFDzQUyL.js +1 -0
- package/dist/web/assets/SettingsView-BB7wCdbr.js +5 -0
- package/dist/web/assets/SettingsView-BnANbPLS.css +1 -0
- package/dist/web/assets/{TeamChatView-DakXCNQE.js → TeamChatView-CZ3b7rq2.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-DaonK5C0.js → TerminalOverlay-Ck43Qri3.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-CUvSsSwp.js → TrainingCreationPanel-ejqPZm3g.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DNivtVwd.js → TrainingDraftPanel-Cy2AQxxL.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-rbmuoPoE.js → UsageSettingsSection-B7nyMItm.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-DrYt9xzv.js → WorkSidebarPanel-BfjAc097.js} +1 -1
- package/dist/web/assets/{WorkspaceDiffPanel-CThoTqe4.js → WorkspaceDiffPanel-D9hAV8l7.js} +5 -5
- package/dist/web/assets/{WorkspaceEnvironmentMenu-DeODKxvW.js → WorkspaceEnvironmentMenu-B-K9XgFB.js} +3 -3
- package/dist/web/assets/{WorkspaceGitDialogs-CBarJYF-.js → WorkspaceGitDialogs-BJVFx_L3.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-Hmu5m_sO.js → WorkspaceMonacoEditor-p-FWMXoZ.js} +3 -3
- package/dist/web/assets/{arrow-up-right-BV2IHfb9.js → arrow-up-right-CFGI2YSt.js} +1 -1
- package/dist/web/assets/{chunk-YTGRET2L-PKzEfYnf.js → chunk-UHVJOMWN-BAlur2vw.js} +1 -1
- package/dist/web/assets/{clipboard-DDIvAWKp.js → clipboard-DIIxBort.js} +1 -1
- package/dist/web/assets/{cloud-upload-Dv6kFnfC.js → cloud-upload-BaQFNCTp.js} +1 -1
- package/dist/web/assets/{cssMode-BK0jFqWW.js → cssMode-6LOkSggB.js} +1 -1
- package/dist/web/assets/{folder-open-B9ixJQJX.js → folder-open-DZSxfPtr.js} +1 -1
- package/dist/web/assets/{folder-plus-DqSKvtNB.js → folder-plus-21v4D_Vx.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-C1lQvfxe.js → git-commit-horizontal-CgGixL64.js} +1 -1
- package/dist/web/assets/{htmlMode-CCV301b6.js → htmlMode-B5uRraNd.js} +1 -1
- package/dist/web/assets/index-DJcUXSsN.css +1 -0
- package/dist/web/assets/{index-DIaKfM8a.js → index-DOMrqhcz.js} +2 -2
- package/dist/web/assets/{info-BEvaynAD.js → info-BGTcmow7.js} +1 -1
- package/dist/web/assets/{jsonMode-Co4pyN4F.js → jsonMode-D3m8N4Gi.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-CSU0G5da.js → lspLanguageFeatures-DoyipLsB.js} +1 -1
- package/dist/web/assets/{minimize-2-DT8t8wwP.js → minimize-2-B01qSko4.js} +1 -1
- package/dist/web/assets/{monaco.contribution-Cr0AaHCD.js → monaco.contribution--U8v3jpa.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DSBAb_PC.js → monaco.contribution-BJyfaGX2.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CBwGIQY1.js → monaco.contribution-Bc22foTx.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DUZrs1D-.js → monaco.contribution-DuRhJ6zU.js} +2 -2
- package/dist/web/assets/{monitor-DGqnfsK9.js → monitor-eZP8ZTHe.js} +1 -1
- package/dist/web/assets/{play-C1XWyKh6.js → play-CGsWFR_B.js} +1 -1
- package/dist/web/assets/{python-Z1foxLdf.js → python-BNrLZWud.js} +1 -1
- package/dist/web/assets/{save-CX2kF74j.js → save-BLgjrccP.js} +1 -1
- package/dist/web/assets/{square-DMkXeYeV.js → square-CI1qNtvE.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-CRMVp779.js → toggleHighContrast-B_GcTCnw.js} +1 -1
- package/dist/web/assets/{tsMode-Czu8YAqh.js → tsMode-CmruH_ys.js} +1 -1
- package/dist/web/assets/{upload-giKOPnl1.js → upload-DnlgGS2x.js} +1 -1
- package/dist/web/assets/useLocalAgentSchedules-BBhGUfK-.js +1 -0
- package/dist/web/assets/useProviderSettings-Bw-csWbH.css +1 -0
- package/dist/web/assets/useProviderSettings-DfhdkKdC.js +5 -0
- package/dist/web/assets/{useSessionTurnCache-CUYFsu_W.js → useSessionTurnCache-BwscKl5i.js} +1 -1
- package/dist/web/assets/{wifi-off-DbDXaV1N.js → wifi-off-Dz-4EDCc.js} +1 -1
- package/dist/web/assets/{workers-Cno4XklJ.js → workers-Bi9u46cp.js} +1 -1
- package/dist/web/assets/{yaml-C28t_C6h.js → yaml-DVTkiRnh.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/chunks/app-server-runtime-FL2CHQU2.js +0 -2
- package/dist/chunks/chunk-4VKNBADF.js +0 -2
- package/dist/chunks/chunk-5ZZM3TUN.js +0 -24
- package/dist/chunks/chunk-6JBWHR6T.js +0 -5
- package/dist/chunks/chunk-FKCWOASO.js +0 -49
- package/dist/chunks/chunk-FOEUDMME.js +0 -2678
- package/dist/chunks/chunk-ICZEOMPO.js +0 -2
- package/dist/chunks/chunk-JO7GRBOG.js +0 -2
- package/dist/chunks/chunk-KUKOZJIR.js +0 -2
- package/dist/chunks/chunk-M7PBDRKC.js +0 -2
- package/dist/chunks/chunk-P653BXMY.js +0 -3
- package/dist/chunks/chunk-PMZH2TKS.js +0 -4
- package/dist/chunks/chunk-W4IL6TWB.js +0 -186
- package/dist/chunks/chunk-WVNN3RB2.js +0 -2
- package/dist/chunks/cli-5QR7QNQJ.js +0 -2
- package/dist/chunks/core-commands-J2SJM5I5.js +0 -2
- package/dist/chunks/hosted-harness-runtime-PAYMAXH7.js +0 -2
- package/dist/chunks/hosted-profile-compiler-KQREWJA5.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-preparation-OR4OLYEX.js +0 -3
- package/dist/chunks/import-YHSX6SBZ.js +0 -4
- package/dist/chunks/src-TNWF3IC5.js +0 -329
- package/dist/web/assets/App-CdDQ-lXE.css +0 -1
- package/dist/web/assets/App-D2f8_mGk.js +0 -235
- package/dist/web/assets/AppsView-CzbB5pXp.css +0 -1
- package/dist/web/assets/AppsView-DwK1UBJP.js +0 -1
- package/dist/web/assets/BrowserSidebar-Cj9VnkgU.js +0 -1
- package/dist/web/assets/LabsRoute-hHwZNbqN.js +0 -99
- package/dist/web/assets/MainPane-DJcd4tPk.js +0 -19
- package/dist/web/assets/ScheduledWorkPage-qX12p4B0.js +0 -1
- package/dist/web/assets/SettingsView-0KMs-r2I.js +0 -9
- package/dist/web/assets/SettingsView-CVsuQeCZ.css +0 -1
- package/dist/web/assets/index-1cMIFBxZ.css +0 -1
- package/dist/web/assets/useLocalAgentSchedules-BHxWmOeC.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as Fn}from"./chunk-H6W55CQG.js";import{a as rr,b as _e,c as Ee,h as ji,i as Yr,k as Qr}from"./chunk-Z3D4C7BG.js";import{B as Si,C as Xr,E as Ri,I as Ze,L as et,O as qt,Q as Dt,R as Ti,U as ut,W as ft,c as $n,d as Bn,e as Un,f as Ln,ja as Ii,k as si,la as Pi,oa as _i,q as oi,r as Ht,ta as nr,wa as Ei,z as Kr}from"./chunk-JO7GRBOG.js";import{$ as mt,$a as Pe,Ad as yi,E as Vr,Ea as ii,F as Ja,Ia as Ye,Id as vi,Ja as Ct,Jb as Gr,Kb as pi,Kc as li,Lb as cn,Ma as Qe,Na as Xn,O as Ka,Oa as pt,P as Xa,Q as Gn,Qd as wi,S as Ya,Sc as Jr,T as Nr,U as dt,Ua as Yn,V as Qa,W as ue,X as Jn,Xa as lt,Ya as ee,Z as Za,aa as jt,ad as tr,b as Te,ba as ze,ca as ei,d as Fr,db as At,ea as ti,ed as ui,f as Ga,ga as $e,gb as on,gd as fi,h as Vn,hd as hi,id as Ot,j as Nn,ja as Xe,jb as ci,jd as gi,ka as ni,kd as bi,l as Wn,la as Be,lb as Qn,na as Ie,nb as Zn,oa as sn,pb as di,ra as ri,sa as ai,sb as mi,ua as Wr,vb as C,vd as xi,w as Ke,wb as F,x as Et,xb as $,xd as ki,ya as Kn,yb as er}from"./chunk-BQNK2NMB.js";import{g as Va,h as Na,pa as Wa}from"./chunk-VW7D3DRM.js";import{a as B,b as zn,e as v,f as La,g as le,i as Fa,j as Je,k as L,l as p,m as an,q as _t}from"./chunk-P653BXMY.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";var ht=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(),Zr=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((n,t)=>{n.reduce((r,a)=>r+a.content.length,0)>1e5&&t.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})});var ea=Yn.extend({mode:e.enum(["nightly","approved_count"]),minimumTasks:e.number().int().min(1).max(1e4),maximumSpendUsd:e.number().positive().max(1e5),maximumDailySpendUsd:e.number().positive().max(1e6)}).strict().superRefine((n,t)=>{n.maximumDailySpendUsd<n.maximumSpendUsd&&t.addIssue({code:"custom",path:["maximumDailySpendUsd"],message:"The daily budget must cover one update."})});var ae=class extends Error{static{c(this,"OpenPondProtocolError")}code;constructor(t,r){super(r),this.name="OpenPondProtocolError",this.code=t}};function M(n){return JSON.stringify(ta(n))}c(M,"canonicalJson");async function fe(n){let t=new TextEncoder().encode(M(n)),r=await globalThis.crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r),a=>a.toString(16).padStart(2,"0")).join("")}c(fe,"canonicalSha256");function ta(n){if(n===null||typeof n=="string"||typeof n=="boolean")return n;if(typeof n=="number"){if(!Number.isFinite(n))throw new ae("non_json_value","Canonical JSON cannot contain a non-finite number.");return Object.is(n,-0)?0:n}if(Array.isArray(n))return n.map(t=>ta(t));if(typeof n=="object"){let t=Object.getPrototypeOf(n);if(t!==Object.prototype&&t!==null)throw new ae("non_json_value","Canonical JSON accepts only plain objects.");let r={};for(let a of Object.keys(n).sort()){let i=n[a];if(i===void 0||typeof i=="function"||typeof i=="symbol")throw new ae("non_json_value",`Canonical JSON cannot contain ${typeof i} at ${a}.`);r[a]=ta(i)}return r}throw new ae("non_json_value",`Canonical JSON cannot contain ${typeof n}.`)}c(ta,"normalizeCanonicalJson");var E=e.string().trim().min(1).max(500),je=e.string().regex(/^[a-f0-9]{64}$/),he=e.string().datetime({offset:!0}),S=e.object({id:E,contentHash:je}).strict(),q=S.extend({revision:e.number().int().positive()}).strict(),tt=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:E,revision:e.string().trim().min(1).max(256).nullable(),tokenizerRevision:e.string().trim().min(1).max(256).nullable(),chatTemplateHash:e.string().trim().min(8).max(256).nullable(),modelAssetId:E.nullable(),source:e.enum(["managed","local","builtin"])}).strict(),Hi=e.enum(["sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),na=e.object({schemaVersion:e.string().regex(/^openpond\.[A-Za-z0-9]+Recipe\.v\d+$/),method:Hi,parameterization:e.enum(["lora","full"])}).catchall(e.unknown()),Xo=e.object({profileProjectId:E,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),harnessRelease:S}).strict(),Yo=e.object({profileProjectId:E,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),catalogHash:je,definitionId:E,harnessRelease:S,tasksetRelease:S}).strict(),Ai=e.object({tasksetRef:q.nullable().default(null),evaluationTasksetRef:q.nullable().optional(),profileSource:Xo.nullable().optional(),profileEvaluation:Yo.nullable().optional(),rewardBindingRef:q.nullable().optional(),tasksetRelease:S.nullable().default(null),harnessRelease:S.nullable().default(null),baseModel:tt.nullable().default(null),method:Hi.nullable().default(null),destinationId:E.nullable().default(null),managedRolloutPlacement:e.enum(["local","remote"]).default("remote"),managedGpuPlacementObjective:e.enum(["fast","balanced","economical"]).default("balanced"),managedGpuRequirement:e.enum(["any","h100_hbm3"]).default("any"),runPreset:e.enum(["small","standard","custom","small_experiment"]).nullable().default(null),recipe:na.nullable().default(null),preferredMaximumSpendUsd:e.number().nonnegative().nullable().default(null),preferredRetentionDays:e.number().int().nonnegative().nullable().default(null)}).strict(),ar=Ai.omit({managedGpuRequirement:!0}),Qo=e.object({schemaVersion:e.literal("openpond.hostedModelProjectLink.v1"),apiOrigin:e.string().url().refine(n=>new URL(n).origin===n,"Use a canonical API origin.").nullable().default(null),teamId:E,projectId:E,portableProjectId:E,revision:e.number().int().positive(),etag:je,syncedSourceRevision:e.number().int().positive(),syncedAt:he,tasksets:e.array(e.object({localTasksetId:E,localTasksetHash:je.nullable().default(null),releaseId:E,releaseRevision:e.number().int().positive(),releaseHash:je,packageHash:je.nullable().default(null),hostedTasksetId:E,syncedAt:he}).strict()).max(1e4).default([])}).strict(),Zo=e.object({localTasksetId:E,releaseId:E,releaseRevision:e.number().int().positive(),releaseHash:je,state:e.enum(["syncing","synced","sync_failed"]),hostedTasksetId:E.nullable().default(null),lastAttemptAt:he,syncedAt:he.nullable().default(null),lastError:e.string().trim().min(1).max(5e3).nullable().default(null)}).strict(),ec=e.object({schemaVersion:e.literal("openpond.modelProject.v2"),id:E,profileId:E,revision:e.number().int().positive().default(1),name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:tt.nullable(),defaultDestinationId:E.nullable(),trainingSetup:Ai,hosted:Qo.nullable().default(null),tasksetSyncs:e.array(Zo).max(1e4).default([]),createdAt:he,updatedAt:he}).strict(),tc=ec.pick({id:!0,profileId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,trainingSetup:!0}),Rp=e.object({schemaVersion:e.literal("openpond.modelProjectSave.v1"),operationId:E,expectedRevision:e.number().int().nonnegative(),project:tc,learning:ea.optional()}).strict().superRefine((n,t)=>{n.learning&&n.expectedRevision!==0&&t.addIssue({code:"custom",path:["learning"],message:"Use learning settings to edit an existing Model's policy."})}),Tp=e.object({schemaVersion:e.literal("openpond.modelProjectConfigurationCheck.v1"),configurationHash:je,projectId:E,expectedRevision:e.number().int().nonnegative(),checkedAt:he,canSave:e.boolean(),deferred:e.array(e.enum(["base_model","taskset"])).max(2),findings:e.array(e.object({code:E,severity:e.enum(["error","warning"]),message:e.string().min(1).max(5e3),field:e.string().min(1).max(500).nullable()}).strict()).max(100)}).strict(),Ip=e.object({id:E,name:e.string().min(1).max(500),available:e.boolean(),preference:tt}).strict();var Oi=e.object({schemaVersion:e.literal("openpond.hostedModelProjectSync.v2"),portableProjectId:E,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:tt.nullable(),defaultDestinationId:E.nullable(),trainingSetup:ar,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,expectedEtag:je.nullable().default(null)}).strict(),Mt=e.object({id:E,teamId:E,portableProjectId:E,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:tt.nullable(),defaultDestinationId:E.nullable(),trainingSetup:ar,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,revision:e.number().int().positive(),etag:je,createdAt:he,updatedAt:he}).strict(),nc=e.object({kind:e.enum(["taskset_release","harness_release","dataset_release","evidence_set","model_version","reward_model_version","evaluation_receipt"]),ref:S,role:e.string().trim().min(1).max(200).nullable().default(null),updatedAt:he}).strict(),Pp=e.object({project:Mt,resources:e.array(nc).max(1e4),jobCount:e.number().int().nonnegative(),latestJobIds:e.array(E).max(100)}).strict(),_p=e.object({schemaVersion:e.literal("openpond.modelProjectApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict();var zt=e.string().regex(/^[a-f0-9]{64}$/),ra=e.object({providerId:e.literal("claude-code"),configurationHash:zt,executableHash:zt,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:zt,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(),Op=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((n,t)=>{n.action==="message"&&!n.text?.trim()&&t.addIssue({code:"custom",message:"A human intervention requires a message."}),n.action==="seal"&&n.text!==void 0&&t.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),qp=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:ra,sourceHash:zt,outputHash:zt,traceHash:zt,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((n,t)=>{(n.runtimeEventRefs.length!==n.eventCount||new Set(n.runtimeEventRefs).size!==n.eventCount)&&t.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})});var qi=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(Vn).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:Fa.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((n,t)=>{let{contentHash:r,...a}=n;p(a)!==r&&t.addIssue({code:"custom",message:"Experiment grading integrity failed."});let i=n.grades.flatMap(s=>s.components);(i.length!==n.grades.length||new Set(i.map(s=>s.graderId)).size!==i.length)&&t.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let s of n.grades){let{contentHash:o,...m}=s;p(m)!==o&&t.addIssue({code:"custom",message:"A retained criterion changed."});for(let u of s.components){let{contentHash:d,...l}=u;p(l)!==d&&t.addIssue({code:"custom",message:"A retained grader result changed."})}}});var D=e.string().trim().min(1).max(200),gt=e.string().regex(/^[a-f0-9]{64}$/),aa=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:D,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:gt,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),ra]).optional(),candidate:e.object({artifactId:D,contentHash:gt,preparationId:D,dispatchId:D,baseProfileId:D,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:Kn.optional(),messages:Zr.optional(),maxOutputTokens:e.number().int().min(1).max(4096).default(1024),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict(),e.object({kind:e.literal("fixture"),fixtureId:D}).strict()]),rc=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:D,teamId:D,modelProjectId:D.nullable(),project:ht.optional(),taskset:q,taskId:D,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:aa}).strict(),Qp=e.object({modelProjectId:D.nullable(),taskset:q,afterTaskId:D.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Zp=e.object({modelProjectId:D.nullable(),taskset:q,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:D,name:e.string().max(500)}).strict()).max(200),tasks:e.array(e.object({id:D,split:Gn,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:D,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:D.nullable()}).strict(),ir=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:D,revision:e.number().int().positive(),request:rc,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:D,provider:D,upstreamModelId:e.string().min(1).max(500),configurationHash:gt}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:D,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((n,t)=>{n.request.policy.kind==="fixture"!=(n.policySnapshot===null)&&t.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),n.status==="completed"&&(!n.cleanupComplete||!n.resultAvailable||!n.completedAt)&&t.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),el=e.object({modelProjectId:D,afterId:D.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),tl=e.object({items:e.array(ir).max(100),nextCursor:D.nullable()}).strict(),nl=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:ir,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:ei.nullable(),grade:Vn.nullable().optional(),experimentGrade:qi.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:q,initialStateHash:gt.nullable(),finalStateHash:gt.nullable(),attemptHash:gt}).strict(),native:ii.optional(),providerRequestIds:e.array(D).max(1001),contentHash:gt}).strict().superRefine((n,t)=>{let r=n.attempt.request.policy.kind==="hosted_chat"?n.attempt.request.policy.harness:void 0;!!r!=!!n.native&&t.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),n.native&&(!r||p(r)!==p(n.native.source)||n.native.modelConfigurationHash!==n.attempt.policySnapshot?.configurationHash||n.environment.initialStateHash!==null||n.environment.finalStateHash!==null||n.environment.status==="completed"&&(!n.environment.collected||n.output===null||n.native.partialOutputAvailable||n.native.outputHash!==p(n.output)))&&t.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),n.experimentGrade&&((n.grade||n.composition)&&t.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(n.attempt.status)||!n.attempt.resultAvailable||n.attempt.score!==n.experimentGrade.score||n.attempt.gradingStatus!==n.experimentGrade.gradingStatus||n.attempt.passed!==(n.experimentGrade.score===null?null:n.experimentGrade.passed))&&t.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),n.grade&&(n.composition&&t.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(n.attempt.status)||!n.attempt.resultAvailable||n.attempt.score!==n.grade.score||n.attempt.gradingStatus!==n.grade.gradingStatus||n.attempt.passed!==(n.grade.score===null?null:n.grade.passed))&&t.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))});var $t=e.string().trim().min(1).max(240),ia=e.string().regex(/^[a-f0-9]{64}$/),mn=e.object({kind:e.literal("hosted_harness"),modelId:$t,candidate:e.object({artifactId:$t,contentHash:ia,preparationId:$t,dispatchId:$t,baseProfileId:$t,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:Wr.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:$t,source:Wr,modelConfigurationHash:ia,packageHash:ia,externalDatasetBinding:Ie.optional()}).strict().superRefine((n,t)=>{JSON.stringify(n.externalDatasetBinding??null)!==JSON.stringify(n.source.externalDatasetBinding??null)&&t.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(n.sourceCandidate??null)!==JSON.stringify(n.source.sourceCandidate??null)&&t.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})});var ke=e.string().trim().min(1).max(200),Di=e.string().regex(/^[a-f0-9]{64}$/),ac=e.discriminatedUnion("kind",[aa.options[0],e.object({kind:e.literal("fixture")}).strict(),mn]),Ue=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:ke,teamId:ke,modelProjectId:ke.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ht.optional(),taskset:q,policy:ac,population:e.array(oi).min(1).max(1e4)}).strict().superRefine((n,t)=>{new Set(n.population.map(r=>r.receiptId)).size!==n.population.length&&t.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),n.population.some(r=>r.fixtureId!==null!=(n.policy.kind==="fixture"))&&t.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),n.population.some(r=>!/^(0|[1-9][0-9]*)$/.test(r.seed)||Number(r.seed)>2147483647)&&t.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),n.policy.kind==="hosted_harness"&&n.modelProjectId!==null&&t.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),n.policy.kind==="hosted_harness"&&new Set(n.population.map(r=>M([r.taskId,r.seed]))).size!==n.population.length&&t.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Mi=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:ke,revision:e.number().int().positive(),teamId:ke,modelProjectId:ke.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ht.optional(),operationId:ke,taskset:q,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:Di,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:ke,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((n,t)=>{Object.values(n.counts).reduce((r,a)=>r+a,0)!==n.totalCount&&t.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),n.status!=="completed"&&n.score!==null&&t.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(n.status)&&(!n.completedAt||n.counts.pending||n.counts.running)&&t.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),n.status==="cancelled"&&!n.cleanupComplete&&t.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),n.resultAvailable&&!["completed","failed","cancelled"].includes(n.status)&&t.addIssue({code:"custom",message:"Run results require terminal population accounting."}),n.status==="completed"&&(!n.cleanupComplete||!n.resultAvailable)&&t.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),sr=e.object({summary:Mi,request:Ue,manifest:Ht,policySnapshot:ir.shape.policySnapshot}).strict(),yl=e.object({modelProjectId:ke.optional(),projectId:ht.shape.id.optional(),afterId:ke.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),vl=e.object({items:e.array(Mi).max(100),nextCursor:ke.nullable()}).strict(),wl=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:sr,receipts:e.array(si).min(1).max(1e4),metric:Wn.nullable(),contentHash:Di}).strict();function sa(n,t){an(t,"Taskset run manifest");let r=n.policy;if(r.kind!=="hosted_harness"||t.execution.kind!=="harness"||M(t.profileEvaluation)!==M(r.source)||M(t.execution.harnessRelease)!==M(r.source.harnessRelease)||t.metadata.profileRepositoryId!==r.profileRepositoryId||t.packageHash!==r.packageHash||t.policy.kind!=="model"||t.policy.model.provider!=="openpond"||t.policy.model.model!==r.modelId||t.policy.model.revision!==null||t.policy.model.artifactHash!==(r.candidate?.contentHash??null)||t.policy.model.tokenizerRevision!==null||t.policy.model.chatTemplateHash!==null||t.policy.configurationHash!==r.modelConfigurationHash||t.tasksetRelease.id!==n.taskset.id||t.tasksetRelease.contentHash!==n.taskset.contentHash||M(t.population)!==M(n.population)||t.population.some(a=>a.receiptId!==`evaluation-${p([t.id,a.taskId,a.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}c(sa,"verifyHarnessExperimentManifest");async function zi(n){let t=sr.parse(n),{summary:r,request:a,manifest:i,policySnapshot:s}=t;if(an(i,"Taskset run manifest"),i.contentHash!==r.manifestHash||i.id!==r.id||i.createdAt!==r.createdAt||r.teamId!==a.teamId||r.modelProjectId!==a.modelProjectId||M(r.project??null)!==M(a.project??null)||M(i.metadata.project??null)!==M(a.project??null)||(r.name??null)!==(a.name??null)||r.operationId!==a.operationId||r.policyKind!==a.policy.kind||r.totalCount!==a.population.length||r.metricName!==i.metricPolicy.primaryMetric||M(r.taskset)!==M(a.taskset)||i.tasksetRelease.id!==a.taskset.id||i.tasksetRelease.contentHash!==a.taskset.contentHash||M(i.population)!==M(a.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(a.policy.kind==="fixture"){if(i.policy.kind!=="fixture"||s!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(a.policy.kind==="hosted_harness"){if(sa(a,i),s!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(i.policy.kind!=="model"||!s||s.modelId!==a.policy.modelId||i.policy.model.provider!==s.provider||i.policy.model.model!==s.upstreamModelId||i.policy.model.revision!==null||i.policy.model.artifactHash!==(a.policy.candidate?.contentHash??null)||i.policy.model.tokenizerRevision!==null||i.policy.model.chatTemplateHash!==null||i.policy.configurationHash!==await fe({policy:a.policy,snapshot:s}))throw new Error("Evaluation model differs from its admitted policy.");return t}c(zi,"verifyModelTasksetRunDetails");var Ui=e.string().min(1).max(200).refine(n=>!["__proto__","prototype","constructor"].includes(n),"Use an ordinary field name."),ic=e.array(Ui).min(1).max(20),$i=e.enum(["input","output","expectedOutput","evaluatorContext"]),sc=e.object({destination:$i,path:ic,source:$i,sourcePath:e.array(Ui).max(20)}).strict(),Bt=e.array(sc).max(100).superRefine((n,t)=>{for(let[r,a]of n.entries())n.slice(0,r).some(i=>i.destination===a.destination&&(Bi(i.path,a.path)||Bi(a.path,i.path)))&&t.addIssue({code:"custom",path:[r,"path"],message:"Mapped destination paths must not overlap."})});function Bi(n,t){return n.length<=t.length&&n.every((r,a)=>r===t[a])}c(Bi,"prefix");var te=e.string().trim().min(1).max(200),bt=e.string().regex(/^[a-f0-9]{64}$/),oa=e.object({id:te,revision:e.number().int().positive(),contentHash:bt}).strict(),xt=e.object({id:te,version:e.string().min(1).max(200),contentHash:bt,name:e.string().trim().min(1).max(500).optional(),feedbackKey:Za,release:oa.nullable(),mappings:Bt.optional()}).strict(),ca=e.object({id:te,version:e.string().min(1).max(200),contentHash:bt,mappings:Bt}).strict(),Ml=e.object({operationId:te,id:te.optional(),expectedRevision:e.number().int().nonnegative(),request:Ue,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(ca).min(1).max(100).optional()}).strict().superRefine((n,t)=>{n.request.name||t.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!n.id!=n.expectedRevision>0&&t.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(n.maximumCostUsd*1e6)<1&&t.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),n.graders&&new Set(n.graders.map(r=>r.id)).size!==n.graders.length&&t.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),oc=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:te,teamId:te,revision:e.number().int().positive(),request:Ue,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(xt).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),zl=oc.extend({contentHash:bt}),$l=e.object({operationId:te,definition:oa}).strict(),Li=e.object({projectId:te.optional(),datasetHash:bt.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:te.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),Fi=e.object({definition:oa.nullable(),configurationHash:bt.optional(),admissionRequestHash:bt.optional(),sourceExperimentId:te.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(xt).min(1).max(100)}).strict().superRefine((n,t)=>{n.definition===null&&(!n.configurationHash||!n.admissionRequestHash)&&t.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),Vi=e.object({operationId:te,profileRepositoryId:te,definitionId:te,modelId:te,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:Ie.optional(),sourceCandidate:mn.shape.sourceCandidate}).strict(),Ni=e.object({request:Ue,manifest:Ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(xt).min(1).max(100)}).strict();var Wi=e.string().trim().min(1).max(200),Ce=e.object({operationId:Wi,request:Ue,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(ca).min(1).max(100).optional(),sourceExperimentId:Wi.optional()}).strict().superRefine((n,t)=>{n.request.name||t.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),n.operationId!==n.request.operationId&&t.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(n.maximumCostUsd*1e6)<1&&t.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),n.graders&&new Set(n.graders.map(r=>r.id)).size!==n.graders.length&&t.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var kt=ee.shape.id,pn=e.string().regex(/^[a-f0-9]{64}$/),Gi=e.object({scopeId:kt,modelId:kt}).strict(),da=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:Gi,root:ee,parent:ee}).strict(),cc=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:kt,modelId:kt,expectedModelRevision:e.number().int().positive(),sourcePackageHash:pn}).strict(),yt=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:kt,requestHash:pn,sourcePackageHash:pn,sourceTasksetRef:ee,tasksetId:kt,tasksetRevision:e.number().int().positive(),lineage:da,authoringGraph:e.literal("bound").optional()}).strict(),ye=e.string().min(1).max(1024).refine(n=>!n.includes("\\")&&!n.includes(":")&&!n.includes("\0")&&!n.startsWith("/")&&!n.split("/").some(t=>!t||t==="."||t===".."||t.startsWith(".env")),"Use a relative Taskset file path without environment files."),dc=e.object({path:ye,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),ma=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),Jl=dc.extend({contentHash:pn,content:ma}).strict(),mc=e.object({draftId:kt,expectedDraftRevision:e.number().int().positive(),path:ye,expectedFileHash:pn.nullable(),content:ma.nullable()}).strict();function Ji(n){return`model-authored-taskset-${p({owner:n.owner,root:n.root})}`}c(Ji,"modelAuthoredTasksetId");function pa(n){if(n.metadata.modelTasksetAuthoring===void 0)return null;let t=da.parse(n.metadata.modelTasksetAuthoring);if(n.id!==Ji(t)||(n.revision===1?!F(t.parent,t.root):t.parent.id!==n.id||t.parent.revision!==n.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return t}c(pa,"assertModelTasksetAuthoring");var cu=e.string().regex(/^[a-f0-9]{64}$/);var nt=e.object({environment:Ze,verifierSet:et,javascript:nr}).strict(),du=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 ln(n){if(!n.environmentRelease||!n.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${$({environment:n.environmentRelease,verifiers:n.verifierSetRelease}).contentHash}`}c(ln,"modelStarterExecutionAssetId");function Ki(n){let t=nt.parse(n);Xi(t);let r=ln({environmentRelease:{id:t.environment.id,contentHash:t.environment.contentHash},verifierSetRelease:{id:t.verifierSet.id,contentHash:t.verifierSet.contentHash}}),a=ni({text:M(t),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:i,...s}=a;return $({...s,id:r,asset:{...s.asset,id:r}})}c(Ki,"createModelStarterExecutionAsset");function vt(n,t){return $({value:n}).contentHash===$({value:t}).contentHash}c(vt,"equal");function Xi(n){Ei(n.javascript);for(let t of[n.environment,n.verifierSet]){let{contentHash:r,...a}=t;if($(a).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${t.id}.`)}if(!vt(n.environment.metadata.javascriptEnvironment,C(n.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}c(Xi,"assertExecutionIntegrity");function or(n,t,r){if(!n){if(t.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:a,verifierSet:i,javascript:s}=n;if(Xi(n),!vt(t.environmentRelease,{id:a.id,contentHash:a.contentHash})||!vt(t.verifierSetRelease,{id:i.id,contentHash:i.contentHash})||!vt(a.contract,t.environment)||!vt(i.graders,t.graders)||!vt(t.tools,s.tools)||!vt(a.metadata.javascriptEnvironment,C(s)))throw new Error("Starter execution resources differ from its declared task context.");let o=a.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||t.capabilities.length||t.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let m of[s.module,a.actionSchemaRef,a.observationSchemaRef,a.stateSchemaRef]){if(!m)continue;let u=r.find(d=>d.id===m.id);if(!u)throw new Error(`Starter environment asset is missing: ${m.id}.`);Be(u,m)}for(let m of t.tasks){let u=r.find(l=>l.id===m.privilegedContextRef);if(!u||u.asset.visibility!=="host_private"||u.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${m.id}.`);let d=JSON.parse(Be(u,u.asset));if(!d||typeof d!="object"||Array.isArray(d))throw new Error(`Starter initial state must be a JSON object: ${m.id}.`);Te(d,s.maxStateBytes)}}c(or,"validateModelStarterExecution");var Yi=e.object({environment:Ze,verifierSet:et}).strict();var Zi=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),la=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:Zi,root:q,parent:q}).strict(),ua=e.object({taskset:ue,taskDefinition:Pe,rewardBinding:ze,rewards:e.array(mt).min(1).max(100),assets:e.array(Xe).max(1e3),executionResources:Yi.optional(),execution:nt.optional(),instructionMode:e.literal("per_task").optional()}).strict(),Le=c((n,t)=>$({value:n}).contentHash===$({value:t}).contentHash,"same"),Qi=c((n,t)=>`model-taskset-${$({owner:n,root:t}).contentHash}`,"identity");function fa(n){let t=Zi.parse(n.owner),r=n.source,a=n.edits??r,i=r.taskset.metadata.modelTasksetDerivation===void 0?null:la.parse(r.taskset.metadata.modelTasksetDerivation);if(i&&r.taskset.id!==Qi(i.owner,i.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let s=i&&Le(i.owner,t),o=s?i.root:C(r.taskset),m=s?r.taskset.id:Qi(t,o),u=s?r.taskset.revision+1:1,d=ze.parse(n.rewardBinding),l=n.rewards.map(ct=>mt.parse(ct)),f=$e(d,l);if(d.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let h={...a.taskset.policy,hiddenGraderRefs:f.filter(ct=>ct.privileged).map(ct=>ct.id)},b=a.executionResources??a.execution,g=b?.environment??qt({schemaVersion:"openpond.environmentRelease.v1",id:`${m}-environment`,revision:1,contract:a.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),k=Dt({schemaVersion:"openpond.verifierSetRelease.v1",id:`${m}-verifiers`,revision:u,graders:f,isolation:b?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(a.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:b?{sourceVerifierSet:C(b.verifierSet)}:{}}),w={environment:g,verifierSet:k},H=a.execution?{...a.execution,verifierSet:k}:void 0,{contentHash:z,...y}=a.taskset,{contentHash:Pt,...Ge}=a.taskDefinition,x={...Ge.execution,policy:h,environmentRelease:{id:g.id,contentHash:g.contentHash},verifierSetRelease:{id:k.id,contentHash:k.contentHash}},R=Pe.parse($({...Ge,id:`${m}-definition`,revision:u,rewardBinding:C(d),execution:x})),P=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,G=P&&typeof P=="object"&&!Array.isArray(P)&&"graderFixtures"in P?P.graderFixtures:void 0,de=ue.parse($({...y,...x,id:m,revision:u,graders:f,metadata:{starter:{taskDefinition:C(R),rewardBinding:C(d)},rewardExecution:{binding:d,rewards:l},...G===void 0?{}:{starterAuthoring:{graderFixtures:G}},...a.taskset.metadata.environmentResources===void 0?{}:{environmentResources:a.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:t,root:o,parent:C(r.taskset)}}}));return ha({taskset:de,taskDefinition:R,rewardBinding:d,rewards:l,assets:n.assets,executionResources:w,...H?{execution:H}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}c(fa,"compileModelTasksetReward");function ha(n){let t=ua.parse(n),{taskset:r,taskDefinition:a,rewardBinding:i,rewards:s,assets:o,execution:m}=t;for(let k of[r,a,i,...s,...o])er(k);if(Jn(r),i.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!F(a.rewardBinding,C(i)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:u,environment:d,environmentRelease:l,tools:f,capabilities:h,verifierSetRelease:b}=r;if(!Le(a.execution,{policy:u,environment:d,...l?{environmentRelease:l}:{},tools:f,capabilities:h,...b?{verifierSetRelease:b}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!Le(r.graders,$e(i,s)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let k=e.object({taskDefinition:q,rewardBinding:q}).passthrough().parse(r.metadata.starter);if(!F(k.taskDefinition,C(a))||!F(k.rewardBinding,C(i)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!Le(r.metadata.rewardExecution,{binding:i,rewards:s}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!F(q.parse(r.metadata.rewardBinding),C(i)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let g=t.executionResources??m;if(r.environmentRelease&&!g)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(g&&(!ut(g.environment)||!ft(g.verifierSet)||!Le(r.environmentRelease,{id:g.environment.id,contentHash:g.environment.contentHash})||!Le(r.verifierSetRelease,{id:g.verifierSet.id,contentHash:g.verifierSet.contentHash})||!Le(r.environment,g.environment.contract)||!Le(r.graders,g.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(or(m,r,o),new Set(o.map(k=>k.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let k of o)Be(k,k.asset);for(let k of g?[g.environment.actionSchemaRef,g.environment.observationSchemaRef,g.environment.stateSchemaRef]:[]){if(!k)continue;let w=o.find(H=>H.id===k.id);if(!w)throw new Error(`Taskset environment asset is missing: ${k.id}.`);Be(w,k)}for(let k of r.tasks){if(a.requiredOutputs&&!Le(k.requiredOutputs,a.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${k.id}.`);if(t.instructionMode!=="per_task"&&k.policyVisibleContext.instructions!==a.instructions||!Fr(a.inputSchema,k.input).valid||k.expectedOutput!==null&&!Fr(a.outputSchema,k.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${k.id}.`);if(k.privilegedContextRef&&!o.some(w=>w.id===k.privilegedContextRef&&w.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${k.id}.`)}for(let k of s){let w=k.implementation,H=[...k.assets,..."verifierRef"in w?[w.verifierRef]:[],..."rubricRef"in w?[w.rubricRef]:[],..."inputContract"in w?[w.inputContract]:[]];for(let z of H){let y=o.find(Pt=>Pt.id===z.id);if(!y||z.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${z.id}.`);Be(y,z)}}return t}c(ha,"validateModelTasksetPackage");var Ut=e.string().trim().min(1).max(240),es=S.extend({revision:e.number().int().positive()}).strict(),ts=es.extend({teamId:Ut,jobId:Ut,plan:S,baseline:S,candidate:S,state:wi.shape.state,updatedAt:e.string().datetime()}).strict(),pc=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:Ut,jobId:Ut,groups:e.array(ts).max(100),nextCursor:Ut.nullable()}).strict(),lc=e.object({cursor:Ut.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();var O=e.string().trim().min(1).max(200),He=e.string().regex(/^[a-f0-9]{64}$/),cr=e.object({id:O,contentHash:He}).strict(),Fu=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:pt.nullable()}).strict(),ns=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:O,revision:e.number().int().positive(),contentHash:He}).strict(),projectId:O.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:O,configuration:Ce}).strict()).min(1).max(20),acceptancePlan:vi.nullable()}).strict().superRefine((n,t)=>{if(new Set(n.experiments.map(r=>r.id)).size!==n.experiments.length&&t.addIssue({code:"custom",message:"Attach each evaluation once."}),n.experiments.reduce((r,a)=>r+a.configuration.maximumCostUsd,0)>n.maximumSpendUsd+1e-9&&t.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),n.experiments.some(r=>(r.configuration.request.project?.id??null)!==n.projectId)&&t.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),n.acceptancePlan){let r=new Set(n.acceptancePlan.checks.map(i=>i.id));n.acceptancePlan.checks.some(i=>!n.experiments.some(s=>s.id===i.id))&&t.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),n.acceptancePlan.maximumSpendUsd+n.experiments.filter(i=>!r.has(i.id)).reduce((i,s)=>i+s.configuration.maximumCostUsd,0)>n.maximumSpendUsd+1e-9&&t.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var uc=e.object({baseline:cr,checks:e.array(e.object({id:O,sourceRunId:O,sourceManifestHash:He,targetConfigurationHash:He,executionHash:He,populationHash:He,evaluator:cr,feedbackKey:O,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),fc=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),hc=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:O,teamId:O,jobId:O,revision:e.number().int().positive(),planHash:He,automatic:e.boolean(),candidate:cr.nullable(),state:fc,total:e.number().int().positive(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),requiredOutcome:e.enum(["none","pending","passed","failed","blocked"]),reason:e.string().max(500).nullable(),groupId:O.nullable(),experimentIds:e.array(O).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((n,t)=>{n.completed+n.failed>n.total&&t.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(n.state)&&!n.candidate&&t.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Vu=e.object({operationId:O,expectedRevision:e.number().int().positive(),planHash:He}).strict(),Nu=e.object({operationId:O,attachment:ns}).strict(),Wu=e.object({id:O,teamId:O,ownerUserId:O,attachment:ns,qualification:uc.nullable(),contentHash:He,createdAt:e.iso.datetime()}).strict();var Gu=e.object({teamId:O,actorId:O,projectId:O.nullable(),configuration:Mt,batches:e.array(Zn).max(1e4),sources:e.array(At).max(1e4),definitions:e.array(Pe).max(1e4),experiments:e.array(e.object({id:O,name:e.string().max(500),configuration:Ce,graders:e.array(e.object({feedbackKey:O,name:e.string().max(500),ref:cr}).strict()).max(100)}).strict()).max(1e4)}).strict(),Ju=e.enum(["prepare","start","cancel","publish","attach"]),Ku=e.object({teamId:O,actorId:O,configuration:Mt,policy:di,inspection:tr,iterations:e.array(e.object({iteration:mi,evals:hc.nullable()}).strict()).max(100),nextCursor:O.nullable()}).strict(),Xu=e.object({id:O,expectedRevision:e.number().int().positive(),policyHash:He,operationId:O,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:O.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var ge=e.string().trim().min(1).max(191),un=e.string().regex(/^[a-f0-9]{64}$/),rs=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:ge,operationId:ge,projectId:ge.nullable(),configuration:e.object({id:ge,expectedRevision:e.number().int().positive(),expectedEtag:un}).strict(),origin:pt.optional(),batch:q,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),as=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:ge,creatorUserId:ge,request:rs,requestHash:un,source:e.lazy(()=>ga),submissionHash:un,createdAt:e.string().datetime({offset:!0})}).strict(),is=as.extend({contentHash:un}).strict(),ss=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:is,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:ge.nullable()}).strict().superRefine((n,t)=>{n.state==="submitted"!=!!n.jobId&&t.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),gc=e.object({teamId:ge,planHash:un,expectedRevision:e.number().int().positive()}).strict(),bc=e.object({projectId:ge.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:ge.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),xc=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:ge,items:e.array(ss).max(100),nextCursor:ge.nullable()}).strict();var kc=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:v,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(67108864)}).strict();var Tf=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),If=e.object({binding:ze,rewards:e.array(mt).min(1).max(100)}).strict();var yc=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),vc=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:q,tasks:e.array(yc).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((n,t)=>{let r=new Set;n.tasks.forEach((a,i)=>{a.split==="train"&&t.addIssue({code:"custom",path:["tasks",i,"split"],message:"Evaluation sources require held-out tasks."}),r.has(a.id)&&t.addIssue({code:"custom",path:["tasks",i,"id"],message:"Evaluation task identities must be unique."}),r.add(a.id)})});var J=e.string().trim().min(1).max(500),me=e.string().regex(/^[a-f0-9]{64}$/),ve=e.string().datetime({offset:!0}),dh=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:me}).strict(),mh=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:me,sizeBytes:e.number().int().positive(),createdAt:ve}).strict();var cs=e.enum(["reward_model_train","policy_optimize"]),Tc=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Ic=e.object({id:J,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),ga=e.object({origin:pt.optional(),modelProject:e.object({id:J,portableProjectId:J,revision:e.number().int().positive(),contentHash:me}).strict(),harnessRunManifest:S,harnessRelease:S,taskset:q,tasksetRelease:S,evaluation:e.object({taskset:q,dataset:S}).strict().nullable().optional(),dataset:S,evidenceSets:e.array(S).max(1e4)}).strict(),Pc=e.object({kind:e.literal("reward_model_train"),baseModel:tt,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(),_c=e.object({kind:e.literal("deterministic"),grader:S,composer:S.nullable().default(null)}).strict(),Ec=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:me,executionReceipt:S}).strict(),processorRelease:S,rewardComposerRelease:S}).strict(),jc=e.object({kind:e.literal("policy_optimize"),baseModel:tt,recipe:na,rewardSource:e.discriminatedUnion("kind",[_c,Ec]),resumeFrom:S.nullable().default(null)}).strict(),Cc=e.discriminatedUnion("kind",[Pc,jc]),Hc=e.object({approvalHash:me,approvedAt:ve,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(),ph=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:ga,job:Cc,requestedCapabilities:e.array(Ic).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Hc,contentHash:me}).strict().superRefine((n,t)=>{n.approval.maximumSpendUsd!==n.budget.maximumSpendUsd&&t.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});var Ac=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:J,teamId:J,kind:cs,modelProjectId:J,portableProjectId:J,sourceProjectRevision:e.number().int().positive(),submissionHash:me,state:Tc,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:ve,updatedAt:ve,completedAt:ve.nullable()}).strict(),lh=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Ac).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),uh=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:J,jobId:J,sequence:e.number().int().nonnegative(),type:J,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:ve}).strict(),fh=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:J,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:ve}).strict(),hh=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Oc=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:J,jobId:J,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:me,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:ve}).strict(),qc=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:J,teamId:J,jobId:J,submissionHash:me,manifestHash:me,recipeHash:me,capabilityHash:me,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:J,issuedAt:ve,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();var gh=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Oc).max(1e4),receipt:qc.nullable()}).strict(),bh=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();var xh=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:me,jobKinds:e.array(cs),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:ve,expiresAt:ve}).strict();var xa=e.object({batch:Zn,evidence:e.array(on).min(1).max(1e4),decisions:e.array(Qn).min(1).max(1e4),sources:e.array(At).min(1).max(1e4),assets:e.array(Xe).max(1e3)}).strict();function ds(n){return n.evidence.filter(t=>t.submission.evaluatorContext!==null).map(t=>{let r=M(t.submission.evaluatorContext),a=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${t.contentHash}`,path:`learning/context/${t.contentHash}.json`,contentHash:L(a),sizeBytes:a.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(a,i=>String.fromCharCode(i)).join(""))}})}c(ds,"learningPackageContextFiles");function ms(n,t){let r=xa.parse(t),a=cn(n);if(!F(C(r.batch),a.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let d of[r.evidence,r.decisions,r.sources,r.assets]){let l=new Set;for(let f of d){er(f);let h=`${f.id}:${f.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 d of r.evidence){let l=r.sources.find(f=>F(C(f),d.source));if(!l||!F(l.taskDefinition,C(a.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(d=>!r.evidence.some(l=>F(l.source,C(d)))))throw new Error("Taskset package includes an unrelated learning source.");let i=a.rewards.flatMap(d=>[...d.assets,...d.implementation.kind==="custom_verifier"?[d.implementation.verifierRef]:d.implementation.kind==="model_judge"||d.implementation.kind==="human"?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]);for(let d of i){let l=r.assets.find(f=>f.id===d.id);if(!l)throw new Error("Taskset learning Reward asset is missing.");Be(l,d)}if(r.assets.some(d=>!i.some(l=>l.id===d.id)))throw new Error("Taskset package includes an unrelated learning asset.");let s=pi({batch:r.batch,definition:a.definition,binding:a.binding,rewards:a.rewards,evidence:r.evidence,decisions:r.decisions}),o=cn(s);if(p(o)!==p(a))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let m=c(d=>({policy:d.policy,environment:d.environment,tools:d.tools}),"execution");if(p(m(s))!==p(m(n)))throw new Error("Taskset execution differs from its reviewed task definition.");let u=c(d=>({id:d.id,clusterKey:d.clusterKey,split:d.split,input:d.input,expectedOutput:d.expectedOutput,policyVisibleContext:d.policyVisibleContext,privilegedContextRef:d.privilegedContextRef,artifactRefs:d.artifactRefs,requiredOutputs:d.requiredOutputs??[],tags:d.tags}),"taskContent");if(p(s.tasks.map(u))!==p(n.tasks.map(u)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}c(ms,"validateTasksetLearningResources");var rt=64*1024*1024,dr=e.object({asset:le,base64:e.string().max(Math.ceil(rt/3)*4)}).strict();function ie(n){let t=dr.parse(n),r=atob(t.base64);if(btoa(r)!==t.base64)throw new Error(`Taskset asset ${t.asset.id} has noncanonical base64.`);let a=Uint8Array.from(r,i=>i.charCodeAt(0));if(a.byteLength!==t.asset.sizeBytes||L(a)!==t.asset.contentHash)throw new Error(`Taskset asset ${t.asset.id} differs from its immutable bytes.`);return a}c(ie,"decodeTasksetPackageFile");function Fe(n){if(n.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let t=new Map(n.files.map(o=>[o.asset.id,o])),r=c(o=>{let m=t.get(o);if(!m)throw new Error(`Taskset environment asset is missing: ${o}.`);if(m.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let u=new TextDecoder("utf-8",{fatal:!0}).decode(ie(m));return Xe.parse($({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:m.asset,text:u}))},"read"),a;if(n.modelResources){if(!n.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");a=nt.parse(n.modelResources.execution)}else{let o=r(ln(n.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.");a=nt.parse(JSON.parse(o.text))}let s=[...new Set([a.javascript.module.id,...[a.environment.actionSchemaRef,a.environment.observationSchemaRef,a.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...n.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return or(a,n.taskset,s),{execution:a,assets:s}}c(Fe,"resolveTasksetPackageExecution");function fn(n){let t=Ki(n),r=new TextEncoder().encode(t.text),a="";for(let i of r)a+=String.fromCharCode(i);return{asset:t.asset,base64:btoa(a)}}c(fn,"createTasksetPackageExecutionFile");var be=e.string().trim().min(1).max(240),Ve=e.string().trim().min(1),at=e.string().trim().min(8).max(256),ps=e.string().trim().min(1).max(1e3).refine(n=>!n.startsWith("/")&&!n.startsWith("\\")&&!n.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),it=e.enum(["train","validation","test","frozen_eval"]),Dc=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"])}),Mc=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(Dc).min(1).max(1e4),schemaHash:at}),zc=e.object({id:be,split:it,path:ps,contentHash:at,schemaHash:at,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),hn=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:be,tasksetId:be,tasksetRevision:e.number().int().positive(),contentHash:at,format:e.literal("parquet"),schema:Mc,shards:e.array(zc).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(it,e.number().int().nonnegative()),sourceReceiptRefs:e.array(be).min(1).max(1e5),mappingHash:at,qualityReportHash:at,createdAt:Ve}),Wh=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:be,tasksetId:be,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(it,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:at,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve}),$c=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:be,tasksetRevision:e.number().int().positive(),artifactId:be.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(it,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve,updatedAt:Ve}),Gh=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:be,datasets:e.array($c),generatedAt:Ve}),Jh=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:hn,profileId:be,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:ps,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:Ve.nullable(),createdAt:Ve,updatedAt:Ve}),Kh=e.object({split:it.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([])}),Xh=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:be,tasksetRevision:e.number().int().positive(),artifactHash:at,split:it.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),Bc=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:Ve}),Uc=e.object({id:be,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()}),Yh=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:Bc,storageRoots:e.array(Uc)}),Qh=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)});var Lt=e.string().trim().min(1).max(240),Lc=e.string().trim().min(1),Ft=e.string().trim().min(8).max(256),Fc=e.record(e.string(),e.unknown()).default({}),Vc=e.string().trim().min(7).max(256),Nc=e.enum(["pending","approved","review","blocked"]),mr=e.object({id:Lt,profileId:Lt,title:e.string().trim().min(1).max(500),sourceHash:Ft,occurredAt:Lc,licensingStatus:Nc,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:Fc}),Wc=mr.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:Vc,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(Ft).min(1).max(1e5)}),Gc=mr.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(Ft).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),Jc=mr.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:Lt,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:Ft}),Kc=mr.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:Lt,revision:e.number().int().positive(),contentHash:Ft}).strict(),taskDefinition:e.object({id:Lt,revision:e.number().int().positive(),contentHash:Ft}).strict(),admittedBy:Lt}),ls=e.discriminatedUnion("kind",[Wc,Gc,Jc,Kc]);var us=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:Bn,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();var fs=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:B,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:zn,agentRelease:v,implementationHash:zn,runtimeBindingId:B,capabilityReceiptHash:zn,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:B,source:e.literal("case_id")}).strict()).max(20).default([])}).strict();var T=e.string().trim().min(1).max(240),ka=e.string().trim().min(1),Xc=e.string().trim().min(8).max(256),ya=e.string().trim().regex(/^[a-f0-9]{64}$/),Yc=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),we=e.record(e.string(),e.unknown()).default({}),lr=T.nullable();function gn(n){let t=n.trim().replaceAll("\\","/");return!t||t.startsWith("/")||t==="."||t===".."?!1:!t.split("/").some(r=>!r||r==="."||r==="..")}c(gn,"safeRelativeFilePath");function Qc(n){let t=n.trim();return t.length>0&&t!=="."&&t!==".."&&!t.includes("/")&&!t.includes("\\")&&!t.includes("\0")}c(Qc,"safeFileName");var pr=it,ur=e.enum(["general","benchmark"]),fr=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:T,releaseId:T,releaseHash:ya,managedReleasePath:e.string().trim().min(1).max(1e3).refine(gn,"Benchmark release paths must remain relative."),adaptationSplit:pr,evaluationSplit:pr,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:we}),hr=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:T,releaseHash:ya,publishedAt:ka,metadata:we}),Zc=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:lr,grantedAt:ka.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),ed=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:T,profileId:T,sessionId:T,turnIds:e.array(T).max(1e3).default([]),workspaceId:lr,sourceHash:Xc,clusterKey:T,title:e.string().trim().min(1).max(500),occurredAt:ka,consent:Zc,connectedAppIds:e.array(T).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:we}),bn=e.union([ed,ls,us]),gr=e.object({policyVisibleFields:e.array(T).max(1e3).default([]),privilegedFields:e.array(T).max(1e3).default([]),hiddenGraderRefs:e.array(T).max(100).default([]),connectedAppScopes:e.array(T).max(100).default([])}),td=e.object({id:T,sourceRefId:T,artifactRef:e.string().trim().min(1).max(4e3).refine(gn,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Qc,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:ya,sizeBytes:e.number().int().nonnegative().max(25e7),split:pr,metadata:we}),nd=e.object({path:e.string().trim().min(1).max(1e3).refine(gn,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:T.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:we}),Vt=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:T,clusterKey:T,split:pr,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:lr,sourceRefs:e.array(T).min(1).max(100),assets:e.array(td).max(1e3).optional(),resourceRefs:e.array(T).max(1e3).optional(),requiredOutputs:e.array(nd).max(100).optional(),tags:e.array(T).max(100).default([]),metadata:we}),hs=e.object({id:T,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(gn,"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:we}),Nt=e.object({id:T,taskId:lr,sourceRefs:e.array(T).min(1).max(100),artifactRef:T,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:we}),gs=Nt.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),bs=Nt.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)}),xs=Nt.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),ks=Nt.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),ys=Nt.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:T,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),vs=Nt.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:T,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)})}),gg=e.discriminatedUnion("kind",[gs,bs,xs,ks,ys,vs]),br=e.object({demonstrations:e.array(gs).max(1e5).default([]),preferences:e.array(bs).max(1e5).default([]),corrections:e.array(xs).max(1e5).default([]),feedback:e.array(ks).max(1e5).default([]),rewards:e.array(ys).max(1e5).default([]),labels:e.array(vs).max(1e5).default([])}),xr=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(T).max(200).default([]),actionBindings:e.array(fs).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(hs).max(1e4).optional(),metadata:we}),kr=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([])}),yr=e.object({id:T,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:we}),rd=yr.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),ad=yr.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:_t,calibrationFixtureRefs:e.array(T).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),id=yr.extend({kind:e.literal("human"),form:Ke.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),sd=yr.extend({kind:e.literal("custom_verifier"),runtime:Ya.optional(),module:e.string().trim().min(1).max(1e3).refine(gn,"Custom verifier modules must use a safe relative path."),exportName:Yc,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),xn=e.union([rd,ad,id,sd]),od=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),wt=e.object({id:T,taskId:T,label:od,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:we});var ws=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:jt,fixtureSet:le,calibrationCheck:ee,fixture:li,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:le,graderId:e.string().min(1).max(240).optional()}).strict();function Ss(n){let t=n.taskset.metadata.ordinaryAuthoring??n.taskset.metadata.starterAuthoring;return e.object({graderFixtures:wt.array().max(1e5).default([])}).passthrough().parse(t??{}).graderFixtures}c(Ss,"authoredFixtures");function Rs(n){for(let t of Ss(n)){let r=t.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&cd(n,t)}for(let t of n.files)t.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Ts(n,t.asset)}c(Rs,"assertTasksetCalibrationClosures");function cd(n,t){let r=ws.parse(t.metadata.rewardCalibration),a=Ts(n,r.closureRef);(p(r.sourceReward)!==p(C(a.reward))||p(r.fixtureSet)!==p(a.reward.fixtureSetRef)||r.calibrationCheck.id!==a.check.id||r.calibrationCheck.revision!==a.check.revision||r.calibrationCheck.contentHash!==p(a.check))&&V("calibration_source_changed");let i=r.fixture,s=`calibration-${p([r.sourceReward,i.id])}`;(t.id!==s||t.taskId!==s||n.taskset.tasks.some(g=>g.id===s)||r.fixtureHash!==p(i)||p(t.output)!==p(i.output)||t.infrastructureError!==i.infrastructureError)&&V("calibration_fixture_changed");let o=a.check.results.filter(g=>g.fixture.id===i.id&&g.fixture.contentHash===r.fixtureHash);(o.length!==1||p(o[0])!==r.checkResultHash)&&V("calibration_result_changed");let m=i.expected;(m.status!=="scored"||typeof m.passed!="boolean"||t.expectedPassed!==m.passed||t.label!==(m.passed?"positive":"negative"))&&V("calibration_expectation_unsupported");let u=r.graderId??r.sourceReward.id,d=n.taskset.graders.filter(g=>g.id===u),l=d[0];(d.length!==1||!l)&&V("calibration_grader_not_unique"),t.expectedRewardEligible!==l.rewardEligible&&V("calibration_reward_expectation_changed");let f=ti({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${a.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"},[a.reward]),h=$e(f,[a.reward])[0],b=c(g=>{let{rewardEligible:k,...w}=g;return w.kind==="model_judge"?{...w,temperature:w.temperature??0}:w},"implementation");return p(b(l))!==p(b(h))&&V("calibration_grader_changed"),l.kind==="model_judge"&&dd(n,l,r,a),{kind:"independent_reward_calibration",fixtureId:s,task:dt.parse({id:s,clusterKey:s,split:"validation",input:i.input,expectedOutput:i.expectedOutput,privilegedContextRef:null}),evaluatorContext:i.evaluatorContext,evidence:{output:i.output,artifactRefs:i.artifactRefs,runtimeEventRefs:i.runtimeEventRefs,infrastructureError:i.infrastructureError},grader:h,reward:a.reward,binding:f,expected:m,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}c(cd,"resolveIndependent");function Ts(n,t){(t.visibility!=="host_private"||t.sizeBytes>xi||t.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&V("calibration_closure_not_private");let r=n.files.filter(u=>u.asset.id===t.id);(r.length!==1||p(r[0].asset)!==p(t))&&V("calibration_closure_asset_changed");let a=ie(r[0]),i=new TextDecoder("utf-8",{fatal:!0}).decode(a),s=ki(JSON.parse(i));p(yi(s).asset)!==p(t)&&V("calibration_closure_reference_changed"),n.files.filter(u=>u.asset.contentHash===t.contentHash||u.asset.id===t.id||u.asset.path===t.path).some(u=>u.asset.visibility!=="host_private")&&V("calibration_closure_visible_alias");let m=c(u=>u.id===t.id||u.path===t.path||u.contentHash===t.contentHash,"isAlias");for(let u of n.taskset.tasks)(u.artifactRefs.some(m)||(u.requiredOutputs??[]).some(d=>d.schemaRef&&m(d.schemaRef))||u.privilegedContextRef&&n.files.some(d=>d.asset.id===u.privilegedContextRef&&m(d.asset)))&&V("calibration_closure_task_alias"),(va(u.input,i,t.contentHash)||va(u.policyVisibleContext,i,t.contentHash))&&V("calibration_closure_inline_alias");for(let u of[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef])u&&m(u)&&V("calibration_closure_environment_schema_alias");for(let u of[n.taskset.metadata.environmentResources,n.environment.metadata.resources]){if(u===void 0)continue;let d=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(u);for(let l of d){let f=n.files.find(h=>h.asset.path===l.path);(l.id===t.id||l.path===t.path||f&&m(f.asset))&&V("calibration_closure_environment_resource_alias")}}return s}c(Ts,"readPrivateClosure");function va(n,t,r){return typeof n=="string"?n===t||L(n)===r:!n||typeof n!="object"?!1:L(JSON.stringify(n))===r?!0:Object.values(n).some(a=>va(a,t,r))}c(va,"containsClosure");function V(n){throw new Error(n)}c(V,"fail");function dd(n,t,r,a){let i=t.id,s=n.taskset.metadata.ordinaryAuthoring??n.taskset.metadata.starterAuthoring,o=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(s),m=a.check.fixtureRefs.map(d=>`calibration-${p([r.sourceReward,d.id])}`);p(o.judgeCalibrationFixtures[i]??[])!==p(m)&&V("calibration_judge_membership_changed");let u=Ss(n);for(let d=0;d<m.length;d++){let l=u.filter(w=>w.id===m[d]);l.length!==1&&V("calibration_judge_membership_changed");let f=l[0],h=ws.parse(f.metadata.rewardCalibration),b=h.fixture.expected;(b.status!=="scored"||typeof b.passed!="boolean"||f.expectedPassed!==b.passed||f.expectedRewardEligible!==t.rewardEligible||f.label!==(b.passed?"positive":"negative")||p(f.output)!==p(h.fixture.output)||f.infrastructureError!==h.fixture.infrastructureError)&&V("calibration_judge_membership_changed");let g=a.check.fixtureRefs[d],k=a.check.results.find(w=>w.fixture.id===g.id);(f.taskId!==f.id||h.fixture.id!==g.id||h.fixtureHash!==g.contentHash||p(h.fixture)!==g.contentHash||h.checkResultHash!==p(k)||p(h.sourceReward)!==p(r.sourceReward)||p(h.fixtureSet)!==p(r.fixtureSet)||p(h.calibrationCheck)!==p(r.calibrationCheck)||p(h.closureRef)!==p(r.closureRef)||(h.graderId??h.sourceReward.id)!==i)&&V("calibration_judge_membership_changed")}}c(dd,"assertJudgeFixtureMembership");var md=ua.omit({taskset:!0,executionResources:!0}),Is=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:ue,environment:Ze,verifierSet:et,files:e.array(dr).max(1e4),modelResources:md.optional(),learningResources:xa.optional()}).strict(),Gt=Is.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function kn(n){return n.learningResources?cn(n.taskset).definition.instructions:n.modelResources?n.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(n.taskset.metadata.ordinaryAuthoring??{}).instructions??""}c(kn,"resolveTasksetPackageInstructions");function xe(n){Te(n,rt);let t=Gt.parse(n),{contentHash:r,...a}=t;if(p(a)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:s,verifierSet:o}=t;if(Jn(i),pa(i)&&(t.modelResources||t.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!ut(s)||!ft(o)||!Wt(i.environmentRelease,{id:s.id,contentHash:s.contentHash})||!Wt(i.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!Wt(i.environment,s.contract)||!Wt(i.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let u=new Map;for(let l of t.files){if(u.has(l.asset.id))throw new Error(`Duplicate Taskset asset identity: ${l.asset.id}.`);ie(l),u.set(l.asset.id,l)}function d(l){let f=u.get(l.id);if(!f||!Wt(f.asset,l))throw new Error(`Taskset package asset is missing or mismatched: ${l.id}.`)}c(d,"requireAsset");for(let l of i.tasks){for(let f of l.artifactRefs)d(f);for(let f of l.requiredOutputs??[])f.schemaRef&&d(f.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&&d(l);for(let l of i.graders){let f="verifierRef"in l?l.verifierRef:"rubricRef"in l?l.rubricRef:null;if(f&&(d(f),f.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${f.id}.`)}if(i.metrics?.customAggregator){let l=i.metrics.customAggregator,f=t.files.filter(h=>h.asset.path===l.module);if(f.length!==1||f[0].asset.contentHash!==l.contentHash||f[0].asset.sizeBytes>524288||f[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let l of[i.metadata.environmentResources,s.metadata.resources])if(l!==void 0){for(let f of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(l))if(!t.files.some(h=>h.asset.path===f.path))throw new Error(`Taskset environment resource is missing: ${f.path}.`)}if(t.learningResources){if(t.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let l=ms(i,t.learningResources);for(let f of ds(l))if(!Wt(u.get(f.asset.id),f))throw new Error("Taskset private context differs from its reviewed evidence.");for(let f of l.assets)d(f.asset)}else if(t.modelResources){let l=ha({...t.modelResources,taskset:i,executionResources:{environment:s,verifierSet:o}});for(let f of l.assets)d(f.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(l=>i.metadata[l]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Fe(t),kn(t),Rs(t),t}c(xe,"validateTasksetPackage");function St(n){Te(n,rt);let t=Is.parse(n);return xe({...t,contentHash:p(t)})}c(St,"createTasksetPackage");function Wt(n,t){return p({value:n})===p({value:t})}c(Wt,"same");function Ps(n){let t=xe(n.source),r=xe(n.edited),a=n.preparation;if(a.authoringGraph!=="bound"||!t.modelResources||t.learningResources||r.modelResources||r.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(t.contentHash!==a.sourcePackageHash||!F(C(t.taskset),a.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=c(A=>A.taskset.graders.map(Re=>Re.kind==="custom_verifier"?{...Re,exportName:Re.exportName??"verify"}:Re),"normalizedGraders");if(p(i(t))!==p(i(r)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let s=t.modelResources,o=new Map(s.assets.map(A=>[A.id,A])),m=Fe(r),u=Fe(t),d=c(A=>{let{id:Re,revision:Br,contentHash:Ur,metadata:Lr,...Wo}=A,{javascriptEnvironment:up,...Ua}=Lr;return{...Wo,metadata:{...Ua,resources:Ua.resources??[]}}},"environmentContent"),l=c(A=>{if(!A)return null;let{id:Re,revision:Br,contentHash:Ur,...Lr}=A.execution.javascript;return Lr},"javascriptContent"),f=p(d(t.environment))===p(d(r.environment))&&p(l(u))===p(l(m)),h=f?t.environment:r.environment,b=f?u:m,g=new Set([...s.assets.map(A=>A.id),...r.taskset.tasks.flatMap(A=>A.privilegedContextRef?[A.privilegedContextRef]:[]),...[r.environment.actionSchemaRef,r.environment.observationSchemaRef,r.environment.stateSchemaRef].flatMap(A=>A?[A.id]:[]),...m?.assets.map(A=>A.id)??[]]);for(let A of g){let Re=r.files.find(Ur=>Ur.asset.id===A);if(!Re)throw new Error(`Bound Taskset asset is missing: ${A}.`);let Br=new TextDecoder("utf-8",{fatal:!0}).decode(ie(Re));o.set(A,Xe.parse($({schemaVersion:"openpond.learningTextAsset.v1",id:A,revision:1,asset:Re.asset,text:Br})))}let k=kn(r),{contentHash:w,...H}=s.taskDefinition,{policy:z,environment:y,environmentRelease:Pt,tools:Ge,capabilities:x,verifierSetRelease:R}=r.taskset,P=Pe.parse($({...H,instructions:k,execution:{policy:z,environment:y,environmentRelease:Pt,tools:Ge,capabilities:x,verifierSetRelease:R}})),{contentHash:G,...de}=r.taskset,ct=ue.parse($({...de,tasks:r.taskset.tasks.map(A=>s.instructionMode==="per_task"?A:{...A,policyVisibleContext:{...A.policyVisibleContext,instructions:k}})})),Mn=fa({owner:a.lineage.owner,source:{...s,taskset:t.taskset,executionResources:{environment:t.environment,verifierSet:t.verifierSet}},rewardBinding:s.rewardBinding,rewards:s.rewards,assets:[...o.values()],edits:{taskset:ct,taskDefinition:P,executionResources:{environment:h,verifierSet:r.verifierSet},...b?{execution:b.execution}:{}}}),Lo=la.parse(Mn.taskset.metadata.modelTasksetDerivation);if(Mn.taskset.id!==a.tasksetId||Mn.taskset.revision!==a.tasksetRevision||p({...Lo,schemaVersion:a.lineage.schemaVersion})!==p(a.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:Fo,executionResources:Vo,...No}=Mn;return St({schemaVersion:"openpond.tasksetPackage.v1",taskset:Fo,...Vo,modelResources:No,files:r.files})}c(Ps,"publishBoundModelTasksetDraftPackage");function _s(n){let t=yt.parse(n.preparation);if(!F(t.sourceTasksetRef,t.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(t.authoringGraph==="bound"){if(!n.source)throw new Error("Bound Taskset authoring requires its retained source package.");return Ps({preparation:t,source:n.source,edited:n.edited})}let r=pd(n.edited),{contentHash:a,...i}=r.verifierSet,s=Dt({...i,id:`${t.tasksetId}-verifiers`,revision:t.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:C(r.verifierSet)}}),{contentHash:o,...m}=r.taskset,u=ue.parse($({...m,id:t.tasksetId,revision:t.tasksetRevision,verifierSetRelease:{id:s.id,contentHash:s.contentHash},metadata:{modelTasksetAuthoring:t.lineage,...r.taskset.metadata.environmentResources===void 0?{}:{environmentResources:r.taskset.metadata.environmentResources},...r.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:r.taskset.metadata.ordinaryAuthoring}}})),d=Fe(r),l=d?[...r.files.filter(f=>f.asset.id!==ln(r.taskset)),fn({...d.execution,verifierSet:s})]:r.files;return St({schemaVersion:"openpond.tasksetPackage.v1",taskset:u,environment:r.environment,verifierSet:s,files:l})}c(_s,"publishModelTasksetDraftPackage");function pd(n){let t=xe(n);if(t.modelResources||t.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return t}c(pd,"requireOrdinaryPackage");var Ae=e.string().trim().min(1).max(240),yn=e.string().trim().min(1),vr=e.string().trim().min(8).max(256),js=e.record(e.string(),e.unknown()).default({}),ld=Ae.nullable(),Cs=["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"],ud=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),fd=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),ne=e.string().trim().max(1e5),hd=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:ne,examples:e.array(e.object({id:Ae,prompt:ne,response:ne})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:ne,pairs:e.array(e.object({id:Ae,prompt:ne,chosen:ne,rejected:ne,rationale:ne})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:ne,rules:e.array(e.object({id:Ae,points:e.number().finite(),condition:ne})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:ne,criteria:e.array(e.object({id:Ae,label:e.string().trim().max(500),description:ne})).max(1e3).default([]),positiveExample:ne,negativeExample:ne,boundaryExample:ne})]),kb=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),gd=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(Ae).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),bd=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),xd=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(bd).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Es=e.object({code:Ae,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),kd=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:Ae,tasksetHash:vr,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:gd.nullable().default(null),methodReadiness:e.array(xd).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Es).default([]),advisories:e.array(Es).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:yn}),yd=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:yn}),vd=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:_t.nullable(),modelConfig:js,skillHash:vr,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:fd.default("demonstrations"),buildSpecification:hd.nullable().default(null),evidenceHashes:e.array(vr).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(yd).max(1e3),createdAt:yn}),se=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:Ae,revision:e.number().int().positive().default(1),profileId:Ae,profileRelease:La.nullable().optional(),createImproveRunId:ld.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:ur.default("general"),benchmark:fr.nullable().default(null),preferenceComparison:hr.nullable().default(null),status:ud,sourceRefs:e.array(bn).min(1).max(1e5),datasetArtifact:hn.nullable().optional(),policy:gr,environment:xr,capabilities:kr,metrics:Nn.optional(),tasks:e.array(Vt).max(1e6),graders:e.array(xn).min(1).max(1e3),graderFixtures:e.array(wt).max(1e5),learningSignals:br,authoringProvenance:vd,readiness:kd.nullable(),contentHash:vr,createdAt:yn,updatedAt:yn,metadata:js}).superRefine((n,t)=>{n.purpose==="benchmark"&&!n.benchmark&&t.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),n.purpose!=="benchmark"&&n.benchmark&&t.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),n.datasetArtifact&&n.tasks.length>0&&t.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!n.datasetArtifact&&n.tasks.length===0&&t.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function Hs(n){return n.schemaVersion==="openpond.trainingSource.v1"}c(Hs,"isTrainingSourceRef");var Jt=e.string().trim().min(1).max(240),As=e.string().trim().min(1),wd=e.string().trim().min(8).max(256),Sd=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),Rd=e.record(e.string(),e.unknown()).default({});function Os(n){let t=n.trim().replaceAll("\\","/");return!t||t.startsWith("/")||t==="."||t===".."?!1:!t.split("/").some(r=>!r||r==="."||r==="..")}c(Os,"safeRelativeFilePath");var Td=Vt.extend({sourceRefs:e.array(Jt).max(100).default([])}),Id=e.enum(["draft","validating","needs_review","published"]),Pd=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:Jt,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),_d=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(Os,"Renderer modules must use a safe relative path."),exportName:Sd,configRef:e.string().trim().min(1).max(1e3).refine(Os,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((n,t)=>{n.mode==="structured_json"&&!n.jsonSchema&&t.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),n.mode==="text"&&n.renderer&&t.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),Ne=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:Jt,revision:e.number().int().positive(),profileId:Jt,modelScope:e.object({modelId:Jt,expectedModelRevision:e.number().int().positive(),source:yt.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:ur.default("general"),benchmark:fr.nullable().default(null),preferenceComparison:hr.nullable().default(null),status:Id,sourceRefs:e.array(bn).max(1e5).default([]),datasetArtifact:hn.nullable().optional(),policy:gr,environment:xr,output:_d.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:kr,metrics:Nn,review:Pd,tasks:e.array(Td).max(1e6).default([]),graders:e.array(xn).max(1e3).default([]),graderFixtures:e.array(wt).max(1e5).default([]),learningSignals:br,publishedTasksetRef:e.object({id:Jt,revision:e.number().int().positive(),contentHash:wd}).nullable(),createdAt:As,updatedAt:As,metadata:Rd}).superRefine((n,t)=>{n.purpose==="benchmark"&&!n.benchmark&&t.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),n.purpose!=="benchmark"&&n.benchmark&&t.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),n.datasetArtifact&&n.tasks.length>0&&t.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),n.status==="published"&&!n.publishedTasksetRef&&t.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})});var vn=class extends Error{static{c(this,"TasksetDraftPublishError")}issues;constructor(t){super(t.map(r=>r.message).join(`
|
|
2
|
+
import{a as Fn}from"./chunk-YL6VFJ4P.js";import{a as rr,b as _e,c as Ee,h as ji,i as Yr,k as Qr}from"./chunk-Z3D4C7BG.js";import{B as Si,C as Xr,E as Ri,I as Ze,L as et,O as qt,Q as Dt,R as Ti,U as ut,W as ft,c as $n,d as Bn,e as Un,f as Ln,ja as Ii,k as si,la as Pi,oa as _i,q as oi,r as Ht,ta as nr,wa as Ei,z as Kr}from"./chunk-WV2APYWG.js";import{$ as mt,$a as Pe,Ad as yi,E as Vr,Ea as ii,F as Ja,Ia as Ye,Id as vi,Ja as Ct,Jb as Gr,Kb as pi,Kc as li,Lb as cn,Ma as Qe,Na as Xn,O as Ka,Oa as pt,P as Xa,Q as Gn,Qd as wi,S as Ya,Sc as Jr,T as Nr,U as dt,Ua as Yn,V as Qa,W as ue,X as Jn,Xa as lt,Ya as ee,Z as Za,aa as jt,ad as tr,b as Te,ba as ze,ca as ei,d as Fr,db as At,ea as ti,ed as ui,f as Ga,ga as $e,gb as on,gd as fi,h as Vn,hd as hi,id as Ot,j as Nn,ja as Xe,jb as ci,jd as gi,ka as ni,kd as bi,l as Wn,la as Be,lb as Qn,na as Ie,nb as Zn,oa as sn,pb as di,ra as ri,sa as ai,sb as mi,ua as Wr,vb as C,vd as xi,w as Ke,wb as F,x as Et,xb as $,xd as ki,ya as Kn,yb as er}from"./chunk-PJM2G7SG.js";import{h as Va,i as Na,qa as Wa}from"./chunk-SDEDAHV6.js";import{b as B,c as zn,f as v,g as La,h as le,j as Fa,k as Je,l as L,m as p,n as an,r as _t}from"./chunk-NNF6KCHD.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";var ht=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(),Zr=e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(1e5)}).strict()).max(100).superRefine((n,t)=>{n.reduce((r,a)=>r+a.content.length,0)>1e5&&t.addIssue({code:"custom",message:"Evaluation prompt exceeds 100,000 characters."})});var ea=Yn.extend({mode:e.enum(["nightly","approved_count"]),minimumTasks:e.number().int().min(1).max(1e4),maximumSpendUsd:e.number().positive().max(1e5),maximumDailySpendUsd:e.number().positive().max(1e6)}).strict().superRefine((n,t)=>{n.maximumDailySpendUsd<n.maximumSpendUsd&&t.addIssue({code:"custom",path:["maximumDailySpendUsd"],message:"The daily budget must cover one update."})});var ae=class extends Error{static{c(this,"OpenPondProtocolError")}code;constructor(t,r){super(r),this.name="OpenPondProtocolError",this.code=t}};function M(n){return JSON.stringify(ta(n))}c(M,"canonicalJson");async function fe(n){let t=new TextEncoder().encode(M(n)),r=await globalThis.crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r),a=>a.toString(16).padStart(2,"0")).join("")}c(fe,"canonicalSha256");function ta(n){if(n===null||typeof n=="string"||typeof n=="boolean")return n;if(typeof n=="number"){if(!Number.isFinite(n))throw new ae("non_json_value","Canonical JSON cannot contain a non-finite number.");return Object.is(n,-0)?0:n}if(Array.isArray(n))return n.map(t=>ta(t));if(typeof n=="object"){let t=Object.getPrototypeOf(n);if(t!==Object.prototype&&t!==null)throw new ae("non_json_value","Canonical JSON accepts only plain objects.");let r={};for(let a of Object.keys(n).sort()){let i=n[a];if(i===void 0||typeof i=="function"||typeof i=="symbol")throw new ae("non_json_value",`Canonical JSON cannot contain ${typeof i} at ${a}.`);r[a]=ta(i)}return r}throw new ae("non_json_value",`Canonical JSON cannot contain ${typeof n}.`)}c(ta,"normalizeCanonicalJson");var E=e.string().trim().min(1).max(500),je=e.string().regex(/^[a-f0-9]{64}$/),he=e.string().datetime({offset:!0}),S=e.object({id:E,contentHash:je}).strict(),q=S.extend({revision:e.number().int().positive()}).strict(),tt=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:E,revision:e.string().trim().min(1).max(256).nullable(),tokenizerRevision:e.string().trim().min(1).max(256).nullable(),chatTemplateHash:e.string().trim().min(8).max(256).nullable(),modelAssetId:E.nullable(),source:e.enum(["managed","local","builtin"])}).strict(),Hi=e.enum(["sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),na=e.object({schemaVersion:e.string().regex(/^openpond\.[A-Za-z0-9]+Recipe\.v\d+$/),method:Hi,parameterization:e.enum(["lora","full"])}).catchall(e.unknown()),Xo=e.object({profileProjectId:E,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),harnessRelease:S}).strict(),Yo=e.object({profileProjectId:E,sourceRevision:e.string().regex(/^[a-f0-9]{40,64}$/),catalogHash:je,definitionId:E,harnessRelease:S,tasksetRelease:S}).strict(),Ai=e.object({tasksetRef:q.nullable().default(null),evaluationTasksetRef:q.nullable().optional(),profileSource:Xo.nullable().optional(),profileEvaluation:Yo.nullable().optional(),rewardBindingRef:q.nullable().optional(),tasksetRelease:S.nullable().default(null),harnessRelease:S.nullable().default(null),baseModel:tt.nullable().default(null),method:Hi.nullable().default(null),destinationId:E.nullable().default(null),managedRolloutPlacement:e.enum(["local","remote"]).default("remote"),managedGpuPlacementObjective:e.enum(["fast","balanced","economical"]).default("balanced"),managedGpuRequirement:e.enum(["any","h100_hbm3"]).default("any"),runPreset:e.enum(["small","standard","custom","small_experiment"]).nullable().default(null),recipe:na.nullable().default(null),preferredMaximumSpendUsd:e.number().nonnegative().nullable().default(null),preferredRetentionDays:e.number().int().nonnegative().nullable().default(null)}).strict(),ar=Ai.omit({managedGpuRequirement:!0}),Qo=e.object({schemaVersion:e.literal("openpond.hostedModelProjectLink.v1"),apiOrigin:e.string().url().refine(n=>new URL(n).origin===n,"Use a canonical API origin.").nullable().default(null),teamId:E,projectId:E,portableProjectId:E,revision:e.number().int().positive(),etag:je,syncedSourceRevision:e.number().int().positive(),syncedAt:he,tasksets:e.array(e.object({localTasksetId:E,localTasksetHash:je.nullable().default(null),releaseId:E,releaseRevision:e.number().int().positive(),releaseHash:je,packageHash:je.nullable().default(null),hostedTasksetId:E,syncedAt:he}).strict()).max(1e4).default([])}).strict(),Zo=e.object({localTasksetId:E,releaseId:E,releaseRevision:e.number().int().positive(),releaseHash:je,state:e.enum(["syncing","synced","sync_failed"]),hostedTasksetId:E.nullable().default(null),lastAttemptAt:he,syncedAt:he.nullable().default(null),lastError:e.string().trim().min(1).max(5e3).nullable().default(null)}).strict(),ec=e.object({schemaVersion:e.literal("openpond.modelProject.v2"),id:E,profileId:E,revision:e.number().int().positive().default(1),name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:tt.nullable(),defaultDestinationId:E.nullable(),trainingSetup:Ai,hosted:Qo.nullable().default(null),tasksetSyncs:e.array(Zo).max(1e4).default([]),createdAt:he,updatedAt:he}).strict(),tc=ec.pick({id:!0,profileId:!0,name:!0,objective:!0,defaultBaseModel:!0,defaultDestinationId:!0,trainingSetup:!0}),Rp=e.object({schemaVersion:e.literal("openpond.modelProjectSave.v1"),operationId:E,expectedRevision:e.number().int().nonnegative(),project:tc,learning:ea.optional()}).strict().superRefine((n,t)=>{n.learning&&n.expectedRevision!==0&&t.addIssue({code:"custom",path:["learning"],message:"Use learning settings to edit an existing Model's policy."})}),Tp=e.object({schemaVersion:e.literal("openpond.modelProjectConfigurationCheck.v1"),configurationHash:je,projectId:E,expectedRevision:e.number().int().nonnegative(),checkedAt:he,canSave:e.boolean(),deferred:e.array(e.enum(["base_model","taskset"])).max(2),findings:e.array(e.object({code:E,severity:e.enum(["error","warning"]),message:e.string().min(1).max(5e3),field:e.string().min(1).max(500).nullable()}).strict()).max(100)}).strict(),Ip=e.object({id:E,name:e.string().min(1).max(500),available:e.boolean(),preference:tt}).strict();var Oi=e.object({schemaVersion:e.literal("openpond.hostedModelProjectSync.v2"),portableProjectId:E,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:tt.nullable(),defaultDestinationId:E.nullable(),trainingSetup:ar,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,expectedEtag:je.nullable().default(null)}).strict(),Mt=e.object({id:E,teamId:E,portableProjectId:E,name:e.string().trim().min(1).max(200),objective:e.string().trim().max(5e3).nullable(),defaultBaseModel:tt.nullable(),defaultDestinationId:E.nullable(),trainingSetup:ar,sourceRevision:e.number().int().positive(),sourceUpdatedAt:he,revision:e.number().int().positive(),etag:je,createdAt:he,updatedAt:he}).strict(),nc=e.object({kind:e.enum(["taskset_release","harness_release","dataset_release","evidence_set","model_version","reward_model_version","evaluation_receipt"]),ref:S,role:e.string().trim().min(1).max(200).nullable().default(null),updatedAt:he}).strict(),Pp=e.object({project:Mt,resources:e.array(nc).max(1e4),jobCount:e.number().int().nonnegative(),latestJobIds:e.array(E).max(100)}).strict(),_p=e.object({schemaVersion:e.literal("openpond.modelProjectApiError.v2"),code:e.string().trim().min(1).max(200),message:e.string().trim().min(1).max(5e3),retryable:e.boolean().default(!1),requestId:e.string().trim().min(1).max(500).nullable().default(null),details:e.record(e.string(),e.unknown()).default({})}).strict();var zt=e.string().regex(/^[a-f0-9]{64}$/),ra=e.object({providerId:e.literal("claude-code"),configurationHash:zt,executableHash:zt,version:e.string().regex(/^2\.\d+\.\d+$/),capabilityHash:zt,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(),Op=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((n,t)=>{n.action==="message"&&!n.text?.trim()&&t.addIssue({code:"custom",message:"A human intervention requires a message."}),n.action==="seal"&&n.text!==void 0&&t.addIssue({code:"custom",message:"Sealing does not add a prompt."})}),qp=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:ra,sourceHash:zt,outputHash:zt,traceHash:zt,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((n,t)=>{(n.runtimeEventRefs.length!==n.eventCount||new Set(n.runtimeEventRefs).size!==n.eventCount)&&t.addIssue({code:"custom",message:"Process event references must match the exact retained trace population."})});var qi=e.object({schemaVersion:e.literal("openpond.experimentAttemptGrade.v1"),selectionHash:e.string().regex(/^[a-f0-9]{64}$/),grades:e.array(Vn).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:Fa.nullable(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((n,t)=>{let{contentHash:r,...a}=n;p(a)!==r&&t.addIssue({code:"custom",message:"Experiment grading integrity failed."});let i=n.grades.flatMap(s=>s.components);(i.length!==n.grades.length||new Set(i.map(s=>s.graderId)).size!==i.length)&&t.addIssue({code:"custom",message:"Each selected criterion requires exactly one distinct grader result."});for(let s of n.grades){let{contentHash:o,...m}=s;p(m)!==o&&t.addIssue({code:"custom",message:"A retained criterion changed."});for(let u of s.components){let{contentHash:d,...l}=u;p(l)!==d&&t.addIssue({code:"custom",message:"A retained grader result changed."})}}});var D=e.string().trim().min(1).max(200),gt=e.string().regex(/^[a-f0-9]{64}$/),aa=e.discriminatedUnion("kind",[e.object({kind:e.literal("hosted_chat"),modelId:D,localRuntime:e.union([e.object({providerId:e.literal("custom-openai-compatible"),configurationHash:gt,maximumRequestCostUsd:e.number().finite().positive().max(1e4),requestTimeoutMs:e.number().int().min(1e3).max(3e5)}).strict(),ra]).optional(),candidate:e.object({artifactId:D,contentHash:gt,preparationId:D,dispatchId:D,baseProfileId:D,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),harness:Kn.optional(),messages:Zr.optional(),maxOutputTokens:e.number().int().min(1).max(1e6).default(1e5),temperature:e.number().min(0).max(2).default(0),topP:e.number().gt(0).max(1).default(1)}).strict(),e.object({kind:e.literal("fixture"),fixtureId:D}).strict()]),rc=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptRequest.v1"),operationId:D,teamId:D,modelProjectId:D.nullable(),project:ht.optional(),taskset:q,taskId:D,environmentSeed:e.number().int().min(0).max(2147483647).default(0),policy:aa}).strict(),Qp=e.object({modelProjectId:D.nullable(),taskset:q,afterTaskId:D.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),Zp=e.object({modelProjectId:D.nullable(),taskset:q,available:e.boolean(),unavailableReason:e.string().max(1e3).nullable(),models:e.array(e.object({id:D,name:e.string().max(500),maximumOutputTokens:e.number().int().min(1).max(1e6).optional()}).strict()).max(200),tasks:e.array(e.object({id:D,split:Gn,inputPreview:e.string().max(500),fixtures:e.array(e.object({id:D,label:e.string().max(200)}).strict()).max(1e3)}).strict()).max(100),nextCursor:D.nullable()}).strict(),ir=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptSummary.v1"),id:D,revision:e.number().int().positive(),request:rc,status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]),policySnapshot:e.object({modelId:D,provider:D,upstreamModelId:e.string().min(1).max(500),configurationHash:gt}).strict().nullable(),createdAt:e.iso.datetime(),startedAt:e.iso.datetime().nullable(),completedAt:e.iso.datetime().nullable(),cleanupComplete:e.boolean(),resultAvailable:e.boolean(),score:e.number().min(0).max(1).nullable(),gradingStatus:e.enum(["not_started","pending","scored","unscorable","not_configured"]).default("not_started"),passed:e.boolean().nullable(),outputPreview:e.string().max(500).nullable(),error:e.object({code:D,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((n,t)=>{n.request.policy.kind==="fixture"!=(n.policySnapshot===null)&&t.addIssue({code:"custom",path:["policySnapshot"],message:"Fixture execution must not claim a model identity."}),n.status==="completed"&&(!n.cleanupComplete||!n.resultAvailable||!n.completedAt)&&t.addIssue({code:"custom",message:"Completed attempts require retained results and confirmed cleanup."})}),el=e.object({modelProjectId:D,afterId:D.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),tl=e.object({items:e.array(ir).max(100),nextCursor:D.nullable()}).strict(),nl=e.object({schemaVersion:e.literal("openpond.modelStarterAttemptResult.v1"),attempt:ir,output:e.string().max(1048576).nullable(),messages:e.array(e.record(e.string(),e.unknown())).max(4002),composition:ei.nullable(),grade:Vn.nullable().optional(),experimentGrade:qi.nullable().optional(),environment:e.object({status:e.enum(["completed","budget_exhausted","cancelled","timed_out","policy_failure","environment_failure"]),collected:e.boolean(),definition:q,initialStateHash:gt.nullable(),finalStateHash:gt.nullable(),attemptHash:gt}).strict(),native:ii.optional(),providerRequestIds:e.array(D).max(1001),contentHash:gt}).strict().superRefine((n,t)=>{let r=n.attempt.request.policy.kind==="hosted_chat"?n.attempt.request.policy.harness:void 0;!!r!=!!n.native&&t.addIssue({code:"custom",path:["native"],message:"Standalone Harness results require their exact native evidence."}),n.native&&(!r||p(r)!==p(n.native.source)||n.native.modelConfigurationHash!==n.attempt.policySnapshot?.configurationHash||n.environment.initialStateHash!==null||n.environment.finalStateHash!==null||n.environment.status==="completed"&&(!n.environment.collected||n.output===null||n.native.partialOutputAvailable||n.native.outputHash!==p(n.output)))&&t.addIssue({code:"custom",path:["native"],message:"Native evidence differs from the admitted source, model or output."}),n.experimentGrade&&((n.grade||n.composition)&&t.addIssue({code:"custom",message:"Selected Experiment grading cannot claim another grade population."}),(!["completed","failed"].includes(n.attempt.status)||!n.attempt.resultAvailable||n.attempt.score!==n.experimentGrade.score||n.attempt.gradingStatus!==n.experimentGrade.gradingStatus||n.attempt.passed!==(n.experimentGrade.score===null?null:n.experimentGrade.passed))&&t.addIssue({code:"custom",message:"Experiment grading differs from its retained attempt summary."})),n.grade&&(n.composition&&t.addIssue({code:"custom",path:["grade"],message:"An ordinary grade cannot also claim a Reward composition."}),(!["completed","failed"].includes(n.attempt.status)||!n.attempt.resultAvailable||n.attempt.score!==n.grade.score||n.attempt.gradingStatus!==n.grade.gradingStatus||n.attempt.passed!==(n.grade.score===null?null:n.grade.passed))&&t.addIssue({code:"custom",path:["grade"],message:"Ordinary grade differs from its terminal attempt summary."}))});var $t=e.string().trim().min(1).max(240),ia=e.string().regex(/^[a-f0-9]{64}$/),mn=e.object({kind:e.literal("hosted_harness"),modelId:$t,candidate:e.object({artifactId:$t,contentHash:ia,preparationId:$t,dispatchId:$t,baseProfileId:$t,workerImageDigest:e.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),sourceCandidate:Wr.shape.sourceCandidate,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),profileRepositoryId:$t,source:Wr,modelConfigurationHash:ia,packageHash:ia,externalDatasetBinding:Ie.optional()}).strict().superRefine((n,t)=>{JSON.stringify(n.externalDatasetBinding??null)!==JSON.stringify(n.source.externalDatasetBinding??null)&&t.addIssue({code:"custom",message:"The policy and source must bind the same external Dataset recipe."}),JSON.stringify(n.sourceCandidate??null)!==JSON.stringify(n.source.sourceCandidate??null)&&t.addIssue({code:"custom",message:"The policy and prepared source must bind the same actual source candidate."})});var ke=e.string().trim().min(1).max(200),Di=e.string().regex(/^[a-f0-9]{64}$/),ac=e.discriminatedUnion("kind",[aa.options[0],e.object({kind:e.literal("fixture")}).strict(),mn]),Ue=e.object({schemaVersion:e.literal("openpond.modelTasksetRunRequest.v1"),operationId:ke,teamId:ke,modelProjectId:ke.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ht.optional(),taskset:q,policy:ac,population:e.array(oi).min(1).max(1e4)}).strict().superRefine((n,t)=>{new Set(n.population.map(r=>r.receiptId)).size!==n.population.length&&t.addIssue({code:"custom",path:["population"],message:"Run receipt identities must be unique."}),n.population.some(r=>r.fixtureId!==null!=(n.policy.kind==="fixture"))&&t.addIssue({code:"custom",path:["population"],message:"Only fixture runs require a fixture identity for every member."}),n.population.some(r=>!/^(0|[1-9][0-9]*)$/.test(r.seed)||Number(r.seed)>2147483647)&&t.addIssue({code:"custom",path:["population"],message:"Hosted environment seeds must be integers from 0 to 2147483647."}),n.policy.kind==="hosted_harness"&&n.modelProjectId!==null&&t.addIssue({code:"custom",path:["modelProjectId"],message:"A Harness target retains its released Profile binding separately from Model artifacts."}),n.policy.kind==="hosted_harness"&&new Set(n.population.map(r=>M([r.taskId,r.seed]))).size!==n.population.length&&t.addIssue({code:"custom",path:["population"],message:"Harness case identities must be unique for each task and seed."})}),Mi=e.object({schemaVersion:e.literal("openpond.modelTasksetRunSummary.v1"),id:ke,revision:e.number().int().positive(),teamId:ke,modelProjectId:ke.nullable(),name:e.string().trim().min(1).max(200).optional(),project:ht.optional(),operationId:ke,taskset:q,policyKind:e.enum(["hosted_chat","fixture","hosted_harness"]),manifestHash:Di,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:ke,message:e.string().max(2e3)}).strict().nullable()}).strict().superRefine((n,t)=>{Object.values(n.counts).reduce((r,a)=>r+a,0)!==n.totalCount&&t.addIssue({code:"custom",path:["counts"],message:"Run counts must account for the complete population."}),n.status!=="completed"&&n.score!==null&&t.addIssue({code:"custom",path:["score"],message:"Only completed evaluations publish a metric value."}),["completed","failed","cancelled"].includes(n.status)&&(!n.completedAt||n.counts.pending||n.counts.running)&&t.addIssue({code:"custom",message:"Terminal runs require complete population accounting."}),n.status==="cancelled"&&!n.cleanupComplete&&t.addIssue({code:"custom",message:"Cancelled runs require confirmed cleanup."}),n.resultAvailable&&!["completed","failed","cancelled"].includes(n.status)&&t.addIssue({code:"custom",message:"Run results require terminal population accounting."}),n.status==="completed"&&(!n.cleanupComplete||!n.resultAvailable)&&t.addIssue({code:"custom",message:"Completed evaluations require retained results and confirmed cleanup."})}),sr=e.object({summary:Mi,request:Ue,manifest:Ht,policySnapshot:ir.shape.policySnapshot}).strict(),yl=e.object({modelProjectId:ke.optional(),projectId:ht.shape.id.optional(),afterId:ke.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),vl=e.object({items:e.array(Mi).max(100),nextCursor:ke.nullable()}).strict(),wl=e.object({schemaVersion:e.literal("openpond.modelTasksetRunResult.v1"),run:sr,receipts:e.array(si).min(1).max(1e4),metric:Wn.nullable(),contentHash:Di}).strict();function sa(n,t){an(t,"Taskset run manifest");let r=n.policy;if(r.kind!=="hosted_harness"||t.execution.kind!=="harness"||M(t.profileEvaluation)!==M(r.source)||M(t.execution.harnessRelease)!==M(r.source.harnessRelease)||t.metadata.profileRepositoryId!==r.profileRepositoryId||t.packageHash!==r.packageHash||t.policy.kind!=="model"||t.policy.model.provider!=="openpond"||t.policy.model.model!==r.modelId||t.policy.model.revision!==null||t.policy.model.artifactHash!==(r.candidate?.contentHash??null)||t.policy.model.tokenizerRevision!==null||t.policy.model.chatTemplateHash!==null||t.policy.configurationHash!==r.modelConfigurationHash||t.tasksetRelease.id!==n.taskset.id||t.tasksetRelease.contentHash!==n.taskset.contentHash||M(t.population)!==M(n.population)||t.population.some(a=>a.receiptId!==`evaluation-${p([t.id,a.taskId,a.seed]).slice(0,32)}`))throw new Error("Harness evaluation differs from its admitted source, package or model configuration.")}c(sa,"verifyHarnessExperimentManifest");async function zi(n){let t=sr.parse(n),{summary:r,request:a,manifest:i,policySnapshot:s}=t;if(an(i,"Taskset run manifest"),i.contentHash!==r.manifestHash||i.id!==r.id||i.createdAt!==r.createdAt||r.teamId!==a.teamId||r.modelProjectId!==a.modelProjectId||M(r.project??null)!==M(a.project??null)||M(i.metadata.project??null)!==M(a.project??null)||(r.name??null)!==(a.name??null)||r.operationId!==a.operationId||r.policyKind!==a.policy.kind||r.totalCount!==a.population.length||r.metricName!==i.metricPolicy.primaryMetric||M(r.taskset)!==M(a.taskset)||i.tasksetRelease.id!==a.taskset.id||i.tasksetRelease.contentHash!==a.taskset.contentHash||M(i.population)!==M(a.population))throw new Error("Evaluation run differs from its admitted request or manifest.");if(a.policy.kind==="fixture"){if(i.policy.kind!=="fixture"||s!==null)throw new Error("Fixture checks cannot claim a model identity.")}else if(a.policy.kind==="hosted_harness"){if(sa(a,i),s!==null)throw new Error("Harness evaluations retain the native host model configuration.")}else if(i.policy.kind!=="model"||!s||s.modelId!==a.policy.modelId||i.policy.model.provider!==s.provider||i.policy.model.model!==s.upstreamModelId||i.policy.model.revision!==null||i.policy.model.artifactHash!==(a.policy.candidate?.contentHash??null)||i.policy.model.tokenizerRevision!==null||i.policy.model.chatTemplateHash!==null||i.policy.configurationHash!==await fe({policy:a.policy,snapshot:s}))throw new Error("Evaluation model differs from its admitted policy.");return t}c(zi,"verifyModelTasksetRunDetails");var Ui=e.string().min(1).max(200).refine(n=>!["__proto__","prototype","constructor"].includes(n),"Use an ordinary field name."),ic=e.array(Ui).min(1).max(20),$i=e.enum(["input","output","expectedOutput","evaluatorContext"]),sc=e.object({destination:$i,path:ic,source:$i,sourcePath:e.array(Ui).max(20)}).strict(),Bt=e.array(sc).max(100).superRefine((n,t)=>{for(let[r,a]of n.entries())n.slice(0,r).some(i=>i.destination===a.destination&&(Bi(i.path,a.path)||Bi(a.path,i.path)))&&t.addIssue({code:"custom",path:[r,"path"],message:"Mapped destination paths must not overlap."})});function Bi(n,t){return n.length<=t.length&&n.every((r,a)=>r===t[a])}c(Bi,"prefix");var te=e.string().trim().min(1).max(200),bt=e.string().regex(/^[a-f0-9]{64}$/),oa=e.object({id:te,revision:e.number().int().positive(),contentHash:bt}).strict(),xt=e.object({id:te,version:e.string().min(1).max(200),contentHash:bt,name:e.string().trim().min(1).max(500).optional(),feedbackKey:Za,release:oa.nullable(),mappings:Bt.optional()}).strict(),ca=e.object({id:te,version:e.string().min(1).max(200),contentHash:bt,mappings:Bt}).strict(),Ml=e.object({operationId:te,id:te.optional(),expectedRevision:e.number().int().nonnegative(),request:Ue,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(ca).min(1).max(100).optional()}).strict().superRefine((n,t)=>{n.request.name||t.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before saving it."}),!!n.id!=n.expectedRevision>0&&t.addIssue({code:"custom",path:["expectedRevision"],message:"An update requires its saved definition revision."}),Math.round(n.maximumCostUsd*1e6)<1&&t.addIssue({code:"custom",path:["maximumCostUsd"],message:"The budget must be at least $0.000001."}),n.graders&&new Set(n.graders.map(r=>r.id)).size!==n.graders.length&&t.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})}),oc=e.object({schemaVersion:e.literal("openpond.experimentDefinition.v1"),id:te,teamId:te,revision:e.number().int().positive(),request:Ue,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(xt).min(1).max(100),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),zl=oc.extend({contentHash:bt}),$l=e.object({operationId:te,definition:oa}).strict(),Li=e.object({projectId:te.optional(),datasetHash:bt.optional(),search:e.string().trim().max(200).optional(),status:e.enum(["queued","running","cancelling","completed","failed","cancelled"]).optional(),afterId:te.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),Fi=e.object({definition:oa.nullable(),configurationHash:bt.optional(),admissionRequestHash:bt.optional(),sourceExperimentId:te.optional(),maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(xt).min(1).max(100)}).strict().superRefine((n,t)=>{n.definition===null&&(!n.configurationHash||!n.admissionRequestHash)&&t.addIssue({code:"custom",path:["configurationHash"],message:"A flat Experiment requires its sealed configuration hash."})}),Vi=e.object({operationId:te,profileRepositoryId:te,definitionId:te,modelId:te,reasoningEffort:e.enum(["off","low","medium","high","xhigh","max"]).optional(),maximumCostUsd:e.number().finite().positive().max(1e4),externalDatasetBinding:Ie.optional(),sourceCandidate:mn.shape.sourceCandidate}).strict(),Ni=e.object({request:Ue,manifest:Ht,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(xt).min(1).max(100)}).strict();var Wi=e.string().trim().min(1).max(200),Ce=e.object({operationId:Wi,request:Ue,maximumCostUsd:e.number().finite().positive().max(1e4),graders:e.array(ca).min(1).max(100).optional(),sourceExperimentId:Wi.optional()}).strict().superRefine((n,t)=>{n.request.name||t.addIssue({code:"custom",path:["request","name"],message:"Name this Experiment before starting it."}),n.operationId!==n.request.operationId&&t.addIssue({code:"custom",path:["request","operationId"],message:"Use one operation identity for this Experiment."}),Math.round(n.maximumCostUsd*1e6)<1&&t.addIssue({code:"custom",path:["maximumCostUsd"],message:"The spending cap must be at least $0.000001."}),n.graders&&new Set(n.graders.map(r=>r.id)).size!==n.graders.length&&t.addIssue({code:"custom",path:["graders"],message:"Select each grader once."})});var kt=ee.shape.id,pn=e.string().regex(/^[a-f0-9]{64}$/),Gi=e.object({scopeId:kt,modelId:kt}).strict(),da=e.object({schemaVersion:e.literal("openpond.modelTasksetAuthoring.v1"),owner:Gi,root:ee,parent:ee}).strict(),cc=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftRequest.v1"),operationId:kt,modelId:kt,expectedModelRevision:e.number().int().positive(),sourcePackageHash:pn}).strict(),yt=e.object({schemaVersion:e.literal("openpond.modelTasksetDraftPreparation.v1"),draftId:kt,requestHash:pn,sourcePackageHash:pn,sourceTasksetRef:ee,tasksetId:kt,tasksetRevision:e.number().int().positive(),lineage:da,authoringGraph:e.literal("bound").optional()}).strict(),ye=e.string().min(1).max(1024).refine(n=>!n.includes("\\")&&!n.includes(":")&&!n.includes("\0")&&!n.startsWith("/")&&!n.split("/").some(t=>!t||t==="."||t===".."||t.startsWith(".env")),"Use a relative Taskset file path without environment files."),dc=e.object({path:ye,sizeBytes:e.number().int().nonnegative(),writable:e.boolean()}).strict(),ma=e.object({encoding:e.enum(["utf8","base64"]),data:e.string().max(8e6)}).strict(),Jl=dc.extend({contentHash:pn,content:ma}).strict(),mc=e.object({draftId:kt,expectedDraftRevision:e.number().int().positive(),path:ye,expectedFileHash:pn.nullable(),content:ma.nullable()}).strict();function Ji(n){return`model-authored-taskset-${p({owner:n.owner,root:n.root})}`}c(Ji,"modelAuthoredTasksetId");function pa(n){if(n.metadata.modelTasksetAuthoring===void 0)return null;let t=da.parse(n.metadata.modelTasksetAuthoring);if(n.id!==Ji(t)||(n.revision===1?!F(t.parent,t.root):t.parent.id!==n.id||t.parent.revision!==n.revision-1))throw new Error("Authored Taskset revision differs from its ownership lineage.");return t}c(pa,"assertModelTasksetAuthoring");var cu=e.string().regex(/^[a-f0-9]{64}$/);var nt=e.object({environment:Ze,verifierSet:et,javascript:nr}).strict(),du=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 ln(n){if(!n.environmentRelease||!n.verifierSetRelease)throw new Error("Starter execution release references are missing.");return`starter-execution-${$({environment:n.environmentRelease,verifiers:n.verifierSetRelease}).contentHash}`}c(ln,"modelStarterExecutionAssetId");function Ki(n){let t=nt.parse(n);Xi(t);let r=ln({environmentRelease:{id:t.environment.id,contentHash:t.environment.contentHash},verifierSetRelease:{id:t.verifierSet.id,contentHash:t.verifierSet.contentHash}}),a=ni({text:M(t),path:"environment/execution.json",mediaType:"application/json",visibility:"host_private"}),{contentHash:i,...s}=a;return $({...s,id:r,asset:{...s.asset,id:r}})}c(Ki,"createModelStarterExecutionAsset");function vt(n,t){return $({value:n}).contentHash===$({value:t}).contentHash}c(vt,"equal");function Xi(n){Ei(n.javascript);for(let t of[n.environment,n.verifierSet]){let{contentHash:r,...a}=t;if($(a).contentHash!==r)throw new Error(`Starter execution resource integrity failed: ${t.id}.`)}if(!vt(n.environment.metadata.javascriptEnvironment,C(n.javascript)))throw new Error("Starter execution resources differ from its declared task context.")}c(Xi,"assertExecutionIntegrity");function or(n,t,r){if(!n){if(t.environment.entrypoint==="openpond.javascript-environment.v1")throw new Error("Starter JavaScript execution resources are missing.");return}let{environment:a,verifierSet:i,javascript:s}=n;if(Xi(n),!vt(t.environmentRelease,{id:a.id,contentHash:a.contentHash})||!vt(t.verifierSetRelease,{id:i.id,contentHash:i.contentHash})||!vt(a.contract,t.environment)||!vt(i.graders,t.graders)||!vt(t.tools,s.tools)||!vt(a.metadata.javascriptEnvironment,C(s)))throw new Error("Starter execution resources differ from its declared task context.");let o=a.contract;if(o.entrypoint!=="openpond.javascript-environment.v1"||o.kind!=="agent"||!o.stateful||!o.deterministicSeeds||o.networkPolicy!=="none"||new Set(o.lifecycle).size!==5||t.capabilities.length||t.policy.connectedAppScopes.length)throw new Error("Starter JavaScript environment declares unsupported host capabilities.");for(let m of[s.module,a.actionSchemaRef,a.observationSchemaRef,a.stateSchemaRef]){if(!m)continue;let u=r.find(d=>d.id===m.id);if(!u)throw new Error(`Starter environment asset is missing: ${m.id}.`);Be(u,m)}for(let m of t.tasks){let u=r.find(l=>l.id===m.privilegedContextRef);if(!u||u.asset.visibility!=="host_private"||u.asset.mediaType!=="application/json")throw new Error(`Starter private initial state is missing: ${m.id}.`);let d=JSON.parse(Be(u,u.asset));if(!d||typeof d!="object"||Array.isArray(d))throw new Error(`Starter initial state must be a JSON object: ${m.id}.`);Te(d,s.maxStateBytes)}}c(or,"validateModelStarterExecution");var Yi=e.object({environment:Ze,verifierSet:et}).strict();var Zi=e.object({scopeId:e.string().trim().min(1).max(500),modelId:e.string().trim().min(1).max(500)}).strict(),la=e.object({schemaVersion:e.literal("openpond.modelTasksetDerivation.v1"),owner:Zi,root:q,parent:q}).strict(),ua=e.object({taskset:ue,taskDefinition:Pe,rewardBinding:ze,rewards:e.array(mt).min(1).max(100),assets:e.array(Xe).max(1e3),executionResources:Yi.optional(),execution:nt.optional(),instructionMode:e.literal("per_task").optional()}).strict(),Le=c((n,t)=>$({value:n}).contentHash===$({value:t}).contentHash,"same"),Qi=c((n,t)=>`model-taskset-${$({owner:n,root:t}).contentHash}`,"identity");function fa(n){let t=Zi.parse(n.owner),r=n.source,a=n.edits??r,i=r.taskset.metadata.modelTasksetDerivation===void 0?null:la.parse(r.taskset.metadata.modelTasksetDerivation);if(i&&r.taskset.id!==Qi(i.owner,i.root))throw new Error("Derived Taskset identity differs from its ownership lineage.");let s=i&&Le(i.owner,t),o=s?i.root:C(r.taskset),m=s?r.taskset.id:Qi(t,o),u=s?r.taskset.revision+1:1,d=ze.parse(n.rewardBinding),l=n.rewards.map(ct=>mt.parse(ct)),f=$e(d,l);if(d.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");let h={...a.taskset.policy,hiddenGraderRefs:f.filter(ct=>ct.privileged).map(ct=>ct.id)},b=a.executionResources??a.execution,g=b?.environment??qt({schemaVersion:"openpond.environmentRelease.v1",id:`${m}-environment`,revision:1,contract:a.taskset.environment,actionSchemaRef:null,observationSchemaRef:null,stateSchemaRef:null,artifactCollection:{maxArtifacts:1e5,maxTotalBytes:25e7},adapterConformanceHashes:{},metadata:{}}),k=Dt({schemaVersion:"openpond.verifierSetRelease.v1",id:`${m}-verifiers`,revision:u,graders:f,isolation:b?.verifierSet.isolation??{processBoundary:"isolated_process",networkPolicy:"none",defaultTimeoutMs:Math.min(a.taskset.environment.defaultTimeoutMs,3e5)},calibrationReceiptRefs:[],metadata:b?{sourceVerifierSet:C(b.verifierSet)}:{}}),w={environment:g,verifierSet:k},H=a.execution?{...a.execution,verifierSet:k}:void 0,{contentHash:z,...y}=a.taskset,{contentHash:Pt,...Ge}=a.taskDefinition,x={...Ge.execution,policy:h,environmentRelease:{id:g.id,contentHash:g.contentHash},verifierSetRelease:{id:k.id,contentHash:k.contentHash}},R=Pe.parse($({...Ge,id:`${m}-definition`,revision:u,rewardBinding:C(d),execution:x})),P=r.taskset.metadata.starterAuthoring??r.taskset.metadata.ordinaryAuthoring,G=P&&typeof P=="object"&&!Array.isArray(P)&&"graderFixtures"in P?P.graderFixtures:void 0,de=ue.parse($({...y,...x,id:m,revision:u,graders:f,metadata:{starter:{taskDefinition:C(R),rewardBinding:C(d)},rewardExecution:{binding:d,rewards:l},...G===void 0?{}:{starterAuthoring:{graderFixtures:G}},...a.taskset.metadata.environmentResources===void 0?{}:{environmentResources:a.taskset.metadata.environmentResources},modelTasksetDerivation:{schemaVersion:"openpond.modelTasksetDerivation.v1",owner:t,root:o,parent:C(r.taskset)}}}));return ha({taskset:de,taskDefinition:R,rewardBinding:d,rewards:l,assets:n.assets,executionResources:w,...H?{execution:H}:{},...r.instructionMode?{instructionMode:r.instructionMode}:{}})}c(fa,"compileModelTasksetReward");function ha(n){let t=ua.parse(n),{taskset:r,taskDefinition:a,rewardBinding:i,rewards:s,assets:o,execution:m}=t;for(let k of[r,a,i,...s,...o])er(k);if(Jn(r),i.recipeRef)throw new Error("Resolve the Reward recipe into one standalone binding before deriving a Taskset.");if(!F(a.rewardBinding,C(i)))throw new Error("Taskset definition differs from its Reward binding.");let{policy:u,environment:d,environmentRelease:l,tools:f,capabilities:h,verifierSetRelease:b}=r;if(!Le(a.execution,{policy:u,environment:d,...l?{environmentRelease:l}:{},tools:f,capabilities:h,...b?{verifierSetRelease:b}:{}}))throw new Error("Taskset definition differs from its execution resources.");if(!Le(r.graders,$e(i,s)))throw new Error("Taskset graders differ from its Reward binding.");if(r.metadata.starter!==void 0){let k=e.object({taskDefinition:q,rewardBinding:q}).passthrough().parse(r.metadata.starter);if(!F(k.taskDefinition,C(a))||!F(k.rewardBinding,C(i)))throw new Error("Taskset metadata differs from its immutable grading resources.")}if(r.metadata.rewardExecution!==void 0&&!Le(r.metadata.rewardExecution,{binding:i,rewards:s}))throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");if(r.metadata.rewardBinding!==void 0&&!F(q.parse(r.metadata.rewardBinding),C(i)))throw new Error("Taskset Reward reference differs from its immutable grading resources.");let g=t.executionResources??m;if(r.environmentRelease&&!g)throw new Error("Deriving a Taskset requires its pinned execution resources.");if(g&&(!ut(g.environment)||!ft(g.verifierSet)||!Le(r.environmentRelease,{id:g.environment.id,contentHash:g.environment.contentHash})||!Le(r.verifierSetRelease,{id:g.verifierSet.id,contentHash:g.verifierSet.contentHash})||!Le(r.environment,g.environment.contract)||!Le(r.graders,g.verifierSet.graders)))throw new Error("Taskset differs from its pinned execution resources.");if(or(m,r,o),new Set(o.map(k=>k.id)).size!==o.length)throw new Error("Taskset asset identities must be unique.");for(let k of o)Be(k,k.asset);for(let k of g?[g.environment.actionSchemaRef,g.environment.observationSchemaRef,g.environment.stateSchemaRef]:[]){if(!k)continue;let w=o.find(H=>H.id===k.id);if(!w)throw new Error(`Taskset environment asset is missing: ${k.id}.`);Be(w,k)}for(let k of r.tasks){if(a.requiredOutputs&&!Le(k.requiredOutputs,a.requiredOutputs))throw new Error(`Taskset outputs differ from its reviewed definition: ${k.id}.`);if(t.instructionMode!=="per_task"&&k.policyVisibleContext.instructions!==a.instructions||!Fr(a.inputSchema,k.input).valid||k.expectedOutput!==null&&!Fr(a.outputSchema,k.expectedOutput).valid)throw new Error(`Taskset task differs from its declared format: ${k.id}.`);if(k.privilegedContextRef&&!o.some(w=>w.id===k.privilegedContextRef&&w.asset.visibility==="host_private"))throw new Error(`Taskset private context is missing: ${k.id}.`)}for(let k of s){let w=k.implementation,H=[...k.assets,..."verifierRef"in w?[w.verifierRef]:[],..."rubricRef"in w?[w.rubricRef]:[],..."inputContract"in w?[w.inputContract]:[]];for(let z of H){let y=o.find(Pt=>Pt.id===z.id);if(!y||z.visibility==="policy")throw new Error(`Taskset Reward requires its private asset: ${z.id}.`);Be(y,z)}}return t}c(ha,"validateModelTasksetPackage");var Ut=e.string().trim().min(1).max(240),es=S.extend({revision:e.number().int().positive()}).strict(),ts=es.extend({teamId:Ut,jobId:Ut,plan:S,baseline:S,candidate:S,state:wi.shape.state,updatedAt:e.string().datetime()}).strict(),pc=e.object({schemaVersion:e.literal("openpond.trainingAcceptanceGroupPage.v1"),teamId:Ut,jobId:Ut,groups:e.array(ts).max(100),nextCursor:Ut.nullable()}).strict(),lc=e.object({cursor:Ut.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict();var O=e.string().trim().min(1).max(200),He=e.string().regex(/^[a-f0-9]{64}$/),cr=e.object({id:O,contentHash:He}).strict(),Fu=e.object({available:e.boolean(),reason:e.string().max(1e3).nullable(),origin:pt.nullable()}).strict(),ns=e.object({schemaVersion:e.literal("openpond.postTrainingAttachment.v1"),binding:e.object({kind:e.enum(["preparation","policy"]),id:O,revision:e.number().int().positive(),contentHash:He}).strict(),projectId:O.nullable(),automatic:e.boolean(),maximumSpendUsd:e.number().finite().positive().max(1e4),experiments:e.array(e.object({id:O,configuration:Ce}).strict()).min(1).max(20),acceptancePlan:vi.nullable()}).strict().superRefine((n,t)=>{if(new Set(n.experiments.map(r=>r.id)).size!==n.experiments.length&&t.addIssue({code:"custom",message:"Attach each evaluation once."}),n.experiments.reduce((r,a)=>r+a.configuration.maximumCostUsd,0)>n.maximumSpendUsd+1e-9&&t.addIssue({code:"custom",message:"Attached evaluation budgets exceed the total approved budget."}),n.experiments.some(r=>(r.configuration.request.project?.id??null)!==n.projectId)&&t.addIssue({code:"custom",message:"Attached experiments must use the training Project."}),n.acceptancePlan){let r=new Set(n.acceptancePlan.checks.map(i=>i.id));n.acceptancePlan.checks.some(i=>!n.experiments.some(s=>s.id===i.id))&&t.addIssue({code:"custom",message:"Select the frozen Experiment for each acceptance check."}),n.acceptancePlan.maximumSpendUsd+n.experiments.filter(i=>!r.has(i.id)).reduce((i,s)=>i+s.configuration.maximumCostUsd,0)>n.maximumSpendUsd+1e-9&&t.addIssue({code:"custom",message:"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget."})}});var uc=e.object({baseline:cr,checks:e.array(e.object({id:O,sourceRunId:O,sourceManifestHash:He,targetConfigurationHash:He,executionHash:He,populationHash:He,evaluator:cr,feedbackKey:O,output:e.enum(["boolean","score"]),unit:e.string().min(1).max(80)}).strict()).min(1).max(100)}).strict(),fc=e.enum(["waiting_for_training","ready","preparing","queued","running","cleaning","completed","failed","blocked","cancelled","budget_exhausted"]),hc=e.object({schemaVersion:e.literal("openpond.postTrainingSummary.v1"),id:O,teamId:O,jobId:O,revision:e.number().int().positive(),planHash:He,automatic:e.boolean(),candidate:cr.nullable(),state:fc,total:e.number().int().positive(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),requiredOutcome:e.enum(["none","pending","passed","failed","blocked"]),reason:e.string().max(500).nullable(),groupId:O.nullable(),experimentIds:e.array(O).max(20),updatedAt:e.iso.datetime()}).strict().superRefine((n,t)=>{n.completed+n.failed>n.total&&t.addIssue({code:"custom",message:"Evaluation totals are inconsistent."}),["preparing","queued","running","cleaning","completed"].includes(n.state)&&!n.candidate&&t.addIssue({code:"custom",message:"Evaluation execution requires the exact trained candidate."})}),Vu=e.object({operationId:O,expectedRevision:e.number().int().positive(),planHash:He}).strict(),Nu=e.object({operationId:O,attachment:ns}).strict(),Wu=e.object({id:O,teamId:O,ownerUserId:O,attachment:ns,qualification:uc.nullable(),contentHash:He,createdAt:e.iso.datetime()}).strict();var Gu=e.object({teamId:O,actorId:O,projectId:O.nullable(),configuration:Mt,batches:e.array(Zn).max(1e4),sources:e.array(At).max(1e4),definitions:e.array(Pe).max(1e4),experiments:e.array(e.object({id:O,name:e.string().max(500),configuration:Ce,graders:e.array(e.object({feedbackKey:O,name:e.string().max(500),ref:cr}).strict()).max(100)}).strict()).max(1e4)}).strict(),Ju=e.enum(["prepare","start","cancel","publish","attach"]),Ku=e.object({teamId:O,actorId:O,configuration:Mt,policy:di,inspection:tr,iterations:e.array(e.object({iteration:mi,evals:hc.nullable()}).strict()).max(100),nextCursor:O.nullable()}).strict(),Xu=e.object({id:O,expectedRevision:e.number().int().positive(),policyHash:He,operationId:O,action:e.enum(["pause","resume","reserve","cancel-iteration","retry-iteration"]),iterationId:O.optional(),iterationRevision:e.number().int().positive().optional()}).strict();var ge=e.string().trim().min(1).max(191),un=e.string().regex(/^[a-f0-9]{64}$/),rs=e.object({schemaVersion:e.literal("openpond.trainingPreparationRequest.v1"),teamId:ge,operationId:ge,projectId:ge.nullable(),configuration:e.object({id:ge,expectedRevision:e.number().int().positive(),expectedEtag:un}).strict(),origin:pt.optional(),batch:q,name:e.string().trim().min(1).max(191),maximumSpendUsd:e.number().finite().positive().max(1e6)}).strict(),as=e.object({schemaVersion:e.literal("openpond.trainingPreparationPlan.v1"),id:ge,creatorUserId:ge,request:rs,requestHash:un,source:e.lazy(()=>ga),submissionHash:un,createdAt:e.string().datetime({offset:!0})}).strict(),is=as.extend({contentHash:un}).strict(),ss=e.object({schemaVersion:e.literal("openpond.trainingPreparationReceipt.v1"),plan:is,revision:e.number().int().positive(),state:e.enum(["prepared","submitted","cancelled"]),jobId:ge.nullable()}).strict().superRefine((n,t)=>{n.state==="submitted"!=!!n.jobId&&t.addIssue({code:"custom",path:["jobId"],message:"Only submitted preparations identify a job."})}),gc=e.object({teamId:ge,planHash:un,expectedRevision:e.number().int().positive()}).strict(),bc=e.object({projectId:ge.optional(),state:e.enum(["prepared","submitted","cancelled"]).optional(),afterId:ge.optional(),limit:e.number().int().min(1).max(100).default(25)}).strict(),xc=e.object({schemaVersion:e.literal("openpond.trainingPreparationPage.v1"),teamId:ge,items:e.array(ss).max(100),nextCursor:ge.nullable()}).strict();var kc=e.object({schemaVersion:e.literal("openpond.trainingHarnessSourcePublication.v1"),harnessRelease:v,sourcePackageHash:e.string().regex(/^[a-f0-9]{64}$/),sizeBytes:e.number().int().positive().max(67108864)}).strict();var Tf=e.array(e.object({id:e.string().trim().min(1)}).catchall(e.unknown())).min(1).max(1e3),If=e.object({binding:ze,rewards:e.array(mt).min(1).max(100)}).strict();var yc=e.object({id:e.string().trim().min(1),clusterKey:e.string().trim().min(1),split:e.enum(["train","validation","frozen_eval"])}).passthrough(),vc=e.object({schemaVersion:e.literal("openpond.trainingEvaluationSource.v1"),taskset:q,tasks:e.array(yc).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((n,t)=>{let r=new Set;n.tasks.forEach((a,i)=>{a.split==="train"&&t.addIssue({code:"custom",path:["tasks",i,"split"],message:"Evaluation sources require held-out tasks."}),r.has(a.id)&&t.addIssue({code:"custom",path:["tasks",i,"id"],message:"Evaluation task identities must be unique."}),r.add(a.id)})});var J=e.string().trim().min(1).max(500),me=e.string().regex(/^[a-f0-9]{64}$/),ve=e.string().datetime({offset:!0}),dh=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:me}).strict(),mh=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:me,sizeBytes:e.number().int().positive(),createdAt:ve}).strict();var cs=e.enum(["reward_model_train","policy_optimize"]),Tc=e.enum(["queued","admitting","provisioning","running","stopping","cancelling","succeeded","failed","cancelled"]),Ic=e.object({id:J,version:e.string().trim().min(1).max(200).nullable().default(null),required:e.boolean().default(!0)}).strict(),ga=e.object({origin:pt.optional(),modelProject:e.object({id:J,portableProjectId:J,revision:e.number().int().positive(),contentHash:me}).strict(),harnessRunManifest:S,harnessRelease:S,taskset:q,tasksetRelease:S,evaluation:e.object({taskset:q,dataset:S}).strict().nullable().optional(),dataset:S,evidenceSets:e.array(S).max(1e4)}).strict(),Pc=e.object({kind:e.literal("reward_model_train"),baseModel:tt,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(),_c=e.object({kind:e.literal("deterministic"),grader:S,composer:S.nullable().default(null)}).strict(),Ec=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:me,executionReceipt:S}).strict(),processorRelease:S,rewardComposerRelease:S}).strict(),jc=e.object({kind:e.literal("policy_optimize"),baseModel:tt,recipe:na,rewardSource:e.discriminatedUnion("kind",[_c,Ec]),resumeFrom:S.nullable().default(null)}).strict(),Cc=e.discriminatedUnion("kind",[Pc,jc]),Hc=e.object({approvalHash:me,approvedAt:ve,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(),ph=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:ga,job:Cc,requestedCapabilities:e.array(Ic).max(1e3),placementObjective:e.enum(["fast","balanced","economical"]),budget:e.object({maximumSpendUsd:e.number().nonnegative(),maximumWallSeconds:e.number().int().positive()}).strict(),approval:Hc,contentHash:me}).strict().superRefine((n,t)=>{n.approval.maximumSpendUsd!==n.budget.maximumSpendUsd&&t.addIssue({code:"custom",path:["approval","maximumSpendUsd"],message:"Approved spend must equal the immutable Job budget."})});var Ac=e.object({schemaVersion:e.literal("openpond.trainingJob.v2"),id:J,teamId:J,kind:cs,modelProjectId:J,portableProjectId:J,sourceProjectRevision:e.number().int().positive(),submissionHash:me,state:Tc,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:ve,updatedAt:ve,completedAt:ve.nullable()}).strict(),lh=e.object({schemaVersion:e.literal("openpond.trainingJobPage.v2"),jobs:e.array(Ac).max(1e3),nextCursor:e.string().trim().min(1).max(2e3).nullable()}).strict(),uh=e.object({schemaVersion:e.literal("openpond.trainingJobEvent.v2"),id:J,jobId:J,sequence:e.number().int().nonnegative(),type:J,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:ve}).strict(),fh=e.object({schemaVersion:e.literal("openpond.trainingJobLog.v2"),jobId:J,sequence:e.number().int().nonnegative(),level:e.enum(["debug","info","warning","error"]),message:e.string().max(2e4),createdAt:ve}).strict(),hh=e.object({expectedVersion:e.number().int().nonnegative()}).strict(),Oc=e.object({schemaVersion:e.literal("openpond.trainingJobOutput.v2"),id:J,jobId:J,kind:e.enum(["checkpoint","adapter","scorer","metrics","evaluation","trace","receipt"]),artifactRef:e.string().trim().min(1).max(2e3),contentHash:me,sizeBytes:e.number().int().nonnegative(),metadata:e.record(e.string(),e.unknown()).default({}),createdAt:ve}).strict(),qc=e.object({schemaVersion:e.literal("openpond.trainingExecutionReceipt.v2"),id:J,teamId:J,jobId:J,submissionHash:me,manifestHash:me,recipeHash:me,capabilityHash:me,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:J,issuedAt:ve,signature:e.string().trim().min(1).max(1e4).nullable()}).strict();var gh=e.object({schemaVersion:e.literal("openpond.trainingJobOutputs.v2"),outputs:e.array(Oc).max(1e4),receipt:qc.nullable()}).strict(),bh=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();var xh=e.object({schemaVersion:e.literal("openpond.trainingCapabilities.v2"),capabilityHash:me,jobKinds:e.array(cs),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:ve,expiresAt:ve}).strict();var xa=e.object({batch:Zn,evidence:e.array(on).min(1).max(1e4),decisions:e.array(Qn).min(1).max(1e4),sources:e.array(At).min(1).max(1e4),assets:e.array(Xe).max(1e3)}).strict();function ds(n){return n.evidence.filter(t=>t.submission.evaluatorContext!==null).map(t=>{let r=M(t.submission.evaluatorContext),a=new TextEncoder().encode(r);return{asset:{id:`task-evidence:${t.contentHash}`,path:`learning/context/${t.contentHash}.json`,contentHash:L(a),sizeBytes:a.byteLength,mediaType:"application/json",visibility:"host_private"},base64:btoa(Array.from(a,i=>String.fromCharCode(i)).join(""))}})}c(ds,"learningPackageContextFiles");function ms(n,t){let r=xa.parse(t),a=cn(n);if(!F(C(r.batch),a.batch))throw new Error("Taskset learning batch differs from its admission metadata.");for(let d of[r.evidence,r.decisions,r.sources,r.assets]){let l=new Set;for(let f of d){er(f);let h=`${f.id}:${f.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 d of r.evidence){let l=r.sources.find(f=>F(C(f),d.source));if(!l||!F(l.taskDefinition,C(a.definition)))throw new Error("Taskset evidence source differs from its task definition.")}if(r.sources.some(d=>!r.evidence.some(l=>F(l.source,C(d)))))throw new Error("Taskset package includes an unrelated learning source.");let i=a.rewards.flatMap(d=>[...d.assets,...d.implementation.kind==="custom_verifier"?[d.implementation.verifierRef]:d.implementation.kind==="model_judge"||d.implementation.kind==="human"?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]);for(let d of i){let l=r.assets.find(f=>f.id===d.id);if(!l)throw new Error("Taskset learning Reward asset is missing.");Be(l,d)}if(r.assets.some(d=>!i.some(l=>l.id===d.id)))throw new Error("Taskset package includes an unrelated learning asset.");let s=pi({batch:r.batch,definition:a.definition,binding:a.binding,rewards:a.rewards,evidence:r.evidence,decisions:r.decisions}),o=cn(s);if(p(o)!==p(a))throw new Error("Taskset admission metadata differs from its reviewed snapshots.");let m=c(d=>({policy:d.policy,environment:d.environment,tools:d.tools}),"execution");if(p(m(s))!==p(m(n)))throw new Error("Taskset execution differs from its reviewed task definition.");let u=c(d=>({id:d.id,clusterKey:d.clusterKey,split:d.split,input:d.input,expectedOutput:d.expectedOutput,policyVisibleContext:d.policyVisibleContext,privilegedContextRef:d.privilegedContextRef,artifactRefs:d.artifactRefs,requiredOutputs:d.requiredOutputs??[],tags:d.tags}),"taskContent");if(p(s.tasks.map(u))!==p(n.tasks.map(u)))throw new Error("Taskset rows differ from their reviewed evidence.");return r}c(ms,"validateTasksetLearningResources");var rt=64*1024*1024,dr=e.object({asset:le,base64:e.string().max(Math.ceil(rt/3)*4)}).strict();function ie(n){let t=dr.parse(n),r=atob(t.base64);if(btoa(r)!==t.base64)throw new Error(`Taskset asset ${t.asset.id} has noncanonical base64.`);let a=Uint8Array.from(r,i=>i.charCodeAt(0));if(a.byteLength!==t.asset.sizeBytes||L(a)!==t.asset.contentHash)throw new Error(`Taskset asset ${t.asset.id} differs from its immutable bytes.`);return a}c(ie,"decodeTasksetPackageFile");function Fe(n){if(n.taskset.environment.entrypoint!=="openpond.javascript-environment.v1")return null;let t=new Map(n.files.map(o=>[o.asset.id,o])),r=c(o=>{let m=t.get(o);if(!m)throw new Error(`Taskset environment asset is missing: ${o}.`);if(m.asset.sizeBytes>524288)throw new Error("Taskset environment source exceeds the authored asset limit.");let u=new TextDecoder("utf-8",{fatal:!0}).decode(ie(m));return Xe.parse($({schemaVersion:"openpond.learningTextAsset.v1",id:o,revision:1,asset:m.asset,text:u}))},"read"),a;if(n.modelResources){if(!n.modelResources.execution)throw new Error("Bound Taskset JavaScript execution resources are missing.");a=nt.parse(n.modelResources.execution)}else{let o=r(ln(n.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.");a=nt.parse(JSON.parse(o.text))}let s=[...new Set([a.javascript.module.id,...[a.environment.actionSchemaRef,a.environment.observationSchemaRef,a.environment.stateSchemaRef].flatMap(o=>o?[o.id]:[]),...n.taskset.tasks.flatMap(o=>o.privilegedContextRef?[o.privilegedContextRef]:[])])].map(r);return or(a,n.taskset,s),{execution:a,assets:s}}c(Fe,"resolveTasksetPackageExecution");function fn(n){let t=Ki(n),r=new TextEncoder().encode(t.text),a="";for(let i of r)a+=String.fromCharCode(i);return{asset:t.asset,base64:btoa(a)}}c(fn,"createTasksetPackageExecutionFile");var be=e.string().trim().min(1).max(240),Ve=e.string().trim().min(1),at=e.string().trim().min(8).max(256),ps=e.string().trim().min(1).max(1e3).refine(n=>!n.startsWith("/")&&!n.startsWith("\\")&&!n.split(/[\\/]/).includes(".."),"Artifact paths must be relative and stay inside the Dataset."),it=e.enum(["train","validation","test","frozen_eval"]),Dc=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"])}),Mc=e.object({schemaVersion:e.literal("openpond.datasetSemanticSchema.v1"),fields:e.array(Dc).min(1).max(1e4),schemaHash:at}),zc=e.object({id:be,split:it,path:ps,contentHash:at,schemaHash:at,sizeBytes:e.number().int().nonnegative(),rowCount:e.number().int().positive(),rowGroupCount:e.number().int().positive()}),hn=e.object({schemaVersion:e.literal("openpond.datasetArtifact.v1"),id:be,tasksetId:be,tasksetRevision:e.number().int().positive(),contentHash:at,format:e.literal("parquet"),schema:Mc,shards:e.array(zc).min(1).max(1e5),rowCount:e.number().int().positive(),splitCounts:e.record(it,e.number().int().nonnegative()),sourceReceiptRefs:e.array(be).min(1).max(1e5),mappingHash:at,qualityReportHash:at,createdAt:Ve}),Wh=e.object({schemaVersion:e.literal("openpond.datasetArtifactSummary.v1"),artifactId:be,tasksetId:be,tasksetRevision:e.number().int().positive(),format:e.literal("parquet"),rowCount:e.number().int().positive(),splitCounts:e.record(it,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative(),contentHash:at,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve}),$c=e.object({schemaVersion:e.literal("openpond.datasetCatalogItem.v1"),tasksetId:be,tasksetRevision:e.number().int().positive(),artifactId:be.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(it,e.number().int().nonnegative()),sizeBytes:e.number().int().nonnegative().nullable(),available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),createdAt:Ve,updatedAt:Ve}),Gh=e.object({schemaVersion:e.literal("openpond.datasetCatalog.v1"),profileId:be,datasets:e.array($c),generatedAt:Ve}),Jh=e.object({schemaVersion:e.literal("openpond.datasetArtifactRegistry.v1"),manifest:hn,profileId:be,storageRoot:e.string().trim().min(1).max(4e3),relativeManifestPath:ps,available:e.boolean(),unavailableReason:e.string().trim().min(1).max(2e3).nullable(),verifiedAt:Ve.nullable(),createdAt:Ve,updatedAt:Ve}),Kh=e.object({split:it.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([])}),Xh=e.object({schemaVersion:e.literal("openpond.datasetRowPage.v1"),tasksetId:be,tasksetRevision:e.number().int().positive(),artifactHash:at,split:it.nullable(),rows:e.array(e.record(e.string(),e.unknown())).max(100),nextCursor:e.string().max(2e3).nullable(),totalRows:e.number().int().nonnegative(),returnedRows:e.number().int().nonnegative()}),Bc=e.object({schemaVersion:e.literal("openpond.datasetStorageSettings.v1"),datasetStorePath:e.string().trim().min(1).max(4e3),updatedAt:Ve}),Uc=e.object({id:be,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()}),Yh=e.object({schemaVersion:e.literal("openpond.datasetStorageState.v1"),settings:Bc,storageRoots:e.array(Uc)}),Qh=e.object({datasetStorePath:e.string().trim().min(1).max(4e3)});var Lt=e.string().trim().min(1).max(240),Lc=e.string().trim().min(1),Ft=e.string().trim().min(8).max(256),Fc=e.record(e.string(),e.unknown()).default({}),Vc=e.string().trim().min(7).max(256),Nc=e.enum(["pending","approved","review","blocked"]),mr=e.object({id:Lt,profileId:Lt,title:e.string().trim().min(1).max(500),sourceHash:Ft,occurredAt:Lc,licensingStatus:Nc,secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),metadata:Fc}),Wc=mr.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:Vc,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(Ft).min(1).max(1e5)}),Gc=mr.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(Ft).min(1).max(1e3),totalBytes:e.number().int().nonnegative(),parserVersion:e.string().trim().min(1).max(200)}),Jc=mr.extend({schemaVersion:e.literal("openpond.generatedDatasetSource.v1"),kind:e.literal("generated"),generatorId:Lt,generatorVersion:e.string().trim().min(1).max(200),seed:e.number().int(),generatorHash:Ft}),Kc=mr.extend({schemaVersion:e.literal("openpond.learningBatchDatasetSource.v1"),kind:e.literal("learning_batch"),batch:e.object({id:Lt,revision:e.number().int().positive(),contentHash:Ft}).strict(),taskDefinition:e.object({id:Lt,revision:e.number().int().positive(),contentHash:Ft}).strict(),admittedBy:Lt}),ls=e.discriminatedUnion("kind",[Wc,Gc,Jc,Kc]);var us=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:Bn,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();var fs=e.object({schemaVersion:e.literal("openpond.harnessActionBinding.v1"),actionId:B,modelToolName:e.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),description:e.string().trim().min(1).max(1e3),inputSchema:e.record(e.string(),e.unknown()),actionSchemaHash:zn,agentRelease:v,implementationHash:zn,runtimeBindingId:B,capabilityReceiptHash:zn,sideEffect:e.enum(["read","write"]),studentVisible:e.boolean(),timeoutMs:e.number().int().positive().max(36e5),episodeArgumentBindings:e.array(e.object({argument:B,source:e.literal("case_id")}).strict()).max(20).default([])}).strict();var T=e.string().trim().min(1).max(240),ka=e.string().trim().min(1),Xc=e.string().trim().min(8).max(256),ya=e.string().trim().regex(/^[a-f0-9]{64}$/),Yc=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),we=e.record(e.string(),e.unknown()).default({}),lr=T.nullable();function gn(n){let t=n.trim().replaceAll("\\","/");return!t||t.startsWith("/")||t==="."||t===".."?!1:!t.split("/").some(r=>!r||r==="."||r==="..")}c(gn,"safeRelativeFilePath");function Qc(n){let t=n.trim();return t.length>0&&t!=="."&&t!==".."&&!t.includes("/")&&!t.includes("\\")&&!t.includes("\0")}c(Qc,"safeFileName");var pr=it,ur=e.enum(["general","benchmark"]),fr=e.object({schemaVersion:e.literal("openpond.tasksetBenchmark.v1"),definitionId:T,releaseId:T,releaseHash:ya,managedReleasePath:e.string().trim().min(1).max(1e3).refine(gn,"Benchmark release paths must remain relative."),adaptationSplit:pr,evaluationSplit:pr,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:we}),hr=e.object({schemaVersion:e.literal("openpond.tasksetPreferenceComparisonBinding.v1"),releaseId:T,releaseHash:ya,publishedAt:ka,metadata:we}),Zc=e.object({status:e.enum(["pending","granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session"]),grantedBy:lr,grantedAt:ka.nullable(),purpose:e.literal("task_authoring_and_evaluation")}),ed=e.object({schemaVersion:e.literal("openpond.trainingSource.v1"),id:T,profileId:T,sessionId:T,turnIds:e.array(T).max(1e3).default([]),workspaceId:lr,sourceHash:Xc,clusterKey:T,title:e.string().trim().min(1).max(500),occurredAt:ka,consent:Zc,connectedAppIds:e.array(T).max(100).default([]),secretScanStatus:e.enum(["pending","passed","blocked"]),piiScanStatus:e.enum(["pending","passed","review","blocked"]),licensingStatus:e.enum(["pending","approved","review","blocked"]),metadata:we}),bn=e.union([ed,ls,us]),gr=e.object({policyVisibleFields:e.array(T).max(1e3).default([]),privilegedFields:e.array(T).max(1e3).default([]),hiddenGraderRefs:e.array(T).max(100).default([]),connectedAppScopes:e.array(T).max(100).default([])}),td=e.object({id:T,sourceRefId:T,artifactRef:e.string().trim().min(1).max(4e3).refine(gn,"Task asset references must be safe relative paths."),fileName:e.string().trim().min(1).max(500).refine(Qc,"Task asset file names must not contain path separators."),mediaType:e.string().trim().min(1).max(200),sha256:ya,sizeBytes:e.number().int().nonnegative().max(25e7),split:pr,metadata:we}),nd=e.object({path:e.string().trim().min(1).max(1e3).refine(gn,"Required output paths must stay inside the Work output directory."),mediaType:e.string().trim().min(1).max(200),schemaRef:T.nullable().optional(),maxBytes:e.number().int().positive().max(1e7).optional(),metadata:we}),Vt=e.object({schemaVersion:e.literal("openpond.taskData.v1"),id:T,clusterKey:T,split:pr,input:e.record(e.string(),e.unknown()),expectedOutput:e.record(e.string(),e.unknown()).nullable(),policyVisibleContext:e.record(e.string(),e.unknown()).default({}),privilegedContextRef:lr,sourceRefs:e.array(T).min(1).max(100),assets:e.array(td).max(1e3).optional(),resourceRefs:e.array(T).max(1e3).optional(),requiredOutputs:e.array(nd).max(100).optional(),tags:e.array(T).max(100).default([]),metadata:we}),hs=e.object({id:T,kind:e.enum(["file","catalog","configuration","code_module"]),path:e.string().trim().min(1).max(1e3).refine(gn,"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:we}),Nt=e.object({id:T,taskId:lr,sourceRefs:e.array(T).min(1).max(100),artifactRef:T,approved:e.boolean(),confidence:e.number().min(0).max(1),metadata:we}),gs=Nt.extend({kind:e.literal("demonstration"),prompt:e.string().max(1e5).nullable().default(null),response:e.string().max(2e5).nullable().default(null)}),bs=Nt.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)}),xs=Nt.extend({kind:e.literal("correction"),original:e.string().max(2e5),corrected:e.string().max(2e5),rationale:e.string().max(1e5).nullable().default(null)}),ks=Nt.extend({kind:e.literal("feedback"),feedback:e.string().max(1e5),polarity:e.enum(["positive","negative","mixed","neutral"])}),ys=Nt.extend({kind:e.literal("reward"),task:e.string().max(1e5),rules:e.array(e.object({id:T,points:e.number().finite(),condition:e.string().trim().min(1).max(1e5)})).min(1).max(1e3),otherwisePoints:e.number().finite(),executable:e.boolean()}),vs=Nt.extend({kind:e.literal("label"),labelKind:e.literal("rubric"),task:e.string().max(1e5),criteria:e.array(e.object({id:T,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)})}),gg=e.discriminatedUnion("kind",[gs,bs,xs,ks,ys,vs]),br=e.object({demonstrations:e.array(gs).max(1e5).default([]),preferences:e.array(bs).max(1e5).default([]),corrections:e.array(xs).max(1e5).default([]),feedback:e.array(ks).max(1e5).default([]),rewards:e.array(ys).max(1e5).default([]),labels:e.array(vs).max(1e5).default([])}),xr=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(T).max(200).default([]),actionBindings:e.array(fs).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(hs).max(1e4).optional(),metadata:we}),kr=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([])}),yr=e.object({id:T,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:we}),rd=yr.extend({kind:e.enum(["content","schema","file","diff","test","runtime_event","state"]),config:e.record(e.string(),e.unknown())}),ad=yr.extend({kind:e.literal("model_judge"),rubric:e.string().trim().min(1).max(5e4),judge:_t,calibrationFixtureRefs:e.array(T).min(1).max(500),calibrationStatus:e.enum(["pending","passed","failed"]),temperature:e.number().min(0).max(2).default(0)}),id=yr.extend({kind:e.literal("human"),form:Ke.optional(),rubric:e.string().trim().min(1).max(5e4),reviewerRole:e.string().trim().min(1).max(500)}),sd=yr.extend({kind:e.literal("custom_verifier"),runtime:Ya.optional(),module:e.string().trim().min(1).max(1e3).refine(gn,"Custom verifier modules must use a safe relative path."),exportName:Yc,timeoutMs:e.number().int().positive().max(3e5),networkPolicy:e.literal("none")}),xn=e.union([rd,ad,id,sd]),od=e.enum(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]),wt=e.object({id:T,taskId:T,label:od,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:we});var ws=e.object({schemaVersion:e.literal("openpond.connectedRewardCalibrationProjection.v1"),sourceReward:jt,fixtureSet:le,calibrationCheck:ee,fixture:li,fixtureHash:e.string().regex(/^[a-f0-9]{64}$/),checkResultHash:e.string().regex(/^[a-f0-9]{64}$/),independentCalibrationTask:e.literal(!0),closureRef:le,graderId:e.string().min(1).max(240).optional()}).strict();function Ss(n){let t=n.taskset.metadata.ordinaryAuthoring??n.taskset.metadata.starterAuthoring;return e.object({graderFixtures:wt.array().max(1e5).default([])}).passthrough().parse(t??{}).graderFixtures}c(Ss,"authoredFixtures");function Rs(n){for(let t of Ss(n)){let r=t.metadata.rewardCalibration;r&&typeof r=="object"&&Object.hasOwn(r,"closureRef")&&cd(n,t)}for(let t of n.files)t.asset.mediaType==="application/vnd.openpond.reward-calibration-closure+json"&&Ts(n,t.asset)}c(Rs,"assertTasksetCalibrationClosures");function cd(n,t){let r=ws.parse(t.metadata.rewardCalibration),a=Ts(n,r.closureRef);(p(r.sourceReward)!==p(C(a.reward))||p(r.fixtureSet)!==p(a.reward.fixtureSetRef)||r.calibrationCheck.id!==a.check.id||r.calibrationCheck.revision!==a.check.revision||r.calibrationCheck.contentHash!==p(a.check))&&V("calibration_source_changed");let i=r.fixture,s=`calibration-${p([r.sourceReward,i.id])}`;(t.id!==s||t.taskId!==s||n.taskset.tasks.some(g=>g.id===s)||r.fixtureHash!==p(i)||p(t.output)!==p(i.output)||t.infrastructureError!==i.infrastructureError)&&V("calibration_fixture_changed");let o=a.check.results.filter(g=>g.fixture.id===i.id&&g.fixture.contentHash===r.fixtureHash);(o.length!==1||p(o[0])!==r.checkResultHash)&&V("calibration_result_changed");let m=i.expected;(m.status!=="scored"||typeof m.passed!="boolean"||t.expectedPassed!==m.passed||t.label!==(m.passed?"positive":"negative"))&&V("calibration_expectation_unsupported");let u=r.graderId??r.sourceReward.id,d=n.taskset.graders.filter(g=>g.id===u),l=d[0];(d.length!==1||!l)&&V("calibration_grader_not_unique"),t.expectedRewardEligible!==l.rewardEligible&&V("calibration_reward_expectation_changed");let f=ti({schemaVersion:"openpond.rewardBinding.v1",id:`calibration-${a.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"},[a.reward]),h=$e(f,[a.reward])[0],b=c(g=>{let{rewardEligible:k,...w}=g;return w.kind==="model_judge"?{...w,temperature:w.temperature??0}:w},"implementation");return p(b(l))!==p(b(h))&&V("calibration_grader_changed"),l.kind==="model_judge"&&dd(n,l,r,a),{kind:"independent_reward_calibration",fixtureId:s,task:dt.parse({id:s,clusterKey:s,split:"validation",input:i.input,expectedOutput:i.expectedOutput,privilegedContextRef:null}),evaluatorContext:i.evaluatorContext,evidence:{output:i.output,artifactRefs:i.artifactRefs,runtimeEventRefs:i.runtimeEventRefs,infrastructureError:i.infrastructureError},grader:h,reward:a.reward,binding:f,expected:m,source:{reward:r.sourceReward,fixtureSet:r.fixtureSet,check:r.calibrationCheck,closure:r.closureRef,fixtureHash:r.fixtureHash,checkResultHash:r.checkResultHash}}}c(cd,"resolveIndependent");function Ts(n,t){(t.visibility!=="host_private"||t.sizeBytes>xi||t.mediaType!=="application/vnd.openpond.reward-calibration-closure+json")&&V("calibration_closure_not_private");let r=n.files.filter(u=>u.asset.id===t.id);(r.length!==1||p(r[0].asset)!==p(t))&&V("calibration_closure_asset_changed");let a=ie(r[0]),i=new TextDecoder("utf-8",{fatal:!0}).decode(a),s=ki(JSON.parse(i));p(yi(s).asset)!==p(t)&&V("calibration_closure_reference_changed"),n.files.filter(u=>u.asset.contentHash===t.contentHash||u.asset.id===t.id||u.asset.path===t.path).some(u=>u.asset.visibility!=="host_private")&&V("calibration_closure_visible_alias");let m=c(u=>u.id===t.id||u.path===t.path||u.contentHash===t.contentHash,"isAlias");for(let u of n.taskset.tasks)(u.artifactRefs.some(m)||(u.requiredOutputs??[]).some(d=>d.schemaRef&&m(d.schemaRef))||u.privilegedContextRef&&n.files.some(d=>d.asset.id===u.privilegedContextRef&&m(d.asset)))&&V("calibration_closure_task_alias"),(va(u.input,i,t.contentHash)||va(u.policyVisibleContext,i,t.contentHash))&&V("calibration_closure_inline_alias");for(let u of[n.environment.actionSchemaRef,n.environment.observationSchemaRef,n.environment.stateSchemaRef])u&&m(u)&&V("calibration_closure_environment_schema_alias");for(let u of[n.taskset.metadata.environmentResources,n.environment.metadata.resources]){if(u===void 0)continue;let d=e.array(e.object({id:e.string().optional(),path:e.string(),visibility:e.string().optional()}).passthrough()).parse(u);for(let l of d){let f=n.files.find(h=>h.asset.path===l.path);(l.id===t.id||l.path===t.path||f&&m(f.asset))&&V("calibration_closure_environment_resource_alias")}}return s}c(Ts,"readPrivateClosure");function va(n,t,r){return typeof n=="string"?n===t||L(n)===r:!n||typeof n!="object"?!1:L(JSON.stringify(n))===r?!0:Object.values(n).some(a=>va(a,t,r))}c(va,"containsClosure");function V(n){throw new Error(n)}c(V,"fail");function dd(n,t,r,a){let i=t.id,s=n.taskset.metadata.ordinaryAuthoring??n.taskset.metadata.starterAuthoring,o=e.object({judgeCalibrationFixtures:e.record(e.string(),e.array(e.string().min(1)).max(500))}).passthrough().parse(s),m=a.check.fixtureRefs.map(d=>`calibration-${p([r.sourceReward,d.id])}`);p(o.judgeCalibrationFixtures[i]??[])!==p(m)&&V("calibration_judge_membership_changed");let u=Ss(n);for(let d=0;d<m.length;d++){let l=u.filter(w=>w.id===m[d]);l.length!==1&&V("calibration_judge_membership_changed");let f=l[0],h=ws.parse(f.metadata.rewardCalibration),b=h.fixture.expected;(b.status!=="scored"||typeof b.passed!="boolean"||f.expectedPassed!==b.passed||f.expectedRewardEligible!==t.rewardEligible||f.label!==(b.passed?"positive":"negative")||p(f.output)!==p(h.fixture.output)||f.infrastructureError!==h.fixture.infrastructureError)&&V("calibration_judge_membership_changed");let g=a.check.fixtureRefs[d],k=a.check.results.find(w=>w.fixture.id===g.id);(f.taskId!==f.id||h.fixture.id!==g.id||h.fixtureHash!==g.contentHash||p(h.fixture)!==g.contentHash||h.checkResultHash!==p(k)||p(h.sourceReward)!==p(r.sourceReward)||p(h.fixtureSet)!==p(r.fixtureSet)||p(h.calibrationCheck)!==p(r.calibrationCheck)||p(h.closureRef)!==p(r.closureRef)||(h.graderId??h.sourceReward.id)!==i)&&V("calibration_judge_membership_changed")}}c(dd,"assertJudgeFixtureMembership");var md=ua.omit({taskset:!0,executionResources:!0}),Is=e.object({schemaVersion:e.literal("openpond.tasksetPackage.v1"),taskset:ue,environment:Ze,verifierSet:et,files:e.array(dr).max(1e4),modelResources:md.optional(),learningResources:xa.optional()}).strict(),Gt=Is.extend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();function kn(n){return n.learningResources?cn(n.taskset).definition.instructions:n.modelResources?n.modelResources.taskDefinition.instructions:e.object({instructions:e.string().max(2e4).optional()}).passthrough().parse(n.taskset.metadata.ordinaryAuthoring??{}).instructions??""}c(kn,"resolveTasksetPackageInstructions");function xe(n){Te(n,rt);let t=Gt.parse(n),{contentHash:r,...a}=t;if(p(a)!==r)throw new Error("Taskset package content hash differs from its bytes.");let{taskset:i,environment:s,verifierSet:o}=t;if(Jn(i),pa(i)&&(t.modelResources||t.learningResources))throw new Error("Taskset package cannot declare competing authoring graphs.");if(!ut(s)||!ft(o)||!Wt(i.environmentRelease,{id:s.id,contentHash:s.contentHash})||!Wt(i.verifierSetRelease,{id:o.id,contentHash:o.contentHash})||!Wt(i.environment,s.contract)||!Wt(i.graders,o.graders))throw new Error("Taskset package execution releases do not match its Taskset.");let u=new Map;for(let l of t.files){if(u.has(l.asset.id))throw new Error(`Duplicate Taskset asset identity: ${l.asset.id}.`);ie(l),u.set(l.asset.id,l)}function d(l){let f=u.get(l.id);if(!f||!Wt(f.asset,l))throw new Error(`Taskset package asset is missing or mismatched: ${l.id}.`)}c(d,"requireAsset");for(let l of i.tasks){for(let f of l.artifactRefs)d(f);for(let f of l.requiredOutputs??[])f.schemaRef&&d(f.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&&d(l);for(let l of i.graders){let f="verifierRef"in l?l.verifierRef:"rubricRef"in l?l.rubricRef:null;if(f&&(d(f),f.visibility==="policy"))throw new Error(`Taskset grader asset must be private: ${f.id}.`)}if(i.metrics?.customAggregator){let l=i.metrics.customAggregator,f=t.files.filter(h=>h.asset.path===l.module);if(f.length!==1||f[0].asset.contentHash!==l.contentHash||f[0].asset.sizeBytes>524288||f[0].asset.visibility==="policy")throw new Error("Taskset metric module is missing or mismatched, public, or exceeds the source limit.")}for(let l of[i.metadata.environmentResources,s.metadata.resources])if(l!==void 0){for(let f of e.array(e.object({path:e.string().min(1)}).passthrough()).parse(l))if(!t.files.some(h=>h.asset.path===f.path))throw new Error(`Taskset environment resource is missing: ${f.path}.`)}if(t.learningResources){if(t.modelResources)throw new Error("Taskset package cannot declare competing authoring graphs.");let l=ms(i,t.learningResources);for(let f of ds(l))if(!Wt(u.get(f.asset.id),f))throw new Error("Taskset private context differs from its reviewed evidence.");for(let f of l.assets)d(f.asset)}else if(t.modelResources){let l=ha({...t.modelResources,taskset:i,executionResources:{environment:s,verifierSet:o}});for(let f of l.assets)d(f.asset)}else if(["starter","rewardBinding","rewardExecution","modelTasksetDerivation","learning"].some(l=>i.metadata[l]!==void 0))throw new Error("Bound Taskset publication requires its complete model resources.");return Fe(t),kn(t),Rs(t),t}c(xe,"validateTasksetPackage");function St(n){Te(n,rt);let t=Is.parse(n);return xe({...t,contentHash:p(t)})}c(St,"createTasksetPackage");function Wt(n,t){return p({value:n})===p({value:t})}c(Wt,"same");function Ps(n){let t=xe(n.source),r=xe(n.edited),a=n.preparation;if(a.authoringGraph!=="bound"||!t.modelResources||t.learningResources||r.modelResources||r.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(t.contentHash!==a.sourcePackageHash||!F(C(t.taskset),a.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=c(A=>A.taskset.graders.map(Re=>Re.kind==="custom_verifier"?{...Re,exportName:Re.exportName??"verify"}:Re),"normalizedGraders");if(p(i(t))!==p(i(r)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let s=t.modelResources,o=new Map(s.assets.map(A=>[A.id,A])),m=Fe(r),u=Fe(t),d=c(A=>{let{id:Re,revision:Br,contentHash:Ur,metadata:Lr,...Wo}=A,{javascriptEnvironment:up,...Ua}=Lr;return{...Wo,metadata:{...Ua,resources:Ua.resources??[]}}},"environmentContent"),l=c(A=>{if(!A)return null;let{id:Re,revision:Br,contentHash:Ur,...Lr}=A.execution.javascript;return Lr},"javascriptContent"),f=p(d(t.environment))===p(d(r.environment))&&p(l(u))===p(l(m)),h=f?t.environment:r.environment,b=f?u:m,g=new Set([...s.assets.map(A=>A.id),...r.taskset.tasks.flatMap(A=>A.privilegedContextRef?[A.privilegedContextRef]:[]),...[r.environment.actionSchemaRef,r.environment.observationSchemaRef,r.environment.stateSchemaRef].flatMap(A=>A?[A.id]:[]),...m?.assets.map(A=>A.id)??[]]);for(let A of g){let Re=r.files.find(Ur=>Ur.asset.id===A);if(!Re)throw new Error(`Bound Taskset asset is missing: ${A}.`);let Br=new TextDecoder("utf-8",{fatal:!0}).decode(ie(Re));o.set(A,Xe.parse($({schemaVersion:"openpond.learningTextAsset.v1",id:A,revision:1,asset:Re.asset,text:Br})))}let k=kn(r),{contentHash:w,...H}=s.taskDefinition,{policy:z,environment:y,environmentRelease:Pt,tools:Ge,capabilities:x,verifierSetRelease:R}=r.taskset,P=Pe.parse($({...H,instructions:k,execution:{policy:z,environment:y,environmentRelease:Pt,tools:Ge,capabilities:x,verifierSetRelease:R}})),{contentHash:G,...de}=r.taskset,ct=ue.parse($({...de,tasks:r.taskset.tasks.map(A=>s.instructionMode==="per_task"?A:{...A,policyVisibleContext:{...A.policyVisibleContext,instructions:k}})})),Mn=fa({owner:a.lineage.owner,source:{...s,taskset:t.taskset,executionResources:{environment:t.environment,verifierSet:t.verifierSet}},rewardBinding:s.rewardBinding,rewards:s.rewards,assets:[...o.values()],edits:{taskset:ct,taskDefinition:P,executionResources:{environment:h,verifierSet:r.verifierSet},...b?{execution:b.execution}:{}}}),Lo=la.parse(Mn.taskset.metadata.modelTasksetDerivation);if(Mn.taskset.id!==a.tasksetId||Mn.taskset.revision!==a.tasksetRevision||p({...Lo,schemaVersion:a.lineage.schemaVersion})!==p(a.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:Fo,executionResources:Vo,...No}=Mn;return St({schemaVersion:"openpond.tasksetPackage.v1",taskset:Fo,...Vo,modelResources:No,files:r.files})}c(Ps,"publishBoundModelTasksetDraftPackage");function _s(n){let t=yt.parse(n.preparation);if(!F(t.sourceTasksetRef,t.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(t.authoringGraph==="bound"){if(!n.source)throw new Error("Bound Taskset authoring requires its retained source package.");return Ps({preparation:t,source:n.source,edited:n.edited})}let r=pd(n.edited),{contentHash:a,...i}=r.verifierSet,s=Dt({...i,id:`${t.tasksetId}-verifiers`,revision:t.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:C(r.verifierSet)}}),{contentHash:o,...m}=r.taskset,u=ue.parse($({...m,id:t.tasksetId,revision:t.tasksetRevision,verifierSetRelease:{id:s.id,contentHash:s.contentHash},metadata:{modelTasksetAuthoring:t.lineage,...r.taskset.metadata.environmentResources===void 0?{}:{environmentResources:r.taskset.metadata.environmentResources},...r.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:r.taskset.metadata.ordinaryAuthoring}}})),d=Fe(r),l=d?[...r.files.filter(f=>f.asset.id!==ln(r.taskset)),fn({...d.execution,verifierSet:s})]:r.files;return St({schemaVersion:"openpond.tasksetPackage.v1",taskset:u,environment:r.environment,verifierSet:s,files:l})}c(_s,"publishModelTasksetDraftPackage");function pd(n){let t=xe(n);if(t.modelResources||t.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return t}c(pd,"requireOrdinaryPackage");var Ae=e.string().trim().min(1).max(240),yn=e.string().trim().min(1),vr=e.string().trim().min(8).max(256),js=e.record(e.string(),e.unknown()).default({}),ld=Ae.nullable(),Cs=["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"],ud=e.enum(["draft","awaiting_disclosure_approval","awaiting_materialization_approval","materializing","validating","needs_review","baselining","ready","blocked","failed","archived"]),fd=e.enum(["demonstrations","preferences","verifiable_reward","rubric","discovery"]),ne=e.string().trim().max(1e5),hd=e.discriminatedUnion("kind",[e.object({kind:e.literal("demonstrations"),behavior:ne,examples:e.array(e.object({id:Ae,prompt:ne,response:ne})).max(1e3).default([])}),e.object({kind:e.literal("preferences"),preference:ne,pairs:e.array(e.object({id:Ae,prompt:ne,chosen:ne,rejected:ne,rationale:ne})).max(1e3).default([])}),e.object({kind:e.literal("verifiable_reward"),task:ne,rules:e.array(e.object({id:Ae,points:e.number().finite(),condition:ne})).max(1e3).default([]),otherwisePoints:e.number().finite().default(0)}),e.object({kind:e.literal("rubric"),task:ne,criteria:e.array(e.object({id:Ae,label:e.string().trim().max(500),description:ne})).max(1e3).default([]),positiveExample:ne,negativeExample:ne,boundaryExample:ne})]),kb=e.object({path:e.string().trim().min(1).max(1e3),role:e.enum(["environment","verifier","fixture"]),content:e.string().max(25e4)}),gd=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(Ae).min(1).max(1e5),limitations:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100)}).nullable()}),bd=e.enum(["taskset_not_ready","demonstrations_missing","preference_pairs_missing","preference_pairs_invalid","executable_reward_missing","reward_not_calibrated","reward_model_missing","value_model_required","frozen_eval_missing"]),xd=e.object({method:e.enum(["sft","dpo","grpo","ppo"]),status:e.enum(["recommended","compatible","needs_dataset_work"]),reasonCodes:e.array(bd).default([]),reasons:e.array(e.string().trim().min(1).max(5e3)).default([])}),Es=e.object({code:Ae,message:e.string().trim().min(1).max(5e3),path:e.string().trim().max(2e3).nullable()}),kd=e.object({schemaVersion:e.literal("openpond.tasksetReadiness.v1"),tasksetId:Ae,tasksetHash:vr,ready:e.boolean(),recommendedMethod:e.enum(["none","retrieval","sft","dpo","grpo","ppo","sdft","opd","opsd","sdpo"]),trainingPath:gd.nullable().default(null),methodReadiness:e.array(xd).default([]),compatibleDestinationClasses:e.array(e.enum(["export","custom","hosted_managed"])),blockers:e.array(Es).default([]),advisories:e.array(Es).default([]),warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),generatedAt:yn}),yd=e.object({attempt:e.number().int().positive(),summary:e.string().trim().min(1).max(5e3),createdAt:yn}),vd=e.object({schemaVersion:e.literal("openpond.taskAuthoringProvenance.v1"),model:_t.nullable(),modelConfig:js,skillHash:vr,promptTemplateVersion:e.string().trim().min(1).max(200),buildIntent:fd.default("demonstrations"),buildSpecification:hd.nullable().default(null),evidenceHashes:e.array(vr).max(1e5),tasksetSdkVersion:e.string().trim().min(1).max(100),sourceCommit:e.string().trim().min(1).max(256).nullable(),repairHistory:e.array(yd).max(1e3),createdAt:yn}),se=e.object({schemaVersion:e.literal("openpond.taskset.v1"),id:Ae,revision:e.number().int().positive().default(1),profileId:Ae,profileRelease:La.nullable().optional(),createImproveRunId:ld.default(null),name:e.string().trim().min(1).max(500),objective:e.string().trim().max(2e4),purpose:ur.default("general"),benchmark:fr.nullable().default(null),preferenceComparison:hr.nullable().default(null),status:ud,sourceRefs:e.array(bn).min(1).max(1e5),datasetArtifact:hn.nullable().optional(),policy:gr,environment:xr,capabilities:kr,metrics:Nn.optional(),tasks:e.array(Vt).max(1e6),graders:e.array(xn).min(1).max(1e3),graderFixtures:e.array(wt).max(1e5),learningSignals:br,authoringProvenance:vd,readiness:kd.nullable(),contentHash:vr,createdAt:yn,updatedAt:yn,metadata:js}).superRefine((n,t)=>{n.purpose==="benchmark"&&!n.benchmark&&t.addIssue({code:"custom",message:"Benchmark Tasksets require an immutable benchmark binding.",path:["benchmark"]}),n.purpose!=="benchmark"&&n.benchmark&&t.addIssue({code:"custom",message:"Only benchmark Tasksets may carry a benchmark binding.",path:["benchmark"]}),n.datasetArtifact&&n.tasks.length>0&&t.addIssue({code:"custom",message:"Artifact-backed Tasksets may not duplicate canonical rows inline.",path:["tasks"]}),!n.datasetArtifact&&n.tasks.length===0&&t.addIssue({code:"custom",message:"A Taskset requires inline tasks or a Dataset artifact manifest.",path:["tasks"]})});function Hs(n){return n.schemaVersion==="openpond.trainingSource.v1"}c(Hs,"isTrainingSourceRef");var Jt=e.string().trim().min(1).max(240),As=e.string().trim().min(1),wd=e.string().trim().min(8).max(256),Sd=e.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),Rd=e.record(e.string(),e.unknown()).default({});function Os(n){let t=n.trim().replaceAll("\\","/");return!t||t.startsWith("/")||t==="."||t===".."?!1:!t.split("/").some(r=>!r||r==="."||r==="..")}c(Os,"safeRelativeFilePath");var Td=Vt.extend({sourceRefs:e.array(Jt).max(100).default([])}),Id=e.enum(["draft","validating","needs_review","published"]),Pd=e.object({enabled:e.boolean(),candidateCount:e.number().int().min(2).max(4),minimumSamples:e.number().int().min(1).max(1e4).default(100),allowTies:e.boolean(),allowRejectAll:e.boolean(),rubric:e.string().trim().max(5e4),criteria:e.array(e.object({id:Jt,label:e.string().trim().min(1).max(500),description:e.string().trim().max(1e4),weight:e.number().nonnegative().max(1e3)})).max(100)}),_d=e.object({mode:e.enum(["text","structured_json","artifacts"]),jsonSchema:e.record(e.string(),e.unknown()).nullable(),renderer:e.object({module:e.string().trim().min(1).max(1e3).refine(Os,"Renderer modules must use a safe relative path."),exportName:Sd,configRef:e.string().trim().min(1).max(1e3).refine(Os,"Renderer configuration must use a safe relative path.").nullable().default(null)}).nullable()}).superRefine((n,t)=>{n.mode==="structured_json"&&!n.jsonSchema&&t.addIssue({code:"custom",message:"Structured JSON output requires a JSON Schema.",path:["jsonSchema"]}),n.mode==="text"&&n.renderer&&t.addIssue({code:"custom",message:"Text output cannot configure an artifact renderer.",path:["renderer"]})}),Ne=e.object({schemaVersion:e.literal("openpond.tasksetDraft.v1"),id:Jt,revision:e.number().int().positive(),profileId:Jt,modelScope:e.object({modelId:Jt,expectedModelRevision:e.number().int().positive(),source:yt.optional()}).strict().nullable().default(null),name:e.string().trim().max(500),objective:e.string().trim().max(2e4),purpose:ur.default("general"),benchmark:fr.nullable().default(null),preferenceComparison:hr.nullable().default(null),status:Id,sourceRefs:e.array(bn).max(1e5).default([]),datasetArtifact:hn.nullable().optional(),policy:gr,environment:xr,output:_d.default({mode:"text",jsonSchema:null,renderer:null}),capabilities:kr,metrics:Nn,review:Pd,tasks:e.array(Td).max(1e6).default([]),graders:e.array(xn).max(1e3).default([]),graderFixtures:e.array(wt).max(1e5).default([]),learningSignals:br,publishedTasksetRef:e.object({id:Jt,revision:e.number().int().positive(),contentHash:wd}).nullable(),createdAt:As,updatedAt:As,metadata:Rd}).superRefine((n,t)=>{n.purpose==="benchmark"&&!n.benchmark&&t.addIssue({code:"custom",message:"Benchmark drafts require an immutable benchmark binding.",path:["benchmark"]}),n.purpose!=="benchmark"&&n.benchmark&&t.addIssue({code:"custom",message:"Only benchmark drafts may carry a benchmark binding.",path:["benchmark"]}),n.datasetArtifact&&n.tasks.length>0&&t.addIssue({code:"custom",message:"Artifact-backed drafts may not duplicate canonical rows inline.",path:["tasks"]}),n.status==="published"&&!n.publishedTasksetRef&&t.addIssue({code:"custom",message:"Published drafts require an immutable Taskset reference.",path:["publishedTasksetRef"]})});var vn=class extends Error{static{c(this,"TasksetDraftPublishError")}issues;constructor(t){super(t.map(r=>r.message).join(`
|
|
3
3
|
`)),this.name="TasksetDraftPublishError",this.issues=t}};function qs(n){let t=[];n.name.trim()||t.push({code:"name_missing",message:"Name is required.",path:"name"}),n.objective.trim()||t.push({code:"objective_missing",message:"Objective is required.",path:"objective"}),!n.datasetArtifact&&n.tasks.length===0&&t.push({code:"tasks_missing",message:"Add at least one task or Dataset artifact.",path:"tasks"}),n.graders.length===0&&t.push({code:"graders_missing",message:"Add at least one grader.",path:"graders"}),!(n.graders.length>0&&n.graders.every(i=>i.kind==="human"))&&n.graderFixtures.length===0&&t.push({code:"grader_fixtures_missing",message:"Add grader fixtures before publishing.",path:"graderFixtures"});let a=new Set(n.sourceRefs.map(i=>i.id));for(let i of n.tasks)for(let s of i.sourceRefs)a.has(s)||t.push({code:"task_source_missing",message:`Task ${i.id} references missing source ${s}.`,path:`tasks.${i.id}.sourceRefs`});return t}c(qs,"draftPublishIssues");function Ds(n,t={}){let r=se.safeParse(n);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 a=r.data,i=[];Cd(a,i),jd(a,i),Hd(a,i),Od(a,i),qd(a,i),Ed(a,i,t),Dd(a,i),Md(a.capabilities,i,a),Ad(a,i);let s=Ms(a);return a.contentHash!==s&&i.push({code:"content_hash_mismatch",severity:"error",message:`Taskset contentHash is ${a.contentHash}, expected ${s}.`,path:"contentHash"}),{valid:!i.some(o=>o.severity==="error"),taskset:a,computedHash:s,issues:i}}c(Ds,"validateTaskset");function Ed(n,t,r){let a=n.graders.length>0&&n.graders.every(o=>o.kind==="human");!a&&!n.graderFixtures.length&&!(r.allowUnscoredOnlineRewardBatch&&n.metadata.trainingMethod==="grpo"&&n.metadata.learning)&&t.push({code:"grader_fixtures_required",severity:"error",message:"Taskset admission requires authored grader fixtures.",path:"graderFixtures"});let i=new Set(n.tasks.map(o=>o.id)),s=new Set(["positive","negative","boundary","adversarial","prompt_injection","infrastructure_failure"]);for(let o of n.graderFixtures)!n.datasetArtifact&&!i.has(o.taskId)&&t.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&&t.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 a?[]:s)t.push({code:"grader_fixture_missing",severity:"warning",message:`Taskset does not include the optional ${o} grader calibration fixture.`,path:"graderFixtures"})}c(Ed,"validateGraderFixtures");function jd(n,t){let r=n.datasetArtifact;if(!r)return;(r.tasksetId!==n.id||r.tasksetRevision!==n.revision)&&t.push({code:"dataset_artifact_taskset_mismatch",severity:"error",message:"Dataset artifact identity does not match its Taskset revision.",path:"datasetArtifact"});let a=Object.values(r.splitCounts).reduce((u,d)=>u+d,0),i=r.shards.reduce((u,d)=>u+d.rowCount,0);(a!==r.rowCount||i!==r.rowCount)&&t.push({code:"dataset_artifact_row_count_mismatch",severity:"error",message:"Dataset artifact row, split, and shard counts do not agree.",path:"datasetArtifact.rowCount"});let s=new Map;for(let u of r.shards)s.set(u.split,(s.get(u.split)??0)+u.rowCount);for(let[u,d]of Object.entries(r.splitCounts))(s.get(u)??0)!==d&&t.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,...m}=r;p(m)!==r.contentHash&&t.push({code:"dataset_artifact_hash_mismatch",severity:"error",message:"Dataset artifact manifest content hash is invalid.",path:"datasetArtifact.contentHash"})}c(jd,"validateDatasetArtifact");function Rt(n){return Ms(n)}c(Rt,"computeTasksetHash");function Ms(n){let{contentHash:t,status:r,readiness:a,updatedAt:i,...s}=n;return p(s)}c(Ms,"tasksetContentHash");function Cd(n,t){for(let[r,a]of n.sourceRefs.entries())Hs(a)&&a.consent.status!=="granted"&&t.push({code:"source_consent_missing",severity:"error",message:`Source ${a.id} is not consented.`,path:`sourceRefs.${r}.consent.status`}),a.secretScanStatus!=="passed"&&t.push({code:"source_secret_scan",severity:"error",message:`Source ${a.id} did not pass secret scanning.`,path:`sourceRefs.${r}.secretScanStatus`}),a.piiScanStatus!=="passed"&&t.push({code:"source_pii_scan",severity:"error",message:`Source ${a.id} has unresolved PII policy.`,path:`sourceRefs.${r}.piiScanStatus`}),a.licensingStatus!=="approved"&&t.push({code:"source_license",severity:"error",message:`Source ${a.id} has unresolved licensing policy.`,path:`sourceRefs.${r}.licensingStatus`})}c(Cd,"validateSourceConsent");function Hd(n,t){let r=new Map;for(let i of n.tasks){let s=r.get(i.clusterKey)??new Set;s.add(i.split),r.set(i.clusterKey,s)}for(let[i,s]of r)s.size>1&&t.push({code:"split_cluster_contamination",severity:"error",message:`Source cluster ${i} appears in multiple splits: ${[...s].join(", ")}.`,path:"tasks"});(n.datasetArtifact?n.datasetArtifact.splitCounts.frozen_eval??0:n.tasks.filter(i=>i.split==="frozen_eval").length)===0&&t.push({code:"frozen_eval_missing",severity:"warning",message:"Add an independent test example before training.",path:"tasks"})}c(Hd,"validateSplitIsolation");function Ad(n,t){if(n.environment.kind!=="work")return;n.environment.entrypoint!=="openpond-work-v1"&&t.push({code:"work_entrypoint_invalid",severity:"error",message:"Work Tasksets must use the openpond-work-v1 entrypoint.",path:"environment.entrypoint"}),(!n.environment.lifecycle.includes("reset")||!n.environment.lifecycle.includes("cleanup"))&&t.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(Cs),a=n.environment.toolNames.filter(s=>!r.has(s));a.length&&t.push({code:"work_tool_unknown",severity:"error",message:`Work Taskset declares unknown tools: ${a.join(", ")}.`,path:"environment.toolNames"}),n.environment.toolNames.includes("work_save_output")||t.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"])n.environment.lifecycle.includes(s)||t.push({code:"work_lifecycle_incomplete",severity:"error",message:`Work Tasksets require the ${s} lifecycle stage.`,path:"environment.lifecycle"});let i=new Map(n.sourceRefs.map(s=>[s.id,s]));for(let[s,o]of n.tasks.entries()){let m=new Set,u=new Set;for(let[l,f]of(o.assets??[]).entries()){let h=`tasks.${s}.assets.${l}`;m.has(f.id)&&t.push({code:"work_asset_duplicate_id",severity:"error",message:`Task ${o.id} repeats asset id ${f.id}.`,path:`${h}.id`}),u.has(f.fileName)&&t.push({code:"work_asset_duplicate_name",severity:"error",message:`Task ${o.id} repeats staged file name ${f.fileName}.`,path:`${h}.fileName`}),m.add(f.id),u.add(f.fileName),o.sourceRefs.includes(f.sourceRefId)||t.push({code:"work_asset_task_source_missing",severity:"error",message:`Asset ${f.id} references source ${f.sourceRefId} outside task ${o.id}.`,path:`${h}.sourceRefId`});let b=i.get(f.sourceRefId);b?"sourceFileHashes"in b&&!b.sourceFileHashes.includes(f.sha256)&&t.push({code:"work_asset_hash_unregistered",severity:"error",message:`Asset ${f.id} hash is not registered by source ${f.sourceRefId}.`,path:`${h}.sha256`}):t.push({code:"work_asset_source_missing",severity:"error",message:`Asset ${f.id} references missing source ${f.sourceRefId}.`,path:`${h}.sourceRefId`}),b&&"kind"in b&&b.kind==="uploaded_file"&&!b.originalFileNames.includes(f.fileName)&&t.push({code:"work_asset_name_unregistered",severity:"error",message:`Asset ${f.id} file name is not registered by source ${f.sourceRefId}.`,path:`${h}.fileName`}),b&&"kind"in b&&b.kind==="uploaded_file"&&!b.mediaTypes.includes(f.mediaType)&&t.push({code:"work_asset_media_type_unregistered",severity:"error",message:`Asset ${f.id} media type is not registered by source ${f.sourceRefId}.`,path:`${h}.mediaType`}),f.split!==o.split&&t.push({code:"work_asset_split_mismatch",severity:"error",message:`Asset ${f.id} is assigned to ${f.split}, not task split ${o.split}.`,path:`${h}.split`})}let d=new Set;for(let[l,f]of(o.requiredOutputs??[]).entries()){let h=f.path.replaceAll("\\","/"),b=`tasks.${s}.requiredOutputs.${l}.path`;d.has(h)&&t.push({code:"work_output_duplicate_path",severity:"error",message:`Task ${o.id} repeats required output path ${h}.`,path:b}),d.add(h)}(o.requiredOutputs??[]).length===0&&t.push({code:"work_output_missing",severity:"error",message:`Work task ${o.id} must declare at least one required output.`,path:`tasks.${s}.requiredOutputs`})}}c(Ad,"validateWorkExecution");function Od(n,t){let r=new Set(n.policy.policyVisibleFields);for(let a of n.policy.privilegedFields)r.has(a)&&t.push({code:"privileged_field_visible",severity:"error",message:`Field ${a} is both policy-visible and privileged.`,path:"policy"});for(let a of n.tasks)a.privilegedContextRef&&Object.keys(a.policyVisibleContext).includes(a.privilegedContextRef)&&t.push({code:"privileged_context_leak",severity:"error",message:`Task ${a.id} exposes its privileged context reference.`,path:`tasks.${a.id}.policyVisibleContext`})}c(Od,"validatePolicyBoundary");function qd(n,t){let r=new Set;for(let a of n.graders)r.has(a.id)&&t.push({code:"grader_duplicate",severity:"error",message:`Duplicate grader id ${a.id}.`,path:"graders"}),r.add(a.id),a.kind==="model_judge"&&a.rewardEligible&&a.calibrationStatus!=="passed"&&t.push({code:"judge_calibration_pending",severity:"warning",message:`Model judge ${a.id} is selected for reward without a passing advisory calibration report.`,path:`graders.${a.id}`}),a.kind==="model_judge"&&a.calibrationStatus==="passed"&&typeof a.metadata.calibrationEvidenceHash!="string"&&t.push({code:"judge_calibration_evidence_missing",severity:"warning",message:`Model judge ${a.id} declares calibration without an OpenPond fixture evidence hash.`,path:`graders.${a.id}.metadata.calibrationEvidenceHash`}),a.kind==="human"&&a.rewardEligible&&t.push({code:"human_online_reward",severity:"error",message:`Human grader ${a.id} cannot be an online optimizer reward.`,path:`graders.${a.id}`})}c(qd,"validateGraders");function Dd(n,t){let r=new Set(n.tasks.map(i=>i.id)),a=new Set(n.sourceRefs.map(i=>i.id));for(let i of[...n.learningSignals.demonstrations,...n.learningSignals.preferences,...n.learningSignals.corrections,...n.learningSignals.feedback,...n.learningSignals.rewards,...n.learningSignals.labels])i.taskId&&!n.datasetArtifact&&!r.has(i.taskId)&&t.push({code:"learning_signal_task_missing",severity:"error",message:`Signal ${i.id} references missing task ${i.taskId}.`,path:`learningSignals.${i.kind}.${i.id}.taskId`}),i.sourceRefs.some(s=>!a.has(s))&&t.push({code:"learning_signal_source_missing",severity:"error",message:`Signal ${i.id} references a source outside the Dataset.`,path:`learningSignals.${i.kind}.${i.id}.sourceRefs`});for(let i of n.learningSignals.preferences)i.chosen.trim()===i.rejected.trim()&&t.push({code:"preference_pair_identical",severity:"error",message:`Preference ${i.id} has identical chosen and rejected responses.`,path:`learningSignals.preferences.${i.id}`});for(let i of n.learningSignals.rewards)i.executable||t.push({code:"reward_not_executable",severity:"warning",message:`Reward ${i.id} is a reviewed specification but has no executable verifier yet.`,path:`learningSignals.rewards.${i.id}.executable`})}c(Dd,"validateLearningSignals");function Md(n,t,r){!n.exportable&&n.portabilityBlockers.length===0&&t.push({code:"portability_reason_missing",severity:"error",message:"Non-exportable Tasksets must declare a portability blocker.",path:"capabilities.portabilityBlockers"}),n.compatibleMethods.includes("grpo")&&!n.rewardKinds.some(a=>a==="exact"||a==="deterministic"||a==="model_judge")&&t.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&&t.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&&t.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(a=>a.executable)&&!r.graders.some(a=>a.rewardEligible&&a.weight>0&&a.kind!=="human")&&t.push({code:"online_reward_not_executable",severity:"error",message:"GRPO/PPO compatibility requires an executable scalar reward.",path:"learningSignals.rewards"})}c(Md,"validateCapabilities");function zs(n){let t=Ne.parse(n.draft),r=n.now??new Date().toISOString(),a=qs(t);if(a.length)throw new vn(a);let i=t.modelScope?.source;if(i&&n.tasksetId&&n.tasksetId!==i.tasksetId)throw new Error("Taskset draft publication differs from its prepared identity.");let s=i?.tasksetId||n.tasksetId?.trim()||t.publishedTasksetRef?.id||t.id.replace(/-draft$/,""),o=i?.tasksetRevision??(t.publishedTasksetRef?.id===s?t.publishedTasksetRef.revision+1:1),m=t.sourceRefs.length?t.sourceRefs:[zd(t,s,r)],u=m[0].id,d=t.tasks.map(y=>Vt.parse({...y,sourceRefs:y.sourceRefs.length?y.sourceRefs:[u],metadata:{exampleOrigin:"expert_authored",...y.metadata}})),l=t.capabilities.compatibleMethods.find(y=>y!=="none"&&y!=="retrieval")??null,f=$d(t),h=t.graders.filter(y=>y.rewardEligible&&y.weight>0&&y.kind!=="human"),b=l===null&&f==="verifiable_reward"&&h.length>0,g=l??(b?"grpo":null),k=se.parse({schemaVersion:"openpond.taskset.v1",id:s,revision:o,profileId:t.profileId,profileRelease:null,createImproveRunId:null,name:t.name,objective:t.objective,purpose:t.purpose,benchmark:t.benchmark,preferenceComparison:t.preferenceComparison,status:"needs_review",sourceRefs:m,datasetArtifact:t.datasetArtifact??null,policy:t.policy,environment:t.environment,capabilities:b?{...t.capabilities,compatibleMethods:["grpo"],rewardKinds:[...new Set(h.map(y=>y.kind==="model_judge"?"model_judge":"deterministic"))]}:t.capabilities,metrics:t.metrics,tasks:d,graders:t.graders,graderFixtures:t.graderFixtures,learningSignals:t.learningSignals,authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-taskset-draft-authoring-v1"),promptTemplateVersion:"taskset-draft-v1",buildIntent:f,buildSpecification:null,evidenceHashes:m.map(y=>y.sourceHash),tasksetSdkVersion:"draft-v1",sourceCommit:null,repairHistory:[],createdAt:r},readiness:null,contentHash:"00000000",createdAt:o===1?t.createdAt:r,updatedAt:r,metadata:{...t.metadata,...i?{modelTasksetAuthoring:i.lineage}:{},tasksetReviewPolicy:t.review,tasksetOutputContract:t.output,...n.sourcePackageHash?{sourcePackageHash:n.sourcePackageHash}:{},...g?{trainingMethod:g}:{},diagnosis:{schemaVersion:"openpond.capabilityDiagnosis.v1",summary:t.objective,stableBehavior:[t.objective],changingKnowledge:[],requiredContext:[],requiredTools:t.environment.toolNames,intervention:g==="dpo"?"preference":g==="grpo"||g==="ppo"?"grpo_rft":g==="sft"?"sft":"no_training",trainingEligible:g!==null,rationale:g?[`The author selected ${g.toUpperCase()} compatibility.`]:["The Taskset is currently configured for evaluation only."],confidence:1}}}),w=se.parse({...k,contentHash:Rt(k)}),z=Ds(w).issues.filter(y=>y.severity==="error");if(z.length)throw new vn(z.map(y=>({code:y.code,message:y.message,path:y.path})));return w}c(zs,"publishTasksetDraft");function zd(n,t,r){let a=p({draftId:n.id,draftRevision:n.revision,tasks:n.tasks});return{schemaVersion:"openpond.generatedDatasetSource.v1",kind:"generated",id:`source-${t}`,profileId:n.profileId,title:`${n.name} manual authoring`,sourceHash:a,occurredAt:r,licensingStatus:"approved",secretScanStatus:"passed",piiScanStatus:"passed",generatorId:"openpond-taskset-draft",generatorVersion:"1",seed:0,generatorHash:a,metadata:{draftId:n.id,draftRevision:n.revision}}}c(zd,"generatedDraftSource");function $d(n){return n.learningSignals.preferences.length?"preferences":n.learningSignals.rewards.length?"verifiable_reward":n.learningSignals.labels.length?"rubric":!n.capabilities.compatibleMethods.some(t=>t!=="none"&&t!=="retrieval")&&n.graders.some(t=>t.rewardEligible&&t.weight>0&&t.kind!=="human")?"verifiable_reward":"demonstrations"}c($d,"buildIntentForDraft");var Bd=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","tasks/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","metrics/policy.json","assets/manifest.json","environment/contract.json","environment/taskset.ts","rubrics/preference-review.md","comparisons/policy.json"]);function wa(n){return Bd.has(ye.parse(n))}c(wa,"isManagedTasksetDraftFilePath");function Sa(n){let t=Ne.parse(n);return new Map([["taskset.json",Je(t)],["tasks/tasks.jsonl",Ld(t.tasks)],["graders/graders.json",Je(t.graders)],["fixtures/grader-fixtures.json",Je(t.graderFixtures)],["metrics/policy.json",Je(t.metrics)],["assets/manifest.json",Je(t.tasks.flatMap(r=>r.assets??[]))],["environment/contract.json",Je(t.environment)],["rubrics/preference-review.md",Ud(t)],["comparisons/policy.json",Je(t.review)]])}c(Sa,"renderTasksetDraftManifests");function Ud(n){let t=n.review.criteria.length?`
|
|
4
4
|
|
|
5
5
|
## Criteria
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{d as F}from"./chunk-
|
|
2
|
+
import{d as F}from"./chunk-5CMKGD43.js";import{a as o}from"./chunk-FTQLQJQV.js";import{spawn as nt,spawnSync as At}from"node:child_process";import{accessSync as vt,constants as Rt,existsSync as _t,promises as Bt}from"node:fs";import et from"node:path";var rt="Git is required for OpenPond app workspaces, but macOS reports Apple Command Line Tools are not installed. OpenPond skipped /usr/bin/git to avoid opening the Xcode installer prompt. Install Command Line Tools with `xcode-select --install`, install Git from Homebrew, or put a non-Apple git binary earlier on PATH.",T;function Lt(e){try{return _t(e)?(vt(e,Rt.X_OK),!0):!1}catch{return!1}}o(Lt,"isExecutable");function Ot(){let e=(process.env.PATH??"").split(et.delimiter).map(t=>t.trim()).filter(Boolean);for(let t of e){let n=et.join(t,"git");if(!(n==="/usr/bin/git"||n==="/bin/git")&&Lt(n))return n}return null}o(Ot,"firstNonAppleGitOnPath");function it(){let e=At("/usr/bin/xcode-select",["-p"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]});return e.status===0&&!!e.stdout.trim()}o(it,"appleDeveloperToolsAvailable");function Dt(e){if(e!=="git"||process.platform!=="darwin")return{command:e};if(T!==void 0)return{command:T};let t=Ot();return t?(T=t,{command:t}):it()?(T="git",{command:"git"}):{error:rt}}o(Dt,"resolveWorkspaceCommand");function u(e,t,n,r={},i){return new Promise(s=>{let a=Dt(e);if("error"in a){s({code:1,stdout:"",stderr:a.error});return}let c=nt(a.command,t,{cwd:n,env:{...process.env,...r,GIT_TERMINAL_PROMPT:"0"},stdio:[i===void 0?"ignore":"pipe","pipe","pipe"]}),d=[],p=[];i!==void 0&&c.stdin?.end(i),c.stdout?.on("data",h=>d.push(h)),c.stderr?.on("data",h=>p.push(h)),c.on("error",h=>{s({code:1,stdout:"",stderr:h.message})}),c.on("close",h=>{s({code:h??1,stdout:Buffer.concat(d).toString("utf8"),stderr:Buffer.concat(p).toString("utf8")})})})}o(u,"runCommand");function Gt(e){return!!(e&&e.includes(rt.slice(0,80)))}o(Gt,"isMacOSGitDeveloperToolsMissing");async function Se(e){await Bt.mkdir(e,{recursive:!0});let t=await u("git",["--version"],e);if(t.code===0)return{ok:!0,command:T??"git",version:(t.stdout||t.stderr).trim()};let n=t.stderr.trim()||t.stdout.trim()||"Git is required for OpenPond app workspaces.";return{ok:!1,error:n,installAction:process.platform==="darwin"&&Gt(n)?"macos_command_line_tools":"manual_git_install"}}o(Se,"checkWorkspaceGitAvailability");function ye(){if(process.platform!=="darwin")return{ok:!1,error:"Apple Command Line Tools installation is only available on macOS."};if(it())return{ok:!0,message:"Apple Command Line Tools already appear to be installed."};try{return nt("/usr/bin/xcode-select",["--install"],{detached:!0,stdio:"ignore"}).unref(),{ok:!0,message:"Opened the Apple Command Line Tools installer."}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}o(ye,"startMacOSCommandLineToolsInstall");import{promises as k}from"node:fs";import m from"node:path";var st=24e3,ot=8e4,It=512*1024,ct=15*1024*1024,Tt=20*1024*1024,Mt=new Set([".cache",".eggs",".git",".ipynb_checkpoints",".mypy_cache",".next",".nox",".nuxt",".openpond",".output",".parcel-cache",".pytest_cache",".pyre",".ruff_cache",".svelte-kit",".tox",".turbo",".venv","__pycache__","artifacts","build","coverage","dist","env","node_modules","out","site-packages","target","venv","volumes"]),zt=new Set([".7z",".avif",".db",".doc",".docx",".gif",".gz",".ico",".jpeg",".jpg",".mov",".mp4",".pdf",".png",".sqlite",".tar",".webp",".xls",".xlsm",".xlsx",".zip"]),$t=new Map([[".avif","image/avif"],[".gif","image/gif"],[".jpeg","image/jpeg"],[".jpg","image/jpeg"],[".png","image/png"],[".webp","image/webp"]]),Nt=new Map([[".m4v","video/x-m4v"],[".mov","video/quicktime"],[".mp4","video/mp4"],[".webm","video/webm"]]),Ht=new Set([".doc",".docx",".pdf"]);function Ut(e){return e.replace(/[^a-zA-Z0-9._-]/g,"-").slice(0,120)||"app"}o(Ut,"safeAppSegment");function N(e){if(!e)return"unknown";try{let t=new URL(e).hostname.toLowerCase();if(t==="github.com"||t.endsWith(".github.com"))return"github";if(t==="openpond.ai"||t.endsWith(".openpond.ai"))return"openpond"}catch{return"unknown"}return"local_git"}o(N,"sourceFromRemote");function $(e){return e.replace(/x-access-token:[^@]+@/g,"x-access-token:***@").replace(/Authorization:\s*Basic\s+[A-Za-z0-9+/=]+/gi,"Authorization: Basic ***")}o($,"redactRemoteUrl");async function G(e){try{return await k.access(e),!0}catch{return!1}}o(G,"pathExists");async function O(e){return await G(e)?(await u("git",["rev-parse","--git-dir"],e)).code===0:!1}o(O,"isGitRepo");function X(e){return e.length<=st?e:`${e.slice(0,st)}
|
|
3
3
|
|
|
4
4
|
[diff truncated]`}o(X,"truncatePatch");function jt(e){return e.length<=ot?e:`${e.slice(0,ot)}
|
|
5
5
|
|